From b01f78c04ad57ae74698cc0f36e8dce6401a6de3 Mon Sep 17 00:00:00 2001 From: JumioMobileTeam Date: Fri, 13 Sep 2019 09:07:43 +0000 Subject: [PATCH] Final commit for 3.3.1 --- .gitignore | 4 +- README.md | 40 +- demo/README.md | 0 demo/config.xml | 4 +- demo/gradle/wrapper/gradle-wrapper.jar | Bin demo/gradle/wrapper/gradle-wrapper.properties | 2 +- demo/hooks/README.md | 0 demo/jsconfig.json | 1 + demo/package.json | 8 +- demo/platforms/.gitignore | 0 demo/platforms/android/.gitignore | 10 +- .../android/CordovaLib/AndroidManifest.xml | 3 +- .../platforms/android/CordovaLib/build.gradle | 41 +- .../android/CordovaLib/cordova.gradle | 8 +- .../android/CordovaLib/project.properties | 13 +- .../org/apache/cordova/CordovaActivity.java | 3 +- .../src/org/apache/cordova/CordovaBridge.java | 5 + .../cordova/CordovaClientCertRequest.java | 9 + .../org/apache/cordova/CordovaInterface.java | 11 +- .../apache/cordova/CordovaInterfaceImpl.java | 8 + .../apache/cordova/CordovaResourceApi.java | 1 + .../org/apache/cordova/CordovaWebView.java | 2 +- .../apache/cordova/CordovaWebViewImpl.java | 4 + .../src/org/apache/cordova/CoreAndroid.java | 21 +- .../src/org/apache/cordova/LOG.java | 0 .../cordova/NativeToJsMessageQueue.java | 3 + .../src/org/apache/cordova/PluginEntry.java | 0 .../src/org/apache/cordova/PluginManager.java | 0 .../cordova/engine/SystemCookieManager.java | 6 +- .../cordova/engine/SystemExposedJsApi.java | 0 .../cordova/engine/SystemWebChromeClient.java | 18 +- .../cordova/engine/SystemWebViewClient.java | 16 +- .../cordova/engine/SystemWebViewEngine.java | 57 +- demo/platforms/android/android.json | 26 +- demo/platforms/android/app/build.gradle | 337 + .../{ => app/src/main}/AndroidManifest.xml | 7 +- .../android/nativeapiprovider.js | 0 .../android/promptbasednativeapi.js | 0 .../main}/assets/www/cordova-js-src/exec.js | 11 - .../assets/www/cordova-js-src/platform.js | 0 .../www/cordova-js-src/plugin/android/app.js | 0 .../{ => app/src/main}/assets/www/cordova.js | 296 +- .../src/main/assets/www/cordova_plugins.js | 15 + .../src/main}/assets/www/css/index.css | 0 .../src/main}/assets/www/img/logo.png | Bin .../{ => app/src/main}/assets/www/index.html | 0 .../{ => app/src/main}/assets/www/js/index.js | 27 +- .../www/JumioMobileSDK.js | 80 + .../com/jumio/cordova/demo/MainActivity.java | 0 .../com/jumio/mobilesdk/JumioMobileSDK.java | 62 +- .../main/res/drawable-land-hdpi/screen.png | Bin 0 -> 64368 bytes .../main/res/drawable-land-ldpi/screen.png | Bin 0 -> 15341 bytes .../main/res/drawable-land-mdpi/screen.png | Bin 0 -> 31136 bytes .../main/res/drawable-land-xhdpi/screen.png | Bin 0 -> 142334 bytes .../main/res/drawable-land-xxhdpi/screen.png | Bin 0 -> 227190 bytes .../main/res/drawable-land-xxxhdpi/screen.png | Bin 0 -> 293416 bytes .../main/res/drawable-port-hdpi/screen.png | Bin 0 -> 67702 bytes .../main/res/drawable-port-ldpi/screen.png | Bin 0 -> 15345 bytes .../main/res/drawable-port-mdpi/screen.png | Bin 0 -> 30079 bytes .../main/res/drawable-port-xhdpi/screen.png | Bin 0 -> 141738 bytes .../main/res/drawable-port-xxhdpi/screen.png | Bin 0 -> 211817 bytes .../main/res/drawable-port-xxxhdpi/screen.png | Bin 0 -> 299018 bytes .../main/res/mipmap-hdpi-v26/ic_launcher.xml | 5 + .../ic_launcher_background.png | Bin 0 -> 14629 bytes .../ic_launcher_foreground.png | Bin 0 -> 3345 bytes .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3345 bytes .../main/res/mipmap-ldpi-v26/ic_launcher.xml | 5 + .../ic_launcher_background.png | Bin 0 -> 14566 bytes .../ic_launcher_foreground.png | Bin 0 -> 1754 bytes .../src/main/res/mipmap-ldpi/ic_launcher.png | Bin 0 -> 1821 bytes .../main/res/mipmap-mdpi-v26/ic_launcher.xml | 5 + .../ic_launcher_background.png | Bin 0 -> 14582 bytes .../ic_launcher_foreground.png | Bin 0 -> 2514 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2368 bytes .../main/res/mipmap-xhdpi-v26/ic_launcher.xml | 5 + .../ic_launcher_background.png | Bin 0 -> 688 bytes .../ic_launcher_foreground.png | Bin 0 -> 11817 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4085 bytes .../res/mipmap-xxhdpi-v26/ic_launcher.xml | 5 + .../ic_launcher_background.png | Bin 0 -> 1051 bytes .../ic_launcher_foreground.png | Bin 0 -> 23927 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6421 bytes .../res/mipmap-xxxhdpi-v26/ic_launcher.xml | 5 + .../ic_launcher_background.png | Bin 0 -> 1390 bytes .../ic_launcher_foreground.png | Bin 0 -> 37563 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 7934 bytes .../{ => app/src/main}/res/values/strings.xml | 0 .../{ => app/src/main}/res/xml/config.xml | 6 +- .../android/assets/www/cordova_plugins.js | 20 - .../www/JumioMobileSDK.js | 52 - demo/platforms/android/build.gradle | 368 +- .../demo-plugin.gradle | 49 + demo/platforms/android/cordova/Api.js | 70 +- .../android/cordova/android_sdk_version | 4 +- demo/platforms/android/cordova/check_reqs | 5 +- demo/platforms/android/cordova/clean | 18 +- demo/platforms/android/cordova/lib/Adb.js | 8 +- .../android/cordova/lib/AndroidManifest.js | 6 +- .../android/cordova/lib/AndroidProject.js | 11 +- .../android/cordova/lib/AndroidStudio.js | 42 - .../android/cordova/lib/android_sdk.js | 6 +- demo/platforms/android/cordova/lib/build.js | 26 +- .../cordova/lib/builders/AntBuilder.js | 153 - .../cordova/lib/builders/GenericBuilder.js | 145 - .../cordova/lib/builders/GradleBuilder.js | 279 - .../cordova/lib/builders/ProjectBuilder.js | 370 + .../android/cordova/lib/builders/builders.js | 54 +- .../android/cordova/lib/check_reqs.js | 66 +- .../lib/config/GradlePropertiesParser.js | 104 + demo/platforms/android/cordova/lib/device.js | 13 +- .../platforms/android/cordova/lib/emulator.js | 62 +- .../android/cordova/lib/install-device | 16 +- .../android/cordova/lib/install-emulator | 14 +- .../android/cordova/lib/list-devices | 8 +- .../android/cordova/lib/list-emulator-images | 8 +- .../cordova/lib/list-started-emulators | 8 +- demo/platforms/android/cordova/lib/log.js | 2 +- .../android/cordova/lib/plugin-build.gradle | 7 +- .../android/cordova/lib/pluginHandlers.js | 80 +- demo/platforms/android/cordova/lib/prepare.js | 294 +- demo/platforms/android/cordova/lib/retry.js | 20 +- demo/platforms/android/cordova/lib/run.js | 17 +- .../android/cordova/lib/start-emulator | 15 +- demo/platforms/android/cordova/log | 12 +- .../android/cordova/node_modules/.bin/nopt | 15 - .../cordova/node_modules/.bin/nopt.cmd | 7 - .../android/cordova/node_modules/.bin/semver | 15 - .../cordova/node_modules/.bin/semver.cmd | 7 - .../android/cordova/node_modules/.bin/shjs | 15 - .../cordova/node_modules/.bin/shjs.cmd | 7 - .../cordova/node_modules/abbrev/LICENSE | 15 - .../cordova/node_modules/abbrev/README.md | 23 - .../cordova/node_modules/abbrev/abbrev.js | 61 - .../cordova/node_modules/abbrev/package.json | 92 - .../android-versions/.jshintignore | 8 - .../node_modules/android-versions/.jshintrc | 28 - .../node_modules/android-versions/.travis.yml | 3 - .../node_modules/android-versions/README.md | 87 - .../node_modules/android-versions/index.js | 153 - .../android-versions/package.json | 103 - .../cordova/node_modules/ansi/.jshintrc | 4 - .../cordova/node_modules/ansi/.npmignore | 1 - .../cordova/node_modules/ansi/History.md | 23 - .../android/cordova/node_modules/ansi/LICENSE | 24 - .../cordova/node_modules/ansi/README.md | 98 - .../node_modules/ansi/examples/beep/index.js | 16 - .../node_modules/ansi/examples/clear/index.js | 15 - .../ansi/examples/cursorPosition.js | 32 - .../ansi/examples/progress/index.js | 87 - .../cordova/node_modules/ansi/lib/ansi.js | 405 - .../cordova/node_modules/ansi/lib/newlines.js | 71 - .../cordova/node_modules/ansi/package.json | 93 - .../node_modules/balanced-match/.npmignore | 5 - .../node_modules/balanced-match/LICENSE.md | 21 - .../node_modules/balanced-match/README.md | 91 - .../node_modules/balanced-match/index.js | 59 - .../node_modules/balanced-match/package.json | 112 - .../node_modules/base64-js/.travis.yml | 5 - .../node_modules/base64-js/LICENSE.MIT | 21 - .../cordova/node_modules/base64-js/README.md | 31 - .../node_modules/base64-js/bench/bench.js | 19 - .../cordova/node_modules/base64-js/lib/b64.js | 124 - .../node_modules/base64-js/package.json | 101 - .../node_modules/base64-js/test/convert.js | 51 - .../node_modules/base64-js/test/url-safe.js | 18 - .../node_modules/big-integer/BigInteger.d.ts | 2364 --- .../node_modules/big-integer/BigInteger.js | 1253 -- .../big-integer/BigInteger.min.js | 1 - .../cordova/node_modules/big-integer/LICENSE | 24 - .../node_modules/big-integer/README.md | 520 - .../node_modules/big-integer/bower.json | 29 - .../node_modules/big-integer/package.json | 115 - .../node_modules/big-integer/tsconfig.json | 25 - .../node_modules/bplist-parser/.npmignore | 8 - .../node_modules/bplist-parser/README.md | 47 - .../bplist-parser/bplistParser.js | 357 - .../node_modules/bplist-parser/package.json | 89 - .../bplist-parser/test/airplay.bplist | Bin 341 -> 0 bytes .../bplist-parser/test/iTunes-small.bplist | Bin 24433 -> 0 bytes .../bplist-parser/test/int64.bplist | Bin 84 -> 0 bytes .../node_modules/bplist-parser/test/int64.xml | 10 - .../bplist-parser/test/parseTest.js | 159 - .../bplist-parser/test/sample1.bplist | Bin 605 -> 0 bytes .../bplist-parser/test/sample2.bplist | Bin 384 -> 0 bytes .../bplist-parser/test/uid.bplist | Bin 365 -> 0 bytes .../bplist-parser/test/utf16.bplist | Bin 1273 -> 0 bytes .../bplist-parser/test/utf16_chinese.plist | Bin 2362 -> 0 bytes .../node_modules/brace-expansion/README.md | 123 - .../node_modules/brace-expansion/index.js | 201 - .../node_modules/brace-expansion/package.json | 114 - .../node_modules/concat-map/.travis.yml | 4 - .../cordova/node_modules/concat-map/LICENSE | 18 - .../node_modules/concat-map/README.markdown | 62 - .../cordova/node_modules/concat-map/index.js | 13 - .../node_modules/concat-map/package.json | 117 - .../node_modules/concat-map/test/map.js | 39 - .../node_modules/cordova-common/.eslintignore | 1 - .../node_modules/cordova-common/.eslintrc.yml | 11 - .../node_modules/cordova-common/.jscs.json | 24 - .../node_modules/cordova-common/.npmignore | 2 - .../node_modules/cordova-common/.ratignore | 4 - .../node_modules/cordova-common/.travis.yml | 15 - .../node_modules/cordova-common/README.md | 157 - .../cordova-common/RELEASENOTES.md | 119 - .../node_modules/cordova-common/appveyor.yml | 18 - .../cordova-common/cordova-common.js | 47 - .../node_modules/cordova-common/package.json | 148 - .../cordova-common/src/ActionStack.js | 85 - .../src/ConfigChanges/ConfigChanges.js | 424 - .../src/ConfigChanges/ConfigFile.js | 242 - .../src/ConfigChanges/ConfigKeeper.js | 64 - .../src/ConfigChanges/munge-util.js | 162 - .../src/ConfigParser/ConfigParser.js | 615 - .../cordova-common/src/ConfigParser/README.md | 86 - .../cordova-common/src/CordovaCheck.js | 76 - .../src/CordovaError/CordovaError.js | 92 - .../CordovaExternalToolErrorContext.js | 48 - .../cordova-common/src/CordovaLogger.js | 220 - .../cordova-common/src/FileUpdater.js | 415 - .../cordova-common/src/PlatformJson.js | 277 - .../src/PluginInfo/PluginInfo.js | 434 - .../src/PluginInfo/PluginInfoProvider.js | 82 - .../cordova-common/src/PluginManager.js | 149 - .../node_modules/cordova-common/src/events.js | 72 - .../cordova-common/src/superspawn.js | 189 - .../cordova-common/src/util/plist-helpers.js | 96 - .../cordova-common/src/util/xml-helpers.js | 365 - .../cordova-registry-mapper/.npmignore | 1 - .../cordova-registry-mapper/.travis.yml | 7 - .../cordova-registry-mapper/README.md | 14 - .../cordova-registry-mapper/index.js | 204 - .../cordova-registry-mapper/package.json | 85 - .../cordova-registry-mapper/tests/test.js | 11 - .../node_modules/elementtree/.npmignore | 1 - .../node_modules/elementtree/.travis.yml | 10 - .../node_modules/elementtree/CHANGES.md | 39 - .../node_modules/elementtree/LICENSE.txt | 203 - .../cordova/node_modules/elementtree/Makefile | 21 - .../cordova/node_modules/elementtree/NOTICE | 5 - .../node_modules/elementtree/README.md | 141 - .../node_modules/elementtree/lib/constants.js | 20 - .../elementtree/lib/elementpath.js | 343 - .../elementtree/lib/elementtree.js | 611 - .../node_modules/elementtree/lib/errors.js | 31 - .../node_modules/elementtree/lib/parser.js | 33 - .../elementtree/lib/parsers/index.js | 1 - .../elementtree/lib/parsers/sax.js | 56 - .../node_modules/elementtree/lib/sprintf.js | 86 - .../elementtree/lib/treebuilder.js | 60 - .../node_modules/elementtree/lib/utils.js | 72 - .../node_modules/elementtree/package.json | 109 - .../elementtree/tests/data/xml1.xml | 17 - .../elementtree/tests/data/xml2.xml | 14 - .../elementtree/tests/test-simple.js | 339 - .../android/cordova/node_modules/glob/LICENSE | 15 - .../cordova/node_modules/glob/README.md | 377 - .../cordova/node_modules/glob/common.js | 245 - .../android/cordova/node_modules/glob/glob.js | 752 - .../cordova/node_modules/glob/package.json | 106 - .../android/cordova/node_modules/glob/sync.js | 460 - .../cordova/node_modules/inflight/LICENSE | 15 - .../cordova/node_modules/inflight/README.md | 37 - .../cordova/node_modules/inflight/inflight.js | 54 - .../node_modules/inflight/package.json | 105 - .../cordova/node_modules/inherits/LICENSE | 16 - .../cordova/node_modules/inherits/README.md | 42 - .../cordova/node_modules/inherits/inherits.js | 7 - .../node_modules/inherits/inherits_browser.js | 23 - .../node_modules/inherits/package.json | 97 - .../cordova/node_modules/lodash/LICENSE | 22 - .../cordova/node_modules/lodash/README.md | 121 - .../cordova/node_modules/lodash/array.js | 44 - .../node_modules/lodash/array/chunk.js | 46 - .../node_modules/lodash/array/compact.js | 30 - .../node_modules/lodash/array/difference.js | 29 - .../cordova/node_modules/lodash/array/drop.js | 39 - .../node_modules/lodash/array/dropRight.js | 40 - .../lodash/array/dropRightWhile.js | 59 - .../node_modules/lodash/array/dropWhile.js | 59 - .../cordova/node_modules/lodash/array/fill.js | 44 - .../node_modules/lodash/array/findIndex.js | 53 - .../lodash/array/findLastIndex.js | 53 - .../node_modules/lodash/array/first.js | 22 - .../node_modules/lodash/array/flatten.js | 32 - .../node_modules/lodash/array/flattenDeep.js | 21 - .../cordova/node_modules/lodash/array/head.js | 1 - .../node_modules/lodash/array/indexOf.js | 53 - .../node_modules/lodash/array/initial.js | 20 - .../node_modules/lodash/array/intersection.js | 58 - .../cordova/node_modules/lodash/array/last.js | 19 - .../node_modules/lodash/array/lastIndexOf.js | 60 - .../node_modules/lodash/array/object.js | 1 - .../cordova/node_modules/lodash/array/pull.js | 52 - .../node_modules/lodash/array/pullAt.js | 40 - .../node_modules/lodash/array/remove.js | 64 - .../cordova/node_modules/lodash/array/rest.js | 21 - .../node_modules/lodash/array/slice.js | 30 - .../node_modules/lodash/array/sortedIndex.js | 53 - .../lodash/array/sortedLastIndex.js | 25 - .../cordova/node_modules/lodash/array/tail.js | 1 - .../cordova/node_modules/lodash/array/take.js | 39 - .../node_modules/lodash/array/takeRight.js | 40 - .../lodash/array/takeRightWhile.js | 59 - .../node_modules/lodash/array/takeWhile.js | 59 - .../node_modules/lodash/array/union.js | 24 - .../cordova/node_modules/lodash/array/uniq.js | 71 - .../node_modules/lodash/array/unique.js | 1 - .../node_modules/lodash/array/unzip.js | 47 - .../node_modules/lodash/array/unzipWith.js | 41 - .../node_modules/lodash/array/without.js | 27 - .../cordova/node_modules/lodash/array/xor.js | 35 - .../cordova/node_modules/lodash/array/zip.js | 21 - .../node_modules/lodash/array/zipObject.js | 43 - .../node_modules/lodash/array/zipWith.js | 36 - .../cordova/node_modules/lodash/chain.js | 16 - .../node_modules/lodash/chain/chain.js | 35 - .../node_modules/lodash/chain/commit.js | 1 - .../node_modules/lodash/chain/concat.js | 1 - .../node_modules/lodash/chain/lodash.js | 125 - .../node_modules/lodash/chain/plant.js | 1 - .../node_modules/lodash/chain/reverse.js | 1 - .../cordova/node_modules/lodash/chain/run.js | 1 - .../cordova/node_modules/lodash/chain/tap.js | 29 - .../cordova/node_modules/lodash/chain/thru.js | 26 - .../node_modules/lodash/chain/toJSON.js | 1 - .../node_modules/lodash/chain/toString.js | 1 - .../node_modules/lodash/chain/value.js | 1 - .../node_modules/lodash/chain/valueOf.js | 1 - .../node_modules/lodash/chain/wrapperChain.js | 32 - .../lodash/chain/wrapperCommit.js | 32 - .../lodash/chain/wrapperConcat.js | 34 - .../node_modules/lodash/chain/wrapperPlant.js | 45 - .../lodash/chain/wrapperReverse.js | 43 - .../lodash/chain/wrapperToString.js | 17 - .../node_modules/lodash/chain/wrapperValue.js | 20 - .../cordova/node_modules/lodash/collection.js | 44 - .../node_modules/lodash/collection/all.js | 1 - .../node_modules/lodash/collection/any.js | 1 - .../node_modules/lodash/collection/at.js | 29 - .../node_modules/lodash/collection/collect.js | 1 - .../lodash/collection/contains.js | 1 - .../node_modules/lodash/collection/countBy.js | 54 - .../node_modules/lodash/collection/detect.js | 1 - .../node_modules/lodash/collection/each.js | 1 - .../lodash/collection/eachRight.js | 1 - .../node_modules/lodash/collection/every.js | 66 - .../node_modules/lodash/collection/filter.js | 61 - .../node_modules/lodash/collection/find.js | 56 - .../lodash/collection/findLast.js | 25 - .../lodash/collection/findWhere.js | 37 - .../node_modules/lodash/collection/foldl.js | 1 - .../node_modules/lodash/collection/foldr.js | 1 - .../node_modules/lodash/collection/forEach.js | 37 - .../lodash/collection/forEachRight.js | 26 - .../node_modules/lodash/collection/groupBy.js | 59 - .../node_modules/lodash/collection/include.js | 1 - .../lodash/collection/includes.js | 57 - .../node_modules/lodash/collection/indexBy.js | 53 - .../node_modules/lodash/collection/inject.js | 1 - .../node_modules/lodash/collection/invoke.js | 42 - .../node_modules/lodash/collection/map.js | 68 - .../node_modules/lodash/collection/max.js | 1 - .../node_modules/lodash/collection/min.js | 1 - .../lodash/collection/partition.js | 66 - .../node_modules/lodash/collection/pluck.js | 31 - .../node_modules/lodash/collection/reduce.js | 44 - .../lodash/collection/reduceRight.js | 29 - .../node_modules/lodash/collection/reject.js | 50 - .../node_modules/lodash/collection/sample.js | 50 - .../node_modules/lodash/collection/select.js | 1 - .../node_modules/lodash/collection/shuffle.js | 24 - .../node_modules/lodash/collection/size.js | 30 - .../node_modules/lodash/collection/some.js | 67 - .../node_modules/lodash/collection/sortBy.js | 71 - .../lodash/collection/sortByAll.js | 52 - .../lodash/collection/sortByOrder.js | 55 - .../node_modules/lodash/collection/sum.js | 1 - .../node_modules/lodash/collection/where.js | 37 - .../cordova/node_modules/lodash/date.js | 3 - .../cordova/node_modules/lodash/date/now.js | 24 - .../cordova/node_modules/lodash/function.js | 28 - .../node_modules/lodash/function/after.js | 48 - .../node_modules/lodash/function/ary.js | 34 - .../node_modules/lodash/function/backflow.js | 1 - .../node_modules/lodash/function/before.js | 42 - .../node_modules/lodash/function/bind.js | 56 - .../node_modules/lodash/function/bindAll.js | 50 - .../node_modules/lodash/function/bindKey.js | 66 - .../node_modules/lodash/function/compose.js | 1 - .../node_modules/lodash/function/curry.js | 51 - .../lodash/function/curryRight.js | 48 - .../node_modules/lodash/function/debounce.js | 181 - .../node_modules/lodash/function/defer.js | 25 - .../node_modules/lodash/function/delay.js | 26 - .../node_modules/lodash/function/flow.js | 25 - .../node_modules/lodash/function/flowRight.js | 25 - .../node_modules/lodash/function/memoize.js | 80 - .../node_modules/lodash/function/modArgs.js | 58 - .../node_modules/lodash/function/negate.js | 32 - .../node_modules/lodash/function/once.js | 24 - .../node_modules/lodash/function/partial.js | 43 - .../lodash/function/partialRight.js | 42 - .../node_modules/lodash/function/rearg.js | 40 - .../node_modules/lodash/function/restParam.js | 58 - .../node_modules/lodash/function/spread.js | 44 - .../node_modules/lodash/function/throttle.js | 62 - .../node_modules/lodash/function/wrap.js | 33 - .../cordova/node_modules/lodash/index.js | 12351 ---------------- .../lodash/internal/LazyWrapper.js | 26 - .../lodash/internal/LodashWrapper.js | 21 - .../node_modules/lodash/internal/MapCache.js | 24 - .../node_modules/lodash/internal/SetCache.js | 29 - .../lodash/internal/arrayConcat.js | 25 - .../node_modules/lodash/internal/arrayCopy.js | 20 - .../node_modules/lodash/internal/arrayEach.js | 22 - .../lodash/internal/arrayEachRight.js | 21 - .../lodash/internal/arrayEvery.js | 23 - .../lodash/internal/arrayExtremum.js | 30 - .../lodash/internal/arrayFilter.js | 25 - .../node_modules/lodash/internal/arrayMap.js | 21 - .../node_modules/lodash/internal/arrayPush.js | 20 - .../lodash/internal/arrayReduce.js | 26 - .../lodash/internal/arrayReduceRight.js | 24 - .../node_modules/lodash/internal/arraySome.js | 23 - .../node_modules/lodash/internal/arraySum.js | 20 - .../lodash/internal/assignDefaults.js | 13 - .../lodash/internal/assignOwnDefaults.js | 26 - .../lodash/internal/assignWith.js | 32 - .../lodash/internal/baseAssign.js | 19 - .../node_modules/lodash/internal/baseAt.js | 32 - .../lodash/internal/baseCallback.js | 35 - .../node_modules/lodash/internal/baseClone.js | 128 - .../lodash/internal/baseCompareAscending.js | 34 - .../node_modules/lodash/internal/baseCopy.js | 23 - .../lodash/internal/baseCreate.js | 23 - .../node_modules/lodash/internal/baseDelay.js | 21 - .../lodash/internal/baseDifference.js | 55 - .../node_modules/lodash/internal/baseEach.js | 15 - .../lodash/internal/baseEachRight.js | 15 - .../node_modules/lodash/internal/baseEvery.js | 22 - .../lodash/internal/baseExtremum.js | 29 - .../node_modules/lodash/internal/baseFill.js | 31 - .../lodash/internal/baseFilter.js | 22 - .../node_modules/lodash/internal/baseFind.js | 25 - .../lodash/internal/baseFindIndex.js | 23 - .../lodash/internal/baseFlatten.js | 41 - .../node_modules/lodash/internal/baseFor.js | 17 - .../node_modules/lodash/internal/baseForIn.js | 17 - .../lodash/internal/baseForOwn.js | 17 - .../lodash/internal/baseForOwnRight.js | 17 - .../lodash/internal/baseForRight.js | 15 - .../lodash/internal/baseFunctions.js | 27 - .../node_modules/lodash/internal/baseGet.js | 29 - .../lodash/internal/baseIndexOf.js | 27 - .../lodash/internal/baseIsEqual.js | 28 - .../lodash/internal/baseIsEqualDeep.js | 102 - .../lodash/internal/baseIsFunction.js | 15 - .../lodash/internal/baseIsMatch.js | 52 - .../lodash/internal/baseLodash.js | 10 - .../node_modules/lodash/internal/baseMap.js | 23 - .../lodash/internal/baseMatches.js | 30 - .../lodash/internal/baseMatchesProperty.js | 45 - .../node_modules/lodash/internal/baseMerge.js | 56 - .../lodash/internal/baseMergeDeep.js | 67 - .../lodash/internal/baseProperty.js | 14 - .../lodash/internal/basePropertyDeep.js | 19 - .../lodash/internal/basePullAt.js | 30 - .../lodash/internal/baseRandom.js | 18 - .../lodash/internal/baseReduce.js | 24 - .../lodash/internal/baseSetData.js | 17 - .../node_modules/lodash/internal/baseSlice.js | 32 - .../node_modules/lodash/internal/baseSome.js | 23 - .../lodash/internal/baseSortBy.js | 21 - .../lodash/internal/baseSortByOrder.js | 31 - .../node_modules/lodash/internal/baseSum.js | 20 - .../lodash/internal/baseToString.js | 13 - .../node_modules/lodash/internal/baseUniq.js | 60 - .../lodash/internal/baseValues.js | 22 - .../node_modules/lodash/internal/baseWhile.js | 24 - .../lodash/internal/baseWrapperValue.js | 29 - .../lodash/internal/binaryIndex.js | 39 - .../lodash/internal/binaryIndexBy.js | 57 - .../lodash/internal/bindCallback.js | 39 - .../lodash/internal/bufferClone.js | 20 - .../lodash/internal/cacheIndexOf.js | 19 - .../node_modules/lodash/internal/cachePush.js | 20 - .../lodash/internal/charsLeftIndex.js | 18 - .../lodash/internal/charsRightIndex.js | 17 - .../lodash/internal/compareAscending.js | 16 - .../lodash/internal/compareMultiple.js | 44 - .../lodash/internal/composeArgs.js | 34 - .../lodash/internal/composeArgsRight.js | 36 - .../lodash/internal/createAggregator.js | 35 - .../lodash/internal/createAssigner.js | 41 - .../lodash/internal/createBaseEach.js | 31 - .../lodash/internal/createBaseFor.js | 27 - .../lodash/internal/createBindWrapper.js | 22 - .../lodash/internal/createCache.js | 21 - .../lodash/internal/createCompounder.js | 26 - .../lodash/internal/createCtorWrapper.js | 37 - .../lodash/internal/createCurry.js | 23 - .../lodash/internal/createDefaults.js | 22 - .../lodash/internal/createExtremum.js | 33 - .../lodash/internal/createFind.js | 25 - .../lodash/internal/createFindIndex.js | 21 - .../lodash/internal/createFindKey.js | 18 - .../lodash/internal/createFlow.js | 74 - .../lodash/internal/createForEach.js | 20 - .../lodash/internal/createForIn.js | 20 - .../lodash/internal/createForOwn.js | 19 - .../lodash/internal/createHybridWrapper.js | 111 - .../lodash/internal/createObjectMapper.js | 26 - .../lodash/internal/createPadDir.js | 18 - .../lodash/internal/createPadding.js | 29 - .../lodash/internal/createPartial.js | 20 - .../lodash/internal/createPartialWrapper.js | 43 - .../lodash/internal/createReduce.js | 22 - .../lodash/internal/createRound.js | 23 - .../lodash/internal/createSortedIndex.js | 20 - .../lodash/internal/createWrapper.js | 86 - .../lodash/internal/deburrLetter.js | 33 - .../lodash/internal/equalArrays.js | 51 - .../lodash/internal/equalByTag.js | 48 - .../lodash/internal/equalObjects.js | 67 - .../lodash/internal/escapeHtmlChar.js | 22 - .../lodash/internal/escapeRegExpChar.js | 38 - .../lodash/internal/escapeStringChar.js | 22 - .../node_modules/lodash/internal/getData.js | 15 - .../lodash/internal/getFuncName.js | 25 - .../node_modules/lodash/internal/getLength.js | 15 - .../lodash/internal/getMatchData.js | 21 - .../node_modules/lodash/internal/getNative.js | 16 - .../node_modules/lodash/internal/getView.js | 33 - .../lodash/internal/indexOfNaN.js | 23 - .../lodash/internal/initCloneArray.js | 26 - .../lodash/internal/initCloneByTag.js | 63 - .../lodash/internal/initCloneObject.js | 16 - .../lodash/internal/invokePath.js | 26 - .../lodash/internal/isArrayLike.js | 15 - .../node_modules/lodash/internal/isIndex.js | 24 - .../lodash/internal/isIterateeCall.js | 28 - .../node_modules/lodash/internal/isKey.js | 28 - .../lodash/internal/isLaziable.js | 27 - .../node_modules/lodash/internal/isLength.js | 20 - .../lodash/internal/isObjectLike.js | 12 - .../node_modules/lodash/internal/isSpace.js | 14 - .../lodash/internal/isStrictComparable.js | 15 - .../node_modules/lodash/internal/lazyClone.js | 23 - .../lodash/internal/lazyReverse.js | 23 - .../node_modules/lodash/internal/lazyValue.js | 72 - .../node_modules/lodash/internal/mapDelete.js | 14 - .../node_modules/lodash/internal/mapGet.js | 14 - .../node_modules/lodash/internal/mapHas.js | 20 - .../node_modules/lodash/internal/mapSet.js | 18 - .../node_modules/lodash/internal/mergeData.js | 89 - .../lodash/internal/mergeDefaults.js | 15 - .../node_modules/lodash/internal/metaMap.js | 9 - .../lodash/internal/pickByArray.js | 28 - .../lodash/internal/pickByCallback.js | 22 - .../node_modules/lodash/internal/reEscape.js | 4 - .../lodash/internal/reEvaluate.js | 4 - .../lodash/internal/reInterpolate.js | 4 - .../node_modules/lodash/internal/realNames.js | 4 - .../node_modules/lodash/internal/reorder.js | 29 - .../lodash/internal/replaceHolders.js | 28 - .../node_modules/lodash/internal/setData.js | 41 - .../node_modules/lodash/internal/shimKeys.js | 41 - .../lodash/internal/sortedUniq.js | 29 - .../lodash/internal/toIterable.js | 22 - .../node_modules/lodash/internal/toObject.js | 14 - .../node_modules/lodash/internal/toPath.js | 28 - .../lodash/internal/trimmedLeftIndex.js | 19 - .../lodash/internal/trimmedRightIndex.js | 18 - .../lodash/internal/unescapeHtmlChar.js | 22 - .../lodash/internal/wrapperClone.js | 18 - .../cordova/node_modules/lodash/lang.js | 32 - .../cordova/node_modules/lodash/lang/clone.js | 70 - .../node_modules/lodash/lang/cloneDeep.js | 55 - .../cordova/node_modules/lodash/lang/eq.js | 1 - .../cordova/node_modules/lodash/lang/gt.js | 25 - .../cordova/node_modules/lodash/lang/gte.js | 25 - .../node_modules/lodash/lang/isArguments.js | 34 - .../node_modules/lodash/lang/isArray.js | 40 - .../node_modules/lodash/lang/isBoolean.js | 35 - .../node_modules/lodash/lang/isDate.js | 35 - .../node_modules/lodash/lang/isElement.js | 24 - .../node_modules/lodash/lang/isEmpty.js | 47 - .../node_modules/lodash/lang/isEqual.js | 54 - .../node_modules/lodash/lang/isError.js | 36 - .../node_modules/lodash/lang/isFinite.js | 35 - .../node_modules/lodash/lang/isFunction.js | 38 - .../node_modules/lodash/lang/isMatch.js | 49 - .../cordova/node_modules/lodash/lang/isNaN.js | 34 - .../node_modules/lodash/lang/isNative.js | 48 - .../node_modules/lodash/lang/isNull.js | 21 - .../node_modules/lodash/lang/isNumber.js | 41 - .../node_modules/lodash/lang/isObject.js | 28 - .../node_modules/lodash/lang/isPlainObject.js | 71 - .../node_modules/lodash/lang/isRegExp.js | 35 - .../node_modules/lodash/lang/isString.js | 35 - .../node_modules/lodash/lang/isTypedArray.js | 74 - .../node_modules/lodash/lang/isUndefined.js | 21 - .../cordova/node_modules/lodash/lang/lt.js | 25 - .../cordova/node_modules/lodash/lang/lte.js | 25 - .../node_modules/lodash/lang/toArray.js | 32 - .../node_modules/lodash/lang/toPlainObject.js | 31 - .../cordova/node_modules/lodash/math.js | 9 - .../cordova/node_modules/lodash/math/add.js | 19 - .../cordova/node_modules/lodash/math/ceil.js | 25 - .../cordova/node_modules/lodash/math/floor.js | 25 - .../cordova/node_modules/lodash/math/max.js | 56 - .../cordova/node_modules/lodash/math/min.js | 56 - .../cordova/node_modules/lodash/math/round.js | 25 - .../cordova/node_modules/lodash/math/sum.js | 50 - .../cordova/node_modules/lodash/number.js | 4 - .../node_modules/lodash/number/inRange.js | 47 - .../node_modules/lodash/number/random.js | 70 - .../cordova/node_modules/lodash/object.js | 31 - .../node_modules/lodash/object/assign.js | 43 - .../node_modules/lodash/object/create.js | 47 - .../node_modules/lodash/object/defaults.js | 25 - .../lodash/object/defaultsDeep.js | 25 - .../node_modules/lodash/object/extend.js | 1 - .../node_modules/lodash/object/findKey.js | 54 - .../node_modules/lodash/object/findLastKey.js | 54 - .../node_modules/lodash/object/forIn.js | 33 - .../node_modules/lodash/object/forInRight.js | 31 - .../node_modules/lodash/object/forOwn.js | 33 - .../node_modules/lodash/object/forOwnRight.js | 31 - .../node_modules/lodash/object/functions.js | 23 - .../cordova/node_modules/lodash/object/get.js | 33 - .../cordova/node_modules/lodash/object/has.js | 57 - .../node_modules/lodash/object/invert.js | 60 - .../node_modules/lodash/object/keys.js | 45 - .../node_modules/lodash/object/keysIn.js | 64 - .../node_modules/lodash/object/mapKeys.js | 25 - .../node_modules/lodash/object/mapValues.js | 46 - .../node_modules/lodash/object/merge.js | 54 - .../node_modules/lodash/object/methods.js | 1 - .../node_modules/lodash/object/omit.js | 47 - .../node_modules/lodash/object/pairs.js | 33 - .../node_modules/lodash/object/pick.js | 42 - .../node_modules/lodash/object/result.js | 49 - .../cordova/node_modules/lodash/object/set.js | 55 - .../node_modules/lodash/object/transform.js | 61 - .../node_modules/lodash/object/values.js | 33 - .../node_modules/lodash/object/valuesIn.js | 31 - .../cordova/node_modules/lodash/package.json | 129 - .../cordova/node_modules/lodash/string.js | 25 - .../node_modules/lodash/string/camelCase.js | 27 - .../node_modules/lodash/string/capitalize.js | 21 - .../node_modules/lodash/string/deburr.js | 29 - .../node_modules/lodash/string/endsWith.js | 40 - .../node_modules/lodash/string/escape.js | 48 - .../lodash/string/escapeRegExp.js | 32 - .../node_modules/lodash/string/kebabCase.js | 26 - .../cordova/node_modules/lodash/string/pad.js | 47 - .../node_modules/lodash/string/padLeft.js | 27 - .../node_modules/lodash/string/padRight.js | 27 - .../node_modules/lodash/string/parseInt.js | 46 - .../node_modules/lodash/string/repeat.js | 47 - .../node_modules/lodash/string/snakeCase.js | 26 - .../node_modules/lodash/string/startCase.js | 26 - .../node_modules/lodash/string/startsWith.js | 36 - .../node_modules/lodash/string/template.js | 226 - .../lodash/string/templateSettings.js | 67 - .../node_modules/lodash/string/trim.js | 42 - .../node_modules/lodash/string/trimLeft.js | 36 - .../node_modules/lodash/string/trimRight.js | 36 - .../node_modules/lodash/string/trunc.js | 105 - .../node_modules/lodash/string/unescape.js | 33 - .../node_modules/lodash/string/words.js | 38 - .../cordova/node_modules/lodash/support.js | 10 - .../cordova/node_modules/lodash/utility.js | 18 - .../node_modules/lodash/utility/attempt.js | 32 - .../node_modules/lodash/utility/callback.js | 53 - .../node_modules/lodash/utility/constant.js | 23 - .../node_modules/lodash/utility/identity.js | 20 - .../node_modules/lodash/utility/iteratee.js | 1 - .../node_modules/lodash/utility/matches.js | 33 - .../lodash/utility/matchesProperty.js | 32 - .../node_modules/lodash/utility/method.js | 33 - .../node_modules/lodash/utility/methodOf.js | 32 - .../node_modules/lodash/utility/mixin.js | 82 - .../node_modules/lodash/utility/noop.js | 19 - .../node_modules/lodash/utility/property.js | 31 - .../node_modules/lodash/utility/propertyOf.js | 30 - .../node_modules/lodash/utility/range.js | 66 - .../node_modules/lodash/utility/times.js | 60 - .../node_modules/lodash/utility/uniqueId.js | 27 - .../cordova/node_modules/minimatch/LICENSE | 15 - .../cordova/node_modules/minimatch/README.md | 209 - .../node_modules/minimatch/minimatch.js | 923 -- .../node_modules/minimatch/package.json | 100 - .../cordova/node_modules/nopt/.npmignore | 1 - .../cordova/node_modules/nopt/.travis.yml | 9 - .../android/cordova/node_modules/nopt/LICENSE | 15 - .../cordova/node_modules/nopt/README.md | 211 - .../cordova/node_modules/nopt/bin/nopt.js | 54 - .../node_modules/nopt/examples/my-program.js | 30 - .../cordova/node_modules/nopt/lib/nopt.js | 415 - .../cordova/node_modules/nopt/package.json | 96 - .../cordova/node_modules/nopt/test/basic.js | 273 - .../android/cordova/node_modules/once/LICENSE | 15 - .../cordova/node_modules/once/README.md | 79 - .../android/cordova/node_modules/once/once.js | 42 - .../cordova/node_modules/once/package.json | 101 - .../cordova/node_modules/os-homedir/index.js | 24 - .../cordova/node_modules/os-homedir/license | 21 - .../node_modules/os-homedir/package.json | 109 - .../cordova/node_modules/os-homedir/readme.md | 31 - .../cordova/node_modules/os-tmpdir/index.js | 25 - .../cordova/node_modules/os-tmpdir/license | 21 - .../node_modules/os-tmpdir/package.json | 109 - .../cordova/node_modules/os-tmpdir/readme.md | 32 - .../cordova/node_modules/osenv/.npmignore | 13 - .../cordova/node_modules/osenv/.travis.yml | 9 - .../cordova/node_modules/osenv/LICENSE | 15 - .../cordova/node_modules/osenv/README.md | 63 - .../cordova/node_modules/osenv/osenv.js | 72 - .../cordova/node_modules/osenv/package.json | 113 - .../cordova/node_modules/osenv/test/unix.js | 71 - .../node_modules/osenv/test/windows.js | 74 - .../android/cordova/node_modules/osenv/x.tap | 39 - .../node_modules/path-is-absolute/index.js | 20 - .../node_modules/path-is-absolute/license | 21 - .../path-is-absolute/package.json | 111 - .../node_modules/path-is-absolute/readme.md | 59 - .../cordova/node_modules/plist/.jshintrc | 4 - .../cordova/node_modules/plist/.travis.yml | 34 - .../cordova/node_modules/plist/History.md | 122 - .../cordova/node_modules/plist/LICENSE | 24 - .../cordova/node_modules/plist/Makefile | 76 - .../cordova/node_modules/plist/README.md | 113 - .../node_modules/plist/dist/plist-build.js | 3982 ----- .../node_modules/plist/dist/plist-parse.js | 4055 ----- .../cordova/node_modules/plist/dist/plist.js | 7987 ---------- .../plist/examples/browser/index.html | 14 - .../cordova/node_modules/plist/lib/build.js | 138 - .../cordova/node_modules/plist/lib/node.js | 49 - .../cordova/node_modules/plist/lib/parse.js | 200 - .../cordova/node_modules/plist/lib/plist.js | 23 - .../cordova/node_modules/plist/package.json | 125 - .../properties-parser/README.markdown | 48 - .../node_modules/properties-parser/index.js | 354 - .../properties-parser/package.json | 81 - .../properties-parser/play-ground.js | 17 - .../test/ReadProperties.class | Bin 2613 -> 0 bytes .../test/ReadProperties.java | 61 - .../test/test-cases-copy.properties | 16 - .../test/test-cases.properties | 18 - .../properties-parser/test/test.js | 123 - .../android/cordova/node_modules/q/CHANGES.md | 792 - .../android/cordova/node_modules/q/LICENSE | 18 - .../android/cordova/node_modules/q/README.md | 874 -- .../cordova/node_modules/q/package.json | 155 - .../android/cordova/node_modules/q/q.js | 2073 --- .../android/cordova/node_modules/q/queue.js | 35 - .../android/cordova/node_modules/sax/AUTHORS | 9 - .../android/cordova/node_modules/sax/LICENSE | 23 - .../cordova/node_modules/sax/README.md | 213 - .../sax/examples/big-not-pretty.xml | 8002 ---------- .../node_modules/sax/examples/example.js | 41 - .../node_modules/sax/examples/get-products.js | 58 - .../node_modules/sax/examples/hello-world.js | 4 - .../node_modules/sax/examples/not-pretty.xml | 8 - .../node_modules/sax/examples/pretty-print.js | 74 - .../node_modules/sax/examples/shopping.xml | 2 - .../node_modules/sax/examples/strict.dtd | 870 -- .../node_modules/sax/examples/switch-bench.js | 45 - .../node_modules/sax/examples/test.html | 15 - .../node_modules/sax/examples/test.xml | 1254 -- .../cordova/node_modules/sax/lib/sax.js | 1006 -- .../cordova/node_modules/sax/package.json | 122 - .../node_modules/sax/test/buffer-overrun.js | 25 - .../node_modules/sax/test/cdata-chunked.js | 11 - .../node_modules/sax/test/cdata-end-split.js | 15 - .../node_modules/sax/test/cdata-fake-end.js | 28 - .../node_modules/sax/test/cdata-multiple.js | 15 - .../cordova/node_modules/sax/test/cdata.js | 10 - .../cordova/node_modules/sax/test/index.js | 86 - .../cordova/node_modules/sax/test/issue-23.js | 43 - .../cordova/node_modules/sax/test/issue-30.js | 24 - .../cordova/node_modules/sax/test/issue-35.js | 15 - .../cordova/node_modules/sax/test/issue-47.js | 13 - .../cordova/node_modules/sax/test/issue-49.js | 31 - .../node_modules/sax/test/parser-position.js | 28 - .../cordova/node_modules/sax/test/script.js | 12 - .../sax/test/self-closing-child-strict.js | 40 - .../sax/test/self-closing-child.js | 40 - .../node_modules/sax/test/self-closing-tag.js | 25 - .../node_modules/sax/test/stray-ending.js | 17 - .../sax/test/trailing-non-whitespace.js | 17 - .../cordova/node_modules/sax/test/unquoted.js | 17 - .../node_modules/sax/test/xmlns-issue-41.js | 67 - .../node_modules/sax/test/xmlns-rebinding.js | 59 - .../node_modules/sax/test/xmlns-strict.js | 71 - .../node_modules/sax/test/xmlns-unbound.js | 15 - .../xmlns-xml-default-prefix-attribute.js | 35 - .../sax/test/xmlns-xml-default-prefix.js | 20 - .../sax/test/xmlns-xml-default-redefine.js | 40 - .../cordova/node_modules/semver/LICENSE | 15 - .../cordova/node_modules/semver/README.md | 366 - .../cordova/node_modules/semver/bin/semver | 133 - .../cordova/node_modules/semver/package.json | 95 - .../cordova/node_modules/semver/range.bnf | 16 - .../cordova/node_modules/semver/semver.js | 1296 -- .../node_modules/shelljs/.documentup.json | 6 - .../cordova/node_modules/shelljs/.jshintrc | 7 - .../cordova/node_modules/shelljs/.npmignore | 2 - .../cordova/node_modules/shelljs/.travis.yml | 6 - .../cordova/node_modules/shelljs/LICENSE | 26 - .../cordova/node_modules/shelljs/README.md | 579 - .../cordova/node_modules/shelljs/RELEASE.md | 9 - .../cordova/node_modules/shelljs/bin/shjs | 51 - .../cordova/node_modules/shelljs/global.js | 3 - .../cordova/node_modules/shelljs/make.js | 56 - .../cordova/node_modules/shelljs/package.json | 97 - .../shelljs/scripts/generate-docs.js | 21 - .../node_modules/shelljs/scripts/run-tests.js | 50 - .../cordova/node_modules/shelljs/shell.js | 159 - .../cordova/node_modules/shelljs/src/cat.js | 43 - .../cordova/node_modules/shelljs/src/cd.js | 19 - .../cordova/node_modules/shelljs/src/chmod.js | 208 - .../node_modules/shelljs/src/common.js | 203 - .../cordova/node_modules/shelljs/src/cp.js | 204 - .../cordova/node_modules/shelljs/src/dirs.js | 191 - .../cordova/node_modules/shelljs/src/echo.js | 20 - .../cordova/node_modules/shelljs/src/error.js | 10 - .../cordova/node_modules/shelljs/src/exec.js | 216 - .../cordova/node_modules/shelljs/src/find.js | 51 - .../cordova/node_modules/shelljs/src/grep.js | 52 - .../cordova/node_modules/shelljs/src/ln.js | 53 - .../cordova/node_modules/shelljs/src/ls.js | 126 - .../cordova/node_modules/shelljs/src/mkdir.js | 68 - .../cordova/node_modules/shelljs/src/mv.js | 80 - .../cordova/node_modules/shelljs/src/popd.js | 1 - .../cordova/node_modules/shelljs/src/pushd.js | 1 - .../cordova/node_modules/shelljs/src/pwd.js | 11 - .../cordova/node_modules/shelljs/src/rm.js | 163 - .../cordova/node_modules/shelljs/src/sed.js | 43 - .../node_modules/shelljs/src/tempdir.js | 56 - .../cordova/node_modules/shelljs/src/test.js | 85 - .../cordova/node_modules/shelljs/src/to.js | 29 - .../cordova/node_modules/shelljs/src/toEnd.js | 29 - .../cordova/node_modules/shelljs/src/which.js | 83 - .../cordova/node_modules/underscore/LICENSE | 23 - .../cordova/node_modules/underscore/README.md | 22 - .../node_modules/underscore/package.json | 104 - .../node_modules/underscore/underscore-min.js | 6 - .../underscore/underscore-min.map | 1 - .../node_modules/underscore/underscore.js | 1548 -- .../cordova/node_modules/unorm/LICENSE.md | 42 - .../cordova/node_modules/unorm/README.md | 118 - .../cordova/node_modules/unorm/lib/unorm.js | 442 - .../cordova/node_modules/unorm/package.json | 103 - .../node_modules/util-deprecate/History.md | 16 - .../node_modules/util-deprecate/LICENSE | 24 - .../node_modules/util-deprecate/README.md | 53 - .../node_modules/util-deprecate/browser.js | 67 - .../node_modules/util-deprecate/node.js | 6 - .../node_modules/util-deprecate/package.json | 89 - .../cordova/node_modules/wrappy/LICENSE | 15 - .../cordova/node_modules/wrappy/README.md | 36 - .../cordova/node_modules/wrappy/package.json | 97 - .../cordova/node_modules/wrappy/wrappy.js | 33 - .../node_modules/xmlbuilder/.npmignore | 5 - .../cordova/node_modules/xmlbuilder/LICENSE | 21 - .../cordova/node_modules/xmlbuilder/README.md | 86 - .../xmlbuilder/lib/XMLAttribute.js | 32 - .../node_modules/xmlbuilder/lib/XMLBuilder.js | 69 - .../node_modules/xmlbuilder/lib/XMLCData.js | 49 - .../node_modules/xmlbuilder/lib/XMLComment.js | 49 - .../xmlbuilder/lib/XMLDTDAttList.js | 68 - .../xmlbuilder/lib/XMLDTDElement.js | 46 - .../xmlbuilder/lib/XMLDTDEntity.js | 84 - .../xmlbuilder/lib/XMLDTDNotation.js | 56 - .../xmlbuilder/lib/XMLDeclaration.js | 65 - .../node_modules/xmlbuilder/lib/XMLDocType.js | 188 - .../node_modules/xmlbuilder/lib/XMLElement.js | 212 - .../node_modules/xmlbuilder/lib/XMLNode.js | 331 - .../lib/XMLProcessingInstruction.js | 51 - .../node_modules/xmlbuilder/lib/XMLRaw.js | 49 - .../xmlbuilder/lib/XMLStringifier.js | 165 - .../node_modules/xmlbuilder/lib/XMLText.js | 49 - .../node_modules/xmlbuilder/lib/index.js | 14 - .../node_modules/xmlbuilder/package.json | 97 - .../cordova/node_modules/xmldom/.npmignore | 5 - .../cordova/node_modules/xmldom/.travis.yml | 22 - .../cordova/node_modules/xmldom/LICENSE | 8 - .../node_modules/xmldom/__package__.js | 4 - .../cordova/node_modules/xmldom/changelog | 14 - .../node_modules/xmldom/component.json | 10 - .../cordova/node_modules/xmldom/dom-parser.js | 251 - .../cordova/node_modules/xmldom/dom.js | 1244 -- .../cordova/node_modules/xmldom/package.json | 139 - .../cordova/node_modules/xmldom/readme.md | 219 - .../cordova/node_modules/xmldom/sax.js | 633 - demo/platforms/android/cordova/run | 29 +- demo/platforms/android/cordova/version | 2 +- demo/platforms/android/gradle.properties | 27 +- .../platform_www/cordova-js-src/exec.js | 11 - .../platforms/android/platform_www/cordova.js | 296 +- .../android/platform_www/cordova_plugins.js | 31 +- .../www/JumioMobileSDK.js | 118 +- demo/platforms/android/proguard-rules.pro | 40 + demo/platforms/android/project.properties | 24 +- .../android/res/drawable-land-hdpi/screen.png | Bin 218302 -> 0 bytes .../android/res/drawable-land-ldpi/screen.png | Bin 42616 -> 0 bytes .../android/res/drawable-land-mdpi/screen.png | Bin 92347 -> 0 bytes .../res/drawable-land-xhdpi/screen.png | Bin 489604 -> 0 bytes .../res/drawable-land-xxhdpi/screen.png | Bin 1135414 -> 0 bytes .../res/drawable-land-xxxhdpi/screen.png | Bin 1460298 -> 0 bytes .../android/res/drawable-port-hdpi/screen.png | Bin 222148 -> 0 bytes .../android/res/drawable-port-ldpi/screen.png | Bin 42034 -> 0 bytes .../android/res/drawable-port-mdpi/screen.png | Bin 90555 -> 0 bytes .../res/drawable-port-xhdpi/screen.png | Bin 504508 -> 0 bytes .../res/drawable-port-xxhdpi/screen.png | Bin 1166124 -> 0 bytes .../res/drawable-port-xxxhdpi/screen.png | Bin 1595731 -> 0 bytes .../android/res/mipmap-hdpi/icon.png | Bin 6080 -> 0 bytes .../android/res/mipmap-ldpi/icon.png | Bin 3096 -> 0 bytes .../android/res/mipmap-mdpi/icon.png | Bin 4090 -> 0 bytes .../android/res/mipmap-xhdpi/icon.png | Bin 7685 -> 0 bytes .../android/res/mipmap-xxhdpi/icon.png | Bin 14189 -> 0 bytes .../android/res/mipmap-xxxhdpi/icon.png | Bin 17965 -> 0 bytes demo/platforms/android/settings.gradle | 1 + .../cordova/whitelist/WhitelistPlugin.java | 161 - demo/platforms/ios/.gitignore | 3 - .../ios/CordovaLib/Classes/Private/CDVDebug.h | 25 + .../Classes/Private/CDVJSON_private.h | 31 + .../Classes/Private/CDVJSON_private.m | 99 + .../Classes/Private/CDVPlugin+Private.h | 24 + .../CDVGestureHandler/CDVGestureHandler.h | 26 + .../CDVGestureHandler/CDVGestureHandler.m | 70 + .../CDVHandleOpenURL/CDVHandleOpenURL.h | 27 + .../CDVHandleOpenURL/CDVHandleOpenURL.m | 86 + .../CDVIntentAndNavigationFilter.h | 34 + .../CDVIntentAndNavigationFilter.m | 142 + .../Plugins/CDVLocalStorage/CDVLocalStorage.h | 50 + .../Plugins/CDVLocalStorage/CDVLocalStorage.m | 487 + .../Private/Plugins/CDVLogger/CDVLogger.h | 26 + .../Private/Plugins/CDVLogger/CDVLogger.m | 37 + .../CDVUIWebViewEngine/CDVUIWebViewDelegate.h | 41 + .../CDVUIWebViewEngine/CDVUIWebViewDelegate.m | 404 + .../CDVUIWebViewEngine/CDVUIWebViewEngine.h | 27 + .../CDVUIWebViewEngine/CDVUIWebViewEngine.m | 202 + .../CDVUIWebViewNavigationDelegate.h | 29 + .../CDVUIWebViewNavigationDelegate.m | 153 + .../ios/CordovaLib/Classes/Public/CDV.h | 32 + .../Classes/Public/CDVAppDelegate.h | 28 + .../Classes/Public/CDVAppDelegate.m | 118 + .../Classes/Public/CDVAvailability.h | 113 + .../Public/CDVAvailabilityDeprecated.h | 26 + .../Classes/Public/CDVCommandDelegate.h | 51 + .../Classes/Public/CDVCommandDelegateImpl.h | 36 + .../Classes/Public/CDVCommandDelegateImpl.m | 186 + .../Classes/Public/CDVCommandQueue.h | 39 + .../Classes/Public/CDVCommandQueue.m | 194 + .../Classes/Public/CDVConfigParser.h | 30 + .../Classes/Public/CDVConfigParser.m | 81 + .../Classes/Public/CDVInvokedUrlCommand.h | 52 + .../Classes/Public/CDVInvokedUrlCommand.m | 116 + .../Classes/Public/CDVPlugin+Resources.h | 39 + .../Classes/Public/CDVPlugin+Resources.m | 38 + .../ios/CordovaLib/Classes/Public/CDVPlugin.h | 74 + .../ios/CordovaLib/Classes/Public/CDVPlugin.m | 199 + .../Classes/Public/CDVPluginResult.h | 83 + .../Classes/Public/CDVPluginResult.m | 203 + .../Public/CDVScreenOrientationDelegate.h | 33 + .../ios/CordovaLib/Classes/Public/CDVTimer.h | 27 + .../ios/CordovaLib/Classes/Public/CDVTimer.m | 123 + .../Classes/Public/CDVURLProtocol.h | 27 + .../Classes/Public/CDVURLProtocol.m | 113 + .../Classes/Public/CDVUserAgentUtil.h | 27 + .../Classes/Public/CDVUserAgentUtil.m | 124 + .../Classes/Public/CDVViewController.h | 92 + .../Classes/Public/CDVViewController.m | 811 + .../Classes/Public/CDVWebViewEngineProtocol.h | 42 + .../CordovaLib/Classes/Public/CDVWhitelist.h | 34 + .../CordovaLib/Classes/Public/CDVWhitelist.m | 285 + .../Public/NSDictionary+CordovaPreferences.h | 35 + .../Public/NSDictionary+CordovaPreferences.m | 63 + .../Public/NSMutableArray+QueueAdditions.h | 29 + .../Public/NSMutableArray+QueueAdditions.m | 58 + .../CordovaLib.xcodeproj/project.pbxproj | 786 + .../ios/CordovaLib/CordovaLib_Prefix.pch | 22 + demo/platforms/ios/CordovaLib/VERSION | 1 + demo/platforms/ios/CordovaLib/cordova.js | 2162 +++ .../ios/DemoApp.xcodeproj/project.pbxproj | 114 +- .../contents.xcworkspacedata | 0 .../xcshareddata/xcschemes/DemoApp.xcscheme | 0 demo/platforms/ios/DemoApp/.gitignore | 0 demo/platforms/ios/DemoApp/Bridging-Header.h | 0 .../ios/DemoApp/CDVLaunchScreen.storyboard | 0 .../ios/DemoApp/Classes/AppDelegate.h | 0 .../ios/DemoApp/Classes/AppDelegate.m | 0 .../ios/DemoApp/Classes/MainViewController.h | 0 .../ios/DemoApp/Classes/MainViewController.m | 0 .../DemoApp/Classes/MainViewController.xib | 0 demo/platforms/ios/DemoApp/DemoApp-Info.plist | 4 +- demo/platforms/ios/DemoApp/DemoApp-Prefix.pch | 0 .../ios/DemoApp/Entitlements-Debug.plist | 0 .../ios/DemoApp/Entitlements-Release.plist | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/icon-1024.png | Bin .../AppIcon.appiconset/icon-20.png | Bin .../AppIcon.appiconset/icon-20@2x.png | Bin .../AppIcon.appiconset/icon-20@3x.png | Bin .../AppIcon.appiconset/icon-24@2x.png | Bin .../AppIcon.appiconset/icon-27.5@2x.png | Bin .../AppIcon.appiconset/icon-29.png | Bin .../AppIcon.appiconset/icon-29@2x.png | Bin .../AppIcon.appiconset/icon-29@3x.png | Bin .../AppIcon.appiconset/icon-40.png | Bin .../AppIcon.appiconset/icon-40@2x.png | Bin .../AppIcon.appiconset/icon-44@2x.png | Bin .../AppIcon.appiconset/icon-50.png | Bin .../AppIcon.appiconset/icon-50@2x.png | Bin .../AppIcon.appiconset/icon-60@2x.png | Bin .../AppIcon.appiconset/icon-60@3x.png | Bin .../AppIcon.appiconset/icon-72.png | Bin .../AppIcon.appiconset/icon-72@2x.png | Bin .../AppIcon.appiconset/icon-76.png | Bin .../AppIcon.appiconset/icon-76@2x.png | Bin .../AppIcon.appiconset/icon-83.5@2x.png | Bin .../AppIcon.appiconset/icon-86@2x.png | Bin .../AppIcon.appiconset/icon-98@2x.png | Bin .../AppIcon.appiconset/icon.png | Bin .../AppIcon.appiconset/icon@2x.png | Bin .../ios/DemoApp/Images.xcassets/Contents.json | 0 .../LaunchImage.launchimage/Contents.json | 0 .../LaunchImage.launchimage/Default-2436h.png | Bin .../Default-568h@2x~iphone.png | Bin .../LaunchImage.launchimage/Default-667h.png | Bin .../LaunchImage.launchimage/Default-736h.png | Bin .../Default-Landscape-2436h.png | Bin .../Default-Landscape-736h.png | Bin .../Default-Landscape@2x~ipad.png | Bin .../Default-Landscape~ipad.png | Bin .../Default-Portrait@2x~ipad.png | Bin .../Default-Portrait~ipad.png | Bin .../Default@2x~iphone.png | Bin .../Default~iphone.png | Bin .../LaunchStoryboard.imageset/Contents.json | 0 demo/platforms/ios/DemoApp/Plugins/README | 0 .../JumioMobileSDK.h | 0 .../JumioMobileSDK.m | 65 +- demo/platforms/ios/DemoApp/config.xml | 8 +- demo/platforms/ios/DemoApp/main.m | 0 demo/platforms/ios/Podfile | 2 +- demo/platforms/ios/cordova/Api.js | 715 + demo/platforms/ios/cordova/apple_ios_version | 27 + demo/platforms/ios/cordova/apple_osx_version | 27 + .../platforms/ios/cordova/apple_xcode_version | 29 + .../ios/cordova/build-debug.xcconfig | 32 + .../ios/cordova/build-extras.xcconfig | 0 .../ios/cordova/build-release.xcconfig | 33 + demo/platforms/ios/cordova/build.bat | 19 + demo/platforms/ios/cordova/build.xcconfig | 43 + .../addProperty.js => ios/cordova/check_reqs} | 24 +- demo/platforms/ios/cordova/check_reqs.bat | 25 + demo/platforms/ios/cordova/clean | 50 + demo/platforms/ios/cordova/clean.bat | 19 + demo/platforms/ios/cordova/defaults.xml | 59 + .../ios/cordova/lib/BridgingHeader.js | 125 + demo/platforms/ios/cordova/lib/Podfile.js | 427 + demo/platforms/ios/cordova/lib/PodsJson.js | 209 + demo/platforms/ios/cordova/lib/build.js | 464 + demo/platforms/ios/cordova/lib/check_reqs.js | 228 + demo/platforms/ios/cordova/lib/clean.js | 42 + demo/platforms/ios/cordova/lib/list-devices | 67 + .../cordova/lib/list-emulator-build-targets | 109 + .../ios/cordova/lib/list-emulator-images | 47 + .../ios/cordova/lib/list-started-emulators | 50 + .../ios/cordova/lib/plugman/pluginHandlers.js | 391 + demo/platforms/ios/cordova/lib/prepare.js | 1172 ++ demo/platforms/ios/cordova/lib/projectFile.js | 134 + demo/platforms/ios/cordova/lib/run.js | 263 + demo/platforms/ios/cordova/lib/spawn.js | 51 + demo/platforms/ios/cordova/lib/start-emulator | 30 + demo/platforms/ios/cordova/lib/versions.js | 194 + demo/platforms/ios/cordova/log | 23 + demo/platforms/ios/cordova/log.bat | 19 + demo/platforms/ios/cordova/loggingHelper.js | 30 + demo/platforms/ios/cordova/run | 64 + demo/platforms/ios/cordova/run.bat | 19 + demo/platforms/ios/cordova/version | 35 + demo/platforms/ios/cordova/version.bat | 26 + demo/platforms/ios/exportOptions.plist | 10 - demo/platforms/ios/ios.json | 6 +- .../ios/platform_www/cordova-js-src/exec.js | 0 .../platform_www/cordova-js-src/platform.js | 0 .../cordova-js-src/plugin/ios/console.js | 0 .../cordova-js-src/plugin/ios/logger.js | 0 demo/platforms/ios/platform_www/cordova.js | 0 .../ios/platform_www/cordova_plugins.js | 3 +- .../www/JumioMobileSDK.js | 121 +- demo/platforms/ios/pods-debug.xcconfig | 0 demo/platforms/ios/pods-release.xcconfig | 0 demo/platforms/ios/pods.json | 2 +- demo/platforms/ios/www/cordova-js-src/exec.js | 0 .../ios/www/cordova-js-src/platform.js | 0 .../www/cordova-js-src/plugin/ios/console.js | 0 .../www/cordova-js-src/plugin/ios/logger.js | 0 demo/platforms/ios/www/cordova.js | 0 demo/platforms/ios/www/cordova_plugins.js | 3 +- demo/platforms/ios/www/css/index.css | 0 demo/platforms/ios/www/index.html | 0 demo/platforms/ios/www/js/index.js | 18 +- .../www/JumioMobileSDK.js | 118 +- demo/platforms/platforms.json | 4 +- demo/plugins/android.json | 15 + demo/plugins/fetch.json | 10 + demo/plugins/ios.json | 16 + demo/typings/cordova-typings.d.ts | 2 + demo/www/css/index.css | 0 demo/www/img/logo.png | Bin demo/www/index.html | 0 demo/www/js/index.js | 7 +- package.json | 2 +- plugin.xml | 4 +- src/android/JumioMobileSDK.java | 62 +- src/ios/JumioMobileSDK.h | 0 src/ios/JumioMobileSDK.m | 63 +- www/JumioMobileSDK.js | 118 +- 1125 files changed, 16397 insertions(+), 96688 deletions(-) mode change 100644 => 100755 README.md mode change 100644 => 100755 demo/README.md mode change 100644 => 100755 demo/config.xml mode change 100644 => 100755 demo/gradle/wrapper/gradle-wrapper.jar mode change 100644 => 100755 demo/gradle/wrapper/gradle-wrapper.properties mode change 100644 => 100755 demo/hooks/README.md create mode 100755 demo/jsconfig.json mode change 100644 => 100755 demo/package.json mode change 100644 => 100755 demo/platforms/.gitignore mode change 100644 => 100755 demo/platforms/android/CordovaLib/AndroidManifest.xml mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/CoreAndroid.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/LOG.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/NativeToJsMessageQueue.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/PluginEntry.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/PluginManager.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemExposedJsApi.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java mode change 100644 => 100755 demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java create mode 100644 demo/platforms/android/app/build.gradle rename demo/platforms/android/{ => app/src/main}/AndroidManifest.xml (84%) rename demo/platforms/android/{ => app/src/main}/assets/www/cordova-js-src/android/nativeapiprovider.js (100%) rename demo/platforms/android/{ => app/src/main}/assets/www/cordova-js-src/android/promptbasednativeapi.js (100%) rename demo/platforms/android/{ => app/src/main}/assets/www/cordova-js-src/exec.js (95%) rename demo/platforms/android/{ => app/src/main}/assets/www/cordova-js-src/platform.js (100%) rename demo/platforms/android/{ => app/src/main}/assets/www/cordova-js-src/plugin/android/app.js (100%) rename demo/platforms/android/{ => app/src/main}/assets/www/cordova.js (86%) create mode 100644 demo/platforms/android/app/src/main/assets/www/cordova_plugins.js rename demo/platforms/android/{ => app/src/main}/assets/www/css/index.css (100%) mode change 100644 => 100755 rename demo/platforms/android/{ => app/src/main}/assets/www/img/logo.png (100%) mode change 100644 => 100755 rename demo/platforms/android/{ => app/src/main}/assets/www/index.html (100%) mode change 100644 => 100755 rename demo/platforms/android/{ => app/src/main}/assets/www/js/index.js (88%) mode change 100644 => 100755 create mode 100644 demo/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js rename demo/platforms/android/{src => app/src/main/java}/com/jumio/cordova/demo/MainActivity.java (100%) rename demo/platforms/android/{src => app/src/main/java}/com/jumio/mobilesdk/JumioMobileSDK.java (93%) mode change 100644 => 100755 create mode 100644 demo/platforms/android/app/src/main/res/drawable-land-hdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-land-ldpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-land-mdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-land-xhdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-land-xxhdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-land-xxxhdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-port-hdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-port-ldpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-port-mdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-port-xhdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-port-xxhdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/drawable-port-xxxhdpi/screen.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher.xml create mode 100644 demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_background.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_foreground.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher.xml create mode 100644 demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_background.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_foreground.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-ldpi/ic_launcher.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher.xml create mode 100644 demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_background.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_foreground.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher.xml create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher_background.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher_foreground.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher.xml create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher_background.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher_foreground.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher.xml create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher_background.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher_foreground.png create mode 100644 demo/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename demo/platforms/android/{ => app/src/main}/res/values/strings.xml (100%) rename demo/platforms/android/{ => app/src/main}/res/xml/config.xml (71%) delete mode 100644 demo/platforms/android/assets/www/cordova_plugins.js delete mode 100644 demo/platforms/android/assets/www/plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js create mode 100644 demo/platforms/android/cordova-plugin-jumio-mobilesdk/demo-plugin.gradle mode change 100644 => 100755 demo/platforms/android/cordova/android_sdk_version mode change 100644 => 100755 demo/platforms/android/cordova/check_reqs mode change 100644 => 100755 demo/platforms/android/cordova/clean delete mode 100644 demo/platforms/android/cordova/lib/AndroidStudio.js mode change 100644 => 100755 demo/platforms/android/cordova/lib/android_sdk.js delete mode 100644 demo/platforms/android/cordova/lib/builders/AntBuilder.js delete mode 100644 demo/platforms/android/cordova/lib/builders/GenericBuilder.js delete mode 100644 demo/platforms/android/cordova/lib/builders/GradleBuilder.js create mode 100644 demo/platforms/android/cordova/lib/builders/ProjectBuilder.js create mode 100644 demo/platforms/android/cordova/lib/config/GradlePropertiesParser.js mode change 100644 => 100755 demo/platforms/android/cordova/lib/install-device mode change 100644 => 100755 demo/platforms/android/cordova/lib/install-emulator mode change 100644 => 100755 demo/platforms/android/cordova/lib/list-devices mode change 100644 => 100755 demo/platforms/android/cordova/lib/list-emulator-images mode change 100644 => 100755 demo/platforms/android/cordova/lib/list-started-emulators mode change 100644 => 100755 demo/platforms/android/cordova/lib/start-emulator mode change 100644 => 100755 demo/platforms/android/cordova/log delete mode 100644 demo/platforms/android/cordova/node_modules/.bin/nopt delete mode 100644 demo/platforms/android/cordova/node_modules/.bin/nopt.cmd delete mode 100644 demo/platforms/android/cordova/node_modules/.bin/semver delete mode 100644 demo/platforms/android/cordova/node_modules/.bin/semver.cmd delete mode 100644 demo/platforms/android/cordova/node_modules/.bin/shjs delete mode 100644 demo/platforms/android/cordova/node_modules/.bin/shjs.cmd delete mode 100644 demo/platforms/android/cordova/node_modules/abbrev/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/abbrev/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/abbrev/abbrev.js delete mode 100644 demo/platforms/android/cordova/node_modules/abbrev/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/android-versions/.jshintignore delete mode 100644 demo/platforms/android/cordova/node_modules/android-versions/.jshintrc delete mode 100644 demo/platforms/android/cordova/node_modules/android-versions/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/android-versions/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/android-versions/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/android-versions/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/.jshintrc delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/History.md delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/examples/beep/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/examples/clear/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/examples/cursorPosition.js delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/examples/progress/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/lib/ansi.js delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/lib/newlines.js delete mode 100644 demo/platforms/android/cordova/node_modules/ansi/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/balanced-match/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/balanced-match/LICENSE.md delete mode 100644 demo/platforms/android/cordova/node_modules/balanced-match/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/balanced-match/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/balanced-match/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/base64-js/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/base64-js/LICENSE.MIT delete mode 100644 demo/platforms/android/cordova/node_modules/base64-js/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/base64-js/bench/bench.js delete mode 100644 demo/platforms/android/cordova/node_modules/base64-js/lib/b64.js delete mode 100644 demo/platforms/android/cordova/node_modules/base64-js/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/base64-js/test/convert.js delete mode 100644 demo/platforms/android/cordova/node_modules/base64-js/test/url-safe.js delete mode 100644 demo/platforms/android/cordova/node_modules/big-integer/BigInteger.d.ts delete mode 100644 demo/platforms/android/cordova/node_modules/big-integer/BigInteger.js delete mode 100644 demo/platforms/android/cordova/node_modules/big-integer/BigInteger.min.js delete mode 100644 demo/platforms/android/cordova/node_modules/big-integer/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/big-integer/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/big-integer/bower.json delete mode 100644 demo/platforms/android/cordova/node_modules/big-integer/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/big-integer/tsconfig.json delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/bplistParser.js delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/airplay.bplist delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/iTunes-small.bplist delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/int64.bplist delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/int64.xml delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/parseTest.js delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/sample1.bplist delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/sample2.bplist delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/uid.bplist delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/utf16.bplist delete mode 100644 demo/platforms/android/cordova/node_modules/bplist-parser/test/utf16_chinese.plist delete mode 100644 demo/platforms/android/cordova/node_modules/brace-expansion/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/brace-expansion/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/brace-expansion/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/concat-map/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/concat-map/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/concat-map/README.markdown delete mode 100644 demo/platforms/android/cordova/node_modules/concat-map/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/concat-map/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/concat-map/test/map.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/.eslintignore delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/.eslintrc.yml delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/.jscs.json delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/.ratignore delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/RELEASENOTES.md delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/appveyor.yml delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/cordova-common.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/ActionStack.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigKeeper.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/munge-util.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/ConfigParser.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaCheck.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaError.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaExternalToolErrorContext.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaLogger.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/FileUpdater.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/PlatformJson.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfo.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfoProvider.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/PluginManager.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/events.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/util/plist-helpers.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-registry-mapper/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-registry-mapper/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-registry-mapper/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-registry-mapper/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-registry-mapper/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/cordova-registry-mapper/tests/test.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/CHANGES.md delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/LICENSE.txt delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/Makefile delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/NOTICE delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/constants.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/elementpath.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/elementtree.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/errors.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/parser.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/parsers/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/parsers/sax.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/sprintf.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/treebuilder.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/lib/utils.js delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/tests/data/xml1.xml delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/tests/data/xml2.xml delete mode 100644 demo/platforms/android/cordova/node_modules/elementtree/tests/test-simple.js delete mode 100644 demo/platforms/android/cordova/node_modules/glob/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/glob/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/glob/common.js delete mode 100644 demo/platforms/android/cordova/node_modules/glob/glob.js delete mode 100644 demo/platforms/android/cordova/node_modules/glob/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/glob/sync.js delete mode 100644 demo/platforms/android/cordova/node_modules/inflight/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/inflight/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/inflight/inflight.js delete mode 100644 demo/platforms/android/cordova/node_modules/inflight/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/inherits/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/inherits/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/inherits/inherits.js delete mode 100644 demo/platforms/android/cordova/node_modules/inherits/inherits_browser.js delete mode 100644 demo/platforms/android/cordova/node_modules/inherits/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/chunk.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/compact.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/difference.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/drop.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/dropRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/dropRightWhile.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/dropWhile.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/fill.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/findIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/findLastIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/first.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/flatten.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/flattenDeep.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/head.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/indexOf.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/initial.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/intersection.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/last.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/lastIndexOf.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/object.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/pull.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/pullAt.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/remove.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/rest.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/slice.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/sortedIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/sortedLastIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/tail.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/take.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/takeRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/takeRightWhile.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/takeWhile.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/union.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/uniq.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/unique.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/unzip.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/unzipWith.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/without.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/xor.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/zip.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/zipObject.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/array/zipWith.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/chain.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/commit.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/concat.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/lodash.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/plant.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/reverse.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/run.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/tap.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/thru.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/toJSON.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/toString.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/value.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/valueOf.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/wrapperChain.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/wrapperCommit.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/wrapperConcat.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/wrapperPlant.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/wrapperReverse.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/wrapperToString.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/chain/wrapperValue.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/all.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/any.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/at.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/collect.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/contains.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/countBy.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/detect.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/each.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/eachRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/every.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/filter.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/find.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/findLast.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/findWhere.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/foldl.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/foldr.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/forEach.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/forEachRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/groupBy.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/include.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/includes.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/indexBy.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/inject.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/invoke.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/map.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/max.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/min.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/partition.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/pluck.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/reduce.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/reduceRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/reject.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/sample.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/select.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/shuffle.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/size.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/some.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/sortBy.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/sortByAll.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/sortByOrder.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/sum.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/collection/where.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/date.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/date/now.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/after.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/ary.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/backflow.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/before.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/bind.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/bindAll.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/bindKey.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/compose.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/curry.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/curryRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/debounce.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/defer.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/delay.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/flow.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/flowRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/memoize.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/modArgs.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/negate.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/once.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/partial.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/partialRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/rearg.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/restParam.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/spread.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/throttle.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/function/wrap.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/LazyWrapper.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/LodashWrapper.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/MapCache.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/SetCache.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayConcat.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayCopy.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayEach.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayEachRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayEvery.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayExtremum.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayFilter.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayMap.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayPush.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayReduce.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arrayReduceRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arraySome.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/arraySum.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/assignDefaults.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/assignOwnDefaults.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/assignWith.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseAssign.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseAt.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseCallback.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseClone.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseCompareAscending.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseCopy.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseCreate.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseDelay.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseDifference.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseEach.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseEachRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseEvery.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseExtremum.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseFill.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseFilter.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseFind.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseFindIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseFlatten.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseFor.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseForIn.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseForOwn.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseForOwnRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseForRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseFunctions.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseGet.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseIndexOf.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseIsEqual.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseIsEqualDeep.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseIsFunction.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseIsMatch.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseLodash.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseMap.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseMatches.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseMatchesProperty.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseMerge.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseMergeDeep.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseProperty.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/basePropertyDeep.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/basePullAt.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseRandom.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseReduce.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseSetData.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseSlice.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseSome.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseSortBy.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseSortByOrder.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseSum.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseToString.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseUniq.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseValues.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseWhile.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/baseWrapperValue.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/binaryIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/binaryIndexBy.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/bindCallback.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/bufferClone.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/cacheIndexOf.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/cachePush.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/charsLeftIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/charsRightIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/compareAscending.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/compareMultiple.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/composeArgs.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/composeArgsRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createAggregator.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createAssigner.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createBaseEach.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createBaseFor.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createBindWrapper.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createCache.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createCompounder.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createCtorWrapper.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createCurry.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createDefaults.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createExtremum.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createFind.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createFindIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createFindKey.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createFlow.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createForEach.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createForIn.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createForOwn.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createHybridWrapper.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createObjectMapper.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createPadDir.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createPadding.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createPartial.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createPartialWrapper.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createReduce.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createRound.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createSortedIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/createWrapper.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/deburrLetter.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/equalArrays.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/equalByTag.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/equalObjects.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/escapeHtmlChar.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/escapeRegExpChar.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/escapeStringChar.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/getData.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/getFuncName.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/getLength.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/getMatchData.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/getNative.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/getView.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/indexOfNaN.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/initCloneArray.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/initCloneByTag.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/initCloneObject.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/invokePath.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/isArrayLike.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/isIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/isIterateeCall.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/isKey.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/isLaziable.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/isLength.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/isObjectLike.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/isSpace.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/isStrictComparable.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/lazyClone.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/lazyReverse.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/lazyValue.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/mapDelete.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/mapGet.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/mapHas.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/mapSet.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/mergeData.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/mergeDefaults.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/metaMap.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/pickByArray.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/pickByCallback.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/reEscape.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/reEvaluate.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/reInterpolate.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/realNames.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/reorder.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/replaceHolders.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/setData.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/shimKeys.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/sortedUniq.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/toIterable.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/toObject.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/toPath.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/trimmedLeftIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/trimmedRightIndex.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/unescapeHtmlChar.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/internal/wrapperClone.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/clone.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/cloneDeep.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/eq.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/gt.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/gte.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isArguments.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isArray.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isBoolean.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isDate.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isElement.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isEmpty.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isEqual.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isError.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isFinite.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isFunction.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isMatch.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isNaN.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isNative.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isNull.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isNumber.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isObject.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isPlainObject.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isRegExp.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isString.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isTypedArray.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/isUndefined.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/lt.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/lte.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/toArray.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/lang/toPlainObject.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/math.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/math/add.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/math/ceil.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/math/floor.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/math/max.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/math/min.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/math/round.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/math/sum.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/number.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/number/inRange.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/number/random.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/assign.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/create.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/defaults.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/defaultsDeep.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/extend.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/findKey.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/findLastKey.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/forIn.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/forInRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/forOwn.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/forOwnRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/functions.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/get.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/has.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/invert.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/keys.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/keysIn.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/mapKeys.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/mapValues.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/merge.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/methods.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/omit.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/pairs.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/pick.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/result.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/set.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/transform.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/values.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/object/valuesIn.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/camelCase.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/capitalize.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/deburr.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/endsWith.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/escape.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/escapeRegExp.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/kebabCase.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/pad.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/padLeft.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/padRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/parseInt.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/repeat.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/snakeCase.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/startCase.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/startsWith.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/template.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/templateSettings.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/trim.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/trimLeft.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/trimRight.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/trunc.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/unescape.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/string/words.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/support.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/attempt.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/callback.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/constant.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/identity.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/iteratee.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/matches.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/matchesProperty.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/method.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/methodOf.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/mixin.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/noop.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/property.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/propertyOf.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/range.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/times.js delete mode 100644 demo/platforms/android/cordova/node_modules/lodash/utility/uniqueId.js delete mode 100644 demo/platforms/android/cordova/node_modules/minimatch/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/minimatch/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/minimatch/minimatch.js delete mode 100644 demo/platforms/android/cordova/node_modules/minimatch/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/nopt/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/nopt/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/nopt/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/nopt/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/nopt/bin/nopt.js delete mode 100644 demo/platforms/android/cordova/node_modules/nopt/examples/my-program.js delete mode 100644 demo/platforms/android/cordova/node_modules/nopt/lib/nopt.js delete mode 100644 demo/platforms/android/cordova/node_modules/nopt/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/nopt/test/basic.js delete mode 100644 demo/platforms/android/cordova/node_modules/once/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/once/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/once/once.js delete mode 100644 demo/platforms/android/cordova/node_modules/once/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/os-homedir/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/os-homedir/license delete mode 100644 demo/platforms/android/cordova/node_modules/os-homedir/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/os-homedir/readme.md delete mode 100644 demo/platforms/android/cordova/node_modules/os-tmpdir/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/os-tmpdir/license delete mode 100644 demo/platforms/android/cordova/node_modules/os-tmpdir/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/os-tmpdir/readme.md delete mode 100644 demo/platforms/android/cordova/node_modules/osenv/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/osenv/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/osenv/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/osenv/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/osenv/osenv.js delete mode 100644 demo/platforms/android/cordova/node_modules/osenv/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/osenv/test/unix.js delete mode 100644 demo/platforms/android/cordova/node_modules/osenv/test/windows.js delete mode 100644 demo/platforms/android/cordova/node_modules/osenv/x.tap delete mode 100644 demo/platforms/android/cordova/node_modules/path-is-absolute/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/path-is-absolute/license delete mode 100644 demo/platforms/android/cordova/node_modules/path-is-absolute/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/path-is-absolute/readme.md delete mode 100644 demo/platforms/android/cordova/node_modules/plist/.jshintrc delete mode 100644 demo/platforms/android/cordova/node_modules/plist/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/plist/History.md delete mode 100644 demo/platforms/android/cordova/node_modules/plist/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/plist/Makefile delete mode 100644 demo/platforms/android/cordova/node_modules/plist/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/plist/dist/plist-build.js delete mode 100644 demo/platforms/android/cordova/node_modules/plist/dist/plist-parse.js delete mode 100644 demo/platforms/android/cordova/node_modules/plist/dist/plist.js delete mode 100644 demo/platforms/android/cordova/node_modules/plist/examples/browser/index.html delete mode 100644 demo/platforms/android/cordova/node_modules/plist/lib/build.js delete mode 100644 demo/platforms/android/cordova/node_modules/plist/lib/node.js delete mode 100644 demo/platforms/android/cordova/node_modules/plist/lib/parse.js delete mode 100644 demo/platforms/android/cordova/node_modules/plist/lib/plist.js delete mode 100644 demo/platforms/android/cordova/node_modules/plist/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/properties-parser/README.markdown delete mode 100644 demo/platforms/android/cordova/node_modules/properties-parser/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/properties-parser/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/properties-parser/play-ground.js delete mode 100644 demo/platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.class delete mode 100644 demo/platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.java delete mode 100644 demo/platforms/android/cordova/node_modules/properties-parser/test/test-cases-copy.properties delete mode 100644 demo/platforms/android/cordova/node_modules/properties-parser/test/test-cases.properties delete mode 100644 demo/platforms/android/cordova/node_modules/properties-parser/test/test.js delete mode 100644 demo/platforms/android/cordova/node_modules/q/CHANGES.md delete mode 100644 demo/platforms/android/cordova/node_modules/q/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/q/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/q/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/q/q.js delete mode 100644 demo/platforms/android/cordova/node_modules/q/queue.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/AUTHORS delete mode 100644 demo/platforms/android/cordova/node_modules/sax/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/sax/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/big-not-pretty.xml delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/example.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/get-products.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/hello-world.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/not-pretty.xml delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/pretty-print.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/shopping.xml delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/strict.dtd delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/switch-bench.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/test.html delete mode 100644 demo/platforms/android/cordova/node_modules/sax/examples/test.xml delete mode 100644 demo/platforms/android/cordova/node_modules/sax/lib/sax.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/buffer-overrun.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/cdata-chunked.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/cdata-end-split.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/cdata-fake-end.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/cdata-multiple.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/cdata.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/issue-23.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/issue-30.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/issue-35.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/issue-47.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/issue-49.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/parser-position.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/script.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/self-closing-child-strict.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/self-closing-child.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/self-closing-tag.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/stray-ending.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/trailing-non-whitespace.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/unquoted.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/xmlns-issue-41.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/xmlns-rebinding.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/xmlns-strict.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/xmlns-unbound.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix.js delete mode 100644 demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-redefine.js delete mode 100644 demo/platforms/android/cordova/node_modules/semver/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/semver/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/semver/bin/semver delete mode 100644 demo/platforms/android/cordova/node_modules/semver/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/semver/range.bnf delete mode 100644 demo/platforms/android/cordova/node_modules/semver/semver.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/.documentup.json delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/.jshintrc delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/RELEASE.md delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/bin/shjs delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/global.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/make.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/scripts/generate-docs.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/scripts/run-tests.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/shell.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/cat.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/cd.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/chmod.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/common.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/cp.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/dirs.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/echo.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/error.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/exec.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/find.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/grep.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/ln.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/ls.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/mkdir.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/mv.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/popd.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/pushd.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/pwd.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/rm.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/sed.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/tempdir.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/test.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/to.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/toEnd.js delete mode 100644 demo/platforms/android/cordova/node_modules/shelljs/src/which.js delete mode 100644 demo/platforms/android/cordova/node_modules/underscore/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/underscore/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/underscore/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/underscore/underscore-min.js delete mode 100644 demo/platforms/android/cordova/node_modules/underscore/underscore-min.map delete mode 100644 demo/platforms/android/cordova/node_modules/underscore/underscore.js delete mode 100644 demo/platforms/android/cordova/node_modules/unorm/LICENSE.md delete mode 100644 demo/platforms/android/cordova/node_modules/unorm/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/unorm/lib/unorm.js delete mode 100644 demo/platforms/android/cordova/node_modules/unorm/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/util-deprecate/History.md delete mode 100644 demo/platforms/android/cordova/node_modules/util-deprecate/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/util-deprecate/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/util-deprecate/browser.js delete mode 100644 demo/platforms/android/cordova/node_modules/util-deprecate/node.js delete mode 100644 demo/platforms/android/cordova/node_modules/util-deprecate/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/wrappy/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/wrappy/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/wrappy/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/wrappy/wrappy.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/README.md delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLAttribute.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLBuilder.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLCData.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLComment.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDAttList.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDElement.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDEntity.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDNotation.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDeclaration.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDocType.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLElement.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLNode.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLRaw.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLStringifier.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLText.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/lib/index.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmlbuilder/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/.npmignore delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/.travis.yml delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/LICENSE delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/__package__.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/changelog delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/component.json delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/dom-parser.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/dom.js delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/package.json delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/readme.md delete mode 100644 demo/platforms/android/cordova/node_modules/xmldom/sax.js mode change 100644 => 100755 demo/platforms/android/cordova/run mode change 100644 => 100755 demo/platforms/android/cordova/version create mode 100644 demo/platforms/android/proguard-rules.pro delete mode 100644 demo/platforms/android/res/drawable-land-hdpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-land-ldpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-land-mdpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-land-xhdpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-land-xxhdpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-land-xxxhdpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-port-hdpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-port-ldpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-port-mdpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-port-xhdpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-port-xxhdpi/screen.png delete mode 100644 demo/platforms/android/res/drawable-port-xxxhdpi/screen.png delete mode 100644 demo/platforms/android/res/mipmap-hdpi/icon.png delete mode 100644 demo/platforms/android/res/mipmap-ldpi/icon.png delete mode 100644 demo/platforms/android/res/mipmap-mdpi/icon.png delete mode 100644 demo/platforms/android/res/mipmap-xhdpi/icon.png delete mode 100644 demo/platforms/android/res/mipmap-xxhdpi/icon.png delete mode 100644 demo/platforms/android/res/mipmap-xxxhdpi/icon.png delete mode 100644 demo/platforms/android/src/org/apache/cordova/whitelist/WhitelistPlugin.java mode change 100644 => 100755 demo/platforms/ios/.gitignore create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/CDVDebug.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/CDVJSON_private.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/CDVJSON_private.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/CDVPlugin+Private.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVGestureHandler/CDVGestureHandler.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVGestureHandler/CDVGestureHandler.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVHandleOpenURL/CDVHandleOpenURL.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVHandleOpenURL/CDVHandleOpenURL.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVIntentAndNavigationFilter/CDVIntentAndNavigationFilter.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVIntentAndNavigationFilter/CDVIntentAndNavigationFilter.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVLocalStorage/CDVLocalStorage.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVLocalStorage/CDVLocalStorage.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVLogger/CDVLogger.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVLogger/CDVLogger.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVUIWebViewEngine/CDVUIWebViewDelegate.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVUIWebViewEngine/CDVUIWebViewDelegate.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVUIWebViewEngine/CDVUIWebViewEngine.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVUIWebViewEngine/CDVUIWebViewEngine.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVUIWebViewEngine/CDVUIWebViewNavigationDelegate.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVUIWebViewEngine/CDVUIWebViewNavigationDelegate.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDV.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVAppDelegate.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVAppDelegate.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVAvailability.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVAvailabilityDeprecated.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVCommandDelegate.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVCommandDelegateImpl.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVCommandDelegateImpl.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVCommandQueue.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVCommandQueue.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVConfigParser.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVConfigParser.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVInvokedUrlCommand.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVInvokedUrlCommand.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVPlugin+Resources.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVPlugin+Resources.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVPlugin.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVPlugin.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVPluginResult.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVPluginResult.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVScreenOrientationDelegate.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVTimer.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVTimer.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVURLProtocol.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVURLProtocol.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVUserAgentUtil.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVUserAgentUtil.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVViewController.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVViewController.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVWebViewEngineProtocol.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVWhitelist.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/CDVWhitelist.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/NSDictionary+CordovaPreferences.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/NSDictionary+CordovaPreferences.m create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/NSMutableArray+QueueAdditions.h create mode 100755 demo/platforms/ios/CordovaLib/Classes/Public/NSMutableArray+QueueAdditions.m create mode 100755 demo/platforms/ios/CordovaLib/CordovaLib.xcodeproj/project.pbxproj create mode 100755 demo/platforms/ios/CordovaLib/CordovaLib_Prefix.pch create mode 100755 demo/platforms/ios/CordovaLib/VERSION create mode 100755 demo/platforms/ios/CordovaLib/cordova.js mode change 100644 => 100755 demo/platforms/ios/DemoApp.xcworkspace/contents.xcworkspacedata mode change 100644 => 100755 demo/platforms/ios/DemoApp.xcworkspace/xcshareddata/xcschemes/DemoApp.xcscheme mode change 100644 => 100755 demo/platforms/ios/DemoApp/.gitignore mode change 100644 => 100755 demo/platforms/ios/DemoApp/Bridging-Header.h mode change 100644 => 100755 demo/platforms/ios/DemoApp/CDVLaunchScreen.storyboard mode change 100644 => 100755 demo/platforms/ios/DemoApp/Classes/AppDelegate.h mode change 100644 => 100755 demo/platforms/ios/DemoApp/Classes/AppDelegate.m mode change 100644 => 100755 demo/platforms/ios/DemoApp/Classes/MainViewController.h mode change 100644 => 100755 demo/platforms/ios/DemoApp/Classes/MainViewController.m mode change 100644 => 100755 demo/platforms/ios/DemoApp/Classes/MainViewController.xib mode change 100644 => 100755 demo/platforms/ios/DemoApp/DemoApp-Info.plist mode change 100644 => 100755 demo/platforms/ios/DemoApp/DemoApp-Prefix.pch mode change 100644 => 100755 demo/platforms/ios/DemoApp/Entitlements-Debug.plist mode change 100644 => 100755 demo/platforms/ios/DemoApp/Entitlements-Release.plist mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/Contents.json mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-1024.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-20.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-20@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-20@3x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-24@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-27.5@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-29.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-29@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-29@3x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-40.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-40@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-44@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-50.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-50@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-60@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-60@3x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-72.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-72@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-76.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-76@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-83.5@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-86@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon-98@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/AppIcon.appiconset/icon@2x.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/Contents.json mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Contents.json mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-2436h.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-568h@2x~iphone.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-667h.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-736h.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-Landscape-2436h.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-Landscape-736h.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-Landscape@2x~ipad.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-Landscape~ipad.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-Portrait@2x~ipad.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default-Portrait~ipad.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default@2x~iphone.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchImage.launchimage/Default~iphone.png mode change 100644 => 100755 demo/platforms/ios/DemoApp/Images.xcassets/LaunchStoryboard.imageset/Contents.json mode change 100644 => 100755 demo/platforms/ios/DemoApp/Plugins/README mode change 100644 => 100755 demo/platforms/ios/DemoApp/Plugins/cordova-plugin-jumio-mobilesdk/JumioMobileSDK.h mode change 100644 => 100755 demo/platforms/ios/DemoApp/Plugins/cordova-plugin-jumio-mobilesdk/JumioMobileSDK.m mode change 100644 => 100755 demo/platforms/ios/DemoApp/main.m mode change 100644 => 100755 demo/platforms/ios/Podfile create mode 100755 demo/platforms/ios/cordova/Api.js create mode 100755 demo/platforms/ios/cordova/apple_ios_version create mode 100755 demo/platforms/ios/cordova/apple_osx_version create mode 100755 demo/platforms/ios/cordova/apple_xcode_version create mode 100755 demo/platforms/ios/cordova/build-debug.xcconfig create mode 100755 demo/platforms/ios/cordova/build-extras.xcconfig create mode 100755 demo/platforms/ios/cordova/build-release.xcconfig create mode 100755 demo/platforms/ios/cordova/build.bat create mode 100755 demo/platforms/ios/cordova/build.xcconfig rename demo/platforms/{android/cordova/node_modules/cordova-common/src/util/addProperty.js => ios/cordova/check_reqs} (65%) mode change 100644 => 100755 create mode 100755 demo/platforms/ios/cordova/check_reqs.bat create mode 100755 demo/platforms/ios/cordova/clean create mode 100755 demo/platforms/ios/cordova/clean.bat create mode 100755 demo/platforms/ios/cordova/defaults.xml create mode 100755 demo/platforms/ios/cordova/lib/BridgingHeader.js create mode 100755 demo/platforms/ios/cordova/lib/Podfile.js create mode 100755 demo/platforms/ios/cordova/lib/PodsJson.js create mode 100755 demo/platforms/ios/cordova/lib/build.js create mode 100755 demo/platforms/ios/cordova/lib/check_reqs.js create mode 100755 demo/platforms/ios/cordova/lib/clean.js create mode 100755 demo/platforms/ios/cordova/lib/list-devices create mode 100755 demo/platforms/ios/cordova/lib/list-emulator-build-targets create mode 100755 demo/platforms/ios/cordova/lib/list-emulator-images create mode 100755 demo/platforms/ios/cordova/lib/list-started-emulators create mode 100755 demo/platforms/ios/cordova/lib/plugman/pluginHandlers.js create mode 100755 demo/platforms/ios/cordova/lib/prepare.js create mode 100755 demo/platforms/ios/cordova/lib/projectFile.js create mode 100755 demo/platforms/ios/cordova/lib/run.js create mode 100755 demo/platforms/ios/cordova/lib/spawn.js create mode 100755 demo/platforms/ios/cordova/lib/start-emulator create mode 100755 demo/platforms/ios/cordova/lib/versions.js create mode 100755 demo/platforms/ios/cordova/log create mode 100755 demo/platforms/ios/cordova/log.bat create mode 100755 demo/platforms/ios/cordova/loggingHelper.js create mode 100755 demo/platforms/ios/cordova/run create mode 100755 demo/platforms/ios/cordova/run.bat create mode 100755 demo/platforms/ios/cordova/version create mode 100755 demo/platforms/ios/cordova/version.bat delete mode 100644 demo/platforms/ios/exportOptions.plist mode change 100644 => 100755 demo/platforms/ios/ios.json mode change 100644 => 100755 demo/platforms/ios/platform_www/cordova-js-src/exec.js mode change 100644 => 100755 demo/platforms/ios/platform_www/cordova-js-src/platform.js mode change 100644 => 100755 demo/platforms/ios/platform_www/cordova-js-src/plugin/ios/console.js mode change 100644 => 100755 demo/platforms/ios/platform_www/cordova-js-src/plugin/ios/logger.js mode change 100644 => 100755 demo/platforms/ios/platform_www/cordova.js mode change 100644 => 100755 demo/platforms/ios/platform_www/cordova_plugins.js mode change 100644 => 100755 demo/platforms/ios/pods-debug.xcconfig mode change 100644 => 100755 demo/platforms/ios/pods-release.xcconfig mode change 100644 => 100755 demo/platforms/ios/pods.json mode change 100644 => 100755 demo/platforms/ios/www/cordova-js-src/exec.js mode change 100644 => 100755 demo/platforms/ios/www/cordova-js-src/platform.js mode change 100644 => 100755 demo/platforms/ios/www/cordova-js-src/plugin/ios/console.js mode change 100644 => 100755 demo/platforms/ios/www/cordova-js-src/plugin/ios/logger.js mode change 100644 => 100755 demo/platforms/ios/www/cordova.js mode change 100644 => 100755 demo/platforms/ios/www/cordova_plugins.js mode change 100644 => 100755 demo/platforms/ios/www/css/index.css mode change 100644 => 100755 demo/platforms/ios/www/index.html mode change 100644 => 100755 demo/platforms/ios/www/js/index.js mode change 100644 => 100755 demo/platforms/platforms.json create mode 100644 demo/plugins/android.json create mode 100755 demo/plugins/fetch.json create mode 100755 demo/plugins/ios.json create mode 100755 demo/typings/cordova-typings.d.ts mode change 100644 => 100755 demo/www/css/index.css mode change 100644 => 100755 demo/www/img/logo.png mode change 100644 => 100755 demo/www/index.html mode change 100644 => 100755 demo/www/js/index.js mode change 100644 => 100755 package.json mode change 100644 => 100755 plugin.xml mode change 100644 => 100755 src/android/JumioMobileSDK.java mode change 100644 => 100755 src/ios/JumioMobileSDK.h mode change 100644 => 100755 src/ios/JumioMobileSDK.m mode change 100644 => 100755 www/JumioMobileSDK.js diff --git a/.gitignore b/.gitignore index 9662255..d743319 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ demo/platforms/ios/Pods demo/platforms/ios/Podfile.lock demo/platforms/ios/CordovaLib/CordovaLib.xcodeproj/xcuserdata demo/package-lock.json +demo/node_modules # Log Files *.log @@ -17,7 +18,7 @@ demo/package-lock.json # Android Studio captures folder captures/ -# Intellij +# Intellij & etc *.iml .idea/workspace.xml .idea/tasks.xml @@ -25,3 +26,4 @@ captures/ .idea/dictionaries .idea/libraries *.iml +.vscode/ \ No newline at end of file diff --git a/README.md b/README.md old mode 100644 new mode 100755 index dc86b8b..8f8a7c5 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Official Jumio Mobile SDK plugin for Apache Cordova -This plugin is compatible with version 3.1.0 of the Jumio SDK. This is the final update to the Cordova plugin — future SDK compatibility can not be guaranteed. If you have questions, please reach out to your Account Manager or contact Jumio Support at support@jumio.com or https://support.jumio.com +This plugin is compatible with version 3.3.1 of the Jumio SDK. If you have questions, please reach out to your Account Manager or contact Jumio Support at support@jumio.com or https://support.jumio.com ## Compatibility With this release, we only ensure compatibility with the latest Cordova versions and plugins. @@ -19,14 +19,14 @@ cordova create MyProject com.my.project "MyProject" cd MyProject cordova platform add ios cordova platform add android -cordova plugin add https://github.com/Jumio/mobile-cordova.git#v3.1.0 +cordova plugin add https://github.com/Jumio/mobile-cordova.git#v3.3.1 ``` ## Integration ### iOS -Manual integration or dependency management via cocoapods possible, please see [the official documentation of the Jumio Mobile SDK for iOS](https://github.com/Jumio/mobile-sdk-ios/tree/v3.1.0#basic-setup) +Manual integration or dependency management via cocoapods possible, please see [the official documentation of the Jumio Mobile SDK for iOS](https://github.com/Jumio/mobile-sdk-ios/tree/v3.3.1#basic-setup) ### Android @@ -43,17 +43,17 @@ Add a parameter for your SDK_VERSION into the ext-section: ``` ext { - SDK_VERSION = "3.1.0" + SDK_VERSION = "3.3.1" } ``` -Add required permissions for the products as described in chapter [Permissions](https://github.com/Jumio/mobile-sdk-android/blob/v3.1.0/README.md#permissions) +Add required permissions for the products as described in chapter [Permissions](https://github.com/Jumio/mobile-sdk-android/blob/v3.3.1/README.md#permissions) Open the android project of your cordova project located in */platforms/android* and insert the dependencies from the products you require to your **build.gradle** file. (Module: android) -* [Netverify & Fastfill](https://github.com/Jumio/mobile-sdk-android/blob/v3.1.0/docs/integration_netverify-fastfill.md#dependencies) -* [Document Verification](https://github.com/Jumio/mobile-sdk-android/blob/v3.1.0/docs/integration_document-verification.md#dependencies) -* [BAM Checkout](https://github.com/Jumio/mobile-sdk-android/blob/v3.1.0/docs/integration_bam-checkout.md#dependencies) +* [Netverify & Fastfill](https://github.com/Jumio/mobile-sdk-android/blob/v3.3.1/docs/integration_netverify-fastfill.md#dependencies) +* [Document Verification](https://github.com/Jumio/mobile-sdk-android/blob/v3.3.1/docs/integration_document-verification.md#dependencies) +* [BAM Checkout](https://github.com/Jumio/mobile-sdk-android/blob/v3.3.1/docs/integration_bam-checkout.md#dependencies) Due to the outdated Cordova platform that is not yet updated for Android API version 28 and AndroidX, it's necessary to adapt your project to support the proper build environment for the native Jumio Android component. Take a look at the [Demo App build.gradle](https://github.com/Jumio/mobile-cordova/blob/master/demo/platforms/android/build.gradle) how to upgrade to API level 28. The [FAQ section](#faq) at the bottom covers common build issues and how to fix them. Open your Cordova Android project in Android Studio to get IDE auto-suggestions and support for all the required changes. @@ -88,6 +88,8 @@ Configure the SDK with the *configuration*-Object. | cameraPosition | String | Which camera is used by default. Can be **FRONT** or **BACK**. | | preselectedDocumentVariant | String | Which types of document variants are available. Can be **PAPER** or **PLASTIC** | | documentTypes | String-Array | An array of accepted document types: Available document types: **PASSPORT**, **DRIVER_LICENSE**, **IDENTITY_CARD**, **VISA** | +| enableWatchlistScreening | String | Enables [Jumio Screening](https://www.jumio.com/screening/). Can be **ENABLED**, **DISABLED** or **DEFAULT** (when not specified reverts to **DEFAULT**) | +| watchlistSearchProfile | String | Specifies specific profile of watchlist | Initialization example with configuration. @@ -98,7 +100,9 @@ Jumio.initNetverify("API_TOKEN", "API_SECRET", "US", { userReference: "USERREFERENCE", preselectedCountry: "USA", cameraPosition: "BACK", - documentTypes: ["DRIVER_LICENSE", "PASSPORT", "IDENTITY_CARD", "VISA"] + documentTypes: ["DRIVER_LICENSE", "PASSPORT", "IDENTITY_CARD", "VISA"], + enableWatchlistScreening: "ENABLED", + watchlistSearchProfile: "YOURPROFILENAME" }); ``` @@ -110,7 +114,7 @@ If you are using eMRTD scanning, following lines are needed in your Manifest fil -keep class net.sf.scuba.smartcards.IsoDepCardService {*;} -keep class org.jmrtd.** { *; } -keep class net.sf.scuba.** {*;} --keep class org.spongycastle.** {*;} +-keep class org.bouncycastle.** {*;} -keep class org.ejbca.** {*;} -dontwarn java.nio.** @@ -161,10 +165,13 @@ Datacenter can either be **US** or **EU**. Configure the SDK with the *configuration*-Object. **(configuration marked with * are mandatory)** +In order to connect the Authentication transaction to a specific Netverify user identity the parameter `enrollmentTransactionReference` must be set. In case an Authentication transaction has been created via the facemap server to server API `authenticationTransactionReference` should be used. Therefore `enrollmentTransactionReference` should not be set. + | Configuration | Datatype | Description | | ------ | -------- | ----------- | | **enrollmentTransactionReference*** | String | The reference of the enrollment scan to authenticate for | -| userReference | String | Set a customer identifier (max. 100 characters) | +| **authenticationTransactionReference*** | String | The reference of the authentication scan to authenticate for | +| **userReference*** | String | Set a customer identifier (max. 100 characters) | | callbackUrl | String | Specify an URL for callback | Initialization example with configuration: @@ -173,7 +180,8 @@ Initialization example with configuration: // Authentication Jumio.initAuthentication(, , , { enrollmentTransactionReference: "EnrollmentTransactionReference", - userReference: "UserReference", + //authenticationTransactionReference: "AuthenticationTransactionReference", + userReference: "UserReference" callbackUrl: "URL" }); } @@ -332,13 +340,13 @@ Jumio.startBAM(function(cardInformation) { ### Android #### Netverify -The Netverify SDK can be customized to the respective needs by following this [customization chapter](https://github.com/Jumio/mobile-sdk-android/blob/v3.1.0/docs/integration_netverify-fastfill.md#customization). +The Netverify SDK can be customized to the respective needs by following this [customization chapter](https://github.com/Jumio/mobile-sdk-android/blob/v3.3.1/docs/integration_netverify-fastfill.md#customization). #### BAM Checkout -The Netverify SDK can be customized to the respective needs by following this [customization chapter](https://github.com/Jumio/mobile-sdk-android/blob/v3.1.0/docs/integration_bam-checkout.md#customization). +The Netverify SDK can be customized to the respective needs by following this [customization chapter](https://github.com/Jumio/mobile-sdk-android/blob/v3.3.1/docs/integration_bam-checkout.md#customization). #### Document Verification -The Netverify SDK can be customized to the respective needs by following this [customization chapter](https://github.com/Jumio/mobile-sdk-android/blob/v3.1.0/docs/integration_document-verification.md#customization). +The Netverify SDK can be customized to the respective needs by following this [customization chapter](https://github.com/Jumio/mobile-sdk-android/blob/v3.3.1/docs/integration_document-verification.md#customization). ### iOS The SDK can be customized to the respective needs. You can pass the following customization options to the initializer: @@ -376,7 +384,7 @@ The SDK can be customized to the respective needs. You can pass the following cu All colors are provided with a HEX string with the following format: #ff00ff. **Customization example** -```javascript +``` Jumio.initNetverify("API_TOKEN", "API_SECRET", "US", { requireVerification: false, ... diff --git a/demo/README.md b/demo/README.md old mode 100644 new mode 100755 diff --git a/demo/config.xml b/demo/config.xml old mode 100644 new mode 100755 index 52b0f13..35071cb --- a/demo/config.xml +++ b/demo/config.xml @@ -1,5 +1,5 @@ - + DemoApp A sample Apache Cordova application that responds to the deviceready event. @@ -23,7 +23,7 @@ - + diff --git a/demo/gradle/wrapper/gradle-wrapper.jar b/demo/gradle/wrapper/gradle-wrapper.jar old mode 100644 new mode 100755 diff --git a/demo/gradle/wrapper/gradle-wrapper.properties b/demo/gradle/wrapper/gradle-wrapper.properties old mode 100644 new mode 100755 index eeb6716..42cb42b --- a/demo/gradle/wrapper/gradle-wrapper.properties +++ b/demo/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.1-all.zip diff --git a/demo/hooks/README.md b/demo/hooks/README.md old mode 100644 new mode 100755 diff --git a/demo/jsconfig.json b/demo/jsconfig.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/demo/jsconfig.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/demo/package.json b/demo/package.json old mode 100644 new mode 100755 index a8adeaa..5e616af --- a/demo/package.json +++ b/demo/package.json @@ -1,7 +1,7 @@ { "name": "com.jumio.cordova.demo", "displayName": "DemoApp", - "version": "3.1.0", + "version": "3.3.1", "description": "A sample Apache Cordova application that responds to the deviceready event.", "main": "index.js", "scripts": { @@ -10,20 +10,18 @@ "author": "Apache Cordova Team", "license": "Apache-2.0", "dependencies": { - "cordova-android": "8.0.0", + "cordova-android": "^8.0.0", "cordova-ios": "^5.0.1", - "cordova-plugin-jumio-mobilesdk": "git+https://github.com/Jumio/mobile-cordova.git#v3.1.0", + "cordova-plugin-jumio-mobilesdk": "git+https://github.com/Jumio/mobile-cordova.git#v3.3.1", "cordova-plugin-whitelist": "^1.3.3" }, "cordova": { "plugins": { - "cordova-plugin-whitelist": {}, "cordova-plugin-jumio-mobilesdk": { "CAMERA_USAGE_DESCRIPTION": "This will allow ${PRODUCT_NAME} to take photos of your credentials." } }, "platforms": [ - "android", "ios" ] } diff --git a/demo/platforms/.gitignore b/demo/platforms/.gitignore old mode 100644 new mode 100755 diff --git a/demo/platforms/android/.gitignore b/demo/platforms/android/.gitignore index 4695f3e..427a160 100644 --- a/demo/platforms/android/.gitignore +++ b/demo/platforms/android/.gitignore @@ -10,6 +10,12 @@ ant-gen # Eclipse builds gen out -# Gradle builds +# Gradle build artifacts +.gradle +.gradletasknamecache /build -/.idea +/CordovaLib/build +/app/build +gradle-app.setting +# Android Studio +.idea diff --git a/demo/platforms/android/CordovaLib/AndroidManifest.xml b/demo/platforms/android/CordovaLib/AndroidManifest.xml old mode 100644 new mode 100755 index 320c253..bd20302 --- a/demo/platforms/android/CordovaLib/AndroidManifest.xml +++ b/demo/platforms/android/CordovaLib/AndroidManifest.xml @@ -18,5 +18,4 @@ under the License. --> - + package="org.apache.cordova" android:versionName="1.0" android:versionCode="1"> diff --git a/demo/platforms/android/CordovaLib/build.gradle b/demo/platforms/android/CordovaLib/build.gradle index 727981f..fd1893c 100644 --- a/demo/platforms/android/CordovaLib/build.gradle +++ b/demo/platforms/android/CordovaLib/build.gradle @@ -24,17 +24,16 @@ ext { buildscript { repositories { - google() + google() jcenter() - maven { - url "https://maven.google.com" - } - } + } dependencies { - classpath 'com.android.tools.build:gradle:3.4.0' + // The gradle plugin and the maven plugin have to be updated after each version of Android + // studio comes out + classpath 'com.android.tools.build:gradle:3.5.0' classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' } } @@ -46,19 +45,8 @@ group = 'org.apache.cordova' version = '8.0.0' android { - compileSdkVersion 28 - buildToolsVersion "28.0.3" - publishNonDefault true - - lintOptions { - abortOnError false - } - - defaultConfig { - // Enabling multidex support. - minSdkVersion 19 - multiDexEnabled true - } + compileSdkVersion cdvCompileSdkVersion + buildToolsVersion cdvBuildToolsVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -83,6 +71,9 @@ android { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/NOTICE' } + defaultConfig { + minSdkVersion 19 + } } install { @@ -105,9 +96,9 @@ install { } } scm { - connection 'https://git-wip-us.apache.org/repos/asf?p=cordova-android.git' - developerConnection 'https://git-wip-us.apache.org/repos/asf?p=cordova-android.git' - url 'https://git-wip-us.apache.org/repos/asf?p=cordova-android' + connection 'scm:git:https://github.com/apache/cordova-android.git' + developerConnection 'scm:git:git@github.com:apache/cordova-android.git' + url 'https://github.com/apache/cordova-android' } } @@ -133,9 +124,9 @@ bintray { name = 'cordova-android' userOrg = 'cordova' licenses = ['Apache-2.0'] - vcsUrl = 'https://git-wip-us.apache.org/repos/asf?p=cordova-android.git' + vcsUrl = 'https://github.com/apache/cordova-android' websiteUrl = 'https://cordova.apache.org' - issueTrackerUrl = 'https://issues.apache.org/jira/browse/CB' + issueTrackerUrl = 'https://github.com/apache/cordova-android/issues' publicDownloadNumbers = true licenses = ['Apache-2.0'] labels = ['android', 'cordova', 'phonegap'] diff --git a/demo/platforms/android/CordovaLib/cordova.gradle b/demo/platforms/android/CordovaLib/cordova.gradle index 21a01bb..6c6819a 100644 --- a/demo/platforms/android/CordovaLib/cordova.gradle +++ b/demo/platforms/android/CordovaLib/cordova.gradle @@ -29,7 +29,11 @@ String doEnsureValueExists(filePath, props, key) { String doGetProjectTarget() { def props = new Properties() - file('project.properties').withReader { reader -> + def propertiesFile = 'project.properties'; + if(!(file(propertiesFile).exists())) { + propertiesFile = '../project.properties'; + } + file(propertiesFile).withReader { reader -> props.load(reader) } return doEnsureValueExists('project.properties', props, 'target') @@ -161,7 +165,7 @@ def doPromptForPassword(msg) { } def doGetConfigXml() { - def xml = file("res/xml/config.xml").getText() + def xml = file("src/main/res/xml/config.xml").getText() // Disable namespace awareness since Cordova doesn't use them properly return new XmlParser(false, false).parseText(xml) } diff --git a/demo/platforms/android/CordovaLib/project.properties b/demo/platforms/android/CordovaLib/project.properties index c48b00b..cbb644c 100644 --- a/demo/platforms/android/CordovaLib/project.properties +++ b/demo/platforms/android/CordovaLib/project.properties @@ -1,16 +1,11 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system use, -# "ant.properties", and override values to adapt the script to your -# project structure. +# This file was originally created by the Android Tools, but is now +# used by cordova-android to manage the project configuration. # Indicates whether an apk should be generated for each density. split.density=false + # Project target. -target=android-26 +target=android-28 apk-configurations= renderscript.opt.level=O0 android.library=true diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java old mode 100644 new mode 100755 index 85eeb53..dbbb48f --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java @@ -123,7 +123,7 @@ public void onCreate(Bundle savedInstanceState) { if (preferences.getBoolean("Fullscreen", false)) { // NOTE: use the FullscreenNotImmersive configuration key to set the activity in a REAL full screen // (as was the case in previous cordova versions) - if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) && !preferences.getBoolean("FullscreenNotImmersive", false)) { + if (!preferences.getBoolean("FullscreenNotImmersive", false)) { immersiveMode = true; } else { getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, @@ -319,6 +319,7 @@ public void onDestroy() { /** * Called when view focus is changed */ + @SuppressLint("InlinedApi") @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java index 9459a11..28c407f 100644 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java @@ -18,6 +18,8 @@ Licensed to the Apache Software Foundation (ASF) under one */ package org.apache.cordova; +import android.annotation.SuppressLint; + import java.security.SecureRandom; import org.json.JSONArray; @@ -110,6 +112,9 @@ public boolean isSecretEstablished() { } /** Called by cordova.js to initialize the bridge. */ + //On old Androids SecureRandom isn't really secure, this is the least of your problems if + //you're running Android 4.3 and below in 2017 + @SuppressLint("TrulyRandom") int generateBridgeSecret() { SecureRandom randGen = new SecureRandom(); expectedBridgeSecret = randGen.nextInt(Integer.MAX_VALUE); diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java index 5dd0eca..ccda027 100644 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java @@ -22,10 +22,12 @@ Licensed to the Apache Software Foundation (ASF) under one import java.security.PrivateKey; import java.security.cert.X509Certificate; +import android.annotation.SuppressLint; import android.webkit.ClientCertRequest; /** * Implementation of the ICordovaClientCertRequest for Android WebView. + * */ public class CordovaClientCertRequest implements ICordovaClientCertRequest { @@ -38,6 +40,7 @@ public CordovaClientCertRequest(ClientCertRequest request) { /** * Cancel this request */ + @SuppressLint("NewApi") public void cancel() { request.cancel(); @@ -46,6 +49,7 @@ public void cancel() /* * Returns the host name of the server requesting the certificate. */ + @SuppressLint("NewApi") public String getHost() { return request.getHost(); @@ -54,6 +58,7 @@ public String getHost() /* * Returns the acceptable types of asymmetric keys (can be null). */ + @SuppressLint("NewApi") public String[] getKeyTypes() { return request.getKeyTypes(); @@ -62,6 +67,7 @@ public String[] getKeyTypes() /* * Returns the port number of the server requesting the certificate. */ + @SuppressLint("NewApi") public int getPort() { return request.getPort(); @@ -70,6 +76,7 @@ public int getPort() /* * Returns the acceptable certificate issuers for the certificate matching the private key (can be null). */ + @SuppressLint("NewApi") public Principal[] getPrincipals() { return request.getPrincipals(); @@ -78,6 +85,7 @@ public Principal[] getPrincipals() /* * Ignore the request for now. Do not remember user's choice. */ + @SuppressLint("NewApi") public void ignore() { request.ignore(); @@ -89,6 +97,7 @@ public void ignore() * @param privateKey The privateKey * @param chain The certificate chain */ + @SuppressLint("NewApi") public void proceed(PrivateKey privateKey, X509Certificate[] chain) { request.proceed(privateKey, chain); diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java old mode 100644 new mode 100755 index 3b8468f..ff90683 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java @@ -19,6 +19,7 @@ Licensed to the Apache Software Foundation (ASF) under one package org.apache.cordova; import android.app.Activity; +import android.content.Context; import android.content.Intent; import org.apache.cordova.CordovaPlugin; @@ -51,10 +52,18 @@ public interface CordovaInterface { /** * Get the Android activity. * + * If a custom engine lives outside of the Activity's lifecycle the return value may be null. + * * @return the Activity */ public abstract Activity getActivity(); - + + /** + * Get the Android context. + * + * @return the Context + */ + public Context getContext(); /** * Called when a message is sent to plugin. diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java index 71dcb78..9a6e924 100644 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java @@ -19,7 +19,9 @@ Licensed to the Apache Software Foundation (ASF) under one package org.apache.cordova; +import android.annotation.SuppressLint; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Build; @@ -84,6 +86,11 @@ public Activity getActivity() { return activity; } + @Override + public Context getContext() { + return activity; + } + @Override public Object onMessage(String id, Object data) { if ("exit".equals(id)) { @@ -221,6 +228,7 @@ public void requestPermission(CordovaPlugin plugin, int requestCode, String perm requestPermissions(plugin, requestCode, permissions); } + @SuppressLint("NewApi") public void requestPermissions(CordovaPlugin plugin, int requestCode, String [] permissions) { int mappedRequestCode = permissionResultCallbacks.registerCallback(plugin, requestCode); getActivity().requestPermissions(permissions, mappedRequestCode); diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaResourceApi.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaResourceApi.java index e725e25..3c438e2 100644 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaResourceApi.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaResourceApi.java @@ -263,6 +263,7 @@ public OpenForReadResult openForRead(Uri uri, boolean skipThreadCheck) throws IO } catch (FileNotFoundException e) { // Will occur if the file is compressed. inputStream = assetManager.open(assetPath); + length = inputStream.available(); } String mimeType = getMimeTypeFromPath(assetPath); return new OpenForReadResult(uri, inputStream, mimeType, length, assetFd); diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java index 7ab2f91..20aea80 100644 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java @@ -31,7 +31,7 @@ Licensed to the Apache Software Foundation (ASF) under one * are not expected to implement it. */ public interface CordovaWebView { - public static final String CORDOVA_VERSION = "6.4.0"; + public static final String CORDOVA_VERSION = "8.0.0"; void init(CordovaInterface cordova, List pluginEntries, CordovaPreferences preferences); diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewImpl.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewImpl.java index 85a0b5f..1db2e95 100644 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewImpl.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewImpl.java @@ -18,6 +18,7 @@ Licensed to the Apache Software Foundation (ASF) under one */ package org.apache.cordova; +import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -91,6 +92,7 @@ public void init(CordovaInterface cordova) { init(cordova, new ArrayList(), new CordovaPreferences()); } + @SuppressLint("Assert") @Override public void init(CordovaInterface cordova, List pluginEntries, CordovaPreferences preferences) { if (this.cordova != null) { @@ -214,8 +216,10 @@ public void showWebPage(String url, boolean openExternal, boolean clearHistory, // TODO: What about params? // Load new URL loadUrlIntoView(url, true); + return; } else { LOG.w(TAG, "showWebPage: Refusing to load URL into webview since it is not in the whitelist. URL=" + url); + return; } } if (!pluginManager.shouldOpenExternalUrl(url)) { diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CoreAndroid.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CoreAndroid.java old mode 100644 new mode 100755 index e384f8d..3945cdd --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/CoreAndroid.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/CoreAndroid.java @@ -43,6 +43,7 @@ public class CoreAndroid extends CordovaPlugin { private BroadcastReceiver telephonyReceiver; private CallbackContext messageChannel; private PluginResult pendingResume; + private PluginResult pendingPause; private final Object messageChannelLock = new Object(); /** @@ -113,6 +114,10 @@ else if (action.equals("exitApp")) { else if (action.equals("messageChannel")) { synchronized(messageChannelLock) { messageChannel = callbackContext; + if (pendingPause != null) { + sendEventMessage(pendingPause); + pendingPause = null; + } if (pendingResume != null) { sendEventMessage(pendingResume); pendingResume = null; @@ -139,7 +144,7 @@ else if (action.equals("messageChannel")) { public void clearCache() { cordova.getActivity().runOnUiThread(new Runnable() { public void run() { - webView.clearCache(true); + webView.clearCache(); } }); } @@ -321,7 +326,19 @@ private void sendEventMessage(String action) { } catch (JSONException e) { LOG.e(TAG, "Failed to create event message", e); } - sendEventMessage(new PluginResult(PluginResult.Status.OK, obj)); + PluginResult result = new PluginResult(PluginResult.Status.OK, obj); + + if (messageChannel == null) { + LOG.i(TAG, "Request to send event before messageChannel initialised: " + action); + if ("pause".equals(action)) { + pendingPause = result; + } else if ("resume".equals(action)) { + // When starting normally onPause then onResume is called + pendingPause = null; + } + } else { + sendEventMessage(result); + } } private void sendEventMessage(PluginResult payload) { diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/LOG.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/LOG.java old mode 100644 new mode 100755 diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/NativeToJsMessageQueue.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/NativeToJsMessageQueue.java old mode 100644 new mode 100755 index a8f59fa..d17b1c4 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/NativeToJsMessageQueue.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/NativeToJsMessageQueue.java @@ -511,6 +511,9 @@ void buildJsMessage(StringBuilder sb) { .append(pluginResult.getMessage()) .append("')"); break; + case PluginResult.MESSAGE_TYPE_NULL: + sb.append("null"); + break; default: sb.append(pluginResult.getMessage()); } diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/PluginEntry.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/PluginEntry.java old mode 100644 new mode 100755 diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/PluginManager.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/PluginManager.java old mode 100644 new mode 100755 diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java index acf795f..3e5df51 100644 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java @@ -58,7 +58,11 @@ public String getCookie(final String url) { } public void clearCookies() { - cookieManager.removeAllCookie(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + cookieManager.removeAllCookies(null); + } else { + cookieManager.removeAllCookie(); + } } public void flush() { diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemExposedJsApi.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemExposedJsApi.java old mode 100644 new mode 100755 diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java old mode 100644 new mode 100755 index 3ea5e57..72846f0 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java @@ -142,6 +142,7 @@ public void gotResult(boolean success, String value) { * Handle database quota exceeded notification. */ @Override + @SuppressWarnings("deprecation") public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) { @@ -149,21 +150,6 @@ public void onExceededDatabaseQuota(String url, String databaseIdentifier, long quotaUpdater.updateQuota(MAX_QUOTA); } - // console.log in api level 7: http://developer.android.com/guide/developing/debug-tasks.html - // Expect this to not compile in a future Android release! - @SuppressWarnings("deprecation") - @Override - public void onConsoleMessage(String message, int lineNumber, String sourceID) - { - //This is only for Android 2.1 - if(android.os.Build.VERSION.SDK_INT == android.os.Build.VERSION_CODES.ECLAIR_MR1) - { - LOG.d(LOG_TAG, "%s: Line %d : %s", sourceID, lineNumber, message); - super.onConsoleMessage(message, lineNumber, sourceID); - } - } - - @TargetApi(8) @Override public boolean onConsoleMessage(ConsoleMessage consoleMessage) { @@ -195,11 +181,13 @@ public void onGeolocationPermissionsShowPrompt(String origin, Callback callback) // API level 7 is required for this, see if we could lower this using something else @Override + @SuppressWarnings("deprecation") public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) { parentEngine.getCordovaWebView().showCustomView(view, callback); } @Override + @SuppressWarnings("deprecation") public void onHideCustomView() { parentEngine.getCordovaWebView().hideCustomView(); } diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java old mode 100644 new mode 100755 index d176502..616cef1 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java @@ -74,7 +74,8 @@ public SystemWebViewClient(SystemWebViewEngine parentEngine) { * @param url The url to be loaded. * @return true to override, false for default behavior */ - @Override + @Override + @SuppressWarnings("deprecation") public boolean shouldOverrideUrlLoading(WebView view, String url) { return parentEngine.client.onNavigationAttempt(url); } @@ -112,7 +113,7 @@ public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, Str * @param request */ @Override - @TargetApi(21) + @TargetApi(Build.VERSION_CODES.LOLLIPOP) public void onReceivedClientCertRequest (WebView view, ClientCertRequest request) { @@ -186,6 +187,7 @@ public void onPageFinished(WebView view, String url) { * @param failingUrl The url that failed to load. */ @Override + @SuppressWarnings("deprecation") public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { // Ignore error due to stopLoading(). if (!isCurrentlyLoading) { @@ -219,7 +221,6 @@ public void onReceivedError(WebView view, int errorCode, String description, Str * @param handler An SslErrorHandler object that will handle the user's response. * @param error The SSL error object. */ - @TargetApi(8) @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { @@ -316,8 +317,8 @@ public void clearAuthenticationTokens() { this.authenticationTokens.clear(); } - @TargetApi(Build.VERSION_CODES.HONEYCOMB) @Override + @SuppressWarnings("deprecation") public WebResourceResponse shouldInterceptRequest(WebView view, String url) { try { // Check the against the whitelist and lock out access to the WebView directory @@ -349,7 +350,7 @@ public WebResourceResponse shouldInterceptRequest(WebView view, String url) { } private static boolean needsKitKatContentUrlFix(Uri uri) { - return android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT && "content".equals(uri.getScheme()); + return "content".equals(uri.getScheme()); } private static boolean needsSpecialsInAssetUrlFix(Uri uri) { @@ -364,11 +365,6 @@ private static boolean needsSpecialsInAssetUrlFix(Uri uri) { return false; } - switch(android.os.Build.VERSION.SDK_INT){ - case android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH: - case android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1: - return true; - } return false; } } diff --git a/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java b/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java old mode 100644 new mode 100755 index 9ea97bc..1cbd7f8 --- a/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java +++ b/demo/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java @@ -121,9 +121,8 @@ public void runOnUiThread(Runnable r) { SystemWebViewEngine.this.cordova.getActivity().runOnUiThread(r); } })); - if(Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2) - nativeToJsMessageQueue.addBridgeMode(new NativeToJsMessageQueue.EvalBridgeMode(this, cordova)); - bridge = new CordovaBridge(pluginManager, nativeToJsMessageQueue); + nativeToJsMessageQueue.addBridgeMode(new NativeToJsMessageQueue.EvalBridgeMode(this, cordova)); + bridge = new CordovaBridge(pluginManager, nativeToJsMessageQueue); exposeJsInterface(webView, bridge); } @@ -153,26 +152,8 @@ private void initWebViewSettings() { settings.setJavaScriptCanOpenWindowsAutomatically(true); settings.setLayoutAlgorithm(LayoutAlgorithm.NORMAL); - // Set the nav dump for HTC 2.x devices (disabling for ICS, deprecated entirely for Jellybean 4.2) - try { - Method gingerbread_getMethod = WebSettings.class.getMethod("setNavDump", new Class[] { boolean.class }); - - String manufacturer = android.os.Build.MANUFACTURER; - LOG.d(TAG, "CordovaWebView is running on device made by: " + manufacturer); - if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB && - android.os.Build.MANUFACTURER.contains("HTC")) - { - gingerbread_getMethod.invoke(settings, true); - } - } catch (NoSuchMethodException e) { - LOG.d(TAG, "We are on a modern version of Android, we will deprecate HTC 2.3 devices in 2.8"); - } catch (IllegalArgumentException e) { - LOG.d(TAG, "Doing the NavDump failed with bad arguments"); - } catch (IllegalAccessException e) { - LOG.d(TAG, "This should never happen: IllegalAccessException means this isn't Android anymore"); - } catch (InvocationTargetException e) { - LOG.d(TAG, "This should never happen: InvocationTargetException means this isn't Android anymore."); - } + String manufacturer = android.os.Build.MANUFACTURER; + LOG.d(TAG, "CordovaWebView is running on device made by: " + manufacturer); //We don't save any form data in the application settings.setSaveFormData(false); @@ -180,12 +161,9 @@ private void initWebViewSettings() { // Jellybean rightfully tried to lock this down. Too bad they didn't give us a whitelist // while we do this - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) { - settings.setAllowUniversalAccessFromFileURLs(true); - } - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) { - settings.setMediaPlaybackRequiresUserGesture(false); - } + settings.setAllowUniversalAccessFromFileURLs(true); + settings.setMediaPlaybackRequiresUserGesture(false); + // Enable database // We keep this disabled because we use or shim to get around DOM_EXCEPTION_ERROR_16 String databasePath = webView.getContext().getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath(); @@ -195,8 +173,7 @@ private void initWebViewSettings() { //Determine whether we're in debug or release mode, and turn on Debugging! ApplicationInfo appInfo = webView.getContext().getApplicationContext().getApplicationInfo(); - if ((appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0 && - android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) { + if ((appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) { enableRemoteDebugging(); } @@ -244,7 +221,6 @@ public void onReceive(Context context, Intent intent) { // end CB-1405 } - @TargetApi(Build.VERSION_CODES.KITKAT) private void enableRemoteDebugging() { try { WebView.setWebContentsDebuggingEnabled(true); @@ -254,14 +230,9 @@ private void enableRemoteDebugging() { } } + // Yeah, we know. It'd be great if lint was just a little smarter. + @SuppressLint("AddJavascriptInterface") private static void exposeJsInterface(WebView webView, CordovaBridge bridge) { - if ((Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1)) { - LOG.i(TAG, "Disabled addJavascriptInterface() bridge since Android version is old."); - // Bug being that Java Strings do not get converted to JS strings automatically. - // This isn't hard to work-around on the JS side, but it's easier to just - // use the prompt bridge instead. - return; - } SystemExposedJsApi exposedJsApi = new SystemExposedJsApi(bridge); webView.addJavascriptInterface(exposedJsApi, "_cordovaNative"); } @@ -343,12 +314,6 @@ public void destroy() { @Override public void evaluateJavascript(String js, ValueCallback callback) { - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - webView.evaluateJavascript(js, callback); - } - else - { - LOG.d(TAG, "This webview is using the old bridge"); - } + webView.evaluateJavascript(js, callback); } } diff --git a/demo/platforms/android/android.json b/demo/platforms/android/android.json index 7c99d31..81013cd 100644 --- a/demo/platforms/android/android.json +++ b/demo/platforms/android/android.json @@ -41,25 +41,19 @@ { "xml": "", "count": 1 - } - ] - } - }, - "config.xml": { - "parents": { - "/*": [ + }, { - "xml": "", + "xml": "", "count": 1 } ] } }, - "res/xml/config.xml": { + "config.xml": { "parents": { "/*": [ { - "xml": "", + "xml": "", "count": 1 } ] @@ -68,12 +62,6 @@ } }, "installed_plugins": { - "cordova-plugin-whitelist": { - "PACKAGE_NAME": "com.jumio.cordova.demo" - }, - "cordova-plugin-cocoapod-support": { - "PACKAGE_NAME": "com.jumio.cordova.demo" - }, "cordova-plugin-jumio-mobilesdk": { "PACKAGE_NAME": "com.jumio.cordova.demo" } @@ -90,8 +78,6 @@ } ], "plugin_metadata": { - "cordova-plugin-whitelist": "1.3.2", - "cordova-plugin-cocoapod-support": "1.3.0", - "cordova-plugin-jumio-mobilesdk": "3.0.0" + "cordova-plugin-jumio-mobilesdk": "3.3.0" } -} \ No newline at end of file +} diff --git a/demo/platforms/android/app/build.gradle b/demo/platforms/android/app/build.gradle new file mode 100644 index 0000000..6c6f3a3 --- /dev/null +++ b/demo/platforms/android/app/build.gradle @@ -0,0 +1,337 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +apply plugin: 'com.android.application' + +buildscript { + repositories { + mavenCentral() + google() + jcenter() + maven { url 'http://mobile-sdk.jumio.com' } + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.5.0' + } +} + +// Allow plugins to declare Maven dependencies via build-extras.gradle. +allprojects { + repositories { + mavenCentral() + jcenter() + maven { url 'http://mobile-sdk.jumio.com' } + } +} + +task wrapper(type: Wrapper) { + gradleVersion = '5.4.1' +} + +// Configuration properties. Set these via environment variables, build-extras.gradle, or gradle.properties. +// Refer to: http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html +ext { + SDK_VERSION = "3.3.1" + + apply from: '../CordovaLib/cordova.gradle' + + // The value for android.compileSdkVersion. + if (!project.hasProperty('cdvCompileSdkVersion')) { + cdvCompileSdkVersion = null; + } + // The value for android.buildToolsVersion. + if (!project.hasProperty('cdvBuildToolsVersion')) { + cdvBuildToolsVersion = null; + } + // Sets the versionCode to the given value. + if (!project.hasProperty('cdvVersionCode')) { + cdvVersionCode = null + } + // Sets the minSdkVersion to the given value. + if (!project.hasProperty('cdvMinSdkVersion')) { + cdvMinSdkVersion = null + } + // Whether to build architecture-specific APKs. + if (!project.hasProperty('cdvBuildMultipleApks')) { + cdvBuildMultipleApks = null + } + // Whether to append a 0 "abi digit" to versionCode when only a single APK is build + if (!project.hasProperty('cdvVersionCodeForceAbiDigit')) { + cdvVersionCodeForceAbiDigit = null + } + // .properties files to use for release signing. + if (!project.hasProperty('cdvReleaseSigningPropertiesFile')) { + cdvReleaseSigningPropertiesFile = null + } + // .properties files to use for debug signing. + if (!project.hasProperty('cdvDebugSigningPropertiesFile')) { + cdvDebugSigningPropertiesFile = null + } + // Set by build.js script. + if (!project.hasProperty('cdvBuildArch')) { + cdvBuildArch = null + } + + // Plugin gradle extensions can append to this to have code run at the end. + cdvPluginPostBuildExtras = [] +} + +// PLUGIN GRADLE EXTENSIONS START +apply from: "../cordova-plugin-jumio-mobilesdk/demo-plugin.gradle" +// PLUGIN GRADLE EXTENSIONS END + +def hasBuildExtras1 = file('build-extras.gradle').exists() +if (hasBuildExtras1) { + apply from: 'build-extras.gradle' +} + +def hasBuildExtras2 = file('../build-extras.gradle').exists() +if (hasBuildExtras2) { + apply from: '../build-extras.gradle' +} + +// Set property defaults after extension .gradle files. +if (ext.cdvCompileSdkVersion == null) { + ext.cdvCompileSdkVersion = privateHelpers.getProjectTarget() + //ext.cdvCompileSdkVersion = project.ext.defaultCompileSdkVersion +} +if (ext.cdvBuildToolsVersion == null) { + ext.cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools() + //ext.cdvBuildToolsVersion = project.ext.defaultBuildToolsVersion +} +if (ext.cdvDebugSigningPropertiesFile == null && file('../debug-signing.properties').exists()) { + ext.cdvDebugSigningPropertiesFile = '../debug-signing.properties' +} +if (ext.cdvReleaseSigningPropertiesFile == null && file('../release-signing.properties').exists()) { + ext.cdvReleaseSigningPropertiesFile = '../release-signing.properties' +} + +// Cast to appropriate types. +ext.cdvBuildMultipleApks = cdvBuildMultipleApks == null ? false : cdvBuildMultipleApks.toBoolean(); +ext.cdvVersionCodeForceAbiDigit = cdvVersionCodeForceAbiDigit == null ? false : cdvVersionCodeForceAbiDigit.toBoolean(); +ext.cdvMinSdkVersion = cdvMinSdkVersion == null ? defaultMinSdkVersion : Integer.parseInt('' + cdvMinSdkVersion) +ext.cdvVersionCode = cdvVersionCode == null ? null : Integer.parseInt('' + cdvVersionCode) + +def computeBuildTargetName(debugBuild) { + def ret = 'assemble' + if (cdvBuildMultipleApks && cdvBuildArch) { + def arch = cdvBuildArch == 'arm' ? 'armv7' : cdvBuildArch + ret += '' + arch.toUpperCase().charAt(0) + arch.substring(1); + } + return ret + (debugBuild ? 'Debug' : 'Release') +} + +// Make cdvBuild a task that depends on the debug/arch-sepecific task. +task cdvBuildDebug +cdvBuildDebug.dependsOn { + return computeBuildTargetName(true) +} + +task cdvBuildRelease +cdvBuildRelease.dependsOn { + return computeBuildTargetName(false) +} + +task cdvPrintProps { + doLast { + println('cdvCompileSdkVersion=' + cdvCompileSdkVersion) + println('cdvBuildToolsVersion=' + cdvBuildToolsVersion) + println('cdvVersionCode=' + cdvVersionCode) + println('cdvVersionCodeForceAbiDigit=' + cdvVersionCodeForceAbiDigit) + println('cdvMinSdkVersion=' + cdvMinSdkVersion) + println('cdvBuildMultipleApks=' + cdvBuildMultipleApks) + println('cdvReleaseSigningPropertiesFile=' + cdvReleaseSigningPropertiesFile) + println('cdvDebugSigningPropertiesFile=' + cdvDebugSigningPropertiesFile) + println('cdvBuildArch=' + cdvBuildArch) + println('computedVersionCode=' + android.defaultConfig.versionCode) + android.productFlavors.each { flavor -> + println('computed' + flavor.name.capitalize() + 'VersionCode=' + flavor.versionCode) + } + } +} + +android { + defaultConfig { + versionCode cdvVersionCode ?: new BigInteger("" + privateHelpers.extractIntFromManifest("versionCode")) + applicationId privateHelpers.extractStringFromManifest("package") + minSdkVersion 19 + multiDexEnabled true + + if (cdvMinSdkVersion != null) { + minSdkVersion cdvMinSdkVersion + } + } + + lintOptions { + abortOnError false; + } + + compileSdkVersion cdvCompileSdkVersion + buildToolsVersion cdvBuildToolsVersion + + // This code exists for Crosswalk and other Native APIs. + // By default, we multiply the existing version code in the + // Android Manifest by 10 and add a number for each architecture. + // If you are not using Crosswalk or SQLite, you can + // ignore this chunk of code, and your version codes will be respected. + + if (Boolean.valueOf(cdvBuildMultipleApks)) { + flavorDimensions "default" + + productFlavors { + armeabi { + versionCode defaultConfig.versionCode*10 + 1 + ndk { + abiFilters = ["armeabi"] + } + } + armv7 { + versionCode defaultConfig.versionCode*10 + 2 + ndk { + abiFilters = ["armeabi-v7a"] + } + } + arm64 { + versionCode defaultConfig.versionCode*10 + 3 + ndk { + abiFilters = ["arm64-v8a"] + } + } + x86 { + versionCode defaultConfig.versionCode*10 + 4 + ndk { + abiFilters = ["x86"] + } + } + x86_64 { + versionCode defaultConfig.versionCode*10 + 5 + ndk { + abiFilters = ["x86_64"] + } + } + } + } else if (Boolean.valueOf(cdvVersionCodeForceAbiDigit)) { + // This provides compatibility to the default logic for versionCode before cordova-android 5.2.0 + defaultConfig { + versionCode defaultConfig.versionCode*10 + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + if (cdvReleaseSigningPropertiesFile) { + signingConfigs { + release { + // These must be set or Gradle will complain (even if they are overridden). + keyAlias = "" + keyPassword = "__unset" // And these must be set to non-empty in order to have the signing step added to the task graph. + storeFile = null + storePassword = "__unset" + } + } + buildTypes { + release { + signingConfig signingConfigs.release + } + } + addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release) + } + + if (cdvDebugSigningPropertiesFile) { + addSigningProps(cdvDebugSigningPropertiesFile, signingConfigs.debug) + } +} + +/* + * WARNING: Cordova Lib and platform scripts do management inside of this code here, + * if you are adding the dependencies manually, do so outside the comments, otherwise + * the Cordova tools will overwrite them + */ + + +dependencies { + implementation fileTree(dir: 'libs', include: '*.jar') + // SUB-PROJECT DEPENDENCIES START + implementation(project(path: ":CordovaLib")) + // SUB-PROJECT DEPENDENCIES END +} + +def promptForReleaseKeyPassword() { + if (!cdvReleaseSigningPropertiesFile) { + return; + } + if ('__unset'.equals(android.signingConfigs.release.storePassword)) { + android.signingConfigs.release.storePassword = privateHelpers.promptForPassword('Enter key store password: ') + } + if ('__unset'.equals(android.signingConfigs.release.keyPassword)) { + android.signingConfigs.release.keyPassword = privateHelpers.promptForPassword('Enter key password: '); + } +} + +gradle.taskGraph.whenReady { taskGraph -> + taskGraph.getAllTasks().each() { task -> + if(['validateReleaseSigning', 'validateSigningRelease', 'validateSigningArmv7Release', 'validateSigningX76Release'].contains(task.name)) { + promptForReleaseKeyPassword() + } + } +} + +def addSigningProps(propsFilePath, signingConfig) { + def propsFile = file(propsFilePath) + def props = new Properties() + propsFile.withReader { reader -> + props.load(reader) + } + + def storeFile = new File(props.get('key.store') ?: privateHelpers.ensureValueExists(propsFilePath, props, 'storeFile')) + if (!storeFile.isAbsolute()) { + storeFile = RelativePath.parse(true, storeFile.toString()).getFile(propsFile.getParentFile()) + } + if (!storeFile.exists()) { + throw new FileNotFoundException('Keystore file does not exist: ' + storeFile.getAbsolutePath()) + } + signingConfig.keyAlias = props.get('key.alias') ?: privateHelpers.ensureValueExists(propsFilePath, props, 'keyAlias') + signingConfig.keyPassword = props.get('keyPassword', props.get('key.alias.password', signingConfig.keyPassword)) + signingConfig.storeFile = storeFile + signingConfig.storePassword = props.get('storePassword', props.get('key.store.password', signingConfig.storePassword)) + def storeType = props.get('storeType', props.get('key.store.type', '')) + if (!storeType) { + def filename = storeFile.getName().toLowerCase(); + if (filename.endsWith('.p12') || filename.endsWith('.pfx')) { + storeType = 'pkcs12' + } else { + storeType = signingConfig.storeType // "jks" + } + } + signingConfig.storeType = storeType +} + +for (def func : cdvPluginPostBuildExtras) { + func() +} + +// This can be defined within build-extras.gradle as: +// ext.postBuildExtras = { ... code here ... } +if (hasProperty('postBuildExtras')) { + postBuildExtras() +} diff --git a/demo/platforms/android/AndroidManifest.xml b/demo/platforms/android/app/src/main/AndroidManifest.xml similarity index 84% rename from demo/platforms/android/AndroidManifest.xml rename to demo/platforms/android/app/src/main/AndroidManifest.xml index b2c73a6..6c77d69 100644 --- a/demo/platforms/android/AndroidManifest.xml +++ b/demo/platforms/android/app/src/main/AndroidManifest.xml @@ -1,9 +1,7 @@ - + - - - + @@ -15,6 +13,7 @@ + diff --git a/demo/platforms/android/assets/www/cordova-js-src/android/nativeapiprovider.js b/demo/platforms/android/app/src/main/assets/www/cordova-js-src/android/nativeapiprovider.js similarity index 100% rename from demo/platforms/android/assets/www/cordova-js-src/android/nativeapiprovider.js rename to demo/platforms/android/app/src/main/assets/www/cordova-js-src/android/nativeapiprovider.js diff --git a/demo/platforms/android/assets/www/cordova-js-src/android/promptbasednativeapi.js b/demo/platforms/android/app/src/main/assets/www/cordova-js-src/android/promptbasednativeapi.js similarity index 100% rename from demo/platforms/android/assets/www/cordova-js-src/android/promptbasednativeapi.js rename to demo/platforms/android/app/src/main/assets/www/cordova-js-src/android/promptbasednativeapi.js diff --git a/demo/platforms/android/assets/www/cordova-js-src/exec.js b/demo/platforms/android/app/src/main/assets/www/cordova-js-src/exec.js similarity index 95% rename from demo/platforms/android/assets/www/cordova-js-src/exec.js rename to demo/platforms/android/app/src/main/assets/www/cordova-js-src/exec.js index f73d87a..39e8c97 100644 --- a/demo/platforms/android/assets/www/cordova-js-src/exec.js +++ b/demo/platforms/android/app/src/main/assets/www/cordova-js-src/exec.js @@ -109,17 +109,6 @@ function androidExec(success, fail, service, action, args) { } androidExec.init = function() { - //CB-11828 - //This failsafe checks the version of Android and if it's Jellybean, it switches it to - //using the Online Event bridge for communicating from Native to JS - // - //It's ugly, but it's necessary. - var check = navigator.userAgent.toLowerCase().match(/android\s[0-9].[0-9]/); - var version_code = check && check[0].match(/4.[0-3].*/); - if (version_code != null && nativeToJsBridgeMode == nativeToJsModes.EVAL_BRIDGE) { - nativeToJsBridgeMode = nativeToJsModes.ONLINE_EVENT; - } - bridgeSecret = +prompt('', 'gap_init:' + nativeToJsBridgeMode); channel.onNativeReady.fire(); }; diff --git a/demo/platforms/android/assets/www/cordova-js-src/platform.js b/demo/platforms/android/app/src/main/assets/www/cordova-js-src/platform.js similarity index 100% rename from demo/platforms/android/assets/www/cordova-js-src/platform.js rename to demo/platforms/android/app/src/main/assets/www/cordova-js-src/platform.js diff --git a/demo/platforms/android/assets/www/cordova-js-src/plugin/android/app.js b/demo/platforms/android/app/src/main/assets/www/cordova-js-src/plugin/android/app.js similarity index 100% rename from demo/platforms/android/assets/www/cordova-js-src/plugin/android/app.js rename to demo/platforms/android/app/src/main/assets/www/cordova-js-src/plugin/android/app.js diff --git a/demo/platforms/android/assets/www/cordova.js b/demo/platforms/android/app/src/main/assets/www/cordova.js similarity index 86% rename from demo/platforms/android/assets/www/cordova.js rename to demo/platforms/android/app/src/main/assets/www/cordova.js index 487939c..0f2d2e6 100644 --- a/demo/platforms/android/assets/www/cordova.js +++ b/demo/platforms/android/app/src/main/assets/www/cordova.js @@ -1,5 +1,5 @@ // Platform: android -// 4450a4cea50616e080a82e8ede9e3d6a1fe3c3ec +// 882658ab17740dbdece764e68c1f1f1f44fe3f9d /* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -19,12 +19,9 @@ under the License. */ ;(function() { -var PLATFORM_VERSION_BUILD_LABEL = '6.4.0'; +var PLATFORM_VERSION_BUILD_LABEL = '8.0.0'; // file: src/scripts/require.js -/* jshint -W079 */ -/* jshint -W020 */ - var require; var define; @@ -307,6 +304,7 @@ var cordova = { } catch (err) { var msg = 'Error in ' + (isSuccess ? 'Success' : 'Error') + ' callbackId: ' + callbackId + ' : ' + err; console && console.log && console.log(msg); + console && console.log && err.stack && console.log(err.stack); cordova.fireWindowEvent('cordovacallbackerror', { 'message': msg }); throw err; } @@ -326,7 +324,7 @@ module.exports = cordova; }); -// file: /Users/jbowser/cordova/cordova-android/cordova-js-src/android/nativeapiprovider.js +// file: /Users/erisu/git/apache/cordova/cordova-android/cordova-js-src/android/nativeapiprovider.js define("cordova/android/nativeapiprovider", function(require, exports, module) { /** @@ -349,7 +347,7 @@ module.exports = { }); -// file: /Users/jbowser/cordova/cordova-android/cordova-js-src/android/promptbasednativeapi.js +// file: /Users/erisu/git/apache/cordova/cordova-android/cordova-js-src/android/promptbasednativeapi.js define("cordova/android/promptbasednativeapi", function(require, exports, module) { /** @@ -881,7 +879,7 @@ module.exports = channel; }); -// file: /Users/jbowser/cordova/cordova-android/cordova-js-src/exec.js +// file: /Users/erisu/git/apache/cordova/cordova-android/cordova-js-src/exec.js define("cordova/exec", function(require, exports, module) { /** @@ -974,17 +972,6 @@ function androidExec(success, fail, service, action, args) { } androidExec.init = function() { - //CB-11828 - //This failsafe checks the version of Android and if it's Jellybean, it switches it to - //using the Online Event bridge for communicating from Native to JS - // - //It's ugly, but it's necessary. - var check = navigator.userAgent.toLowerCase().match(/android\s[0-9].[0-9]/); - var version_code = check && check[0].match(/4.[0-3].*/); - if (version_code != null && nativeToJsBridgeMode == nativeToJsModes.EVAL_BRIDGE) { - nativeToJsBridgeMode = nativeToJsModes.ONLINE_EVENT; - } - bridgeSecret = +prompt('', 'gap_init:' + nativeToJsBridgeMode); channel.onNativeReady.fire(); }; @@ -1319,130 +1306,6 @@ channel.join(function () { }); -// file: src/common/init_b.js -define("cordova/init_b", function(require, exports, module) { - -var channel = require('cordova/channel'); -var cordova = require('cordova'); -var modulemapper = require('cordova/modulemapper'); -var platform = require('cordova/platform'); -var pluginloader = require('cordova/pluginloader'); -var utils = require('cordova/utils'); - -var platformInitChannelsArray = [channel.onDOMContentLoaded, channel.onNativeReady, channel.onPluginsReady]; - -// setting exec -cordova.exec = require('cordova/exec'); - -function logUnfiredChannels (arr) { - for (var i = 0; i < arr.length; ++i) { - if (arr[i].state !== 2) { - console.log('Channel not fired: ' + arr[i].type); - } - } -} - -window.setTimeout(function () { - if (channel.onDeviceReady.state !== 2) { - console.log('deviceready has not fired after 5 seconds.'); - logUnfiredChannels(platformInitChannelsArray); - logUnfiredChannels(channel.deviceReadyChannelsArray); - } -}, 5000); - -// Replace navigator before any modules are required(), to ensure it happens as soon as possible. -// We replace it so that properties that can't be clobbered can instead be overridden. -function replaceNavigator (origNavigator) { - var CordovaNavigator = function () {}; - CordovaNavigator.prototype = origNavigator; - var newNavigator = new CordovaNavigator(); - // This work-around really only applies to new APIs that are newer than Function.bind. - // Without it, APIs such as getGamepads() break. - if (CordovaNavigator.bind) { - for (var key in origNavigator) { - if (typeof origNavigator[key] === 'function') { - newNavigator[key] = origNavigator[key].bind(origNavigator); - } else { - (function (k) { - utils.defineGetterSetter(newNavigator, key, function () { - return origNavigator[k]; - }); - })(key); - } - } - } - return newNavigator; -} -if (window.navigator) { - window.navigator = replaceNavigator(window.navigator); -} - -if (!window.console) { - window.console = { - log: function () {} - }; -} -if (!window.console.warn) { - window.console.warn = function (msg) { - this.log('warn: ' + msg); - }; -} - -// Register pause, resume and deviceready channels as events on document. -channel.onPause = cordova.addDocumentEventHandler('pause'); -channel.onResume = cordova.addDocumentEventHandler('resume'); -channel.onActivated = cordova.addDocumentEventHandler('activated'); -channel.onDeviceReady = cordova.addStickyDocumentEventHandler('deviceready'); - -// Listen for DOMContentLoaded and notify our channel subscribers. -if (document.readyState === 'complete' || document.readyState === 'interactive') { - channel.onDOMContentLoaded.fire(); -} else { - document.addEventListener('DOMContentLoaded', function () { - channel.onDOMContentLoaded.fire(); - }, false); -} - -// _nativeReady is global variable that the native side can set -// to signify that the native code is ready. It is a global since -// it may be called before any cordova JS is ready. -if (window._nativeReady) { - channel.onNativeReady.fire(); -} - -// Call the platform-specific initialization. -platform.bootstrap && platform.bootstrap(); - -// Wrap in a setTimeout to support the use-case of having plugin JS appended to cordova.js. -// The delay allows the attached modules to be defined before the plugin loader looks for them. -setTimeout(function () { - pluginloader.load(function () { - channel.onPluginsReady.fire(); - }); -}, 0); - -/** - * Create all cordova objects once native side is ready. - */ -channel.join(function () { - modulemapper.mapModules(window); - - platform.initialize && platform.initialize(); - - // Fire event to notify that all objects are created - channel.onCordovaReady.fire(); - - // Fire onDeviceReady event once page has fully loaded, all - // constructors have run and cordova info has been received from native - // side. - channel.join(function () { - require('cordova').fireDocumentEvent('deviceready'); - }, channel.deviceReadyChannelsArray); - -}, platformInitChannelsArray); - -}); - // file: src/common/modulemapper.js define("cordova/modulemapper", function(require, exports, module) { @@ -1543,103 +1406,7 @@ exports.reset(); }); -// file: src/common/modulemapper_b.js -define("cordova/modulemapper_b", function(require, exports, module) { - -var builder = require('cordova/builder'); -var symbolList = []; -var deprecationMap; - -exports.reset = function () { - symbolList = []; - deprecationMap = {}; -}; - -function addEntry (strategy, moduleName, symbolPath, opt_deprecationMessage) { - symbolList.push(strategy, moduleName, symbolPath); - if (opt_deprecationMessage) { - deprecationMap[symbolPath] = opt_deprecationMessage; - } -} - -// Note: Android 2.3 does have Function.bind(). -exports.clobbers = function (moduleName, symbolPath, opt_deprecationMessage) { - addEntry('c', moduleName, symbolPath, opt_deprecationMessage); -}; - -exports.merges = function (moduleName, symbolPath, opt_deprecationMessage) { - addEntry('m', moduleName, symbolPath, opt_deprecationMessage); -}; - -exports.defaults = function (moduleName, symbolPath, opt_deprecationMessage) { - addEntry('d', moduleName, symbolPath, opt_deprecationMessage); -}; - -exports.runs = function (moduleName) { - addEntry('r', moduleName, null); -}; - -function prepareNamespace (symbolPath, context) { - if (!symbolPath) { - return context; - } - var parts = symbolPath.split('.'); - var cur = context; - for (var i = 0, part; part = parts[i]; ++i) { // eslint-disable-line no-cond-assign - cur = cur[part] = cur[part] || {}; - } - return cur; -} - -exports.mapModules = function (context) { - var origSymbols = {}; - context.CDV_origSymbols = origSymbols; - for (var i = 0, len = symbolList.length; i < len; i += 3) { - var strategy = symbolList[i]; - var moduleName = symbolList[i + 1]; - var module = require(moduleName); - // - if (strategy === 'r') { - continue; - } - var symbolPath = symbolList[i + 2]; - var lastDot = symbolPath.lastIndexOf('.'); - var namespace = symbolPath.substr(0, lastDot); - var lastName = symbolPath.substr(lastDot + 1); - - var deprecationMsg = symbolPath in deprecationMap ? 'Access made to deprecated symbol: ' + symbolPath + '. ' + deprecationMsg : null; - var parentObj = prepareNamespace(namespace, context); - var target = parentObj[lastName]; - - if (strategy === 'm' && target) { - builder.recursiveMerge(target, module); - } else if ((strategy === 'd' && !target) || (strategy !== 'd')) { - if (!(symbolPath in origSymbols)) { - origSymbols[symbolPath] = target; - } - builder.assignOrWrapInDeprecateGetter(parentObj, lastName, module, deprecationMsg); - } - } -}; - -exports.getOriginalSymbol = function (context, symbolPath) { - var origSymbols = context.CDV_origSymbols; - if (origSymbols && (symbolPath in origSymbols)) { - return origSymbols[symbolPath]; - } - var parts = symbolPath.split('.'); - var obj = context; - for (var i = 0; i < parts.length; ++i) { - obj = obj && obj[parts[i]]; - } - return obj; -}; - -exports.reset(); - -}); - -// file: /Users/jbowser/cordova/cordova-android/cordova-js-src/platform.js +// file: /Users/erisu/git/apache/cordova/cordova-android/cordova-js-src/platform.js define("cordova/platform", function(require, exports, module) { // The last resume event that was received that had the result of a plugin call. @@ -1749,7 +1516,7 @@ function onMessageFromNative(msg) { }); -// file: /Users/jbowser/cordova/cordova-android/cordova-js-src/plugin/android/app.js +// file: /Users/erisu/git/apache/cordova/cordova-android/cordova-js-src/plugin/android/app.js define("cordova/plugin/android/app", function(require, exports, module) { var exec = require('cordova/exec'); @@ -1952,53 +1719,6 @@ exports.load = function (callback) { }); -// file: src/common/pluginloader_b.js -define("cordova/pluginloader_b", function(require, exports, module) { - -var modulemapper = require('cordova/modulemapper'); - -// Handler for the cordova_plugins.js content. -// See plugman's plugin_loader.js for the details of this object. -function handlePluginsObject (moduleList) { - // if moduleList is not defined or empty, we've nothing to do - if (!moduleList || !moduleList.length) { - return; - } - - // Loop through all the modules and then through their clobbers and merges. - for (var i = 0, module; module = moduleList[i]; i++) { // eslint-disable-line no-cond-assign - if (module.clobbers && module.clobbers.length) { - for (var j = 0; j < module.clobbers.length; j++) { - modulemapper.clobbers(module.id, module.clobbers[j]); - } - } - - if (module.merges && module.merges.length) { - for (var k = 0; k < module.merges.length; k++) { - modulemapper.merges(module.id, module.merges[k]); - } - } - - // Finally, if runs is truthy we want to simply require() the module. - if (module.runs) { - modulemapper.runs(module.id); - } - } -} - -// Loads all plugins' js-modules. Plugin loading is syncronous in browserified bundle -// but the method accepts callback to be compatible with non-browserify flow. -// onDeviceReady is blocked on onPluginsReady. onPluginsReady is fired when there are -// no plugins to load, or they are all done. -exports.load = function (callback) { - var moduleList = require('cordova/plugin_list'); - handlePluginsObject(moduleList); - - callback(); -}; - -}); - // file: src/common/urlutil.js define("cordova/urlutil", function(require, exports, module) { diff --git a/demo/platforms/android/app/src/main/assets/www/cordova_plugins.js b/demo/platforms/android/app/src/main/assets/www/cordova_plugins.js new file mode 100644 index 0000000..4b128c0 --- /dev/null +++ b/demo/platforms/android/app/src/main/assets/www/cordova_plugins.js @@ -0,0 +1,15 @@ +cordova.define('cordova/plugin_list', function(require, exports, module) { + module.exports = [ + { + "id": "cordova-plugin-jumio-mobilesdk.JumioMobileSDK", + "file": "plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js", + "pluginId": "cordova-plugin-jumio-mobilesdk", + "clobbers": [ + "Jumio" + ] + } + ]; + module.exports.metadata = { + "cordova-plugin-jumio-mobilesdk": "3.3.0" + }; +}); \ No newline at end of file diff --git a/demo/platforms/android/assets/www/css/index.css b/demo/platforms/android/app/src/main/assets/www/css/index.css old mode 100644 new mode 100755 similarity index 100% rename from demo/platforms/android/assets/www/css/index.css rename to demo/platforms/android/app/src/main/assets/www/css/index.css diff --git a/demo/platforms/android/assets/www/img/logo.png b/demo/platforms/android/app/src/main/assets/www/img/logo.png old mode 100644 new mode 100755 similarity index 100% rename from demo/platforms/android/assets/www/img/logo.png rename to demo/platforms/android/app/src/main/assets/www/img/logo.png diff --git a/demo/platforms/android/assets/www/index.html b/demo/platforms/android/app/src/main/assets/www/index.html old mode 100644 new mode 100755 similarity index 100% rename from demo/platforms/android/assets/www/index.html rename to demo/platforms/android/app/src/main/assets/www/index.html diff --git a/demo/platforms/android/assets/www/js/index.js b/demo/platforms/android/app/src/main/assets/www/js/index.js old mode 100644 new mode 100755 similarity index 88% rename from demo/platforms/android/assets/www/js/index.js rename to demo/platforms/android/app/src/main/assets/www/js/index.js index 9fda9d9..7f0c84a --- a/demo/platforms/android/assets/www/js/index.js +++ b/demo/platforms/android/app/src/main/assets/www/js/index.js @@ -37,19 +37,21 @@ var app = { startNetverify: function() { // Netverify / Fastfill - Jumio.initNetverify('API_TOKEN', 'API_SECRET', 'DATACENTER', { - requireVerification: true, + Jumio.initNetverify('0ca780fe-527c-4207-b4cc-0b3752965298', 'nAFnEUfTQ92vidchQtO53kETPDo49ECQ', 'EU', { + enableVerification: true, //callbackUrl: "URL", - //requireFaceMatch: true, + //enableIdentityVerification: true, //preselectedCountry: "AUT", - //merchantScanReference: "ScanRef", - //merchantReportingCriteria: "Criteria", - //customerId: "ID", + //customerInternalReference: "CustomerInternalReference", + //reportingCriteria: "ReportingCriteria", + //userReference: "UserReference", //sendDebugInfoToJumio: true, //dataExtractionOnMobileOnly: false, //cameraPosition: "back", //preselectedDocumentVariant: "plastic", //documentTypes: ["PASSPORT", "DRIVER_LICENSE", "IDENTITY_CARD", "VISA"], + //enableWatchlistScreening: ["enabled", "disabled" || "default"], + //watchlistSearchProfile: "YOURPROFILENAME" //offlineToken: "" }, { // Customization iOS only @@ -87,8 +89,9 @@ var app = { // Authentication Jumio.initAuthentication('API_TOKEN', 'API_SECRET', 'DATACENTER', { enrollmentTransactionReference: "EnrollmentTransactionReference", - //userReference: "UserReference", - //callbackUrl: "URL" + //userReference: "UserReference", + //callbackUrl: "URL", + //authenticationTransactionReference: "AuthenticationTransactionReference" }); }, @@ -104,10 +107,10 @@ var app = { // Document Verification Jumio.initDocumentVerification('API_TOKEN', 'API_SECRET', 'DATACENTER', { type: "BS", - customerId: "123456789", + userReference: "123456789", country: "USA", - merchantScanReference: "123456789", - //merchantScanReportingCriteria: "Criteria", + customerInternalReference: "123456789", + //reportingCriteria: "ReportingCriteria", //callbackUrl: "URL", //documentName: "Name", //enableExtraction: true, @@ -134,7 +137,7 @@ var app = { //cvvRequired: false, //expiryEditable: false, //cardHolderNameEditable: false, - //merchantReportingCriteria: "Criteria", + //reportingCriteria: "ReportingCriteria", //vibrationEffectEnabled: true, //enableFlashOnScanStart: false, //cardNumberMaskingEnabled: false, diff --git a/demo/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js b/demo/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js new file mode 100644 index 0000000..82dcad3 --- /dev/null +++ b/demo/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js @@ -0,0 +1,80 @@ +cordova.define("cordova-plugin-jumio-mobilesdk.JumioMobileSDK", function(require, exports, module) { +// var argscheck = require('cordova/argscheck'); +// var channel = require('cordova/channel'); +// var utils = require('cordova/utils'); +var exec = require('cordova/exec'); +// var cordova = require('cordova'); + +// channel.createSticky('onCordovaInfoReady'); +// // Tell cordova channel to wait on the CordovaInfoReady event +// channel.waitForInitialization('onCordovaInfoReady'); + +/** + * This represents the mobile device, and provides properties for inspecting the model, version, UUID of the + * phone, etc. + * @constructor + */ +function Jumio () { + this.initNetverify = function(token, secret, datacenter, options, customization) { + exec(function(success) { console.log("Netverify::init Success: " + success) }, + function(error) { console.log("Netverify::init Error: " + error) }, + "JumioMobileSDK", + "initNetverify", + [token, secret, datacenter, options, customization]); + }; + + this.startNetverify = function(success, error) { + exec(success, error, "JumioMobileSDK", "startNetverify", []); + }; + + this.initAuthentication = function(token, secret, datacenter, options) { + exec(function(success) { console.log("Authentication::init Success: " + success) }, + function(error) { console.log("Authentication::init Error: " + error) }, + "JumioMobileSDK", + "initAuthentication", + [token, secret, datacenter, options]); + }; + + + this.startAuthentication = function(success, error) { + exec(success, error, "JumioMobileSDK", "startAuthentication", []); + }; + + this.initBAM = function(token, secret, datacenter, options, customization) { + exec(function(success) { console.log("BAM::init Success: " + success) }, + function(error) { console.log("BAM::init Error: " + error) }, + "JumioMobileSDK", + "initBAM", + [token, secret, datacenter, options, customization]); + }; + + this.startBAM = function(success, error) { + exec(success, error, "JumioMobileSDK", "startBAM", []); + }; + + this.initDocumentVerification = function(token, secret, datacenter, options, customization) { + exec(function(success) { console.log("DocumentVerification::init Success: " + success) }, + function(error) { console.log("DocumentVerification::init Error: " + error) }, + "JumioMobileSDK", + "initDocumentVerification", + [token, secret, datacenter, options, customization]); + }; + + this.startDocumentVerification = function(success, error) { + exec(success, error, "JumioMobileSDK", "startDocumentVerification", []); + }; +} + +// /** +// * Get device info +// * +// * @param {Function} successCallback The function to call when the heading data is available +// * @param {Function} errorCallback The function to call when there is an error getting the heading data. (OPTIONAL) +// */ +// Device.prototype.getInfo = function (successCallback, errorCallback) { +// argscheck.checkArgs('fF', 'Device.getInfo', arguments); +// exec(successCallback, errorCallback, 'Device', 'getDeviceInfo', []); +// }; + +module.exports = new Jumio(); +}); diff --git a/demo/platforms/android/src/com/jumio/cordova/demo/MainActivity.java b/demo/platforms/android/app/src/main/java/com/jumio/cordova/demo/MainActivity.java similarity index 100% rename from demo/platforms/android/src/com/jumio/cordova/demo/MainActivity.java rename to demo/platforms/android/app/src/main/java/com/jumio/cordova/demo/MainActivity.java diff --git a/demo/platforms/android/src/com/jumio/mobilesdk/JumioMobileSDK.java b/demo/platforms/android/app/src/main/java/com/jumio/mobilesdk/JumioMobileSDK.java old mode 100644 new mode 100755 similarity index 93% rename from demo/platforms/android/src/com/jumio/mobilesdk/JumioMobileSDK.java rename to demo/platforms/android/app/src/main/java/com/jumio/mobilesdk/JumioMobileSDK.java index 62a494e..fd661cc --- a/demo/platforms/android/src/com/jumio/mobilesdk/JumioMobileSDK.java +++ b/demo/platforms/android/app/src/main/java/com/jumio/mobilesdk/JumioMobileSDK.java @@ -15,20 +15,32 @@ import com.jumio.auth.AuthenticationCallback; import com.jumio.auth.AuthenticationResult; import com.jumio.auth.AuthenticationSDK; -import com.jumio.bam.*; +import com.jumio.bam.BamCardInformation; +import com.jumio.bam.BamSDK; import com.jumio.bam.enums.CreditCardType; -import com.jumio.core.enums.*; -import com.jumio.core.exceptions.*; +import com.jumio.core.enums.JumioCameraPosition; +import com.jumio.core.enums.JumioDataCenter; +import com.jumio.core.exceptions.MissingPermissionException; +import com.jumio.core.exceptions.PlatformNotSupportedException; import com.jumio.dv.DocumentVerificationSDK; -import com.jumio.nv.*; -import com.jumio.nv.data.document.*; +import com.jumio.nv.NetverifyDocumentData; +import com.jumio.nv.NetverifySDK; +import com.jumio.nv.data.document.NVDocumentType; +import com.jumio.nv.data.document.NVDocumentVariant; +import com.jumio.nv.enums.NVWatchlistScreening; import com.jumio.sdk.SDKExpiredException; -import org.apache.cordova.*; +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.PluginResult; import org.apache.cordova.PluginResult.Status; -import org.json.*; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; -import java.util.*; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.Locale; public class JumioMobileSDK extends CordovaPlugin { @@ -273,6 +285,19 @@ private void initNetverify(JSONArray data) { netverifySDK.setUserReference(options.getString(key)); } else if (key.equalsIgnoreCase("enableEpassport")) { netverifySDK.setEnableEMRTD(options.getBoolean(key)); + } else if (key.equalsIgnoreCase("enableWatchlistScreening")) { + NVWatchlistScreening watchlistScreeningState; + switch (options.getString(key).toLowerCase()) { + case "enabled": watchlistScreeningState = NVWatchlistScreening.ENABLED; + break; + case "disabled": watchlistScreeningState = NVWatchlistScreening.DISABLED; + break; + default: watchlistScreeningState = NVWatchlistScreening.DEFAULT; + break; + } + netverifySDK.setWatchlistScreening(watchlistScreeningState); + } else if (key.equalsIgnoreCase("watchlistSearchProfile")) { + netverifySDK.setWatchlistSearchProfile(options.getString(key)); } else if (key.equalsIgnoreCase("sendDebugInfoToJumio")) { netverifySDK.sendDebugInfoToJumio(options.getBoolean(key)); } else if (key.equalsIgnoreCase("dataExtractionOnMobileOnly")) { @@ -360,24 +385,33 @@ private void initAuthentication(JSONArray data){ // Configuration options String enrollmentTransactionReference = null; + String authenticationTransactionReference = null; if (!data.isNull(3)){ JSONObject options = data.getJSONObject(3); Iterator keys = options.keys(); while (keys.hasNext()){ String key = keys.next(); - if (key.equalsIgnoreCase("enrollmentTransactionReference")){ - enrollmentTransactionReference = options.getString(key); - } else if (key.equalsIgnoreCase("userReference")){ + if (key.equalsIgnoreCase("userReference")){ authenticationSDK.setUserReference(options.getString(key)); - } else if (key.equalsIgnoreCase("callbackUrl")){ + }else if (key.equalsIgnoreCase("enrollmentTransactionReference")){ + enrollmentTransactionReference = options.getString(key); + }else if (key.equalsIgnoreCase("authenticationTransactionReference")){ + authenticationTransactionReference = options.getString(key); + }else if (key.equalsIgnoreCase("callbackUrl")) { authenticationSDK.setCallbackUrl(options.getString(key)); } } } - if(enrollmentTransactionReference != null){ - authenticationSDK.initiate(enrollmentTransactionReference, new AuthenticationCallback(){ + if (enrollmentTransactionReference != null || authenticationTransactionReference != null){ + if (authenticationTransactionReference != null) { + authenticationSDK.setAuthenticationTransactionReference(authenticationTransactionReference); + } else { + authenticationSDK.setEnrollmentTransactionReference(enrollmentTransactionReference); + } + + authenticationSDK.initiate(new AuthenticationCallback(){ @Override public void onAuthenticationInitiateSuccess(){ initiateSuccessful = true; diff --git a/demo/platforms/android/app/src/main/res/drawable-land-hdpi/screen.png b/demo/platforms/android/app/src/main/res/drawable-land-hdpi/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..2d564f49c90572edb628bb3b81284900ca3b52f5 GIT binary patch literal 64368 zcmV)3K+C_0P)Cc< zsHmu?sHmu@sHmr@si>%_si~={s;a4~s;a7~s;jH3tgNi7tgNlAt*)-FudlDLu&}YQ zv9hwVv9hwWv$M0Zv$V9dv$V9ewY9mqx$5fb?Ck95=;-F==Huhz!otGK%gg)w`}p|y z_V)Jl^z`!b^6>ER?(Xi>)6=)Nx8&vI(~Z zR5(RagNu_`V{O2|z{<+X(b3W5GrP{{Qs<|7wn!WVFR;p|I4{ z(|&$_-QM2f;^E=o;C6O)YH)Q=gOX90szScd($dl0-P~beVcXleQE3F-VR**uQ_0}jvg^!96}G#}r09zl2fC>`TNu*Z4+Lqu`(C3%hy_FXKcMKX40 zW8d%wc=^$5Y<#5O`86}=A745`cP)S3P5<7`H~xBU&N}!LC&t;`{*LB+_c6{R<3r}V zd_k0#9#+gU*Y8CQkG&{FXo2=hme-2f6&1&^IM%7<)hkAqRy4b^J#;~TPZUvC{d|H#>p9P92-C9;C!Ks zV~+J)sn6r8pI8UIzA=8-uXqgSqYzHtE4SmEM$w&%S9{$J=PpYq3-eQJ+U}nhk)Hdq ze%dY?qV{q=_O3awbgMs17WDG8cZPEoK4yC5_H$>XE)F~9)KYmKhx1xi8CzHHW=r4L zc8Uz+1EKRgH_>CmOMz!?McIjG`Ybc@# zPR`}f@CY@00!$85S2@-T=g=7g*-B)2kXP$fsvG%9!JpsI{U*&fY_lF-t^#S&Q$3yh6J`{~n(IfjFRp7z5;z8o(` zBHbv3Q0F|CyR9c>>vl|P`Rsc)Qyuy@O>q@Jkj<#wgGcrG0 zFQ-Q)=|$z%ijq~Y)0r8NgJCr(|B1)8=wZtha#mG4`8K1f*p>ErSN-s^b50ml-Q_;zq|KUc+#0-m{QvA4n25$^a}yrf$xFV@t0>j}m8+KTQHUN{vmq zwNC(YuENeG08AJQB4X+c*2( ztqbmgkBpOpI81=BFo|gSmQ7#JJmWYB^Ct<(&YX77)6`YpWbb>=mSL7`&{fu@q=I--D0{*@AAl&frOYNnv=8f=2AJZ2yaml16evWmw3E zcB1D7zGE;Rh&=0r84dzQ9&tsjh8{DL?Fh?cdgvHB;QI%2WI=&VG>}etOqICup~Tk< zFK}kmL)G4 zG6X=*_{D>YmPvxkDUjPY&h+WrMx)4tmzch0lE-DJlkI$_COimNCYkd*iL#%0bf_?Z zvWbh>e217$-!H@#>DwS@kP%)MQK)4}{df}*pTimrs3UQVFk`=wjv?^yIc;YY{7AGj z&}M{jL;^4pg6SHhije#knn4$|dBtNx$HQ{2{$LAb#2rMR2MtF(tA|N5UB!THyk$O( zETKSAP$Drjb_6W3pyObYm!v6~T<6O0M!y#V+rmjg zBmzwN8Gs_~r0TE}1pt{vwh=~BqaROpJrS0xMPVWwi^AMUmFeT;;lXBE?#9~Lks z;5n@lLGeq>#{l6;&KBR+_r#2D;YTp>@_k66Q|RIjMiU!~%qdjjC)(qza^s24kHRA^ zJ2~nOKky}r0g5BeZYR@ml#m^FO-8=(>BQq+Rtlj6Yh{=fq|Jz%AmZ!R-2 zCN60~5HxXO?-9;{Vnv9&NeWsYA{{GC>pXq{CzlLhnoVous4NKOw7DR07E}4!n!Z8Z zXWMM5BX3D26ApIZ9nv*!yq#5%*0g-1q3)^G)Rdp8VInIwuK*mr<0lCM+F{uoh@PpQ zS0bEQEhpYHp;CZ?5c~*aFt3Qa4q2Z0R>DaS?(zTfF+e8H0$l>Y6(xBmBEUKn@}GHF+K92-g&Ny-uN*q-!G z*;A6o6x^~B-H2N?G+juP>eg;W^>D48nMOKRGFPMNQ+zfe_moWF$cIacMOO>8UmLa{ zYP?%!*tVv69L6|~mV?AL$HTZ>fJ&{^g{v#u9=6~()O`tCg}{U!ezW&2dtYy!@p_5S z2T%s;*WN!I$DtvkCRD+^C=V<5rmHxXCdyma$*?7O^J<%g4M*nqRcNGDGXjK44-ee#+eTjX(qXVhEyo=O z+0<0SHLN?&YoU&}#0lLrbcxqp`lb=C7Ow)#6CJy5%y zxc;n}a0Gd*_^-zJxMIrovxV~k%J2UN?EwcW_ci91$p+!xhkeDLiHErXE;Uc z7eY<8OUEAmmXCto^Y(#`T3LI?GH5$5F+RGpkFNcW-|;*CD+}c7Uw-ZV((vx~KXVA_ zAA9fPpBKoV**tzGoPG7?71x$Ol;u~gyY}^iBDj}`$Db1O_~VKy*2i_y-1(`nzIJCa z_+_E#!@X;1=;;dP{qa+A{=8Z)GWhj9HdB{=UR~GrkN&Yh+UOoEU&Qh-J%4b!M?N9x z&H6K=63`5OeP;9P?$2X!Sxbx{^07$OSEH;WH?FI<^U~JGYi)MR>F(<XiFwvK90_b%?#6~WyF&CK&fS90qP75b>Hzgk?<{B>#Z zb#tyWnRzVGFu_B8F}IS`3J2laEeFY~XT6ctt$`C-A(3}6WZrsh_+9H2I_|o58vsf8dcfvA@U^bR-8hLK zCU!~q+$*B8Vv%gcpoLqe_5LxGYFWe95mgvQd8C7nw0;-(V%+BPCVze4 zkeRs?UGu5`M5jy=8WAS7bP=2q457#-kgH{-&4WeEla)wnv;HN?=zAeZ^1p%y0x4}m z*X|{(E)&V^w6c{Asu#rfWn@bQz?0r2~z=U4APQ)1G3g3Qf52` zekPvQ^=d2vb-#0JBNQl(GqVVm3`iyKYv02Rh>_P{t7rHsU*6Jqiq+8J|1{|Rk zfhOL*DBLh)f|P)kC!vZLea8q=zPNBD36{9lPVRa6@*d;`oK@v!(0-F$M4*KlyMqFM zHZ8Dm-3=*BoRT-z0cc^QSz9ya&@`fEi;qa{FN>Ac>Z`DTAXror|Mnb``w)#PFhu(*kx=@4oT+~60Jl>$CvttU%NP`X@S&nCOq*j5d1-hi+A%%65X zsaji^kXqL;z(NmA7Z4R@9oDXtJ9ucqRGSMbqNADf<+bqX%<|Ets|&(H3vk=2Ha)w4TBg0CEU5CvyPgp1oxAj-wNml=FQ3(e=j`|nA6Ef*OfFZ_7oxRD3p1^bsV8GF zcC+M!Eq&X>0N^*`Dl-&eCiKIjVN65x1a3RJ5l|i=`98VR^a#Ne*zT-BuWII}F|8Lh z$Qz$-Y_T>ETnp2MskuSx+y1BX4tu?>eO;cg4R6P#6jiXbo!#+_}sbRU)0h_ zGd3&!Z6R$Q^!(Xlr?U~SH34^Q3-==!fH3HcK?o&JDF0(x-{p$GErRj#hpHpKD``A_S`MAYgjePWf=|z@B zUM9;Gi+?cMU$=9u)-A@(uIr}#Q>Yugwc18^Gs~UeEIIleE1rK>dVB zPu#wL$+1AYm$lbBBjml;Vv)XFanIFjh_5<-?pyzKrEJmen;?2-Y|(h?GNlsw;ldtt z-|5w%F8SnfQWDUwVsp!1Z7xt1Nn`IB&HU-1uKD)@>ubODslXbc7k*{B+q`y}e{f^=eS-v2Z91=pO6j}zrv802nCE(+nsi>;g`(sPaL)}+i|V>Q zicYNy)8Jg$$4ihaiWX%7H3~|!exI%-Hm9YasekQF$8Z{-f2x#Sl|C&e z<+YDJ(w}ALX-iGm{8UQHT;Hnt=3O3pXS8^^`1N`v9m+y~{qrV#>Gu{UaF$(yxE zYuO>Scax+Jyu~vJyb1NLwy_epo?ma3*Hx}jyH=`W-o~jXZv~p&w`yDQ7?>xFF-~8a;uQB} zuH`LJ@8#!ZY8#=EEJbzGi(joD*JRDR^g)rd`?UUBWEGh=Qgq?mh+dw_nhsit>n-sO3-?QMs$-orLUYchk!aJBVW*@&mxn73+JHcvVuX-~PZNv^5{Gd;G2 z-H%GSj(WIW;i^1w}v1c6o?7J4B-TUt(_KC1nQn#8g&onk#Q=Qm7;|US9aI-AEgI zPkW(CG@ZbGdYu<90kEO4G+oI-!{(V|L?0}KVQ{jVpm<_aA%$FnUAfIu?3Z&Rx7b$% zY+8L!g=7_5Nzf-eiMla|O2Z~Qkjq>~RAttMwchmiqr;P@M_pirttuaiD{yo*rpcaoC?%5 z{BRCBdG5t&n0DSt6G`Tns=5E7nlc3@aGD1J>~f(KAWlgChRb_M6Y0%X&S zQSl7c@vc0nrnl2~95^&JiT?8z$N>*bc+Pajr%6zj(z$db?kA#j$<*T2D0J=IIJ0e{ zKyUmu7l<`^HjQ3^jBMGJUI=^o-NnF*J~z;)q?s;+qFEDRu9=<$>9f)5j7n;LQ0ZdY617=vfT(yi zwZihsjXqB_q^DIVO>$804Ym^2PLe22&enf3D~#?nY)zf2oFZ&e*Jhn~t$pf-v9=|u z_m%Zx-pJUWTWs}GdA2MBvGeMn8TW{S>V7>IRrf30O|M%ncBf6Z`1XiuQnhVHu9mcm zVR(k=_8ej>4Q4lYwhf&-EQtb zZEK=cOXx#`v_SqB#_#xlf925c`2XzH+iu)SuLNM-FOBWI|I6;ol=y!r1dRp+@4-5l z$w*B$&n(KvTZcevt?3fuw~j{K7yCfizcH8z*EUXn-3@oQcVu4g@5uW8_MngGZ-Ara zVd;dA#tOdF*R6Ca#$neYocGpw6}61NPI`TXLA=88{T;2;y*VIUnB51@x=YeP7){?h zCD>>Odh5BYCF~H11(A0h%E~Hm?AFA|oJ)pLAcvzR2ZkP!Sf(E+l-I=P8Ubb0NSE!c>(aByyH-Nger7VfUrVGUF*qqgb*-hz)Yp<=Pin z6h?Y1SWNzfKWbQjpb5^Ln3~LTr+5iZS7cN320(_i07i>I#9uG{m;cDFGqZLN)ef=B zjm{`xVph^5i4{pVMhnzJ=&86Iq8TP8)`!W+%S)jw8SE`WBbvGOKIx$8vF(kt1^iS-QsX3b zn6BVpvuHyEhH=q^` z_ez|f5~b_g)Zl=?N>_c6A(>cB&@%HWMwA++_L`5Os}fFZG$#hGU?q>L50NX`z?S|9 ztj=m%d>r^*5b?!SGPa(GSo?um{?^4)iC$&NL;pEr4HDF9sS+(AMb;5lS7-xOINB0dmxaD?% zYI}Jv2gmo5{1NsWo7@ZXLqGIG-@72^ZOg~Q`EB&b?{5C*Qg*(rbu7QVfn5LnX*~^M zQ@>5etp=Uvxm7)vysRbe9!HPpv{_-#W*=-esnD~rLhakWNSh|BJZNrnafvV_PPgDB zawqL#0l}rT2Z}|s*DN!Wakp?v_4c-#Av(B0Gtcu;Hg%m;v~_?=fuFP*{Jbb_+jZuw z2Nb#C`y`FYW3?ufFoE=7Tz-lm8%q$$Wpx1L9xorKYfg9&?PQK*7b48l`9iT~+tFgEp>mU{H=d3^d%ei9xmq(~oJ zb`vQ0Nw>2idBz;90*6`DGsc&rS%L^tVI01;Cv7`l6`RG&5g?ta3Wnh3oF#m^P45B} zs7%lE3tcc4!C%eSW#Z-ApiPMe75OT~#b7;SN>RDZv|w}kbOtE!n79LG>)|qM7~=#> zfL8<4n+!J}u7^QCxn!TL3@==u^|H^HQhs9Cq$sAx;m23b$@56o(}I`hnM2ecvCE2_ z*CRT?UOc9tnD~XBIu3Dc$d9Wx*_%_>Vw~*5UqwVYwI;u(EOU%f#{bH;-K5N98WkVH z0Q|Q!1*Rk89F`N&^%si=S{^Xm^Jsl-C&kH2uH8?s!_>x^?)6daQA5%ka^URE* zkUk|)p)n9`RKR z678%=yk!ImOb3Ie2tg^=Gbb)6Ws7ETQ&DzzHshoZtXA0EvOtFdqiLw^Ct#RgV=|Ky zT0-0)D zcM+_koUEdUH6W29%V&tss*0Y!Vi6!zckJdu600A62wG;3}W*L9Uq>yLS^c{B9dNV+36GI!8wglW9&VPIQ zp^tY5{GsD-F~r|q5)Z(=3;90(nC%mogwqb{k?ThB@k znog3l2rhO|B`~o&yXLqUi4<^)?4m`yp6^is%eT3JV|Sj8!34Z3jGA9`OCk0g&aqOE zmADxBps3&|&?cKI)}tjRM2h8&8qz9@Qn0)j=^|T|6M2gyuN z&hv23vR{op-dqw%!YN8B$$|T-mo_(`lS+x&IoQ-5t9S;*Oao!pq`-gT9uP3oz*xnQ z%%gg7l9IH#scV_WTn@O`xV(h2{>lz736>o^7ltDr>f|KgpozYI;iZuON*Ei7jdf4j zT=S}>X{%`SS!nPRBPJZ>y4#@zRke`iPaq%;V?*?0+)9KOsZh*YE&@y#cH#MkSBt5H ziEhwxR*y3CI$Vv042T=39Mf=@2qdKiX1QQHotGn&0|@U0WV-Oc8wlAxbFZ|@b`&TL z>AO3l@=G zx6qK!GPa-u>wqSYuq??)y`0*o`$dZ#cpd?Q>viF1Sqo;lbB1Lz+URfw`+W*~;U3uw z+Z&ssu&oh>Oq2Gj(J}Yo7Z*2ryjG=7xG#hZi`l8~FYfDpzq2)Tw*HT|X8C@)pXEz=;Rq>5qpgz{mb-16h_N@yQ(C9y+?w0Ky3rB#nbE|Oy7;rBE?s-OqGK?KqGeNk*p@2Fi4bV%`L0*4Md#;R^R%6_d2;H&s zMyx99PI-Eyw()l8x(XU_W`g~c7w;LxOFIV{YDuiIthH3?6L>T`*EtYlVnpl8Na+xn z2nwEGu0#MhQ{X7YvDSgkV*DD#r?dqbIpAu5UfTakWOQI&6}(PMx)8?j8!-?_%TNW= zWfRuj+MXP8W&vRu2a)pBaW!YiVu(4K`k=U2SzZftC<=OKh;9TQ^{|?vPF|uGMaXoe zv-3{aS_)$8_;qJPPNgcbmB7`Z4(iwlk*91L_v0=^`AhW<=mrF1l-SKRjdDWMCm zOdI|@<=%xL>);l=E`Lrk&)X0F0hB=t3WF%@5m%Af}k=4Aa zjU0&q0;4Rt&?Y3u(PV3E07p*Nc!N(>bcj~17O1dD>kU;}a$zq|2`Q%xG4rZQxpe30 z%>e>YnHWe_ygI1bjdVC`UVtLdwUjN6nmZ-FoZ6A>fM*5$~BIbUQfHx)DJ?3O`AFZFgt#EOUt7%oTQ z>?dH)#t$I|ySc~b!l5&69W$=%kv5hkRr^y?3$iFm^0)V6t%$i#ANQ4s-w^w~bTc!k z{r?Qd;=T?nlQ@27HWuWEe&~l53-X1(NnGGJ>UsY@eBpK`RMFaS<$CGl`-yAbowqF7 z-+jjr@Av0RjrRca?uqcdS&;SQa5;Uo2)^OaCE?c`T8CmBM9YN-!RlTL@VJ<`6M<^j zuKK!X+T{XEOI%8Q71+tJ-SCCdU-i+zQhn-D>OSX(uL;bJ87#rrkZ^Q`IAgS2$=w9y zLrDlirz2OnWD78?F;z|!H7Rm^BrcuSlTwsHBi;IHH5G7z$sNJP#+^c=WILHFR z=xRm7Eoy&Oy50tNi)oB?$wmZuWZKTtG?$W2*@eotjx}SA!??jAqa~v3RiKfn;*$w2 zC8;Hhio_T0n0aPcx~BGs)nX888Z&-!Q;W$TjP$J_no(LflUh)!3G#OpBxyWUwWOA;iRY&Y1vL*3MqRWzskqjv1M_^{k%h~8; zOK}L0dp46GC`c`=%0^O^${}LB`#@>jPayAd+c35A-Gu zY4YDvXCOwMy?f|F({fX-_oV5}MlcrQt+SUkF(u_lRtO8Cy(^O6>Uv}9x!gB!q_>-9 zX|i7?tshMG{+DdKAlXlCAC+^YC2QA!>Sn>NVm9%)?!ATI6RTaXIBx=NwDDmstFAh# z#e)1t=<|Eb9sbUBnD!6dYv<>GY(akAxVq=`4PM?5<_8vsd%8C;<+#tpX{(XLudpLP zG=Djglm&^GGwwE;ItAjLr*$TZ?@D*wUuV%S$Q^eDku9$_HL7Tzu>;zSt0f-YyNxde z9@6C?r{_)lzRoF4OWUq*^tK_dJCx!S5>%uzvD~yEKhEXeBqMLBr_N`Z9P>iAyV1#D zI~f<=4mw2B(W@~qWfL%Utu?&hBN*N*dX>6U#Zck!QwIG7@t?zb@ioVsnTo zxf6S$VEIX046|vJWLjfP8Y8x;Qq*)EJ1+P@00DMpIa!E0+BM%Ojfowg9(Ixde1;0J z56L43JuzxPG;tMJ8@WNfOZ7A~d)cT*Rhve^DM9A0n>WVbqv}SrgV&{?C@q4_T9_$_ zNLRSwRYG5wPAsgosSS3TT=dq$VVO$7UtB|`wun03}0nbY!qEr(nz zUT0SEy%%1H_}J%VLH4EIC;r|>hI}JM?AuEOmA?ypy?+{ePj5up@lAgIkG*=qm0n4a z09xic&Oy$?NdYu|_MbRu;}48w*_H_+YetW5L@bGebq3hQCe2f%+~ z&!+y!{C0z0u%ZOl^eZ8!w@~SYwqekV87Gj&?-bk4qPJxNT)IToqL3o@qq7P_$4<0v zmu-dEa3j)%&xd74*1hb{(hWMk3UB5yQJ^Ab+&;Ig9Sf(mWQ z*dotTDsI&lE^J3|b8s>yE5ptA48tl?K{hQSU4>*v$+h2{_7eTB&_txaw(o_=VAa9* z$i;Jv2X+)&*h^m#Qo)YQT)>{iT?S$!u%8D z&*8%b;h(EZ{=W>!KkIl__`mZ#>->H1|Hn?h9}t9{wud+$B0mX!Eyv^drg$qJ$5Rs4 zIukAV9l*Kc;mgkPSkCMpydUQ|vWfq!YF+ObXFuB=|L;%F@mySbZk?qw#&X<+JGy7J zJM^K+kmi!%UYyxviNb&!l+N=!lp|&9iJ{Vwv5mSq!*W67ppi~Tvlw=6l;h~3nkQ^a zB#XM+RBMpQz$ut!x{LPeJ^}-Bl#<4GoK-khnU8h03d3QIgSD!=0vQQ|mPa<{i4dw( zOkucexLNe+&@U+mSCNRJ&+yO@b_bA4p&lpHbB&IO1j2N6HTrjQy%N?4Z6LeaG@k<0 z4L$3p7Zoua%5~IU$MQY{5E1|6@gmw&e{#_xo-(>QHjW&gWga~eDGrV^$?diCI7OQ1 zSyvVO@Ox^=>Y}x!J%oN#7waet6V=q4r{SG>sRbu#I2>rNJZLqn2#+eqs4ihnS&V99 zoh9Qym15Aa&KfIVQ#u>h=pIcjnV}}Uv8_cB+TzoPb(Q#P2>W1z1tmtF9Oa2;0@~As z3Ge{XLvY%Ktjv7O?_e89OWDO$wd%XQ^U^u}6(Q^F3!=gm#~16wLICSlfy+`cP91*M z^?f8rKD2s~5CmIRgVrk(b|%)ThQ5ex!{9htef8X(cB#8wS5%iBnuF>D6>xtfG0;>D zvw39JDpgA}6|)BeHzA1XkXkP|WgHEGqB}H)pxn>AdY-qt>eU%U?j`Qn`;)aS!i9RE zY5wRRtxS~8j^E*@xCu?(2U1eJL|Kgbz-XWamY}dY8-vPI1W4*hk<;gmqJ4e{@YQhr z<%fMtcJLy_ZvpUU0wUI&SRf7s;7VGLWG1jHJ+By6)zQ%OIW^elVVDzN{ zSaHWMC1e0WxU^7_t$~mFX_iy$`am~otI}U%^`|x6eky>0JrK!$#=OSI0WF?IEd!;A z-}ZLY)P-5Ru}+^hooUIYdundB)BE$O>inASS)6chfe`*AEpMOHzDuydDAl^RAZpW% zLX1~}*LkevEqZQH`AjrTCj?Tu!UQwYzvb=hb z)8f-#Kvx0X{(MPoDGg<0Mr(ZUsC#2*S+0jZ-Y`oj7DD#vdJ!$t1u_A_vRq5}F`i9; zzZ5)}+xdoV{yHP7uF--`K10F_wTRsS>rcD__!e{uiCz=&^RC17lJq6O=tB2hI0Lcy)>RfVI@VXE|!q~4o_*(@LmN$G?<(@ zLG;)2t!gAn`!F9muGw_|%+;&+<=~UTPf`GHVZd%KCb$)edyFAXZ-c}gvSV|HTTPE% zC9ZOLV?arui8sd3y3E48kddJ1yo*_pWk%k&YSl>+Mk(!Z5Y#)56}k}SWJ74jlz^*be!>e7VZJ-7NZi#3|)*BEcynC$Puu{0U zNXsQJiJ-S-@Y7#uYxG_3JOY0E;v%xfRc&rl-Hf~TiX>hHk4w^b-5?1ca)@r7l`u^a z=yHi5RR!c&30*e;!#;O&L!Q1_tyN;kLgEkkeJl(7B>xLA~CfL zflc0WGm4Rk8qO*IV}uK%ml# zNu_#$+F`zOs-G5rob^Hho1OwuJhZJj>6G0&EAjwBXko;C=qBzdbk}HFdbPkI;MVoUS=KJ;vcg_?W=;=z;dbJ&cDKcEZd^x7M>us#|+7?44?ST|ah9-PHrL zo4bd2o|3yB7`QgbzW%<49|PXq`=InNAU1+lhMyldmr3~91&mTQcby_v%w7=wu^{TM z9LIO@t9Df&iplklGs_<1?OL5u2~U$39NvR=ZWw{F8IarMXRcHg`mnL z9l`w%o;1b1CgmFHSEN|GF3M$#I=2;&*7Ze*es~0{A=z9h`&4(5e*COq6@)c$$*(PQFR`Cj)Z_EWbS<-5>RZ~x;E_|8xRZ+r{VIpR*%jTsf zQYr_<Lwml5_==PDo{#5g}xF_wlcj|r~SO9iIhEKAN2+-7ga|J=5$yb zl$hAoTl)#+^~;x;ircFlnAeqOG`cSxeJ8?Nid!qjI-KFY^=$T6Z7~F_`A1o8wDV7a zWiZ=mp2lAF`mAD$S0~wqi8eu5Dm0*MdW)b~2Rm-)A`1oO^ztWA#^tRU8(rv4a0tE4 zXlXu4we7Fw#E0-=E|~_}EUxUP;#d5LKi!L?PKFqY6)>#evB&P~`6_4-a-rYrA8qA5L*v0sz6m!)SdCwG>EQ1E5xeBDH!GFS^Q5;J2ksM~SAN^L<}DLHJ%RFPM; z?SCghbL+V(q)UVt(>@6XRDwd=NsMe3NJ~e6*d|z9SzH<(GwzVTV$p?b5w5qL(ysz; z91Xs6*;Y%-yso?HH3Ra``afUSpEBzAf3a^L>TTW17J&I0q3jgO?MBY&z3ZIx{{ByM zxt9m|J@o!I!cehp(V~S7%nSxo30eHum;dKn=ne8t{#^tL5bhN8p}bRMyopyRaK{G6 zrpuh81H}Zx^sKzRL)lCg6sQG}$qp&nP7ZB*0$vnuqPgC?;fO z1l+ZdXEob2G2Mbiz`JlV&45%CTh|XHK3K+J=8UsuE$MIsGfOH_$Z!{Z+Z@@iS%!7L z^BjB+lau&@MDV#X;N)#Mh(27?9d}}Eo_W+{Q2A`N*prdtnTJPTDJoT25Rx5H(nuv@ zON(0B+>g(Sj^PkBTncyC#FCy{ktvP#ah?zRt49GG30KRb<8g*!Q=z zOvit4xISF}fG4lvX@=#s;92lAui*LfXUEs;c=6)+4<4DW}X^VCu)h~W{t5jO>$wTI~G z5|8@H3xvTwf;8JiB{6LGgAF{>g%-TwiNYXIFHJ_WffQLH79T!))eMDdfagmGDE}(> z@Tq)WsCVv=L+iRIw?#9a@Sx>Vy-}${)=pL* ztRrYeC5{%bp&yS^^|eC)`hXTwGu}=>7#I)0k#+iPp@~l;H{Cn2-rDRJb!p_Da8=YD zp+%Ngb%{P%kg?jN9(qKptmBuf`2q<(}0i-73KbzM1b2`V?1$L$n zm|>oQ_YY4BPnQ;PhiDOZNbm@*mRI5N@^Y2Ddcn>5>*iO@xC`)rGaBUA=c~2T<5Df= zrhstaVHYWSbp0e(Nc$}dTp_tZ+#!W49pVBx;|_WEwS_#oE;9}VWUBC=r?C7UigVUEa9=lBhI)A|t&QxUrk#Rb*={n0wUgmGP zq%9TPj;C0yUh9~$xEw+UVH{gA7@<~krX&pYwbejn#IxX!KHx`wSV|kiYT*QtX9kzr zKg1E1I{Ekc!_~Flvi!x$FIj%g8mRUNuG}KJ!yWQ?`wlr0{~)^gDMy;8E#_HCaU_e> zfjq)n!UStSYN^#YEt!MWi_Z?5dL5U1L|6=x&s~Q%#@K4D05ji3`=~2r8zE~Rmvl`; zS*(SqWRzJ>uUX3t;tp|zyKbC%e`Jx^^`5CZ_yGRg9@zE zgj)NtSqhEnj61ES-01p_OS~F~FkX6vaL29F_nbggdyLcg8Hl=*xz-)hWvBYkomMYs zsSr2>DIt>e`YuG0&Lu0lL$O&t0?8Eu{-+MlxBjQzf6IE@P*(`7-XJ%BW*g(!T|YR$ zNee5f=vypRx@439Z9tO0fJ~?WTd5}-UASO>SF+Xvd?xFC5!$YfohjI2X1OVkfYMFv zWJBl7kD+m9xtY1G>wPovS@&cA>FHs7Jh<{-^?rqH{Z~ExQP{jfR&J2x=P%5jAcefi z?)-Uf)_LnhinbJ3uNIH#hAhg=3eX^Tga`ccu=4r2|EM3)J~LmtLtG)%Bt8ytg>2j* zA^i0Ye0hKd`OxCS{5u!tZE?;83W;89jZG68#`@%M$NtbF{vV=6{G#=I`wm&TLR=zS zf6J;5L(UJy-KU$N>08R{ow~p48mo9eq(1~_O{+cICx+9zt!Sd+R2sn{4l`jPd-KdI zi`6Y+1CDrc&>!s%@k>_wWAEf6!}SkD>I#9C8|2-Wzvp#(T5=P2GkIhQIt5T1f@mPr z`9p2nX<>!7TD6Xuc|_DxzSAHzM;F74`R9DH`RVR0l4C!?sNy*+f43I!MV zS9G49%8YOcBPlsimVzpc&QK{m1(C6Vv;=qMXqHmDQiVltf;1<7$N?cD*_Pje#T-*bfhLJINEk9xEf~NNA0wM(#;7&hJZj zrZ&)F#Yjt54N+RdzggPjaG2d8b%pf5_O9O{dc@};vpZxA|NIj#VyC?KTq{zQcIvIV zFJIk6!l@b@EKH4}C-f%vSn3@)b(FoF0=m`|L+csZnlHOel@pL~^mHp83NqS;tc4{r zrZ)3(Dhdc@p8vY7{+Qk&knY&HL*OxN-y!dg;oofAs2~EyX?7LTY9vg^_3f>1R5<{K z6;Lp7Y1ThmN9?A0=4L-&|Mc+c2ASO<{Uh}sb%(e_=68q>L*D=27)Dif|D~uwes26} zZGmu>nv8$CYx6D_{>9-HuFtwdp5OT$@~#gX%sq{6niPEHGfA=P@K#m(&L07Wd4%l&OS!47hK+51UZ}K$RBWq)ZnNDP88w>YhMP_iHtf>S!_Vtl zh1-18VjrhJVD|rz_3wvF?~v)=vf2%D^T`NrxtOQm*HZ{;(rZ+LdprVqS}hZ#A{v}m z%JeA;MyADKnqw&(8XZ`&q?o0g0uf?*#(M6?JaW!0bY|b{fh;x@bO!IbD6)Z85b5=; zEhMO9%m^d$c;uWJdaP~v==yNDeX}_Z?vUB{Lne2~BX`K;`yp-kk9hEt?VQbocgsjb z`H%|(Tf7FKsI)pzAGP0Nd~!&Og|=NOhMjz)o2|of>uhu&y*8PFcSvV! z1jGyW^!el4Y7c0?Xr2505O+v$#`iIDI0}v?z)*|svRJ49(wo9O(S66x)w7& z&yD38!0u0%;Q^l=+v7H`c8BEWEq_16Z&<;aTJn0umL5sZ2?}tFT+$n?b8aeg#s(v|ng zX>;EB(hS*chM;-I=*A_qaIEnJ6q<;0qve>${HSh66lovXk^ls;Wx>972PBW!A9*{BYSlO^hWI8Yuj5IiJP-Ls!DLEpKtWq}-+1oWN z8jIMwkBJ$-yba#CKk{=A-w)|m$Y-DLm0_%}v{WR!uOSOx^~m1(^Qt3vdeWX~WbYEG zkxTDoRlyO9+B#_HD%tuW5mvNDaUD{Jj`T%|@{%*nJUq#%!&hCV;k8N(&vKV%PK#FW zA2Dco#l+aSOsWNk?@=B<;>~Ec9KBFg>fpu1hz^GO+03XFYPMelVnOB= z0qqjKF)q|-i)=WxJ)VXYMX&s+r0L*-w4YbB zvZ}g?D{)w9SKK31KO;GjuhbPYv|`qL#6N25j5>0>=Y~2ezNE4kZ?(xw^_^OZSQ(xp zQnOK4F261$Snl$gSG$ag3eW+4ecMW{Vhc8`vrs&A1*H{Br?&WK0Fh%7 z*jkd+0oqzuz+Vox@a7G2AKwpgg9KmiH#6JI+f*{;hD_UqU_Ul^YcW!53kfuGV}S*T zx`1ouY+eN?HONoHr)SFFzy7;E`SI=TH?Q9zX%ZcBPu~v-s!#s;oBbtt!0yrt`qT<$ zggK*0nAhr4#Jj0@V)RekKED2?JzODheP7=XSzZI*Zn-3bRu+J@B8#$hf(NpcvSVH; z=Vz9r3GfNQeAivg)FLy!yvA4{^k%1a^cAIKA=DaK!h@b=$44Z~S2NlN$4^&cqe=P3 z@4%Yy@)5}GH=4v>d*NQbAL0TzPQT-3CQzO<((oKC!;+sYh~vmrZIP+ALG)L`Orv7( zAfTYEPF1Qb2bipszEb&gSI=-(jLV~0=YZPB?J#O(Zw7=qFv2Ct0G*d0)~j}XrZdnfEPL4q5oL-u>D_7N)G-QK#D;?6CXjsQP#%apI`TCo0a)WH%A=mfx{g4}1$Y-*X zS+75DQo>eH!L}E5@I+nShXMkjWF^nLm0cIWf&b_6$u|qe6{1nxAsuOugEl#iPp97x zfz~GQBfh78^VLsF?6fW~*N6CXLBpI64RWXWZ}!f^JE|i~<9*Vcyg7qBMiRj@IN}_R zO>m|iU>4*cl8k~u!eRj>5Z=|mTATmmt@^0%{JQT`wQ4zRyH3^f*@fUA{tm^6d7V|2VF_Lg`(*$X28C_ zK@FjTWQt6>4x|Gh(T^N7Iwgerko`}oOi(O9E*l9)5-mpk{~-yleW{CS2oMr9a9B0; zv}o11fCfe?0%QOSB%B*jnIT51Diwtu5?RqDk{e{4_cHRIne`#|XhL3s{v60WO-<%@c6}ytWM~^srkts|H7}&rB1s|4xYPqeQ_z_#*G_4{II;d zeBHSD2>*2R7ZW4@{}55+b6*aA9=vp}om57f_()nT5Yxe|x4zGwf$Q97!69|G2se`n zHOlM?T?Qll*t-P~$hO?qV5%S%vrFI(SwjZ98}{QxF#sG4r1%~|JV67z+o2_F#l6v} zz&=@kKp@1^Y!tz3ec&1bL-Y>o=-JD+Zr!?^aa*`^=g!O>D06jgc1#2*pq321-5Q%) zSzTSdma&$wp0Kg8v68X4xVW^qbo0BzM`8&v_-C?kKT#MAAeW4nId@`F-TiG^)u#V^1INcR>YF0eR}|EeLWuzQ+i1*NxbEO(JW7awI|`fHOaejX_yTOB><$18EW#2p z^%zCW&dF3nGQh^hJ zQaYop76JzkXATc=x!%WEAAsXNQl_*U^-YCn-+NnhTO+nEUIxdybM+gQ1f)GyT^dO z*(f3?h)1x5!jJu(K?UiL|8puJ5G35C&xjzivoH7kOubS=5)MwDy0;cT#tH;kU!FZg z38~hQV}oum@Up%vLTkr1;S>kN{Ec#*p#G-LxPBTfwtXqYo0@z@d> z4C#8_C)QaQQOtSJl}BBgTwPZ&HaQW}00;qCkfma%XftJmO6cM^K}OY($=9y(F;;~j8#lfjul{Z?4@CaO-f@YD;lNi2NML}Q>q0k~Th~N} za#s|{BW7!nA=UC789a`a6*m9PLLJ|ky<2-Sfi zQG6_3u-zS3V83h-1y)A2;iqG;&`aNZjYvs00?21=!A6j?j#X?1g)-4|%1ANB6unSX zFE!|e2qz1ki$zOV4-*_sU-w5N-+@e~XCQ?jFeH|ctMh-?KR!Ny+TR_Hf0W2U z3F#6fi#Be&G*SH00i1<%EfJYr`hXhZ?cqg!&!$<^hJR6}MlYnVhVnr(x zP=bkFAQASlHk61WNNVfF1(jwITBDeR3GBlHO+)dK6hlF)%p~!-92;OuBt7wzCY1D| z8bCvUdzfM`mJNiF9*Okv`0fN5A3J*&f?U3QO9dp9ko2oqFZ4wVW2axr%9y@~6BrIRm<8)J`_V*zNiobA-5dARV#po?dOJ5_*U>ZRpolw=0!6BOZ#KF|HBD*7# ztrn&mY zsXa?yNs@=_D>q&rhaS~`{QZkfMH&}5V+2}=0Nep|nF%N~0*kVO`UDmrcHEdo3~kKD zkq2EGAjFnAj1_{^5*r|nI`u8otzfBXW`hd3j{sDMNQky2c?42Nx&yg8H7!7p+uVhi zAXiftzJ%Y1pUapR?#(|~-Qrn#cvPs5d9&>L)kB9>K}3@3--kR?31lVI^)Y01-S*fL zKfo4aEZfn3fi<(ecEeAwInh9n$y`9Ds30yO!vslWD4a+LoVX_}2;V1cL6C$1gU!fTBM#BZ?%f1j7T zbeD`7$_G?|ED41z4<2lddQ`afFbmeNr(f#jUnQ;neaLh1THm4ln*sT?2cbo|-frFv z)9MM_V}i0?UvUm9c(qIjO3aQ6p`TQ&EEzH41(A z1)+q@4D+SSj)EbAT?~mcO&tkUnais9B#aYMST1-a_GZ9wj95Cj-%pzg$bnoyrm7Vr5`+pOfEPAl z{RZR$!dtAtXX#={AV}`}_j~yqE8L0P`#uvSp+XSxLw6x_hbSQlSlI_H})XwLxLvD z+ohow*->Oe%8VJFjtWtC;`J=B30;YnL(2|bv_ewVl+@DfA@?Q$ z+N_$UByE-%Xq6Z^&>Ve5Y0#@#fG{({`(;UOO9PrD^)LFZ5784nd=GNh6yYwUT0!6k zkJBMY{bMW<#rPd`u{`TNGarm+_tMrbd+%ZF(sKC%g?pq_pE7RDDWj$BrnMzQg|?<7)T&tb7xyh zMWHa#dn|!ZdbXgJqLkpobOI^^y(@FBh|1i;TuEeI+;AE@1$F3Yrc(*MV&8=DdV=?3 zPDrb;N82yEkWrx&3$evJgj-HVRxw}Al>)iQ97MJ3((2nQ8NtmXB2!0T9IS_;jveQk-;K#i6kFop~YbABlU5K8A>|R5Te(vPoF8(Jj zWJC%AKbH#pCWGkdpi{A8NJ=6Ra`e)PaF-wbmJ#Z#mrtguP~_xi8dCjWwbDevx$BNg zl?Utx3Sc4#C|iXvmIZ91fC$im9E_070jRK72u3q5<{4oMq;f+(j>9B{``AnLhhs<_aNad7QddA2vYf+ccT!5?$YuvR6>MNpJn|=^a5ut+Z>=x zQUgHJ)&miNlwfpMMh#w#wiObXzyc)Ok<$QzJV6yF$J_5f5+KO%r&y(eKoEDrr@XUN zkc>o+NRYKi5Os7HGON3gS`C3B2cCqr33Y;OmT%hX0mkVgsAz;izR}$D7ubDaT1_jX zfnw~itNpEaAX8sK4=PCbyW0c^QoTusA*q1yF%~5Rf^6tH$jZZ&+`azMaVm&j1)+p| z@$s{*z@^m;K|s4bg3Xz-Nlc=`UPu55*dq@%xiZ>ZE)vvfxX%c)83AZ8LoarqrrMl= zv^YnGU<)TIn?m=o5WIn&cf*@;Mg7A@+O30!8 z`|33WikwOp%5@sVNn&Zp9YmJsS=kEKO>j@M)Ume272YwoGakdo@|%2tZazzYU||C7 z?d_PGJ+Gsao4J9})TZaI+6-ZUT@}G5JBtL+kmc;6sN25Vo}nI_CQ2Ab)6-*2Wdj4j z*Y0FIJ=t&kHQuSO!dt9RLc&c5_aMB*GDUch?h3M1d6vF1+`Do8b?!oHB}6zq_~Qp= z5PS)o-<;87)Oj%Iafm|bi3Dqq3nd_gA3G#~Q%Gz2OmMx+(uESRlRP8JWmV2L-P>fC zbXOO`$euxJbuF@E5*^b45=e!nU)YABs2dO%8scT|feuD66#G7~<^SwA-hoVuAN8B` z_zS%=w`o&As37HIED_}U@D?j!fFK*{Y`BCR-nW0ChSdH(*Jw>RQ^8X#3qQ| z9SK5J8HBrzmZ5K%<*2)}LO3K9uY zP$kIf4*$lxTJR%3PCt@L2t}m!_aVQ0b@K^E!vuK~LF`vXXdnnST^c%g8I~!6;Us3v4X~MZdHO3ww>yg`x?JVM`FLsn{(MF4@k|M$J8l=xO=1PrW zwHb@ca<2a!Pp6rjogjmRj#2!re=#|-&jBnOcjEJ zw^-e0>9ArZH^NOi6@<4~<#XPxDnatOFk~q)EZkdokg&BC{$wh_&p~t&mKK+UoAZYbC3+a$PqFy7NKX?0KwOC- zktDcggFOwcnCO9+I#wpep2|`gj5A9eH9SfaA~J_3AM|B}{>70S3{8QH4|R zYDP4=GPhMwc)}yY)JS*k;!OF(ck%k${UeXCzl(hX`1vWa1xMgNool|_H7Oo5h%uT- zNKdrelMQo5AQ5_;d(mV&+SSqht>G~@ufF`-X*Ia*TQccC1c?JgSS{}7A!4qe7Nt} zv16ZQ=wJR7e$05|jW^C^yqEA{!s*?ehkzbkpMDEy4?JV-Gav|=Hd39@<|!z3{OUgE z2uT>12{n*n8FY6En>mkW7z6L`8*9P7V`m?O2tkk#-k}Nko!Qh^vnzg2wN@j@VtOs< zKIHn=uYY;$RKl?Y@dTn2mK2^GI9bnj`fj+VE}pHSqQ)xSqyj8bjVDcj40IJj7K|o{ z5-vgWbYhv9Q1VWK&cTJ{h!2Y*bGX0^4aBU+{h0U0^eW3*f(yb5rQ>DF0_w4K3k4R2 zj!&OxB*=f9QT=G8hUs7#MI#SDfZM0cywqm5Zxj+~S>>7E6wDii4U zoV`9tn=I6kbY|I)>c01GjSn=Qq~>aYti=*G_Gtz2fYO*Tlpq`?-w7i+)J zNRa>e=zNt8@daEt5bA9eD0lXEzq-0n-e0W^myZm!O7+ldDg9B%r^n#OGZlU$T>9LR zbh?C}E946vw4Rkc0s){193nV)nuNB{Qgup`{J<>BXOIG99FzGDafTdT*fW{llRh&C zm!Zcj#Oeapl@1`gNyo4Z!}I_m91&HJ;wu1a89)Jh5Y7sxM-l`aedVj2_|XW;2H>Nw z{At$%5u{T-gwibhNVswH^5m&dJrZCCHz6m9BA?cq$6MZJ4 zg@oaXa8#0@38;EZCq;WqK!t7Q}2BBs1op^k0g+R zt`R>Mp3=v_Q!^W#w^tCvjU~||8`4-p02Kk-oRaslux~O)%H!JV*4m+l>ei!aeX&Tq$f&n zqXy5RatSk5al_E(B`=&XJ*uZyqJ*z{1QwR=`$mV|qhOq9|EDeozW!GMg1k}RJQ6OI z{EatMbECRSFN^jt*##DIwp{}G%tM9=ohd9I1#jS_@?1A>>PV1rc;T}GyM_)xwWdbU zL%&~o%>kj={Mg)*w{>t?m6jZ-SBrI`PNi~>q|P?3EqPjb zB1yKpJz9>C<{}6_J;&`Ox9whMdmhOMju0G6q^SC!yh4sLl8QH&P^n7XI4^vOTU9k~ zhk4_uUO-u6XMfliUsm~`j&~5Uzv=iQ|R%aGjzdW?@xHL-0LfN-lGWkfv(JwhFw=wWFrs2gqREUSVlAwp2PzL8fG zX^h6gMgDMuu2Q6=^Zhaj<+l@$C3ogw;KO};PNwbB#(h%T?zxcirCKVUpY7dMHR&uV z?dEK5zpxD+*|WzBb{B;2$ZGp(61h=9)NmoIH^gD-Jv>2SOOwnGZrc@PP~e!Vzwm945%~JD+||J4j8B794u|d$-Uz1bOVdYfPO0v80>q-D5dR%oJUff2==A?*+8Sl)MGu z-}&jL44e||H+CogPBnE2w`r3h0M7N~PKG@@DD6B6XJG z0!q~6VB>%vJD;CDk@t_9A1k$m<~aPq4}Mq(@-@4M{wLk7kuck#LaamtQh621-X5GS zO$@Yy*wjO}^MVGcAIL45Bx2%4HsX$wWA1@_iHmQxhS!2<0s9R(7QpPp@(s+?#T#N? zs>$`;@ZE1$1gW@DKa)z;iW&UxB1d045%dtAHANr=)L1BoABXpBdGqDA-NWRF|7W`I z)MwrVk_cx>y@W|a1`|J13b)o(ojeRms_YXO@N9(s&XUYw%+-JcncLCAMdl(vXM(ij zDyGM}5oF8nRs?z250EyC3Qxk0%nkEnPho|*QGTVmp!`gA;z!{{5QF0I(RFve+`4v`O;2Mws!v>v=%V}h+-vIb7aczcxe*euS+rnfyP(oSjhzh+ z%z5t+JAU+|AC>Ys6U6*r#OJ7Iv-BUxC*Owx3)qv&}u9^OYh zn20Utfj;U13os7}cG0(*D))k4>Z`n3WA7+@q|O0EF5<*5hOjLR=}+@p9SO2|t-Ycg zkMlID@Z+tw9(wC7eL7y@Xw41(2+GbE=KSLPxx$Zk-hJ=Aci$-t34#PaqKxy<((kPs zx_g)&1(S|38RU!8#$p?=3I=OzSjHOB6-%3tVVK!FX5mM?{Bo6dsgAXON`u%2PM&NSa>D$8BIQAG z__?W9+TPiP9>UbtNTQVt+tk#M7&%jO;?*$d^19x6r}3q+o^$^i&4ueEwxJ1qVS2L(zLWeCKRFP|z5c>-F16>fmz!p^;O{z0GT3P0X?@8t6G$)A`Y3vD?3^xynY)Tr5! z=`mH%Z(F$*Kpkw656=KnveH-GD}rziMVm?8nXIU?CXIy$Kv4w z8}7UfdccnH%no64vj2Z!nf{Z}o0ur&AX*bmYhv1w8R`kKHk7ci
hCBf)Dr&$DVb}3l)58S$$;mV4&Yz7f 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 RGuZ$D002ovPDHLkV1k)#T3-MF literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/drawable-land-ldpi/screen.png b/demo/platforms/android/app/src/main/res/drawable-land-ldpi/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..c7eae7edea4f154bc7caeb903fe2502a0f69851f GIT binary patch literal 15341 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 LNkvXXu0mjfO|L?x literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/drawable-land-mdpi/screen.png b/demo/platforms/android/app/src/main/res/drawable-land-mdpi/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf1ec2e90e9b315d1afcd2385eb93c8eef640a4 GIT binary patch literal 31136 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 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/drawable-land-xhdpi/screen.png b/demo/platforms/android/app/src/main/res/drawable-land-xhdpi/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..987a92462cb24a451657ab5f228db8b033f7b861 GIT binary patch literal 142334 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%0D-_Hx}cffxf0z{WdwuA<0Ba* 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 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/drawable-land-xxhdpi/screen.png b/demo/platforms/android/app/src/main/res/drawable-land-xxhdpi/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9fc74003955699bbdd4c3846f9d8e78b0bc4d5 GIT binary patch literal 227190 zcmbq(V|OJ?*L3V;V&lXU+d8pr+cqb5GO^8xZQHhO+j_41{R?mH+H0@sUj4DVSNE<6 z1vzmTB7G5AYf$*GAg1aB_*Y$|M7oW_CJ*V z7iHyT<^Q3qyy8EUS5#J3R{e*{|Kfk8`ae`v)zs9~*8a!Zy8ofJzP`S$zP_QMp|SBl zHnz01EG#UXot+&X9v&PV?CfkB*KuH8pj0 zb*-2=_bA5enXJ^~r-+ya+duwZZcW0MQUN0y(_j62o!*|_!GVFk-oCiFxajEUq@*MU0|&o?Dh9_Oy3kCz%sP^mN&Jgqyz5T<3LnD4U5)g2ga7htC6%WwMjR2>E_GySyjfBM4FMSX9*-tp0 z-^t_ECfDh29F^XD%_8xD*;A;ptd`v81>be~4@-folCQ@957D!1=V!5bWv_cH-|M#? z>+GxZMhDU4w>S6a^V?f!pz%ik?YX65^y)~nftJwZWOY6pu$a?#G zn%T;a@6~T}Y{QRj_v(KA+jM3-hXYm5cU?anLs+Fpzv7uPzhR2u;rM$hruA*7B{Dpd z0k6}qr*ccL?)&+QyZ!A|on!ywr*U)jrDs&SrNZXB-ME_`;Pd?T@U!&$C_x>i+pl`X6?tiGv`pp75_e}-*R&jsL&U_IIJNj)7Y4R}xi$L7Nzjie_Nps%Q z`US>tP3vpK`h54Gn))>#on1j+2$3+{p|j2Qa?`af_C8_JvHpIuGM6RLjGgzOrmi;= zWQ#O`O6dH?gBrcS>#@;yGNf4JtpnJz`DNeq@$`G;MQ>jqLK*7oIN{5weBg?853`S~m8C)08YAoom~9rF!`a z3NeVMyS60GPd%?ayKI1;=VJ|P`foi5$(;?ESLsIe#Bg1f3whzZ?LJGu7&7+^uK=5z zA28^<>EG2QigMlePtrmJS9zmQ5L0H)m$f4gz$6`qLD?T@UYP zkzs>mJ^XZ^2c~C(hN)r!W9oJg>_x}Q@RQHoyKZXT36w(7N-RPP ze81&d$M$|ULkQ%CTQy}He4X7)nfcy_&+RbMzD}{=t6S!-e=S<^dDGv}!D%kTdGHZl zP2-8nuAGNFl{x{uvefgT!ma6G5vBDan-<%LO|~oqrZps%&N##4wrriQY{Jw5sZ5T; z!zaF-=a8V34PTT8=M#&fr>3hERakHjH;rTLjRvs&ZCNJIrduk&#@pA!)SVk0Ky6;b z3Bx!CMuG#($KO zsl-bgP(`H68Iv%styacsNYK6`xTT88A*5w?F{Y13k2uMh_jTgGRzCb33ta@r3Mva1 z>CvEPxVuuoNtS>|SI{{#QBTE80S3Sa7KBMI-^uO?81oE_rUyNshLvYCqI|0cmeNY6 zig5T}iyql$Q9V%RJ?;{I|eG@h;dtxlC)s?$25 zW{5m5p>MLuZoUNYH2SkT^9!`0jZIH-0-CbtsD)&vtlyi{B5r9w@exh8?r4mqvaF`_ zL67{YEv8*Bq=r^sx$X|^Y`XjQRzi+y?ugl<2E^cvSX=p6^w;XxRhcr z4Vsh7>86Kv!l{P_)>9N+Eh1#H9&s>Jx6~4MA0&buKU=k>V2;cSdaY*Bfny7eW(EbF zH3~?-3DxUL`qAqA2HJr#p0P8x4*q%PdarhIV??Zt7d>{^@0%n`5A+VaoSC&7*P zI3F9K4}OKDS}Ae9zq}85&Td&^NV(TJX1ivDGk@#;4p0o>E=n-}c@W@F52wLylAT4_ zwHvZ*;@DnZ8x*^LaKR(iFgpNNV@pZwE+56fy<{7Nl^^Z3g&FY7xpKv|v@AA+RniZ* zqq)*X+S1ge^W%4bOM6a^+og)?d{k>f;*;@?oI0yD+{pBj`U@I|#%B+G;#hc+y^JQ@oh(rqp zru35d5)8RggHd?yzV(3RTOcMUCf;5shkezbUJT`?!g^CWY^)la(UB12Oe`OssUfIw z&~=F7a97z)@7OIhFE`gM+6i+pY-i`bnE;c)jVwb73r*5V9`OwFH}lF@6dev~2u~if zn1i$s9tK0Un9*Tj~41KMA%{~bq;CR`%!p8&jFxCwM{JIEfF z*#3CKDZ8AQiT&YrM3X|=M2D5NTv8)&80e_N45go35w$Tf!YB=4tZ68_KEVpz@UO%i z?v#v*wkz8fR5rHwnXJdV#2V?tlR1MN7Y0Smqegi?o@wduoDVGtO_hOoQZlOgFFBP)up}Vb=qpN`@{jjC3p& z0$$2j-FHT8ll|k;{rxYSot6Xum9}R*SC*GewSgX|y~_q6f(KTBMlr#^sW(<}h#7Zo z{^yfCrAw_904Qv-3mn)SM~&mxiakT52RDE!r%`N%D!Fbuo%5vU>C9L*)%)q%kt)C& z3gH%K)l#y8ldwi>`IWAOhK8)U!Six&B`^n;fIjx@1|y+<|5d{VEF|6-x>N%@7>#fRT_Ed}+l*4hV2R9$KsKardMExo;hWVt*5vm*kfB z4oS>ZO23Q0lhS&+vgo4J8UNnDif%6vj0X+pFK3fFGIS!>0TwVr zKa4vD)DWBwdr!!wZz>D@+u0^g9{;^WFspKjGBv4o(Ezfg)7Y?Hm3%a{4=$7>fM0bCr?yqxUmwXK(*XX;EcaU-U`{|Y|4_^dOr+QB08mMyaU zgB(~#>PAkLW+G8b{rAN--eIe5dwJ%rzab3jiTsh7rgaB@$s7bz<*>s{&H2Il2~zGs zjRHEsspr?(#2U&U!=YWqR*7E0{br%O6iR&z`@FFRDHpgVRn*CszHpK|kRl`JiG5Tm zhC|}8ZNz~LB(Y8^@H;oSYB(%pQucVNmOjx>cRe^Lk+quf4`c*;6=-h929jD)-7Dma zRWv&x9laKnc7$0rch@2cq)IGkaIn=OPJt0ii6SzQfxm|l6&&|npGzG(Y2+YhsjgZ& z1}(`1;jhh)UY_=L4XNS_oEo|V^ZRTI3p z)T$<85@1Aff6L=xjhUU&K|;Y2MKo7BTt6{Hv=`h?>{c;wF+02V8$ZCK5cY!wi{QcT z8H&kVOS#-)C?APRO*bL5j!7p!Dri)USwBzx3-Bi50*feSiqpfm;^Sw!Z z7K1QW&u6Y4HXTluz8%JA_eqC7uz7;q{Mrk9N|$k8kY%V@L!=C}eg`-7ce&QuZ|!-X z*T_FO^r8(!>8VWjndIq7NMdM=VObPLi}C^Zn6(G&ss0|{0mf06M|kfyHyIT z4odiJx(!w-5J{5~q25Xe5Cq|Z4Jx_IQMplGkxMwQ;LUT<3OHKcg$SVEIA%grVwKd{ zy16%Y*;hbZ$Gx$X5u|VciGa_K;@>x(b^~Ob?9Xum3MJH+=GGU7YcL6G=xUUvTuR}J z7n4AwukdHY0FfbZ5xxnGi!;j%}J-vkGhuV1_dtb&f(`fwyBn_m{0Sr|qVu%_y^>MlfO(en0%1c#?())#eBKI5 zf*4NHPclQ9F@_#%&}rma@p8NnnAK)YE1p?5(M^k`LJ;MdASoF2IPPk=^H)UDb)r$V zsw0-iUtl#Gmm7l_jLejUuU(;l(@M zBIo|^ii_e+AOydO?LJS$&44i}2U78N94U4yQ zanJrml?63H-v$nH&K@})Y+U4c3=5)~T9ANCv+;6M%js9jWiT7io|>UWd|@Y8J5Wq^ z;m>kbGuM<3yLmmnW!2Ru$*fduk#YzdGNK)7ftcB63$NijNsgBgeWk20P7^g;=P~c} z&RcOvbc)h78{ageaeH$^M<@spkJ)p=PN{faQFrMmv`B<>dWUk|Ii)JIcu0N9@X?=J zRqW*N!QwQ#xnGkHAwi$?wl?Ye)h5_Tnqbp(Wl(Bzw3335Hu9lQc!3tf`{Sl|D*|o! z;P0#HJwwp-@wr;+yKDEX$IHjLU>y871o* z$1X~_ygcT(=Rf>gV)y-I9Z+A~=mNO{|as{gQ7O@Z&^nTf!Jq`>s|8M8K*`K?OTy*~a5VkE@Yp`UK>2 zTk%2&7H|kwCrkZIQb8moXAbyjF`VGGRp!^4>Lr0EaKkcRPF+V7)?z)Fxb{x**~nxK z(Ftb!&@r?!f5vrOoR2V1D+)3c{ge*WbSX`qCRz#!VN0gSTF&m4eCiG-?7E7CkItwi zx$(@P8{xP5Vwk!m~|7TCY_e;&uutYTyy39}ld?)p)AjGpjSq0;`(j8TUsJ## zD5*G$VKD;9Ekmgo(cxFLoJ>$Vm}z#B<}COU@Kmb63EyHv9S-|L1Wj#R)fG(=JA9u$ zppK|`y*FsWP5t-#^pJtJVwSP@&JzKa>Q>nG$Gv?vFsKo9;9UWEV{%1kxs8#Lfa6t? zE;|_Q6IMMRmF79pU7%LGBr8PwYyQ#}iwj<5pA4%G&v+%ku{Kpw8X} zvF5CV&t8;hjkV)C6M4#DH7wl-7p1(~ke)GA|M_BnWWyIb2k{-i-d1VXXw4CKWNIE< zibt3AL=|s+=!I;b9<=Si9p{CSj*g& z>+RjL{!(kTBxp&shKiNiK^IxHFxB>97@W?NTiTCAOl0zj>!kz@wWS=;m9Q<5Al>01 z-T1oWJHDS3#QJS^Dpwgdb0iCPFrywRAU-_LggjE(ugq$X>h+({!Q^VU=rc_4c^)v5 z$b>$2=Kf<|1`SxU@wkjjbsf@xFa9zF>0&fI zB`~Tdc-8=Q(K!E2EnvUU8tV}>T*O8;b2;q{WYMwX=ju5vbiYtX^YNv-)lke71<3??)nt4NQD*7@pS^iwLbR*b9<>?$xX7mRCTjF+bSHL8B zmZ0tc{)1n_CIrFNYaWRZGHmHU5b042eau?5|;mWp8sI#E7xS%agQERq^G&WbnE8okOjTX1lxu(~!q z=oBVELfZLOmZDwR)px6-$nLV7(&(xY!wKW?N3$#(`c@VY>p=5F)A)9#!%czLuv)vs zk3R=0KPb~ZMgc+kzM3>A2>YDK&&g>+zk@oyJfxK=P>w|sW)R`YX$-#H%PuhvGMV6F z8c{S1Hyy;I2*0gqB|)COAo!RZY%OiqC0C7rc<>tnnNfnCtBJk6N(4_IJvCrz3{&4h0Fm5j?_=F zE*##1$vBPmql0YQWmyeFNzy{tK>s;JuPE8_dd-uJ2(fB+(4A!Nw{>5gQ>Hg1a7w1E zy-gslvs-bMTxp6j`^lh))BAd6LK`%L6U|CeS15BE@1CuX`udC&o3XV3W}*~P3Z z+ACadrT{;`z!_;Z;n{ek@C|_*Zn-K%UuEUkXc^L#VPiK!FX-{o~;Fc^6`SqWl zL|Sm2;!ZHD@F-(PPIaR;A#H-OvsQ7~1^?SZpP}(N2fj8!LzdhT8Mu4iy&m(>OIGER z8YSWGV*D&g>w%DPq{sNM%anj>b24wmiI7a}Y;*FK3ZUe!-p;CFC{$k3dn*IjO5#H@^erNy3m-2Xt zbdD5*EGFYd@Y||6&^&%E5Yd=5NB?`aZL&-`luV2wo=fj= zTe~}4V^`Si0sSfq)m93_5o7=F46!o620rgBgg0SXQpt$fgZ*N;M zE(Ao7%S5CPG&3}g*9e5TMTYvPTJIb`CC*^%Umh@21Jt-@lbV(Z6;m6cOh*H8ugk1W zGS`e6C8pQGc%yBwdHFIEm{GzBlx}<6bcIn(j3-nfK2}keu0VAh7L%-SDPMcj3`2r6 zi3VbMf_l{EK-e*gV;xo`o_3w~c!GM)y7u$6mQP_IZLt5N_U-dKy6OSuIvZ_Yl>rN6 zk$f_08zwTL)s(FP8*E-%P8-urKgs4cq_a7=VYxhjFVK=*vfJKMdsf5JE*os#dDM)2 z#6kvK0jwW6D$H9P+8K9;iV=Kk;B43x#D>%==i3U6R2(dkw-qg8<9DDfq!w`8XyFCa zpoKlmzZL4V3iC^KRU3HtV$vzL^~j_A0mvoKc*jTfa17*^mz#G)-HN%skc~W`w`Dt6 zGdgC=Z1ycku%KOXa*4l0q5Gh#zC2!cG5N>K)b!09|ok- z22YCp&L))0F5+yNF*?U%bAprIrWzE#p|1Xq%6M#337_eXO{i>1@o`DzJLLkYD=faaR>!^?zdhE&KxfJBR58$i4m(pMN~xEB!xRuU=~? zzAayJ75I02KOg_=nQpYq4gV_X{vn-oCKC8jMEz+0iS=`|eCe5((r-ES{egEn4;w=)oX}*CuXbHCnBT_7zFaWs+M9orxDwSI7en?8v%lCE z6n|jUUgLP_H7+vTF7M5)<@p`;lc&;p^r(#Br|uaodQQf=$LdmA_z@2HOxzz$gwdg~ zBmBt-jV%Kn(0F9rd!V}9j3iQfq5Si_;$OOSBBLI9cjr33!>Z^yxL@NiBoMsPm^ryV zMk)ICdi+ZF6yvzwQ|G7uw0cYZiXPpva~_ZX(BDgrrwn}ht{56UfT0n9Mc}`1C5RY` z#({n$Es<5&=1F9Q@aG&>t~bG%6WFyEy|7T`_`^b`m=X2;WFzk-V9wGLqpZ{shlrNz z{aHMfQ*K;6d$XXzS)H^!$p^x!&vM6v&|MigJ;|r@{5Z+F1;v|(2s=!=e!1ny6ZmU# zyJMtJ+x$4}=8>hZSi|W6t=~Dzx22grZyj?W7b|0+qENQJ+vpGM!ANnY7S?w1urbp~ z#ul0P8gDQ#scxl4s`B|tB<&UsYWS4AIf_{;i30Lt$Ty zXkpsfeg7wbjx+lTtoaHGyIaPb&{v?{OyZwnBG(+mk>lPM$p;U~y=zKKt&bXFt#6(b zM+5%LS&!w3r)4P%JX(*|&qwjdAHECGDVa$W@lcK*G(7grb18gZ>|M6W9cUQ5#+BkR z2R*Ej!l{uW`iS&~sY8@gpXge_cm-Y9(IM)Zb`atN1_&}+nDFm_xy$Evf8fCc7#N2< zOgJfVnY$kOe_Py9ZwsoF4j_-?OApwb!73x%%Ghp0MJ9TmoWf#AH$k^3IpLrLbMg@d z-rK@Rw0L5~yGAU@{MWq9@stC$|9nXSnRCMuq9yuMjx9lPD9a%ZvB3&HMz=sUNT=~g zPnCgQrUmmkr{;nejIf|>44}kpSYW8~hzHSsVMzfvM7WfHULC0bpNF|vdZsR5azMfv z7?`70!iimJIz;P)b@l$}(6RV1l+lh_|0eql=T-&%OmT%b zz|$W%uc4nWE$_qYs8l))BJ%Zx@%%>~BhcP55|N^0f9|G6FW$!1OJJ`UGp2^oF17)~ zPDm`V)v!kr$;2dO8{YrSLSbV=^@Y}6LL%oh0}KtB+U;#I-A~Z2>57sjq>$*fX;!jq z&TnWrb*vrl3$aoVvvW5A*ImxVdg*r93P{Ih1@8E%N5VfA7}&=pL^)al=yhK4b*tPj zl3e=OjZvrBb!ZB$xfyK8b}%y@np@G&PzwBMTDf8mx3}JTiEjTg)TnGHd?;;XT8&S) zuQ(R+Wk?YO-PmL6kqob-pOUQkJ(*u9g#6zgiWQM~Bx zVY+4Vm^P?4RiZ}=kj#t)bAe#y8$0x0eG_q$P?Ww4oR z>{U-yHC&*}51G4kPN8rAC6Eu%8RAGwQ=hOB6J>jE`L%D64W7Uto8R@84IllE=muE{ z_a94n5E6IYQzkVgqy`e4)elP}aK|i`YjR5vX2W-n?Q6b(q*=HQ9*BeHLafU4rW^wH z1`KZ4l~T=TKnZ6MyZMGv@T#J6s8Sd4#^!h&58^93J_DcH+u>AjK(uM7CB>#39!cFN z(fKD9&Z0cjtp!hqQ4YKaV>`Tvk&{b_OlAs|HK~;q>7|o)yzpA80-gq?T$A#Y-#+e| z^M7Kr85jpvgK5;6F|aBBZ1?5z8Gl?FpML5D3NqU$34^qs{Y^g`9-W>#%N@en>}YnE z>CU0+ry;}CTO8`?!%;y*mOmlpCwkM*+2@g#dmmzq-2-_4bGZHa(EMB~XpYQ7%J8VH zlYh>3fPc#2*>bkj4VkH*;-65q8N0Wdzonivw}6VY$B#=N7F!YGg>9PBUU+ni9lmPn zQZrD&)0T$D&EJe>Z^qsourz}?d5->c>&|Dnt*;`lq$wTt)pE|DR)E~h(_9Ss-M-`% zM9yJ5X*R-MPg8tV8&rx*eYL_+Fn;)Qd6+p%_c!;A;v!;qQcRk!;~#WGjvNvP$@^_~ zeeZM{NwL8r(DaIn{-%wa_RFnp0U$jFIff|fAp^oAFs^qq2-vq~Dr$7GG34fO+eGM zgqIM$h-obGPjYIR$PT>VhBR5WvKSWyjw?I#SK+wBNoe974L^vkRt$>I^nfYt8o`K% zOO9i1XI|S7+kwJn%7B&;a(&f_2gXX(bRT9GIKfCP`umn@$wLI260RW$Co$|`VKn=9 zg5$hrgB3LS0~RZO+N1NOm{qNM@Vx|qP;^OAtwMKL_WyJqhW(kmw8$yv`rWvQa$zNm z)O0J!!S>_Do=}1kBvxyvV)rO6Qbv?)q%7H5i#bbGoGCeXtK`u_bHrn(Hpl9kfW8aFO?F*OrmeGR4|sRNqX z>QzPLX~mpv!&sNf7FeDu*i*G^=pltoW;C9WB2WTL_ya1bzol!~4++rho4dh@;5f4aJ1q>V%J6mqUwflY02XB~1t56zo<;6RI0z zPj~WDN^kR^0NG#rx$EC1H^s2>=_1k&_?w@XNfHS>X(x9mq2wSA=9%NJnghm4oL;%> zPkVNp!?6*{X7*2CYr&KW>r)*ZD&yQPp#(!)HsG|2yjSY{El|3(xYclyA$3o=PVJ={ zsQ;9ApbT7|N(*K_{Uc=n45~796(T0H954llgoeJ-DHkAA!%qs)i94$ysT##0IL8cm zF1E))I}DLX|Escx6~2}G$DCoryC|EPk=8Y^QKTHiYqvoEcbHbeO)5=59@gjiKcgvlhoc9 z2rj7^HgJ`qDC&ecbkN{YgIQ0g>qXlqDSGCUG@ym@3;VX%$$D0#79TGP}s$ zD1sr@`sDQyp3J9Tw`FV1?Doy(DhGJace<9}IkrFRp2vF#vaOP9?rscCXV_3@z6CZhq|=*z-=|QN)4pXjYYA1tU>~ zRYP$nyd7_)J>`_3tiU`J+orAw;Sa4MC5DmHJ)eoItUtXukzJ4e+l_eP4B7=ojIopx}d% z=rPhNk^z=m>)=ACI-^kxJaM@Nm~w#))y9O%g9?6(9jc8Pn@Y;qf}+GaNg@TWNV>_#j1#`y1&G2=f8XaT9uY$jkN)b`S-fF$)aos4i)E`O-xIs?$^RltlY*}Ttd zd$Y!&3-aWE!4xUtK$VLdfFy9+bAXvn z5PX8_+7LeV$G-`A0P{=jNi@@nue=RjVYMQENl@ZoT3&qEo8baZQ9&iU7Q^63g5;U` zL8%r5iy@16!C=lR*M(yt$b{WB|GVXo$&{diHv=0AA<5KXB?!YgAOy*+crcw|CD2JT zGU(iAX2DST_?ct)V`o@i*#dAI5&55$YZtB^jwG_zktdYX3 zjGFeG_0ERxyTs8Z=*4!7|iR9<^|Z5_ijZ854wZBC2T^(2!~gfNwGo7B8X09!FC zcSG_=f1;qE`fNJ>lq={dJ`G=x3GJ=#3ukP&2+?n{%4FoHx&UcjBob4>f~>J@CuOZ) zoh3^r*v#kjIMniBUl2Q!O5WGHB`nHRrnp5^cL&B+OzBGu3DWRRsU5 zyOWpTpOP6vj)!36bwYRq9F;9oHn;pdwRD1L@3#fYIO*r+Q75ag;HG;qo!Cod6;FzF zI9-pm5h!9xzhZQlMWw3r4Q9PIvSiSyYZhfgVI@-yHC(&Vyu1oC`E$aUlKu|=7d>QI zH?`KqW3oA%-F$#nYt+O+*85+tgsq&acxU-4tT0nVd)Ew=mGZK!d1RqdASTiDk2OSO zqGZDevPeYyu(hd}0^tQysl5_S{RqN( z>GG#e!Ef&Nl5DDp4}Z~&C7cnh;(k7G4PX*8yv%P%W|vkYQ}u)N!QXV5?s&DVLk1M7 zCDSSAc=T~f*_ofJSWe$+xkp(x=~XzGEX7HxQr>}+44LXzr_os6QEj3rI67d)%DF&Z5ednc(Qa1MslrwUKK4U*TMMEsPrd87(Zu zGkj?&OyvKjl1=0GKGh;1xZk$-bUqfnr2=oy*82nnVoCXB1SxN|nW^0q|5!3})YTJL z2`JPxE^VYc&AOK2_OI(4G#<(-Fr%-guxG^bSo5p2w9~8QA)mFC?+X25nR7}XdcF4~&v}{~ za(xxg<2lu|{xU0+7#+F)$_W15UL$mBO4kFxSN^dgRO}QFX{d}wEeazuh47Zpwwip( z*o0fcJOb}8<&IKh+;SWi-P?v>^fp#ZLA|qcM136jnJ$CVQDv?{H+AFN$CHd6s)h*s zU6I+pJ=9S)1PqR+342jj1P$5-$F(zjm1x45F(47NHiDp`S4QNjCv$az7_L_(Cn(E( z-LZ<+k9q3kizsGigMzfs7(W|}4H!2fPU>))$D8F10ZlkqBj#dorEug7kD3&6woMf+ z`^rsP*aRVWR9EE^i}Oy|sV*-|nk$adb*|zG(5H4gnZ^?vKOT<2FjNniq`okJ?3Lt5 z?T3|O|5IaEnffX|vh@gmMz+l|$X_|Ag{>60e2@^LB*@~_V-#Ru;)_m@pSQuP=A&#`Tkvt*#t^XnzyP=`p3jW?8O|ORA8-y)A&y z$))>5x+{ByncB!&tV6>61Yt<(C`=XXjtx}_))oS&;h&bO8ghte#Veq6P1B~)i3rfZ z-~UzHy=5l?;cz+V9Y&5V)+7Vh8arEOAezwn3jnzI6f$iLXEHji(p!zEPWCs+Lj#Rh zUz;?Qs>eG-!+_M3Apk?gGO^c<@w{+IBL@c!knVcREwH}(h8=YQPp%5P$VDOP(KKk7 zwzuSSl*9RSi#$;fBQEHenX4r`oLTyve|e%^X4CLM_e8FECcW$^@1tM>gVa~ZxhA>u zhDUN2Nq*<{?=kIIS6W#wvm(_Y#nR?1|FA7`8$6W8g`Dj4R9}}qcoGz6Qgd;!W(WqWb~!ecpr(EY%p8Q+ zNfd_>z&S$S6R20tfbX0EaiWX}?%1KbiA>~kaxq3v$0ScJx1pR7 zH5ROWv$naD3O8`wx_PXbHPV6VEkgSL@<~~9c z$M(r5t-0BbYMe-jA+D`Z`MXWC(h{K37gkG1v-GA@yjs$MUuk{t`eCd_d<@6mNW9kn zXH-Rh$>@3-x{B!k_T08@);hy?^J)6&tW6ZIHt#Th0r@ErLdzQ6vP5^WN=4eFCvm7t zd9&7H(JdUheaI9FME#~-?yL$R?MtC2Z0>VgiZ3?L>1&=M4rxyYQtIxFFC;J ziB>`%Iqs$Uh92_JLlju+&o1aGXQXu3kH`Qs`b7oW7ET=|Km!}1uJTobf;@wl z;;(~nbA17JuZ04$r3`#e_2>iuUML|4d28TDd*-(F{dQ~YlrG?B^b!T#L5nU3YdC_w zvGN)3a_#kBmM#`wN+^ko{B-BPN7j->3 zuN{5QcRdr{({EX5K2fl-SeG>pIp(kCN8jVoqfD{{+x3_^YQmU zbz58bbq3a{XSv-~Vw`7LygAw?K+iz#V-#U5aKCjA>u)>Ixo$GRXTUH$%)TcmDBq9Q zyUT2>HR#)CD&*lq`OAqk*!}B&i$6UXaqt%thkvQj5wLE69^G+T_8Q-)6u#m z8j5{T>d}7q+EZ;V7RFUFl`ZE?u1OWs?Rnz2%|Ny1b3{C$Q8us1bM^m|3a%MON!X_OxK2Z_c`L=4%+D762cPz$;M z-tx5%E$4LY-5I?%!BGF0gq#)+nPYA?At$IJwTxnB)DYLq+G5Kjj>7SmSS z?eT;TQG^=1oZicDN%2V0c`oGG0{4PE)tRCNr1ZAfLO*N9v5p3P-&|2sOB$Xjwb$=k z)SC~!t;^58YPMgmHoIh-i!dpnYieV{I9%~3^RbecTZ+8=>FI_-CzXC#=Sd3WxYZNu z7lo#bm;A$)Nh*Xez?TJVTdv$}TFD&vsl5r!6s-a_gf17@cevB4bZ0(i0jBV~L~}fd zJ2x?`{=HOs;zZLBVz}rZuYjxbN5a6_M`o78$$g|xap^?uFKyKyiZD&SX4BWJcqTeC z(D?!)3fCgWE5Q`4#Er_mhTeFA^k@j;sMbD(D{rF%E`N_f2KP6@R78gSiCH>e{N$XX7LK-VpZ&e zPetjzahSi{xF-jGj}K_%l9sL6svHC~Dtfe>SY9||WeE6JZP=8!j!=$}I-atxMX!~F z$V|oB@A~aeFn;k832cUZR#uce{*pbi8f8_~wMO{w4Kaqz>)C#Ts;Zn>#kcCyoBs9N zMKF3ce97fwl}s1^D!@nox?wGchs(|%=fi`ewSc3XHY&Zcl!38>h&^!=&0Q=LXBHA( zosHZfu?&xbzC{lwx8$kr_o)pile_tmhOW%3ERa)Tyv5%qryVX&Aa=yOCeNO-$sQh!IwCHKUa9AVi*SaU z{@o2G?bNbtH2~4`cz|}eazzEm&6>?A(-S3$r3TjqF7`6OOH4Et-MLisrw87CqsK|A zXKkn~fEo3|gG!FEXg;Gu-BIJ6e7z+sQ~v58Bq|BShUDbUg&Y0P#(qd(T2tb%+va~8 zyVn3GECXr@1^Q1JGy-7p-;V$SA8wfJ@Bv6=`5A}LFzi-QYJ%U9{~sh37-?Z z1m_O-BQDPKhiw#ga3T(oc}SG%FVHh-Ism(sM56y7mM{<%d(QGkWza@&2BJvOQi-Ce zm5qFr#V^!Sh{pfL(`OyUnL0xYY(B$)zb%!Ls4PIH9?@la zPkUl6%a{K=4RzI!qFHL_hPb>$6|hUaWL1I_=|Nl6^ygPcc7BPin(ICK?h0CV=hA^bI z0;-E3q`w0!I};p{grvrTR%CxVxn%9_?~wy6-dHTcUjfq4!N#g*lrsmTQ2z%}K(4=T z9t}WpqWXC-H>y~udnA^<91}GY*N+ZK_<+YD9!Kcbjnce#bcn8~hxbT&`7LC`kn9iJE#yE6j zf9U_Qcw`X?gfk=FX>y72>$6Ny8I`srzaOf=bdk58sX7BFIS=TqN>!yemFwI#@JAa0 z^q3JNcX$#p^L?13oKgW18NuNm&t;^ z)?J|a#L@+#;I%R+qtp!i{up%tbfzNBh3xFp0`cXJ6epPl&Q@*e1kVybDq2}y4IW4H zPlwJmFzc6Bh99a_D<(w7i*_WK2iePT{-Qu7nDJbMgP%FX3l%9!;Gb7Wk$79Fv9#-~6@*uIm9-zf9qrz$smVk@8fR z8MWf_b-*WFowq{c>?X@hHbgTh&u46|)wWxjNQr!(AbCmwAdDZP5)<=m@LIE_M6Qme z{$y8HMzJF3q2PQ^@5QuT+w~K+e!T$xv_k`#5aP#291%LTZjmRfYjIMf%%xw|IrpQF zS;@o0V48f+uTX_on#dPS11`o(Oi(OeqOaPLs8REbIZSTC{K$Tqri5f!SO5v|lT^v5 z1X3sDkU>lO%9c1J*K9#^?$^#vSXv~+YoR7RZTsU~TxJ87$uojSTRUsIhbWK4N8=Tv z`L=bGkm@0<3~gB}zIwDLhRR!H2~vW+N(dRGEUf#|DHKv!mcV|Fy%Nzu-So%FEK?Lg zGR86ssY$!fnmu3D5b4IvDV{=b6<F zFeCua8EAhoVqMJq_EH*e~teEK9a1DqghR|vNg5%0K+S~Ne(wE)} z;Px>`6xs+#K`T%x0f~|IdkRQkSsi~ZwFRUrlQ1?U9IKwTQSI}ZP>g9a;jcW+=_vt; z=Q24^#4!>63gLKZ1jF{oB(E%O=I=5U=UFx2p9qMPkqpy9gJ}SN3CO3tbuGe|9g0rCDb2$ZhztR>rQE}X;yKIViWAdjrdc6A5{09e&x#Uexkg2RlNC-RGcd=LWp>OblAvnm*T8>7K$=kdAjlDQk}(3(2O%pO+5F}tEIIH%^=s#mTg6eydg1Mq z%K1mgC3p2$x>iJX$mc#sP-EE)^hs)&5f>EZ^#8!&N~{`A^}X~M9j%WPU|wc;r%EkW zV$~d#VPu$^)V$8b}vlO}QA} zH8(asIw|@_e3EOK$yo~bGhH?5Dv~R{R@pk!0D9GcFr?H@EI;y_+i_ovNp2*Y)~04f zrB%HPqVhq40%1pj>^CWTe5BN}qAnU18f}H;R%W&o%v6uXSv7C2;e*60gw)!RkM&w7 zjx5aJL8m;95UOCK=76zWVvks(m?-Lx=mg_IxqDA)f57?-<}kbaedaL(q~n3k`vpE_ zfp}>BSneQz8RcP>aq)WAhOF6axs%;|8dQ|wfEde*%Tma%T$Z8AshALc4pjQpO_TY7 zBNn#;XxvXuW5I(jj|{2{DbAaXwSc^bilz#W(UXoTfdGQ07pq5fUF#iq&MLxsweM zrJ%6Lp>9#a)Z+P;0{8ZH0GV5ssBD{6EVgiEeiO9w(G2A1ho zM>dMl^JX76(!qmTORh{@pOEedrwp--Y6$=YM^*Xdc<@>UFT;aH;^8NqOS9;ZL7?a2 zA^mV34tEx%xR-x2r&@S3`6mq`G`x`m^+s$9T-KD7&8f8kD1J2qM?X|>YbWGxmbIcv zfM}bVD#r5HM{n}OAZc>MhCB1c^A!(@@W6#(b4O&-nn8W;Xk=xcgrFYK_28lu5^K;d zBR!|E6NZ9mkA9?hOTKYSVb?N)@#ZH+emvOX|9M-__*I?dM0BA$AzbtbkaDPcBzVZE zaEuBKpwyL(F*?>)v*m}ijy->>58PdzOCY4P4?C4`x;%y~VxDS_nwWlMgh|6y8CBE?x81 zMh7^L5ugv}tyype!rDnG(p^0yPre3ux#968Kdb&HYDL%audEG*V6x#8Q`#NQ6s1@> zRf;>g5VNe_sIBM-kUR1KDy)y(vTu#OLc98C2(-@}@k}j|fRr&UAm-}KO!qhv_XVA6 zDcO``vv>zX$BGsZdt7#02}tnYCmwnxC!?J)I{qdg&W8M|>%nfu?{mkdxE2s+CoLe2 z%p<)WF7*w(R5>Tm1cZYlAO|OcYN{Oq5*HDWY)Yk^kY(9QaIV4}5s>;xKtx$^(dh@b zl#hFrEC2~Ov*)v?N|zQ8N`&nIx3tPHcl>N{H}t|#1cY9$_l*qf)4moBrC50;&q=N2 zafg-|zku5U5@d0AzJKs;deJTd5^M50ih%US3{eHJ+`eEI`)dBE3jG4AT3k7v9Uo0Q ziS>zq94#Ql(^+YbdhjGNGFc6W0SHKF&sk~Nj-;~xh`0sLvE(rXL`awSnw1Z)G-As_ zbwj0W=6}V^T5d$UoaJzdqvC@;9xu^*6hO0J!?Q!p-4)J?2vZ$N`f0=HjEFg+n4j`nKkDIjt2XP?;EO|*c- znBKO*qmx*FRF;Y22h86V+V~J{e}{!HYvp>{&g4?!pD7^C4rowHS(;Uv+WNU(o#sA` z>%wkz!KzFMk9ZK(*6%h|1SoS?Siwx;RO|g-dpG7TD{8E&?m(G~DV9S?7Z7>+b! zR(nnm%)4Bd)|tG%$;qD9CHS2z=|39s<-?x!6sHBdOt5- z&Ff2TT6vxqYS604=12x7RDJK+r55qB5JvY*TN!dPy(|QyP>CGjX}8h zAe>Ma;_0-ghD&g;o}NY8Bf*2`R%sGUX*IU8>x=qBWr6yx>Ls}U@_*|#?p)i=&+0qlw6jf}^O z9T1u_v$JQfFV?1YO3h|({6U6Nd-Ty+vsLpU#CL& zV3OErSVyI6Az3dHfHPp+5tHd%-Lr*fnc6#shLn;t89Pr}r0Pe9Ta66u=W2}r_^IE2 z_Hz4X-{^fWJy52j0`Dtr1Cei|0SUGc+5xFPj|`mU9UaAHQ12_%K~yB@TXVt?Rkd`j zdB~v7FuI@M#it5WLGSY}kq%KXgpe7>)`mB@1scn_-btxHP-RyKEp=TYOS&1oMk{N~ zi~y6}E&dVex70Cf)kgCxKugTAqc@^(!L-%pD`_kDBg^UTZP83h<3+4`MMe|U8bY-A z%xrB%n)9?tGHrKrk!@mmO-C7QjzJe!XHqTq6TPGM7tEAXX7!wt2lEu~ zbdjXBV7q2sA}_pS*immb-bF?A97Lh7oQnaZ-C=vqdJH*RANUIoi$~^l<0_BL@Ftzb ze+-SWNWBi4W%fl)WIdd*vgl@bt`v#JTC;|^yQXa~n`1WouUX!QVJuGEl$gek6nE>T z_pEG(YeS~$`{>RZM=V)v3kFYwP9ZjjY^Mu#oZA7OjpjSi;a=q`#+zfe&Ylk2D{s0B zsZJ{~rZ#>sV>Z#%RKq6XIWC^TK5x#C2>w_Oo**WDif=x&pFbq-Z2)Xg@i&0#*p5h} z;P&tOgZL`}@ofr-&ldzlnj45sLS%^6j5c6cAtXkdwli(4g+h&y$G531M^t$N>qp-3f z$av)FAIbSM0ntfdT8y+S9+(26L$SESIh{mt3W)NZfRsOF^95fF_QneYggZ!n3rKq6 z3atUrK5IX=HB&&wAO`pta6A`~2H>SqMnF`Frvkz%0%Gj0d`~O|n#XaWAESFS?uE_P zcG*s$9nx+AiHr5Wnv>NA%IU)dh+0LOvb422bJHK6y)h*q=l*=KdtN(jtjHev%1!X+ zxe3Q9-e(|D69GA& z-V+{E(b!);F7Y@)JB~eEU~Wd9Xw+#oC-T$MUO8M%I5?uc1{>?Iurc>GQ!BNT3WXJ) z{}21_qT|etE9n;Q2QEv>_kY?02fsuhKxj1HuCCRyb_pmiJ0(%P1Q}HR-RcF>jE!z- zPYzxXbS#^x@%@?6dfF0&o?(0TK4;jzT-wB)pEI|*LVRN(B`@28+?(&YW1UxLRMY$v zntkZDM&!C)hj&RC0SS^$O|5+f&jNNe`JgGP^%e2jjovWwl>g6?9(^_0Zx7d?owK@M z(~<8Sn!ESKvWvwj`z<|qEbn*x&9B29^I+KfTOyx77%eyKgEJMi2|hniAPdnaeo0Nk zI;U<1`7GtM@JC17nP`FbiOAJ`qf1V9W5PeDaOLKdcMchEhd+1Ux!jzx7F|pt9~^nu zZA$bO_WdxTjyQE%y%*#d5Xf(jUfKV~?>qjy`rmK$FDmiB3*~@j<*E_UnJ$_&t>#zn;)v zp9=ZC{f~b~K0MBg^Xt!}_wj2%ejJqgKB=2?-zVvQ_WgL@xsSKZ`u<^{p55^H{^11U z>Dk+7p}(lv8zyWQe}AZELMh$${rko1@sIU?UkRAc4|=>md(LUA$1@&0a$QEXe>-JG z$HKdwcs#xnLZ3SA@s5Pg^YrmH0i84G1I0agQ0s#e{rhp=>eHGJ@__;OZbIP0&o0pq zT=Mu2^uv1}v?BdsM|@})9x`-?g$IAJKK354^^XsNc+?EPAM)~8xpouTF@3*BAfGeb z2R0oE`hHXF(^A{!s#X{PtU_tT_KTfjk<4B#6Hb-gsm+)u$^r(jS|1Q<^oga3t;VwLQQl zbm0lVqt6m*X?8w2JG^g*==wa`v$OkBAhV(R;}G~z0<`H%+L}9BAH+s}dw3>`>@G(A zSr&2r-Yz_@R~=K>%ShB^YZ1!rt?XdyC`{|)QMetKhWj4~OwWeeTOTL>9}f#X@XG^n zxgdRF*%XDW%E=@rFP=l&pteaR7Hc`G);wgHo=~ zvj`R&LRGD3=h*5_o_QpKNr$w#W+H*{pdG^f%LKj)pM|(CIf(E6qlu1;=Vs|pHIrkb zW5j${&g7qtn?qKA@9Co#LIq9!eBdHf3miUnHJTv4aSQBAGcyj0tz^c#m)7t*WYX#N zVPnF5-WmOeLmhjXI4i}bs2t3-Y)-8^*f!*M;3O9*{N|by`y!BGzN)?mDwSr1Jrbx9 zkGg4dx+XS7dAZvXqT7uABTtWNn>OS|5-P|sMD?P+hxg-)`H1X}jLML2t`2fY8z})b zQ`vfO=(?jWd3A2hqV~w$(Yt9haO#KiMT?@lPe+FdlwlNN(U$#ClvR<3k=V4PNj5S- z{B*twWkIo|j7jmK<=2n`B zlPekqk{5OeIPeLwSZ@aGpyu?Ajp;U21R?D28v?+#n81PqKF@=zV%8CmlBVD~wnc%* zw+|@ROrA-+g(uqY7j`dFY0%QPKL{;OGWxSwNKp5;Wl?CNr0;xdCsH$lo=c!65{ z>`;1!PlAHCLzoQrTteB^&u;F{_I&DK8DF;JOdzF*0DUA7pyw1mbab^PTqoTR1oGGt zh!JH1VTTXg6NvVNTe9vZfkgaw1mY&dG1j_HAdwWT0FKGPM*^`C*qOQpfq2H@%KeU% z6_Qck9BByc2?XDD0^#I%7-|X>em?@hl0aA*1cHI~GtUWh1TzVwQxKR8gW5<`cqD{0OsEoE61ebz1jzN@h_L%M1j34_6=>d+%kDjH z?+^%42aUNq7(||l5@^x6%XF0nxWXR^B>oj4q;UWNvocB3EZPu=lEM`)9l5g%$q=qp z?elyk4;`(qim6eJA~@eoL}>%;!b1Gyd^S}+qWge$ZreGDl@60Cs6MnxLqAPR_&UQL z&4TM-P?dDJ3z4|zw$}+po$>oR{BmoAof6=vp?=gIJ~-E)%~~DVv%SAt7o=b$=SQjr zg_-Xvtb_}zoCXrd5?JjKI+hfvU-raFcg_|Jtp+g%9Vtuev)1R6o`q!G$&XG)ju9g4L}oC`TA)?j9jI?8<&w02C2e;Eeho*Y zrgH!-W%3Jq(d_$1p&?u7;2V=JycH=Qhp(L6(ThpAt)e~<0#cI$zM+y@5={a$kR?U3 z*{MW8zYrJKP$0r1z-hS1b8N8_EtPsGHOL*z z5w@WWEwJj}p+~ey(J5flUF!_zm~VLFaLmUT_8Pm&e!Gz}@W5(vfdv^QMbLhZe@P}r z6kmj+3)y4SSC39(^2{BNAa=Fs7`LccKJY1b%A;rotHjBAYZeBAe3{R~Q5?LT@Z$f}m+2 z9M=&OQzBD*aF99g#)|QHN6Q6;jOTZ};Ilh1k#g>WL3+94C`)P$ZhFnRbk&H)0S`6i zCtzrYC`|;ZagJa8MD>6PSZ#<#XBSi*D{(G*JJ*RXwC!5RZq`%qAVDXOnU$bZw)N8u z1f_!I`pGksJ5ZF*qdXOmSxggWn&)_Kxx@`UEC`cH#uzR#G-KgT?B^_J1tG$HHd#+& z6)Tv^w^vR|Cl|1=Z|u;(#>2VY0gzwrwT89Hu2@5Z(CK+7WU!+R1=w8~NBNb|7d9n< zP#nNyG@ZVS;J^A!-k`hY+;B#5LOqN%Oq?d9<%U3vYI6sYu*+aX+a!>O2_$&yI|(GJ zpikl#t-7(31j4f<5ITU$0q_VFV>KZP0x^ON7|SK4!-o<`Sdu`@)}@UWqFLeqX|&3y zZvsK4bFF@&p=MlDw88}9<|>m3wXqF7aH_FfhY)Ft00H=lNYRkG6bjgcI4cTA$(1IM z?>&LA&)W0cIPAB{AP{MSQrK()Q6&iiF$f~>ArKcn?XfieOapar5{Q?ZzA5~1m#h^S zM}3g37!DL~&A__vy>J13auoo8_{EK$ea@MFA%u!j$X4K7^dsqt$Nh%P)v>1FPbAWvI{G}sb=);UzTnBpu$QCb_8bVJpwWh@$xj+m zf{IUKF~QGb`1)|sF*$2Ssz5x5HLh@vZ*GLflxn9u{7{zb3su_u?s{FYK$v698mnpY zD%FUzD-bTCG%~merfV#8ZpNT%b{%lli-wngP+9<7>;?O{ z9Y(+*sHXytBzF$l<2RdjzBP6VePJR#HKCe>y)GOGQ2=!kc}TvJ7A7_mKn?E&?#_TlLmAgZyj8zZXajwNi*@mD7O0V^ z=8N;o_?D^eNF4>d=9?JKCjD%XsYJ6rQ`-^GQd{XB+**fO9D?=?mLP&fAO> zKK<5=s0KrVDd!>pblePvATj(9PY4B?Chqw_GOJ)AeWO1|p817TbFoJNMp3^Bp=HN6 zMW4MH>40+mc5<_eBfPv)JOGbvXu<9h%9&YhVxzf;C7DclS@)|D6Rxc{__K}F664u* zB<{qi82@o61x~Yu`HJnp+^oezRI?`;?&$a(9g4{z4$2aw`E0C|+#$g99Gwlbc*Evn zAgSUq$6&F4p@hXxZF~}C@5uOeo@DcmC7N90M?i294zlI7BcLEq?9Og$R zF+Q=w5pW;mt~qJB^3*Y7y+?a1|0@thA zG}s)SW-ZaPBn4on48JOYJwtR52q+_9QMdR=0^vOtcnjKXr6%ue_ol8-R?!TAFQoi*FJa^a z^%kXgeH4t-34{%3>f3Phv@?;^ za$qxYf?4+j5=IAs{D0_2%t_0+Q3vOVu>S> z1>MT`i296M8B?@l=t$F?;iVvu>^XF5RMfndVo(x@{gnjbwh&RVE?VfCKpk|%C`ZX& zM@6Y^>T!xCfz)UOf~+8r;BxPQK$wWup~-e{4lDT5=X`B9KZlk3Xb6of67KONp6EDX z!aa9p39BuKM{y)dhmrPHPWbIw&VqraUmTQ`1%DZlu{etn)yA5*)WmtAL6rUAOG7&h zCTuZMtLTWV2dafRn(z{bH7A;P2xN~p+LxRSe}#1KbxNgK@v}ubXJXb}Qk<4GE7qo+ zAszwNFkb^ix=|wRCT7yQgnS?ohsFC4hsdY5`vs+d5(cu^k*4*?AU?~PRZBOcKo%?% zH$-{rb?Aq)vXXSoET*k=ryA*!F$x5v=%iFWx=WZKmQMe`{UIeiVF|bZ$x$vMOvY3| z-k;<&i!EKuzAJHGkIe{k?9_-)a9bPhVA=?LdZc8J1Zc4h&qqJj~#qS z>TGd2cP}qaOHieQHWuAPz0L6y-AZO$p8JmMO!%1s&VxPgkF)q-s)ObH$~XPW-7BXNmu0;PkFo3eS~i&+M|olL!0% zPXzK|e3Q^)oLAbUvluTuo?~nOX#zQjdtb@#j|t=;e>?LQfiQlbK+=j7^1B3b0RMOT z^<63Fr5V-_Y8mwN&l1S@j}gfKFfGm$_IbAmj5h?54+zg`yg?v)FG3)HN8mX)tI61{QFzW z^U9wp!Cx%a17pC1_ehTw?!^WdjnZ;d|p zCiBmqq?6~5IQ}f|`O^-v)b}|tCx17oyWXD%^K;_-z$2S9`)vaGd~>HF7n6_jFx{Io zKWo|_ft(lo5y<18CXmdi=XvXYKY@hgpAY5p-%TJnl0Z(7pqtmnF=Oq(^A$N(al*S{ z%bN1}i;80%33_^_CC{8m$nH%z_A|&kgW@0uCufjS_WR*zLCA8G>&|71?X7AZwaU1i zi%%}_zBee0L-OIf1eL1fif0~ojzps3jIpz(3J7lZx0B0G*B7?2^x(ng`S;f30OvXV zGwpWrGFU$2c+esCF>%!7bi@a5tcdeLECdp+O90wF=k*paUak?UY%ratwUV@}o2S5^ zqSH6Wa;w$_c4CMh`KYHzqRs4Z;$DK;7dy@4=eey+7dwDyPgotk3Nzx|+nYbZAxTHTAFqy=61*cY3&F19ss z?2!-HpwT?}{w>=Y?q-equ%j!USrTh*R1pm$;WwQFH0fC z1QMU&ukN4pZ1-_ibRhBWOVms~BQg!&!!bE6(G1g+&4m2HSB#57-QXxAN z+KV#w=eMx=pg%{AO^diIUFM$5&vVnoU&u-Gvh3yZMl<31#BRdh&#Z9QtusZ)YN@`> zS4tA!HfT>b>`P0sc;;X$&;d5vv-NR;*q}~iqChCKF)wsYmQUL{x5kpRqtB*ojxs-5 zx!ojcUzT~5R&RjNWoGIm7JS&D{^heBkq5F{i)#bYCVaKC#leZbF)G+B_j+z@zPGi%vxye`#zp_w)ZY;jJ9Q)+lf}qH%tcaZ|dlfymwtE7}HN8G& zv~w=Kgip5WC4qS4E;eRz?FnR)IE+sTB-!XdAPvRcm@R?iqvw{Si5DLm+RU*bkY}?w zarrKR1m^kl+5|OYgX%^Qu_EeU9G3)=5eZT}6hOWOVQ)N>zT>#~k_90ihiA~=#<7DZ zg5{VI+v>s~=uuLHC^;T2n&Tc z(i2HES?#*^zUyQr^vK(y)GD`G85fi+%o*XNI%^g5l_P_he3SqP#>oF<*uSDX!Y77H zG*Xdo8d)Qs{;(yPCdqW+kX1tAvtvkXL~Qp`+M53S;zCy zn-ZUI5s`2>!v|%wIVh@cfSrfdA+*R4X4PVGBVpHjHnrlJ?2hV44ioISjA};FIUEUW zpF00D`WBV`2oO3zaUBbUMl5V)NQ-ibJRf9rS&D*LtHKezslkDd{3eg5gc+t}EckH!2><+)#p!{!eMi5sZ&=zF}64~g`HWx>{%_LCymx) zwsv+1&iA*_AV6{F*OOAE&88(p{>DtC7{Z^HYg6mWa zyuwp2kHv0BoRwLFyawZfqXR4aC0)loA!=|ocdasd#(vvfz-$)Jdi;}CEHNFCu5mPT zU1Ucvf<2#T2zw3Ngn)hMTIt=Hq@jVI`Zp+qi&&M(-&=+L zLMA6NlN*t{x|!CI<;=mNbVLN{_Aob)pe!59mK>-P(6u`}@2y#rqS}SJ&L;Mn>^)=C zIIa^&pD_XtPFg353|gKB#ZNmya%Q~Oye5@ ziCl6c7|I8MWYQRh5yt3343snyDfU}z*bs<|QKSuerII<4K>90qFU(@nARUlR0tsnp zN?wby4Ci|Q7A286E*liy%d(U-0kliS&)zo|oXNdNMQ zVK$@pc3u@%{BVGiGKkFDcXxA4hQFiDu0f+@_*CB>FkYO6wuY&F9np`}Gzr#A@&=f< zCZ~6{J?w}+H+`B+l(#n;-Dz*tZR`@29F*x6c6(=Q+iY^AiWfdM&tql>F2m51W7fwr3Q`pd*9~L72*;l zc4sHERN7)avYzkr=pOmHEaw8xHpSVNn04mGGmA)*(~juDqs_9CUcqn*B{SLHB;%+J z(SHQQ!v6`5v=?=QG+C1_PUK|G4$$OPRs@ogBA7;cu4qvXUuX9AQk6e5xK_0bZD5SO zDFyo@S}~C%7C;D7TT9bt<9eDUxaVO?Y>qX4;%dR-*s@7)8|XZ;JZ96gAvU0u6~O78 zl{`4m7|hh;@QvgIe-1zFlOZaTFrAaD%?;Tjnuc<5{M1OS#RyG9d|q18U3pHcwb2N* z_bIKxvT@PlXX%grGO%f}MpM%&E>TgHQ&hS$a2`AwZVF!Zwv>_;Cz!tTQ$j48xY!hi z?vl>WQ>$DV$c@8dWx73UUh-r+@L+GdeFW8|JRcX~*_{^z(pGei%jP#{jOOHBKj@j6 zLi;@?1C&9_bt%n|%=B!Xa)V<3+N<rjOr&ORz?+X!;?QE{_ zBapSVH)*m{e2jdE3VT0Wwev`jq^Gxi{Z7H|jk8|qoUA;(sW@PQpZofh*?92Erf_CG z-<#8aXZrhg*E1XOS>1MLxZZ`64@F{&E;Dbp!%7Ba1hei^FiB$59s1SG8Mhgc)N#K& zX2XSXd+Jo|56$)?Qk@WfB9Kk3-x5e`1^FFv_XLvFs0ZRmAn|^>2dopwhBd+(3+%|t zk=93p9yl%aTbuaf!AW<2++d7T!Y!Cg;>YRA^V*&vR>9JgS@>SZLOMT2+ z1Y(UoCXn|>rcFML8}u6l627#Y$fpdRUl{Js=mhdO_#|7HL!C*N_wIg2ASs~j+t_hN zZ<{?=oKtH<5o~@-ALZ>NN384w(#Me_)1}7?WA080+5#g>_qkI{&}SH9Ng(@;k%!yk z?~6)Za^$;(GrmwGNZ`EdJ)Lc3Fnb2XpApPMsXdM)`*Y352cdBnn09#Xtj9T)1aB`S zeUy^BlJDax6^f?pVA|o;Xj>gK#}QIerxf~b4Sl>5t;d;`{VaWuQ=PW?Y<0tiUXg;@~1Nzr}__>=t&@^#-aPjBoen>?hXz~jN z?E0%u!Qhcq`p03%lHVV{5B~Q_%1eIUp2ra;eEjG941xS_9UuAkZ~VFcZ~S5NZ~PI+ z-}rO?-}oDU<9`o<{EhKEkNIDy_up9hY~ycS|1T>2hsGq3>z`IBgv<`I%PZcloa-~a zf4?lRwTKFlng25d=6uufY3WK}@Z{{&yIh)ey}5pZGdCFpGf>?xvqKY6aB8Ut8&bY!RJm( zC8oU;r|x4kj&RH%yqAD;ySPb|(pQMF7q64NR-BgpGTsPyH{5pTIak&pZ|7;r83c2M zcRz26uFq=e`d~qun?KK>fvyhz!MC%#PnEbn3VhE|8}=3_FS+76n02j2AlCsx*SiF= zJ|U1a92JiQLag5(jX>6~5Qs+*$cJ~0`3`{`u)99*XY!0Z`Q*jV351OeHLr1fOdxX# ze;9Q}^1zu0w|YOhSNfm zgIVkArrcR$TT$$@RV%5}I`Y~pKMsQ7D-NP7W+O9>`=7cE@Q5c1KBVL(=N3ycK z8z(g6z*B9XR?S+Cdny%SQOa7U zgDh~O^p%FCAS&^kZ@0`d`McR6xgX>;>igGZ@NDQ~u%Kqw(#O)zD-?(vc?RAg5dHLo zjL@GqbZYkZ;R%um6NbK}2Hi7teyOq|RVW7MIE=W8VoNY?uMb;ku`o~rV`F}7%57{| zcFQ}>b@?Ke#Re?$+&YSj2(`xpi}2$ne$^lj*fsME$^k$Hdn)hkii!Osrt(`Pi3NfRx+hU^JVCPs<%P$^+*w-6V3*vGIiI|1-KMu#(&)8S|3von|o!BdK68qE}|La(wr z!d(OJKF7r9(09_!%yf&kwL*)js~r$M4CoAP49s+gh-{?2(tsjJ zf6I=6<+Xf7pg71d995z~I^kf~psNvpNdsoVa=w=BdDzA!ZkJFeTLzh;mQ(J4_($}q zy2k>F~T( zP3Fu#(Hokua45K!pOvUtUXg>ZIY)@-FN^FY-~T9#xV&cPikc@7j&bpgFsLDA9aSO* zc=kk4j8Dhj@_R=&fcS|6j|4##*^zG1LJks|>?=>tpv!F`kxAj`i?`y4SR?<2*B zj@Hz4GBr`Pr*TuSk>na(D{zhxQkl1lm5^&Kl@!t&d~)!baV?)*oj{K&Eemy6Ifk?) zLHqIdEzWwUQ89eawezJEzMg?|^q-0cT;Vj;9Erk~A=h4+F08m~Zj}pYNSFYY#&gZ9 zuH`LnP$FG?MXGGl9LG&5Z9G}ugu(_v5D1roj6ZLO%PqtXLGUe$X-BhOTvhoox)TUL zl0fDp!>_n}2OeNu(@ln9au+HK5T_q1To8yBMMGn*CuOf75Qwn+J+c}MRHePJ;_RCt}{rO6n8;N{6N69c`f zUqK-Hg-?bm`k6rV8!(PJso2j&hNB{w*boSVEOFtst@_~UjzF$q0-@>SvhajJykkHh z$`emk zYZGIm*yL^%TWNrRsi>4rDgDxTkqj?<45NB-wJb}nrEoJ#K;-rD9H4=IYbZU-V7b@P zR#b*fKD8<(p<0W5+ z(Mq%vSjP+E(jWd(-6TEhTzdU*IM|~qbD>3zK?`zSQ(X;r7>OSOp#B0?ETZJFQO8k&3If`wC3o=NK7M#|ScvPh7 zkr{)=ZVkOHRyh-+X(6$G3A+|&2v>Rzsqi*ar@+Irsvmo$9(^%>15yg>lyWb*Vhrh0 zRrOW+^&9wu-PeEr;xvMZszRl8pBkdGvG zij^j5QIzV}`Q(O7K+8GQsVH+buc6j|xD?7GL_v>UyTl!Cdf;*yd^tCZnsv58jb~XT zU8=odt~zQkuJ~7#g^gz=tDvu+g9@q;u}3HA8B`<#Wc{F2qaZdH;02yl5gzd&;5Zl`jX&W>h6 zo9EzOLIq zkfQ+(RBolC5(oJ4zJ;bi9+F-#5ek*P<*Bly)>aEwS}CQpVpXm4`w^{?l{YbfkQ=Ug z;C}~HF5@%x)9#|U%$GVMgi>JwLP^H-uR*OtvdL+@ydevOf*1Z)W{5aJDaV5|zi5GN_*KSMiJ zwseL%G&u{hBKS*kM&WwAI7&poJyOdC+>uhbZ*-U07YD{G&=` zKS+6c2Xc4lv_OZ@D%+P9HG=u^i+ve6;wi0$aUT=OAsfJsG=qSk4x`zfT%!MawMyM z(JP2O=n0u5wJLbjCi1$p9j_T2rLi!WHi?W<^Nx*FM`<9;i9D+KGEpEaeFiVlDA`r- zsnCv-v>z%_bb*WheabQSqv{|?i{eH}5FeF`%GFvk%6=(Lc^!k#YgN*5C#y6S;i_K+ z&gve&$Yln1Zuf%ZwNk!zQJBgPs$P1v_5!}TjR7ReyV`x%&AX}5-5OegKq`!DaH*Hm z)c=Yhl=xNR$ey(T8%Mk}AQ|UC!dxbhMO_F2nJys;LHut(*G(W*h`2CShgn&?UV@Zw zDtc81bQCXZKp*AZ1X3Od0ulVjfI!BaiU|aARX|ijO48C32&7C^iBOTfE^4tJ3G)z$ zLR5*bawi$QvoEGAQiedT`BFr-AQ~=!Ky=~J3ng5E zcL=YFrgT(d)+%KX-5q6}AkrynhPnZPz?I`=tHj7v5D3;{wQi9>WI`ZS_FfLFg~}YY zq2xO+$m*zyrdqfA7NOLKKq~gqpa4{@^q6BqAlf1PfQ9jF1TyF@M8|&nBkZqgA#Y&F z^GY$me95dNke4Ike{pfqpqCShQy>s7OtQPG$hy6GDY@%{1A)-%2{cNnk~Dbc(nJxz zZ&q~DL(ZBe5V~reFK?*aQxD5oa2zKr-wY-M!V|dv(hkLu;HZjKaj3%lS}!zR{Og?w zM0i2mb;&su^7}?a$u6BlAgU26v~nX?$Dzf#&lXP(^+p9(I7n&8OUc1~OqYeiAzD%n zD$7JI+NY`~Db?O9Ksrr=L_Wx&Z64HjEg=)0S_Klslk$#~9@TpR&Zj6%J1A!tLYH5@ zl;|}H8k9$KuR1$xb@BSZc}i0Z98?D7mJ+`@o9Z7&8HxMGEP|t4>&{c8s=|n`FY;-a zahLKL?jJQPZ%c!M*$}bd0&SIGIZ&s_P1W&H6y=b)6i*;P)2B0ZatToRQgIe6>TPkA zxKTO8t0lH+QXf;VqvoKrT*R4m`d;c*w^8V)U(va9DIIlMc?0?oH!Cmon{(@aF|heU zdnt({pXyz>ORB`xQh8O#RJ$jSQzU47XcJ~%P%x!piRm^UWH0|c#t33NBcJ~cuuXpj>SWujxyuanHF+gYCyB)cg zo2Y(rtI|MOM&DLNRkv}yhOD(WDRLvQ)~_1F(DExA)=$Z-pAN!%E6C61|1bMfQCc9meAql}@;nL7mhUUNdC zttlKRf#>}uL$Yd-z%3*63zDgt1Hy6821#O=zaN#$CCtC&T+ zrQoP8R>Q9&q-^naRd1R5QiEwKP91;OhXIr+PMVyz8iNRfcohysK;DMwHD4O*OSP$j zXMu*^UqwTY`Pash^3=glXI;o8QWODUUZp9gEZJ8!m7cg*Bw9uBSsQ3Pm!OG3i_%UD zHi=OILJbyIBkBf3FQfS%f)PQ59iX-_^P^&jX6$8RpH;C$SF3}6E3}sG7-|wS|!qUqqVYQqwP-m3?=)W=WqM;Ny zscwMQyIPE?tiUfz>T-9Li)$S|SVi(TZr4|}b{gV_iZI$Z>iQQC*I*Q!g6o(BWa)kZ ze5hMmRn*E6r5Q!93DSYH+;P0AxU$zb|Ov$z`_;;YBnQDF_-! z;$mPX|H5DbDTi>&z0bYyBRc5sl9+{u$2JSnc^S+eR z?;;wd9zZC=OA`A45lK3wm&+`Rpa}Y+x&_^5@Ty6!y6AK3MKa}5av@pip;!My4<|*D zOqV~OtfYkzEfKFm)}tX3FF#;Z)Y z<5&r5D+N*7?Yo4bJjW3&@>cL(1FobDtogj7sw+IvkWRW>QWPiGD#DFPx zDQ2z?hSm7e5rc6jhkFHwkY3dkQMy&3gwby`7uAPA3%)qopV!$Sp=}fURfsBdH zRFMM1f|t2`=-1Qkd740=HI9P~IbT>5^+T?Z;7uTv*CLP+1cLh@kg8!%UUjLPpUSRD zfj5CbQqlk&kc`zP5J^D*cYc!sgZ767JY*-4d|v2cRs3Juy;vOk6^wMFRs{z$NLay|mx-2vtC-dF-TI znLx}8)@DE;btYnIp`k@|*G@>Ew_|*RKw?}N!fpl?*jS8Nl>#dmtuLQBnS;gv3W=4L zp69Nl7zV^m9mZ=b?XXaOx?uU8T2L6Pqitt#H-QN&48U?Rqd*X%F25oQvm%9z-agV) z-skaTHOGdP=|d(wiD$@n2M1)(ug}QjyxfxV>o zS_17wfj9Kfz8!)M+HGw!AfN}kYzT}0fA;M~H;-kv;=CSV?8wLV`@iTwu7B?zh#?v+ zNc-5yxPr*tbz$+c$i@D4az*R>sz(_&ss+E4%$w82h@mfIr@KgF-QHBwJCee+v=>Uy z`G4vW3g4UmNQe`BPGumk*K^K0TgW3?>0EHuHCQv;EgF+QRQb8rR|HI&S5ch()ypFg z4)tu{`n9qeR+lxQel+KDgW&y&_|ZA`dws0cQbX=Vi1*_wjC-d&R0G(Sv9CNhv2hk- zbo{bd&3&hZbaCRjBjET+wB9jf&Z-Z+9+<^~&mM$Q+tYgBsrIwTV#rPO^MOV8r1Smz z*^ZfuR%!7G_dt%7`?K37UC+Bf?L1>>VElJS#T$AT>7Ct{^ceFj-&jtVe@pZ|$cbecy1QE#Z90=so)As`e z^6{Mh9Rydpe(&cIi1kl1W%KF# zw-D_0GYRBV(M!O4$@&?A`1i%D&F`;nUcapPQmqyb*~G^n_thTLTczCXaO6wcJxPHt zU)I*k+Lj-DV2^1@L`#6`5E^c3|n~e7tO2WSs9tJFBy**ADo1d`TV|1rR zCt3TYk1Tfg{06Kqj|$c9q;dTNNA1$LtM;vQeb3-Tg31L--83Nn?z>A)E?GThh9uJL z^$xVAQ@@*-m&>-B)+ZrJdz!B%J7#ps9_Kb=Pl~mnu!D3vn}z|C(yesF1h0n+X%E<#_o)}Xua9EUx;k-o)g>Gz<`P; zVAx6~FsZ&P*KmMiV<@~2n!64=^)^CEbL@743zsOb_eriHmH>yB3|JtSpKXV$9cG@m z*5Uh}ga%a*g;e0KR*EmniwE6{%U?G7&y>x zTRav`obRNSUYBY-MM18$n_dgHu{Ei2>)KY!$Qf1wwJ8=vL9z*)2#C7*ttqc?WHUE| zHVl#3A;ueDmN3j*-C_d=d)?s$A8ABVw5`)hzT%vzu073ijm<6t?TI@6@yxm8g2zyj zXO)|2vuH!g3>1}2(0S=%C<=1q11g;j){zWIJE;oWhDns-WoQ8Y%;EsDI)FerI0*#c z=o*16;BxOWAt@0E)n*Pv6&Ha7HN|P~xI`*X6b}e=EEgh>O>k2?fv|zzp1ceK(K{oM z>21!`HJGH3Z=^&WM}7Hn7HD`Cj*Fx$Q4aXvW4U`J5F4ps^C95D-7N z;eb47fFDJ60-5ZhI72ITJsV$2^fyeTlMNW-EQJ3Gd>bl&IkoECDZ1p-FTXZ?Ij`BD zeqWSl`E`Axo`2H0P4=HMaTI&oqfbqpquBPtkaoMX0YcDnMXN_ox=OO61Pr(GcBZA{ zmzc!5Z_?zY#PwxF_2oecO$V@>{N8Y*I0}Bh0Fl!OCcM#V+Pob$pWE2m zl=$+q3Rp<3QvG@c-5#>aR1Qgj>q+WqNkR)-(ZpA|hS>d^&#PDBq5@7TBa43JAYdgl1O5zuFvB+R&sQ}J}mRruB+{?gzt*L4G_1u{zX3N=*FJIX~ z-S)Tnw{1B zgi25td*#aJjzYoFPrR9xy1gWM)IwXTT^46>z!J{Ja%fPQ(S$Ywb9nwO^a9yvd8fp?6 zb$Y_sXCcY0ppoO+sj2G46AEUwrArsLho^+<$n{hv}Ow?np$MP^j{oXMETNQdDg_84=rC~saE zQV%f9KWq|wRGIL7RQQ^*X_a1YuPLQF7mr^uK;`RUCOfbu!1_(R9VUP2QS=}tG!@>j z;rFO25!0tBwH6)b(p-lPJBy2JkX3|YceEf1jm;GD`UTf_q$dqqFX$;kOsAOkmuIUE z`oOcBn|&&9&Pz(ZodaY%bk^d@vr5{@!xTy})H;|og;Q=2_l#AQ1n@5bM4YFyJGSqX zMx|xEFuI;|Va__eSYfI36(OC^LE9JJ%q7@H zWaG565zL0n3MzU*ICfx zpJYebLK6>$R7&`8Ha9=}(N=f~V_`oaO0je7#V6k(kW|sweL?*?ozuJMF20ln)xk7Ogz~gh$xXd1%jDAw=E6LJNREpKfuwL*(%Vsz9#M5kcIgx{^mJ){ z;+`@^8-bk7^8IU8`rQWtuO4?Pj=|`@El1(EXF$3902iF6xL3XVj?3Cn=sPZA z>0PnuyaI||v!yT8Bm8&~fwXW{?40<;*TX^}JX_IeE?4<>fX5`R1d_u~q>`xUhOqD# zl1TM!5>_sMAdqTaR5$vgFcjoEap)x9wpTpUq>bq?2!wc!I3tBpHy9onF&qNXEh*tA z$ZtylxCI2lxs@WX6^`l*H`bmy3ON~)Q9C(ol znbUixpCT5E1u5W6=p+!aemg*FmSg{;0s_e_r~=27h(P!Q5J!{F4d;XwTm4Z^UQRGG zy&HWRwD<5!?BKiqfB{4_U=q5>96xj_cq>g2XEJqpxm)9P?Ycse*u0}XuQCR*b{#2a zqZ6Fx8xV&{!+h@{M|ZS3mv$wrZmz!Q5|zg>+xfU2?hJ#&5wUfqw%nE?Xt0D^X^=l> z#}@Y-<$MZP;Gt2Gj%9##beeu=yOczZ{f!?wRSQi%p4a))NBzP3g>c-!96rqv+H*$Qy zSW+gG^ey7I4?j>HKl;fbm(e)<1=2okR8v++^%~x*I_F_K%gnyf(A-s~e4`1+6#+Np zTi(68bYH?RU)eCzF|@dw++w<6E;7N>LjQ!&Z)E* z@&cfZ1&ZbUKH41F>IEDew2n&qmGSD4V@}w#j0{v_svIZNM2j&ghgqw!#%X=g8ao(< zaZi>?kJ=j;kBT7CH>q)8M;D8J{qn074=2(FjX&c|DljuqW1k%+0E+~DI4>rbbVWwRp_Fx5KmhMs=N($5c@j@nhet<=hF zg8<5DCTQXBVadpQFbLG*poXeauZyY@J)=oD-Mho`#Ham}RYIgb&(B~|_}EKPzDUEJ z<|%Ofl#kJ=^_7ElUd(#;FOz+mj*Dp^<|Xmk zsrsB+3Nn1qT~U2eWnEoa*_&VDIlxf(VMVL}d?KiO+QQ8y7!C^N++=k#H<5lEZ+DNm0lR6cKK zVBCj5PRF?tNDm0a4$t$5pCFv|-DMPk4KzzJEh;8-S!iM6!oKNjot_&cI09kXIm1il zNerRBK*y)gErIMdyJ!|1sV3~T5PIEoO>GP=7g@5E;)TJa?p)jnqzjCNK=gk5xLMn@ z_9mbf1Hh}23TgaW*vIaTjU2&J}xT$GwokljUhOA!cDTVKjG2Q@Tnjv3Qy27;TS zo_N?XC&1b@oY8kb$`D9{T?uFJuLh2~v%}jFphL+; zt5zaG(91Jln%XCK%aHg!}GLaK*ZOzbXm_Ks^)jKG4`=-vdWKyYgP%!&n)eKQrI4_uTNFN;a|An-=u>Pt41TXziNa`u@((mOk#5UFT1{`mrt? z=8os7ww!t5Z-%WWKF!5DCE@pF>;%F;zhgX4-ruL=r|QP=Kit?4AouV1JCwoyE8}kh zzWh15{T&G8&mVus-|?3~{*IUbZ3_P#|MR(_>0^{E#~R zd}fc$bNPF&?m7LZQiI3e-!fYNT$sGPTbkH@402W;VXgU(L&n*ABkw03S2U}iiI|-Y z9}6}2!Tf(rz|Xb4m+=0>y!Gi#kmH}f{lQ^o?JJ)T!so&Lw2sP_|56(S4j!XHQ(`c; zV~lcBH48MKN;YfG76NbhCL_JN=NZJ zM_6Fu5N0#U{K<0SM1`hXf3&CGw(4nfBlZ$Ie?;L{m>78FOsQsW>hI7!34lcphPTaE zGd`d*be-VhCQq&6eqxy_=B_uDHVY4Urx5{kFqm-P#L01~=IElwO$E1ZZn)^4iua1Q zm_SFq7e)KLI;j{yU~~2wi^9}$9Dz;$w@yDp4|vDpik#!C6R5XNPHrR5sz?dHOR4Ju zvo;}+=?hN-WVU(WUa7eE;EQnGHmTNHUL2ED`z&NM2XX!#Trx0+;k@RFH{iq)Nj%3B zdwp=;B*S;W%#!78PHgEwyZf|dAphaN1-u5f*$SO2X3Jo+1t*DHplaE+DF^mt#poV~ zc1}}=)WXUk>IF(P@R5gcFEuy50&TMnk>N6)+(~!durew5S@lFKF0w@!3>wKm!3F{K zVD_+6X{$YR2vzu5_D`QVFwadNtHesg#`n^m3FOg{b13gofNY}7)N!ggS1?^~PI$J{ zQ3hI;?R+vIw-X41rOQ_A+$Kn@01fBK9)Q^k!t~Cl@q$6JwduI2mo-wsvKt({OGu{C z13U5@g>DGMu-%XiaAuyruCuoABs+J0Q|P#|C$4hbW;);W3~mNU&YGxrMj%@QxAzpT zWe^qDCPs-fIcuFK&Y#MPt{#}@)Cdk#hxljXV5`H8ZXwhzx)Eg?@Y-jUrxpTHZ#V@Q zoLvZnI4MsM-A5w2bte$b-5?M;5x4Si-hhD{0rh~ri+(Q@iAY!ZdR(`uN7!MV(TQP%ls)_qk5WRV5= zpblqV?eKzp=(}WziL;qX^kh27gPa>IGnpodXR7E-+8}}`_z>W>kdJ3w?y}h#$s4vf zMLzwh;YM*~mM3eZs9NqZMoQZ()G7t7<{OvH0B|6~2A=dwXmb^<@Ln)Eywa%%v2$kju#SgJkd#LcyC8KZpAQ^!jmU|# zamnZ$y%ZxtDULi}sE~>_gTqjpdQyl|2-yTD>V2$wpewTsH_%b&TU+;YBX~`L22=Td z`e6{;j5K{%1|}K+12E>79Zx#NhZNy5UI1bma@E35K*5I;SJ)SaaeeBLXkp86+Xh{X zYc|$`HbsQH=SfdPw2T!Jwc9SaXA2>0U^CT3Pn8lEN&$%!koufYTV_*Z=&#N(l`T}~ z)&3=i;y9C>mW^2o2`7o;=J&B}Zm=}9Wgj(NVb<6nq3|+`j`IvRK&dN@&T%#$^~^{| z%vu`%>q?XS$Q?^9nFy5nOI#dSM)&@$^RFtth<7VpwEL#TBac0{7p|dyFhd-$0^ryKuqq*pFt?xv5;qHKNAh9_I5q*kUm2xQXP zf^SvCZ8j}=O9#>v7)!8Xo18aT*tCDQ(&QqJUI=-)!(lKOO(Y$}a)&9UZQ~NJGciGB zMdwN&J2S0(rI}koCFFUKH|*N11m{VB?S`(y!s$6xP!V7z|z_SaWi|0K=-;*9RUK~S5${LTQrxc|TE zv2X8Mef8I}wfEz-DBe45B=+NkN;){e4+0LFMR#i3B>ZJ zbWg9O-S4{r)wd58+P?&1{MiKZ;J&{E^6irdX7yMW^n1t zf*&z^y`z0-nTTQR`-|HRfmnPKyjSqosSGuqV`{lj(C9~SySd{DKUub6w`fDbN}yDt z%eQwC-A%Bqn7i{GJ*Pq|D4M+MK0T>h_9Wps!Oe=~9WdVe@%Vc0teGKur0+Lav>+oq zSp@V|7?3;)tOzc<1pIvr`ML^ui|;pKwsN1wTS(!hAT)DE8Z796ILF5PC-;PV*&%Ps zY2($L-3dz!L$;8)nMnH*n8;a?USCFyRDZlAq)8VanQyUH9NsLMp(|G8^9Egu@$Nt7 z`#1f(^fUr4+1%==x?`H%F5d@{-?F?n0)h8ccE5$c%hMtkw1?>Y+Ri0E780Td3@ofn zr2O+XooL-Vi>?H`Eg^-TuT6Vg74WzyRq6=$gQZK<2poGEIYmYiE?Rae|`tbY6Z z@@=6zx8N2_4;uo4cEkWx6?C#n%!I98PogI+jYA70IN#!?Y>o!NCKDCZxkQex?Kh0a4*INka~12c5!hm&@$iKS;#R88(Z9 z6i3A8CNXdm=yi6xo2v5N`V_T$=brpwBJGz3a*xTVuBEAKxoEp90D$VpnY97Zw+uk%~D{m(44?`4yRl%xTVg+SVXO<&V82y?*>4=o3M6NUu_flNm*>X*Bf%vC6J}-m;gs0V4iCX6NV{;YEuJ&@F4;@ z)1GAf>)DDxW((WBCEskOeG@PIQLvmMlYGRMraOUT1V0Cx*K>xAApCm9-VD6Z=xzMM z<1cp|3;@XSIFFP$CwVA$(n*D|y*~*|l$;C4Tt^~nuJs!g=Km2g)RLRSU>#G*N zyFO>7^C3a{`#x*FyXyUZ{lVE|Sw=O>&urOar3G@`EC&T?de()n&p#WN7Yl@7Puf@gnoNj7q5~ukyKlr+V_Pg_J!P>Q(Y! z0j=$ux3Z%51eBn}9XI8K3kE#RU9T5V5!RV{8@^?jk*;(;A#U{`q#If~P=EV-emLcR zjS8H?d7(*sei6kXE=EU--?}K*W-0`QhRajevugOtb;nixkPDPB1uMaX9bR={2~|DH9n5;> zAXvYei`)L1s8a95wZ7;|c^|Wsfk(YeY9Xxvl9>S2qu2C*d&>8KkXFr|`bD7t-AR9{ zpt?J%78!XMmPgBZyj-h=fRu)i$QW?sX~pjK@*L8&Hzr9BSd$yMxKef=k9v72HO~QP z7bGmFExI-Of4#8oD}%AC4}#1~IrKG?5Z z2#M7HCvw4rn?{>0Suc7*)cvQf);La80{L_=`_feA<O|{s=$C!{Vs{$@}Q&P zzKw-0r&U+CAM}U+e5IxVfFCS}V-(%3FDHEua&SdMDdULpUJCx>WEET4R9RZ;zDzkRF)SMfo{I1}e;O=Ir{3qkSCBs% z2DwT?vaf!G4~p!GP8Oo_qzMX2KTbM_2lmA}w(B1mMg^8G%&5YGF3MbnAuza1TTL=)Jz z&moY!`0ZP#sC}TTSbWWp9(ao-yy96Hr|B&Pe^9~YI( z8WjX`EnErNs^5)daJHscju`|Z4eA@+nVu0y|KRV`zM>nXI0DLxqw0k~zMV2)?^5>i zKp70J9n^!U`XW)?tzurwq&uN z5OTPRtK;4mepOp&71WNy*l51jzOGB{9<$#M6g>{dR5x-S{Ow^V3Pp1uB_D;UMP?m-X-BfcpVnU^4lEZ+)Qb7D zr?W+&e!wq-H0hXr6nbK~S$?&dzUU_OeCnO!oTFuekJ0SGOO+mj&_WI#Vg5;j)Q-Uu z6@isy94^NB`3k7U3nZ&o#s%ucG?QeB?~@oy>327nnFmT&X#cN`dMC_Whon@zy#{u_ z0g)^(Uw{o-?F4FeoAixtK|0c~IZ32e6E?8Q`Fgjr6%uXXx)z;V#-MyP&f)x)L453t zky5@tO>R~>mGgLd(fj;djCiWO1lp~or$AmT8ZzfBh(fqZyoH9cB4qB+Wf+U6D7qT$ z81)9AcXQ?C%)bhLtRpf+L8Cr^{|3f$PGnT+JBRnqA)G>NF4crMIzA}_h+fAb`y5+T zZcNQIA7s%FPbgDURCCpg^T^L97ZKssQH|6U)g5a-3ewj_^OVUB;^>n&7Tj?rz4`?} zq>R02rydzf5Ux^^#Lb9%Sz`sYE0djYwnWsExWkp^jG=YhtG74K9h9F5=8Bi;rF5M| z%!U>%8>Zy-0!lb`W*0ZAhcHjMMz2==BNy+lQ@5k^BFX5yeRwJz4-tS=*J1Hm18k(k0W68WTgO zI(lqN&xb_Q+H>{PX$2>9`4TMB=iFgVu3)mfwLmv(2(bmJKnmlSpdNaZr=z*pqF;|g9KvVy9h*x zh}_M#+Vh6vC()$A-9}6D_C6TzB#`B@2d-NL*yof69f4T86{V+tP9UDG?kYba5T|z@ z-7AOXCz>15k+_)@FuJLC2Mg`odxqOp7mirNWO^l#%=1@gj6jsQTL&AM$!&2H4c|>5 z#zr8<_B?sivx=zF30=graEFPUo&X=4lR(`3P68om5D0Mmx5tw^ zYXLuFu=jTffr^KsUY}~fSMM`H-7|iZukTcU&^^lgRgd2U-jCb<`*ZTMBmesFgn5zu zkOFe#&mYwP_d{XJ)5{Ua-|=_+=hHXte-A?tw@*F~kGbdP9r|>8$$Xat2fY4n`2U9rpQ73QF=_u_OXB~0 z+|RWBKUy#D4}U&^IP-A=`8)nS0{MK|`;kv45P11NMj+pJ0{Nuc{jgz>?)L;j+UFC< zXY=4k354rDP9Ws{{vMX)pC65v4~zYeoj{!bWY~>BQ0C3GMsPT}4PsK~t_e3W)EwOD zyhq7DiIG0{XNSMMKF5(fr}Z$4509bA6=G$Y!=9$*_sDPV6Am&B@ z0NmRm?|#6u6B%Gxj?g6Ev)rn3FD?th7cY}acY&Sv-**-gWDi(L#e>tLVVCc|qf3(A zc69yTo$Q(ZDCLfz|GaJPO1X0r>6GxwFYt+J+Oc>k^T|1?%sntA3OiZuU=}zINJO_y zww-ig{+gwrg7|CgKT7;y%*B5uii3XUrb<63vh@F6h_aGJGQwD5x0NQ#$5>Hi=%lQM z$tPiJrN@Pxb{3FIn-^#7i06$e40uSYtxPBuR3cs-;p_MJ_9{7DAa>up7ZQT+=URzPV&GbMrA9*7Wonl% zfT4(9wF`JC7mRL_>#({>i;d;&Oc8K1_#%c|e3rPqgE6>@)&@c+*BekAUv=I7X}s{~ z@Bl|FM}cw9%NbWJcoNQiI6FGz(nj^l-$i~6RH~k%t|V{JjatAxmbIk5K+cpohZZU! zpHqNQU8@vpTf)|_81bvWrd2CL+N~Ja%5urIw!D>>ibdr>k)3tmP33AlyI7Er-hau| zfN$SMZB-koN1<|PArMMj3|t4ZmOFP4x)BJcnVfOr#XL1fnm#3v17|@&Tu09cL`N8b zRF@G5rqRg}ET=mV+kzJbpqj-tXj{7gfn2uRXX~&}tkZ-}dCn1V8;1dhCmIOEndS+a z?v!>!c-RSqV0r3o0~e1HcS9i5BXpFuOb;dU%+Uyhzji=ACJ?2XE2XAy5gxIRHL1)M zbX#eJQkUJpu7d}o13|KY#yd|cmzUZ(;4B<03tj2rCXSp(mgj>om zY;a-)&WDAq>3GS_YZ%8AEEL}}2`U+Fj!zZd?1>DIYP@zOTtMSi2rjm>4zPYryL9G=6HIPGL6ftv+qc*v)|zxG~Q-0*{KA@ zQ&E}}mv@#`ug6UpB_XSwshaL8SGju7Ur_xp5{Njl&szr|G;&50MC z)q5BDsT<%Uj+0!+b4Ng|jFrynA=?nHGfa^yj-5<=Zkp|OvYTvU5N-RhyQKCppb>6g zdKBUcW>~&17aIni?f+mxYh>;hIDJ2zS0U1BKuIokOd&Z-Fm)*As*LVMfg=r&NQt~ol)I* zH+Xb=sMZgHAZjy=86$Rz&YoBW0kqoG+F!oTLe-vsSD!upZ*O-S$^I+c8YZkNrkvU;cIkRU^Y(pPI7%$J-`Cx3?A^~ zUR@#Aa@%*%+ieN8TvV^a z5^k+Yj227>tP~<8qH#*9m<+(fga15pnAV)2MQIwBIQ3lJRl2t0MZJaYHU;UflgKG0 z9UOEB_vYBZ!<8B?UdYwWR(jjm&QhaN)2Sq#OU|jnFn{6|Vdwgk>4TBWC4nr#?H7_+{8$0tzCd`rCn5SJZy}Ig5r_^e8_&^jHVK3sra=^e zjBoT(DhP6mP8@-tgsYP3jrt`7E0qjK(?K9wuT*ElvG=<^;!*%1uLPpHrIW8@SI|CH zR4?#LP6VQ^AdnLdUz3wS5Y&HkE1G=-a_SF~ri!AdMkuc>27ak}lu~GDan^vb$ec&4 zp?kd6d)2Y2>mfL_NLK`c#vwA!L6#U})Dn54$l2I9oYDM+#I)!pHT`(;LR5x=7NPab zp)pg^JMa3Dr8~MjLk05;^{=5y%FYNBft)Rhca`$Y;54Yak~9<8lboW2&3diQ!~{9f zof?zNihhi5LDhCC0y%n`wDq4^1oIsN(1-@QyMwipDP0bnCf&BMJ1WlkeLz^xF_k)7 zYS9LPoMh^hPSkgLPx|t%nJ7;A(n|?HD2PDnDd00BxHIbo53dx}$TA-eCb|+t!94Pk zn;p^p+n;*Qu7=>CG$ZFp%1DleOC85SEtlzfyGjqBj^b@OwhjB^f zbxpiq@?B9`a?^!T@i3*x|GZR?0Fj=O^C|%u zI0knJIarix&}EMhl=_**Q=LHZ%Dk2!12aBG96s>CX-4NU+d9+6j_B}m1j~~oMrAP@Tc@rMlP&@x(2@6qegj4DAshSXu`lHYtCGx2Y;*Rr zk1fJAEt^s1BDl>g`WiDyoTa@Ji(gd~J5Jx>D_i3@rNFYU25iHKbN+IuRgv~##TfBy z#D>yas88xUOf_4C%(l5@B^rNdN~WoVDshcTQgk7P0IMxUi<6@rA)ncBN?sL?5Qdx1 z5HYX>q`eyeN8yRLPC5#y0<6(xnk)R_h^}-(;@DV6FkyuE4-#pSs?Ph*GZWMzF^4KJ zx>=G9V4#p;Gatg*bp0&zfEiU769XxDq! zzU`nX=N}B}dA@VSLaY{6uTaG*HScuQ8DTHFECNZ=?cLktd&T*YVrz@%ox^X^aq(Ie z+v=@?1|0OZ2zZbI_mhO~1VZ}1MR9%23~Do=9| z%Sxl?=kLe+?PAZ9xLG%4yqiGoO?@|ktXwY(o)L)Mt7jd)S ze=&jl{_%bSG5&P|`SIiP{r5=(vYq-%AO%fDxh<#mZN<*ar$*fUKm7Uhi-znUF8;9w zC(NbS&mT?xd>c+Q@#YvJ-SKHj()ADJEG$o}o5NPk{O}x*CRX-~Ng{y~oKL-V`o7n8e5ZhSx=H+f{&f`)1Hiyi+L%tsUz02`JuD8pOTRw z>?jEh*7~K6XgcWyRA?aiXAN8Iv`h>TE(MLcR;j3k zoj$lAsJKwNP8OcIm4WmJ6mM_GCmGRe!8X`ZYzCX&?o@`n(?@h>L_? zf!lxl0*B6n$_afoQ$y7vbIn4;xnu{9MP|EHFMFWe43a5sI~tk_Kv*9&36Mg-&gwDw z&J*|H_1f z`a!x>ymqv^G|s`r{n~yuW50yhvwwdocvPP@v?VeE$fe8L! z)>*Bp3vUF1E)mFsj!Ya8i0;wjLjozJc{reloyp^JeW|OFqi*RKNE!dE1S0!?Mj*7C zV(kaYUanvY{|ay9VUCi6ZR|iG-B;;AARKmJ3M-65 zJM25+ewJWNzPxHo>-69x&)!9rz8Q0*Qj&)ZiH$(Crvm-MwREUvF9hNja%WZosk+N% z^FIikUE}mq1TmF~Kz{rhmB#>}L~>k~F`-}ne`r7g!&%JPhy{#yRiq1Y0e5ry8fJZ_{|Yi}WNO(JP<$+1?8Z68EsrO=z;emk zk;IXA-~-j?H9xEHKQFGpM0)kh<0q%2%$kQu<=|7dpu~^5DRG`)>k2d1rd#-{qJwzn zK$nuD1NV)b-RZ(Qn!g`chU(a>qmm2_y$O5yk(EM5yOb#cnIvsld))lC=WS=>fG8SC z@3Nz_aClBYAtd`m?_`)!u2x0>*Vi{o2p@dqF<9Vp(xIus)AzQu}%G zEN2(D0+esx*4uktivki2H6_XqbXTza)H*B7!G~_=ss^W4u|r0Ukac_D*CZW#5o?Yu z6gjM{x)_>f2WaVb@lS?a5Y1T`?CzeLQ{?*HluNFPe5H%J>7H(HuM;@}hQmku2>4~{ z^^{{#9ZYv;Rp;mnK0OtV%-4S3gn z3SZA2?yK$DkY`^aH$UhCcoxwOp9iPXRJj0|BL$SRH0brWPBeouCp|TYxe-8Ajq6D9 zSHi47}Z?i&8z__WJiK;FB^6U~es} z^%B)`)jTmZp#>sC9gMw?Z{1rjp{!`@%nMP8s9Xk6*wI)k&Dnm{%Ub5v`E^u-@Kf`9 z1h5s_E_tc1;k^)+9|2Pj?2VAE#Fzu%#mi0c^Gmc_G z+mT4^8v5B#BT5Z>Bk1lq$SEv}_0flkdCf;f5efoS(@*OL=&W6*k>}%BxB8|SiL5Pz zltPsDX*89Y@#dEck}ttSa^+yIl@ULL6M|IB?kR`MfSo{2$5YqxvqEt>7@PR^_Su$D z1ai(Gz9R;IgsOArLLm9#Oe2stgb=+T7qZy?V%T0nq2w*YWJkG~Rso^z=0i>kXo zN=rbx?1-+g4QC8)@~L<69ceYTWDCn|BGPKyxciY!{ zrHSBa^vqXRv}9<_-UuZ8#&zN#7jiImY0@8Ij^j!NuJ;qJ)|oqew%ebKyOdbI~NGA?@tRE48v>$#h z*Sp;R6^GCoiyExR<#oTb&{nEPwPtf#I3px#wfc&#vK#) zxl`*(zxf4%wzdC2s}-D!#j%g&+%ZFjcirau4|DsSO{eK1y1YR;NiRNX#O$94=>RSI zLU5`~r#NJZsAKMuyz@jOhZ5qJuu7(?_Rq1N@EWq6ZmR5cY=K@|J^H{!8;a)!CJRPj zy<7yfYU^ZWgWJ`#d55$AnapB!FCOI2dTrJyc?~CsN;58@sDSEf=^?x4tT|HVuHBC5 z63KfFw`~A%2NN`-cTz0eD-JnAK4GiJW@-#yFyGC2H5|Af`q8^FoAFJ`uKxRV+C^^}Bl5Q= z>9&iySNgP;3)S8`OH%BL(cTgBj@n_;!js_;O1onWCHFzBaGuSUq785MHRbIFL%{dI z|2SbCG`In<_S|fCOt$gw7Et%-jJRXRt}WRCgv8#PZ%eK6EeH*7?xH-cZW5gN3!&cW z{3wn$0%-Jj;ogIWAB`cASnhoZbh3CP0?!up+K_K(ZK2whzv%CM(2xOZ=AlCi6lZwZ+uIk7W zem=lA)x=^YDW-z%rmme5Lu0J6EG*<1&sAmkYEsW#@Bad=d*bA8h5zdk%f|<0CCUt; zn|p{IJ9bR}y{|yr(H-5<9o^BNMCZ5s`~W14a(>M=pBaW(-Rv8A5pz_}HBmSj$X1Hq5Kg;}bPWJ}zNua~xQT%| z2hyY6!RwL0U5miXxDE#hTAWB^S0XoM1D^r^SOrM?7S2Ja=srx_LrcW z3?S?yI?87I0L0*ny#;3w&BWH$O$WMi8Z(gW+BuT7S|3>uy_BIVXj4=3LB>LAik}l? za&Q==ENrlPZ5_U8?>wkhI)2DS%meE%8^Pj8yT5LTSsP`o7NSv>BRrjR^QmJ?qUM@4 zjBj?SvIpEKN1Il_6-k8~lKh6rkb5H{(dSzGpCGnOba zpD|;~sEspnlZPfKWiqu1v+UG13A{Qr(^WqO66W^^XDKvi z7{Z*MabfERc^#Wx6ombo0lWD&~1(LWJ0tk1~S=e-ETk&}_QVir&P} zCT26skVO;}TLHS^K5LtJ+(k}{*8qu0hNYHP33huj8g6fs!J#>Wy!{a|>FIP|97?{BRND!+o(QkNk(gY%3+)2Inq++Jen1m zEq%f(d2NUvc#CKU6>0{ZyD!7nLm?ti{#Co!P-oS*iRJB#)^%{#W&SW`l=QemWW7-f zdpeWOemWLGR3LhckpbfFx@lFbd-cg@`2U44Eo9 zIwsRwX_)M$Cl{=WdE`;uB01?7Q zwT<+$5(i8G5!{YzwZ#D-7Go%_OoV6jOr$eR*#0Ddq=OwVgX=Va1aFNP<3`Jddqx7t zxs9?cCJCEvJ^R_f0RjU9K=4#6B9+_;Kw2y(fT+dHK!}a(U}Y4g^lbtN!`L#jk?br~ zj(Gw=a4M+z_`sB=i-6R@+C7*jZLC>{d0V{Xjtl`8Q)N~Rube2)njD+BhLu7N>+pfU zM4Jr15SjNB$IfeKb(24?Et$DlhfV`XW)j(AkLDS2h7v|&n*b2T3^!(V)MxgnS|&P`5XQD|3?Gl;~!8lUW#fUwtYa|Pa z^_jmX0F*A)+A->|50&4^thb4tV=^DNI7uE?jJw%pLgFJd!ng&fPNab|i5$bu?g+Z| z)45HMLP!hksG!kP$gzdGi6DK@MkEuBM?_GNgqT#_v+NL>Zx5$6m^_rU6~jq68<^(2 zJ{ti>k{_iD1z1L_JBkh>lKt#UTJ=LK7Pknd(6lK|fR7gPcrrz5(nw;ya>%))aVseV zJCS&eXjmwQtY9`mv;0XwX~iV5CC$v)qGM_l?Y2=IP*D;l#4wL#|acVWeq=gp5n}9RfuoJBe+e6gRMn@>; z{tedA{em0LKwg8E9`=XYmo?-S%e~YM3&ii#HR65;*h}!u+!hQiPPy zB^mDMM|g#`QFI;AEKOukshOpUBohXy=Irnv3~Nz0=0${= zh;a@+8Mcv<1t179N0$^zvZUQlLq*(pkqxZGV>Y-YT~6fy(W1qKPbZ7@^v$wvh0G41 z3KS0ZqAV`N&?FI>N3BbWurQRz6`3}PJ9=mu8X&P3<++yF86QsTojOgP{)qVu?F_Ra zC?YarKI*!W+frgS+2TpV;qrEj98nQmk$zd3=>ARHEl4x9BYC- z{Dr;SG^O+d3G!qQ@nHtL8uU5DOF$G#{7ogMe6~8%Utoq#f?*EO^f$ZZY4|=~E*3ZT zvvIo!4-*l~>7%rDf`f^1p9w(B%>dFbZCy%g9HC)ts2s;jg|m|$&vfFMe2U>qB{Sp_ z*#Z-+qXx{M00adTC4gjl1%Lz$;x!hVB~~H|rt{F8;`nKp0@5paGIMi&W>HT)VqSkU zfMhdErI9?1nb$LavA^ zk7gSOB2DCQ!>op0XcsdvKM?_gx;c?FRr25(CVa%kVI|GYsUC+RBKTARb`9g`PW#0< zVra0zTr!g86wei@m4R5MLyFZxZIGQl+jg1GR2x8b8<9M*q!D$TSTpSG!{ks^BJ{Xo zq+lRmxPJ}Z(>^@Q?Q*9vh3B+L`ufWEZc0@+bN@!elVv{jhj(%jz&)7;Ak1cE3_yz!(>0-8(tuK;$ zG(hT4&gemFEUaX>xG;0U42C9MX2o=8s@+0}Pn6C>dHiI_0N8#{Ft)ca5)p&r7(qE6 zQ{~Rxr6%k=yCOsldAg_C30B-aW{u{3nq)t7W>&-2(=@I89L0(BnQUs&E_e z77q4VU3Fy8ddQ$=HkDgY&k3TXkr)_$R}2{1_PIf>ONMk+FkEc+{0sp!PpH(M9G^io z$7wdl7)=@hgvIyXFS79>!<_+CsRgrKwSSXN(TDZSukCHKDU!C|{*g z4rN6i)75f4M23s9g-A`^X37&$cLRyAkm4LQzO=_m zGs`FD^qi8R%I7I2(`mgh0C{Z>fS3?Jv;ZJM_L>2t_(lMEE$~Zw1`vzb8$))pZ(&e| zPlizfNE0vv$Y{Zf;ktxxmOcUqE=}8nq2od_qpE`q0CF(_h!%yW?C0KWQ0Ya~l#zHos{ht75|9;}K0{N$U1UCy0RJ$%0JRO43;GfJaWS zoPnN|yV#Z$&nZ{PnxAnYsidkiu$`yie6{smSN=uW%a)sEZ1GAEqNIQfvqE1o5MTXl0&H`m)ET)87c^b;a z(soU9xB`%lDO6EVi(M41v_{y4eD<8QDYuv7(tWN^R6g=n*(l~ZQb0D*f?Vx97G+i} zIbyjwcIPf3zFz1_uC|D>KHVz5AUMgw2_9k=XLV{*6$>?dWo#F~3%uvVN3_F^*N(F4 ziQ1$8xQbs^Ot9~{)Tl9u!V_~t9 z=YNL&??3yC=f8`VnZMBa3qRNPU)1NZp;^CctSzj;<3BZSz1jK)YmpVl5uGm8^j}~# zTVvHNm0qbdtHND|DF67{o|TofmW>LFT&RhJp%tFj@KM)YJb0nPcTp;WA4`SV(iCP( z&fu}4ge@7h@KID#wK=lY`%%fbP_J85Di1Qs2~9NCLS76tP+N+7si!!opNkSiO9#95 z8?JK!8l~?duTXVxBX#bq-86-+<(@jUm)p8YD?uFKxmTb9(K4wbsXxI(O=fb9A-YQo{LxuCWMz-%!iQ>|T#&MzdPaI1}u zJ;}O=uMk%$8wQ+<@_cueW_pW#Rx>KNCAv9NFsA)Q1lvgVv@Vk#HVm(X{K!T`_M3^g^svsPzqSdKt*}d1_cykNAb%Nf0 z>+QFXKmYo#-~Q{j-u~<7?Y9Ridgm+X-FMzy=s*0&cZ-f=|LH%y^B>;*k2SN8-h1zF z4(t7nu>{Z6h-#=ZfR~B^c_IG<0G})=A+MyL5{&h@6ZZo$KYGzC=X-#V3X7}}o^=ql zO?_*TyDC)joTBQGly@n*+QYr?Dro?hyr_z&7__UOTq`c5=B_reOlgsAYzvYVfU4fA zh-u7q=yghlaho8hFtOGaye)$zw-8V-x`J+yu&Pw81J`P?P{u9*DM9K+-q=a4k>XAO zp+x{lf6%Qy^!yYki$oh&F#*c8Sxu=sQpKSdZLzT^zHoh)cE#!O*H-#+s!Zl;oB*O& zw^RfC$K7hYpo`NIK-PU%{3r)8VT&83xR8Ryd&HJOaI$9A5ZwkKYQhR2wfP?hATF)t z*_QNPG_>Z#4j}PZTRxclHMh)HzV+?Pp!-)plad~MHNF2w&<7tJfBSg9K1TX*KYjGh ze}3hHMaq<_zKY=OQME+9IsqURx&a_Payo#N@hbv)j9!&8Z{z$*om3d3;ENPe$n_=_ z%@-#18bpdbfnCgMWSMJy>i`hfxusFRfzg5lEJ$zH&jb(=ngG&r5;#jlhg{rM@okk! zSA?>$_W|nws*Cso0(vSK_AVoEG9!6TNKihN_yB}}a(*pb#GJMG@uf(&eZ|vNr9Bta z40Gi3gjtWR_}4ZqJ{W*T^|{77a`CR_q6eVo@UFokn>bau%6UyNPF1H1)igllH8J1| zRM&M6HA;d)T$vPbFwaqhmfnplDk;XxjCNXKPUV0dN*2w^ z2M*0bCBK@hT7CPqy2%DVsBxSv^;MXAA3u1YqSt4y*B=~zsoO~(UHwAeIYA$N`#XO9 z0e$kxC*S_0KGE7l-~9us?jCyMjfa1Ga9cm;OP7b{R@vx=S>LwEf919+rn=@z&-QAQ z5b~7>SuUg{rSe3Ep38VKTSKUao_MKxW7-e7CF?|@$PuLx@AYw2lB$|Pmyvc$ z)TtGvg9XI{l#01NOFXGHzlc&IE8p|KYsZ9myd@JA3b~&AKU27NAG?Av1e=D zef+V3YeuVNzM|n2R>Q}xo z0zyu_E!wl<>Q|@l`t^sefg^^j`0;TEkWLR5LMI?$EB)X}i_$Vv4X~ovU2A5(Px!j` zi8PFXTa2Mz;0dJ*pdxlr&3tl)yRAZ$_mSkH(^vEm4*}l3q&rszGy|AIHdm5~Uy6@J zAZJNLF%SBRnb{U#?FuLr08Fk@bY0@mW^HIsM9jJ3P`hXKR}SO)UmLQY96o~vr+rzc ztOFAe0Aer!#C^txi!4^27KiH303aFUg%lk?2(?42gMg1f5O0u< zAX}aw>k9;JL=X_N<=1oezj^xV6?P{=LyKlf0nm$~o`D+EMrITvgj*N{CM4$Q;f-L8 zJdc2zvOI4z2_QydPC@RJcxM2o2Nn{Xc64C}ATlffM6Rue<~7CH5v%|pJR7C@Jbgy_ z5kN3>0157T;92X`;sLDyBDWD_&=;>RKPX=rNuG73ZPurx?X$Z45OI^w^Kp;x$_Qf` zDImos9|y(al!AhU>?|d6uY<>&!0=dWV2#$KdCpkNefECkhaY-?3~!M7HNHVW$hJ3# z7YGo!mN&?|KYI0Ob>(NM`6v?AO(ugdWu3}KxFl~ZE5Uloc?Sn%Y|>Q8uvXVPB(JrC z#UTUqX4`cYtkFAdq0u49os?j2(8MgoL>`X34gmNu4O>`ju#6FWS_L38-BD)A4b<(W z*_Mr8`Si#4{hLqo8zd>-AocmDy+MG-wY@>!eDsqiuU?-AGM;ZhklXy`XTiT-zJuh#~KO|CN8=yn5{C zO^ZSr-O&snkFTjfpAmisAUC8w$J{p*KpyWs#H&AhbXouXMF)`i33B=k(!pc%zlsGq z_94h0|LZw@{PWMx_t@?ZKK@AFl)7?b5{F|`gMBQ`MtN_zhBq^M6UY{0zt0x4N@@j z_Uni9Fewumk2p{F>#IVRhUu+E!PB!LDsD1I+(#=Gh^|x7lgndmmf}=JGlmhw7;Cd) z(Dj|~$&pUP8J*NrOsqxvB(nJA$FL(`8jJGdh%T~e|9+@5#~GfzSv7OgPH0=SJ>447= zCtIYI*q0i}hOk=z5N7!C!w>F1s0Rr2*!8bs1#NhOz>TCA^RHqRz4N2PITInV8)d*y z7~Uid$^RR*tk^@<@uOtVB*zZy}A4)SY9C4^9IQ$$ovNR_=UVdRv7v9r{@A)G-bI^ zXmqtXA-&R;p9*Qqut{@kr%)SeKBRC&(c7+Me6!c9Iy}@FS8&kW78TNUdoKt zlWA$%9t%wkQ`u}j5@U$uaD2B4S^hDrhn+3BSju6-YCAHDlYr$+XOh2Fbj_?nCBh!& zR0Ah6!3$u6$eKh-oPF$Hv(tP*@r#p^fS=XV zC=}~1w6#eh)5Lj!v9%$J!w1Kyi4Z`sKw0W>PK{-Kuy^{6jKuQCuRZ=r{hhh6I#LPZJBnTtC)FIyOO%|sLg5sa^u8#`DPa3`^_m~Exb z21NHrQ>$E=0)_R8&mIyX80*94ZAte8b!kW+Ns>0G#i?W%Mnf~qX_-Uu25VTa6@#%` zcm8t#VF%~6H!GjkzDPrK1t_zHA4(4+iEIbRN?!~$BPa4+fEui_E5^|1g7oB2)d=i| zwt~FwamQ7HyD>3T&q~%ocIN|$$<|cGu7ydEvq;PUka#Mxxw8kvC;HUTF~RGm2dVdt{7}$Zsv2JzsMn!A1mE_3~*;!6=Ag zg$#m77vprYC8-IDQJg47lzG9-oK1fdafg*iAksW5MLNb^oy5p#+ei6~+Gw6Kz3XVF z?1|mM@}-I+{7bY>USvCfkgFRNA#hAv-*~>oc(ZK`zQ zY!WnEJQ?+or9S~A970dwne4O_ji$}n&*|fm7~c(LB;s!&k|69BtJLI?lZ;)&GPtwuf9n>sw!dL+y@*69c2Y_Hh;+#YwpdL;Df{z*{ zuLfh9R>)?(uayd&48kEJCEQ5>NtGP9-w{caeVGp#(bOP5R@fmrJw*~`JQ;`}&+b{# zd<1+EPeo);O#ou1`~NI&{NUY+?ioWQn?PX!0hpX*h5BKp3>QXIk@Ia41?jXDgD98j zqBQkPc`|*iloz8AA%?>@5p6h=zbg2GiTB{D>tGI}SKW0iNb7@4MeY>YcToPWYX(}i~(i=QcR5gP{XC}TCS?u+w znrfs?1C~OS=*}f0hh}dj%TN=M8Er5e&^s>;7BdKBU7Yp7Sf`h32L(p^W{)N@f;Jc# zZDTeh?83vdkYR5J8`tePkeEOLnAm0?&EA}yqC3v2D>0;%;vaf|)VEl-=?#M3{CVEm zX3EQMl;B}i1`UsyNFPPX&`mLu<~f|V`c&q0H5#shh6fvjcGEnQq_Rn7rRk2^6lej| zx1*BT6q*9K*2I8|XE`+!?vZ2Y?XCXe`C4i4*F3iW*njdyUo-6PIoh`S!TI5*A6^2G zTlNNNNb>N#?{{lm><^Sp_v0OV?B(1Ow(4Cj*uU=!TZ%zK_&_21dDfNH$T@R3(^agq3dfp(7{{Hi?(+|ex$M{PUw)>#>8gEqlRlNBCaz}S` zZFK(GKRmb(K{mWW;t4XoL0;T{lD_+|=Ivne`!8;EWx1m}Iy?M(?r!sFj7weu`tqB! zYcAU@WcKGPzxi;1j|aE(4bth|U%k3B=&wI-zPu6ndbml+N29|AHFI9uIqJjsEbT=V z*s~L>zx;Bu)ejRR23*LN*AhEPa@Z(jtXu*? z6h>v8YJ=5-a4ZLdn*k)2Mc(9nXE%V%Ih&_^VE_`H{Q$D6pH6kO0~@l5S?qdZbFNy4 zT0w*@YKF*V)R5cHLZR_w9hx1MWsYEq5tzmXhoLyvC~0C^m(kiGYsGWE0NhDz^!^R%d$#3XYQzpy!#|g)6r~2~ZA0J&p4vlz%yxe~^ZwHf) zfBo4-b6F(ImwbqWdk*28;xlL-Wjf%j)uLLcXhk$30bK4TuV+P;9l?S@;3QncE5=}^ zw-X;iFL_jRvgtUcS&M7BI1XAAMDd89Q!;aTzEt8gKvyZovV?tEvo%}{%~o|7T}Bw_ z5Kq}N`J5nK?y66!moYn>AdJQj)s0$f$mc;|vF38F;^&VVE8Iy_)%3IUqOWu{rYJJ_zN{u3kTl*2**kauZzR9rJamL(|`OrTvvtvbFOKS;kNXB@`*CVA1oe)wFb>x`AClvo7A z-KE3)vl3hED@==hS&xbl*qD}WpTi0><% zObIIhDFYSm$F0Ajq7F(EcB;!S|J0ZUhQqQ`sX_oNVU7yAlrTlgZ4COOFd=6HkQyy7 z+f7QfZ~!0`zOva*;U(6rs(ybxHsumPGCmhZ$i*4lwC+pz!bBDqRBf-7wMf(yGElO1 zqn|L7A^H`@_1#>#u@qX^8i2%wN4o< zB@flI;{YIs13#E{Dr!_UlE}vm`}3pRCX`$n&RW>0+I8Jo1EO1K1u2o^tEu))p)X#P zH%ih?Ktet~@eZMFD>O#ybY0D2v; zf73w+2~kF^^{UPaa&%ur+Pqx)o5GKR4k&WF{*&|ol(&C%@9`Rrl{t{2r5YoOlvZTc z=$1o0<*O&^-3OG*ig_1y_ng|hc#5TBxP*$Ab}ntlW%i;ReL+r53x+~@YgrYjxQ?t2KYQ$y%h#R6D`X|GIBd6wW|-Px znY}u#8o>3i%bpgbiiuaK`Y2H>sYh^gJeo)EIACd&hM#|shG zswqurP$&PgRspEhU_H3J`Kabg-nzsKa_NL>eVC+dbXDgoK-cxPS#_!YxOnT7&bDwD zuh?`qswQW;1A7RS;;TtlW3`}QrbPz-yz;X*9~6K*fE~B*4U+WpPtVIoom2%;vD(;J z@vkLM91)}B3CDx*sZS{>g}{9kFyhSgTGrmLwb*rO4aE{-i4zt>52S^;)__EBs3TQd zOoGBJRa6nNHhcb2V`b{f5^eoMdA}|G`Haty4mG{EQ`n&t@LviJl559-ndo-fRQC?-?upQ@$kWI3#8kPd0~o zTtt^ppY00rxxzK_EH`ihuJ4FTbSUm=HUfy@h`HE?!+-kKIg>`<3o~w0fVc=Jj(#<6wO9rK5O3%5x-Lj2#Py=_##GQS)f3^?UE7~ zu!VhsKYF=`qhje@J~CTF*2g-laOEk@9UsOKVO73_d4|&BM0Bi8ocK|YqxC4;K_kQx><#Pm? z-ypZ)ujWPQ;d{UF=jeBI2Ou|z&aT%*IcF@oe)@PJ&b>DY$!Yz~vP^4bb6&YCTJLS- zFsPxUpBkB)lPPzPf0+BXuqvU_`# z(k5l2ezRr>_jX5Nldl`rZ{s`5J)Fc?p2327#3JHya;P_!Mu#|yYoz3bSMwMq2E{Q( zJ2}khCmR<16p)lk2d~5CKy*jBlr)wsxy%Y=7}=i+bMS&^3>TmM!~6Fi)UR9q202A< z|LYfz%TO5~oN6Rzr_prYC`Esav*?c5Jwo4H9Vk45V|E9D=%k5Nn!$p(#L^gx(~;bE z*O?U;666Kzd`zoyWn{9WP}axUVB{FGtuuz6<8f2_Arj?-O*HTig)aEC2*$6g5xbc! z=>x8z2%VIlZ2aNODK^3|=eZ;5bEK9%9Q^d*BRexhQzv}-F&)X6D-EB2|2y|r=!kEz z{JJIodyq#bfBo)97ehW7o39qJCOAdScw+@K;$k~!MF7TFJQ3wll9>XRIy~NH8igIg}hNy0NuN zfiZ)J+Dt=(eiL!3nh9KDU3&E-;}RljBBBzzjf91h8)eJ@bJA!=ziK9&s=*n-fqC?j zFb#9i31TrgPYAgzxASaL-ae*P(Wka2zU_L(d>{0yU%s$T6FoMnrNKB>A zh%y#meFk;QG68w!)l_v5%L%LT1v^+=-AFnu7#DZ;uA6<;F!~?|io;T}MG>Q&)l$b7 zc7~0L&bFidLIY-`CZjm2u{^}jiWKd35}}{kI-M{H z6lw|(>p(;jP*cvIs!)mf%FeilO3lS29Rk%bjYvINs#;o$A#gx8~jpAXA56uWhpRK49fbiu&ToYxO zUOc0Us1zJzOS60rDCK$Os}H|P4kIUp${OS;NV16J+`=3YVI++#;sLK(v{?wFcL@OD zAD;;z-FP`4g-h@@0HKJJStDhk;FOC%0cK#VGl6c{tKUl!S8wB0PH^^7hyT201<2NB$zf8>znKLKH zr-0umds`uKMBQ1ZMAMwunfr%rTjnvgdScdXHibglF~o4(^AD%_aw`C`kFx#@;kJ{A zpLx)JzWpY-e#%mj3YonLbpES17x*ah0=cbkkm3Jz`|D3Ht}T4Nd4a#B)bE$P9~%$* z4}1fR|1tu|etH=IBsIwH%`wzZ9~5+WgP_~^SMv_^)(@Y4dGjOx4nVFe$!-RKytH&j zPrnIDUi{|aWkE-g7s%~=gFG63J^b4rJ-$h2CrsR1ktM1bmwx#xlbx&WE ze$RICQO559Kz@Axvb{hGLT>RJWTgM{cyPnhUH*LP!+@VYuQ%Z+yaPVrco_NO^(45x;KR{~lz1g8bs2FVc!*e|A93 zg!|`ZI5QaLy>krsZN0@=>J%fP;e<+F49nVFJ11WD_hHPaHW$pRuy0aeKEc_L{#yWK za3cVTvAqBi5{h{{fFyo|0CVG|07Np!03aEw`UYZ&rGEl|%&;9@rg-51LcK5Ed~n&3 zBcC9*?yu&Z=+Rrh{^Dx{kQy9P-LTX&R8dFFtWy*M!L}PfG^Z7j@RPDz0c6-aYKneL zLT*CL8bLN>{@~12JSAhblgw@e5W}Rae!he_)|It;-2JH|Uyav~)GJXS>rYsrYI&YA z`=tcYONCUE9TUUw`sBMJ7E0gy$W%%}+*`&V7J&^d+9sRI9|@C0AJI~q>(}*!B6$!h zuFB@TDDXl5B*V*w1UPd$j=94Z-}>bt(4 zxlEuQyK9Ip%LGuZRFW&6Jc~{B%0rQpcP}G!b(#|C|RJW0~sZWsajx`T_U4#wLqzo0bv~2(~v^Ek5(4WI-_z?Ma(k*qDYqQ z-CCP+T5QVCOPf>ySC&}?i5z!;THQq(1|M+7@2ZvdC=IH;j?%ay*q(L%3aZWwHpEMv zTj5Ml>dIxkC&4Sa66k4RY*Ad~xo^=fFZG11Fk#`klz~f?;>C0_5F401brSL(7 z;;JF%DIb_q3~PK`u|EF%*XtKp=)wLsNIpVdsyE2nzkl-BJM(Fgf?ToX3U?2qkSOLg zBt*+oS;B)A1{Lq*`8ZBj_3b%VyDx)@N{WZ~kCa$9FE}XHHRe=f_g9GF=9hUh{V5_n z+;a<`mT0aUZd9ptfvBx536(z8sC1Kzs)DM)l5(;Pwi2hnH+jc^$O5sD7iW8{%nFxU?0!XvABa zSS(U{B`l$8VvPe3U|0&(4z(4@#Y1~kj6zzZ*G|=3j#_Jb@)GZswulPl>*2!=#FmKV zDTZA=QN&IFhzAmvCV;p+)F+|#@MjElz}mrM3wSV|gVt81LTTstt97f~h=#N0gG^W2 zkjxs#^)5_5W9=`OOk~>K`_iA++f~e{rb*WYb8JuEv zIacy(Ck!4{%Rq&#yT@{n$~jTgujG*jAYOs@=v!i;z^!7erSH`duF#v8%S1G?!ZV?G zOBORJFEv~rHCn+*JnoJqtG#UkQ`p#*qgl;2Y32C-tN~xeyoxz|{)+=p3U(Py`Ce6B|6!M!Sd7g~C7WvN zxqSst8+bKhE-o8E^U|xTTdgle?{SK{yD+Gc$R#jx$fG#lK*b0utTAO=fiTQ=&_`i`V=ztywYy{oCLEih}#hPsbtbdW> zivqq>X(RO9Bg;i4N2M2U0!;U+Ovx6Z_pGkln1M!ZK<(PndtWZpGDi@s>IsaWrgwEn_3O_X(2WlRHAAsf>TF&ts5uVQ7)~2qAFq~f|wEyvdJz^(s)&;Mncuy zT@>2SYCzCaOWkqxb!@b*xL51zN9u4~u55*pAuR4>QoSbWRGXB^WSDxR3at zuI{x4JIus=WMKu<&)`743(wLrVm*HcrEc!S&dv=%N>8 zDvpgN)r9!&H!%8(F@Y%WDuuA}4?t z1|U)Aa+%f)AQEOx)oRFoH>G|B$q|K zX^I0`NE)rfu7FihGE1f!dJmA*!5y_Hy)pMW4=qZmAT%o0z?YIJdH@Lfog`b5*2ZHQ zCF?M0fs`;0k~cHp8P76!({XZLm|x1_8(8OwSs|vIC52)$5il%t1=Dq1o22MSp+R5r zzWCX9F7pM_9w5udt^I4U9*+M#`se979_lYeF+Gtx;xL=RIRwLyk|8EE4W*MTokDL8 z_jc6yR*nHvaG+G`sO7aY(vaRcYonYRS4@-9&pl@C9hxizK<;P@J-hiDh?N^khbQm7 zf9c)fw=b{i^X?6T(4%+0_r>XA>GP$@s_Cxw5>$b2p0jQffPC>1?qsiL*Remj+1tP6 zy)SzBT6P8rY%zR9;5vsUwPa0FA%PV=eSu-u3Zu`rr3-CQ00SR1>hc7u|ZBu5OVqFY1H z7ti0je_0QZ%fbzxzQtNGdzm{!(F+vjXm{U%i2bVEIVvj-jnWA#^O=BsgvBIE>-#jezxbGE` z{|;6`$lV(x>4+hZe*UY&$%sshpP!G}%n2kbjpmXNRmx;p&`k;!3x)q&@>ET^lE>1| zrL~v>q|6o0M=Z>o?pE^CeqkUj#lpZ`i)UvLAVsMkTu!2o_%p}OY9xd@Uz9HMG$A{z zq1FJCKy1Gm&!vXB9j8W0HpcnH5@4SxI@7(RVZ?bdlML(UcIgKKQ!DDEn1l*!7Ns!1 zbI$HLV~`C+w&RE0*v~LI2_@u{ekJ$W;Rg>c>jhFEQgm7W6mArb-0uH9$XC8V-ul)( z@saUh$aGY9ot^{Mv_fLsv@RCHav}?=5HMEJL9Vrxk5i22n^^&=MrsMFLe|dt`$K7Aei_n50AOGNg+*6mzuH$<_ z3`G7#Xoz?%T)J7wYM&v4^r;#J#b!2-yg@xiv$BX-v5aE#0YE4)07wTZN*l_IsR^5h zLXMx5S=V#OjB~`DTR%)@JQbV)#P~@7iIQ&%rZUN}?Fgjv5cgY=a2C}(Tp3z8UpKQ( z`m81+%$&i#q!_E#s(peW=D_QG#M+assBTf;OX8hore8h+l=gfq_$O|Cv;;st>0`^V zIKw*RQ>e@?|e9&gZSp}9u;cz=?!ayiu z31nh%y9NMsb5j=J;};QKBNVVEJX$IGpTGR5z@t8v-_WCeJZLYFyEjOuLXk)R{eL~- z_m=9Sn6H{&1xWZ(dg4M|7)J8qav|VssdU8+T`0)uxaI}Cv6UApBUQQYUFhbbX?(XboVd;#R0B-WAadKEkvM7?f6Ad4Z{ z8izfhez4^Yt*0E6z8mDI}q0a5MqWZ8nr8* zCuWeL=tgHM)_GUbWUK^`#EK-*pYzkvQ@c<}*Gc+o3yC>Lg|N1Ye7rvL;Y zTk8bU8lC|pPlkyG_dfjxuyG%T_*0O}4k7j9?tc%`X~mJZe*gJB-ie5qZf5Z^*ADIk z5blpX4?{iEVkY%NPIgZA zfikOwrcN%WY1}8YQN$N^XG2(KN})Nrk3{#*Js!$p)JAh8%c!Oq3$nCh%ce$7%t4sTW>MK4#A1lM-Dz<{IT>_L2pG$mirUw1 zu!$u~Zf32+4np(fn^HYuZEc)wD1+oU$mrmiwil@M23=-xq1=2@{e3FWd|+WeZFByH zocLn)`RzXi)%iJv1NmHmGt(uYT{tOLX5aZ;Ephq=t`(Mo)FOY}-@abI?-_bV= zK%VSp+DiZPg-O5uv)l|7+4TC4eD9w;K;VWS{w3Z^K;rRn>;Ly4e!-FVzV&oRLfx#8 ze?qsLpFWnP!q;s+I?OuG6GWKYAnObVF-Rwc)yMyQVqlZ$pEUW}FT(D`KB?X6IMvqK zlwE0qkQ#H*Mn=-^&7gyqcLX~jWrCW(WMEv4Fl?Lo$4|gV!wx_F-R|{S$N@a=-XQG- z^1Sui&m$t93^5iR?J-tz(!{VZcaiwAVNX@u9{TpLp@|c(-FH>kexPt~PbIvmSlD+n`w5{x2go|t%YJdVTVu4BN*UKvjGOLAk!%xEppe)i~`N@-~a~%(F&Os@D^iM^&yo~y&5wWLH5RzMn zpb{JVZisq~s8_O5>IPGVu}CE*5zlPZ7Cq6euS(X&)vs+fAt8M?tfKk6m*eJGwq_{+ z#PoImF_!>R!^$~j%CyIMEE9lKr2bE>F2pA~4IpkoxOM>ud7;f|0GYx=Y88d!nY=UP zo;^pkSOQl9NVNh$YNHWAp8O$zB-;!ipMBpKSf~G0to027JqkLY$OCi&Do$WU!9_ki zzQ#95yfz9b5-L7^{`-yNM_|UE_6F%V^4`BekevWxP&~~5k}nF4ObF>LI7a|cUG@V= zM>;+D_s0WB4|267QuL1mkYdBN9YBVQ_Xr@R5T@+_LX!j#VJ3PCvTfQYpBU3|sx&b- zEX{%o&TyzIk5P$}v=xPr>0t9{Csp@W_#TY>MV|Mt%P z1P~7pjr;w-2)SIb1B$%=91VtQ|Ix9&f5!(}{=}l54d40bIcUI?t#1$z^2QqvTVb!C z=&eR?pQg9oeDrYp8^lJ{{^`Fw4VYkii4=jYjkv#Z74-tk=Yb$g!<^u*=SEGLh~gZ# zNt0q-0$aKy&@vU00*uleMUt@u$WTM;0)^iCm46w>W{vpv(^ypTqMl$(UXsJWRqATr z+ES&^)9uZO38m9zjz=)mxtTCu1WwN4N9MC9$I~cbvYi}GEL+2Crh8I?YGOT5b?H>^ zhZ4{hN2LJ~<(DOx>*~!A)hpG2OV_ZrYv0aLqJR-t7VdQGiH4}_c?nD99jj$xwP{L+ zCuJxZ1_Px!-~S)>&cwZnBg^udeII7uK@uar`E0j@7MGAjiFzo(>tiYK*qQ+^{SAf3 zJ?gPBt7t6mBMO0J+%ziHZ0hRS|H{e8cXjyrbUHdoN%c`K-M42%-nbEQ?>%u|X1;fM z3oYp6p)dwfHm6sT13io6(P*NbkOVNH4OL-S)@#s>XUv81Rb9c}}sZZELPvlU@!P)8Igdl{F793={f8f%ob4e~fk)u!Kb;#K# z@}}hMxl4o15rj}h92xv+2_Px%2qUo&(BiDDQBAgjI-C>HloZ6Kc$AwIze<3LiaBN4 zNdF2!c(E)fMGontRqa=80>Y{t5h&7J>ha|h+)>tYu{tN~5w;K|wF)W&9GOgG6w|iQ z62*!SsTM^^T?OJq2Vt|~qiUBNUq%C*5ZQzpt*tjWg+4*-P3#R5Vb3Vl4)EZRlCczf+rEI!klO* zNfZTmMstC8=^dAJa=y@|;0JvZ{u)$cq@KW!U{^IlpSmjWpF=BQX!Ie*o+Pq*2~&QO z{zi%d2=R*wM}Q%uAQRL7^7oFOWoA}tmK>;+S1UPi^w8wg5x_^gpT(M*9z1^Fjptq7 zdLr*Wk&}>P|KV6q-u>~p=LTk<{y2!?$kCTxNW(7wflnp@sX$hbS(Gc6?~sQXQJ1#@ zr1zX^hO_kK$%2rv7JgUl8@nm>C+U5;tX2?;^NQ85G8I;eghf5C#v&FTEkDPaP7#ts zyof;@Z7WYz`;+^qwq-OVS?GYG=#rX5*MJR5q5&fUlb}>uHcB(T534p}iWPE!*oNqc z`p_R{CshFeisZ{gFAbxHw5-sV-V1Ri{A^NY)3>h?Ex^!>W+9!2zVw7v{wfDlq7 zBPrl*>`jsOz7Y8h9(%Kmwctw#GY z0i> zSo_g4zdI11J9OnTG&C{F5lwd)}_uHWd%&7Ry^T)h1k z{@`$&=UaEB2u{+fN0T0oOwIo6&L>MtpMLu3XO(43o^cRb>$~)j&HC%O01x90N~9JC5kyS$dtS#D@I?Is%gW z607D#T9T!7E9JALNtUN0BHb$I0^TGQGz7Ej*>e?Ux`pn@I%zl)KVh(#@&k0xHJcs z2}rC!SLx?+pEMvtvsKq^$;!5%62~{AiP_u+-*?br-}N&+)^$Ksm>$hdY#JJ&vx&@G z3XNAlWzYj_G|Yjgq@i?k#h}!N2L&^R8%AHCw^Ll3n~14`u&Y2_h~npW>=a((AekRE z(Qlee^k4ko+dsTh$=y2@d?Wyo2tWcsuB96=B=M0)Z;X$QIRya&0RaIAnJ@&Inmo5} z>3$MnNPvh?Bw%D|OFj+xtS4W5a_8&-0Hh&;__6fa^Y3#~!m}CIjaD9_-i! z06|p)kgdUWb5n_f^iu!`OnFKGv8+)W-g4R;fV|dE0^$&2heC7&Bpv}G!-KEv`>+C# zyFo$(AtiWRaSBoi;G+VN#XmYcnr9#sG7uujaQ{%TcE6$^pdrRXf`;_qqr3%x^dRK( zuND^uCkY@;5QGdQD9F(ZwG-ynQZkJp#)R3ZT3cUVaPAc=#Bf&>G(`3EC^HUk+q3KAGX0GWO1 zL82dEAcBtyKLjCUAfzClKKSStz>h3|5JH@S3?A#w=cng~5OvRDul8g|0HkPJVfUrT zo58X@+0_yGH^+uYa&njm67b;{rH{Ti@WwygC;=oGh(U-0NC@B~0m$_$10!Q#AQ=im z4q}o3K{073?G^ZK{_Psu<89hBke z$>*_l_E-8{`~8$ckt4j}oEZO=fg zN_zk)+S=X{Kv?dk>>Pj;Y=`|U3?2&Au$=1^YfXjTP{+4aRM<|@SiQGm4>jn888kNw ziX2ZU8ifvamePPs*MOF-Cfme@=5f!S=s~p9#%LjVFS{o`!`mEvk&cFyIe;^$s zgfc#L>1Pj@>ljFgA4T_zLn;8dwlIBoETo=+)cjm;&Dp$DlW(ji015O61PQ6oW3{{` z{163k2C};H$>Rh4GX@}yFDT?+OI1ff3Zo6$gk;01vC4>`j23q-HR}n0(Oyb^-B+8J z&1o}>X}n`U&>WP7i&l@SpkMz7mG(86e8J(E<<%tb25K$1}M-D*ZG~Sz6e?BY#$uSTLfCC3X4m`e{7zi&0 zu`_wsDhjgn{Q$DG_|DYKWPdvjf}`pG`S}x?4>>s|nP9bMO9zWdTSjWFY_LPk)CM5JCoWqXdxOdGYX= zBy$j?{)$3;hjsC<-xdQQ1&Q;p5&>B;1`;9wS^4DKmuF`BTW}CEkW$WF2p>c8k1Y&+ zXSD@#C&Q(lFgTIXD-p=nE?iCUxps|87qn2+cEFeN6g?NpVh0+a%}^BEfHaH+0vmG? z@sdV*g66!yNUT#;j+r9{GRb&s`ofrC$RO1~t0C@5d$Ajz2mt^A0Z5^iVJ>RYW{v<| z1eU8Z03`0H;amX?85NKoPLKd3S|)el(wp<;wSi=|%CPl|t*;%kQC$}417Fk!ATVsT zjL%uGi)C8`p~OJvdjZ7tdBn=!P=NZ>tZfb;^PN*;P2hv%Lm!d^0lE0Xz2$lal0OaW zDgor<|2hr;spTMbQgaaGzjYt2-WLVobs#6irJm6cJE(ENdv=ubOMFMFBB+y- z;E9V4j6D)ZUuYsAyG7Dy<}*d9J_nG#Or<0as%&24P{hsjDrQU6hM3Lfk~O6U0?gs0 znsip!45{cRug`Rf%tj6tLYdB7>J#Q zwU+99^3l5kiGs91kdU~V@YUDmp9Bru!j?^Ne%9l=5PF>o2`BOr_t^Rbz_i5mmG)CP z+C`H*fGZI_s|SmtwT=09q@;6OiMgP`oM-3Ys51gmAV!l(X}blTc2`Ixi+D| zEO!v92Ur}l}BzsHIT(T5Md@o+;7MDQU9;ZgJuKMgAZ$c+yt z4)ed$TXT>j)3dK%3;4iMbm2#NUn}omAPyi)Wu?u}Zht%2KhsYHY4;a}LqDCLDYJaAg~3s@8IuQ+XK%vG|gkk6`2YKz7V#a?K10f9~X~y!#hu! zWI853R}edbOhxh^pRvCBUN}q4%Up8+$!1n}5LP9CH1`A-0!Y0lHrGAZqKb#AvlSNy z5Xw^lNaH0yD*&HFNZCbs>mQrFowkTfy2A#_~o} zvDI6~vGbDQ{$%@2lRce|0OD0!*_a0q)XL@Rxn=<3g(z5ytsbbt|SZ&vQj+~K-i^(&Ol1}?Eb!A1O;h(9Hb|M zrv)IA%y+2mB8I6s(@^VFk}2MvWW2b2*4UH2-BrIQdoq6vr|>pM5b}_Ufc*Opf`I5C zx}Apg#~)|Ufw@svW-p|fh=xZ z4E|x?Vr3}^gr{LWxBvPYf6=|>*A)LO29o5H<>wOxX@wyCO_P~RZx_X$bou574ItfT z1wgv>i)0pL>un!_tF7GJuQXA?mCOzk6`H0DD+Pyr9 zu&Pz7f^OXF3NVCjs&(8xdTqXI8l$WrOX6XrDvrtnb+;I*ca_7)gt~ ztSW_0X~Bf$(gpO)b>1-iXewkNhsWY)6l>1Hx{Q)D52ZfRZnLKmW)SZx-qRk}>S)5}uJ6Ot z>I@{mUZ;2xb@?t(=XCn;BHv+FIWXbZY#+PB3)~Ls$S>>j8`+#I^q_(14KaZIq^`!? zM0kf_R!w>wivcu->IQ)9S+n@se{8B9et>@@0y2AX;lp*w9sQUI2#8Pw0P>L^1G)a_ zFN}`?9i;%MQ?9fG-s4@_Q4s{!_b zW&ztgxKzN=^j_j!dWB-xT8c*A^k5r@os>0H5Dly$B8z7bDxekGh(YY0cx8AS03r;T zn0fPG+*_9{i-F)jLF^z%i2o-N8u*kmd-2>j_^zIY%E-Tq3h*M#IsOYE_BLGl6wkTwy8fI5N_c2j*LRzyf&aRN8h ziu}V%(fWX=*be`<eI*vXzb?9{Z6_X7Ch%*pUkh;^bu3ZfVa`Wy>JpdtgwB;bf{eutF@9~0y z;2^qw4l79w1rY<;OcxWb58^m_D-IGUa)9oGC3MYF4`C3c$Q8`m40$CLDrSTxVaU^R%F?7+2_E;Am{w3de}k z7RF(OBq|{J&_@=leF&2>Qvp{PJq8l0%#MOOy-B`Uia{@c)##`B88VjIbs*rh`Zqju zRE`}2h0}}ts<#eZFrt=ab$z3Mlrc0M4FWQ4{19VwB)W#Jj|;LBK#B1Wj35JV^@D{_jC%{@3&Kj8FGc`WpP%lMWJ{!wX`DdocdF zKPmuYESn%47`a3a)MkSez@KGy&!LPxS;hKHm>48Jm@km0VG8PyvY%59r41evu$St^fBXe=0L`DnFvu}Jp}H+ zWGGXK1%m^>ch9@ZN{$cSeJ*vhx6O1sv!Zv<_k`K(Ic${@Z%smI;K+LG&e&N6z#MhX zOpR<)sv{u72Tuk82`PbNxsHM0$4ov3ek2J7a_iokBcn~2M=kF#8SWq0e{GEnr0xgZ z^9&^9vj>m=_cQ=x8-EXS?w!K(swV*tDwfny3UUJa6nA3E#U89cZBRxN4M3Fa9pO~o z1VB6zS(%~dt7QTj0R)-e#?AnQO&d5`fI5K0-BS*kjM09yWXZvV-~V_Xw_Ipr2o;)_ zzOHM}h$h|V)Wu=i2iX=KMml1}kQZ0);t1&Mf)->YTWm}{SB;g`)eNCy6}3RAXNWn^ zDO|mkW-8Z(s*9sk@y@xi?cztejrX6su(7^D27<%rK|m4%`Q!LSUNVq`A@~Yw@!_8w z9vc@RI3^saWVn>_Nir3Z-bkiPnHjopW$8XHB~1JSSAyVLbO#Xplu7kix&2oEWP1d` z*}OxiFYq{Wi1BgX=27eZ2tw>GQ@_|`LoSX!5~hZXx0|_{$`(J3#p{xjc?wY`V!)(HH1yXe5b&3OCK#K`ug z`WeN2>$L!aUsSwO0!Vs@fe1i8A_IA}&_6yr-CxQy@-$MkQZZyO$-(NWl%YdI<-L47 zcj^4aGs~X^0r}pe=xZw(2BJDEpZ(Qe^aDWJAV|oiGsUkt8a$;w135()y4}cYxZK>K znAx@x-$ESU4e8q*wR^HB^Dp6Vq*_b*8O2|9?j`)#Ab{Av65_&#(P-SOC%nL3BEA`PWi&-QQB#lVZoQyYuS@kUiOxqWJOn z$PUQpk%O-+tZ!_Pf`EbCO?MtfPxw*upCI}Q>-5ilUR-uLapJ`O7kcuOpZw%sRPxXM z**^_gNb(Q=;XhpXyH8|alE3~p_T5>EV<3VM976{KaRd>7Y^Hmv^2J|`zXjPg2RU?- zX=6|JMF_c_^}5csf~K>3@zB}6s@*ZZ)4sU9>Rpq*Y}>Z6lds%S zDYj{I2al|Ds1BNXx;g|9?$ODqQ*~1st$0%n;L7x2C)dV4)gfVryYdyPGpLjgZ!gJ# zd0sSB88qhnzHoeWM+nG^1F!GvfyYMf7zoe9s{K91xDx%EHtFKR3RqGZU?q@cOBMrK z9(@;D%9}8RzlJ3Q@nayyKvqIF*V5JK-~0ufht&!}@Yhnc{+ij=EHu1keJd!p3f4jd z05-xr~MsQ=`q^=7uvrHf)Hd<<->{<}~MZ=7)jpW^)n%#Ct)bSpX== zID{$4W<&3{SH?Sdg|wKa9GGxFf0qZDtgW=Dfz!104phZQC~PAggZZ4FXk$}W+Vd)@<7)aazAR!JQ{x4J40zm{JH-RCyZURC;P9)!ef!HySxR7v_ z-(fj`tj0H3n`NC(?*8A|mI&e$VY`CD${mFZgC*y9eV<-!=KyBVl?HSyz9ZKu0<8OCp zY)8JqdU5u^!iPG9t_ul8L8@Er-`W}niLbD(UByw6Bt}3;L2d~@7QsQ%O$_9AJp&2+ zh{NbP1`@JXLdchk3j_U-HVC4>mdevqn^or>e55TF*LC92&tSlUTTaiE*d9P2^|3(x zSpe}}v-As~N&xBP0mQX9fVcuq3Tk9vjaZ{cjTy~=5?%FqB!FPvEyd9B90f3b8m+(> z^%yG=6-b;`P?4h%Q8@!ipu{YMTJ6gxv1#a0A5no3p90cCGGGzf!fKqDK_r16O5hVPwr$gTE9`6w!;S+nx@MzJT)or0NX=JKZT~**VwdTu0G^Hv` zf!Ylrq$e|(Lk+wJ-om;{Jo~akJ_#B#iVdD-rXDAi=`muvaqzSiP!}52<=8OyPXFkR5Ri$PSN}yxKx!Dsa?NR2 zf)D_RePea?quL+qt?(t?(mnVH@dR=UQX#>p`P}n(J)Bm$hiPh7|GaSLo(OY%QRb|dp*O-XkO-^$taN`LndT3 z*d_(aVSVy0@lJFc?t>T0O;Rb_R7p0&TQz{#%|;&vXk^(Mi3=>KZrZ~VA+SwV;5*VJ zp@wMD#ulmwLf9P!0%yodRTYJ(i)N!1Mix^;Y(*IIS%riH#3)TCl-LW5lI!@co#Nm9 zcx-0~$nemyZ>s|!fgd>rayQRFdUEySo;ZR?uJe!xj*8TS$l{~w)U0$Rh+j#le+2RK zcmW`r-$9ViR_`300tIQsL1ucFK@Od~z`OuoM)V0R=yVnp7WzKl+{_Gz@G|@|g=p2a zvwpm1G0}$$LN7JfwSYHXjq%cMfHVU$!iQ?8#|%uSD*~-&RHtl!BAHJ<(zRK2G?iwQ z>AmftXHTOTl03gQK@j?nf zu3~YlXXI>@vTNQ4Ju(}aTDXk{5MDTbga}U<$OiZT009z-4?roS&H;pLZK9`xGQV#E z7Ggq}v~69Bx3&gmCKiCW_&Sq=>N(3lvB`R^z7@WQEl@yPyn^`*Dj8asn5Wj057%ei z(~~Dv@=R}o=&JrYg7{um&#jWN#8%@DjB0m~x&?&q=JQAJp>!{t8`&uW^7g~^jW`AZ z0J)QHA@+N`nbWY6T>U7=K(32{+(?f=kc1t6OhjK{l?3E=#XufNcp7hoAggvE2moYL z1SD1X>fV9rNg;>;qzwm|J$(T&gY?3M1|=WUxiFyHLh>ntg`^TFpf>JnKnM4x^Jk(6 zjSwll7Jx>zT~S^Lr=AD$dt=ISV_ut}2(yk~6pwiG6l^g85clP}VJ$T;GizPo!T88Q zZq|x}4`Gnv`ZtQsWmW{UEofrV&O zRL*CzW|-d)nwrn0ts5bIoo7N|B5;XABa3c_m(F=LQUOT%3d_#I!ch>O$6L=pHcJAsS=HEFTKoFih3azjX@E$}A9tU* z^j7g(A4~tAz4LIA<2cs*Mx3_{A7_aLo_~*^JS@Rj9b{LaK!FI#G&nL#bMjs^A%Y;^ zLr^dhKu?^NnX@?D-*}z&ecQ*rypo@XJ@7>tFp4HGV`nKp6Pj)1IRmmL15`+{a1ITZkf4Ih#3)e35%eI?c2k9Z?lZ(IIg)TAT4#tEJ!p}P; z#%$GIrY%y}JnSYkSx)GJnyNzsWL<(m(Veh91S~h}uA5MCcDpFEwyf=8G@EzJp3E;R zV>-1s^U;|SkfY~x8$~|GTQU$Xf`A}31L^;NN(Lg7Xnzcg35cu7NlM@ih=W z$E!cS2-3VA7N@XOLv-<{U*3+(=$q#tCrIAfzDWdmsP^m(c-eCD(6`sc$d;9MHNdMST*9kzZ&_n>CVg-;ogH_cIOPCBG-K6`56)AK8AxHmGKNgaKuk{qAVUHIgyal_ z{DS-g068xJ;T)FgJbCwteWV~8-rW7ZTc?&2Jba*ZSh!7JT$ikxhlou8hUr`Q122$a}2qKi=vsSGP z1RmEw$Ux$W41@$EXCOk5atezSgxe{SffNAwZOTu68|)XZ-t~}EkPQ&TDae8Q`|Id9 zB1Tis6?HNd47i>5%8#_?5+vCAF!{c(B~odof{vY2sX;xGBTkj#7Cq4(!XA+~FOuI>s3j zE)5kj`=g}{Sz(me94r-LC9zc0>yJI#7SmY_8cS{08(XlL%yN)ZI%^U`0u6hp?g*Pb zS**t@MdfCFQD}+IEEgd?fvO}grMsjFh$MWNs*J7f*Hhd7N9$ouQKLfu=?`Xth-H@O zQEPr<=? z^dq>I$-=FqSBTKu(4{-V>4))avLuvnxU@pv@LG3!^(1YUoO9M?rn35;GV_z)1A2CtEekJoG*&jAhFMq-xhy z%kIFGD2laU`LKv?M9@oOMn~~hGt8tK0fyxqcv7wGql}-OP;Ai0vX=C$*8x*>pep!E zr$GrYaV~mdWp&UKejfCdb8{siA3O26e|f`HG31pVLHeim2`m9f{b6(fq;ac7u7H$l zAmxsV%0M`U6~r|V5jS)v11UcVQUF9ZGC8jb*DieHfK!kS&SDur{`j7gW4b`3(=J9H zh%t0*8$~i2n|RmBZ=z<{{{SksGq!5w>)nVvOO0R8(ly&iRtX#9Ur)G_h8me1rVL^ zP|0lo;;5vxl28Tvv{4b(sU#{Yzwl5%B}eqo3;?;*0U#bC0HWaK&OJrm7$*Q36C^BY zXOQ4?V8bf_V*8VMNJRhN89;)iNFO!u3jk!`ECCR&VTUaniR$q)j3a66Ny;vWJ)g3_8S!p)QQ3bAd0r~P@#Yw zs-Bd_2p#^yw1y{H`5>{2BDTslWQ7p#O#l$=+*&Wkc(#-AihtgB4RLft&-k`wq_zfR0odK%6RgC_YDZ3klVhasaH4@F{sq zt@{WdKJZd@#()7R!+I>%5gtplbmyEMfqCdRT4;(m&*kYHa}#@w>m~v2z`GDU2Ca6+ zU`@TW4FkjXsp5$E;{PQzXoBxp1@qhD1 zI|KRU@J|LJYJ3cR=cQ~*aYLaB$G5AhJ|~Z4 zpM5vPPxlcD5!e)@Flih@ylzC9v66z1v=71@gQqsqKn!sQP+htwdkv)Vx|z3hM6F&X zAvbii;?NmJ#P+Kud$V<$F-LC(i`P7yd?#J3WRVHi)$daov0GDm@~3g^N(ME z9|b-1S3kzfMUeWd=)cJTu>v5!*|nhzmDf|^VJD$WG!-OZ+_S^MNQ0`j6H>60~Pxr07eoB z4LX!f(xnk2nz2p9pLXOgc&W;85wWNN`1A!_AtdQ=mn*S~)Gvl^uIG^80T!`K)w7_3 z(872jBXCsG^=JVVvoy>ETYY5gXgi@U#Rb)k+?|$@oX3-dr&CyQ4(sXf9U%kRFb6rd|M;$q1H!+(iaUhZ z>{bxTs)&R$T5|>kL-wopAskYOi<;PAntYnfKtZv+6I&w$BS&hLh=r%)8Yl^ZpbK1; z8$%ct&P3J@5w7zTWwImz2r?Kxk}IjoIMIf$$XM9UF-Q5FB%A*t%r$)RMcvj~95OP< z!@6zp0FVp<4FG8{Llc^!P|6F__M7u-6+l2sMEY$(D&$vg2X~1?n8kqW>RL5WIJ;5> z5FL(ufRg=@v61e0hA7Kx%!Ua7!7uV8p}PTu*k6VFlvgG22mt9Ih)>=Ck)BOfW?&-_ z*WbPG!?PtIkAC^3H^7fK^j9(v5Trs#MG$h31Rx`0{YCT%XmtYd?nwXwF<%TgTzf5m zEXigdCJmwLzUq#+a!e03o@{k*iICdlv`i7L-g{JRV-mgf7SLO4IlopXzrOF@xe|~= z5B{6ijUOh^gA7Dh(I?yvt7IT%HSXum-FVAI^mYbPzX(DCl0JsjCmIa^xfTz731sA7 zyZGd(ZSs#zZ)&oA=8;qF1>V32@3c41-VKT`*VcNM2cym1o{a?rO#qO^TJGK+Z#NS( zUBGm)==L6?MLD_yG+{P(y5k_g=C@Hi`x0lcbOB^|;){eO191vcGZ4c^$v|K<&S90S zAbbkT@IeLwfbd0-{tpBxUj%6Yh?&3D?-i1Q{QAZ1qkNBW;~eB3cAoPR&Og8ZZ!8$q z-utw-0ej)6#iT{06_qN0EEacQf#;R5x1Pg*Dc!8!#U||+lbi8e$|s0|IlFtWulAL* z{EXD*_i_JUr!IpZD?bPlUqg=!B;Ak~nvj72AoU`8{SreaW*+;P+UMy$yv`GL$OsJf8CcU?r?P89b?&KHNqyos^W>IS~ zU6G9dq-Z}g)lRk+o|(M`n%8;|^(IKRoh^d8=wgo{QEO3Rkm{RXi*pH5hT8G8*P3m0 zp$A3rQ~?gC;dR2vqJ_n1sKj}wnjcd`om|?J>zB?^jxrC+qS>_-sH7P7sLf(eI%^h@ z!q~MssD)6t<1|saGsn+J@k3HKZ~QRuqxCUfGLQlv{bTJ7c>xg4Y}E{eYasP&AmumF zp9DZeSKB`cGGrj}$QcL#0(`{(NEfbM|8ktenkNT2^yrs&CZ1&&*L*b{=uO6vf+`}+ zVR{lm9iA<`5fXV{QH+{2FAtw4e<_zYF>Ug7|6zSBOy_2+5 z2aUOMkTdo{i~$1?qk2B3S3?vQi*wxGSVrt4lX}FI>`BPWJrGu-3Yry{RJo)^wSpW4 zV+f3XP-*CmBF7SfKn9Y!W3w6>TlHj|(;6T~9jLCn*Uo8~)DjOLO#aT2;jkeCZp8!F zrTH+oY$21n48%*tn|RAS(}NV132adjD%gjZ=z}535=sNH#iE-uHxAl+tXCZ+s6kI| zN$=E63#o=3M49!`+-WQbn-DcfT`0Jc|`(=WF2%hx>;3u4~3E-i8tt1 zchbN?X$c2kL9-~d2CRrxLYO+w>5o;w06ka;wFez`=J**Yen{%koy(Ddlph1B*Fb(b zmP!U3(x-iO9vwb znI#7~_QzjLD~sK)5T22eTTFa!;ifnO4HkBDc-Sy$GvYbKNkEzuhKc6*I}T`>)qikb zT#W%CgvbbjB#zY}Fwo!qynf$xy-cjxQbX%3v8SSU1RtZW*##GgRWgs_y}< zB&9(6V82W=0gv2qLCb7}$wUYF;9e*~xE@ty+dvM)=)enY4Qw_Zq(-ap`5z)R=ok72cL$Xfu!<*nPf10lu_au6^iWgy_k^?D7&7*f9p zQZo?JkMTYxJ$wvL7yr%)1IP?H$o8Y3$R{V#$x=$vj>H>wygf>YwO;*&%}3thct;o^ zNyowo74<9-Tlowi_F4dnXiKxf>YY!K3Z#=kzz+aozRPjXPyjEti-^V`>%cExs{rCC z;M%w#E(6({;1X#~?t=rxxF&$G3cY?PL~PJ1b};nMo*>~=Qi&MHjCagy6ngs~lmSGw z9DyCLM!aE^2=^dkY@FHgYN}(`qLD?Zo&|T*;|dA;c;Y=KqGSupmNBCq8nB0uPzPCJ zve0&cP(AeoK&U6nR`G(I$aVaZybWj}jvFB)2t)_(g9~bT<}5?=LuyMIW?_E+-WUjs zc@o4+Gs-f#g8ioFrbTuw4~E1=T+h9aZDF{q$Gh{$10R|%0r~8ymv8)#Yak>b>GqQ&8B$ z)ufskM1G2fBS4R`fy+V2M*AFKb)Y8=0hgmIdnCTF2R6`PbS%8Ws^eRrpnLMZ5Y5T# z0LSc{M3Nvzj<0&C1Y0iUI-~&>7QslEC(dH}9ew%GA=FlaAa7LNDXpx=7UTCM!14;S zd@wXaG^3sYMAd*I`cr-IXtY@bK$7GsU~W+b`!f>;$E*MY%Q_OEjj1eMnQ#|zaS3^< zLT%b4P7tbsEKq`2j*{^*!XPw9wCb5iW7Q8JZ8$As$@51SREb7(PjA8rMp_oxZ%=;n zqcdIsIsU!Cj`(YS6PL-f2?zkf=XfbC*FXS|2^olg5}g~m$D?K-`D0iGLC#YQ zdVn7np1u0g5dp|7Imm%ep91dpIO|LJDf=0PObi8o!#?ZQ(B)VJH4H{<;nNP;>A-DX z8g;W^%Rx1qB)egTF*M*zNQros0$C1}@I+`K1W``~u#h1~jHfgmoCPZpP8eghNyx}h zi<{!hZba<#kVwdKRjRY>u8f-##ys8*!Cn*rFew?$Qu{5vhsjLW`DNaSQxwotDliZq zr0|;d)^u0_gvHegFw?TH0v^RK$U(e)f~evReM-CunaHFzOeh)`7s95{qnf)xs18pG zKm~c|fTdy901$l6Psy(mfZ)Cmy^v&&roxawMutYi4oHM?>Ipu=JHuT}9(e4fK#zcr z9~wW5A?0Jd`F^|ug8Y~aq;(Dp03ibz3b_hWZe~IXQm%oB$UuU)pL_W#Nc{O@Sl|Z$ z(vvQLa3d@bq)$Qq*D)i=9688?pV(1~j}c-l`14Q(1Dj@pS%U-ddyjI=rzG|SaR{zU zJG!Ji+KuS|FpxFH;}Mto@fqdRpD@eV0N&LA2PwrTB@&xwG|i{NVJ2|xkWU3XlbB$y zW-d{Is%d8kT0@*3$|dR%1Yw3#!1tTFsMH_3BgJxa24Vow18M+BM``I517LKhodHDV zz~ooNg6M;(NP1UWuA)X4DDtVTnJIY9Yi&|hqpXe%E-PC%VT=VvCCt5)uJ*}3gbNoO z&`V7at3>oAS+5 z5Qr$PRE-Pq`2_%>Chx0bn2Kr&_{H6MrcYD>KoDdOXM+F`bT-meEnK^B@;F3{5h^=U zG=&P2aU`PSt^!D{>RoX=pisnA`F%?*u#L56!ZUy*>Z(2ntAxl>y|idksncjWl?P^( zVrFc*8q<4jGrFm@*EcOezpiU*AT;KQ_%M-5YKT)dm40I1j0wm?pML#^WFX*21`%IF z?`eb&{fQdi1j(ncC?o?3hA)7W-y|&8Kmd;sKnx)z1K|`F8HjJlTQU$3B#Pom*U$wa zKl?BHK#-%G-kNvcnQwQiHr3o=v<$XJ(iz--ayvpi2v@;oy-g#fFeoTtvueN;Fl*h0 zV`Bs@G0pO_Yo64kR%>&o>jHqhZFIBAfp!<~TH1Xtc2()*96uw)ecbQ+SC@PEh)4Mt zR=FE57ttFj$WJDn!lKwz&?EmOAqZ0Lr3iokAxc2FkS;QOlng|F1CYT5m&yj;1`!7%Y?d|q<@A%dd%Y47n+*7doegzO{J%H>^ue{6i zJIQ2s@3@Was(nL9_wDTu-#g=d+#kOY0MhsrmM?*DJ6<4UH3K09sQ^L-LUH*VZ#>!= zNV%Ik*FZ=?$Uw?>(XX_wf&4bzNb$m$gY*dU-1*P=GWz-)WNHfX-%js+03aU#NLjYc z0fZKaphP_0v#u1wTGuhnsC}~!O7U8nl{iIxF$)VtOT`lHipo@=psHBAC2ygC3c3IC zwy`)N3mDs_5>wHfc9cLoil9D2WxRS1P4Lg65|wHJMSHtvKRjmw@`yizr9TJ+sToN9 zDq+e%e!M;dNyRw>A^Rv9NV$Yg24WE5n}mD}3;f_RdO;B1#l%$dkARSimmlUF)(l@s z-+%uutDCLB#*Nu>n6_Q`5M>RMSH0chM6!5%pr>O0usEU+!E{}sCqsZS$=DeNx=oL! zyJ)n&<}Q_~O&FP`UlEVMHZhZRDv`&guxeVPV{HksbX#pzs2KXjAAPf;n*VBcVQr4B zsrM+T6oNx8B0Y4*Se7>AO7bqX%iN-~A;%RRwX<8mD8r@BF6LSLvOK*KwyPeNr_fL1 zUAbdWKR{JrHK`-X#or)n4Zgld~`#v;Z0I=?tY#oUg~;UvKk7LwzD5XyG&2wYq}~pzW+321kTMVvu#zr< z#7V4Y7KceeHpxNwX{pY>xjXKFWQcOa9BlAks`g|bya}vG1eGw09M?@lPsKrPpQZ{b zyty4#P?M@_w{Px-V_KEq%up$ndK^=y5>=2>j|evG8;M~+X{KE{C<{Slt%DevF#I(-j@7G%OxLJZjEhmzbr8i+DsctSFBuxoRL%B|6wrzh z)1?7K$3W4pk60X)&_K^oDCD#G@7+8Oe$4ShQeXZjzJOl7N(hGN6qX_6l|}|)A_EBm zDjH|7zz|JFaH4mnIQ++{^su9 z&6~F78W%Xkq%Z?^dv*Vd9o-bk#asyS9%1SOcZ3Zf6;CdqshDUb2WGSl%&U7Yx^!Pz zVd_G3S_=Z4Hs?6$qWsgTLD7JXukQ*Zx0Kq(9z+BJ` z(0=OdkvX7)`?&wx*Kd%4xZq0k>%}?(TB5o!CAt%5cd57H*?x9_rD(#Bc-qk3E z+zcS2NS*-@iLFNOkYo2i>1b03SR`zhp}9M|9Da*d_`Dm(3!^9mqLm_MsqF2oQ~?@N zJh~a64Y7o8nAWq1AS2?SJ43w3Zt}UAV!d81_FR21R(hqzvSR3qK5im@Nl6_AoJpQ&Bl;j=qA)>!0ukn-@vi)VU1ZkfCMVE9KpnEt6B5}Q?W(Ad0t}7=Koj2={K>HiJ`B?i0kkEyg5(R|~Q6V;{JW9QnuKX6zvZ)<7K9fS9Po8lng5iUu0s zR@8U&zy_koWLd%WYN!vYczu|1La@XMO2{c?ZXQ2DdclflDhZ>A_Z#LXtlwiGVkh9R zWEAp%u`^Y{x~S>O3|vI7QP1s_YjEz1?zwUg;E91R{9rJ4K36E!1P3HT)Tsk;x)n1CETr`sqh1F2WgA_rNc{}f+6<(85#%bTu>F=lYltNvMg>kb6J>Z$wDhS37=*~;oQz;BOPgpS zJ$uxwDS;9$x(;H9Wen9wfO~ufhOG)rA332Co2ZFMB$10gs;lUPqy1bHg|97y>XR{XEt4y)YF#N=xr29@6eA7mgs z{q^3>hTCallr_C;)&+CQ|&KG75D@ z8H*&mx{S9q;>S1`iJ*p%Noc{p1qnDbUP^Sq+ItG=6+Vd)oO!dluFPIlO!`iHUz{4) z(deb1hzY|V2`S8zW=I?c;{|bt;4AgSur8dS*FzP+DJp|w(Io&vw@ecQLRCnB1@zHX zG8AdTEW#9r#fE`o2A==~13@1>5?2B0yg{O~i{vCAa zqestt=CTry`Wap>qQ~zM)>Bxf`Z=uDMG)Q3ogz_5KpJPToPa!8GY|lT3YhNdrK%ueBbbQQ33j5J+Zd@J38zGj6g<%e6e zp>y6<w#Hw#6#2R%B&sHE_I+iWP!kQ!GkVbS_$>0A;Kqr~7KNsw639d;VF= zGLwZ=T2zF|&q&R4ANPCy@#UO>+=d~Uat6W;c}YPU83@@%AWF$Vnzu5kALHfMK%9Y; zFMYaorE1R(>t2C4uc!Vb~1zrO1~10FNnns@sTpJ1VVwuu19N>}nVWX=IMovyex zXT+cyJ4#_&RKq;${-}ztwc$gYeQwn)<7touFr83UyaufrfC(doLkj~)LHg#zv|OB6 zx7r2kRwFt@fdJ$!5CZ2Xl$%@Zo$eOF8%)7Fnz~0G*!(+$&_|B`$49`A8||M1Ap?p3 z^&jMIXCM@rK#z(bpvUmU%@jF>)k8=-1F0XwssK{pgX|+7etQ1elMf!;H)9U6ec!i< zBb(EEKW-rTPEW~VewF83i8~A+w{A6Ar{mFNHp<>9wtM=mb8Awe)GJ=%5VVOz>a=o2_@G-0kATB5gh#+u)lUnDeyl<%Tn<06O%068CzasfTl#b18z@X@1S$i`nuKlb1wi%GV7`uz$Zvj&Kb z0Az!8xI?s6y44GZr%y9-7c(2pz)#zWL*>am)pjsA$Y=z=mQlj{(l7m#aw<=^xOWxi zwGsSQU6A#wI z=VxxAd|@P#5a`wMB1ru%2ziK;5K!b={;gYJ1R8zH z0pE;^2thoSk>;~tA@$H=99L;mK)z1ht->t_%oTDGhz~R2Y06K2@}nR5=xp@yegD3D zDbYXT-QV%U2X}y8j=%n;f4+@gkH6RBzkl>}8`S;s$?K-8@ozW*QxdR%E-NLzjqjCT z59hsvKUXe3{^5fM4<0#qMC8{@M<)>2v;Bo9_Tymg&Pw{(1nZ4R4wL|*{BnHx*%yI z-jyCa-X{DM@mslu847E(=v5rKbtVeIha+JPrKurx#Fg!$-@pS|{ZwS?xhJ&Ez0;D_ zpneqamWiv*1H9R-P$*hZm4TuzM0~Dp)OJATfrO~wShE9GAS{c?fwLxy0}QK9jJK4Z z`oh7FA3l8W@WF$dJ{|7G9NB)L>*3*h@fT0){{D^;#Sd_Wavqdrx~ms)*WbCTfBlF3 z-#-|tAY=kgy&R7LP(+u5UjNlISA7|z5cp8Pp?+Ioj~e_1FP;WEfALcvJDRhJ6Dzb` z|F)t1g%141@v~2qFyw#y8YXsvbDFA)uV$@yqs#F$R|N@>k;PLe36z0Pge2U_qRX%t zn`*eGjvJs>k_Gzm{?a-v$c5^$1WB<9AUO|2P+i&zAURLrNlZj!evJi;wPsITq|fDmDD zdvlv-5;A~94^+lq$8G`Q0w4u07(xLMEk;iTFt!F35{ZsfkObmVU~dpo%V1QFsV)mtYx85NAH08qI=mwX$2$&REU2o9*^N@C}w!5o&eM18i<`#j2zEVnf|Fv zLV3$?gMc6Uadu@fWF@Tf&{2@g)W~GbBwoy(Fk03k`ew4#!-$SJJFA+eAE%bKsO&;? zR&Scmy?g%T=)Ob8`pxm7LmNDaj&1+N@spDQ z8C{wA$*Wg@3_g4%DnI!lTf>`xR*Tjf9FPnoXUO1XCrvW%u zOAOPAHMGk5NezV^iZOIoDf_ouI3ku#!(9iC;Z;6KlhL^bLKgzN;sv9_b%`#BOIqP| z_$^3Mp)^)UD?z3q8t2rZyhNuUu!QWuyt-z*2rGxd5P%63O70 zNU04)jWuIDRh(ADmNF70@RsRx~fn-Vmsk~gbd3n8L3%*wN@?zq3}(q2*ZQ1p+q}Cj|V+?93AwDG47M*pabB5 z^8LDg_=~H*8So=P$d!B(ta2w_0|?j==n?qgzl0#qKD8SF(vvWxz(_?BP^1YXUw>@j z{S{Vy%ljj}Q|xqf#eiLg|K?qq(P4CU36S4sl*q0^LEb)6PZDT>uc!8|CvIp!bYV}2 z@1rS^gDn(FsT8-v-q|s#;|xs*B4@yz644QnfE^}*98MCC3g#24MkvK;*$LAfc;fJk zCj)~Qtc;kAangeVIrzSCYEFy54ct=&1 zkVyvBfTq*xiY!^jtPv`Kq^C*vM)80qk}+te1B!}Nvv}!+9#l;Lj2Z8;@Ki|)N?W^t z{gM%SE`{6phzcb}|BTge@2QHKmc)?hkM=>#Au+=t#a<}Blv_OUKaR`@AO}9VtBe35 z!WSxKP0s2i@E;7oP(Y^C5q{*PL(oz1Bd(sOkA=PX^lvhJr1T^HfDiB^C<=g-c<>os zJ&XSON8dX3(7E;SK^C%_ga9AV{of{v5VYb6za#wP3l2)S2)og!?Knw*3zM7z!)&!3+Kft3CuWjCj`HSctD)BN~eNYLjV?vGWut3 z!GGzN&DXfgRtrr~CId(&+e=0a00dpwE1<|NRxFJ>x?_#|;8k6c2p}%E$b3{kl-eI5?~ypwbzs3N2IsIO-{@f*ySKYW#+L|Ma8l zSBxK~G5u)ZM^OF=LQ)T72=x5ly!ho4pFOvE`oU?eFMY;qpTY%xho=iRylYVIuK0l! zwE)BxZ1ciXNN(^K5J7t!jsXxKz`|%9+bV!i7XX3bEJfuw?Jc4?ZwNsp7%S)!H+Jzh zysoW{d{Gl1aYR+^IH*J(Wyq!B=!Gtr(A>>>;hR=;G93@)Cw zs1Jb3Bnla{jO~S(8`?RsB#q^KU$qG~w%`tgT@XJ_@T-0lKnB5-5hWYV>6|Oq)kvu{ zDvt#z{iV>;V79kNMc<+w%!(|mSymZh)Olo;@YMz-P6EJ!C*m33o6q}2+}^>sVReK(0>BzuC4r#4;r^gsC97imt0t+cw@!p^DmV0ky_@-sI^lfYiq0 z=~S(u9<^!ev=yZmXJ-YFN5B5P5g+~^d-uU)HL@LWe4On{{s2z%C|;VPa&6=-RT~g# z1F3ikUfgt@X7d^f28OqIs3mTK8t0r%@)xwauhjge_n;DQ-RaxvZk=u&b)Ual zVJ_q#TJn@@ggIv7wNN%}ZYjW_K#nf#0aE1T)qo$t<*U>1Wf(Ce>t zC$~e7R>n;}#0NLgk9m$fIFcz6Wo)YKxH3{?cryWDntAtA?O;OqOaPD}dv6*bR5ZPOe~EXWH!X`V9)2d#A-DxjG>6xM zrM|E25v32%V-^p!tYn;*0iAh07X z0Y2Klb1yBvcyKy?Z2R_S1|Xk*c_0g$In)iY5rxCFW^_%l0wd#hq#2`pj25?TMw`La z@hw*xZ66!KIA7z{#}+5{gPmWU5+L8)-n0}LCB^gmxmJ=BGSXjsKcg#2*1$!p6x84- zvex}WuIq1H4sL%`5AU9?Cm;zR<>B4aAwE{y<-Mhc4;`HbA4!&WzVzR}AVxHsXH4_i z0#{>vj9j*v>IcQx9jX7nqS;k+)xza z>S?N~kU@ep!~1K#5@$77Vt`^)N0Z0Q4lHYRfi&Z1DUl!9`^xqyXCPaT&I$mABrX$6 zfressR3f-&wVsw7^zcXzV6DyN`fDdHeEQ|V3)TEXe$1s$Npp|W?E*f^vbu6&+Y`_2 z8;y_MgZM}QIWQZ0Er9L^BrV|@G)nTa{=pk(!-BnrobCW%iQp>f?ZH*sr?wD+Ms zfAH9JGmtG$9@}t#oT$qPXv}97<(7toNLessU%R{A7xtY6RYNT0P%-nrM) zyDKY&9}uL#VkJjcdY(i8IlJ=C;l(HSO*H*T0C{B=_hGxFXLk0gF#xGIDH3l26-uBZ zWyqr>aa^Xvua8qwB(5PV<(byO@o@6!|70| zq9m8JfQ#mB%!ua4&bWXX+3w)o$^?W2!Lr&O3zBP>2wJLL^0!KAfY{l=%WPZwgA|hi z5Gmk#R&~uPhms>fBax&3Y26%Dzs-LB_{!xh;G>t7 zPMCfm^Xpe6C3>u`LXfjpUf;9$&02P&r z`@%X3dz_;<|LJ|yEWJu#Zdom(3DB@&Ek%I=?ZaEpvb*JyIB*01!VyrZ3R|Iw z`t;TstkJr~s3k&sYu?M>^0y#1FksoiEI6!r8YpnDrA^UfTWy~c26AA4DCui5r*uK> zZnOIsliMJUY3t*2~*hFZlm< zuk`%z&2#v18h)_Cee>13pHr8wANk6`eK9_U>A{m%$hRLVgS2!JIwh-|@PQJ#k7sCf zH@y@CzZ7O5>LY_@^u^FoBcds3ce^TGn}G=F7-cjCrG1V@D2lP4LtK+?U=f(Z8R6B{ zCnEZF3X3Kk3B#COD(dy1o&b0XAlo1%q+&i%jJ?oMJ?+6!P(TdT-dQi#Q-S{3_+^{5 z8!AZgikIHAREuUgh!fR*#b?q~%_FPSye$8TLn}rHB^>nCSZpyLPIwaQCb)2 zav+H|5bf}mHPWaToxPU5KY4gUfGoba^qatAK+1I~1Mif}hxw-!f+W7%p{(CpX4Wyk zXtmyv<3|4LgSGBQ*^gho5Wak#mip-{FH>>j1AJtHl*p+|AO8E+qx(nWVp#t4 z;_w9fz+c>pT+&t4*22HkKymQZNE8WrC%l^;Om!Q~F4EjS+}3mC(xx#0L9DV$l;}8a z91&I3Y*(8U0;=qV*yXH1Tsf!FrXfI}5f&C8q_c<4zWuHN;`T%=rhTMlsi2nXybqx~ z`UHq49@T(zGmWDv#_zEyUj$kF=HWjc1(5RC6hSLQp-09?#R^{UNNd2OU$WdP|0*&4 zA#3x`+D9!yK05iv)s>1L;KQe{GC)K~T0sgtV93ud{qe!C9v#b%!}0V(fcy|2OJ62V zzY5N4ErS-s%SC(Z@(fvPs(hH#aZ{(-kN};Q?@Nm-%Q1K&1u`H62)NN<*ka4L{}#|; zItPgC>WhlCq|(NLJq}r9H;K2kK0?W0 zwvC{qS%Jh^&c9<@jn^0JAESzFDJnIbB2m_E)1uyf)Oo+jFs?{G(kGvQs-YRG^aF(^*8Os8y$BHeQzO;qLX)$9H6%4w0vnG%iHdUY^AEYuhv`BE9 zWHY<*(31~O_!!n#kG$|9lM0uOE0F+?niWU}1ZgBMOO6g5i5pHkx*&bpzmGCM&RdZ1BJ~QE;TlPyg>(Z$G2d|qyTwx>4W#j$a1s< zvcBGbZj~o;Geewt-0I&C+;GwAX5xkXsNj*71d#J@U#ah&&zB@#zRLV4cRC6`${Iq# zsVi@Mk^r)aTj$WDl^tc2%z~ag!6`)ukm(^ZLe==rZG6-qnvL5kZp!dz4GPc3)H&OP ztu}FV7IehMO)#d)=~1kz0ZYX$eukxo5fQgGP98)@Tw81^qj9F+B6~>lu&ACrOc688 zosBRT*;@d}W@T~L^B=@`aET`%$~xDkGC6MKAYo!I<%(6BdE9H-k%Af>;-i~@e0=58 zKOMzAkSyXuiSeQQ?9y8M5LN=n{k?P!Jix~ffB5Yk^--or)QPiJM!96PxF$f%w`5GO zr~~pHlyJ?Gu?*`PKh(yljmFyWe#BOaD~hc!4gvNB*N6AntOeF$fQZc@fJ7`GcI9!Z z7>K-}Ov7*hgc3nTmQc`TFajVN+=wy)Anv0e9RSEsZ=AuPnW?HHz_jLDPtddWe)F*j z0rC&Kf8|=a6W#^oi`7ATte4vxi5`U&<=LwA1Np!4_7pkQ)NT zq_F^*O$U%!oElSOG(ct+v@N5s8MKUbY!d=w)~|O*L|1IYiWX*SL7!ro8Iz@4V_BtK zidd}6Dqbqb!rr4MkWyeqWl1`2%*2OH)n)bxI{x^i%PRH6Gt>`_8tVeYmA`g-H!c-v zp8A-hXJenM5J5liplD+niUonQhp;|od!L)~O~M!V{PwjP59MV))0OavT-ec*!l_11 z%QKKZrHy286S;e;JZhX7DY7ogYRe~eo$M@!eDWS>h!EaWsal`&sB zFJBCON-&~`la5d86@_!7;VTQ)Kq^XU5W}AXV4WqgH(0=4)Zqa!gw0ldoOgoqNoZkyP4m9%8G|INsMONR+>(42wj!OL9-;$ow|L_LQSa?bE8e8)otm#WckNB2|}rHsMiUTcWbziGIm%M#*=boU6Kkz=~h zJ`JEjzR0|_|D&Z=1;mSEEIMTlL1k`zLg2_sa=wJ6o5X9Nrb33^r=Aj)b#qWrR=idN z8qtrrXCOJaR_kuMgEme`qg}pmq%kUVF4bWCf*r<>E!8K}b<|2*R9@;Tov;7s#x+*0 zuxQh4^?VaM;ZdlnLg_}RzHns1=Xjsky8q=5m&c2bSP_FB=@W5+#I&B00&3*2mCTMd z20N0p06G6>m$>`UO+H$5T>86SY>P8$gA`5*w?ZRd2 z+q9jIRItz}oQ|$qvs$xg79ezEAWcYns92+y4o&mz;eAV8?+O%i5UXqRI71Di@`izw zg%=+R6Xp7H1101|1rUdnQO5@;AZnkd zHqM3Z)m<9W7cP|wGRp?ur?gLBtxg?-e&5Yx1}hug0U*PR>$+=z&bvySDWBs#`t4BwS?|K~VxYiCV&;0m zN55ohxSCSxd*vUkeU#y$ByQwSmX;syTwLLYKk@`5@#E_4UjD9?GzH1e>k5c0Wuj3n zCGpIkzy8;Ujvko`A3Jv*c*wyC6YR%Mt<4LDi<1uuq*dZTL1y&x{Q z)IhdP(_yM9)6l z46aTsLqm9E;i3E{%y@1>fPCf2J-?FqF#Olct?G9IZ}bRB@K|0>1W63(<{zM<@Fax@ z7p$0d1n9`}#v5;4?57|71f;!lp77C14(141>1QC|qi0Btt_G3S^mXdo^(S`ip95sG zlaDN~gvY(P7Y-WJKGPCUImSyfdQgn7L(U8vyqVrTj#t3Q}r9$NP8EXSoLm%qZgON$!?2>*zj(9cf9Q zxxD%A<&}Q=@xSc7hm&1JmgiqTv)*)U*s-`pu`3PHgnMIV8K0f_kVjh9}2=^G-*GmqGpKaw7~VpT*t?D2Z|(C5qlvmN`z590?i z{e&^917!Z*>+-z%zhul7POPl3w{k)|v0<+y=Dx{fr;GAgn(cea#Luz$-pPqxdPlDl z{T4h=ca+BK-p}VpI_xC)3ER_gB;50#=J`Jfw`}_qp+)@oTkgV*_iH_0siNGU-` z1&GnYj|w@SkFC%le0cPc=uiMs{*|rb4*}$<%8ze+sk1iWeq*qP~z{!yP9$ud$DcPsoszSGB9C4^I5lhNTVz7KdE0+qV7mJikeJ`~4-p z=*Vx@hy#YyuL73$*aDM(M)>hu{rTFL3qk%F0Z1-V*^*VT<9UY%s9pFzCHCIY|RssGMWy3wJ%yt_G zO1jHrp|-t}qfd2szZm=?oODfxL}UuLB}XXzeWdfZ;Y_iiBGPxF5?usGxzN8++jglUvgtDeZ*qqSsvdEsoy6~mW$%cNX#x7| zwbx=dLJ)--Wm^P<1UWv*<8q5U9!S}J;1R7~WdNf1qY5zyA&BtdB8mVK`-$|U2kyV- z&MQ7CK7hvnJ{Cik?1oSN19zF`Bmc!DZtPBVXl|5Qr{xMwijuTa?=Wz9=@XzsGOJ2d zF&Vh`CmV&`dr@^eD=e2$#WPAJzfGr0-hbdlPf>zg=E|ZY@+UgUp$Y10mnP+wvJ{zw zN+xCaX518R$LF{55gc%cZ@`;){i%g}QEDer@k_2ts~x%A1ss!sk=@9lfznmb1*1?t$J=mNyF)Ts&(#*aqJro7b+rXUxdxI9rWL)a}01R!-YQA;>lwShiC$R0ps zVuDe&ZUD(!G+K*{Zr0rxTBVyr(ZL2xH*Yepa)cQ(Xd3&>Y_|leSme#n1Z(D;>_9uQ zYqIIORrCBN;hjJEl|qJrmv$P_AFm34d~Jr0H%^{>@x}O1E^$V|1`LUx zX3fgPV-DC6ZwQ~^)!*GMuL6(~fE0eb^y(|GoIZWJtYRqy5kR0tE1YN%a&*tHty+8Q zJoo`XrY%4S>aj3O#(~zo6-_m6=~XN(h12p%7XgGij83ZGR6(-XZKH})s{urZ4iEyZ1PHBpGzEm|Pr7PE2`;m<69&?57k3I1a4AcvF^qe;6Mx_@x z4PchvI^Y`dvKw|#Re^TABPa-*qd~&YXowk1%K`>(Q5CZXljACC95?*pmN^3CnwviR zWul9GwVPP1((i9w{5Py>1oE}7y!Kq-$C)!{&zvm;Aq1%bM-tWAI~u9Ru?4(J!s64uE{p|2HUlNCXeb zbYfm(=D$ubM=_c@rMMfx`G?e;7zf@0pFf)&Dj^%6;L&3@3>C+aAx3ooDyQ388D|u) zQ?Yu7B4&;JatlodGBQvt6B6QB%$umEGxq?vKu5oU8!BqZmQ_E~K)01M-$ZZ8m&;ML zW?NDwbImDV#Jmjk>HtI)A@2BbDZ<}G3QlsI5hmfR65z*FHU}#G$~O8zemYcVd@Y{- zv{|XbU$D!-Ml}Ko@lxHVp@qnY>sgWeKT-7y?-a`Am7j#*t4>7KSV&cnv!PklSg4p8 zCD4o7Fu>Yc8XJ{Ha_yI@;;j_pI+iU|=3IG;jI>NI8B|?5EwGYWi=m+a2QhWY>shM9 zFaX?)qSzHd5LcnLB+%6hPaD`vuq}~O=Zqj)-WfU(r({M4EuY#A$;{$3En>p}U`M4! z+KZgrDe5ASkMUzfsV$nsqKlLrnToDu>~T@BR&|=)`U}Xa3)!%E(>y=Nd&kb_UTg(e zux~HZGtN_R?0118+AAT|j5+R5!R`pk{QiwSuyDB=6-48vc@S_PpPMmyrdLTpeNPH|UO(z%!S26^BjnwB7#khtm@3n?N8UfYEy zf_N>*+D@FVeu6ouc~{4Pafq^TPCTXIT2wg20jNCLxy~g?EB(0oBJc-eVC9Ly#^1=> zvcYy{Gzfq&y3tuqluaHAUlX8R3(3Od=e3)RjfNQcs0gr@HA2P#T) zY(nUMT)e2KY6zoN1Zzsem>9#TMI8Xw7}yL;Ig>;fk#Yso3e}@UnLgmnf#izUI9f=^ z=L}S($U1%#k(hkwN0SV3RG*PENmPUu6Yw9$yrDdR!<@*f=UK83U6q|&M_tPD7W%5c zasgnfRLJNu9~6wnew`Af_6_I$=R7~hd-E^;)ng)t{g9$}$f2+Ud;~?}pAA-ioD2_M zq^x2EQR*62^1=d-A#}hGi#k#sd~nzP1{D%S@;1$9=qmi&{IVJdpKl3Pxq;L+jQ#T45aN*?~(;o22;HgSDt43Wr znlX7TrXJ%xPB4IydP+f19LSppL(Fq65`cpf%*NPZucBZ!1i~6ko?x8xTtVym>O1e~ zM!*9hs6kAVYa}fsy}0~T)>cGA$*|NBA^VAJYXRujYMO9TJD85HHWouK2xHY6nkn?D zqU)uL6K|o@3FXulBU>c%GAo$F#GU|E| z$xO*LT0)S>7c~nYIlt<=0&hkRgkk430|mG&zK_UcU z4J!b0>GJqDuesxjTjmgcEEz!L+x6U+IZ^~qrTOdtDeu^dCZei|w`%nY5?EoyZ8$(e zW)qVmxdeV4AQ6HjKomxEBb5Zv-Ed9Oj92wMpDrmObqXk=7C`8uqAQ|<)UF0V8lnlq zBMKTo7$J$+C103Ne>8izx5iteuFg#oAUhKvg%@&{QKACK0fNI~oG81quF@&FBq`TuY845P3B0d6tYQKX^6RRKG#ZatP5de@l&EEu#c#)^{g`cb;$Uh5!7&H899-zZRj}+M9_}ION00exL zUjgK$mr4Lq`0;ijNC`n+dWkix#~vF2kb{qZ>V`XSozLnO07>(a-{Ugtwu75<363*O zBUd9x(Ss0Das`>}=~V=ni5Zgi^4?R=Me%^R)~q2Xu_A3v%k)_^Np2nya283QF43Av zOcH!F&$Q*j>WHYmdSlNtEuJ}fryi#g(WBM3NILy(9-M2o?% zcUZ*X(1=&c?%lf|+{m$Fx-#lB^umH%v9R-kwkKTXd+FQpz zI(K>i5T9Evc|YSesoXeO#H?5|xt)n_ri!J78Tl%=T|q!#V54JKa;P;wY14WzJGX9@ zLR;*x6-!)YcZ}AWJ2%s+i04z?wC0W$yqRV>IB3qUsxb@&M;sQBVmg@K+B&3KpR>R& zKP-D^Su+Y3j|o<+#g(ey!+1iw=P=4dSnzp9{bU&ZeQoYhot|l!3H1Gsb6iIu5~jo)!YN8L-Z6k&Q2Ol zA&w=_CztGo*VakSAvRdI?540rJ&o8WhOFy8K^p+cElHT3c zV{L52mEiarb^slR$4LQXMQs{D{eaPO*l0OSS$vU=@L*QciwqB0Kx~cN(AzJQX?LC)NT8`V^{o23OmFP#U7G+N^n zefRBH!_w!lMgipTvp;op0Z8+`k2T2;r1R`t{8*lJ05WXi0{}rr0E8JZT$PtKfVhGN zkl{8RAd)^n*fc)6v-~pLx*vHP!^H#;OSiT<)p<7S@plZ6%W_%11KF^C^uI+nd;pMD zcmCQxgBHmN9mc{{Y+ay7d_(Zqu~Ywy?+~7SGeUrOgCMM75rJ69(ObD{$YHYgg{R?1 z`3WhX=&ccmRE9!rx7Rc=XZ5M-zSoKrYK=nXAkIGHh8o**{$N zbC#!*wCwwx+?`ZE^F5d|%Of&<-(`7T*>*0j9Sab{2LQSDrq4c+*igjblHjl}1eQgt zh(K7uI{!8%I5ii#4o#2r>d74v$eW!O2r^~&*|!xB9NkZW$<^ko5}3l9B& zkmrkBw1V~Sd+)vX&fBbEmE>5#x`-Ifr>rCmJd7Rul+A%>o)JFkzdU~|0TPcuO6%{x zSJtr3p5ZSl4glogkC#J7k1g%E;+B#4FnS2t&2(8~xSDbLVP0g$tA)({|E`1#pGkW(cD(cdJg zqMi0Ly1VSdR)UA{f$S~+3%$Za{3sC!k3e3YJpy_E{rB|{WCoCyAO#TvubCYE%Em2M zY#qgqB?AZ||1}?iV0E3zywdkW;{mcf9w7ZD9U$|J=c(DH<1t5&yyK_(rIp?XhHGY!KkOy>)q#zGQU@#Nqz=8DyW;pobt`0*NFuYhq7)qrdtoI}HpH;Y5FVasFiFfbNqc3MmAJAVfQ-b4%T@pW7eA#ZAPqed9p&Bm zK?L$5-y$pkDJxjjg~unMUS|#KORQPB>`DP05)VDZ4>9DxQxzcMM-c-^;OqKW!wP`B zJops-;hr4*tDEn*b?Y2fuR^$-e)R_o-6v9G2{yZPYPfN7c*1Ma-Hv^?Mn=DA`pHe}I-* zL6Ovyy*!PO;)JuFD`Qrbmn56Z(`Hl2QMaUag4o!n8h$~oT~(m6Ztpo3D@!*3kkRxo zfUNsWe4y(2=;!Jr6LIh&G7+SURb*tb7^e`y_2mpZ} z5rO<$dxj1`c#1v@kinM#@{>2;xh_9@HR_XBh>S7agZp|8ZHAkl#RT2Ec?oi~4woM_ zscCQKtSl7Po~lJ}i8bT?lQvv`wc$Cb*v={`%X#PAv9a;ioNQ#ztqL$_v+*1dpV(GQ z`Y6{I=np0DmuJ#N)KB$zlYa*YM1E{Uj zBb}nxPEl(@yPR-POH{LAIM1~<@0?OGwQG4l(!VNqHktV(?vM4O4L?@KtW1dwJar}w zE{kcOT{AVilpK1qme;Op0OV>tMIVh1N&HX3UsIfM?0JhiLWC3lBf9()e!N&$uuj%T zAn%6@&xarmkVHrCd3ghmy?giU+5haL&pZP@;uTT=V$aa8|Md0#6n#Vla`@e&Zk^a#mmoHJauB2(mu19N;nTg@rE8TyT!#BG}*R+^H2Y%Y)z(nVP`cT61vP!sZJ zEmAe#yb^c8PCnke-Sk`%C$2O#k~qT*Lq$w82Vj;pJrTbot=lvopcKcZIWlE;r?QZ4 zN56gr(y3WGir83xBtWb=HLuKxkrp5cY4y-hh6<`~7$C}(08v37LU*4zQT(RKhQv{4 zBg8TJ3?ORJA)s6m_L|dPfzMK#`P%2m&}U;nQptZ0g`s?JX!Y3t>PgL5O>Fczm`Ue^M0y%d)vjk&XYA0guxjx!P$p|AC68t3-lPwrX{mfRRo%!rkw>|!8cA6C zUqAhGbHE1x*>U?_$Brd592=sBqeD_3qQ@Und~*hn>-{M@0D&7rv4=nKNOTAu$ni%6 zkYGm*Kq^4KQ2=s!5Fiafx&V24x@z0jIpM=6f~?8zdp)?d5Z0_q#hd%OcK)rfXH&yA zvTJ_K_$^9s&k*8sS2M-uvt?uJasHrVv$7=E37yR>zBq03&~&kIfPL4>2`745Ka$3X zp+d7&MeV@F!ZE+bHk_12JeFLbu#07sxW?`ReXz8366Xn{j%RTHXeR4d+1cP?eU-SD zp5z!B7~|YX47R3}&88;7XXju~+Wy+;x@l&8rrLm3nNnn+SYI>`rkiiLM1Ty?qsUdO z@4gLw%-Hd}UzGeiJ@0@YPLD4{1X908sAuT7@Bm2sMc%@XQ)LM&ks*ZaHfh(a3?9h7 z15Z5)Kms2J3mAeR{ylU7#6E^~i4n-*gU>Fm-nQ`)K6y2~dgYf^?>@JNW|cqj^Q^7- z-S!B8_wbI&!9)0NiVC+}-# zaMXnbuhlE)i&PsSY0kqAdLVqTA?h^Jaen>$BzbT;Y*a0~h7mS=UOD{Tb?IENfrJL= z2^faoc@A`qZ4v}`p5 z50`y=_dWY$03`4MLi8al0p$GKv(^i~_+uucB9Oz6?z?x#6&pw3V~RLF+WCX@4PtPw zUv_2i4$sBt)uwk&j1=ci&&~DQ8}CICcP#_N=uTlf*{fmFoA6#iD+{A9jE(I4r3a8c zBKi}>tL)b17qw&3ZB2a}?N4Rj9Xje%Kfk=>oUXa*XU79X{6NZA(N{iy%+bM*{{i-- zM+ko(u|5LPhp>tVPk_7*Kz8NFtUlSQm4PE(Rrc4v!>i{X2l@R!KgIj$Pk-7z$J_on z#XdkDd0@?!Td$i-_+bE3qalBo_;EB3tY>Glw}F5gWh)v6gS={h5|0E;|ks62ET z$z4mNNfnjUDtqOP+|e`jjYF9nt?Ihz!cmGt>lHecavG)veI{bQTT)i!JJPgjrkc;S zV6uKFmoByXPS1C))-#at!H4APEo=V9F|nh0&>_i#2kPd5c&pDq@>9Ikh4VRHA`k(D zfP-J{4Z|aTj35V|0U&ySUS0(t`8ALVkZApS0pz7o06Bc*sr$FxdCQvqe;XX8hv32g z>*SJYe&{aCeTB?i`{ba663Aj+OTM*;0U{1LJM2EEDqSZ>dFy#-&tlVuCPT1qRc|79 z#V9m)mc{R&wx+r|s|l=AOlzA`F1p!{H`OskpW)lt4utYHUSnp&Yj2j7TgoG*gqrmv zx%6pM6+=)nEVScmeppI(Iu(@)ART;Kx#o;?Jcr`bT4{>;JN0>r3%5F^EpTkl0Al)J z8KADkb^t^pDwbRXIRN5g&&(^*YOow225SdMT&&tpvcm?MTHW_jjynW^ zbpN2c@uLHfTRw9Pco;kWU7-eh1OK@E3p@iE2FUXd?9w;O^<#mDi{Rn-*uQW8{)ZlW z6o4rFh)sSGJ({oaPkan3p1_O%2y*oJrnPIg8b3n%{BVH4k0KMSHGUl++uchVK+b7~ zHvrl0KD7Zz<3)7u#&jrR0I8OkyiqkehYLnA1us&~01^o{8(Rk_9W_!7Kw@GyM+t6HdySWW*YHtBzSBLGwcE8c6!&VI} zFGCD8DoSDHc1Kyx>e7;hD?i1BPHl{$PHHpvs1`$qvJt^Cttl#OSFJT;bQ0~z9O`q3 zmt+TOP6eliSUJEsor;hjS6lKxwb+Z(%st9Z!=^%w+K_>fYR!!4QQiq9uQ1EZ%otE_ zblRf{ILj_uHw-nQ;??jW7=q3iI<=!M$@H2GTwW%`6b9y?P1gD!GZ~MMtFF3g#}&67 zvo$LN#{>Ve{2DxvT@@gw^fizfK=ehBH(vXoMj*itk2)M329H+u7uom1Q;#AA8wx-G zh<%SR@YVSyVK)LfzVW7Q8`sPQA0d;OrTXGkT0laBo|9;y`YM-YUols6KSg9mZQkeG{L=yYef3D2dyb*pczp zDR3@qKBQhuE=>sYU}j!2&v>uh5{WQi63|OiN?{(oimd`Q>h+LCLs!Jk*Zi{n5L64r znUh?-au{|)SGa`mGqR(Y<5D0N`GCcA$_3ShkKvGd;usZ0HsL0+Zo8@jkUl)1NBP~c zc{>0xa0nSd;|pvBj}QRz8UT5lhY!^Hf)%LjfZb$B5}=ejbT!n;<{6b{pvnv#3)-# zc}gwQYT0s(n&RnYu-IxVR6iAcrujspoY2e>X!xBnz2%^*&UJdwZU#Cf4M+)f*ePx! zHnkXssX*nSoHw2UA6oNG=_TOAgU`;V$LA=TSD+CEa44m6Ar@72GhZFKrWHCC$v~@! zE(I*ZH{oCFMj)ezl&X4zWD+Iv-Lrdfss~pZMXE>6#R+b~r76uv)$}&BCZ?!2qYF5q z5VV&m&_Rk-7q64pDE-N!%4{I0tA)idJXq=!14(knPAEn95e+$7)C)4xxpae541%bF zo2`fE2odG;b6JZjc&~?8HNE0&G{gqWq2;O=I>?qnKk~&6v#4rCkC~VgSTvJL(;QS_h;`MX03qsRAnaz-1+}S;(Pfr0(P@A=#>ETCjBtyYkKvx1 z+;TNf(L40$;N!;f3VMwrtWRS{eyRi+)5lI2(Tcz9ves96N$&Y>*@A*HNd zB{eN$41f>imKBPjzxoQ~1dt-M!MtaOxIVNck+$W1YB%CQGn6T<2|t_XT3nXmxwOK( z#3?BBs2SB$;si>fHry4+YD&5_E;eUSfPRXFku3|A19XfdWFh+60EBaS!#kr_I2f)q zK3sf=mSjx~iqOxHV%)$?QdNu;^=Fnz0AVP~fwaY65?KNeVjSHx%!Wj`QJ^NQlvG_p z0R)8As-z62hpw_i*dou0R249Ng}|T_6?D^-3r-G@5OtF&qDo^*Q$w5(Kx8lUOhY}5 zh7l+a#iO3O6+m<=$*<-nEo$h<=>Ul=YQl^rcF4!^WX-A$K)U<@9s!ZnYZw1n{fFiJ zvQibl8F1uI-~%b=KQaP&Cjqh>fB=q`9{#L+e}#v(k^}o6ditOMB77J?PB#EKJu(70 za%k_`J8${L`Gg-uc819_*>&$O??7QLFTOdiGr7+>K;mw&{E9GGrvS1X0O3FYNj8-< zrag5LB5Nw(JZc=E=HvrOs7cJN>iDJtNZfbHsH=ICFD6Az1|Tz7!6@dNJ^>kZX@-a_ z^cQy_Z;dAcAk-jVCxDO@ZDRy9nD{hioz@8r)B?yd0Fe`lY*GeqrjezcC@X*NA z<&k(}@p5*@P)mjigvy~$CNk0izu9nd2OT-Ml#$9c;OZf1?dK8zHT<0wP@S|viMpY9 z-OA?G8%+juBPiu0OsPXh4cKFx6|Qnj&)J%4#5_hx$e?t)DU6s8NS}aR&eyjStvSDYEMBdq4jr1s>&@M_I2D zKE9=xBi{UP>K1|!f#{3q0EAD{Dgvqe5IR!8hS4KlY$ONbb>P7M{@&G)?b_tJ^~=JpQ(KF%ucyOlrN4H5@jTK?>M84CY=Dn1f>*?O}CNU zWz1UBbgasz?<5kR0uW{1u1ZjsB@E3z^%YA8C)~p3+{bR2N6TrmbWj=-6EKf5fGBU| zqG+yOX^3Xt42Ejf(jvv=`ZRHCx~(&iN8>WXISpx@oTjq4Ts0IRGsPH>dKu#=QIK2W ztRyVO*wC0wHdD_2JPPL-KoocTgcHa9Dsb%Lf;SnQA!tF|Z6$TD!bzL|97P~9R| zjJ~QTT_T0mYbB-R3ab=Xhj4DBNqpj{m=09|dU$=(*>{Vuam^Kp+o+lL%-C~Ty@@6v zJDk>x;Ltm)kt7oVml`IsHkK}RZJd-%;hyFmx0U*_D^pJ13_!*$UTO6Tx%SR`pZFr= zsJtjUu;W{W8Q&_j@W00{0U-I8Ou~cftLTbAcIN~0!N^0*FbQ%TK%TDr$j9dvfe0Yr ztNX{W9zN{ia^&eR{wDweI>tOY2Or2pW)!zR+%jX6Y!TUbB)k7&tFv78oLEyAu|cti zPob<2dzKs3S*uALQ^;?|Z%VV_&?lo!Wu-}H0cTlfP2@*>3{sYJ1V!e|XdYT=H$-EYW^~4YDf>ir-UL8K z;Dg{p0Z0JkrZr#wqAyypMwS0|mc6gH}a=`!sJzO&G@W3N}k!PPd z2tOV@m~zM>5CJ4UMLZrL@hRTV|EKaP-abA$!G{6Fu6KFUkJijBhlDJ6H@pfS#NDdp zCv%1Z%9h5YG)<;-*XG>)Zc$UjxZzo?ggfnJam_MX9!pZroc1|AaWk_qV7jRbq64L! zz(PbW%`7WTXT3$&jB%H0b;n6gqI|gqTM5gwEjfo9PqeV^AYl>Ay^X9zi#7rXKK+ve z#3`Je@yv=pRG9#xo9Zq=61<+l`Qd&Maw$Q*7BY}LN`NT00mPd~6@KWY2;`29&wWws zV8!ZNu@N)k<@i7 z?HlJ1ejuAB?R;$j;B*nbE=T?0#nZp6ns(h{kkf{O0 zW^<7Q2p#c&#ntk7Y*-i&@3i|U5=?xpgdF4sAQ`LaUew*eo3EP}J~jam6JN3PV>gDrU+J5fZi+`tE_1<+^Z?Q~<$f=n zm5r~Q_r&&aWkl^AK6Mno1dJ?9|3b*p;DH}smQgZUceRBe293@aKk|iKv*p&GdQp$b zB~A=S2T~q_u!MEyBLH$z&p;|W`XAO+(BbeXKhHj@_#@>|0OYX_K)%`oNGnJ8Zd!ZA znz4`0jUFKz0LW#zEc29wIl0iK(WREY2Z$KXy!1Wqb5E0{`8R~S88i07Ijn-oudV_h zmxK>d!{zE7+cx~O2Mav}kd_(RG3f#1!xDicKP>PVc;;d7cp)|qJz2m00YVT^U;sHk zpJyPCfBTl(*R4r_B%da;1yB=5G`LNKajx)TNa?;+1`hn% zdTwWj4@o};7*6n(2EpXc*R@Ykr`r=n>UQ`Vd40SOVkj$ewY?l0KXAF1k6~TX>eXNb za{I<7b~lknuwy{@(}=r!OIRQ7+5d!W{+UeMU-3}PP_q(H(ZM4%) zM`o_2dzNl%L(|#Q`a_{aoBL9&%Wh>TqLvrh0^T_XjAw3#+~pfLGqid;=T z?|KUmuGWC-9vD*VqmB$>sMB0-qkse0wQseuqOM%F>s@j_Wtp}DWw8CFmR#ACa(OYE z0UtAw7S{rhK0W+fgKS+^Z{GMsjX6Y)WXHGnR9qnThuO=1e+dhK5Pg&%g9lrSJK`rq z?+2cJGXH)%_~-*wwP3eu#IAAcYIMB3 z?PssN@{^0h0$qd~`j z9M{7S=f~V55CHPN(M)Z)33O=e#(kfMrn?U2A2TtWdpRGQ}Ysi4#MNcIus}8K4hMg@W?9lr`#omA}rr(8T z5f!q6nI#*rzH%ghG?>X;nZrFXR}XQt7+&~MfwndS2uICD&LF@d6uWHZA7|OEfCD76 zxE|zCQ{Gh@8V87Ls>)LZ6>E)CJyj7OvxKVEm(6=4KHJ+{s?5-`t_4V_Qq$ z)|F=p=u33Hey657b&t~Wm_$a@;elMT_J=h>T1nEQ|`#kO#WQQZf+&kMWI1#qCzpAMY>F((Wsb!>YU4_kS-+{3Ul?t(tp@xSlO;yH zbrtjK6D$c3k}XTNo`(VmyG}=)W+!uajLL!OFLP4U7L#how9V1ej=_u#Kc<3|^8syL zKU-^(9Yd|ER~A#27VQ*UtIKaznlRd(uca$3^O>{>VWI{P?a$AV;5l?sK=UNqUT4y+Ssf(=|@(cPE%$PX=TT-R_Z) z1c0-mjcjug^JddZtt-{d)@@f!x_Kiug%F>9%G`znHgS1(#o2c!ogT?Ojj&@8NtPzT zC$T}7U7N}7i#a)X-O^M0U>X1uv&!TBKudSX+9G6GaMwO}n`dmcQT}j z{1||I5E00p3jid!Ve&EbAOd;%B6=7wa;u|LD9Md;k!cQWbM$ zHr=OgT#bX4A?BgaGLjlAZ^c?wyX<);SHl%*yt-;^8*)dM1jdyb+4}5u ztV1uOG*UbkXwBV=*$CRMqu+Ndt2J*}@UA5OO;ekA)(azww{92IHm0FP7>@Jy4$EtC zm3$;^N-tlx1Az1%etgWc56QJRZ~M_>Jm(N80wT!oRbcqPqD4vw@^JtuD_A80DfB@0 z`xgXV#16O-+mL6UIV5~|{NWMEoB(p<=$@av^Ok%2_;7j*;NzZqHY}S(xvz6q=(92n z%%f&9wZ*)uwDs0++L5sgaRoi0y-_nAEW6XeT`I>eHnUy4+7Nf(p4DfTGMmbtdq4vp zP`wT0wj-6d64vCvNvpp-t8E2{3n#k(VKYX&mu7{oo+q>baq+ZvoE;!u)o|AxAl^u( z^vBF&F}oYE+J`&cAI||YTf3e+547#nVs>i7{fjpVAcOqKmr!E-NPukF{PQmsfM}_z zya^rpS00G{V~>)H2;}$A;=!8;qq^!ahm&h54WU{>1z#CGk7W83TBNjgBf8Ij(6*QtJ*#66cSg!O747#R!Y zI;|eSma4RePLo!|D&8MCXN(80fpOVaRx7`h68lpeJ@!zIW2+(%h=-T)b{| z+wZ;oN_z;>h94<|t5?W1TQ=YJ`8{>@3T*tIc)?=TAMDMelsy-AM+EZ0>%X5NK>k0F z3Xls5KtvB-4Luix$ul*|Djm*uid*WU_2kpADi8pg*p*Y5aF>%Y8jxButzKiC`S&|hIM zNiO@!Sp&#>4v@Npwflkq;@C)bSj1uUc<9;Vj~x;}3;}Cw=90|i_W`8KVYNVk&OUk@X@)XhmQcr+O6N*m-vW9s`%ya z=>EYz{WW&~2ZH-9?747Z2q1r008%25f)7WAvqSiBbm+w+^!#Un{)ekd2=di<2=a0O zOe{*&D6z?2@4`g{h*50pR@dsu~UzYwTF0vU_)8Y?4 zK*%^x-4-tcWbVR4ke>!1H#Yp>nTK8-egKel|KGkK2eF5ujS_!Uc-a5%NZGgd!UG?E z@WCHefV>j`AqFS_Ib8q}D_93W1>%o9*mAC6$FmWDJn8^Bd;~!bKU_i(0CKtj1b$ur zUI66uD=&WofT&E$#{%U4`+MttacQ~x>|+2R#*e%1x@S7h+B;~lzlXIf z{tyFXaST8%*&^=qyrigswr+koACAs5kvxZ?@6+|ZMazfceIhLS#ECwz=OvZJM`hUA zE2|R68m3ycid}qsy^!mG-m?yBqpjCBU4LT$r1v+kI`}|V7l7=ou?OJ?@TlR3@grUa zkP9D{r|1EY^Y8FYjQ0&77Y;xPIMF;dcX-4P5P>1b4~ZWMki+>pbP+(_EX@Ou2!9eF zhYnkjcnwILIr=yL#VzaSv3eE!xa+n6$YNuOe&i{#qB(ff`#e(~_8pw>$vq4kq-yuF z^t+xK^h%n^{SK3fp+SqmF|`K!tkpYg4H7f*MRHg!GZ>>$ThG9O>F%1gUCX0P@!ZnXwOiD+>L8q~u8(VC zP4=j2bX;_FsV}aqPYFYb@+Z<&m$V`cfL#02Kke+WFMjCV>EZa0tiJPi{(9i!56X|| z5!?_w{%GI+Kia?VkNj`22S9cefPC=#XU+;B`XKG^|KV%}tFWTTA1eY$Y`7@!K-hWm zkoX~h6dXtnX9V&p0Ey<`2OzJ`0ODmR_Av-~>{I`B>-y2FSB4J(B!wBf$i5kKGu1SG z+*HLPci^O$hPnmv)@&cmib!9d`s%;?H?o=_D1MQW!OJ~JB+1(2O!Ia3T+)`d?I5T2nQeE5?` zASLJVAN}0M^}VkRA`TB^)&8Zo$Y<5xIFVcGN zP6(pBeO@iJaIUUhj)=BFvl6vqZduw&k2r8;vOrv|cy9sXKG!NRK1#7g9cJIno-iHP z)cfY5n$d{kBA`)C7%40Daz1s?Z9@o$lw@-Py{X^p6hKhM@k5R1A zbkI@B06~l%`I`NtJbh>oAb|w|gl`hk{PhM9MIcu0;|Ox#=Wo7l@sh%imLGS`0P@*? zykW^j7ST*i&S&6+jp(4QmS!pI{R6B=WtjDmJrcenG7;fvwq6QwtDM3?Lft1gX=ux4N}Z z#uw2w;aVEUN*dFZ3fVulwOXZE7*NO9_gPHs7A+j-?R57c`@0fs4) z6?qscwZ>@3YE&a*%0<;6*jbxz_mL)a(#!SR93b|+j~+fuu3de{=AS&auYTexe&a{< z@c-ly;6MbBc#2-Xiav`#0w8Av5LU2)4}V-XMi4Otdc?2G@kb0F?K6=2F|7PsCIBS= z6xLV28Xv;S{QcL_2k*M+x~1{>Q2YTv?wVBd$>(-5JKf3DtI94JGWY{|GB&E!pMqUKu_pTFp+7FBo71ZAqJ5I_943sDbIZ(QNN9Z|SsGFKO zsgb^mY}MUK*909UR8_t30?6$8o3oz{b5c%J%{vVBO$?xQ4VjFInz&{m3<8A_Rms3B z-QZvgdJKXJa;(khR2c>ZlfpU&bGDh6sFmb9Tb(hKT7J#g~>dG6& zeeuKbaqYFMx7_{@UbH2vN)BQV0w6p?7a@WX4v!>9 zY#Mp;U<;63kctT85TD~M0MQpg_!>w8gfjjbl*31lt=zq4srMJ#d-MPwpZ$eK?^#VsfpVlshAnW`Mlf3=~M3lqQ|uUy@iwJDUAkyH>8+ zn)Yfc{y=Ti>`^dH9$}9P)L=H3-O4%0mq5dz8ThLhYQNEq<#ol%A<<2i{s zWHwc6EOZ-2)ik0QL(W(#aKLG*(NHT%{nLP5{2rXY%n>U920PB%NZ%D zIa-sY>5491ch%3`FzSmRhL4a{JJ#OzL_YMee<7%c9u|GP@F(SKfd}FtNJJp{w@j{g zfJ6XNq7ShGbi{$U0zyoV$FBt-1J6JNke6R^faq%=0Hh5y27Znl{mL(H{>ABB@DTtx z=j%;eZOuR?yDn;aN%;nI@|@-oX8HrR>DW|Z71ftFC;|knb58mE$;YDJCAw2e-l4hV zKI|8lVUf2fg$itxNHdyc+ShQ|O%~IH6ZKc_o08_BrB1w?C~DG^cJe6~^$AdQki;NI zp01wmXHiEPGg?^8P8*A%0(vHf)MW-shpIr$2SBnb>^1;#Z%y^OKDk_zYfo@k&QuF@ zf;2}75W!uzwg@KeBS$|yopKBVWYGYkYastfFl(Kss*DMNc|P|SYSb6DAb@_e%Q)!X zUvrDZq_OVit7ONtBd{)InrNlw?BWTC0!UITwa{9dhLf{)^|NM+cQnmq>9T}bRrg*4 zKm?DG;RgVjese#82dh@)6GC^DU0Gz;3+U2#&at0tz98JeH)vgz`D`YL8t-JSMa952?Dzh9TIk{$iCQ& zl*Qo>`XR96zSqZM&=ZIjX$a{y*j;G!>WV{VIH_OWcY7rUbM{Yo@B58=Sx@r{mEIF& z93IGFk4{?G*0A*Nn@qQqFMOSt$`Fk$>qSUf~(c`_Suuvv(fM zZC%NN#^#)(T{0a?+AYC&6(1*HY1bMie;F+4|B$X)!4fO(pI4*5Y zFX!jACfOAx=bW?CPuX+WK>Jgxmo3~Yilzn)@Z#PR`<&aSKlHr-@ghFOdy4@`mf7Va z|Ghfharki#;RgV6Ze|A=(oRyaJMfCrE%pWrXp6%#PH~X+*j#*I#(-n1npG5q-H~n9 z+hBRl$MvYJkyYC4JKjgOgFY+@BZ<}As6yZE1hp;j(5Lg&lAvts}KUYZ(dPsSM^25(gYCOMoQ~WU#xbi6rc~KbO>>{uf;Zh<*$UAHr&1 z!D3+179c}2DXYt~ZUn-h0RYjv=(+RoLs$d|W$~HECK{84Z=Hi4Co@1M2Wcl*=Vk?B zpN59wfegmZk9piC~LMG8vG$V0wXByyPM>0lG+ zP}y$iRtKRr(oohZ>MmfYZ55+gs9{KsX&(cLBPE#=L3WyUj&h#Mc=rKot#)t6Z(A2cQaA0!GZ6C0> zZ>qZBJa;TltbcB?LiI(fz-77Iam*F%T3^YfVui!NzRw{&LYsLn0G^{aHD`8!b86+z z3{D@Y;JYw$&Z(cJILfgfA0T#Ged8iPFq;-2A^|{<#$kJJ#?icOjL?IEag>CfO*1|~ znCY;}v==-NI9?Zp1{X)f@ITUR)V-XN$4 zLNlwMVE_e$s^nZW%5J3?rb@#_-IY{tF3_&=IlP3$T=r?ktHbcUs)^LJXX9_tqqHZ- zx4hB2x@?3V^)o%uod=#vY>)e$gVZ6UYG^wjq`y)waw6+ zMoqI3{>T9Uq&Pk@K#rbx>_0!v;Nya@L($>>jK?+JMbEdf(>-*(1@iIM6)cfgS_t92 z4kN4iFUzG_4ll|1ec6)8sR~( zu$)!Pg*V9MsKs?pZ4ri!X0&B)@+-`du9zCrJHUfzEz%96VikA*5v0-2z;#kz(;k|W zp}7G&G{ewzHZX1!kz@6;=nZF#URgbiWg+yV;&KEJ0s?X(IQ4KIiiAooD55?DoAw-9 z=c>*S9*wh#69qlc4(3uL3+$>pGi3n;DF^K_47Q}L@B}kYhC(rslqpUUpgZV?MsdDG zFc`EhHQ5mU*e{jgjGFo55YaU#$10M_B-*=*iJy&XgVSejx`b7L9zu|bk*_|*-!9jv z!~T3Z5uzc;XXLAd?R)6o{p7|i5b%R>h9|4?Sk2qzdG89A#lcNCLB9626oBv+2x{;hN3Ljcm$a|w%tyOlj->&9VA6>eZ*CgR4TQ;$X-@ckOrA$sMy zREMV3WCM>!bukEPtFF}gZd$RqpKACaWiTS#7$Cv49K?7ZGvja`A{Yya!D{H72-FPn zN7C$NA}FcdaYR&wUBcs37)YqVtuYa^BZARVC3-KqbnDEl58_F}#Ij2o6PQ7mK?#;& z!`PQs5S*$|56fA&Vq@2aW}vYOtq6qy7c6WODckX2DLE$)bAy^(r}pZDB-;QH{h%60 z{;m^`JW>uH07&DWr>?axUgc*S8+r3``_k3R?VpFr|KBPB{9DooJ zj6j%?pRI=kAn_F}{cl+M4|!7v@|CZ&|C1sB;)r2~$kOWZWA$kTNJtMGd;lL=W&|KG z62gK8N;igM*|&zq70#%nooK{ytq>%!Y2OPmjqB311jlEJLL<{OVaRZWjj$SEjLxu< zNjd92H5(Po+J{QMi*$B$pG+m1GzEW{41ad%4OE#5hOD)~I;7fc?vTOEV>ZPpVox_t zuygj%B^4 ztwqYsgn+vrHoj1IvE{v)DZ!}@9KAM$?V>v{`Bu3(u6 zgTl*J@@&g|a0QEBC6o~4r5u8M`O7%~X?+VM-vVJ#3b~=XODnbU>SXEgL*(Ge$1*@@ ztMnCeL}ReaLoEfz{&Lf1aIAvm6*vR47CeAZurU3GAQ(ONfIT>+{_!a*^KDfZ&K-#Q0MRTDrkI6L#!pSERUU~8w`J>f6pW3@ges>`i71_Dfc|& zDd^bjM+B2(g0#K~vT+;x>tB20TOi~|ix7xBkedG}R~Ke)F#?gBAoAZ#62ZRsxzFkU zG1=r62x1V(()zLSW^ag(b1Hy`4L=SZJlBh}X0H}IYtW6n$)6YitQJ?`F?+`jcELiX z`W_;-Y`f=+>mNMYy358N5e4+{Yik~p;PQEHeKA?A#=2}Ip2$j2sJO6lY2ljz-Mf84 zlHBG7%NHxImQP`y@i8YT-dPwK`_s1+y>(7{BpIC;I{t*l9=u|8&Ho*b{F(uRYglp@ zqICu9<8lS-20GjrkLdG8S({(c|metB^{J=2eTv_cTMhLt~urFS8|`-4wxL?G=T}Rg`VSRf{LE)Q`z>udNa-d- z4nTgIZ=qjLg*Ip*=vd7R$%kM^ekDC*ducHM2qa&_YX3j17ZW{R)H@*N3RX;z#V7iY z4a@}m5DEB^0di!EVu!ADr2=FWhDY;GfT!76$!3Adg)21UlsKdGS-?xd0`^RDKOSv! zI02*-K2#2TsrNUZ!7UHa12;Z^k6*ST5Dh`vcOib91CR`m#18`q#2*emWHTQCg#3_e zSQ{6yUKC0E5P&Rp29Tw-XZ!m{j+DoT0HoKmFCO|y{&8#{rPdV-l$K_*yn4)yT}~4z zw`-jA&|4?XVslV&lACc8oj|2o_SB+iX!AUewvX7gqOP4)>@%e^Ps_Ttae2u)=Pg>$ zOurTG`JJ<+T#_9#pZ#zzNYRP|J#QgEVtNoB#K-99nepito)&oUhKGPeK6XWPWLZH7 zl0HeB2(ob(;-_zXhL?QE4+?U!xiIqfl9d45ev>;|XJl(HN{;}yR$or+E6Yy|+pQ4A2L z0jBYsSs2qcj1i*B8{O)QyFz%RcyDs(+=sP3V}2Z)*Xn2m1Rc7}W^ z4-7r104c$bET{gc`8S?ix0kE(R&Je3`0;azKlGoG@mZfk*|Q4)s|HJ8odlR{d2U0|X8E0AUqJT!5IG;W_dF0{2AVigGN1 z6zANsu!S`TK%bajD{^jaZ#?P5Hkv@cm_9mJ9fwqx9e8paLj!<7I{*oYqoy{Xg*Z$o zEXBwXmWGjQ8mEjCp;O>m4hu9<5XBsm!is#y!8Wj&FGgFz~ru_a_8XZVEv%LcaTwTtv$8$M>%*Kh`L` z-;uL4U!xHdfP?@^x6y?l*E2h^w&gz3|00B8kDh~Qj5X`B9q*Z_A#HB2RKDilJiJ(>JysdjXpade6$U1l2H=|uX#`i z+Vh0ySrF0mESLk_W?mxPs^`g=D3648VBu=G%X)b@XPCG+Fw z>-izUhC>e_2!G^b<39Q)at!if>jud6YuA+@goq|++A?0!c6mMoh`orF36i9Z58;O? z9)}=TemFMNoGEteocIu#dY@Vi90%O81xVh&Xj-+cf5pI2VcF{gOGFKJHi)(G730x6}KraBlAwty%K^!BgFRg}r-FN&kyJum|!$3^;$^{mZWc*=B+6w!S z18NTzfqYto_N~>~v>f3Dx@ldDUA}YEQLrw$rPe0gLainzSZN32#+(wC{3FGAk(uMO z=bJ{z!ZN1X#G{Yi7JQ7JI#Hket(AP|gT#>iU*g6`ddM$)=zn6ro@0`uk7%%K#sUO9hhb1> z8U$;h9C&Vn4TCi8!3PLsusTeD6z9j$qo?}D2A)j-Ne`iga^vTqM}GWL*&&iYiFNJc zi5v1v_aQPrRxLlS=Ew5Y^h}$!Tr!Wv%dyxH1O!R4Fz>}HF+hIrz}WQZvf+ow;j=RX zjDxLkKdcg8)w9VS4?6So_-ZqsxR zYY)?7=a}`_9&|BH*y7fSnL%1O^2h)Lsx(5QEMiuV z?TnYgd^ND|I|}+;R`Ff0(S0*7<-c3=htEXL6U%vf?2b*@2nkt8=N?<(Zg3(|7aoay z`*@{~sF-<=g;QBTFsz^r3}h>W&GNAPc>JaqiFMX777amNd;nWE1QL8}Fv3R$ zNPqLc4v@=2kQ8{#=fA~; z#mtXR39@wgHz%r-r*DZK0X_~VfJ~cHTVTZp0_!YqVdd3hKOGN&d&N5+45|QTXIx zaf2awyUzO`SLK->0`Z z%&xjJc=xD8fOMslbeG&<^`QqIEW-}~q^I#a&$NNjg2fvL`j|4o! z1dyV)&Vi3pr_K!5|Lzm30*>^|l5s+KkRCV6@2;e0+N8g9ApF>nL=MG961iR_GPm*6 z1OFC!%#T?OMR3q5K(0KwuV-N9xQ`E)9u7VfAjb#g?D@uo#8?{KjSI1p*t8-~(+HMh zut;KQgv&3`NLRP7eq5S|DCw7I6k(OGg>9J|j=-r=X~dHi&ZpltJC5vv>NCxFk|*D8LFn(d=ZhYEYwtmDLChpQDHY*uY=RTxPg%aFFTFi%PZcApwZR2j~&wBg=sk z^?N?NraxFN7!h`O_*mip(S_)DJp>=^JLV#DnIIV)`EhmQA^RH)neP-IN{+mdr#w0b z$p4(`A2|~ISglAvk9-gP^q@m}Z2i5Uz$T7TjSzN>YTlcvz})fPr2#uf9{Xh~bwW{O z`fE8{ZS0Lz?O4M1wLvcRk2#5AJfM1;1Jc&R04GH(2Y$Csu_Sh z-$-8rDIR{19}gdV?B?a%=old3J38a10{1{wy!UiS!BX5DAUtA+*aTq_R*aiN1)1U^ zj1Gu`lt|cwj@hb5PIK7KIhN;b1_+31d^0_x9BDod_zr^O!yYG_XP}|`(uQRuiuf~T zCkL#cx;zv9GSS)QnAx4^h&^rInG#NhY}=EB6Q~(dimkB(PrSP#xJ3!+9Q`*;t5}Yh zDGUw`QyFK)!lwIoKl)HHe1IMjfsFM&e+fTho}XFP?XQ^gzw81W8hYfvjE?*icqDYp zy_#{+dbDKiwf1gKT)13F1Qc|O;dQR<*5N02ZGp;E?j z4=u3#pav=smRdu`M3-Tdl}ygH9D3tKS8&7_vyW${RkUe4ZpxM z>mo2fX^pKACmfW{87CCp3u?3{nNZ136__@r-0&5n(?%JIph+lzSLCU-NnpwOPsE-h zojaXLY@6tcET$o}i_sKm)TqJYI2pvLJ{_Lmy=490Kl-4#bspja^iX^pICElb@byaq zidQ#&Nbps{!;d|P4iS9OT<(p}<(CAHj0y50@8{gt)>?_L6$wD(le{FzEmkrS$OjHI zW~PE$=W+0nBm-nbY(!2n*PEVZ8%9e}x^FBdyS(WuX(fDT#g4RnEpA;2%?g#&2=T6n ziqoCjwFMmrLR2HP*~X$SR^8I4A*&lMLoxvfpB(CL#$1PIS7r-8F7y^!SuGC-KN=j&=fofHPn@26&^o$mY3} zEsPTrjj|}smEIiu-w!B2O!%SjIIr~h|M4SBUw`9q{T13*2@sDTpvUss)%>@d$&nFq zN!c;ierU+?n(!j;t;tS%``T>b2*eO1eprGmEmbB4PY3_8J>rJ~WIt?B&n&|V>n6Yh zH)sb601z~w9m3+-BE2CUgl@4OP@4SWdSK_I2mpcu7(Lz|Yo8V%>Ne1i3lRDp_NFVz z0>r#+V^nWL5XWh2wXBj3%cMOR@l4>CYCBIG-VfBQP{VQL2O{j zk+`B0PqtW#N0WvLtj@{c0I_12VLIY+vpS;`3e(bA-A;q8?)9reOXML17KvOS21~{& z&KTJ$M&W`Z_5Z_z4;K04F7YAKcdYh-^+btRTL@VLJro`mAN<0g1Rsn&+M)o-`yzRV zg8#!?K;(m1vU6*aumPF-dlMt49ei{Uekea4o~r5_UWzp?tQF)SABU*Mv(Hp65|F^Q zN)x4ctDQt})v^)3*JhJrBr2t4R_6)}rp|W*NC!b#1Y-RbOOyAu3i>cJ?{r}l!V!E5 z^H6|zM@j{~L(xEB2$0Q5;N~L5+d~S6jy=A~_N)1t#KJS+1P3;rVnLhYz4%&jkM(1T zTXJC(oL`KWxyEEsZsMT_b{l+z^dLS|CXUs^qRiNE@iPK zKw^4O>?N!V_l!>;FL>>W_(-zv?2#=z;RTvvdgQORMwRaRH5n1RH!Vhhut;~#3s_=T znmv0BK!}eh`~W}B^o@`GvnSS8<&(J?AuAp|0FTx^^JRR|JW1Nf{c>}+T#&JVm_yQD zlYMyqJ0m2>(udx2Z1Q;d@FUBj~T%q~C*pNvZ54oS6f_e*y&nnR-mh#!8$ z_((D_Jhtz*5+q*D@X!bZ1W75p?;!z5hKSzwP<-UbgIBO13-V`@7Vb1YZUo409v_;V zihl4T#D@Un>dZ_H$Kj0c<)$UPPjH|rL47({Ig$%q}bP-{f zM{%$5g5*>e9V=@WYQ(CywSKb_>%^(!E7Joj?2Inl1kA#uSEeT{}vEc2_-g#+99~mHjvtB)N&d{R}KKAXqcgh;SH9#i#M(Zz^LeAeepP;3< zbXlK6iMi9kDE*1lJ$Hq1o`Y7U*)0}Y3DN+N>dpiRN0%l$$t?lIcyS(SBa~_x+{csERp_NknV%D_5Hn79gWV!jFjzkdd#>2_q60*4ErFoXZ{aB)Lp} zifq6Gp+}n>1{IRRJ=sS9vK==;uI%d>Jigxmq!2$6K#o^qfJAQ=SmkyAM0ajKKzulr z1qh@#Ky*0+AU+W~0tmSj2y5MbfY=gMcbLYeFek{vfKUvRNPXCv(G+vT3Ups=M^x55 zvxHeDImPg4DO!i!xTniZoEf5XVx<}AED5M7ThxTf z5B|}E55@6EjE@YE!M}SoLqZr~gOBzPd@SRCBKh0(V4WSg(UuGXU!OUr#(r|DkQ(PC5^YE~LmZLHllIBEJs z89MbU3aL)oBMV7q7$!_peHEsihJw=AXV1*w1fXSY5~9Dn57{!1 zs1w@K1e43NrgKUR-waQb&|OV*Vl;Bm>I@Tr1+jB79qEI^yB{id^=hIeeM5tPH}N6| z7wNI4@rN)(ZkjL4^(zs<2VxM$AAm=G%+I%8b<5afb~_}2qy0QIK7B3@J_3A*+&5EG zvoKPn*Tpg40Kyy5HECHaYt4c`k)pI5*%QHfM7z=goolN)SBx$JsYN^Go-TJbC54%b zr2$1H4;s+vI)NG9acgUK9a(B(VcRyffQ}M9zy(vxio{!9o^!e}wCrGA`{NsEOnZ`w z4z&tK&_^2WQNFb+RkUrKXxXKDoLjnFS`8f{^kQxF3#et`*`iWr)@7?HrD(@`}78epBs)cIEW+<3!lA5Oi=a}n|O&B1O;kPG#I4t4ERMs=b;s9H6&jJ#kOk`bH^ zn6+`|=s=ohah(U|q9Urb>i7h);XNkW65P5wD#W$S_wkq_E@w3x09|nld!~q~!I}Hj@tL91=TcHscg0MMs&pI4PF2!}xKl;#~B47Nl{OCK;U;P)? zHt_N4Tna<7C_ z3JjI#=S&@l4vHPAu`!L9F;~b~!=7y4-`U<+3~1I3s0fA4(jh>7)i8X{1vrQ_6hb+w z$%RgvAeGesp#g=#n@2!z5*sERf{fU3jii>0&$q_h`T&yUY()S9(x`CEn0JUNtj(g7?H)sBA$5`Lk~R41kFD3QDjdTX*b!6Z;M<9S3Z~mW%cEgS$?qohA`g zbC$VX5&i@cAe+L*!#K*-`X1PQ9`q=J4*^I|{qS$Cw!(^K{IWT}Y_4&K#fL%14&cY- z))xtv=KjlM?a0Z4uZx<2BRp%dF;ZwOnkz0Ij8$cH2Cdg8HuHDldoGOnG0mx)+C)v&p z(X%V%0kSoAS!2sPP-;6vg{@Sx(Z5#!a+IR z@`GE>jxMmuNjgY!JS;*6bng?Y~l5Br~$mL)y>NO4N z-cbA@uz?z8Dhx_%=%q1sh5#Wx0FVG5S%$~Q1`c1y|7Ju0BH@R8aF<{EfB+ssj~(+F zti}9jeG}y6YW@&b`S2sju5*JmT8y`9gKGn>6Y>y2&sXDt-xEs0g8Uv$o*e|mT>)5( z=m&dLiTl1&a5P2J9FZtcbLwIbwVXomY0|7WMwUaO;~ZNW@oWY29!RC_*yPzh^53WM zOb`s3Y<2bd#}54Y=K2TYn4&$QIVkMR1zjYjC1l~7ut&Kn+d~6P{v(a_C#aP z;?IoB0Rs@=R%Y|S2dxV^Xq_ifOu)=RqkdwK0wn&IiKGYcF`Q(4Xz=VaSLf&E7cxNj zFG~OqjX~!1zBz83cP`?~@9^WsZ-P8it)4zqHuwuz5YH+SdL)DoJ%2x7S3)gRZ zFb;N59_m0DOHxM%Y_v63IhjvRd4)5}IYOD5R+Jr8)$#f=My;dOQA|=d_wpPlCXvVH zZGxZ3bIv)osnm#>m}B&d*2y7^67!%cP*u#gYflbhxF|VX_6n5YgtIX&C90$^TsfE@ zKT^SZQmyJeyZ4M1!3Tm5k^bhPC)XC{6AHi%{h<$v&_j?hpPm{|q(|Q3C3tRQ0Mhy{ z`oa^{#_@w4f9c%fLjdwvgGS{zEBGX953~b!eXz-zT00Nz+fvPj(a^=wBl6Yy1Q zYb`35A5sX(6$S->ly-005}~SQKC@^QtxX~(p?9JU!3ZFVAsnNyj-UM08YrZl8LZS? zfY2hP1_46q5Fm7@0EXof8>i+q)|Vu2{a`Rz*eg#XF=j&+44M$CAr*Rn{G8Mp7Q9yO z-@SXZZ1^DnY3%>dYIgmXTKrI%!@cu)k%j!oPvRpJBt7xsK2T~q0}%Nj@A9*a<`lz^ z;{5oxyQT^Ko5EE!YdSZsXjneV*tg$UIDE$`JYnv?`%!? z*)i#YLHR4%P83}PdU0Y00>n|5t`J0$c71@Dvt{WZ4;?M>tQ)jJ-qMv5u9{1LFvP%l zr{!ef>}v+zb%6O4(pD>|x;Wj|<*BElYtkAJJ$W^I$_Oo1!4Ze0iRcQx5yz53?30ds zm2&bhy{Ni62-*xgw}enLCazuN1IVBXx>T_>dA1Qr0XyyHseq)7{kuJ*W$_`Guo_d( zuFNJ9;Iq5-*7?tDzq-+m$WNmN{q%^4;0n5c_j_WY>LYY8qma{8Z8@33Jux1aJae}MUcwHP6aiC z93nvM;*_ms*xM;O^JE#=?fNxVs{z$uEIlTs6RbfisxQrglTo1(oC_Tx^6B`PN8+P2 zeI&-iF3j0RW7J#{T>V%axOh2T!NUJ(hd9h2JBmnl<=gSV zO^_=WKUy700P*qha3}cqxBvFx2Hp>1!BWT*niq@Oca_L=*0S{=K6i|dr?GLx@s1YZUQ%HqSi`g6o<4BfZ`=BpE4CA6I z>*-afg8j;*Ns+plr`g zkSiD7-#crJL_TTfKP7I4q{n_>)x9QxD2-k0}#gyOju~q;sOL@55|W>0NRlNK9o4m z53Qm)q-!U_nP>ZP_e`;%VC#OmpX7tuhFjc?o4pYr2lkGZ4nMN=jP?GrXFjs9IESwc zDn8o3@gekp6vhW{fNbAQkSjm=t48n1@>j2t{OfxU`HsV<0(~j5!a5X`;T;X%mj;fW z0AX_;C*lkwQn7gPu^yX_#a$Mm@U3eskw!59apsY6FA>na>E(-xuUZcIER{J5@43epG9o zK3E|9xYyt#0c6*?Em~RCt*%rpp6#1#h{KpKg%#Sul?Ol;ZH1v)0jYFWyest}zdI%M z;q!Zs7Qc1=hV;~@r+&1wxTy5Nr*=V)Ip9O@hUd-B1IcUx$oIyZ#}CH%aOeSi2tXb_ zvbBz_D_yCS@sF&P~kVl z`s}i9N>CxI1-H4R(GR)o&8HW$J2s+v+#~dqy$C|A$bMLciA?fab#jg>KuX{v17z^@ z@6FBP=RPF-$eSF65Fz|B#}1bCi|GHiXF3Ci}B}o!1GZaU)Y6sPP4*-)L;E3Rm)rY z)j04#o{pAUCb5h`aetU32%FY?9HOjdX)1dlLD&^LVhV>qpUWxYfgI|@a&kGDwhJxC zrCCQ23jvgpPMJ*@>cneds*Dm)13jY;d!nlUwFQvPel9A&hXABG^PRQJ_~PJvzI(2B z&gboCukM0tSWA~)I5vF_U;HSHkAMBI|HWBag`RsZ4=glI;vrWBO~-$~A^S+>js+K6 zu&p!KTcZFM4_S_@)*7-3<^pvnXa|3+XqCo5bhU8iS(dd_Y|A!{tC8fw9?F|)QqIme z&lc+IH0+tn z1QjqAG@^C!1OQNm1Gj0|S}?UMpexk#12isv+BysZ-RLB9fVvuaq7@)mA?b6xLXQ|9 zmL9;zu>_Fb=T|a7@U`;=x&4vAYx=p=g@{F#5CMAriy zuVjnDTq&%g@FzjgC^)W#*|m)&pdw}lIqMA?NB<=lu9r z_rCj`Vi8y)n*ju@fg3UF-D3fp^8lhHSxI`pVu8J~zI8g(L(2I8q32{1$W_NcZyo@I zD-QOru8qazNntvcqKTEvY*?(&OF^t_X1-n9I8hEjc!HoX+tDHwIRhLHYzGm8Y#9AW z%`AEzc+$yily47S8-*J}iyV!PQL=GYKEpnNJgl}-nhZZ$0=h&m_)Y4EYk^>IZr_C#OUaOV)*C*J`zBx(_ei$ z0R;c`O5%^ZHUL?;^2EOSkwfLfj|`Aqr^oaSI2~Obi<_%S&#c;qZfOuGBYQv*TEM${ zENtUUkfxPXH5A5jq9X!;%zD$M20CyZVMQ|Zka406>SD}B*IRMRq425N#-Dxd<9564eK zwI>8Dr=U}VI?zVDu;xVnYDNz8G^Ytk=oxDUc%b*y8ssM>*CByuQI@+DE?acucm-r& zcFmgMAq4=%yVmhj=MNZqs6_M-e2Dbd2j2f1OUjQVLJzP5(Z^jOSDrmmJAE+3M?en& z$ip-5v=@Ep$YC@J5&B>l4=}(qEE;W!-jjmxnSO;!h$$8?JYsE2H0JP71WbU>!eY`Y zUNt1DbCX?62?#n2G~yPteQ&25Q5jl1A8KMw#N2!}vLHs17x4OW45v z*e)BO5mTTltqY2SQAlw#V`UWPEcKk)d+H5-5FQ=jqrZQw`mW!*@~b7!AFCceSPCBs zkatXGfEeFS%ctG&iVD-{pM3|9_IYgrIS{mF-XUUZg^pczs3cqApnyYfO=^PTi?GpU5IitnrVEP@p8mUk7%0?1;l=8uw z9?!q0Z{XbFTjNInkbiM-fF@%Xgz=eh`Ama5fZ)&p2#<|G30v4SMxoUMJq*sRdISgr zW22qBL*f;(P2bpYq$t8nmZu87u(Iuz`NUe#DgXj*$ZIT{0>l-R^L#x0)k`p3%TYhY8(teV>xg~kK6_xupd)y>%*<2pEN#63v-l234y?FS6 z0OX&YY_uIM%+W}6O`+fl56acbm}AEdFIFf>^Vh7c7J45FBPz1Y)b3!yVlc6-xaBxo z0n!yt6X&NZg{0QE=Tvm(+`$Lvq0-ZLbnin+cHb;}RQ5vB(fR*zKFi*{=SR=0jE?^4 z=;+b^I669-{?gvf;{Ak)|8+=8pCf;Sp;G)&Q^xzNz5CA={p1zsk>nqp+p+fCbw5P_ zyA5r00n(K%klKm8N6nq{4ucPop>zqWXSmO{X@9qB|dvCWR)sgi5w&tA!%QD(R2sT2d zFQDD09JvJ^aHDR_6!bhL8g-j))%%57kBs!*#oqVOC+zP}@I_eS3?YFK#vUFnWmi^2 z{dWB(%PH2g7SQ$(+cL8UHCrHc(TMmllp4>&k##jCOO}U?Jya00mGP@VWvaTt*K0< z(S(c1;8tOProLnGiGvasZj~)P4+;qGK0SJj+uHMY+++9HUuv36{~hmNyM66^dHT^x z5|k;_kWoR!eX!zQg2fak=IOvufW@Vw>ocslRbV2p;>H{;4nT|jfQp0tZvcy%pvAT6 z{|Z1PP)xz0#))q)ew#EcUHmG)GkEcDvCTV!~A>Aa(B zPH&tx|Aaj_o@jT%)0|#A2x8wUP5CBcn32wSrG3KCeE{6Dy9Kz(5CAe!IGE0zP&7^~ zDRZryXhIKKS~OOiqh~R<1YlW^WL8fd4KNoGHsqLFg;-1YXLA#;R^2r$e}hfCZX8|% zBi=F*tEM2KbhR~eQsbiDQGdqj|`}JeF0Z^LSxD;xg;of6F7R zcly$~;REm(0zSZx<++CQ4N?tqjYhHocr4JeJfnt>{=YWZdUOt*xp;3pQT(c%e%y{e z=FMFuPVGDhkI@#I&=xzMElm_~EN$WipVZYe?H(f)8&pl4#}OGZE646BxWIN3v1Dk& zxzoy1-pZ=PNp1QWjg3m~)iwlz>zdg63NlQCAU#!RWm3;M8D`-(Im@g9jd~~urbR)x{M1S|i6ueY7%&2h5adiC6~Q6t7NVjBUW8+uC>T8^=A7@P zaRLIAl9Q{%<}ns?D$QagEKl+>;yJ?soK%5GF$&93tetZkPpLBbB$lV}71hvSN?dGw z|1W>*4j-*Y6g7GnJ`VfB$59vf;GjzAaWdco0J*!fm8*_pkH>bfT;Pmj<%2L^V?=HN zyqM;!jSx}Xf&gKtAzH+r;Kpfv&y-bkC4l0|=pB>+ZvurvO8cW7uZ6Tvkm{RVZtBJ{ zR|cFTLl#o`6qEY~^G(>bVTZV)U!upjG!YWUh!aM#zl(_cFKd{qAu(4e@eX;=Z0Kku zM&TFWl*1bUGS0On)nLlpIK*5vl?H%h=P(Lm7n#{3<)JQW0U*IvnsPu1%kT#jIGUr> zBs-+f7SY%p07*mVKJpI`3kbWff#g7iB zR{+S(&2hMcJkAu zQd5{hIW~PLlwo*6u;fIBs5DNThY0}53#QGn3`6)(cRT^0LBL5W?yN6;sSvg=;}alL zQ#zP9PQzbH!HGesOy8ajfx2h}5^$q41B^w;q@r|AQM3L8g&ZY)WJ>AXBnyEdDJa}C zDXg0|LlCS82t7(?YNtft$>C#=_0jDqfczm&uWtPAPOkuv|8yAZLa^e-gkV%waGZOx zL@jo3Qifo%5--G}}u!*HFjnRjNV|QoF z1u|xYzNsZ2c)|p?8^=dP#grZkhJN*bczyCEXa;jo`qoM>+$+q;yCsCBjr8p58_8(uBhj z|I@jMY;6B=bR_nLV=-ukmYH^Jn8b-3a$c8Pm#m3E&NLQ;MsSWAOhGqxRC3R;C%4O- zgNE4{?9ecFGUssIqJ=n2z<~nETi*UB?q%E!)21#lc_KmSnHsQCDHe4zyuuDzXKt4& zFy}B18=X)PAtrPgW#5$f1X zY`#nI_%KK?V>%vYF_Dy;swPyH>NFR9Q#MnNc_eF^nqw@YMU+A@)|L5(2;7CB6c|lF z3KYLH2aw^DkF|GzkN22-B(;){4-Ow^Yxp>G=G6Z)T4(LX6Ec048ebc8PY!oN4l3t~^m^IaM4REXUX@(9}LfTcxX7MIj!zMexy(C5s8;J{5FvzUig_9>PT z#Wq=(B!go<&Q6HWMJ#Yj1Av*iMYa+_5;l;J?#j_XclH_W@&Cd_NMNPX0H6a=uGFwr z%rhf-o_2<6m`o8p`U4;_O7_AyGo5g<=vxB_#>Ynj)~Syw78IbH;6uPY;Fu9|#H4W( z))3wDihAZ;2s~N_AQJ;f3dvpo2yP5|0w8&x5%xp{<%=O61V~XJZitL|<3;J0_-!y} zF?0r18IOLvDLU|Owp_wyPNT5MQ)JzFo3LY|4RVKVChG9{McEVen8#R z58&gZq#q6ZD0F|k&Q=<;A=yI!2tEiac?VvN7vOEg92`D;2Lzd8N=nSX8G`_jEYOm| zp$XfCUEqMsJ@RZoIV=E@p$ZsLK9PL{Ah}5rMDYF^K)}Qzj2lpf!V&bITnt&8ZC!YrRbpMZ{AY{3Om5Jk`awN?(TY&dE z2gBXTrpJ&|Q&Os=C~0?coeC2LV#3x<&%V|-{#pQ}4If4i!3Toc@GRq8i>vOS`T$hkE)c1?YeSUQLA% z+#vU1T3z0|JU#P z!$<$*qX8eSSCl~Q}>4Gz$*Vi0pydXpD-fw zZ{7au-@dExBf#T>ryuwFrXTyiqx1s+`6d8l^gG*_&?h?CK^XuPT?JbdZ4{lQySsMj zRJt2U=}9CI?#u@7W z`7H7ge!e7@2Gq=G;XdykajRFqPq*@X1-26`~;^6Hgb;`xOuK@BxQUVO1!n>n*N5+_`y`EhXFa$ zeft+wx-M!hBZ~5e_^m&ig^|px)zrx<@TOkdNTL0T+YLRL{?+B*T)&r(o4@h?7WZ3R z$J6m@efu^21qGedQLyq&lmEur<^_q&%X7ht)3^LY4%j-F+6#DbW!1$PpKtz{y?i;S zP_O!H$=}+C z;Ld^L7msWRg|_eL6h!^%hh}KeQ0gsi*KZvytzw0EN35y;bt?iC!(4uqv3A zVBS-cN8(ty%f#1O; z)07T}TdG5%gLv-nkMve?c&t^gwkAyS>R8Ql@hXv{Qd3+0amCim#Fa-(WD8y1 z-7#F$XqB*iXaryhNZ{wCJ*Dx8`qKwvJNF(gxb)u*ce08FLuI#n2F_oJU2ET-%W{!k zFx?9ccg>|*^2ph$Rz&@%G>|vTU60xkW^4rEInUYcyy?QQ)^5UDHFWh1XAVfmXU96a;fr0ELMGgH!YErC zmHI(7^opr`!@;B!?ER&S#NJBvbA4irI!=>?mZHQgNC-+Suhq|!-Awd3vt#|WDBtpU z_vlb(i?F%z8eggvxm4;`9P|%-YM71GGSczBGJaaxM?Je*A7Rzx@B@w zELy*j<5mw5y+fvRp4lDM$QQqo3u+spsf?Q|scb9JN~d{8PZ~B~AI*=p*H1noSj?Nu ziIciHZLZt^aRgXkGB~TDeH&l)dS84hozVBl?b{H<*CHA*ko5XQr&!f0@HF&9@Kq>s zK`t2_g8DW_BQ^iZNEG$Aom*;Z!#86YRVCZN&qBRZ8yN!kd*S5a2`#6J z_xOsqSwVr9A(QyP)n);5ZiLw)h-BC2Mh01O?~E}sZ}>WF7L z*E_zVS=;+&EvDV$kSTJkRgw6H#|#znTMt$_A4P$S5H+~bmyeN*&!v{gR~^|i^3==} z$7A&>`yfX<$E=Uk)EBF9GTpZ<==Ir{6|hMKCIz9E;p@Yby(pzUz!Y< zlNj10!Lqnc?QP}4(HHz?_Mt|)=KE~8?#<~j@Clh4E(KeFFY;~2^PL9zjotIgT2$!& z(~|yuF}SA(-Sc1fMD+FYIzMdkJYCNP{BFgJ!PK=}UK#%wRiAzIUCAqPB#9Wt7hD%S zGrZ~5eH#vYCJx8TMh>>+>9QQkCOTdu`aW;0NYNOY@s^N`&`4Qq&=TEB%_&~KDf8F+ z3Dapt%c1ROIB@j>a|c_>+G~|5_!W8mD*36au6|l!C*qf%C}%lfY0^@!a(?lGT~+8^ z;J|$U_3Em#gqX{-kzR6uz_{fJSUhTR7lfME9GH2d2ns=0F!g~g zmqyMT5kmwB5t%?I{r0|keRH~WtYe8LPT~FXr+`>RiHHb%;kvfy6{pbBk12~q4MfK| zVzIOBelArF=|+zExcYB8IO=``lJN6ZA2HxSz!5(ltMdAn2egr-AC^{LKmf@29H7kk zNRjh!vAK=7vPA?@VVwJxQ}=QHcz?lWQLd0(*Gip68YCllZ%qgfUj3Tu;AMkwM$7h?~!o=m;8aO%ly`X~!JjC;b< z1uCa&2$Yp4$~vvNW1fXvWf|^c36#+DW$rJem>K&H8Z_}fd_R|2h_U(czCO0@-SWX( zV;1yQy;50mbgvI(pg+zfqD{YritrlGsb=kS-&l|O9hA~A3^BjHeIu72cie75`w(~d z5uCNUd%D|79!Meioy^x$34iyz@`%-OmsXq0z3m7MwunDJf@jKKJQ-Ar|5n&-u=2a5 z&FlJF{ur;w86OwQI0=!0qvU;qF723E?&2A2%bBg< zR2w5u%OICOFg%pBN4<{MhO~K0?V(RG#tv`HFan5nw)=#U{1N!Lg^ig7RpS|C!JBK-dbAH{E^f#Kw*W`z98mbnrPP);+ z^r6m*G`Cb63*2xSe_Y5z)O~Twipk>s8;GSV3!9!f-3h?~DJp3pdjo(HHs$jH8af_F zxnQEmL`&R-=CokDiwa%COu}&F6C5hlBY9b*gvzk4TQ*df$owMXxU@F*t_g3M;59c| zv1SBHVAX~UP!Ws3U@(3g?fwW{_|(obp&I3phsSpCLRDCE{`30RS2U5<)+Vw0@;SL% zu8Djd8;>)sn`V5?=a2u6DWo*E60#cCk?%Ifo;Nqjb8b5E>q-v_FA?3L&Y#~;#kfbV z8y?dSp2C4f?P&b=-?16B3m9wVV@Pb3%L>{3`C_^2NIiI*1kqS@u%p6h!v(q{NAP%Q z@*Q%c9oQAM(L!Xn(`&bps3Ko8r1E}5y(7H{8z1>XJz=1QJT8kuU58>B)@w^P5|!uA zvB53#m03;=ogE1?KU14H3WUEE-rnH*_V;&fL-vFAIL3QIj4?OB^Vz?0*|kka)0-QM*E!Ft)VdgBnXac<4L{Nv9Y4M@ zCC*KHspnfMx2RUZ!r}Jwmw0I(#_RWWrnmy>gbJYzGbgQ8Az`r%+C*8}%D6*~wf}Yt zMF`^X0xk-vjRzOx>-a(DF^s>Qx_>i3$62B3?@mkL4k&xL#P-c8;_ut}$KII<78lm^ zSx39vO5+TDDLI-;C9{iQecOVK88oEqXYQt0kHUyv!$!2B3`MLcX_K7%7F7wnC z`z`4l%>Swk72f%J^N*0r6H)#M~-(H zs~k&B$k5igRcbY=-3$Awi_IZWyY~tuf?uy#TBSHA^3i?1;cG?b?>#ZrU;ybI=h$D+ zq`&pQe3H-EZCtglxm&)Pl_}Ow`H-hDucKu>K2=`c(}}+8#=KZsfGHMSf$k50K@f5u zcfv(PT@UK0TdsXZM}ZwC2z+U~o^rYO>Bx(%^Iu1{>BS-~kt`+?ECFnpVYL$*V-*zmU+@H5FrIOCH!_yOK zD&hONrm03U*KeteNw+5#A@rD>j{&*JK?0yH>7Rl?!B^rdpE^yT<{BNeDg<>b4*Fxf z9U_2I7tz$0f|r3)wJhV6Dn?D!-j=o)5D-ugZP-vtW7#8Qu;ws6G`xT39}tMP^ZKl* zBH;G7LdBOY%op0_K_3ZBRk$hPzNx_h^?uiExc78{B&IZW?>&sO{d8u z7mFPrpqi=C7d}XiSXk-*=f+-7DO+7j7`l(;u})J*FmB;0reo%brACv>ViVDhVU>IG zL+sm;Up6m^yRKd!L`$T$b8O986E)2E%M}`x0PQMdOox%I$3n$mg0k263@JK1Vd8Gq zr+gD3BeIhaTW!7D{h+=!aL(Qq80hLdmM{uRpa*ABOF|Q_^3TtMgOu;8qah?kg#&Yl zFy|>!DH(iZc;P?N80=M#&3-ipqvde;lwBWlIZ%|?ZE{t4q*V8r0%z{E+-q9?W^}H@ znYR@zJ!B*%a;YfZEC?B?JP#TBLJsX4cpz*OZ%b5k)V>Q4BTK$g3@=xhCtdt%)LTWG z=Bc8EkE}(RGC}K*L6Kv?=p;#jJ#f|?E2Q_T+cGzyH4y*WDFexXiCi{Da3^85(L5B5 z`~?M;SE@9bOG%CsA5_iq^Ng^-RF(>J)hEH%KV*a$w0zb{@eE^9(n+@FTiV2&AJ&wj zxPy$^uQn%9n5Gf{m_yX{^T!kVlU+3MVXz-+R)7w`M7Tu>AjKrbC?N!D1xjb2ti^?N zH6(+QAUJBDUx6(q!#!>2I>o|38YK$DTSx#s(@T(FV3Qhp?Lt$xI*r*M zz+%_UB@*S(Ly8UOuN>U%%i)BK(Of+UCD{G7o+7Ee-;$HTwH7j&Sy&^%U+jne{6V|@ z(X3N{rH2!8>7$*FrMAHH!y1(Ei+l+bKYwdXD3q?J^`gx3uB&57^1kO(uP>Z{9?lya z{II=S&fkXUM3?@e0;Pi!9ayG|zpCaFyp;Cx0U=&zG$@ziM_H8iVgq$AXS{~isUjJ+ zBQngkt|39N5r?+21=q_a)Chg$Jea~ZPX^X69H0whR=$&&#^O#V;ft=L^B9#3hE6u5 z9d#M_O7H?1r&)Qw0j)y zfY#X0X}YBhL2uLJ;JMmofFBiC6FUi6%{dLHlYxDa1O{HObz?y#AAtk3j*ro%8l9~; z$dT*^NFqtDMON{wJLy;WWhnjTqjx{LWBOfDgCW|}Cf_!-$55mmZmbHx&cQMcK&8Cc0v}llrxLqWP-++6qV^ilj~L2 z=@2=HKKFum9uy-n-x2iJ6MO^JFb2tB%~WRfOHa9Vzi{v1Mso}#kakVtCU4%ySdECl z)kc!hIU1*YH669TU_hHiE>e^$Fz0S8#A8KP;eN)?7; zLAhohVKg7TzA22N>20x$Iwiaf*NqqLG_sgAF+g$cepi^ha?Uf_k6yro*BCj9q7`SL zXcXOLnQCxM8rr+$WuS%Rx29TW{xHpUI2LL}8eD=ObMxxUKCD(Lb(Cy$qj4hFRY7wn zqx#!I#?cnmZfnZ08Zu!axu526_V z^U~so_kIe?*Ha;2@_b;_r`-?> z(y25k6E7{^8ra4eSf^RpeuxJa^hbe81l;EB-b(QHuANFJN#kF+eDrIX+am>txINIv zFJn3vz~9KPtvLH>qlJkKp|8B|-gu9YVbLdeqV9xd=>^iyVpqV8+)c@B{JRFS49(%V z-$u-Etn;|}W4mdN8GgtR5}U{MFP+OtIcKmJ+38%h;aUW%aSE!}6UAaUFX_9xNLzN* zgfk9nc&bfVPk%P#t+e}8DxakMMrQJ1`rQW2&5*<-37{fgT|pu2BJwpW{?As9fa}wi zYX~I_f||+h#2r5dPwmK1z0?Os$szFA?2zMBMZ; zw>`Bj9v@xubAyXZEZS}LV%8(8sz%kux>8625@ak}4OB43N&GePv3d~&);MNMi7{X> zFz|^^0@?4brwbP-usk!rdzcGKrPHSykgjg&h(lOTA)q-id2`iR{3*OXj&u4n^(kN{yQsM;*z5h_E72vdO~Dz zVpZ~WCX$gcQMAcAA|hlh6o?_K?uJjMjjQSiQa)0AG?NAKI~I0qT(g1~heaIUtQWso z@_e{3kjEkMc-f2kGDLHi2%z5?c_a*MPDO*2pm%EH8exv*5^Y-fkStEMbIO~Z8C?08 zF@GYQkdh?*J5M$7l@?CIw?1UN?#MP*8}!k-y@A^#Qjp4NX@#zBXfJs^zds@18viYw zK9G1rcyf9+bB-RBF^Auo5T1Z1O_3}>5JVwECmDQu)~5;yCqWSlYH{D}kC^)SKPY$+ zSC0gdgTpvk5faPE0|;oJ+*{)sks$~Jpq`E`hG7Cm z-C8Cj&)@kB8v^%BQ-ye4gKWS8vP@_Q?Kee^Glfh?;;KQe8p&IcU&yNb1V>-$x0oM8 zIjgad7(O{Mz4K((7h{*h<^h&)uh)`nA}*MVM?1MPoyc#PJ3_h2t|+x~*3byoKO&Qi zr(J~!?^LjjnN3E}pX9!C^N~~HL(X$WYWc1n@VS=VeU}6kFNTtzu?&a7Ow?o)Nv zZD2DS$8wamf&g>pmruM&Yr@gHy=f{oko?obnbUV;Q{@1RI%f`$yVI6CCy`lkMuHqx zW(8Lv2qMw*o4)dtPhb$eSPuuergTSra632}}IMIr0@wNmhi9@pQgQNY3 zJia%@qv?`L(CY2UDl>XQQE`T&K1H@<6V%msR$OB7@fLhY_rfef<5iQaNwasD%0l{P zrIKMcVJ}dBos3*J_;0o+w|2W*U6~v;ghk$K*WBWuW#NOF`ZVA`xhN=>N7>c+I&6#ZX?f4+zB^hIDSudomz1^YC!|-GO1r&C zYyTEI7amcU*vD4W{}aP(V`ZUk67Rri&5`{@x0<-$}({}OnIbbqNYJ&A$JQ#o0zGZrnWO^4Mhc*wz2id@{j9S1kD7ZMi&*{9K8C z44QD`>wms`lxA|$g*n@|e0e!|FAJMF3UFK-m;GxW9P;RM)=5lbl9rR+a~9R@KKe#M z?$W@p|7dN&K#6;cBlypG#3zRQ38d(*#rR{_mKe;5LY@bbzL^>3Arvrac~Znr!cKkt zk>TQ>0$l%ujD85IJO~$N#@(?tzP8Docy;%=I^Ys>*6Je~WV4=1O6+moZxRvaI9_Xb zcZ&4j`*A%5ng~Bj=CzbKF;AZAdbsM#dST*H#EMRg72I ziDNUMUN0_);jHpQ;Y2@YQNZzq&xPwvTgGs+#OpMQ3eg^W3!}P0erh^5zC17Jm+3!U zEqEi&^xbE+)(ffO!&f+qZ!Uk=6-{@-dDH@ZH=KUBhZpdp1fk#+l`KvaJlp@NhK;$h zO`h2Q{$8wC2yHovrKJ)V`ogG5@ zy3)2UG-wh(f9Rmw%%N-YndBzfPQMnlni2{m;zE{rO?xvUZ{||sxZCrqO0#d3QihEs z<^ko2SmC^MXz*6Ve*z!)cNyLiJcz9W?*Y#m3f^-<^O0qfU4_1)thH zopKOvT~>0tIMN*ox8IzupCaE)>2Jy`YU{%RS{q+Tge+euf4^$#zQdF{9 z-DDl3I|tsnfg)|?58BdCBxf36HTp@cD4~!p$_>FvJy!IgNOpcNZAC~`63I{gK|8T2 zR&A2zo0rQx_RTRSVz01rMcxbW?<@!;zb%;HwG%V>(iv$j&yhx`(CMA*G^A#=2O#ot zT%P)4ebX%3BYeC9+NSnq&cNc_z*#mRJ!X5tJ67Zx%H zNg&>5v$ITgS*d>%;$0kyW4_VeRU~cQLbVwu7^B2V zsNKA_AOM{6!Oa)2#2@AtTYBS&u4d34)&fZygo4yoA zKzVb=eE3D_QJyW{fp6zZ#Mi3C0H=5cdfsc=0A$?FNMULlV_CXdBGLIAYz9kZA?!ZJ!asd^kR$nSd zi1hZ*`Z`VF$y(h@ldyG>a*MrJ%|CwkL5#QkXK_rRvXo5l?*gM<>n)Z)po}aflRy?|l!F9E4kq04laLzQM07A?@kedf;Bv$ag21ruHxBm! zSOhvfcXk-v-?6DirTZPtOBKW-JLfNcV4WVW*lwSbqIjD3Udv2elJ_wz?rkVu?hG%h z57&xnaVOo;sHftv(@bW*C(}C?fxp{|1$T3N>fNZ?tTKJ%18wZys2cPR8eM7mO>fi&XX3oQv@bS zrN57HSBwGwm(JEGVI2Y!o!UlUf+RqvQtf2H&DT=;E-AMNP(C||)jTm;H51;>pX(<_^o);XO_3SPm1No#FI~9J z4wJ*7c8E|8-wFSo$;*ix;Y7*yGI1$iKsCofl?#p>_x98vp&NXaUNHgBWoivDttGvsT;%&q}? zBKY(u)rL)dBe1lLa9og9F9jtQai7SY1_8YeksRrVCSC7tja~JLT)AF@yfKEVD(Gx>rF3iy?J7bM4BApm zpLY=U-ut7(GZ{|P9Xfyy*9-(<%vHLcDo2!SO)}8ddaWO#Ua#jrTyMq=p{w86eMcy8 z?7sg`IG+_4^F!~Wb|7OH302u@t5#Ge?jI)hLiB8mH)5Y z42uhKtW6_M*|_j}?zi}Wj{TFWhGwXHf4!+#pP`2Oao9k_VZ&@Zxn9wD-CI=1%)S`E z@?Ubyu7vu*+1>Gz35j22oycN0Q~3&j-_b?>_*f%NCL3r&9q1+ z`Vh!i0=9dvbhlX0!_HoYTKg_C_u zSZPmFP9@fdM}V8PT>EWbC9TW6CsnmJ^%=H`-kvQAbuDvjt0@^Z;jD3zgF7;Uuq7KJjz$!KUUakr1)e70(#^ z{?!lezb`&z&6aZBEwd7N2yd zx&|?wf*z&R{j3nD9!H6;gina^>Kg*S5j@(AtJgSgEt_E6?Y{++gRD+({&{T-RB~6) ztq>uMZI;*bSMxolZowuRGxwr&VO$V6e~|jW^;#u;XJd(FbVPOfeC;zA#EE)a${)IB zl5~XAy1(B0>-|qKz0C67(*7tWa>dH&ShZpyX|<=`VSHMNPTSVB!NkM- z-zR8DRt-{@_lcUZwM}8+KK5Osz1T#1?H%c(-XxbuT5$)!X`cce0a?;(J71$HR70u4 z3ZUEieR;*xWa56_%Rd}lvuLmaU*g#kEfz>r{?B@o8xVBK7zIWi6l6kR^}6!-Xr<{2 zZ*L%~57CBJ7B9NRpoX@JY#Yan1ub=)&g{|sPl0GbnZC4R5`Yn6bu7cFR{WFhwdtiH$Z*sFCV3RayWZwRWQN|R|; z;o;8>I6NXQC5^+8M*K?*rqi&8{PDi!_j4KsciOv4__-^3nvd^)oZ#9Gx?)A`cU#fhJG8$&G<AzDcP`u`E3oDwQ3MYB47Kl4y!vW{j%IB-cSExz*k5gm2@iKGlGs|R4-M&X|%Gh(p zQ)8*xoRkVHJXAiu5p3FK98?)&_L^H7Z>GzR zE)&amlp6J_zjZ>%{@tb`7ZR>YJef-SzIuQ z6!qdqNHL%3Ghh{|=&S^c9s&8C=^GN%GToL;waX-1auljH0t4%EQv^P5F&`mHzVn<_ zma_Gx6j>!}gpN9%!|X(%Y+DIx!@<~A0%;_G;d^dO`1Xo|CLalPhA_BapLzekX z`7Kzz>@GJ&%!G}}A^2@YvYmOw@D_iQ-TV{abGkueB*hXXj#(N2ein= z*3^+)DZY6Rze}tH*%qO(a1p%sMuaYQP*^7whY%xb8$CVkl8HEga+8PcKJ)1d0W`$? zd>MEQM6w}h6raRnnFTB${4z5DLtUa14y2RkZ3<=;-&YMJr&RW@LcX$UqzZPzXjvbkXx4LR9<$NC?@+MzW~NGuz;ScxgZY2*RurXN#c|Uj@J>)^Q~L3lKy$J^+j2 zet2M9+e|TC$y{unVSZHhH{C<`ygJM%_5LiX%mBw;De`?V+gV%~i$XNwb3Q)B>=>(x zJFK!B3P-Ia39Hmq9vh!~QQwtT9J4+a$Me0h$u%o_pLW1uC_ny=r#ceX3~r9iNG^0O z!!Bgi)EfG7vznBB+SlBe6ds6evdSNTw~MMua4v`CZy*I`XEkK&N|X=5-&>*hmjqrvTY7v7LGux0HpY_Mh%4AEEpITW^@1fPw-~cSlI1gWT|RqN5-K z_`yv+*TWFN{d97D{piS9N--z47^A!V>bfZDSS^8^DFoa^OBeQeW2CP756!3OpCT}k zE_5a$eOM^tpNYNW9&?mQTz#^a%DS%b#&9(pDHrd!x6yPf3aN6u5%jf0^wEqb29~J& z!&rnOlt!nh1aPTzKd&5YZrx;S3gP#)_7S8b-ntDcSh0FUJ=GSt$-^_qT^8iJ;pNG% ziTX>Tdic`2!$adhyv$y(&}w7MJZdsI%e#diB(Rq6 z=8Fn_*mE0{xu9VJh3mKAqeJwMQK2L_h%dan>|%nU1HXC(_NHue zB(gvl1l`ho{+AX{3KzwiM;`BD#nuM8y7zsD7zv8O zArKe3lY9Vvnqm6%H1t4Hp4svx^n~Nbv+Ldl4^R{Arwj1COqjU6t?a~a z6D&oA6gdM(UP!R?N=(S%F9oZ1MrhS9SzOZnkE^sYRK0ezzh)H6L8$imVW<>Sw4$PN zrXTun#e`L|$Gdd0POL?0s6CHYWS{P*j7ibf&Cy-UgMq^Fjr*nZ>w=BBaUa{8YQJ08 z)`lt8N2o9DaZid=C&#Y#?y*a@NptXdcp>6L1^Eh%$y_kC0q~1cKLBo<(*6$>GX8U9 zWaJei#@Kk+zm&5V12O+b2Lj_#?fsR=jf)hpq0=0v7&L*6UNLC6CGX@Sf3I6^++)>& zAi;rDodyVDkZCL_(4CN*g2RLmFS*t=oNFYE#?eJ4JU%{#jco(&4;-gGnDEtLKaaqm z9qP6Gdva<2r=DdhsnAhL->26uj1=t9Eq&Ru9CHvv zkzjXf`$1rJ6&1Qvq3X14<8(bb?K9Wfk$Kb>so$#kjL-ovLB1->%z6{c2+hrT`?G-W zBk(jHQxS!1Mmi8#@+_g_`Elf&KjVIRtRgZJkq8I)-P)AVvcvV92)1q?-Wb>>L=MV~ z(lSF~p(Frd=)=VdXv;e|`{~ukye@UW01Dt11=1)Df}f!<0pTbGt?-W?K8NmEL7pJk zBLJ&)0iR*?Vk#qEE5`m`@~C@Bjmk)M>F?(*rfrxHT3Cpm{9HKAs42)A0}#Em2Ek-t zt0*uk*}6qm8X4zjZP3=$F}aNMSh`)idMT+qJ5B`$SBac@u+JeLh{t__%23R5DRRAu zVlv11+CtHdy39Xhydjue@`Mqbiyox5=lXaORQdm4d5#IeH@zkF-xx?*X?=3MUSli- z+u9?vqCtU=MJ0^~rWS26KJ0WIZN85~x~~9upK3-5v8+f>IuSsm*QRdOjO;mI9yc;M z0mf9QaKQe+KlPm~(tfnHuls4Y9@zz-Y}m!Yc^SDPpyR#gyAKPP^<3!?mAFbf=YD;E zzp{%C^-ZUjl-v;z(2E;+lZH;2D7&IMoVIBTNos5AsPg{o-cHx4$;hcc#^$Hq0UU>~ zg9l%;8l1ZLHuj@RoxN$DVtc!i?<=ynyyxbhd@=Hrf~dgO_%c|~hZc7XXzMdr+$9ge zYt2zYp^(5V*VkhV$bPQZvpj(NrB2tu$cL2y>}ngJhIEx-*au_U<*VS}a|Z9X?S75s zWo8Gn9=SuFS?AoY%Y?`yO~ zj5pOGQQgoZ97?~qyhF)-ITko0b$+6XAS@X z1R#MWK~&3hnH0APRqX`c|of=Wc^y~lLc=a+aZBhX<;s;WIwd-4Tdm>vmi)8ep777+`T#*GlLraMa6k7dbw@=4@%Qa(G^ac$o4gSdj!kxG4@!DA? z`9FNHNb(47YKCGAp%MIc0&*vm8Guq00bF@adgQPD7AJo$B2`q;WYVuO--NFvm^i}< z0fH5)8UXU^mj|#wi40MCUO`Oz%U~oKlPzKbNr0Uao+0cKWFX$ODE(LhD!>oQ6ub5< zTRbD#nhT_ztp(#q?>payr(pLl!X ziP9THy3;oYk`O=ezy~z<>HQ0iT^mHb;9Th{M~7fSgf;Z;+{(sp2R?yS>B6?8w?1BN z-Hp_~3XD6sxV#sC77IX=!{VbNw?Y8J8@jMS?U0q1ahlb(B%Q8AB15L=Ig6O}%Y-Eq zW~c24DZ^o2ZeZp1_Z;TK4^Ld8ytex-w7gOlwQa34P4d}0@~cY+i>C(BHA#^)nA(Fe z*tE2l7^uH%r^5!(Gmf}n&D{?Z6RAqA^r?k1u?m-0j|G{u%8obbRh>7v~;5LaS zuakvJ$(CBnI@%fSPuKgf!$vp9UdLk ztT<7dmG<@q#mf^P3SBt<0bdIpk1*7HN?#+!?uzaa|P6lJJuv|wNN4nJ^v zKDs>h>LGpl_L&uA^`zLR?HAony2`xtXFl@cjfW1w75e*u(~dMdeCy<9N)XL>Pd0sM^cwC`2MOYjrNh>tE)ozE z^l2Fk(=20%3fC=rpGbW|HxSe&$ zS0UI9$4e+{ab;$k0^8O^_$d|$r+}^if>6Nb*l14pVeqXiZd{MsR%&NT${~*Z_R(Ke z!9Y({=_1dQV&6y&v<;Mk@ZI2m*5G~njtfiQ8F>`*X8zM(uZ;5BOYcv0$1Ro~eC>?-wM8^2YO88+LjaXh%@}V*S70 z`F3X1GAMv9tHjtv!S;gGx$jG2dhN;_HqsFh~*}{Cg+`(^hjLCz}op zp+k^t@!kmKp%D23KT%cb9TJ4?tlPk>NwbRRVcf(q1^ zkL6sPJ3HvzsHbE0JE&vF^XKHgF@=f4W#oe42y01$5#I=8qF1|(#|_#S;{5)VEjNgk z?!g!tenwAl)a`%qu<$wMp9eTyk9QqIpmhOa`8a|-*E?va`1EQBQu{Bhb;dZIu~G_cdXuAv+Z z$VY!q|4J0t3>xe{VPC*tEkA8t5%f=tAn*Nx)PHnwIX?BbIwdiVf8qU+>yLFQ34tM35GMH!r(ybMzjxet zYX{X4{MD&JJAV~_7^m!ezj;mFV3^8@t!u$s%fqMhsVCb|#d!?+AvLE8`>(>XSV<7y~TR8VE1!N~$n+)=sMD}g>-^TnkI2ZH?JaUc?p_bjy zC0sN>Lbh|Ksy`clUf;h)l0LpU8kaM(F}_|DuBp%MEq+h4S^b+z=vYw0e@V|cLGv*1 zI?mNW@4tW_)wxSa`&d&|Nx-rb;D=Ortr9-eazcGSxk^||p3=TiCK1PjJ59x_GI0at zr*yw1=^?_S>mtV6maI@L*HI8+Fz~Nm4>0O!@IV$phPP~(zH+h|O;NX@TI{jNx3nVM zAB1*w{^#5}B1Q?YK|q>!p$ufN{DkZX$s;QosnnE7w5<~yFMPmy`^5e4@@Dcu8{9j;M!L|Sld ziEA0-P*`_uX>vJMsOX*3aBxB~Zf9}+ez<&Lu$-$jOKr{C{r+#Y6qU&vzLzV@Jug^e z_f-CCDR9xdQ|upekJrY!Xa20shwvt%{cPEhn3AHdM#k6#!iuz+A#d! zeNvrY30Wec(k^lk8hW$tz#o_V0S7Mv(V&_iE;nJ<=3bJB=SK|q_a3E?VUv9;+jBC& z@1npLf)|>JIjcBx{`~%FF9_H}r? zT-2|^Bs9LOfgw^bTUdi-t%(1rsOeRDkn?{qa~K)8m(k&MPl7NliHPxSFTfqJ%M;f9 z0+PyDJHT`DI&ljwFv>d{t%m~740kmpvHI&~0halSRZ47?Bt4I+s-MHRF;7YhqG9Cs z{PW^eV6_G+x|~&-Xq45~E)P#6icimC8CzG^g_Tjo7Ql`M=^PZ;W0h!HlDD#6d#Nuu zuq930$5&{XeH~qO#@d;){ko0;X^;7HdwRp=v+-}oDR^waWn+PvV(Rf?^NGaNHs@}H zZ6+t->GnzkWKDP{+H4TmY9#Zp9lRZ~)NsHsR}}sy$)wHCNrn!!t+sAm5&xt&;t)2bA!UfGswJ)+ylyb*ukFsMUDPIyBVI3)9bd6q(1m)fWVlPBk z8(1~aSgr3ZA~~AkWAf_Pj65@my5BQ)HLl@Qf4bF#FWsP2y&??2VdA6=D>GeJzM(x&3C8@Mq^wVKgId^k_YQ zU=}T>&(ZW?F539jFUC-Ec%xaoaYZp@5PsTXypVnQlCbwZS)&}!4-%e-3c!MYc8Xk1 zOa+!mi}PN?IX?b!qSAs>mF{ z*sBY7J9iE8?N|zw5OJ9y4ydXM1k6GhwK2ylKMoyuxZ4=!aGh7ip$C1AI+sDx1ce38 zc?M>|A8dHL3`R=KWPEd{K6_B4Z$#Z}H%Utq(_tnN0#|&ri0MTs1TeBqA1wN?r52FE z#O7*ZLHZ$;V@(M&+zy)xMNA51M@a6CO(#*mEk4|MJf+DCt6{11=9P2N)~@dgBR*-} z+|Jxb`_DwN&aradMhy!G*fkLA{K~+0I+09`4v1K{Dk1e@(srNDL1ZDnh(c5^>Z08G0f@2-1NP^}YDPq9*lsbi_Nr#v=3|lZ?>tk5RQq z&q~IRD+ZioA{ynTicWLHR2q3A;@@?}T5QrT8WnHb<%PK5tDM6jd18);ie<9&X1*Pu ze3OJvtsY`{6=T-svx37-0)Nd8GuQmX_+wkEax7zLOf2~oqWHL8qdd7lTTd*ms4Fml?pK&m70oJf0befMQDWA%Lg*IVrs13Ce;t*MYk89FpS z->1GN(qLgM_aXFoQI`i(H3h9fLiei~&7eEVXr!Fs7sW7Fsei8fFsk3vd|J&nQ<)Xj ze~D-PIPlIAOl&Lh^@INQrw{k701 zBT2BeFGnnKWP{~z@vU`JMymyl^NV=4R2SJ-Ny zDdr&NzZOTnZE>ZX5&}JP%!v;~#9p})=Pj!BZ861_Z)J>H{dW8uZ@LNvGRqVYhWeAX z?T@(z4F;bTtV1)C(MNu2Y3qu3+sCDX-2CqdAiEX!{#|{aumPF$?KlWdGyFf6eP;s! zUU_!&6wLxjZv^|_@87u=ZX*f@nzHjHV;Y$w*~!y<^^y_f{kHZtOHE$pD%3Kvnct;s zwI6?sTVXDuA$Y^^CR$pToB||^-OlD|*tCRnI)36=H28lDa}WL8J|?Rkp0?im*zo{8F*(3$<}wE%4; z!D9!aPUtK`p6DOAzW(YlnQ6ko&+q1-Zi7z7?P{RhV_!P(_e7jQbzoP}pIZYv5AcrJ zZfGM--4^rPZ`C|i2SH9>YBgP9N+$%y=G-lF{tZ7WOx?rCw|=Pq98NQLQnSpob87y$ zbJ?jvtiN;m3Ry$*OZlAH@#B3nX+#|ALP5VNMJ(71uQU7@Nx$^XcBLE=H>P0rwtQ{` z%V4-+*bQf&8xAO92?$?6Tdj@VFd7m1XmI<8IH1ADFZ!fxFDe2DjMIrS;JYvB{nLtn zEi*tN3mt5<=#PUpa-gQyAgPgr#uWnrugH;y_^*tDLO?vB)Sghg0g#v~AO~mJT4z$ojO~tQ{F%qyTLvUb) z8jDY#K;}a8Npw>Fk9U`;Y+6sNXto1t196xsZwn@5_ zB+k6AnF4}3gM*plqKUbQl&EF%1D;0Wcx&h+o;qGm=1KhCYr>_dS;t~KJ5K0`FEq0S zGoST6G`2xBLg}y(;?C9Wu3eYS&e-7d19kZwMvOs_rGbMg3pt;D_^|)SMfI0%%_Jun za(vdgVr>exYb@KBWQS>+W$7U#U#bk?uY7G+_+&A_i!UJg(ImwtD1ujq;n&?hzK&wh z_b58VWRUPRKVkE?hSo!8hAdx?>_6fn>SN`8Rm|s?Qn#d(I$1_JZ{Jk{+q0EAAqLDj zszh;$+6t-++0#Ma&1{v@`n1gcdzV(#eE8}Q2__daR|<=o z*@hKi-hpMhTmPU-kBon9Ildd!`7+t%clfg@&R}Yz^L|-zb)@q3^*CNAU&g31xYhOC zNKV}A^TyKL=!i=gaU|W5(bqmt71Ld9GlLg7QdrcjlM5mw{(imJEkqRW-jopcqowLk z4XZOGI|g>Z*k1tdJ+ea`qNQIfwB>^!+P?s8s2U7^3*}8DPWNe@<4QR^-UK8pc z_u;_#ux5d)HA%vqslAX^!YdgS1WxjDKK8c&ijUa!zk(0OBd3*uBvs&OG8a%_M5wTv z1oF+L|A0R_=&=T9dl;T_F>R}#4DWP@5kt;(;ku#R>cEI)0U&TqKJNPM&YX+wBLGhbxeTz(Sx~5BDdo_Szi#l28BL8oRKPshJ7Cvgum%~LW_(ck0wO4V;aBzAGd(Hl*9hYX zU(r*ez!q_I801Eq^Tl4P?mhpQCj3BTT^x;AD?}F_PcRbe(rHO5RSckoZiXOnEw@0P zVGN=_{aQ+P^%;Q3fDn_E%HRPE7^T9qS1SZ%q#PTv-;cVC1%JebGs7&wI}cu61aF@i zqqPbso7@~#7RsveFFSU_93%NB-uvqi}~0obM58}80m>_6YCVvAf;Yo5`LYMvNRTdaP0Me=mfqAa_=0f6gGu#hh$W(I)c`5qauijiF+W$OQew;=GHui2sof6y#IH81yAx7e@0lZyGWR($WwWH5f3vW8o{>UR z>+!0n^h@|PnHZPt$wJ%ftBU;@li%hkJdR&TyFK^5A5f%l=3!CE5UGDvcgE@PQkE4Gz<|O z*pZhdDt8{9iAfAx#^AKfTk0KuHz6>z{yt(I!S||h+9{_0`iqc{u7A@%dp1XjOrP0o zPDy;}lqD3tx}yKWF|_%fh8p`yXQ&xN>_ZO7H)e+FKFFs|WNA+g3GtYFFc#e%l(iIo zR@&aSKOm;jl})zi-}$VjCR51aJQ!2CUfTK*sB>J?7#hIjpk669DXm;ccR66ALMHBR z1%WZk#sXijMwoN9)7lJsbK}QTfr!xyEyG`kw=rif21Om_eRuh&>?HEuHGbf_&=$07#M$y9ipu3pyT(ulft#1+K5@o z&~31Ozed$|U5#{~G0rsMl?o29e>{>wvQL#f0M5-2}ZU{jLE4EgAwW0%>V>1PMeM!~3QJb}) zmEyMOOYQ3+LS$_nvh$C9KPr!^Mj}?5YY=&JG|O}1d0B=*9-wzFH~~^0aFw6dPuWk= z;xbVmjdWe$a;AD^uQNYtgclP zKckE7WwSV7ruFdMY)9V~5o3c%rz$YItRgDuKeKjwz6k4~WnmHC5>j}0L2bvYnW{=d zVI51GQ_tjrB&Ca^`ETgU0>zphXLX0CQS;oBq4q>GplAXt_|l+_F85pBQ7enZFcid{ z71jViEM-`Lib$wg=_=XhHSH8x5BJgrjDkq?f1tVr-SM?cFi^UX6ZZaz=AA=^2Qw^& z3{pm47WqTe6la3hBoW?B=dPfUh&YrHMbzkZ?D}mnB-A>mg?tGBW=d*Lu!lk;F(f-B zR9Ox8loqR;0f^k2Hv<{Vb0NCc6Os0y8FKp%Xt2^X1Ur$^1{#fhzrt)v#cslomVuhA zB0DOS@%N=~;bn`$V<~sxNl^4eose>qG8hh(fM>luttSY(is^cQy@1p~;3p>`Y9tCo zBQ|Osh9E}S=4TFSj&M3g+hSNe4mgGK&(|^%972~zlE$rAGwIz%wOuLV_nCL~in)A- zp$1js=82dUYrb!E?pu125h*|X!h8M$C6}M37OQ1^c;oDvua@V@ADKwaA20A_`uFPV zho3Sm(fj|sfB%W8R&%oKvtwMNew+p-346<{EfxFK!pMVcZt+oP?Za9LlY#t2 zbwi7MY3JEe0V3!H^ehr}HWFC`&l9`4ACRp|8xGY|8gR;)A3NaLt#_+PtSeS5r>~yW zd-fy}Ufkll*zMDGoOV}S36~A~nHDsp#&fb-_U-3nW*e!e8avInO}A6Q!y)ip}X{u;F4v0oXPpP;-*FXVf?L)WHQ&g?LzHXMC>;fof4*=vIzF&5UYG}r{| z!=Udf^6QxMy!P~XMH7maN_0fvccs2fHm}^Yn>;MF*Qtvrmh$MHhYnXa;$qaPrKx4I z(O}ooD+j#~SL0J?2sb<_TRsP$OX(U0#I1TRs5nbiN@?k^?@F^u6->EhyZZ88)<)CC zN-d_3^I3sY>O@0Z6mmLs@p>3q_{tZ&hGg8dLI)rZzBG#^ZlwQ)>%{ zehePeiklF5=U`Ix_l;`JZhD%PF4FVUqgkuC*m#IUk2U2IWe z#xw_)%7FIASBT$Z$!>1433=CaOyT0is9ly;%v4#CUxnfF1lv5$`jmmg)4aUDnLZG3 zc;i;(dPnry& zfM`KSn0`akrLbnLub@cuATj1_h!+Zg+iR(3tOTmGzVIU;%C%tz>W;*{w7gOXF~gjy z^2oWvuGeYFS({sIN74(5oxR@Eh|9${DLQMKnPnKWo>n!~AAi>1v3&L5k4SBxSCKy$ z(QWcQ5=uuoN+j;H)U)Mg9N-nTe~u5q@y*1plUr*OGTkLD0eJ#n#Cz<;%oRJfu;wRs zU)KfnD9@(Hz(Zz*E5FmVy%(by<;V_N=wql2l&h*Hh=a!qj^adNt&5*6v2)2@6=LQO zpuo}AJReb%*~da-4X|Ux`mMbdl!iba0eY-GDk&lioV+He07{+Gf4w4;1lDo*%%7p0 zLU8%gT+@eHVnUq=t)cfEjU-{5=2gwItRxY{r&J;6Gb6g=*EGaF)6FPg1_g0VDIHuJ zmL}ahXAXfl@FGMw?&fcl4@alBZN-lQkWXu?o+X)K=Td&pVj0ZDKa6B*qm z>NC@QGT?V&1@QtS-_iw9Jqd&j4Xilh2j2ND4ZW7-2xf@_WV@(Jk7~|{g{wj$WxqD^ zaEY-I-xLZkmdle#^Ctb|$>wj;(Ps%Lr;w+4gZ?AB9bWox%rkMh7?svf8QoZ#LSgZd z$`H`;Bm{v=pgF4WGKY6G*~M)OWX92nO8;@L`ICkDzlg59;htzlgF@^Alehx8z~uDs z@Wn5Hh4rI?TuTK!t*vj6ZuCZEMJDQF6IX*lyYY|(7L z=n!=1%+=3q^-rZxfT)Hy&e|Wvh7?a1a;Jb(J~+01V}214C;E;w9iIv()S97};B-@) z&MvOI%5W-d+2I$AR~l83hJC0o^ON=*(E)Bv)~r?pBYCK?@BWK$+Slv~U1O=};$%Eu zgywQRx1y}kMsD21eY`9Z!VV@-mmeP!fh(`?v(@FKQ%yYFAo;h3A{d3k&_|VP=8@DH zbdK$V!w96Pl1MsO4!Kg=6V*m9t31tj&wyDhh;c0qiv7 zm}vqrude}R$vA0(5P5oX*9N_p`mGQVCVOst{Qy4alKV@xZR@R@tTP&F2`}Pzy*^Gl z{`FC#%=Lvgh>=Yr$1o}m^gaQ^t7bp{IF=Xj^fF;N;e9yFiX&nP@$PIKP7=#R1pf){ zHj+nwwafN=wd?jttP4}#`i&#l%#dfEMe>&P?RCkMth?7BrXQr-ubNTbf^RVzHoAzl zyGo9$Cr}uThrXL@L8=obS?tf3uF3+|_LxBZ^fVti(5xM%GVNIxNVVJC&nZj#!aBv< zlK30lI}Hw3+1W|sxQLv`Dj#_uxnXaI(b6O9S>ydY;_=Uwk5UfUn@kCE)#7k zg}_0mf_>z!%TY8Q3hsRm0@byPv)kxp(ml&Vtl!FOAH|r zA0)ym==W!hw#DKwExh-^hZ-rVPqWc?<|&N@UEri_+jh^88}1Mn>=~!>>Pi1_Pi0f} zCkNB92#(C=$jWl!#~Lqh{`XyYqz@{@dQ$Z&%&Y#QB=^xAhXPBfMJ}>=?@g7irS_JZ z9LKw={aLJ!xVwWbm?lP!|1_Gox5seD6EY)(NpA*}=hO;$P3sJAg*T2EB2|eOV~o=d z>G|B=^#o<5l$5`Dz4f~4Y(M~2-|6dXqFCyvVp5cwZqnt&ztSB?&8Xp+*jc#8{{i(` zfPJLp4V(2rMjDmy#W z_L{r*J&`S&0^`E_4DkBds?~cCL=Vq33uSr#LN!5K1-DLqlYsLfAk^NrE?x{&o~-r)w8*`+Rmn14VqMFD=-fZh80@zRx(5 z!ihbJqI{^8RiGsG(_$Q$l{2i64eus9%V8H;pp=43rrK#+FYh2Na9KMEiZKx{rzoL8 zWpvRu7QaH4M8$cq(0VD^WC4}?#{}Qk(wc-HRzV=-92+Qxef*)a{MN9Oh)~fOC_Hg7DF5p3j$AVik1h zpnk$yB|wqxV=-8CFq}Cp1zas_!cBMpA{YT0gq}9=P40%TJ++glP?*SuXl)>tLdO>f zmoO#&@(^zv_sI{?#qP>z0lx5=i{{(XG4cBb;~P=kPaizl-D2V~wLy#)oT(*%LrrSz zKGc#m^#Z!C4u4Ov*kz+txE(?os!WN=A8no+T!Er|B%s!f0$Lh&G|J}%SI-uCoA(mF zKx``6;q9btU_t1IoDF>;KHF*97~plxP~5900{BuOMB~=7MlDtnZC@`NqS>!N) zSr&q27-&KZ2DBv+yxE%}NL#&Q5JJ%PC`~&%@#WsOvlV171VGFI%+}J-qtc{XJn-!q z3M4;JsY{yaLE_!Py-mY2aDM;=r9>=YMxUcV)+lq0)on)&>2aqVrQ%(PC_GQfb>I2H zr4ozuKOtj`eYHs%6nIBXens*6^i>9!zBI5gOdQzC`Dkb2hG?0H-$-9KV}=T4Z8;$M zb5eMtgmMw)@yY2;&9gYg`8Q#BCqHNhJ(xCnVrZP*KXntc2%>_xHJ}XLjK14&Uz|y>Sm4#U@<@M|)u{@S1rTohVeb|!w4%qf zr>6ceG;5w&znRPni#^xHN$YBS`$D+d&!*LYy;&5)v0OV^P3tqdEJ?Tm?}>Vs9Nx!2 za-329hYcRq=(g%sN*uio+UBLvE`;P`=-9YIDB-WKGc}U=!Ci>=Xv*KM-A(C6vP7uP zFM()DL?H3nddxcWT?paTh=1L8>=1?srU+Iqyp_S%+uvC8ghqPdmOGnaOZbKtOfL}h zs1Rv1;zs~twqs(*+f~Jn@aQD_xABHz@nMZpego+txjpfc7(-?V6IPE~`C%BX^G%Wc zlkLQ{t#|XhUrlF~p+xP_8GflrcLwd!m)(ra65;mOKIldY`2P&UYK4rvAx6IQ?p&{k zc5e|fJ_dM=5rrDLj7#c;G^tWj29;1(?D3ILq;8=Jq}KO}V^%4&@InB?EB;7+|g$V_YL;ZXu2` zW~v_=!KOwD0;C_UbnE&n_`GKH6GN2O_j#&Vw>=;Qtk5$wXt(i3Cg9G{UOSm5dD%e( znL-8IA}8wH3871K2R4wkAz8{-`+pBpWQGg6!JDs#WvF@O+|k16xRF%~21Zp5AP8?M zG@}L8&kRkYLe5#Cq4Y<6v+9N>CF&6qaxKPr#5iFSFTx`>K zO^LY+YKO)cME4hJtE2WeRYxcsKu*P%loy-;$7#|;lNL8JXscFzD2;#TqsS02;E#?) z6BC!^)BGbVGRa^h1B4L;KLDsmZq5 z6r^jJZl}^b4kvP~H3KTwA7g!rMi~9v%Ua_>HvO%yJ)^*ka`PHeZ#on%mPV97S{%36Osfw#PNfc5-bj=lSOz|fL+n3Eqh<6_3R z!kDGkX3$Y70VAj+k=p3&J}u^Ve?~?gZF&&aAWBw%f0kB7-s^uA5mL>2MHi#5BhOa${r+3S;Jf}3-~Y`=Q6QaQBr3oQ z6$)a8W~Nf8Al2YDU|65AkM!lf8bg&sL~ysq0%Tz-rhrjf3N6U`nd~vzPyMW)kY4T! z?(um)su4bX1mr-cydL3otFJy>3A;uHpurFL5rN-!nr)$G7X%4C$|8KOrN$z2T9s4p z$>k4g`)eAEyeeHKzRT>z^*EWYaeqbUu@q8vkJvHhvEBCUx9?&grQ|RoVXHbk0mUzp zCTA(%zOnL(a~|rSaBu$YJ`+n$RV_bduUG;oA88jMB>xh98-o(+e0_oWS&;2E)BmO_ zfUo85ktt|TN{!$PG=vhvK&`Qd>7DOo_|-8I;eC0)u0zb)2 z__Kx$p&^0tr~_gkXg%&Y$nt}s7~bqt3WG1hhN$idP z#7if|599@(;a(n#)VN*0zN;h{dKqRO^wa5VV;F+fz<~j6P58686wy@8!;Psd9g8e- z7J}_^V0sJ?1dJ9r!g~CCNX9{Brd)P@=WCA&5knzHk?~DLP!MZ+Sai8*B7>np@>+$0 zSz9aj%nvu`-=3ud!J3;XZEAZhA4KLMYxaUyOM0jk>D8{8761KOK|L=~NL5Ns`TK}h zA%X$XYPBoHmfTRB4}wY}vgf4pm)6*oqft|u`n3iKJ?fgIT(JQzD zGmwXUe26o<0rILHxOzB7!il1T_(B5;X6&mn2wLPoFtwfj&c_$TIwKMbZl{V9YkxYys54d&5JF~vQW+?|WCBurEV}-2=va(`%7ND#3*7MQKXn%`$C#)$?(Cr98?37ZO?1FaWZB~r2(^*?s={J<$lI?x`1M z^p8;bVu7ke?$uU$;l$v*zh_Ft&jqq{3I2+QX83$s_fMABHAfz7P`{GzZAi>rhO{!RTN_A1Hd+EHaJFs;nlOu&?hlQTC(W z-VT1jmeCQQa)@CD{honsE4}bp57E1a5vC(?;DzFfFP`=G*|5e>9S9lZdvPYPTmjTo z^b#L;IK24lUM@D5Y5vl^>1bK)EX=fQ^0W8%zA4IdK>|0HN+oidmDTKqsNj|(?zG1x zY_Mvd4Zlt^r}aChWBLboZ*GGkoj0mW#?~*a{>ygk9<8Zw)%hw_7xcY-T<1`jYr|}x zVg&{AD-sENpS4_H`l->4?AabGIHX#99i~)9AHh{R=r1I}4fW++{1*se{#$pIZ>qRp z)fS!gZ+9!enY=78o*VW)0_2P@~VmatUo<{YjcC#db$S==VOdlJwUTAcs4vpd7Vqb3pU#0KPdOt1;9TRY!7USFlepxpt`r zp~1dC!|DILhZZgc{W}ImT!kVhbsz?=7b1u^Ejw^D==#%e%d-O}lv3VoI!1WMTI@3K zrmnf>XZ-IUjNp;(rOdka$xw^18dX}gBDC+T-0oGzB-7vQ4v!kb4#=1ANqTSgC-PSX z=-SFP>Se5I^%K<5aWQq{(*IHJXWReGnV%+{Yf^(Fgi2CJ4T-T$W$Z;hMM}37e8fr+ zu$BK^aLulzJ<@Nj1XK8$eqa|v9m-D0Bsx>o=rI^Odu*@oG@fZA5m>Jzs9zrsK?LFdr64Hb|A`Nnt#;S|L7W9hK+G=v?H)=~g~3!w z#HNpO9x!RVPl(=LARSRu@;nT%RY7*^7VZ+#ii5m*7nzGwgFpI z(PcQ6Q^bG|9o>d$HF^ZmdZNkyjKg!^y(T(c%wl3pYAn2o9;rWJ&lBUqacYj}Joa+r zP6ZJe3DRVZmNb1Y76|j-Iq^86;QeZ1;=8t;qr1wT5&?^D5ApR^!JSvqJ_f%Wj}VFB zDPb4ZJ|!P4Ur#LjN!K&)irL!d$tdLkaj*(!5<1 z?(=kgxx9y@wigr136JrBnRm_~NC!TEFT*~2s`xW#Cf|iJYgO8}7F{u2TC5qI)?A@t zG6PqAqDiAOhx~o-sO4O1KY{DX7KkDySNk&z?OG2R8Z27nOV?~uM$M- zG77d;B;rXEFEcEQrg5MnVz~NS!aOk6UKf2hLbhUxTrESGn5l|3F1!gZ`?)rO^aJG} zuHb+c{8y|3m#Q2gNCh&-)SufTAUzW$jAs!<4Q>7+UG)bAa(;qb1x7&}^vC}7z2Wmm z9cglY|gpu#ND;Wl3n#;W5VHNPn>@T@K|t|KOfXumZkIK6+g+x3Kt+K&zHlddvaGfh+s zi@2_@Q##7%V_deYX;;~UXgm2yxPm#MjmWmMc}Sw!VZzXvQ5P=6(b|lDeT2gNtil6I zK?cK@jnbXe9V$(dWuRaUyqx4H@AH~%tmwh%DGD6_{H~JbKek*7!8m0)mXL-4K^F_U zWFzK+Z1KwCkb-hgqq!Cqs2AJaBzU<4T}i^1I!Tq zlEj@$AEx}k0LWXOM1QN6+{)RgH)+1wh?^Tt`X@sz3Rk*)3nP4}p;j0q%u#%ee15Y+ ztV&7rGH$V1q)2{x*_Y&ed4+z%!Rlb{uhR;pc#Ygt+iK3AR>VlhHOE`Ae?k0b=ASV9 z7E~^6GY!n{6^Kiyv}h!AMY4IEniO>Y%NT=(y%};WGpcS?`Km&L%a*xv1iGOI;SSdF+$cgN0{yR)O-n29Ts zTp`7~jt_^s;a{xqcG}k+aiNy7>y!#I9o0*Q)ADDBK9$6eC{o48Bde<@Yc9%gKECi(n*q4_;MWfm$gBxg;GK97?*C zUb(qxup(T<0-ItGzcu`^LfL-Si}d+^_NB1^59~W?TK#fvGVQ7Vik0x``pj6X_RIH- zZBUr)mPoSKhqk+9Q7y+VUhQ}{XEnXc)tRX<+I-a-75zB7cauLF(VVISz#Yh>`k(sm z5NV0s-4k<_e~(!g9ZiZ;YKvl(&N<(bREy2?lu;KsscMo|_)(q{${&>^7IoXs$vhpw z+WL4((=rrdvtq?zbS;*H?@G`RiiqR$t{(vLpUVnDH6TlIW`)lmDb!^;r*TDtQp27; zOQ~nNHj~MA(|}N5)+!2M4>?YSc;?Hb-MyCv6SocY8xRJee~yFNjn`M>fAnlgTTpxN z0f?vBC7^uRlU>?N4Z2c{haa%6UwSnkpYp6{j)e16VI!C3CZ1dAXbth{SJ8;plHbYY znRU)*TIQ)va4eQZGH1o>;*)nsr6|=2t97sJ9WVBw>oha=Tdhd@Oo%Uzz3ia*v72$u z`&gEphLvS*Hd_6aBLEm#4aYi#yO&38H%*s(`&#gxUf4?u-_-dw-lRjDYUNw$W&3u; z6ffWLkmsfTOpRknL(BI-+WN1{>f|Ic$luLjNiz(&_N0E;%>j3MB!dKF!3T;UH7`Ru ziM5LU1cHZVx5H?(At)->evS$cdcWWo(xJ4QVVB4ez)8;*dDSHY7!>ZOE;7`%>N=Dk8e8M(KB^Pi|6CJ*?dL1udc zXrH#N6>8@gZYF48mX^amzDHp+`oe5_7*ZC+Q+QjXB=F zmzXrIKPrBsS6sj8ALHkylN{jvDP$E5I_bTg{{anxfIT6{Z&%5vBX7>p5q4;Z4ID@p z?rZ_ej>>wcnkabSgQpj`2?1iT#DWTNpe*4Z5MuUL_V8zX#qf=f^4Y&tGWXuZG)tkL zy1)csZN?S(GsvJiZIl(`G&Y{fKMDd-{)8)^B0aa{h`n?$=LAXm-2hUQ_5_7{E@ zPPt&U6VSh1EE2JvDlQcqT>2CkR2E`>`1V@7zv=0i0^n%>sSq5xUu)7oCi1Y|6nR6< zsZ4+L^ntwY=z}MC$3r@XCG>k9qC8^0;DWz-QD(Z4Uv71TFuP)S7HRC-7HkTj1O-;+ z_l%(|{<$Z{qHp*b^=> zg9A&Szj5hAa)E3P&fs+dUz>j;-bsdvJ}#!k3~f9Ko{Rdjn#*4hO=yM`l8GFFAUqTC z#7S&Sx%~-gu|dxl6PAMD?!LTc&^Q*6W~w7-_FCO@+At~zHX zNc7$J5T5&#CV1jR_vUCc$Z)hJRK`)^h~cn@x;_oaepwAcK`ROUUC32emOLgoxdji2 z^*OSj$T69Digv6on-&Po6IC?K_OJ=@@n60UJ+B?YvyK1gS@HUmDdoNS(l6MC_N)h6 zt;Nd_tA5Fzz&~kg`c^Lxr;%W6d^EgKp6DctJh~m^?P&qTWXy4fyq$P(G+2F-DQ}oH z(QzCj7H2egOFW&Dk--U_Nd4*Z8CFs|VguRa4{Qze@`wM?S%yCQn}Y65y{E(I0cEL> zK^%R$t^e?geW2As2=l+bgk72>Q1oATB=()m0Wcr>IU1$L#n1FpZM?9PvqT>jCGC+{ z=vvA)8u0C6x*60URkc~FI$QZx?Q+VkD%1kro8CU%D{Jn~O#CWkk9hIy)>!U02WOYd z=B&!mFu6n%lt8dzie0zE+Q+zDFn^4(nx&QYaOQiGRxe@n2BMJ&x3=h{V)cwO#Q7^V zRycU$F9t#lmh-V|#gha&OCkb?_-~*>C`h0`-=}MG!l7jTDA6&=q}EadKpQFa6%7VF zzVPU99+dQb)V7Pup_fsW0ltKA6B>ztyri~iDMV+u=M&Lyw>9Ky7EdInQOGTxZa;KX zSQ%Gn&Ft9ay}1QlqeBQ)vHk8g+b{_ODgLe56?|y7s-vXI?=wk=u;n)J1 zA8BCZ9{`9J9G29a3k6)y?f!=VayAAZ+7Lk<6eE@$SaHKRL@o{9MvSFLT$J^41IUF~ zrrQP(WI56H%nVMkDANakP!VMwD;yS_)P^Dy7Ow>m94aBCAo>Z}p9ewWH2@^Z7;tiC zwc4%|Kn!D%CzRYN4X>Fy3vWc^auHm+Xz6$ki{-%lq0E`|M}kuo)MB>--siG*c432@ zO?20CMiYdA^w>lUFC~rK~tg{WCFeD4V{$*EzyPQK#I|2vg*oZXRogh~eP95-VtwgLU+Gg7KgKfFdzFwDr633(GEn3i7(tpZr(-g# zKW{gW?tSvIh@BlNg%dp%e1IQ!cz(Ax(ESp6o#W09`j6cKd7N`hY6Xie^qj;?!~9?X zNJ0O@G-01i^PW%GKxgT2>AT1^B{g%ChysR`GiX;L7+dLOI1Uk%D9&OqWbD{+8Nw-L~M{3KS~isC|Q0A zBjr7Vx*Z+v#X>4Y5UuD6xONGv+|MqUk>Zk^b5loy0s!cD4Fr*hUBEM^s+VFcOkH3~ z(Nb}Z9i4i3LPjY(;Hpv&hb>EFyEvQ65@#e|mjrgQ+@)ziD*&NR0dPnklNviEek?FH(EDzUmWk-4tL4oOTge?VyR(p<_c zG{HjxFoBP~eDyIl(7zV^xO##&?-2S7Zz&-E+6qWMMfem4DW)+3AUVlB0P?f315(#+ zOWJjwaAmJJo4P=T2IKM~eF!m}YYhe@9o;W*z!*ekl^asBToAc+txFG=vlg;Wl-#m# zUoo8>8$vk=w8&tB8j--vyi+9`MK6kZ#wBBtqA)m5Q6P?`jD`d7#A3A&?3iH31Q5z>1 zzdi{N9s$)#+jc{WSQe@ixlP`TeCOBA!+Gi(2oGB20%o}=a&f064Rw_Ub_FMvbOWH6 zJFr_;K&pipa{VN0!Sw{Ge>5*xHF9^lm_W{!qAV$uncj7Ag)W`{d1PkYD0TuS6cvX& zw?r33-TX?NBB{}x>JeXSUC@8iH z^-!&p|FMOGR+Ye1C(wlb3^Ykap#aja%S>5|A7*N*FBGVUnHboOMdxuxE`?1B>yZyp zG|}nW^MjD_^Euu^kowPaSb>lqlyG|Xc>p9QD)J=n_^edEEA@vreuxSZ9V7_CDpq~p zb|MJWt5`+gM}E?V5lPX!30ZD{rZ^A<=`IRk_rle5vx@|0xCXH0WS@ ztwgcnqp<71%uX(t8dHItc%=(~&>rPdJOIzk3g{~h8e|aHv{`5X2wB5tY^Z@TB#I3P zJOQuCp~4ffxvp$;vm)ra+#41X_`Lu^1=^ccW6+f1<~kdaoXU;`0KsZ0nl1o{XFl2aG(iq6TbQ?`yi}heeFwM`qCFaTTk=W0>2v}y z07&bT>qP4_dhj>XUwsWM)tY6c~z(*p~I_@9mQW1dtwL5flIj0⪻ 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 i_#Pni?;qcV^M3&jQ^Tj{F9o&$0000zt~d={nt2 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 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/drawable-port-xxhdpi/screen.png b/demo/platforms/android/app/src/main/res/drawable-port-xxhdpi/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..9b6bfe4a89abaad079c0d631fcf4c399ebb3f49c GIT binary patch literal 211817 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%0DP!)lanttl>odnN(p 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 q~pAq&Ab0IFU> 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 LNkvXXu0mjfO0X$c literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/drawable-port-xxxhdpi/screen.png b/demo/platforms/android/app/src/main/res/drawable-port-xxxhdpi/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..ec655cde16183b834f1cb79bf7b5bdbb4669dbc8 GIT binary patch literal 299018 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

    Ja?fmqW?E1MLTD=hmi~T90eDNsX+;1) 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�Urfjt{DlsAKY@a1X5ybNUNT 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 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher.xml b/demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher.xml new file mode 100644 index 0000000..be31618 --- /dev/null +++ b/demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_background.png b/demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..021da864fe05ea698b9b08674f4990eeb6dac7bf GIT binary patch literal 14629 zcmeI3O^@3|7{{k7g597(RfIsCT(?L?kc^%8SWc?#X4|YpwyWJNWKYzwC%e`rwy~Wi zyW&tS9Ow;kLWs|RkT`Haf)jVn{RSWq+z_W_#&(h?*<`0hJx-*=k7xe>=dpkD5?}my zd+Xkn)LSWp(3QNWNQgkFA)eJ`P}zj+g(@-4g74%^N5 zHPh{949o41%&6~CHA4FBk!P4kB$PVjz;>$gUqAjVOSV;&KP)trrngQG?Z$~uc2Bli z=E;#+vEh(RprAl^fZiz z!(nEa%eejlRx6bXR(zSm}IkFqYW9`wlt$$?sQ6OH(eq{HJz_i3h9oa8fnWiJC;TArJ_=fAU2!OelB(0 zH3w|HB&n@uObzVkQs4J&y4M*!pkY`4tR)ttIajJ-2XuxWgPBX`Z?v23l8?s@Cfx#!qnEt^!EYX&a1 z`^Fo?E`3lSwPK-=E9iK>dET*Yk4Udwx9JKF*t{&!N|9&2W1(?>nGtj(#(1c}UwSl> zaVvdbpwB9J@~|>H$dje;oP+5dJ?F$QohSlnaASdsiwFt?E=YqL3tU`8P#|zY8r)dm z;v#|qfeX^$#sU`?5flhqkOnsvxVVU*K;VKjxUs;+MFa%`7o@?B1uiZkC=j?H4Q?!O zaS=g*zy)b=V}Xl{2nqx)NP`;-TwFv@AaFq%+*sh^B7y>e3)0}m0v8t%6bM|91~(SC zxQL)Y;DR)`vB1Se1O);Yq`{2^E-oS{5V#->ZY*$d5kY~#1!-_&fs2a>3Ir}lgBuH6 zTtrYHa6uZ}Sm5F!f&zgH(%{Ay;z~_l|0524=Wj?~?tArvBlc>bWHxr12%Wr*(4$Wg z`uB_;e?w@XAoTkKgtV^^dc*zlqhIb)?QpZc)*3ze|U&mX_u ze)7r>jjJ~sUr1}GFRb2)57%z4u(NBdIXTet>xt;vXOWinULA|pPG?j6)TTAh&MqT! VnCc9zy+`yEZEkGUzrFL|^gkQX#C!k% literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_foreground.png b/demo/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..53842612476cfe0d35e54ca3db1238f50df14293 GIT binary patch literal 3345 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 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/demo/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..53842612476cfe0d35e54ca3db1238f50df14293 GIT binary patch literal 3345 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 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher.xml b/demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher.xml new file mode 100644 index 0000000..be31618 --- /dev/null +++ b/demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_background.png b/demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..da47a979edb510836baaa5cea747732c1a0643c9 GIT binary patch literal 14566 zcmeI3PiW*+9LJw7ENi8wJt%?@vMa3U%u6QoH)Lk1GhJKQ)Y6XFp4>EfZL^(8vPq^h zEr_D0y@-g1MLl@)CV2KB2wr6oPu@H#f=BV7-S?6-^P7KtyRyd@n8|P6`+k4FrD>sy^$SvmTvDIdmh zpkq874vRyr=!XYbZ8REKDdAG7Koy1P#EY#_!Hce?NzU_hNMwg@5WBu7vAouvKZu*M z%nId4c3=GQm?Xfsfg1WaKWev7XeHOoeoW40^A6J0w=@hh5+AwbEI(d5%zOx7n#B9VT-D2!*Vw#NK$28BmBaKMcmHHEN4cw3bWNiZ8|DDY z=^S(gIaX{vRu-rQc^q5c_rtywx7@yUKyct471C0YX5e|vz?IB3 zecg*<%d^RPr$rlzuIuR9o~Bk+QZ6(!$1arXWvx)Rsy6*us@aO&s43NY0?{;~eI|9s zw+C#!WT~AeObzTasox4+y4P7fpkY`4q$TF0nJKmAMs$XrfSF6@Z?cenKi;D;f1TIK}8w*@q zL{K1bK^ojx;Nl{J0)Y$C;Kl+M7ZDT)T#yDg7Pz>Gpg`b)G`O+A#YF@K0vDvgjRh_) zA}A2JAPsITaB&eqfxrc6aASdsiwFt?E=YqL3tU`8P#|zY8r)dm;v#|qfeX^$#sU`? z5flhqkOnsvxVVU*K;VKjxbcO!md3CD5s$v}H>5B3eRlWdFX)SblD)QNB6Ru+LLYpD z&_8GN{5wJe1))FgAf(fm4PWp-efP&(R9j!~taL}e{`u3l%LrY$^wodw->bdXzIyri p=i}o2PiBsXUq5^np|i6~=$F5L`1oH_zfE(X_0^5eH*ehe@DXQwx$*!2 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_foreground.png b/demo/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..203223aff0e2e36b20fa06ee27a1e82db7908b8f GIT binary patch literal 1754 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 LNkvXXu0mjfLN8_f literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher.xml b/demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher.xml new file mode 100644 index 0000000..be31618 --- /dev/null +++ b/demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_background.png b/demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..74e56e5b0afe0bbcf93b3423e585e114ed2bd965 GIT binary patch literal 14582 zcmeI3O>E;t6vt;-fp&`u2P8n8j8{mDSZC~fw6W!6Rgx~LgiF;1wLP(pJ#DQfwy~W} zT7k5DNQfhQLWna$S_yFni4$k;TsiS25ZX&mWyW@smo(|@uJ$;V(!9?6|L=`|^ATVC z`NsNNiwmzTAcPjzTFp)Rt+LORXXxMUr%pbjUsuD{Zj8{gFR;%g^wrldBUHWawRe&o z>utjcdIj4JI;1e{g;b4@d2<-r&LK&p4%zqon*7fXKgp8k*5vJqrCMQw9C)qch-@9N zx1HldM|b6$^#yZi&;&h_*wV1q^4TeA8Wdh(G}pnTOM1jlV(Qao`oe=C3F3obPRUXC z+`@EDENfJI=6HL(nWf`o^$talBc17t+eab6n+Tb8Z#+2@nOM)< zv6G=U$HsaxTe=jo88Yd;8jXn9Nf5Pzpj*#Y*~S?{snKAoYFWB&*^cKkuCJST+BBZ= zaX!+t6H=$%s-jkuVyUfFjq;LFuDrq4r3#W{%BdVy;Cg#UlR3(5tzwi)hBlD{D5rDK z9pu`H{ZLt;7UXdqV=st$c2f6x_CCR(zi;AkBT$akmC*>gK}3f|>LnA;Y6h-!tr=^6 zoY=lY)|z$NQ1Cq0pqsE-A{|#LmDFXW+|hK!wsl=uTCSGM9j90%S_aXwp#5CxX5jSM ze#uk2kC+JpwD2uHW=D+am8zww`r#z4TNH z?Iq0r4-| zP+6)}H9tul>?H#`A}jlJO+4Ig&+<+hrwf>v{Q`8o$*IU%Cub<#_;k&lpHY(?YzAEo zbYylq3z~_~wT&xh`W-f_-F~WHE~@mx8vC1DVfVCk_hKvTp0!iixzQ3TT9#sU`?5flhqkOnsvxVVU*K;VKjxUs;+ zMFa%`7o@?B1uiZkC=j?H4Q?!OaS=g*zy)b=V}Xl{2nqx)NP`;-TwFv@AaFq%+*sh^ zB7y>e3)0}m0v8t%6bM|91~(SCxQL)Y;DR)`vB1Se1O);Yq`{2^E-oS{5V#->ZY*$d z5kY~#1!-_&fs2a>3Ir}lgBuH6TtrYHa6uZ}Sm5F!f&zgH(%{Ad7Z(u}2wac`Hx{_K zh@e2=f;70Xz{N!b1p*hO!HqA(wJ?7DkNEVRzX5%@@BSCoF?}&ma$1`fLdUNmboUd4 zPEP6f?+Eqj8;5_~M#%UQp_hVt@BMs>YFlf~mGI^Sd{1fBZk$1+g;# literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_foreground.png b/demo/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca658e720eff617817afee903d6de5cb831b2f3 GIT binary patch literal 2514 zcmV;@2`%=CP)Nf0hzA6bP$UpYzT#PRHUc4oGBH#0jkJ>AvaRdw$@hllF!nca9k zZ1a{m((SrkRo(ae&pG#;bN_HAXL2TIawb2?Vvc+0MUVcW0c-8E;{8Vzwoo;y%HhFu z4iDb1MS~!?;JyD|Rh5^)9I4Es7cag$0EZU)F%i|DFN@-esv=XxL{L@ys0dOc zxm-gzY8)-c0x;%n1|X`R1@nn8j4(k!5CjBaaA+P9g<(Ap0>a7MOx_D8BM1X(eEJFC zv&U+Bl#a(eJR*cXAgZsa>VileA~3P0D57!@G9t5Zs^1kZ@0{ za`kmOb8~p_+1lFXSAY2z_}OQk=I)&>g1}7I`!ty653lk6<$?DBmmj|QwU_^i*WX;F z)5sVW1vj_0`P1M3G{6HEzxSgp{^ZNgleOCj(7SVw?_PVIm%s5<8jX~yvKRxZdKvT| zfP1G=>YV_17I^gVjaR>Om94!VPd@$_);XG^gmxpvn1I#QoAi47hzJV{^Mql@hn~0u zB7{LeIoIMp*Sq}f3*Y3of9u!jcDsaO0Pv`)KC8+foJOhBhR|;SUw`=dm;UN2+`E6D zRuWNJhqVq7VOSIl#|73othH3m5t)EuIAS;&;YIMyabstnkAC0@{^je>v%9-PRarQw z6`wT5d;{R(#iK*$*fctk25%EOSFV1K?)H6_IvrHOm^$Z+2w9r4)R|*(uFXX42DCz3UL%N)iH@8&Nov2@~ba08jo3ATp*5P zk|ZHblc%C6dXA%;0pNr^kPil*SNO~fkO=b&3;giSn^^BzdE`9STAEo}=Xq6}a|EWg zi**+9f^&{2j@Z0?hc|BCB93EJK~#AB+!Cul+Tx{`{+{3colmm0wM`g?)7tSF=WGuA z@w);rE{Zkh+)!0p#(?vJF_2{`%|?U37_u~lMp`?)EReX33Bzf{Mx-uSt#-!sAH2!- z?K>v1^ zT)TyHmR`RkiK5zC*0Q6}lALH_LGK0UJgs(<8*km>```Z|`s9<0`}+jFJv2!fjK<8j zGTwh_g`%hk!;ooP1^S9H!MBgo@z^~eB0Vr0(lvTxGXNP{2@bs^J z3YTW|@9!`ej>+>O`7o!bEZ6`0f4Lh){L$q<=flr@jBc+F;<47!Zlo+O&Qla6GRaWR zS)6qn*4o~?24IX)W6U}{(1nsU8yKKJ$Qh5u?CcMyvNpf6GLL3W?(g-;^PK%b&bTPK z-M!1kMwjILBmCl{Z7yAUoSh`ah)`NfJ8RHxXB0(ID{mdnd7O9a&e>zP@v$LPH($D{ zC^~7{y!T|;GNFOJ{XU^8z0sJ4!dzsi2j616@_! z_9EvEigz9mTFs2TUY}N+Pz`gs-A(@EzGruHgJLv-I3_fPUVlJQRJ7(=$j&x@_r@LG zxOtNcWr4I(#0wYBFH;sJ&Uu2sOjGigk!bDty2`<$DfqY}uXfOE@>42L5` zJfdcLQtJZU{f(;L5bse8 z-V38~!P3$K}P*RaF=R-piWv2S>v}Kj+-?A}i;XS>M{Bl_vG3Gl$8MTH~Y0l4;ZS z{zuL+Ki_6=Z-Dm#)GPNFPwhVA=1Y;JaGHnUX`nKwajVXCyw7>dKJTnKj6=6z>nQ z8R)9PtWH_4vLzr)wQ`K_(n-8&y&d2Ho{vMeWT zoXqHz*>~~v)q57^+b^u%y!G+FdHJ8Wc6NI-(gf$+tbnQLny8Lzn&x-}CvIW@V**rl z(>pgwbDpv&NgF9?5?@b}_+A)AbtRpg$_`VGhj~&1?C$Mz<-e}qTkf>4HyX)>vaDtt z>f|)Gc|hg82M@t^UK7!mM5F`?FVawO?N;+j z7=~1py(X&vXjJdaHZ9CThZ!SnE{==xnsuJ}cI%2Ud<7)}3Tgr&1ztNXfHOIhGdYtp c`N@|514Xr)`8~{Q{{R3007*qoM6N<$g2z$aLjV8( literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/demo/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a18167be1a88d3e724a28d4fe6299fc7ed48c71d GIT binary patch literal 2368 zcmaJ?c{tQtA0NvQy=bINa&J+Vn1~vNER7j!h_T;fiKHk?m>ELDSYk$8+f>%E@4^UW zj~RusB$JFRV{Z`QM&|zB_kEuG$NR^7p68tNJ?DHspY#2GzR!8iV=GHz5n(A|5C|k< zYJ$c9^M!x+LwvyK_C<&W0`Y;Y%xw*g{mp@$|I-8n1pYbY<>meM?b|=g{~F)Ff8XBT z2JGbIWHOoD-QB&pxj8>Szqq)_;c))Pxvi~jVq&7Mu5MvrVQy}YPN(nh@7LDW0(MnZ z6@`)s_{YY^!Zo#IWY2QBT!8%G;Gm(QVQFcpy1E)bB_$>G_V)hz^$Wlb3=CkgSb#Gx zFR!Jg1-LXPCkHrMSy=&i*48*BB_)92>FH@@g()s6wsUY~u~-1r)YKF}%Vx9t`udnm zCg4V;QcFuqfgJ{ek&==^B9XGPvI2r}06Zcp7KaU?P$-R!jV>PENF-80K|w@B1P+Jq z?CbzR0)zk%xE%;j8DUsoU;lk$qq4G69*zPc0Z>4`fJCoey#myG`?e1VnEsy>-oJm} z)ZEEaD z368YXGqWEV8KKc=K$)21<5BU+L19FERKjH=jHEpL)2A`k;rR zl!{JJM4Tb!21G{9*~>p5H2OY{;C?4iNnQWlyLU+$*}fr>s=8)3eS--JsWmU^%d2Wr zpXG-{#@o1fo7lONQlA9|g+Wf9Q;=1yu5T_auWD#)rsNjAXlP8&Dkv|6RW$jSOLu`lV4^7+X=_3+O2gWw-j;|Xo1g>= zE5{NJ`>#3CUn~dMKA9aKZ}3Y zM*D4YbHQKdm?zvk-4ob2_gDB!5@0zEA-r%{XD7 zfV%7I)mA<6PaLO01W*fI{FCCQnHJ*8X!saQuAkn~L8*>vj56ps@vmz!c1q`I5k=h; z2Ib+xp+j?p6|WoXjbuBTgw#-YJB_v>&)V`B>Cp;FV^I(FPI}WM+xYHt=j?1t#ZgwZ zh7?;MB3m@kuvJQn)SAO<5qcJJ;2U2ckj9vrcd??`|;?CYiGkPN)6mE z$}qlZ!$j|mtzWRe$>P1KIWzIu83#6fX+Yqwki8cF-oG5ne?rkQYqu2qY`IzwlXR-z z$!c6g&OETWm9P6HaY@adE`lWLBwFr3AiL5~=!Ye8U}?v~gb(q@)2GMeR|f?Y?! zG#dO9cmJ=u4|vS;^D5Zend1t4KdZJ;}Bt+6|2%$H4no&z1826Z(%YT*kcxDX~B#Lm80uv zzbay5(q*ktsOWg6ix45c}F zJs4kqW)Y$G!$>*PRS0)~Mr!KtCCT-2B_>mw55{|#nv%iUEFK)C@a?*9o9C{h?d-zC zi!14apB)k={$Ir;gYit`y7&^ zZZn$K<71cSXZA31Sgde?!Zh`&$EQD0xK?(0`$id>U#cABcUD?gO%p;-Oz=wWbIH-G zAjYlLn0@?XshgnR&&s{})zHvKk%*MHSu7O6g|nJjJ0Wo4;oB-m1lno>%Gt>sQ6? zPcBY%Hf)0BT#cX#xOt0A$5hOx2cg<$KYHz}pa zh7Fk!1+>vUvBS^RW(k)so`Ly>+0GG{&VaRrNRMSkP^f|e1(I1%khkL3**nNWNc3qi zc-Z^kV3tm5*C!u`qN!B1w5!{JZ<(W)0Qg);2Qv$8d{>O I4cwys27c0^*Z=?k literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher.xml b/demo/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher.xml new file mode 100644 index 0000000..be31618 --- /dev/null +++ b/demo/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/demo/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher_background.png b/demo/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..d0cb62dde334770546850d4206949330779a44d9 GIT binary patch literal 688 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 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/demo/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9e3eec364b5bcfd360da42c262f410a1a75e3efb GIT binary patch literal 4085 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 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher.xml b/demo/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher.xml new file mode 100644 index 0000000..be31618 --- /dev/null +++ b/demo/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/demo/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher_background.png b/demo/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..ec38d403292098a43a88ec4ae3f1da2a78cb61ad GIT binary patch literal 1051 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 P%sBw0rmKopwvPHg%fcQz literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/demo/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a569289659e332826e030396820e94ffcd1b1dd1 GIT binary patch literal 6421 zcmV+w8S3VVP)gxOZ z`|0WF=;-L@=jZ0;=H=z(W+}hgO($dn?)6>z>($LV* z&(F`!&d#{JzkP;|f{T)XiIIPYk9>rTdV-61fr)m1h;)92aeISkb9|Sap+HSpQd?t9 zRbNU~VMbJ7MN(ZvP+K)aP*Y!NjFg;ne1&g$f^B$#Yj%HTaeJ+;tr;*uK1)|LL{l)08Vr;ImwbHb@m7@Ts zx{&t#CpAN^uC8LAt^fZ1f9CI@`2T|X|06Lz3ne(dzP`f3!Xz_5NtmdAgowPnyikIX zy1Keh(A*y^I8SbVK)uX4#L~F9xV^o-xw*MSU~fNwl0aN(7S!Rkwzk{b+q1K?v9YnR zu&}hWw1$R;000HAudl1CtEi}`tgNh#j*g6sjGUaDqN1Xjnwp!No1dSbl9G~%iHU@S zg_M+(r>CcokdT*`mx6+Vetv#{fPs8`e0h0!c6N58q@;6mb8&HTZ*OmHZEb35YG-F> zVPRohTwG*iWK>jCQBhG(Pfza|I}ZQ=72-)mK~#7F?3M+VEjtKBq1@fuZT?gIROrg* z$#v@aZp+ep)`px803a9;5Mlcwt~1z z!-$CEBuUaV&9W?K3PZV4ZPY0s?DHOKI0(n!5a!eALy5NSx~}i~ff&bevWyX zt)fJqj#$xXzJ{@P5%dksYaW>>m5F$f#L%RpsdV&TjEn2K(vh9oAxFa?97TA3!JbJo z+dzjln-@I62!9*cXxLWH-;_5aN-c0;PB#}AlL2hep5TlhW$DR zDhd4hIn~`Y-I<=5otvLoSX^9MUS3gr80@bRYDb&9zGZc7ePeS|sZy)g*48xI@mBN^ zoBrN5S=ml$nV|lPL4I)oC_06HYkPZVyPE*9?uJjhdj_M)Y_V8vcDsH5V3hzBCS*NV zwtYyjNLD#LKTG`qlVazvrM(&hS4%6`Plqo_03J} z=2mY~8w_wr1E8=)Io2ZCk9wQR=MZ-ni6-ygfpq%qhn>gA)YH@ROHiwQb-ryXl}a^j zB3P90dBgrR0|F9M$(11(@d1M}0p<{$eBBcHLIONId;nYONvk|I6arb^&YI9gqDMH> z%5h2y1|m^QiUz@>o=!Pej$q{O(#Z@15|c;@1c%;^*I3PbX0OqB zib0d?kUh;6r8hMUit_&q1c#orP89{x0LW-G8SSc1P2dqd!kJd0L*O4sXBf~tfY3yL zb_hVI83Q6j4u86t?vN}YyW85iQXPUpu1qo+hyrMa0KuZaa_Ck0KKF2lSfo5_Vnw3~ zi8HOFV8n=}c~>R_p!b@sDDprUdtu4|M7tUmQ6Qh=AlKR|y&yX)i*$&SiW-E9NqR`9 z*XyW3Z0MhYPNxLOM1ah;@TVr}o{canA{g0&twAkhr}Z>9Z@+}HBh-< zUbM$T%|N7a5F)eBm|bnbP0N_j+6_enV+GgW*xXd8=EkuvOkYKLi1OdL+-IV6IvwHp zEyM8|^~mAC2bui6t-HHHNL+nK24uwqqpY<{s*Z18JPd;g7&&|~9Pqd@_f7|9Ovpta zdGak5i_bqB`Zh*{b$eWRjxT#FxFW{B0?$vO+J?S=_T&V876k-+LXk+sg^~sW`qNYP za99&Q@K}A>TYxC;^N}+YOIngDj4P1JK+!e>G+v+QSp=oB?1Ta1uO{g|8r^<+-*Ep96i#X!igzl zrZ5;~K^TSR(=d}sl3C?etTnR~GgHXan7K8C@%!|>ofU+$zCrUnzj*_1v^&F2ofV!o zn=NLsUN4o)K}IUqQ}Ie|Fz67UG(dUHomCBS+&6t5QN~SBK%i0}lfM)c7W@T8h|5km zXyd}PFGnmqV=gK#DJ|2R;d;qtQ%V>fwI6yZG zDk>`qV)r17%YJ$<5nMcb#!^*XU1Ju@cK|^bdWSuBj3>Ex=R#|BTYE<*3R$~|P`5UX3>Mk| zaT)75TvpSb%zFYYee$- z6hb78x@&1nI!YQ_>K|-(``_GL;sHFpb^EbJB!jfC;9)Pf{o$j7M=%(4!HqRLTcf`t z5t|=B>1nB~xgdpz`hc#!Oa1>yM<1ed>((tp5Vnh~5^{I*w12=;_wN3dkV7@;hOOm1FY-jzftEIuGq&jlfi9)$ptB0Jqh2N+Xr z1tE3`an^b{(g7V1iaUIiE?zu}9c6@$J6sT+-UO*&LUy69alq6V7D7sg*o=*-#x`+S zx6-RH93~w=y*YJ%__1&R>ot>KB?$+7 z3_N56Xg?^WFSUjl~cpRR2i9N zW$^!D6zWqn1>5ZDfR9QwrNrKqT`SGm=DCHoK_9hR?XC9D%)>tCTrP}J?(~D+!S)B! zB8`TY(P%V0UP70g2*EnkQr#*ZAEp@}9*Ib`A;bol3Ej?N*C^t#+G7i_mC*rw{vG%4%clf`l#(X zKHd@e&Wf4;Z+%bw|K@poehj+s`2v0-ZW9y;h>PlaYa5EJOhSDl!Ug3R!03!FE-v}7 zZKY9lz1k%mz+0D(GNfXzRNZfXQnkz%#0&WRcq9@kh$JMl6hDP^QN|?H_g6t&oIM=W znVMSgSjlC>T6;Lm&Arc6REYu`7^LK99Zx%+J%@HD5_%rET{x9Q@9ii=m36*&QB;Qi zMWb;=)GeFJsWSuM*2?yA9nLDJjyHBwJ}MDU17N}MW0oggR4xDgR007S4M|rQY^4-6 zPEj&*QBj#}9REK)JU6a57dPh6L7yenD%J_%_NsQK1NiwU^Z3zd0|g_9k9ofQ{O{0z zVZ(!5>>GDL$-25^7!WcytT=2VrGx1pFO|P?*gmd<^L~p%2YKZia_$sg5Q8>2Mt}c1 zcBR-4(&)!2SGp)WbHj~IHhVf4&(hNCpzR#CcZ@jiy?mVU`1$$!1|Aba4GYjFfnzj zbBcc33>hr2Sy(VGyz$1GW`BdW!Pkee0UiHq{@Nxg0dx`*oi-9X*1m5+&5fjt5gqg~ z8jUYsdSXJXr#)w#s}9nAGAZE`8@(M;ph>li! z?QJ=!V!MsWfwk*fSgn7JdO5lT5Sx^glsASyR+iB3KCjS+(b4|nnsJe92jB2$q!A2lm)xa>(_5yf4s(7$#abGm!}qez=+&61!f%N zM@2mfIuYCvN|A`#DNiLrNY}$b|rg2A< z2-EWz=y-??@b>k_?+JZ(-e3Da=jN4^%KAm|y5du@?sL_P5)YCAtoT z%9^<9Ou~*kBFXvJ#DJ3Z)zqiocpOG@z>)mOkqF%+gko<8nRAC}Pr!lto0Z)G%@NkWF$MHCw&b_@A z0{XB+L-?tAl}5#3VnqFm^%q|(BI4ZvP)OAMu)&BvdSV=c^wzHIfP`UyMN6^3LKLD` zRNY~ct|tNX-c8~C?pA@jo=jQ~y0UX@zn5h>9Ek=T+~pb`N8O-z`(pSZ7WXHTaUY{; zR|^U{#^|5z1N8n~s>aU_yRvigS0d?8q*95rgW4SGEtcYr&zZT;W^%cF>c*?!5Km|? zeXzcMPe_qu7#dz6BJB<- zOdGh*%jp{p^|_GoClbj*$?q0=$6(tW@IZGL`=FTb_B5`h2*glFsIlwwgIpkAp4;a;UPx=)u~ zJHjR9O7&*z`6=uM4Hso@gVGcX>{Xvy%|@*x2b>b0Y3J?C^u!3I2-4K{_%1SNWPD1e zGpWZxW$Ijo3NQ#jslT}7s4$(0%u3UEdTupq<@>-MfYeAkC2>^+wM<%9pb4zQRx4-S42=+kmBAZF%O64*EJwLs?yuSYL zyLyFQUS7ZhplZ34_sgkpB;>nt99ljZPgfW9sF`Y!hQY}9*!=RQ>1^xJ;kf}&G%ovd z#d5VyM9^b@Jwq)P>S`&UOWXrU60e0H53HYzYl~E~QMJ!BIkd1&K>GO=0Bs*TuJ)bj zHc+Wt15vXDruWnW4&#AANdgLb?ZS^_(b8N82pTvTiKyN5`uSDEEr2c+pwvC~Du}8; z0uw}kw#D9%n(PU0NR39FcyfL@lO-URjR9@45KWA=9U2-m7!{M$OfLfHw;ggQ7zt-H zG7$l(TCLUUwR#<7q&ht*!e{ZdTD4j(mx}oU42oxC6;?6^WCD<$fYulK0QFXkfF=lt z972Y?QY98mF``@{4<=B(s}fWMPR^fzK@S({kocGIBLS@dh_xAjph0b~Fm(eRIfQF* zFAa+rk>3xdLVlnMgK6wdL@~bN9Yi zN?(Md*?0!W{6r$*2iO4NyJY!3lgd8CBI!NR?s1&#S`lhiGW5MxhiGxMGsL>g_{q9^ z>~Q^c7m(7C7?3a#X%G%j<{sY_Pi3>w@I@sU68GJL?P&Wqvtezi9clm#ZhJ06X0U5fC(BFaiiq z)b?YO)0ot&%%Yv6A1~SR2!y0yx>AWmA{R`tzM?Njph`L&l$_o>JL5Ur`ps-arZE`# zF4I03r*yNh$as53M8efyH$Ktp#44Ad;2=p5F7*UNao_ItFrIDeCljj}R>y}2Bb`1l z8Rr&Zkr_mXC%B2p+hF8U zjokr@mez=9d-w1d7tGGpa}l2K-2aKbdgbxp@N(&}og5$TSbhT!R_mN@1{K4$?+euD zG9t5x5iNtrgnJ=w?HsVj0nnLWt8BI(PXKecyKS+anT>``BwCM1s}+N^orhG5re+w? zDsE7`{e)}IE!*34HKTSN?C$OW#(MV2Y%*@1t{^~+2L^SH`C3nm3(O*gXmMo?NTyq} za)rKj{f1}!$S2UiozvCjMHV0`*t+Huqq;n(^NC20M~N-3o^G-m&wvG)6@9`}?>oHk zy(avS0W@nX3`gJQ;VyM(a|jlxMAI;74iE78e=BE|5J3zCQ5bi_<^JcSx-#APW+M;Q z?L~ef73|8!h704}%bSA4z1ZyNK9jUpB@K2ILdZ~>M(9VqC@pZ>Epbd9F7s&by1$3a zzOJG(bm%|yaXlztC|w+h9f96B`~c7J54bA@pX)kSPJQaYM|G~<;7wj%Ek>%r z*2{GGBfL=>r~ufMT0JCaj*+mIfF;{0R{u@Ke_Zs6m7 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher.xml b/demo/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher.xml new file mode 100644 index 0000000..be31618 --- /dev/null +++ b/demo/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/demo/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher_background.png b/demo/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..d652c08407faaddae6a079b8a11128ac58a25a80 GIT binary patch literal 1390 zcmeAS@N?(olHy`uVBq!ia0y~yVB7%094tVQB=;W+ffP%+qpu?a!^VE@KZ&eBzCyA` zkS_y6l^O#>Lkk1LFQ8Dv3kHT#0|tgy2@DKYGZ+}e3+C(!v;j&mC3(BMFfgp@RW<_h zI14-?iy0WWg+Q3`(%rg0Ktc8rPhVH|M{KOZ98BVckGBCWJnZS>7*cWT?PW(!1_g!# z4qF%3_T+Ubo``L#HTy2`@9U6!+$ UnmDS~082OqPgg&ebxsLQ0P%u%@|DV zde+`Iulu@pgpz_3DiR?Q002Ohkrw{}003+L8whZam46B>bdU+gTtr?30H}>ael>)J z{Qhh#{X-rA@S*_#0)hd6XUI~(ApqdY0stHv006ux005ptMyoPE03j~#8ds>^M4ZfUy=YnEbkeRD&kx0 zOy~IK$M?#+6MUE8Ve!6erohxYDS$<1{j1%_H{okEpw8P3plkCyrQoF&Z?`w_zJqj^ z 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 E53tcm6951J literal 0 HcmV?d00001 diff --git a/demo/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/demo/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3c322f2ea76baa18ada8a8bffceecec84fd35702 GIT binary patch literal 7934 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 literal 0 HcmV?d00001 diff --git a/demo/platforms/android/res/values/strings.xml b/demo/platforms/android/app/src/main/res/values/strings.xml similarity index 100% rename from demo/platforms/android/res/values/strings.xml rename to demo/platforms/android/app/src/main/res/values/strings.xml diff --git a/demo/platforms/android/res/xml/config.xml b/demo/platforms/android/app/src/main/res/xml/config.xml similarity index 71% rename from demo/platforms/android/res/xml/config.xml rename to demo/platforms/android/app/src/main/res/xml/config.xml index eccce5e..f662cf9 100644 --- a/demo/platforms/android/res/xml/config.xml +++ b/demo/platforms/android/app/src/main/res/xml/config.xml @@ -1,12 +1,8 @@ - + - - - - DemoApp A sample Apache Cordova application that responds to the deviceready event. diff --git a/demo/platforms/android/assets/www/cordova_plugins.js b/demo/platforms/android/assets/www/cordova_plugins.js deleted file mode 100644 index 4d41278..0000000 --- a/demo/platforms/android/assets/www/cordova_plugins.js +++ /dev/null @@ -1,20 +0,0 @@ -cordova.define('cordova/plugin_list', function(require, exports, module) { -module.exports = [ - { - "id": "cordova-plugin-jumio-mobilesdk.JumioMobileSDK", - "file": "plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js", - "pluginId": "cordova-plugin-jumio-mobilesdk", - "clobbers": [ - "Jumio" - ] - } -]; -module.exports.metadata = -// TOP OF METADATA -{ - "cordova-plugin-whitelist": "1.3.2", - "cordova-plugin-cocoapod-support": "1.3.0", - "cordova-plugin-jumio-mobilesdk": "3.0.0" -}; -// BOTTOM OF METADATA -}); \ No newline at end of file diff --git a/demo/platforms/android/assets/www/plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js b/demo/platforms/android/assets/www/plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js deleted file mode 100644 index b1f68c5..0000000 --- a/demo/platforms/android/assets/www/plugins/cordova-plugin-jumio-mobilesdk/www/JumioMobileSDK.js +++ /dev/null @@ -1,52 +0,0 @@ -cordova.define("cordova-plugin-jumio-mobilesdk.JumioMobileSDK", function(require, exports, module) { -var exec = require('cordova/exec'); - -exports.initNetverify = function(token, secret, datacenter, options, customization) { - exec(function(success) { console.log("Netverify::init Success: " + success) }, - function(error) { console.log("Netverify::init Error: " + error) }, - "JumioMobileSDK", - "initNetverify", - [token, secret, datacenter, options, customization]); -}; - -exports.startNetverify = function(success, error) { - exec(success, error, "JumioMobileSDK", "startNetverify", []); -}; - -exports.initAuthentication = function(token, secret, datacenter, options) { - exec(function(success) { console.log("Authentication::init Success: " + success) }, - function(error) { console.log("Authentication::init Error: " + error) }, - "JumioMobileSDK", - "initAuthentication", - [token, secret, datacenter, options]); -}; - - -exports.startAuthentication = function(success, error) { - exec(success, error, "JumioMobileSDK", "startAuthentication", []); -}; - -exports.initBAM = function(token, secret, datacenter, options, customization) { - exec(function(success) { console.log("BAM::init Success: " + success) }, - function(error) { console.log("BAM::init Error: " + error) }, - "JumioMobileSDK", - "initBAM", - [token, secret, datacenter, options, customization]); -}; - -exports.startBAM = function(success, error) { - exec(success, error, "JumioMobileSDK", "startBAM", []); -}; - -exports.initDocumentVerification = function(token, secret, datacenter, options, customization) { - exec(function(success) { console.log("DocumentVerification::init Success: " + success) }, - function(error) { console.log("DocumentVerification::init Error: " + error) }, - "JumioMobileSDK", - "initDocumentVerification", - [token, secret, datacenter, options, customization]); -}; - -exports.startDocumentVerification = function(success, error) { - exec(success, error, "JumioMobileSDK", "startDocumentVerification", []); -}; -}); diff --git a/demo/platforms/android/build.gradle b/demo/platforms/android/build.gradle index 8278ebf..30c1d2e 100644 --- a/demo/platforms/android/build.gradle +++ b/demo/platforms/android/build.gradle @@ -1,353 +1,55 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. +/* Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. */ -apply plugin: 'com.android.application' +// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { - google() + google() jcenter() - maven { - url "https://maven.google.com" - } - } + maven { url 'http://mobile-sdk.jumio.com' } + } - // Switch the Android Gradle plugin version requirement depending on the - // installed version of Gradle. This dependency is documented at - // http://tools.android.com/tech-docs/new-build-system/version-compatibility - // and https://issues.apache.org/jira/browse/CB-8143 dependencies { - classpath 'com.android.tools.build:gradle:3.4.0' + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + + classpath 'com.android.tools.build:gradle:3.5.0' } } -// Allow plugins to declare Maven dependencies via build-extras.gradle. allprojects { repositories { + google() jcenter() - maven { - url "https://maven.google.com" - } + maven { url 'http://mobile-sdk.jumio.com' } } -} -// Configuration properties. Set these via environment variables, build-extras.gradle, or gradle.properties. -// Refer to: http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html -ext { - apply from: 'CordovaLib/cordova.gradle' - // The value for android.compileSdkVersion. - if (!project.hasProperty('cdvCompileSdkVersion')) { - cdvCompileSdkVersion = null; - } - // The value for android.buildToolsVersion. - if (!project.hasProperty('cdvBuildToolsVersion')) { - cdvBuildToolsVersion = null; - } - // Sets the versionCode to the given value. - if (!project.hasProperty('cdvVersionCode')) { - cdvVersionCode = null - } - // Sets the minSdkVersion to the given value. - if (!project.hasProperty('cdvMinSdkVersion')) { - cdvMinSdkVersion = null - } - // Whether to build architecture-specific APKs. - if (!project.hasProperty('cdvBuildMultipleApks')) { - cdvBuildMultipleApks = null - } - // .properties files to use for release signing. - if (!project.hasProperty('cdvReleaseSigningPropertiesFile')) { - cdvReleaseSigningPropertiesFile = null - } - // .properties files to use for debug signing. - if (!project.hasProperty('cdvDebugSigningPropertiesFile')) { - cdvDebugSigningPropertiesFile = null - } - // Set by build.js script. - if (!project.hasProperty('cdvBuildArch')) { - cdvBuildArch = null + //This replaces project.properties w.r.t. build settings + project.ext { + SDK_VERSION = "3.3.1" + defaultBuildToolsVersion="29.0.0" //String + defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4 + defaultTargetSdkVersion=29 //Integer - We ALWAYS target the latest by default + defaultCompileSdkVersion=29 //Integer - We ALWAYS compile with the latest by default } - - // Plugin gradle extensions can append to this to have code run at the end. - cdvPluginPostBuildExtras = [] -} - -repositories { - google() - jcenter() - maven { url 'https://mobile-sdk.jumio.com' } } -ext { - SDK_VERSION = "3.1.0" +task clean(type: Delete) { + delete rootProject.buildDir } - -dependencies { - implementation "com.jumio.android:core:${SDK_VERSION}@aar" - implementation "com.jumio.android:bam:${SDK_VERSION}@aar" - implementation "com.jumio.android:auth:${SDK_VERSION}@aar" - implementation "com.jumio.android:nv:${SDK_VERSION}@aar" - implementation "com.jumio.android:nv-mrz:${SDK_VERSION}@aar" - implementation "com.jumio.android:nv-nfc:${SDK_VERSION}@aar" - implementation "com.jumio.android:nv-ocr:${SDK_VERSION}@aar" - implementation "com.jumio.android:nv-barcode:${SDK_VERSION}@aar" - implementation "com.jumio.android:nv-barcode-vision:${SDK_VERSION}@aar" - implementation "com.jumio.android:face:${SDK_VERSION}@aar" - implementation "com.jumio.android:dv:${SDK_VERSION}@aar" - - //for core: - implementation "androidx.appcompat:appcompat:1.0.2" - implementation "androidx.room:room-runtime:2.0.0" - - //for nv: - implementation "com.google.android.material:material:1.0.0" - implementation "androidx.cardview:cardview:1.0.0" - - //only for nv-barcode-vision - implementation ("com.google.android.gms:play-services-vision:15.0.1"){ - exclude group: 'com.android.support', module:'support-v4' - } - - //only for nv-nfc - implementation "org.bouncycastle:bcprov-jdk15on:1.61" - implementation "net.sf.scuba:scuba-sc-android:0.0.18" - - //only for face - implementation "com.facetec:zoom-authentication-hybrid:7.0.9@aar" - - implementation fileTree(dir: 'libs', include: '*.jar') -} - - -def hasBuildExtras = file('build-extras.gradle').exists() -if (hasBuildExtras) { - apply from: 'build-extras.gradle' -} - -// Set property defaults after extension .gradle files. -if (ext.cdvCompileSdkVersion == null) { - ext.cdvCompileSdkVersion = privateHelpers.getProjectTarget() -} -if (ext.cdvBuildToolsVersion == null) { - ext.cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools() -} -if (ext.cdvDebugSigningPropertiesFile == null && file('debug-signing.properties').exists()) { - ext.cdvDebugSigningPropertiesFile = 'debug-signing.properties' -} -if (ext.cdvReleaseSigningPropertiesFile == null && file('release-signing.properties').exists()) { - ext.cdvReleaseSigningPropertiesFile = 'release-signing.properties' -} - -// Cast to appropriate types. -ext.cdvBuildMultipleApks = cdvBuildMultipleApks == null ? false : cdvBuildMultipleApks.toBoolean(); -ext.cdvMinSdkVersion = 19 -ext.cdvVersionCode = cdvVersionCode == null ? null : Integer.parseInt('' + cdvVersionCode) - -def computeBuildTargetName(debugBuild) { - def ret = 'assemble' - if (cdvBuildMultipleApks && cdvBuildArch) { - def arch = cdvBuildArch == 'arm' ? 'armv7' : cdvBuildArch - ret += '' + arch.toUpperCase().charAt(0) + arch.substring(1); - } - return ret + (debugBuild ? 'Debug' : 'Release') -} - -// Make cdvBuild a task that depends on the debug/arch-sepecific task. -task cdvBuildDebug -cdvBuildDebug.dependsOn { - return computeBuildTargetName(true) -} - -task cdvBuildRelease -cdvBuildRelease.dependsOn { - return computeBuildTargetName(false) -} - -task cdvPrintProps { - doLast { - println('cdvCompileSdkVersion=' + cdvCompileSdkVersion) - println('cdvBuildToolsVersion=' + cdvBuildToolsVersion) - println('cdvVersionCode=' + cdvVersionCode) - println('cdvMinSdkVersion=' + cdvMinSdkVersion) - println('cdvBuildMultipleApks=' + cdvBuildMultipleApks) - println('cdvReleaseSigningPropertiesFile=' + cdvReleaseSigningPropertiesFile) - println('cdvDebugSigningPropertiesFile=' + cdvDebugSigningPropertiesFile) - println('cdvBuildArch=' + cdvBuildArch) - println('computedVersionCode=' + android.defaultConfig.versionCode) - android.productFlavors.each { flavor -> - println('computed' + flavor.name.capitalize() + 'VersionCode=' + flavor.versionCode) - } - } -} - -android { - sourceSets { - main { - manifest.srcFile 'AndroidManifest.xml' - java.srcDirs = ['src'] - resources.srcDirs = ['src'] - aidl.srcDirs = ['src'] - renderscript.srcDirs = ['src'] - res.srcDirs = ['res'] - assets.srcDirs = ['assets'] - jniLibs.srcDirs = ['libs'] - } - } - - defaultConfig { - versionCode cdvVersionCode ?: new BigInteger("" + privateHelpers.extractIntFromManifest("versionCode")) - applicationId privateHelpers.extractStringFromManifest("package") - multiDexEnabled true - minSdkVersion 19 - } - - lintOptions { - abortOnError false; - } - - compileSdkVersion 28 - buildToolsVersion "28.0.3" - - if (Boolean.valueOf(cdvBuildMultipleApks)) { - productFlavors { - armv7 { - versionCode defaultConfig.versionCode*10 + 2 - ndk { - abiFilters "armeabi-v7a", "" - } - } - x86 { - versionCode defaultConfig.versionCode*10 + 4 - ndk { - abiFilters "x86", "" - } - } - all { - ndk { - abiFilters "all", "" - } - } - } - } - /* - ELSE NOTHING! DON'T MESS WITH THE VERSION CODE IF YOU DON'T HAVE TO! - else if (!cdvVersionCode) { - def minSdkVersion = cdvMinSdkVersion ?: privateHelpers.extractIntFromManifest("minSdkVersion") - // Vary versionCode by the two most common API levels: - // 14 is ICS, which is the lowest API level for many apps. - // 20 is Lollipop, which is the lowest API level for the updatable system webview. - if (minSdkVersion >= 20) { - defaultConfig.versionCode += 9 - } else if (minSdkVersion >= 14) { - defaultConfig.versionCode += 8 - } - } - */ - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - if (cdvReleaseSigningPropertiesFile) { - signingConfigs { - release { - // These must be set or Gradle will complain (even if they are overridden). - keyAlias = "" - keyPassword = "__unset" // And these must be set to non-empty in order to have the signing step added to the task graph. - storeFile = null - storePassword = "__unset" - } - } - buildTypes { - release { - signingConfig signingConfigs.release - } - } - addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release) - } - if (cdvDebugSigningPropertiesFile) { - addSigningProps(cdvDebugSigningPropertiesFile, signingConfigs.debug) - } -} - -dependencies { - implementation fileTree(dir: 'libs', include: '*.jar') - // SUB-PROJECT DEPENDENCIES START - implementation(project(path: "CordovaLib")) - // SUB-PROJECT DEPENDENCIES END -} - -def promptForReleaseKeyPassword() { - if (!cdvReleaseSigningPropertiesFile) { - return; - } - if ('__unset'.equals(android.signingConfigs.release.storePassword)) { - android.signingConfigs.release.storePassword = privateHelpers.promptForPassword('Enter key store password: ') - } - if ('__unset'.equals(android.signingConfigs.release.keyPassword)) { - android.signingConfigs.release.keyPassword = privateHelpers.promptForPassword('Enter key password: '); - } -} - -gradle.taskGraph.whenReady { taskGraph -> - taskGraph.getAllTasks().each() { task -> - if (['validateReleaseSigning', 'validateSigningRelease', 'validateSigningArmv7Release', 'validateSigningX86Release'].contains(task.name)) { - promptForReleaseKeyPassword() - } - } -} - -def addSigningProps(propsFilePath, signingConfig) { - def propsFile = file(propsFilePath) - def props = new Properties() - propsFile.withReader { reader -> - props.load(reader) - } - - def storeFile = new File(props.get('key.store') ?: privateHelpers.ensureValueExists(propsFilePath, props, 'storeFile')) - if (!storeFile.isAbsolute()) { - storeFile = RelativePath.parse(true, storeFile.toString()).getFile(propsFile.getParentFile()) - } - if (!storeFile.exists()) { - throw new FileNotFoundException('Keystore file does not exist: ' + storeFile.getAbsolutePath()) - } - signingConfig.keyAlias = props.get('key.alias') ?: privateHelpers.ensureValueExists(propsFilePath, props, 'keyAlias') - signingConfig.keyPassword = props.get('keyPassword', props.get('key.alias.password', signingConfig.keyPassword)) - signingConfig.storeFile = storeFile - signingConfig.storePassword = props.get('storePassword', props.get('key.store.password', signingConfig.storePassword)) - def storeType = props.get('storeType', props.get('key.store.type', '')) - if (!storeType) { - def filename = storeFile.getName().toLowerCase(); - if (filename.endsWith('.p12') || filename.endsWith('.pfx')) { - storeType = 'pkcs12' - } else { - storeType = signingConfig.storeType // "jks" - } - } - signingConfig.storeType = storeType -} - -for (def func : cdvPluginPostBuildExtras) { - func() -} - -// This can be defined within build-extras.gradle as: -// ext.postBuildExtras = { ... code here ... } -if (hasProperty('postBuildExtras')) { - postBuildExtras() -} \ No newline at end of file diff --git a/demo/platforms/android/cordova-plugin-jumio-mobilesdk/demo-plugin.gradle b/demo/platforms/android/cordova-plugin-jumio-mobilesdk/demo-plugin.gradle new file mode 100644 index 0000000..8a20291 --- /dev/null +++ b/demo/platforms/android/cordova-plugin-jumio-mobilesdk/demo-plugin.gradle @@ -0,0 +1,49 @@ +// PLUGIN GRADLE EXTENSIONS START +repositories { + google() + jcenter() + maven { url 'https://mobile-sdk.jumio.com' } +} + +ext { + SDK_VERSION = "3.3.1" +} + +dependencies { + implementation "com.jumio.android:core:${SDK_VERSION}@aar" + implementation "com.jumio.android:bam:${SDK_VERSION}@aar" + implementation "com.jumio.android:auth:${SDK_VERSION}@aar" + implementation "com.jumio.android:nv:${SDK_VERSION}@aar" + implementation "com.jumio.android:nv-mrz:${SDK_VERSION}@aar" + implementation "com.jumio.android:nv-nfc:${SDK_VERSION}@aar" + implementation "com.jumio.android:nv-ocr:${SDK_VERSION}@aar" + implementation "com.jumio.android:nv-barcode:${SDK_VERSION}@aar" + implementation "com.jumio.android:nv-barcode-vision:${SDK_VERSION}@aar" + implementation "com.jumio.android:face:${SDK_VERSION}@aar" + implementation "com.jumio.android:dv:${SDK_VERSION}@aar" + + //for core: + implementation "androidx.appcompat:appcompat:1.0.2" + implementation "androidx.room:room-runtime:2.0.0" + + //for nv: + implementation "com.google.android.material:material:1.0.0" + implementation "androidx.cardview:cardview:1.0.0" + + //only for nv-barcode-vision + implementation("com.google.android.gms:play-services-vision:18.0.0") { + exclude group: 'com.android.support', module: 'support-v4' + } + + //only for nv-nfc + implementation "org.bouncycastle:bcprov-jdk15on:1.61" + implementation "net.sf.scuba:scuba-sc-android:0.0.18" + + implementation "androidx.multidex:multidex:2.0.1" + + //only for face + implementation "com.facetec:zoom-authentication-hybrid:7.0.14@aar" + + implementation fileTree(dir: 'libs', include: '*.jar') +} +// PLUGIN GRADLE EXTENSIONS END \ No newline at end of file diff --git a/demo/platforms/android/cordova/Api.js b/demo/platforms/android/cordova/Api.js index 107108e..be6b76b 100644 --- a/demo/platforms/android/cordova/Api.js +++ b/demo/platforms/android/cordova/Api.js @@ -21,7 +21,6 @@ var path = require('path'); var Q = require('q'); var AndroidProject = require('./lib/AndroidProject'); -var AndroidStudio = require('./lib/AndroidStudio'); var PluginManager = require('cordova-common').PluginManager; var CordovaLogger = require('cordova-common').CordovaLogger; @@ -59,33 +58,24 @@ function Api (platform, platformRootDir, events) { setupEvents(events); - var self = this; + const appMain = path.join(this.root, 'app', 'src', 'main'); + const appRes = path.join(appMain, 'res'); this.locations = { - root: self.root, - www: path.join(self.root, 'assets/www'), - res: path.join(self.root, 'res'), - platformWww: path.join(self.root, 'platform_www'), - configXml: path.join(self.root, 'res/xml/config.xml'), - defaultConfigXml: path.join(self.root, 'cordova/defaults.xml'), - strings: path.join(self.root, 'res/values/strings.xml'), - manifest: path.join(self.root, 'AndroidManifest.xml'), - build: path.join(self.root, 'build'), + root: this.root, + www: path.join(appMain, 'assets', 'www'), + res: appRes, + platformWww: path.join(this.root, 'platform_www'), + configXml: path.join(appRes, 'xml', 'config.xml'), + defaultConfigXml: path.join(this.root, 'cordova', 'defaults.xml'), + strings: path.join(appRes, 'values', 'strings.xml'), + manifest: path.join(appMain, 'AndroidManifest.xml'), + build: path.join(this.root, 'build'), + javaSrc: path.join(appMain, 'java'), // NOTE: Due to platformApi spec we need to return relative paths here cordovaJs: 'bin/templates/project/assets/www/cordova.js', cordovaJsSrc: 'cordova-js-src' }; - - // XXX Override some locations for Android Studio projects - if (AndroidStudio.isAndroidStudioProject(self.root) === true) { - selfEvents.emit('log', 'Android Studio project detected'); - this.android_studio = true; - this.locations.configXml = path.join(self.root, 'app/src/main/res/xml/config.xml'); - this.locations.strings = path.join(self.root, 'app/src/main/res/xml/strings.xml'); - this.locations.manifest = path.join(self.root, 'app/src/main/AndroidManifest.xml'); - this.locations.www = path.join(self.root, 'app/src/main/assets/www'); - this.locations.res = path.join(self.root, 'app/src/main/res'); - } } /** @@ -218,34 +208,13 @@ Api.prototype.addPlugin = function (plugin, installOptions) { installOptions.variables.PACKAGE_NAME = project.getPackageName(); } - if (this.android_studio === true) { - installOptions.android_studio = true; - } - return Q().then(function () { - // CB-11964: Do a clean when installing the plugin code to get around - // the Gradle bug introduced by the Android Gradle Plugin Version 2.2 - // TODO: Delete when the next version of Android Gradle plugin comes out - - // Since clean doesn't just clean the build, it also wipes out www, we need - // to pass additional options. - - // Do some basic argument parsing - var opts = {}; - - // Skip cleaning prepared files when not invoking via cordova CLI. - opts.noPrepare = true; - - if (!AndroidStudio.isAndroidStudioProject(self.root) && !project.isClean()) { - return self.clean(opts); - } - }).then(function () { return PluginManager.get(self.platform, self.locations, project).addPlugin(plugin, installOptions); }).then(function () { if (plugin.getFrameworks(this.platform).length === 0) return; - selfEvents.emit('verbose', 'Updating build files since android plugin contained '); - require('./lib/builders/builders').getBuilder('gradle').prepBuildFiles(); + // This should pick the correct builder, not just get gradle + require('./lib/builders/builders').getBuilder().prepBuildFiles(); }.bind(this)) // CB-11022 Return truthy value to prevent running prepare after .thenResolve(true); @@ -267,9 +236,8 @@ Api.prototype.addPlugin = function (plugin, installOptions) { Api.prototype.removePlugin = function (plugin, uninstallOptions) { var project = AndroidProject.getProjectFile(this.root); - if (uninstallOptions && uninstallOptions.usePlatformWww === true && this.android_studio === true) { + if (uninstallOptions && uninstallOptions.usePlatformWww === true) { uninstallOptions.usePlatformWww = false; - uninstallOptions.android_studio = true; } return PluginManager.get(this.platform, this.locations, project) @@ -278,7 +246,7 @@ Api.prototype.removePlugin = function (plugin, uninstallOptions) { if (plugin.getFrameworks(this.platform).length === 0) return; selfEvents.emit('verbose', 'Updating build files since android plugin contained '); - require('./lib/builders/builders').getBuilder('gradle').prepBuildFiles(); + require('./lib/builders/builders').getBuilder().prepBuildFiles(); }.bind(this)) // CB-11022 Return truthy value to prevent running prepare after .thenResolve(true); @@ -331,6 +299,7 @@ Api.prototype.removePlugin = function (plugin, uninstallOptions) { */ Api.prototype.build = function (buildOptions) { var self = this; + return require('./lib/check_reqs').run().then(function () { return require('./lib/build').run.call(self, buildOptions); }).then(function (buildResults) { @@ -374,6 +343,11 @@ Api.prototype.run = function (runOptions) { */ Api.prototype.clean = function (cleanOptions) { var self = this; + // This will lint, checking for null won't + if (typeof cleanOptions === 'undefined') { + cleanOptions = {}; + } + return require('./lib/check_reqs').run().then(function () { return require('./lib/build').runClean.call(self, cleanOptions); }).then(function () { diff --git a/demo/platforms/android/cordova/android_sdk_version b/demo/platforms/android/cordova/android_sdk_version old mode 100644 new mode 100755 index 34ed28f..c4082f1 --- a/demo/platforms/android/cordova/android_sdk_version +++ b/demo/platforms/android/cordova/android_sdk_version @@ -21,9 +21,7 @@ var android_sdk = require('./lib/android_sdk'); -android_sdk.print_newest_available_sdk_target().done(null, function(err) { +android_sdk.print_newest_available_sdk_target().done(null, function (err) { console.error(err); process.exit(2); }); - - diff --git a/demo/platforms/android/cordova/check_reqs b/demo/platforms/android/cordova/check_reqs old mode 100644 new mode 100755 index 372a383..e0c1c44 --- a/demo/platforms/android/cordova/check_reqs +++ b/demo/platforms/android/cordova/check_reqs @@ -22,9 +22,10 @@ var check_reqs = require('./lib/check_reqs'); check_reqs.run().done( - function success() { + function success () { console.log('Looks like your environment fully supports cordova-android development!'); - }, function fail(err) { + }, + function fail (err) { console.log(err); process.exit(2); } diff --git a/demo/platforms/android/cordova/clean b/demo/platforms/android/cordova/clean old mode 100644 new mode 100755 index 22065cc..9db5847 --- a/demo/platforms/android/cordova/clean +++ b/demo/platforms/android/cordova/clean @@ -20,11 +20,11 @@ */ var Api = require('./Api'); -var path = require('path'); +var path = require('path'); var nopt = require('nopt'); // Support basic help commands -if(['--help', '/?', '-h', 'help', '-help', '/help'].indexOf(process.argv[2]) >= 0) { +if (['--help', '/?', '-h', 'help', '-help', '/help'].indexOf(process.argv[2]) >= 0) { console.log('Usage: ' + path.relative(process.cwd(), process.argv[1])); console.log('Cleans the project directory.'); process.exit(0); @@ -32,9 +32,9 @@ if(['--help', '/?', '-h', 'help', '-help', '/help'].indexOf(process.argv[2]) >= // Do some basic argument parsing var opts = nopt({ - 'verbose' : Boolean, - 'silent' : Boolean -}, { 'd' : '--verbose' }); + 'verbose': Boolean, + 'silent': Boolean +}, { 'd': '--verbose' }); // Make buildOptions compatible with PlatformApi clean method spec opts.argv = opts.argv.original; @@ -45,7 +45,7 @@ opts.noPrepare = true; require('./loggingHelper').adjustLoggerLevel(opts); new Api().clean(opts) -.catch(function(err) { - console.error(err.stack); - process.exit(2); -}); + .catch(function (err) { + console.error(err.stack); + process.exit(2); + }); diff --git a/demo/platforms/android/cordova/lib/Adb.js b/demo/platforms/android/cordova/lib/Adb.js index 038c67c..b6ad8f1 100644 --- a/demo/platforms/android/cordova/lib/Adb.js +++ b/demo/platforms/android/cordova/lib/Adb.js @@ -44,7 +44,7 @@ function isEmulator (line) { * devices/emulators */ Adb.devices = function (opts) { - return spawn('adb', ['devices'], {cwd: os.tmpdir()}).then(function (output) { + return spawn('adb', ['devices'], { cwd: os.tmpdir() }).then(function (output) { return output.split('\n').filter(function (line) { // Filter out either real devices or emulators, depending on options return (line && opts && opts.emulators) ? isEmulator(line) : isDevice(line); @@ -58,7 +58,7 @@ Adb.install = function (target, packagePath, opts) { events.emit('verbose', 'Installing apk ' + packagePath + ' on target ' + target + '...'); var args = ['-s', target, 'install']; if (opts && opts.replace) args.push('-r'); - return spawn('adb', args.concat(packagePath), {cwd: os.tmpdir()}).then(function (output) { + return spawn('adb', args.concat(packagePath), { cwd: os.tmpdir() }).then(function (output) { // 'adb install' seems to always returns no error, even if installation fails // so we catching output to detect installation failure if (output.match(/Failure/)) { @@ -77,14 +77,14 @@ Adb.install = function (target, packagePath, opts) { Adb.uninstall = function (target, packageId) { events.emit('verbose', 'Uninstalling package ' + packageId + ' from target ' + target + '...'); - return spawn('adb', ['-s', target, 'uninstall', packageId], {cwd: os.tmpdir()}); + return spawn('adb', ['-s', target, 'uninstall', packageId], { cwd: os.tmpdir() }); }; Adb.shell = function (target, shellCommand) { events.emit('verbose', 'Running adb shell command "' + shellCommand + '" on target ' + target + '...'); var args = ['-s', target, 'shell']; shellCommand = shellCommand.split(/\s+/); - return spawn('adb', args.concat(shellCommand), {cwd: os.tmpdir()}).catch(function (output) { + return spawn('adb', args.concat(shellCommand), { cwd: os.tmpdir() }).catch(function (output) { return Q.reject(new CordovaError('Failed to execute shell command "' + shellCommand + '"" on device: ' + output)); }); diff --git a/demo/platforms/android/cordova/lib/AndroidManifest.js b/demo/platforms/android/cordova/lib/AndroidManifest.js index 5b7077a..4fe1c2b 100644 --- a/demo/platforms/android/cordova/lib/AndroidManifest.js +++ b/demo/platforms/android/cordova/lib/AndroidManifest.js @@ -51,15 +51,11 @@ AndroidManifest.prototype.setVersionCode = function (versionCode) { }; AndroidManifest.prototype.getPackageId = function () { - /* jshint -W069 */ return this.doc.getroot().attrib['package']; - /* jshint +W069 */ }; AndroidManifest.prototype.setPackageId = function (pkgId) { - /* jshint -W069 */ this.doc.getroot().attrib['package'] = pkgId; - /* jshint +W069 */ return this; }; @@ -150,7 +146,7 @@ AndroidManifest.prototype.setDebuggable = function (value) { * manifest will be written to file it has been read from. */ AndroidManifest.prototype.write = function (destPath) { - fs.writeFileSync(destPath || this.path, this.doc.write({indent: 4}), 'utf-8'); + fs.writeFileSync(destPath || this.path, this.doc.write({ indent: 4 }), 'utf-8'); }; module.exports = AndroidManifest; diff --git a/demo/platforms/android/cordova/lib/AndroidProject.js b/demo/platforms/android/cordova/lib/AndroidProject.js index bf55cad..3c2586a 100644 --- a/demo/platforms/android/cordova/lib/AndroidProject.js +++ b/demo/platforms/android/cordova/lib/AndroidProject.js @@ -21,7 +21,6 @@ var fs = require('fs'); var path = require('path'); var properties_parser = require('properties-parser'); var AndroidManifest = require('./AndroidManifest'); -var AndroidStudio = require('./AndroidStudio'); var pluginHandlers = require('./pluginHandlers'); var projectFileCache = {}; @@ -62,10 +61,7 @@ function AndroidProject (projectDir) { this._dirty = false; this.projectDir = projectDir; this.platformWww = path.join(this.projectDir, 'platform_www'); - this.www = path.join(this.projectDir, 'assets/www'); - if (AndroidStudio.isAndroidStudioProject(projectDir) === true) { - this.www = path.join(this.projectDir, 'app/src/main/assets/www'); - } + this.www = path.join(this.projectDir, 'app/src/main/assets/www'); } AndroidProject.getProjectFile = function (projectDir) { @@ -92,10 +88,7 @@ AndroidProject.purgeCache = function (projectDir) { * @return {String} The name of the package */ AndroidProject.prototype.getPackageName = function () { - var manifestPath = path.join(this.projectDir, 'AndroidManifest.xml'); - if (AndroidStudio.isAndroidStudioProject(this.projectDir) === true) { - manifestPath = path.join(this.projectDir, 'app/src/main/AndroidManifest.xml'); - } + var manifestPath = path.join(this.projectDir, 'app/src/main/AndroidManifest.xml'); return new AndroidManifest(manifestPath).getPackageId(); }; diff --git a/demo/platforms/android/cordova/lib/AndroidStudio.js b/demo/platforms/android/cordova/lib/AndroidStudio.js deleted file mode 100644 index 860301a..0000000 --- a/demo/platforms/android/cordova/lib/AndroidStudio.js +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This is a simple routine that checks if project is an Android Studio Project - * - * @param {String} root Root folder of the project - */ - -/* jshint esnext: false */ - -var path = require('path'); -var fs = require('fs'); -var CordovaError = require('cordova-common').CordovaError; - -module.exports.isAndroidStudioProject = function isAndroidStudioProject (root) { - var eclipseFiles = ['AndroidManifest.xml', 'libs', 'res', 'project.properties', 'platform_www']; - var androidStudioFiles = ['app', 'gradle', 'app/src/main/res']; - - // assume it is an AS project and not an Eclipse project - var isEclipse = false; - var isAS = true; - - if (!fs.existsSync(root)) { - throw new CordovaError('AndroidStudio.js:inAndroidStudioProject root does not exist: ' + root); - } - - // if any of the following exists, then we are not an ASProj - eclipseFiles.forEach(function (file) { - if (fs.existsSync(path.join(root, file))) { - isEclipse = true; - } - }); - - // if it is NOT an eclipse project, check that all required files exist - if (!isEclipse) { - androidStudioFiles.forEach(function (file) { - if (!fs.existsSync(path.join(root, file))) { - console.log('missing file :: ' + file); - isAS = false; - } - }); - } - return (!isEclipse && isAS); -}; diff --git a/demo/platforms/android/cordova/lib/android_sdk.js b/demo/platforms/android/cordova/lib/android_sdk.js old mode 100644 new mode 100755 index ca8f9e3..1c0ab20 --- a/demo/platforms/android/cordova/lib/android_sdk.js +++ b/demo/platforms/android/cordova/lib/android_sdk.js @@ -17,7 +17,6 @@ under the License. */ -var Q = require('q'); var superspawn = require('cordova-common').superspawn; var suffix_number_regex = /(\d+)$/; @@ -62,7 +61,8 @@ module.exports.version_string_to_api_level = { '5.1': 22, '6.0': 23, '7.0': 24, - '7.1.1': 25 + '7.1.1': 25, + '8.0': 26 }; function parse_targets (output) { @@ -94,7 +94,7 @@ module.exports.list_targets = function () { } else throw err; }).then(function (targets) { if (targets.length === 0) { - return Q.reject(new Error('No android targets (SDKs) installed!')); + return Promise.reject(new Error('No android targets (SDKs) installed!')); } return targets; }); diff --git a/demo/platforms/android/cordova/lib/build.js b/demo/platforms/android/cordova/lib/build.js index 7c2238a..2f0ba69 100644 --- a/demo/platforms/android/cordova/lib/build.js +++ b/demo/platforms/android/cordova/lib/build.js @@ -31,11 +31,10 @@ var events = require('cordova-common').events; var spawn = require('cordova-common').superspawn.spawn; var CordovaError = require('cordova-common').CordovaError; +module.exports.parseBuildOptions = parseOpts; function parseOpts (options, resolvedTarget, projectRoot) { options = options || {}; options.argv = nopt({ - gradle: Boolean, - ant: Boolean, prepenv: Boolean, versionCode: String, minSdkVersion: String, @@ -47,22 +46,16 @@ function parseOpts (options, resolvedTarget, projectRoot) { keystoreType: String }, {}, options.argv, 0); + // Android Studio Build method is the default var ret = { buildType: options.release ? 'release' : 'debug', - buildMethod: process.env.ANDROID_BUILD || 'gradle', prepEnv: options.argv.prepenv, arch: resolvedTarget && resolvedTarget.arch, extraArgs: [] }; - if (options.argv.ant || options.argv.gradle) { ret.buildMethod = options.argv.ant ? 'ant' : 'gradle'; } - - if (options.nobuild) ret.buildMethod = 'none'; - if (options.argv.versionCode) { ret.extraArgs.push('-PcdvVersionCode=' + options.argv.versionCode); } - if (options.argv.minSdkVersion) { ret.extraArgs.push('-PcdvMinSdkVersion=' + options.argv.minSdkVersion); } - if (options.argv.gradleArg) { ret.extraArgs = ret.extraArgs.concat(options.argv.gradleArg); } @@ -122,7 +115,8 @@ function parseOpts (options, resolvedTarget, projectRoot) { */ module.exports.runClean = function (options) { var opts = parseOpts(options, null, this.root); - var builder = builders.getBuilder(opts.buildMethod); + var builder = builders.getBuilder(); + return builder.prepEnv(opts).then(function () { return builder.clean(opts); }); @@ -142,7 +136,8 @@ module.exports.runClean = function (options) { */ module.exports.run = function (options, optResolvedTarget) { var opts = parseOpts(options, optResolvedTarget, this.root); - var builder = builders.getBuilder(opts.buildMethod); + var builder = builders.getBuilder(); + return builder.prepEnv(opts).then(function () { if (opts.prepEnv) { events.emit('verbose', 'Build file successfully prepared.'); @@ -153,8 +148,7 @@ module.exports.run = function (options, optResolvedTarget) { events.emit('log', 'Built the following apk(s): \n\t' + apkPaths.join('\n\t')); return { apkPaths: apkPaths, - buildType: opts.buildType, - buildMethod: opts.buildMethod + buildType: opts.buildType }; }); }); @@ -268,12 +262,10 @@ module.exports.help = function () { console.log('Flags:'); console.log(' \'--debug\': will build project in debug mode (default)'); console.log(' \'--release\': will build project for release'); - console.log(' \'--ant\': will build project with ant'); - console.log(' \'--gradle\': will build project with gradle (default)'); console.log(' \'--nobuild\': will skip build process (useful when using run command)'); console.log(' \'--prepenv\': don\'t build, but copy in build scripts where necessary'); - console.log(' \'--versionCode=#\': Override versionCode for this build. Useful for uploading multiple APKs. Requires --gradle.'); - console.log(' \'--minSdkVersion=#\': Override minSdkVersion for this build. Useful for uploading multiple APKs. Requires --gradle.'); + console.log(' \'--versionCode=#\': Override versionCode for this build. Useful for uploading multiple APKs.'); + console.log(' \'--minSdkVersion=#\': Override minSdkVersion for this build. Useful for uploading multiple APKs.'); console.log(' \'--gradleArg=\': Extra args to pass to the gradle command. Use one flag per arg. Ex. --gradleArg=-PcdvBuildMultipleApks=true'); console.log(''); console.log('Signed APK flags (overwrites debug/release-signing.proprties) :'); diff --git a/demo/platforms/android/cordova/lib/builders/AntBuilder.js b/demo/platforms/android/cordova/lib/builders/AntBuilder.js deleted file mode 100644 index cc08c23..0000000 --- a/demo/platforms/android/cordova/lib/builders/AntBuilder.js +++ /dev/null @@ -1,153 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ -/* eslint no-unused-vars: 0 */ - -var Q = require('q'); -var fs = require('fs'); -var path = require('path'); -var util = require('util'); -var shell = require('shelljs'); -var spawn = require('cordova-common').superspawn.spawn; -var CordovaError = require('cordova-common').CordovaError; -var check_reqs = require('../check_reqs'); - -var SIGNING_PROPERTIES = '-signing.properties'; -var MARKER = 'YOUR CHANGES WILL BE ERASED!'; -var TEMPLATE = - '# This file is automatically generated.\n' + - '# Do not modify this file -- ' + MARKER + '\n'; - -var GenericBuilder = require('./GenericBuilder'); - -function AntBuilder (projectRoot) { - GenericBuilder.call(this, projectRoot); - - this.binDirs = {ant: this.binDirs.ant}; -} - -util.inherits(AntBuilder, GenericBuilder); - -AntBuilder.prototype.getArgs = function (cmd, opts) { - var args = [cmd, '-f', path.join(this.root, 'build.xml')]; - // custom_rules.xml is required for incremental builds. - if (hasCustomRules(this.root)) { - args.push('-Dout.dir=ant-build', '-Dgen.absolute.dir=ant-gen'); - } - if (opts.packageInfo) { - args.push('-propertyfile=' + path.join(this.root, opts.buildType + SIGNING_PROPERTIES)); - } - return args; -}; - -AntBuilder.prototype.prepEnv = function (opts) { - var self = this; - return check_reqs.check_ant().then(function () { - // Copy in build.xml on each build so that: - // A) we don't require the Android SDK at project creation time, and - // B) we always use the SDK's latest version of it. - /* jshint -W069 */ - var sdkDir = process.env['ANDROID_HOME']; - /* jshint +W069 */ - var buildTemplate = fs.readFileSync(path.join(sdkDir, 'tools', 'lib', 'build.template'), 'utf8'); - function writeBuildXml (projectPath) { - var newData = buildTemplate.replace('PROJECT_NAME', self.extractRealProjectNameFromManifest()); - fs.writeFileSync(path.join(projectPath, 'build.xml'), newData); - if (!fs.existsSync(path.join(projectPath, 'local.properties'))) { - fs.writeFileSync(path.join(projectPath, 'local.properties'), TEMPLATE); - } - } - writeBuildXml(self.root); - var propertiesObj = self.readProjectProperties(); - var subProjects = propertiesObj.libs; - for (var i = 0; i < subProjects.length; ++i) { - writeBuildXml(path.join(self.root, subProjects[i])); - } - if (propertiesObj.systemLibs.length > 0) { - throw new CordovaError('Project contains at least one plugin that requires a system library. This is not supported with ANT. Use gradle instead.'); - } - - var propertiesFile = opts.buildType + SIGNING_PROPERTIES; - var propertiesFilePath = path.join(self.root, propertiesFile); - if (opts.packageInfo) { - fs.writeFileSync(propertiesFilePath, TEMPLATE + opts.packageInfo.toProperties()); - } else if (isAutoGenerated(propertiesFilePath)) { - shell.rm('-f', propertiesFilePath); - } - }); -}; - -/* - * Builds the project with ant. - * Returns a promise. - */ -AntBuilder.prototype.build = function (opts) { - // Without our custom_rules.xml, we need to clean before building. - var ret = Q(); - if (!hasCustomRules(this.root)) { - // clean will call check_ant() for us. - ret = this.clean(opts); - } - - var args = this.getArgs(opts.buildType === 'debug' ? 'debug' : 'release', opts); - return check_reqs.check_ant().then(function () { - return spawn('ant', args, {stdio: 'pipe'}); - }).progress(function (stdio) { - if (stdio.stderr) { - process.stderr.write(stdio.stderr); - } else { - process.stdout.write(stdio.stdout); - } - }).catch(function (error) { - if (error.toString().indexOf('Unable to resolve project target') >= 0) { - return check_reqs.check_android_target(error).then(function () { - // If due to some odd reason - check_android_target succeeds - // we should still fail here. - return Q.reject(error); - }); - } - return Q.reject(error); - }); -}; - -AntBuilder.prototype.clean = function (opts) { - var args = this.getArgs('clean', opts); - var self = this; - return check_reqs.check_ant().then(function () { - return spawn('ant', args, {stdio: 'inherit'}); - }).then(function () { - shell.rm('-rf', path.join(self.root, 'out')); - - ['debug', 'release'].forEach(function (config) { - var propertiesFilePath = path.join(self.root, config + SIGNING_PROPERTIES); - if (isAutoGenerated(propertiesFilePath)) { - shell.rm('-f', propertiesFilePath); - } - }); - }); -}; - -module.exports = AntBuilder; - -function hasCustomRules (projectRoot) { - return fs.existsSync(path.join(projectRoot, 'custom_rules.xml')); -} - -function isAutoGenerated (file) { - return fs.existsSync(file) && fs.readFileSync(file, 'utf8').indexOf(MARKER) > 0; -} diff --git a/demo/platforms/android/cordova/lib/builders/GenericBuilder.js b/demo/platforms/android/cordova/lib/builders/GenericBuilder.js deleted file mode 100644 index 770911b..0000000 --- a/demo/platforms/android/cordova/lib/builders/GenericBuilder.js +++ /dev/null @@ -1,145 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ -/* eslint no-self-assign: 0 */ -/* eslint no-unused-vars: 0 */ - -var Q = require('q'); -var fs = require('fs'); -var path = require('path'); -var shell = require('shelljs'); -var events = require('cordova-common').events; -var CordovaError = require('cordova-common').CordovaError; - -function GenericBuilder (projectDir) { - this.root = projectDir || path.resolve(__dirname, '../../..'); - this.binDirs = { - ant: path.join(this.root, hasCustomRules(this.root) ? 'ant-build' : 'bin'), - gradle: path.join(this.root, 'build', 'outputs', 'apk') - }; -} - -function hasCustomRules (projectRoot) { - return fs.existsSync(path.join(projectRoot, 'custom_rules.xml')); -} - -GenericBuilder.prototype.prepEnv = function () { - return Q(); -}; - -GenericBuilder.prototype.build = function () { - events.emit('log', 'Skipping build...'); - return Q(null); -}; - -GenericBuilder.prototype.clean = function () { - return Q(); -}; - -GenericBuilder.prototype.findOutputApks = function (build_type, arch) { - var self = this; - return Object.keys(this.binDirs).reduce(function (result, builderName) { - var binDir = self.binDirs[builderName]; - return result.concat(findOutputApksHelper(binDir, build_type, builderName === 'ant' ? null : arch)); - }, []).sort(apkSorter); -}; - -GenericBuilder.prototype.readProjectProperties = function () { - function findAllUniq (data, r) { - var s = {}; - var m; - while ((m = r.exec(data))) { - s[m[1]] = 1; - } - return Object.keys(s); - } - - var data = fs.readFileSync(path.join(this.root, 'project.properties'), 'utf8'); - return { - libs: findAllUniq(data, /^\s*android\.library\.reference\.\d+=(.*)(?:\s|$)/mg), - gradleIncludes: findAllUniq(data, /^\s*cordova\.gradle\.include\.\d+=(.*)(?:\s|$)/mg), - systemLibs: findAllUniq(data, /^\s*cordova\.system\.library\.\d+=(.*)(?:\s|$)/mg) - }; -}; - -GenericBuilder.prototype.extractRealProjectNameFromManifest = function () { - var manifestPath = path.join(this.root, 'AndroidManifest.xml'); - var manifestData = fs.readFileSync(manifestPath, 'utf8'); - var m = / 1 && arch) { - ret = ret.filter(function (p) { - return path.basename(p).indexOf('-' + arch) !== -1; - }); - } - - return ret; -} diff --git a/demo/platforms/android/cordova/lib/builders/GradleBuilder.js b/demo/platforms/android/cordova/lib/builders/GradleBuilder.js deleted file mode 100644 index 2b4f235..0000000 --- a/demo/platforms/android/cordova/lib/builders/GradleBuilder.js +++ /dev/null @@ -1,279 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -var Q = require('q'); -var fs = require('fs'); -var util = require('util'); -var path = require('path'); -var shell = require('shelljs'); -var superspawn = require('cordova-common').superspawn; -var CordovaError = require('cordova-common').CordovaError; -var check_reqs = require('../check_reqs'); - -var GenericBuilder = require('./GenericBuilder'); - -var MARKER = 'YOUR CHANGES WILL BE ERASED!'; -var SIGNING_PROPERTIES = '-signing.properties'; -var TEMPLATE = - '# This file is automatically generated.\n' + - '# Do not modify this file -- ' + MARKER + '\n'; - -function GradleBuilder (projectRoot) { - GenericBuilder.call(this, projectRoot); - - this.binDirs = { gradle: this.binDirs.gradle }; -} - -util.inherits(GradleBuilder, GenericBuilder); - -GradleBuilder.prototype.getArgs = function (cmd, opts) { - if (cmd === 'release') { - cmd = 'cdvBuildRelease'; - } else if (cmd === 'debug') { - cmd = 'cdvBuildDebug'; - } - var args = [cmd, '-b', path.join(this.root, 'build.gradle')]; - if (opts.arch) { - args.push('-PcdvBuildArch=' + opts.arch); - } - - // 10 seconds -> 6 seconds - args.push('-Dorg.gradle.daemon=true'); - // to allow dex in process - args.push('-Dorg.gradle.jvmargs=-Xmx2048m'); - // allow NDK to be used - required by Gradle 1.5 plugin - args.push('-Pandroid.useDeprecatedNdk=true'); - args.push.apply(args, opts.extraArgs); - // Shaves another 100ms, but produces a "try at own risk" warning. Not worth it (yet): - // args.push('-Dorg.gradle.parallel=true'); - return args; -}; - -/* - * This returns a promise - */ - -GradleBuilder.prototype.runGradleWrapper = function (gradle_cmd, gradle_file) { - var gradlePath = path.join(this.root, 'gradlew'); - gradle_file = path.join(this.root, (gradle_file || 'wrapper.gradle')); - if (fs.existsSync(gradlePath)) { - // Literally do nothing, for some reason this works, while !fs.existsSync didn't on Windows - } else { - return superspawn.spawn(gradle_cmd, ['-p', this.root, 'wrapper', '-b', gradle_file], { stdio: 'pipe' }) - .progress(function (stdio) { - suppressJavaOptionsInfo(stdio); - }); - } -}; - -// Makes the project buildable, minus the gradle wrapper. -GradleBuilder.prototype.prepBuildFiles = function () { - // Update the version of build.gradle in each dependent library. - var pluginBuildGradle = path.join(this.root, 'cordova', 'lib', 'plugin-build.gradle'); - var propertiesObj = this.readProjectProperties(); - var subProjects = propertiesObj.libs; - var checkAndCopy = function (subProject, root) { - var subProjectGradle = path.join(root, subProject, 'build.gradle'); - // This is the future-proof way of checking if a file exists - // This must be synchronous to satisfy a Travis test - try { - fs.accessSync(subProjectGradle, fs.F_OK); - } catch (e) { - shell.cp('-f', pluginBuildGradle, subProjectGradle); - } - }; - for (var i = 0; i < subProjects.length; ++i) { - if (subProjects[i] !== 'CordovaLib') { - checkAndCopy(subProjects[i], this.root); - } - } - var name = this.extractRealProjectNameFromManifest(); - // Remove the proj.id/name- prefix from projects: https://issues.apache.org/jira/browse/CB-9149 - var settingsGradlePaths = subProjects.map(function (p) { - var realDir = p.replace(/[/\\]/g, ':'); - var libName = realDir.replace(name + '-', ''); - var str = 'include ":' + libName + '"\n'; - if (realDir.indexOf(name + '-') !== -1) { str += 'project(":' + libName + '").projectDir = new File("' + p + '")\n'; } - return str; - }); - - // Write the settings.gradle file. - fs.writeFileSync(path.join(this.root, 'settings.gradle'), - '// GENERATED FILE - DO NOT EDIT\n' + - 'include ":"\n' + settingsGradlePaths.join('')); - // Update dependencies within build.gradle. - var buildGradle = fs.readFileSync(path.join(this.root, 'build.gradle'), 'utf8'); - var depsList = ''; - var root = this.root; - var insertExclude = function (p) { - var gradlePath = path.join(root, p, 'build.gradle'); - var projectGradleFile = fs.readFileSync(gradlePath, 'utf-8'); - if (projectGradleFile.indexOf('CordovaLib') !== -1) { - depsList += '{\n exclude module:("CordovaLib")\n }\n'; - } else { - depsList += '\n'; - } - }; - subProjects.forEach(function (p) { - console.log('Subproject Path: ' + p); - var libName = p.replace(/[/\\]/g, ':').replace(name + '-', ''); - depsList += ' implementation(project(path: "' + libName + '"))'; - insertExclude(p); - }); - // For why we do this mapping: https://issues.apache.org/jira/browse/CB-8390 - var SYSTEM_LIBRARY_MAPPINGS = [ - [/^\/?extras\/android\/support\/(.*)$/, 'com.android.support:support-$1:28.0.0'], - [/^\/?google\/google_play_services\/libproject\/google-play-services_lib\/?$/, 'com.google.android.gms:play-services:+'] - ]; - propertiesObj.systemLibs.forEach(function (p) { - var mavenRef; - // It's already in gradle form if it has two ':'s - if (/:.*:/.exec(p)) { - mavenRef = p; - } else { - for (var i = 0; i < SYSTEM_LIBRARY_MAPPINGS.length; ++i) { - var pair = SYSTEM_LIBRARY_MAPPINGS[i]; - if (pair[0].exec(p)) { - mavenRef = p.replace(pair[0], pair[1]); - break; - } - } - if (!mavenRef) { - throw new CordovaError('Unsupported system library (does not work with gradle): ' + p); - } - } - depsList += ' compile "' + mavenRef + '"\n'; - }); - buildGradle = buildGradle.replace(/(SUB-PROJECT DEPENDENCIES START)[\s\S]*(\/\/ SUB-PROJECT DEPENDENCIES END)/, '$1\n' + depsList + ' $2'); - var includeList = ''; - propertiesObj.gradleIncludes.forEach(function (includePath) { - includeList += 'apply from: "' + includePath + '"\n'; - }); - buildGradle = buildGradle.replace(/(PLUGIN GRADLE EXTENSIONS START)[\s\S]*(\/\/ PLUGIN GRADLE EXTENSIONS END)/, '$1\n' + includeList + '$2'); - fs.writeFileSync(path.join(this.root, 'build.gradle'), buildGradle); -}; - -GradleBuilder.prototype.prepEnv = function (opts) { - var self = this; - return check_reqs.check_gradle().then(function (gradlePath) { - return self.runGradleWrapper(gradlePath); - }).then(function () { - return self.prepBuildFiles(); - }).then(function () { - // We now copy the gradle out of the framework - // This is a dirty patch to get the build working - /* - var wrapperDir = path.join(self.root, 'CordovaLib'); - if (process.platform == 'win32') { - shell.rm('-f', path.join(self.root, 'gradlew.bat')); - shell.cp(path.join(wrapperDir, 'gradlew.bat'), self.root); - } else { - shell.rm('-f', path.join(self.root, 'gradlew')); - shell.cp(path.join(wrapperDir, 'gradlew'), self.root); - } - shell.rm('-rf', path.join(self.root, 'gradle', 'wrapper')); - shell.mkdir('-p', path.join(self.root, 'gradle')); - shell.cp('-r', path.join(wrapperDir, 'gradle', 'wrapper'), path.join(self.root, 'gradle')); -*/ - // If the gradle distribution URL is set, make sure it points to version we want. - // If it's not set, do nothing, assuming that we're using a future version of gradle that we don't want to mess with. - // For some reason, using ^ and $ don't work. This does the job, though. - var distributionUrlRegex = /distributionUrl.*zip/; - /* jshint -W069 */ - var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-4.1-all.zip'; - /* jshint +W069 */ - var gradleWrapperPropertiesPath = path.join(self.root, 'gradle', 'wrapper', 'gradle-wrapper.properties'); - shell.chmod('u+w', gradleWrapperPropertiesPath); - shell.sed('-i', distributionUrlRegex, 'distributionUrl=' + distributionUrl, gradleWrapperPropertiesPath); - - var propertiesFile = opts.buildType + SIGNING_PROPERTIES; - var propertiesFilePath = path.join(self.root, propertiesFile); - if (opts.packageInfo) { - fs.writeFileSync(propertiesFilePath, TEMPLATE + opts.packageInfo.toProperties()); - } else if (isAutoGenerated(propertiesFilePath)) { - shell.rm('-f', propertiesFilePath); - } - }); -}; - -/* - * Builds the project with gradle. - * Returns a promise. - */ -GradleBuilder.prototype.build = function (opts) { - var wrapper = path.join(this.root, 'gradlew'); - var args = this.getArgs(opts.buildType === 'debug' ? 'debug' : 'release', opts); - - return superspawn.spawn(wrapper, args, { stdio: 'pipe' }) - .progress(function (stdio) { - suppressJavaOptionsInfo(stdio); - }).catch(function (error) { - if (error.toString().indexOf('failed to find target with hash string') >= 0) { - return check_reqs.check_android_target(error).then(function () { - // If due to some odd reason - check_android_target succeeds - // we should still fail here. - return Q.reject(error); - }); - } - return Q.reject(error); - }); -}; - -GradleBuilder.prototype.clean = function (opts) { - var builder = this; - var wrapper = path.join(this.root, 'gradlew'); - var args = builder.getArgs('clean', opts); - return Q().then(function () { - return superspawn.spawn(wrapper, args, { stdio: 'inherit' }); - }).then(function () { - shell.rm('-rf', path.join(builder.root, 'out')); - - ['debug', 'release'].forEach(function (config) { - var propertiesFilePath = path.join(builder.root, config + SIGNING_PROPERTIES); - if (isAutoGenerated(propertiesFilePath)) { - shell.rm('-f', propertiesFilePath); - } - }); - }); -}; - -module.exports = GradleBuilder; - -function suppressJavaOptionsInfo (stdio) { - if (stdio.stderr) { - /* - * Workaround for the issue with Java printing some unwanted information to - * stderr instead of stdout. - * This function suppresses 'Picked up _JAVA_OPTIONS' message from being - * printed to stderr. See https://issues.apache.org/jira/browse/CB-9971 for - * explanation. - */ - var suppressThisLine = /^Picked up _JAVA_OPTIONS: /i.test(stdio.stderr.toString()); - if (suppressThisLine) { - return; - } - process.stderr.write(stdio.stderr); - } else { - process.stdout.write(stdio.stdout); - } -} - -function isAutoGenerated (file) { - return fs.existsSync(file) && fs.readFileSync(file, 'utf8').indexOf(MARKER) > 0; -} diff --git a/demo/platforms/android/cordova/lib/builders/ProjectBuilder.js b/demo/platforms/android/cordova/lib/builders/ProjectBuilder.js new file mode 100644 index 0000000..5af0a0a --- /dev/null +++ b/demo/platforms/android/cordova/lib/builders/ProjectBuilder.js @@ -0,0 +1,370 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +/* eslint no-self-assign: 0 */ +/* eslint no-unused-vars: 0 */ + +var Q = require('q'); +var fs = require('fs'); +var path = require('path'); +var shell = require('shelljs'); +var spawn = require('cordova-common').superspawn.spawn; +var events = require('cordova-common').events; +var CordovaError = require('cordova-common').CordovaError; +var check_reqs = require('../check_reqs'); + +const MARKER = 'YOUR CHANGES WILL BE ERASED!'; +const SIGNING_PROPERTIES = '-signing.properties'; +const TEMPLATE = + '# This file is automatically generated.\n' + + '# Do not modify this file -- ' + MARKER + '\n'; + +class ProjectBuilder { + constructor (rootDirectory) { + this.root = rootDirectory || path.resolve(__dirname, '../../..'); + this.binDir = path.join(this.root, 'app', 'build', 'outputs', 'apk'); + } + + getArgs (cmd, opts) { + if (cmd === 'release') { + cmd = 'cdvBuildRelease'; + } else if (cmd === 'debug') { + cmd = 'cdvBuildDebug'; + } + + let args = [cmd, '-b', path.join(this.root, 'build.gradle')]; + + if (opts.arch) { + args.push('-PcdvBuildArch=' + opts.arch); + } + + args.push.apply(args, opts.extraArgs); + + return args; + } + + /* + * This returns a promise + */ + runGradleWrapper (gradle_cmd) { + var gradlePath = path.join(this.root, 'gradlew'); + var wrapperGradle = path.join(this.root, 'wrapper.gradle'); + if (fs.existsSync(gradlePath)) { + // Literally do nothing, for some reason this works, while !fs.existsSync didn't on Windows + } else { + return spawn(gradle_cmd, ['-p', this.root, 'wrapper', '-b', wrapperGradle], { stdio: 'inherit' }); + } + } + + readProjectProperties () { + function findAllUniq (data, r) { + var s = {}; + var m; + while ((m = r.exec(data))) { + s[m[1]] = 1; + } + return Object.keys(s); + } + + var data = fs.readFileSync(path.join(this.root, 'project.properties'), 'utf8'); + return { + libs: findAllUniq(data, /^\s*android\.library\.reference\.\d+=(.*)(?:\s|$)/mg), + gradleIncludes: findAllUniq(data, /^\s*cordova\.gradle\.include\.\d+=(.*)(?:\s|$)/mg), + systemLibs: findAllUniq(data, /^\s*cordova\.system\.library\.\d+=(.*)(?:\s|$)/mg) + }; + } + + extractRealProjectNameFromManifest () { + var manifestPath = path.join(this.root, 'app', 'src', 'main', 'AndroidManifest.xml'); + var manifestData = fs.readFileSync(manifestPath, 'utf8'); + var m = /= 0) { + return check_reqs.check_android_target(error).then(function () { + // If due to some odd reason - check_android_target succeeds + // we should still fail here. + return Q.reject(error); + }); + } + return Q.reject(error); + }); + } + + clean (opts) { + var builder = this; + var wrapper = path.join(this.root, 'gradlew'); + var args = builder.getArgs('clean', opts); + return Q().then(function () { + return spawn(wrapper, args, { stdio: 'inherit' }); + }) + .then(function () { + shell.rm('-rf', path.join(builder.root, 'out')); + + ['debug', 'release'].forEach(function (config) { + var propertiesFilePath = path.join(builder.root, config + SIGNING_PROPERTIES); + if (isAutoGenerated(propertiesFilePath)) { + shell.rm('-f', propertiesFilePath); + } + }); + }); + } + + findOutputApks (build_type, arch) { + return findOutputApksHelper(this.binDir, build_type, arch).sort(apkSorter); + } + + fetchBuildResults (build_type, arch) { + return { + apkPaths: this.findOutputApks(build_type, arch), + buildType: build_type + }; + } +} + +module.exports = ProjectBuilder; + +function apkSorter (fileA, fileB) { + // De-prioritize arch specific builds + var archSpecificRE = /-x86|-arm/; + if (archSpecificRE.exec(fileA)) { + return 1; + } else if (archSpecificRE.exec(fileB)) { + return -1; + } + + // De-prioritize unsigned builds + var unsignedRE = /-unsigned/; + if (unsignedRE.exec(fileA)) { + return 1; + } else if (unsignedRE.exec(fileB)) { + return -1; + } + + var timeDiff = fs.statSync(fileB).mtime - fs.statSync(fileA).mtime; + return timeDiff === 0 ? fileA.length - fileB.length : timeDiff; +} + +function findOutputApksHelper (dir, build_type, arch) { + var shellSilent = shell.config.silent; + shell.config.silent = true; + + // list directory recursively + var ret = shell.ls('-R', dir).map(function (file) { + // ls does not include base directory + return path.join(dir, file); + }).filter(function (file) { + // find all APKs + return file.match(/\.apk?$/i); + }).filter(function (candidate) { + var apkName = path.basename(candidate); + // Need to choose between release and debug .apk. + if (build_type === 'debug') { + return /-debug/.exec(apkName) && !/-unaligned|-unsigned/.exec(apkName); + } + if (build_type === 'release') { + return /-release/.exec(apkName) && !/-unaligned/.exec(apkName); + } + return true; + }).sort(apkSorter); + + shellSilent = shellSilent; + + if (ret.length === 0) { + return ret; + } + // Assume arch-specific build if newest apk has -x86 or -arm. + var archSpecific = !!/-x86|-arm/.exec(path.basename(ret[0])); + // And show only arch-specific ones (or non-arch-specific) + ret = ret.filter(function (p) { + return !!/-x86|-arm/.exec(path.basename(p)) === archSpecific; + }); + + if (archSpecific && ret.length > 1 && arch) { + ret = ret.filter(function (p) { + return path.basename(p).indexOf('-' + arch) !== -1; + }); + } + + return ret; +} + +function isAutoGenerated (file) { + return fs.existsSync(file) && fs.readFileSync(file, 'utf8').indexOf(MARKER) > 0; +} diff --git a/demo/platforms/android/cordova/lib/builders/builders.js b/demo/platforms/android/cordova/lib/builders/builders.js index a08a588..42fc19d 100644 --- a/demo/platforms/android/cordova/lib/builders/builders.js +++ b/demo/platforms/android/cordova/lib/builders/builders.js @@ -1,46 +1,34 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. */ -var CordovaError = require('cordova-common').CordovaError; - -var knownBuilders = { - ant: 'AntBuilder', - gradle: 'GradleBuilder', - none: 'GenericBuilder' -}; +const CordovaError = require('cordova-common').CordovaError; /** - * Helper method that instantiates and returns a builder for specified build - * type. + * Helper method that instantiates and returns a builder for specified build type. * - * @param {String} builderType Builder name to construct and return. Must - * be one of 'ant', 'gradle' or 'none' - * - * @return {Builder} A builder instance for specified build type. + * @return {Builder} A builder instance for specified build type. */ -module.exports.getBuilder = function (builderType, projectRoot) { - if (!knownBuilders[builderType]) { throw new CordovaError('Builder ' + builderType + ' is not supported.'); } - +module.exports.getBuilder = function () { try { - var Builder = require('./' + knownBuilders[builderType]); - return new Builder(projectRoot); + const Builder = require('./ProjectBuilder'); + return new Builder(); } catch (err) { - throw new CordovaError('Failed to instantiate ' + knownBuilders[builderType] + ' builder: ' + err); + throw new CordovaError('Failed to instantiate ProjectBuilder builder: ' + err); } }; diff --git a/demo/platforms/android/cordova/lib/check_reqs.js b/demo/platforms/android/cordova/lib/check_reqs.js index 4a22360..6435e01 100644 --- a/demo/platforms/android/cordova/lib/check_reqs.js +++ b/demo/platforms/android/cordova/lib/check_reqs.js @@ -19,8 +19,6 @@ under the License. */ -/* jshint sub:true */ - var shelljs = require('shelljs'); var child_process = require('child_process'); var Q = require('q'); @@ -41,17 +39,6 @@ function forgivingWhichSync (cmd) { } } -function tryCommand (cmd, errMsg, catchStderr) { - var d = Q.defer(); - child_process.exec(cmd, function (err, stdout, stderr) { - if (err) d.reject(new CordovaError(errMsg)); - // Sometimes it is necessary to return an stderr instead of stdout in case of success, since - // some commands prints theirs output to stderr instead of stdout. 'javac' is the example - else d.resolve((catchStderr ? stderr : stdout).trim()); - }); - return d.promise; -} - module.exports.isWindows = function () { return (os.platform() === 'win32'); }; @@ -207,19 +194,24 @@ module.exports.check_java = function () { } } }).then(function () { - var msg = - 'Failed to run "javac -version", make sure that you have a JDK installed.\n' + - 'You can get it from: http://www.oracle.com/technetwork/java/javase/downloads.\n'; - if (process.env['JAVA_HOME']) { - msg += 'Your JAVA_HOME is invalid: ' + process.env['JAVA_HOME'] + '\n'; - } - // We use tryCommand with catchStderr = true, because - // javac writes version info to stderr instead of stdout - return tryCommand('javac -version', msg, true).then(function (output) { - // Let's check for at least Java 8, and keep it future proof so we can support Java 10 - var match = /javac ((?:1\.)(?:[8-9]\.)(?:\d+))|((?:1\.)(?:[1-9]\d+\.)(?:\d+))/i.exec(output); - return match && match[1]; - }); + return Q.denodeify(child_process.exec)('javac -version') + .then(outputs => { + // outputs contains two entries: stdout and stderr + // Java <= 8 writes version info to stderr, Java >= 9 to stdout + const output = outputs.join('').trim(); + const match = /javac\s+([\d.]+)/i.exec(output); + return match && match[1]; + }, () => { + var msg = + 'Failed to run "javac -version", make sure that you have a JDK version 8 installed.\n' + + 'You can get it from the following location:\n' + + 'https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html'; + if (process.env['JAVA_HOME']) { + msg += '\n\n'; + msg += 'Your JAVA_HOME is invalid: ' + process.env['JAVA_HOME']; + } + throw new CordovaError(msg); + }); }); }; @@ -239,6 +231,14 @@ module.exports.check_android = function () { // First ensure ANDROID_HOME is set // If we have no hints (nothing in PATH), try a few default locations if (!hasAndroidHome && !androidCmdPath && !adbInPath && !avdmanagerInPath) { + if (process.env['ANDROID_SDK_ROOT']) { + // Quick fix to set ANDROID_HOME according to ANDROID_SDK_ROOT + // if ANDROID_HOME is **not** defined and + // ANDROID_SDK_ROOT **is** defined + // according to environment variables as documented in: + // https://developer.android.com/studio/command-line/variables + maybeSetAndroidHome(path.join(process.env['ANDROID_SDK_ROOT'])); + } if (module.exports.isWindows()) { // Android Studio 1.0 installer maybeSetAndroidHome(path.join(process.env['LOCALAPPDATA'], 'Android', 'sdk')); @@ -363,15 +363,19 @@ module.exports.check_android_target = function (originalError) { // Returns a promise. module.exports.run = function () { return Q.all([this.check_java(), this.check_android()]).then(function (values) { - console.log('ANDROID_HOME=' + process.env['ANDROID_HOME']); - console.log('JAVA_HOME=' + process.env['JAVA_HOME']); + console.log('Checking Java JDK and Android SDK versions'); + console.log('ANDROID_SDK_ROOT=' + process.env['ANDROID_SDK_ROOT'] + ' (recommended setting)'); + console.log('ANDROID_HOME=' + process.env['ANDROID_HOME'] + ' (DEPRECATED)'); - if (!values[0]) { - throw new CordovaError('Requirements check failed for JDK 1.8 or greater'); + if (!String(values[0]).startsWith('1.8.')) { + throw new CordovaError( + 'Requirements check failed for JDK 8 (\'1.8.*\')! Detected version: ' + values[0] + '\n' + + 'Check your ANDROID_SDK_ROOT / JAVA_HOME / PATH environment variables.' + ); } if (!values[1]) { - throw new CordovaError('Requirements check failed for Android SDK'); + throw new CordovaError('Requirements check failed for Android SDK! Android SDK was not detected.'); } }); }; diff --git a/demo/platforms/android/cordova/lib/config/GradlePropertiesParser.js b/demo/platforms/android/cordova/lib/config/GradlePropertiesParser.js new file mode 100644 index 0000000..b45c0a6 --- /dev/null +++ b/demo/platforms/android/cordova/lib/config/GradlePropertiesParser.js @@ -0,0 +1,104 @@ +/** + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +let fs = require('fs'); +let path = require('path'); +let propertiesParser = require('properties-parser'); +let events = require('cordova-common').events; + +class GradlePropertiesParser { + /** + * Loads and Edits Gradle Properties File. + * + * @param {String} platformDir is the path of the Android platform directory + */ + constructor (platformDir) { + this._defaults = { + // 10 seconds -> 6 seconds + 'org.gradle.daemon': 'true', + + // to allow dex in process + 'org.gradle.jvmargs': '-Xmx2048m', + + // allow NDK to be used - required by Gradle 1.5 plugin + 'android.useDeprecatedNdk': 'true' + + // Shaves another 100ms, but produces a "try at own risk" warning. Not worth it (yet): + // 'org.gradle.parallel': 'true' + }; + + this.gradleFilePath = path.join(platformDir, 'gradle.properties'); + } + + configure (userConfigs) { + events.emit('verbose', '[Gradle Properties] Preparing Configuration'); + + this._initializeEditor(); + + events.emit('verbose', '[Gradle Properties] Appending default configuration properties'); + this._configureProperties(this._defaults); + + events.emit('verbose', '[Gradle Properties] Appending custom configuration properties'); + this._configureProperties(userConfigs); + + this._save(); + } + + /** + * Initialize the properties editor for parsing, setting, etc. + */ + _initializeEditor () { + // Touch empty gradle.properties file if missing. + if (!fs.existsSync(this.gradleFilePath)) { + events.emit('verbose', '[Gradle Properties] File missing, creating file with Cordova defaults.'); + fs.writeFileSync(this.gradleFilePath, '', 'utf-8'); + } + + // Create an editor for parsing, getting, and setting configurations. + this.gradleFile = propertiesParser.createEditor(this.gradleFilePath); + } + + /** + * Validate that defaults or user configuration properties are set and + * set the missing items. + */ + _configureProperties (properties) { + // Iterate though the properties and set only if missing. + Object.keys(properties).forEach(key => { + let value = this.gradleFile.get(key); + + if (!value) { + events.emit('verbose', `[Gradle Properties] Appending configuration item: ${key}=${properties[key]}`); + this.gradleFile.set(key, properties[key]); + } else if (value !== properties[key]) { + events.emit('info', `[Gradle Properties] Detected Gradle property "${key}" with the value of "${value}", Cordova's recommended value is "${properties[key]}"`); + } + }); + } + + /** + * Saves any changes that has been made to the properties file. + */ + _save () { + events.emit('verbose', '[Gradle Properties] Updating and Saving File'); + this.gradleFile.save(); + } +} + +module.exports = GradlePropertiesParser; diff --git a/demo/platforms/android/cordova/lib/device.js b/demo/platforms/android/cordova/lib/device.js index e30d044..1559e9b 100644 --- a/demo/platforms/android/cordova/lib/device.js +++ b/demo/platforms/android/cordova/lib/device.js @@ -19,7 +19,6 @@ under the License. */ -var Q = require('q'); var build = require('./build'); var path = require('path'); var Adb = require('./Adb'); @@ -53,13 +52,13 @@ module.exports.list = function (lookHarder) { module.exports.resolveTarget = function (target) { return this.list(true).then(function (device_list) { if (!device_list || !device_list.length) { - return Q.reject(new CordovaError('Failed to deploy to device, no devices found.')); + return Promise.reject(new CordovaError('Failed to deploy to device, no devices found.')); } // default device target = target || device_list[0]; if (device_list.indexOf(target) < 0) { - return Q.reject('ERROR: Unable to find target \'' + target + '\'.'); + return Promise.reject(new CordovaError('ERROR: Unable to find target \'' + target + '\'.')); } return build.detectArchitecture(target).then(function (arch) { @@ -74,20 +73,20 @@ module.exports.resolveTarget = function (target) { * Returns a promise. */ module.exports.install = function (target, buildResults) { - return Q().then(function () { + return Promise.resolve().then(function () { if (target && typeof target === 'object') { return target; } return module.exports.resolveTarget(target); }).then(function (resolvedTarget) { var apk_path = build.findBestApkForArchitecture(buildResults, resolvedTarget.arch); - var manifest = new AndroidManifest(path.join(__dirname, '../../AndroidManifest.xml')); + var manifest = new AndroidManifest(path.join(__dirname, '../../app/src/main/AndroidManifest.xml')); var pkgName = manifest.getPackageId(); var launchName = pkgName + '/.' + manifest.getActivity().getName(); events.emit('log', 'Using apk: ' + apk_path); events.emit('log', 'Package name: ' + pkgName); - return Adb.install(resolvedTarget.target, apk_path, {replace: true}).catch(function (error) { + return Adb.install(resolvedTarget.target, apk_path, { replace: true }).catch(function (error) { // CB-9557 CB-10157 only uninstall and reinstall app if the one that // is already installed on device was signed w/different certificate if (!/INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES/.test(error.toString())) { throw error; } @@ -98,7 +97,7 @@ module.exports.install = function (target, buildResults) { // This promise is always resolved, even if 'adb uninstall' fails to uninstall app // or the app doesn't installed at all, so no error catching needed. return Adb.uninstall(resolvedTarget.target, pkgName).then(function () { - return Adb.install(resolvedTarget.target, apk_path, {replace: true}); + return Adb.install(resolvedTarget.target, apk_path, { replace: true }); }); }).then(function () { // unlock screen diff --git a/demo/platforms/android/cordova/lib/emulator.js b/demo/platforms/android/cordova/lib/emulator.js index edb7c80..fcdc170 100644 --- a/demo/platforms/android/cordova/lib/emulator.js +++ b/demo/platforms/android/cordova/lib/emulator.js @@ -19,8 +19,6 @@ under the License. */ -/* jshint sub:true */ - var android_versions = require('android-versions'); var retry = require('./retry'); var build = require('./build'); @@ -34,7 +32,6 @@ var shelljs = require('shelljs'); var android_sdk = require('./android_sdk'); var check_reqs = require('./check_reqs'); -var Q = require('q'); var os = require('os'); var fs = require('fs'); var child_process = require('child_process'); @@ -170,15 +167,13 @@ module.exports.list_images_using_android = function () { } */ module.exports.list_images = function () { - return Q.fcall(function () { + return Promise.resolve().then(function () { if (forgivingWhichSync('avdmanager')) { return module.exports.list_images_using_avdmanager(); } else if (forgivingWhichSync('android')) { return module.exports.list_images_using_android(); } else { - return Q().then(function () { - throw new CordovaError('Could not find either `android` or `avdmanager` on your $PATH! Are you sure the Android SDK is installed and available?'); - }); + return Promise.reject(new CordovaError('Could not find either `android` or `avdmanager` on your $PATH! Are you sure the Android SDK is installed and available?')); } }).then(function (avds) { // In case we're missing the Android OS version string from the target description, add it. @@ -187,7 +182,9 @@ module.exports.list_images = function () { var api_level = avd.target.match(/\d+/); if (api_level) { var level = android_versions.get(api_level); - avd.target = 'Android ' + level.semver + ' (API level ' + api_level + ')'; + if (level) { + avd.target = 'Android ' + level.semver + ' (API level ' + api_level + ')'; + } } } return avd; @@ -226,13 +223,13 @@ module.exports.best_image = function () { // Returns a promise. module.exports.list_started = function () { - return Adb.devices({emulators: true}); + return Adb.devices({ emulators: true }); }; // Returns a promise. // TODO: we should remove this, there's a more robust method under android_sdk.js module.exports.list_targets = function () { - return superspawn.spawn('android', ['list', 'targets'], {cwd: os.tmpdir()}).then(function (output) { + return superspawn.spawn('android', ['list', 'targets'], { cwd: os.tmpdir() }).then(function (output) { var target_out = output.split('\n'); var targets = []; for (var i = target_out.length; i >= 0; i--) { @@ -275,8 +272,8 @@ module.exports.get_available_port = function () { module.exports.start = function (emulator_ID, boot_timeout) { var self = this; - return Q().then(function () { - if (emulator_ID) return Q(emulator_ID); + return Promise.resolve().then(function () { + if (emulator_ID) return Promise.resolve(emulator_ID); return self.best_image().then(function (best) { if (best && best.name) { @@ -285,7 +282,7 @@ module.exports.start = function (emulator_ID, boot_timeout) { } var androidCmd = check_reqs.getAbsoluteAndroidCmd(); - return Q.reject(new CordovaError('No emulator images (avds) found.\n' + + return Promise.reject(new CordovaError('No emulator images (avds) found.\n' + '1. Download desired System Image by running: ' + androidCmd + ' sdk\n' + '2. Create an AVD by running: ' + androidCmd + ' avd\n' + 'HINT: For a faster emulator, use an Intel System Image and install the HAXM device driver\n')); @@ -306,7 +303,7 @@ module.exports.start = function (emulator_ID, boot_timeout) { return self.wait_for_emulator(port); }); }).then(function (emulatorId) { - if (!emulatorId) { return Q.reject(new CordovaError('Failed to start emulator')); } + if (!emulatorId) { return Promise.reject(new CordovaError('Failed to start emulator')); } // wait for emulator to boot up process.stdout.write('Waiting for emulator to boot (this may take a while)...'); @@ -332,7 +329,7 @@ module.exports.start = function (emulator_ID, boot_timeout) { */ module.exports.wait_for_emulator = function (port) { var self = this; - return Q().then(function () { + return Promise.resolve().then(function () { var emulator_id = 'emulator-' + port; return Adb.shell(emulator_id, 'getprop dev.bootcomplete').then(function (output) { if (output.indexOf('1') >= 0) { @@ -342,7 +339,9 @@ module.exports.wait_for_emulator = function (port) { }, function (error) { if ((error && error.message && (error.message.indexOf('not found') > -1)) || - (error.message.indexOf('device offline') > -1)) { + (error.message.indexOf('device offline') > -1) || + (error.message.indexOf('device still connecting') > -1) || + (error.message.indexOf('device still authorizing') > -1)) { // emulator not yet started, continue waiting return self.wait_for_emulator(port); } else { @@ -368,10 +367,13 @@ module.exports.wait_for_boot = function (emulator_id, time_remaining) { } else { process.stdout.write('.'); - // Check at regular intervals - return Q.delay(time_remaining < CHECK_BOOTED_INTERVAL ? time_remaining : CHECK_BOOTED_INTERVAL).then(function () { - var updated_time = time_remaining >= 0 ? Math.max(time_remaining - CHECK_BOOTED_INTERVAL, 0) : time_remaining; - return self.wait_for_boot(emulator_id, updated_time); + return new Promise(resolve => { + const delay = time_remaining < CHECK_BOOTED_INTERVAL ? time_remaining : CHECK_BOOTED_INTERVAL; + + setTimeout(() => { + const updated_time = time_remaining >= 0 ? Math.max(time_remaining - CHECK_BOOTED_INTERVAL, 0) : time_remaining; + resolve(self.wait_for_boot(emulator_id, updated_time)); + }, delay); }); } }); @@ -397,7 +399,7 @@ module.exports.create_image = function (name, target) { // TODO: This seems like another error case, even though it always happens. console.error('ERROR : Unable to create an avd emulator, no targets found.'); console.error('Ensure you have targets available by running the "android" command'); - return Q.reject(); + return Promise.reject(new CordovaError()); }, function (error) { console.error('ERROR : Failed to create emulator image : '); console.error(error); @@ -408,17 +410,17 @@ module.exports.create_image = function (name, target) { module.exports.resolveTarget = function (target) { return this.list_started().then(function (emulator_list) { if (emulator_list.length < 1) { - return Q.reject('No running Android emulators found, please start an emulator before deploying your project.'); + return Promise.reject(new CordovaError('No running Android emulators found, please start an emulator before deploying your project.')); } // default emulator target = target || emulator_list[0]; if (emulator_list.indexOf(target) < 0) { - return Q.reject('Unable to find target \'' + target + '\'. Failed to deploy to emulator.'); + return Promise.reject(new CordovaError('Unable to find target \'' + target + '\'. Failed to deploy to emulator.')); } return build.detectArchitecture(target).then(function (arch) { - return {target: target, arch: arch, isEmulator: true}; + return { target: target, arch: arch, isEmulator: true }; }); }); }; @@ -432,11 +434,13 @@ module.exports.resolveTarget = function (target) { module.exports.install = function (givenTarget, buildResults) { var target; - var manifest = new AndroidManifest(path.join(__dirname, '../../AndroidManifest.xml')); - var pkgName = manifest.getPackageId(); + // We need to find the proper path to the Android Manifest + const manifestPath = path.join(__dirname, '..', '..', 'app', 'src', 'main', 'AndroidManifest.xml'); + const manifest = new AndroidManifest(manifestPath); + const pkgName = manifest.getPackageId(); // resolve the target emulator - return Q().then(function () { + return Promise.resolve().then(function () { if (givenTarget && typeof givenTarget === 'object') { return givenTarget; } else { @@ -451,7 +455,7 @@ module.exports.install = function (givenTarget, buildResults) { }).then(function () { // This promise is always resolved, even if 'adb uninstall' fails to uninstall app // or the app doesn't installed at all, so no error catching needed. - return Q.when().then(function () { + return Promise.resolve().then(function () { var apk_path = build.findBestApkForArchitecture(buildResults, target.arch); var execOptions = { @@ -471,7 +475,7 @@ module.exports.install = function (givenTarget, buildResults) { events.emit('verbose', 'Installing apk ' + apk + ' on ' + target + '...'); var command = 'adb -s ' + target + ' install -r "' + apk + '"'; - return Q.promise(function (resolve, reject) { + return new Promise(function (resolve, reject) { child_process.exec(command, opts, function (err, stdout, stderr) { if (err) reject(new CordovaError('Error executing "' + command + '": ' + stderr)); // adb does not return an error code even if installation fails. Instead it puts a specific diff --git a/demo/platforms/android/cordova/lib/install-device b/demo/platforms/android/cordova/lib/install-device old mode 100644 new mode 100755 index fc4b784..0387388 --- a/demo/platforms/android/cordova/lib/install-device +++ b/demo/platforms/android/cordova/lib/install-device @@ -19,23 +19,23 @@ under the License. */ -var device = require('./device'), - args = process.argv; +var device = require('./device'); +var args = process.argv; -if(args.length > 2) { +if (args.length > 2) { var install_target; - if (args[2].substring(0, 9) == '--target=') { + if (args[2].substring(0, 9) === '--target=') { install_target = args[2].substring(9, args[2].length); - device.install(install_target).done(null, function(err) { + device.install(install_target).catch(function (err) { console.error('ERROR: ' + err); process.exit(2); }); - } else { + } else { console.error('ERROR : argument \'' + args[2] + '\' not recognized.'); process.exit(2); - } + } } else { - device.install().done(null, function(err) { + device.install().catch(function (err) { console.error('ERROR: ' + err); process.exit(2); }); diff --git a/demo/platforms/android/cordova/lib/install-emulator b/demo/platforms/android/cordova/lib/install-emulator old mode 100644 new mode 100755 index aa2a34f..2d46dbe --- a/demo/platforms/android/cordova/lib/install-emulator +++ b/demo/platforms/android/cordova/lib/install-emulator @@ -19,20 +19,20 @@ under the License. */ -var emulator = require('./emulator'), - args = process.argv; +var emulator = require('./emulator'); +var args = process.argv; var install_target; -if(args.length > 2) { - if (args[2].substring(0, 9) == '--target=') { +if (args.length > 2) { + if (args[2].substring(0, 9) === '--target=') { install_target = args[2].substring(9, args[2].length); - } else { + } else { console.error('ERROR : argument \'' + args[2] + '\' not recognized.'); process.exit(2); - } + } } -emulator.install(install_target).done(null, function(err) { +emulator.install(install_target).catch(function (err) { console.error('ERROR: ' + err); process.exit(2); }); diff --git a/demo/platforms/android/cordova/lib/list-devices b/demo/platforms/android/cordova/lib/list-devices old mode 100644 new mode 100755 index 8e22c7f..339c665 --- a/demo/platforms/android/cordova/lib/list-devices +++ b/demo/platforms/android/cordova/lib/list-devices @@ -22,12 +22,12 @@ var devices = require('./device'); // Usage support for when args are given -require('./check_reqs').check_android().then(function() { - devices.list().done(function(device_list) { - device_list && device_list.forEach(function(dev) { +require('./check_reqs').check_android().then(function () { + devices.list().then(function (device_list) { + device_list && device_list.forEach(function (dev) { console.log(dev); }); - }, function(err) { + }, function (err) { console.error('ERROR: ' + err); process.exit(2); }); diff --git a/demo/platforms/android/cordova/lib/list-emulator-images b/demo/platforms/android/cordova/lib/list-emulator-images old mode 100644 new mode 100755 index 25e5c81..03cfb19 --- a/demo/platforms/android/cordova/lib/list-emulator-images +++ b/demo/platforms/android/cordova/lib/list-emulator-images @@ -22,12 +22,12 @@ var emulators = require('./emulator'); // Usage support for when args are given -require('./check_reqs').check_android().then(function() { - emulators.list_images().done(function(emulator_list) { - emulator_list && emulator_list.forEach(function(emu) { +require('./check_reqs').check_android().then(function () { + emulators.list_images().then(function (emulator_list) { + emulator_list && emulator_list.forEach(function (emu) { console.log(emu.name); }); - }, function(err) { + }, function (err) { console.error('ERROR: ' + err); process.exit(2); }); diff --git a/demo/platforms/android/cordova/lib/list-started-emulators b/demo/platforms/android/cordova/lib/list-started-emulators old mode 100644 new mode 100755 index 43ebda2..2a83e03 --- a/demo/platforms/android/cordova/lib/list-started-emulators +++ b/demo/platforms/android/cordova/lib/list-started-emulators @@ -22,12 +22,12 @@ var emulators = require('./emulator'); // Usage support for when args are given -require('./check_reqs').check_android().then(function() { - emulators.list_started().done(function(emulator_list) { - emulator_list && emulator_list.forEach(function(emu) { +require('./check_reqs').check_android().then(function () { + emulators.list_started().then(function (emulator_list) { + emulator_list && emulator_list.forEach(function (emu) { console.log(emu); }); - }, function(err) { + }, function (err) { console.error('ERROR: ' + err); process.exit(2); }); diff --git a/demo/platforms/android/cordova/lib/log.js b/demo/platforms/android/cordova/lib/log.js index ef2dd5c..ec69f8c 100644 --- a/demo/platforms/android/cordova/lib/log.js +++ b/demo/platforms/android/cordova/lib/log.js @@ -31,7 +31,7 @@ var ROOT = path.join(__dirname, '..', '..'); */ module.exports.run = function () { var d = Q.defer(); - var adb = child_process.spawn('adb', ['logcat'], {cwd: os.tmpdir()}); + var adb = child_process.spawn('adb', ['logcat'], { cwd: os.tmpdir() }); adb.stdout.on('data', function (data) { var lines = data ? data.toString().split('\n') : []; diff --git a/demo/platforms/android/cordova/lib/plugin-build.gradle b/demo/platforms/android/cordova/lib/plugin-build.gradle index bf8c59a..032b870 100644 --- a/demo/platforms/android/cordova/lib/plugin-build.gradle +++ b/demo/platforms/android/cordova/lib/plugin-build.gradle @@ -20,10 +20,8 @@ buildscript { repositories { + google() jcenter() - maven { - url "https://maven.google.com" - } } // Switch the Android Gradle plugin version requirement depending on the @@ -38,7 +36,7 @@ buildscript { apply plugin: 'com.android.library' dependencies { - compile fileTree(dir: 'libs', include: '*.jar') + implementation fileTree(dir: 'libs', include: '*.jar') debugCompile project(path: ":CordovaLib", configuration: "debug") releaseCompile project(path: ":CordovaLib", configuration: "release") } @@ -46,7 +44,6 @@ dependencies { android { compileSdkVersion cdvCompileSdkVersion buildToolsVersion cdvBuildToolsVersion - publishNonDefault true compileOptions { sourceCompatibility JavaVersion.VERSION_1_6 diff --git a/demo/platforms/android/cordova/lib/pluginHandlers.js b/demo/platforms/android/cordova/lib/pluginHandlers.js index d14baba..6d1a733 100644 --- a/demo/platforms/android/cordova/lib/pluginHandlers.js +++ b/demo/platforms/android/cordova/lib/pluginHandlers.js @@ -1,7 +1,4 @@ /* - * - * Copyright 2013 Anis Kadri - * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -17,8 +14,6 @@ * */ -/* jshint unused: vars */ - var fs = require('fs'); var path = require('path'); var shell = require('shelljs'); @@ -31,11 +26,7 @@ var handlers = { if (!obj.src) throw new CordovaError(generateAttributeError('src', 'source-file', plugin.id)); if (!obj.targetDir) throw new CordovaError(generateAttributeError('target-dir', 'source-file', plugin.id)); - var dest = path.join(obj.targetDir, path.basename(obj.src)); - - if (options && options.android_studio === true) { - dest = path.join('app/src/main/java', obj.targetDir.substring(4), path.basename(obj.src)); - } + var dest = getInstallDestination(obj); if (options && options.force) { copyFile(plugin.dir, obj.src, project.projectDir, dest, !!(options && options.link)); @@ -44,37 +35,35 @@ var handlers = { } }, uninstall: function (obj, plugin, project, options) { - var dest = path.join(obj.targetDir, path.basename(obj.src)); + var dest = getInstallDestination(obj); - if (options && options.android_studio === true) { - dest = path.join('app/src/main/java', obj.targetDir.substring(4), path.basename(obj.src)); + // TODO: Add Koltin extension to uninstall, since they are handled like Java files + if (obj.src.endsWith('java')) { + deleteJava(project.projectDir, dest); + } else { + // Just remove the file, not the whole parent directory + removeFile(project.projectDir, dest); } - - deleteJava(project.projectDir, dest); } }, 'lib-file': { install: function (obj, plugin, project, options) { - var dest = path.join('libs', path.basename(obj.src)); - if (options && options.android_studio === true) { - dest = path.join('app/libs', path.basename(obj.src)); - } + var dest = path.join('app/libs', path.basename(obj.src)); copyFile(plugin.dir, obj.src, project.projectDir, dest, !!(options && options.link)); }, uninstall: function (obj, plugin, project, options) { - var dest = path.join('libs', path.basename(obj.src)); - if (options && options.android_studio === true) { - dest = path.join('app/libs', path.basename(obj.src)); - } + var dest = path.join('app/libs', path.basename(obj.src)); removeFile(project.projectDir, dest); } }, 'resource-file': { install: function (obj, plugin, project, options) { - copyFile(plugin.dir, obj.src, project.projectDir, path.normalize(obj.target), !!(options && options.link)); + var dest = path.join('app', 'src', 'main', obj.target); + copyFile(plugin.dir, obj.src, project.projectDir, dest, !!(options && options.link)); }, uninstall: function (obj, plugin, project, options) { - removeFile(project.projectDir, path.normalize(obj.target)); + var dest = path.join('app', 'src', 'main', obj.target); + removeFile(project.projectDir, dest); } }, 'framework': { @@ -302,3 +291,44 @@ function removeFileAndParents (baseDir, destFile, stopper) { function generateAttributeError (attribute, element, id) { return 'Required attribute "' + attribute + '" not specified in <' + element + '> element from plugin: ' + id; } + +function getInstallDestination (obj) { + var APP_MAIN_PREFIX = 'app/src/main'; + var PATH_SEPARATOR = '/'; + + var PATH_SEP_MATCH = '\\' + PATH_SEPARATOR; + var PATH_SEP_OR_EOL_MATCH = '(\\' + PATH_SEPARATOR + '|$)'; + + var appReg = new RegExp('^app' + PATH_SEP_OR_EOL_MATCH); + var libsReg = new RegExp('^libs' + PATH_SEP_OR_EOL_MATCH); + var srcReg = new RegExp('^src' + PATH_SEP_OR_EOL_MATCH); + var srcMainReg = new RegExp('^src' + PATH_SEP_MATCH + 'main' + PATH_SEP_OR_EOL_MATCH); + + if (appReg.test(obj.targetDir)) { + // If any source file is using the new app directory structure, + // don't penalize it + return path.join(obj.targetDir, path.basename(obj.src)); + } else { + // Plugin using deprecated target directory structure (GH-580) + if (obj.src.endsWith('.java')) { + return path.join(APP_MAIN_PREFIX, 'java', obj.targetDir.replace(srcReg, ''), + path.basename(obj.src)); + } else if (obj.src.endsWith('.aidl')) { + return path.join(APP_MAIN_PREFIX, 'aidl', obj.targetDir.replace(srcReg, ''), + path.basename(obj.src)); + } else if (libsReg.test(obj.targetDir)) { + if (obj.src.endsWith('.so')) { + return path.join(APP_MAIN_PREFIX, 'jniLibs', obj.targetDir.replace(libsReg, ''), + path.basename(obj.src)); + } else { + return path.join('app', obj.targetDir, path.basename(obj.src)); + } + } else if (srcMainReg.test(obj.targetDir)) { + return path.join('app', obj.targetDir, path.basename(obj.src)); + } + + // For all other source files not using the new app directory structure, + // add 'app/src/main' to the targetDir + return path.join(APP_MAIN_PREFIX, obj.targetDir, path.basename(obj.src)); + } +} diff --git a/demo/platforms/android/cordova/lib/prepare.js b/demo/platforms/android/cordova/lib/prepare.js index 39f9ae4..49e0a7d 100644 --- a/demo/platforms/android/cordova/lib/prepare.js +++ b/demo/platforms/android/cordova/lib/prepare.js @@ -33,6 +33,8 @@ var PlatformJson = require('cordova-common').PlatformJson; var PlatformMunger = require('cordova-common').ConfigChanges.PlatformMunger; var PluginInfoProvider = require('cordova-common').PluginInfoProvider; +const GradlePropertiesParser = require('./config/GradlePropertiesParser'); + module.exports.prepare = function (cordovaProject, options) { var self = this; @@ -41,6 +43,15 @@ module.exports.prepare = function (cordovaProject, options) { this._config = updateConfigFilesFrom(cordovaProject.projectConfig, munger, this.locations); + // Get the min SDK version from config.xml + const minSdkVersion = this._config.getPreference('android-minSdkVersion', 'android'); + + let gradlePropertiesUserConfig = {}; + if (minSdkVersion) gradlePropertiesUserConfig.cdvMinSdkVersion = minSdkVersion; + + let gradlePropertiesParser = new GradlePropertiesParser(this.locations.root); + gradlePropertiesParser.configure(gradlePropertiesUserConfig); + // Update own www dir with project's www assets and plugins' assets and js-files return Q.when(updateWww(cordovaProject, this.locations)).then(function () { // update project according to config.xml changes. @@ -178,7 +189,7 @@ function updateProjectAccordingTo (platformConfig, locations) { strings.find('string[@name="launcher_name"]').text = shortName.replace(/\'/g, '\\\''); } - fs.writeFileSync(locations.strings, strings.write({indent: 4}), 'utf-8'); + fs.writeFileSync(locations.strings, strings.write({ indent: 4 }), 'utf-8'); events.emit('verbose', 'Wrote out android application name "' + name + '" to ' + locations.strings); // Java packages cannot support dashes @@ -199,7 +210,8 @@ function updateProjectAccordingTo (platformConfig, locations) { .setTargetSdkVersion(platformConfig.getPreference('android-targetSdkVersion', 'android')) .write(); - var javaPattern = path.join(locations.root, 'src', manifestId.replace(/\./g, '/'), '*.java'); + // Java file paths shouldn't be hard coded + var javaPattern = path.join(locations.javaSrc, manifestId.replace(/\./g, '/'), '*.java'); var java_files = shell.ls(javaPattern).filter(function (f) { return shell.grep(/extends\s+CordovaActivity/g, f); }); @@ -210,7 +222,7 @@ function updateProjectAccordingTo (platformConfig, locations) { events.emit('log', 'Multiple candidate Java files that extend CordovaActivity found. Guessing at the first one, ' + java_files[0]); } - var destFile = path.join(locations.root, 'src', androidPkgName.replace(/\./g, '/'), path.basename(java_files[0])); + var destFile = path.join(locations.root, 'app', 'src', 'main', 'java', androidPkgName.replace(/\./g, '/'), path.basename(java_files[0])); shell.mkdir('-p', path.dirname(destFile)); shell.sed(/package [\w\.]*;/, 'package ' + androidPkgName + ';', java_files[0]).to(destFile); events.emit('verbose', 'Wrote out Android package name "' + androidPkgName + '" to ' + destFile); @@ -264,6 +276,14 @@ function getImageResourcePath (resourcesDir, type, density, name, sourceName) { return resourcePath; } +function getAdaptiveImageResourcePath (resourcesDir, type, density, name, sourceName) { + if (/\.9\.png$/.test(sourceName)) { + name = name.replace(/\.png$/, '.9.png'); + } + var resourcePath = path.join(resourcesDir, (density ? type + '-' + density + '-v26' : type), name); + return resourcePath; +} + function updateSplashes (cordovaProject, platformResourcesDir) { var resources = cordovaProject.projectConfig.getSplashScreens('android'); @@ -313,20 +333,197 @@ function cleanSplashes (projectRoot, projectConfig, platformResourcesDir) { } function updateIcons (cordovaProject, platformResourcesDir) { - var icons = cordovaProject.projectConfig.getIcons('android'); + let icons = cordovaProject.projectConfig.getIcons('android'); - // if there are icon elements in config.xml + // Skip if there are no app defined icons in config.xml if (icons.length === 0) { events.emit('verbose', 'This app does not have launcher icons defined'); return; } - var resourceMap = mapImageResources(cordovaProject.root, platformResourcesDir, 'mipmap', 'icon.png'); + // 1. loop icons determin if there is an error in the setup. + // 2. during initial loop, also setup for legacy support. + let errorMissingAttributes = []; + let errorLegacyIconNeeded = []; + let hasAdaptive = false; + icons.forEach((icon, key) => { + if ( + (icon.background && !icon.foreground) + || (!icon.background && icon.foreground) + || (!icon.background && !icon.foreground && !icon.src) + ) { + errorMissingAttributes.push(icon.density ? icon.density : 'size=' + (icon.height || icon.width)); + } + + if (icon.foreground) { + hasAdaptive = true; + + if ( + !icon.src + && ( + icon.foreground.startsWith('@color') + || path.extname(path.basename(icon.foreground)) === '.xml' + ) + ) { + errorLegacyIconNeeded.push(icon.density ? icon.density : 'size=' + (icon.height || icon.width)); + } else if (!icon.src) { + icons[key].src = icon.foreground; + } + } + }); + + let errorMessage = []; + if (errorMissingAttributes.length > 0) { + errorMessage.push('One of the following attributes are set but missing the other for the density type: ' + errorMissingAttributes.join(', ') + '. Please ensure that all require attributes are defined.'); + } + + if (errorLegacyIconNeeded.length > 0) { + errorMessage.push('For the following icons with the density of: ' + errorLegacyIconNeeded.join(', ') + ', adaptive foreground with a defined color or vector can not be used as a standard fallback icon for older Android devices. To support older Android environments, please provide a value for the src attribute.'); + } + + if (errorMessage.length > 0) { + throw new CordovaError(errorMessage.join(' ')); + } - var android_icons = {}; - var default_icon; + let resourceMap = Object.assign( + {}, + mapImageResources(cordovaProject.root, platformResourcesDir, 'mipmap', 'ic_launcher.png'), + mapImageResources(cordovaProject.root, platformResourcesDir, 'mipmap', 'ic_launcher_foreground.png'), + mapImageResources(cordovaProject.root, platformResourcesDir, 'mipmap', 'ic_launcher_background.png'), + mapImageResources(cordovaProject.root, platformResourcesDir, 'mipmap', 'ic_launcher_foreground.xml'), + mapImageResources(cordovaProject.root, platformResourcesDir, 'mipmap', 'ic_launcher_background.xml'), + mapImageResources(cordovaProject.root, platformResourcesDir, 'mipmap', 'ic_launcher.xml') + ); + + let preparedIcons = prepareIcons(icons); + + if (hasAdaptive) { + resourceMap = updateIconResourceForAdaptive(preparedIcons, resourceMap, platformResourcesDir); + } + + resourceMap = updateIconResourceForLegacy(preparedIcons, resourceMap, platformResourcesDir); + + events.emit('verbose', 'Updating icons at ' + platformResourcesDir); + FileUpdater.updatePaths(resourceMap, { rootDir: cordovaProject.root }, logFileOp); +} + +function updateIconResourceForAdaptive (preparedIcons, resourceMap, platformResourcesDir) { + let android_icons = preparedIcons.android_icons; + let default_icon = preparedIcons.default_icon; + + // The source paths for icons and splashes are relative to + // project's config.xml location, so we use it as base path. + let background; + let foreground; + let targetPathBackground; + let targetPathForeground; + + for (let density in android_icons) { + let backgroundVal = '@mipmap/ic_launcher_background'; + let foregroundVal = '@mipmap/ic_launcher_foreground'; + + background = android_icons[density].background; + foreground = android_icons[density].foreground; + + if (background.startsWith('@color')) { + // Colors Use Case + backgroundVal = background; // Example: @color/background_foobar_1 + } else if (path.extname(path.basename(background)) === '.xml') { + // Vector Use Case + targetPathBackground = getAdaptiveImageResourcePath(platformResourcesDir, 'mipmap', density, 'ic_launcher_background.xml', path.basename(android_icons[density].background)); + resourceMap[targetPathBackground] = android_icons[density].background; + } else if (path.extname(path.basename(background)) === '.png') { + // Images Use Case + targetPathBackground = getAdaptiveImageResourcePath(platformResourcesDir, 'mipmap', density, 'ic_launcher_background.png', path.basename(android_icons[density].background)); + resourceMap[targetPathBackground] = android_icons[density].background; + } + + if (foreground.startsWith('@color')) { + // Colors Use Case + foregroundVal = foreground; + } else if (path.extname(path.basename(foreground)) === '.xml') { + // Vector Use Case + targetPathForeground = getAdaptiveImageResourcePath(platformResourcesDir, 'mipmap', density, 'ic_launcher_foreground.xml', path.basename(android_icons[density].foreground)); + resourceMap[targetPathForeground] = android_icons[density].foreground; + } else if (path.extname(path.basename(foreground)) === '.png') { + // Images Use Case + targetPathForeground = getAdaptiveImageResourcePath(platformResourcesDir, 'mipmap', density, 'ic_launcher_foreground.png', path.basename(android_icons[density].foreground)); + resourceMap[targetPathForeground] = android_icons[density].foreground; + } + + // create an XML for DPI and set color + const icLauncherTemplate = ` + + + +`; + + let launcherXmlPath = path.join(platformResourcesDir, 'mipmap-' + density + '-v26', 'ic_launcher.xml'); + + // Remove the XML from the resourceMap so the file does not get removed. + delete resourceMap[launcherXmlPath]; + + fs.writeFileSync(path.resolve(launcherXmlPath), icLauncherTemplate); + } + + // There's no "default" drawable, so assume default == mdpi. + if (default_icon && !android_icons.mdpi) { + let defaultTargetPathBackground; + let defaultTargetPathForeground; + + if (background.startsWith('@color')) { + // Colors Use Case + targetPathBackground = default_icon.background; + } else if (path.extname(path.basename(background)) === '.xml') { + // Vector Use Case + defaultTargetPathBackground = getAdaptiveImageResourcePath(platformResourcesDir, 'mipmap', 'mdpi', 'ic_launcher_background.xml', path.basename(default_icon.background)); + resourceMap[defaultTargetPathBackground] = default_icon.background; + } else if (path.extname(path.basename(background)) === '.png') { + // Images Use Case + defaultTargetPathBackground = getAdaptiveImageResourcePath(platformResourcesDir, 'mipmap', 'mdpi', 'ic_launcher_background.png', path.basename(default_icon.background)); + resourceMap[defaultTargetPathBackground] = default_icon.background; + } + + if (foreground.startsWith('@color')) { + // Colors Use Case + targetPathForeground = default_icon.foreground; + } else if (path.extname(path.basename(foreground)) === '.xml') { + // Vector Use Case + defaultTargetPathForeground = getAdaptiveImageResourcePath(platformResourcesDir, 'mipmap', 'mdpi', 'ic_launcher_foreground.xml', path.basename(default_icon.foreground)); + resourceMap[defaultTargetPathForeground] = default_icon.foreground; + } else if (path.extname(path.basename(foreground)) === '.png') { + // Images Use Case + defaultTargetPathForeground = getAdaptiveImageResourcePath(platformResourcesDir, 'mipmap', 'mdpi', 'ic_launcher_foreground.png', path.basename(default_icon.foreground)); + resourceMap[defaultTargetPathForeground] = default_icon.foreground; + } + } + + return resourceMap; +} + +function updateIconResourceForLegacy (preparedIcons, resourceMap, platformResourcesDir) { + let android_icons = preparedIcons.android_icons; + let default_icon = preparedIcons.default_icon; + + // The source paths for icons and splashes are relative to + // project's config.xml location, so we use it as base path. + for (var density in android_icons) { + var targetPath = getImageResourcePath(platformResourcesDir, 'mipmap', density, 'ic_launcher.png', path.basename(android_icons[density].src)); + resourceMap[targetPath] = android_icons[density].src; + } + + // There's no "default" drawable, so assume default == mdpi. + if (default_icon && !android_icons.mdpi) { + var defaultTargetPath = getImageResourcePath(platformResourcesDir, 'mipmap', 'mdpi', 'ic_launcher.png', path.basename(default_icon.src)); + resourceMap[defaultTargetPath] = default_icon.src; + } + + return resourceMap; +} + +function prepareIcons (icons) { // http://developer.android.com/design/style/iconography.html - var sizeToDensityMap = { + const SIZE_TO_DENSITY_MAP = { 36: 'ldpi', 48: 'mdpi', 72: 'hdpi', @@ -334,11 +531,15 @@ function updateIcons (cordovaProject, platformResourcesDir) { 144: 'xxhdpi', 192: 'xxxhdpi' }; + + let android_icons = {}; + let default_icon; + // find the best matching icon for a given density or size // @output android_icons var parseIcon = function (icon, icon_size) { // do I have a platform icon for that density already - var density = icon.density || sizeToDensityMap[icon_size]; + var density = icon.density || SIZE_TO_DENSITY_MAP[icon_size]; if (!density) { // invalid icon defition ( or unsupported size) return; @@ -354,12 +555,34 @@ function updateIcons (cordovaProject, platformResourcesDir) { for (var i = 0; i < icons.length; i++) { var icon = icons[i]; var size = icon.width; + if (!size) { size = icon.height; } + if (!size && !icon.density) { if (default_icon) { - events.emit('verbose', 'Found extra default icon: ' + icon.src + ' (ignoring in favor of ' + default_icon.src + ')'); + let found = {}; + let favor = {}; + + // populating found icon. + if (icon.background && icon.foreground) { + found.background = icon.background; + found.foreground = icon.foreground; + } + if (icon.src) { + found.src = icon.src; + } + + if (default_icon.background && default_icon.foreground) { + favor.background = default_icon.background; + favor.foreground = default_icon.foreground; + } + if (default_icon.src) { + favor.src = default_icon.src; + } + + events.emit('verbose', 'Found extra default icon: ' + JSON.stringify(found) + ' and ignoring in favor of ' + JSON.stringify(favor) + '.'); } else { default_icon = icon; } @@ -368,36 +591,35 @@ function updateIcons (cordovaProject, platformResourcesDir) { } } - // The source paths for icons and splashes are relative to - // project's config.xml location, so we use it as base path. - for (var density in android_icons) { - var targetPath = getImageResourcePath( - platformResourcesDir, 'mipmap', density, 'icon.png', path.basename(android_icons[density].src)); - resourceMap[targetPath] = android_icons[density].src; - } - - // There's no "default" drawable, so assume default == mdpi. - if (default_icon && !android_icons.mdpi) { - var defaultTargetPath = getImageResourcePath( - platformResourcesDir, 'mipmap', 'mdpi', 'icon.png', path.basename(default_icon.src)); - resourceMap[defaultTargetPath] = default_icon.src; - } - - events.emit('verbose', 'Updating icons at ' + platformResourcesDir); - FileUpdater.updatePaths( - resourceMap, { rootDir: cordovaProject.root }, logFileOp); + return { + android_icons: android_icons, + default_icon: default_icon + }; } function cleanIcons (projectRoot, projectConfig, platformResourcesDir) { var icons = projectConfig.getIcons('android'); - if (icons.length > 0) { - var resourceMap = mapImageResources(projectRoot, platformResourcesDir, 'mipmap', 'icon.png'); - events.emit('verbose', 'Cleaning icons at ' + platformResourcesDir); - // No source paths are specified in the map, so updatePaths() will delete the target files. - FileUpdater.updatePaths( - resourceMap, { rootDir: projectRoot, all: true }, logFileOp); + // Skip if there are no app defined icons in config.xml + if (icons.length === 0) { + events.emit('verbose', 'This app does not have launcher icons defined'); + return; } + + let resourceMap = Object.assign( + {}, + mapImageResources(projectRoot, platformResourcesDir, 'mipmap', 'ic_launcher.png'), + mapImageResources(projectRoot, platformResourcesDir, 'mipmap', 'ic_launcher_foreground.png'), + mapImageResources(projectRoot, platformResourcesDir, 'mipmap', 'ic_launcher_background.png'), + mapImageResources(projectRoot, platformResourcesDir, 'mipmap', 'ic_launcher_foreground.xml'), + mapImageResources(projectRoot, platformResourcesDir, 'mipmap', 'ic_launcher_background.xml'), + mapImageResources(projectRoot, platformResourcesDir, 'mipmap', 'ic_launcher.xml') + ); + + events.emit('verbose', 'Cleaning icons at ' + platformResourcesDir); + + // No source paths are specified in the map, so updatePaths() will delete the target files. + FileUpdater.updatePaths(resourceMap, { rootDir: projectRoot, all: true }, logFileOp); } /** @@ -445,7 +667,7 @@ function cleanFileResources (projectRoot, projectConfig, platformDir) { FileUpdater.updatePaths( resourceMap, { - rootDir: projectRoot, all: true}, logFileOp); + rootDir: projectRoot, all: true }, logFileOp); } } diff --git a/demo/platforms/android/cordova/lib/retry.js b/demo/platforms/android/cordova/lib/retry.js index c464b9d..b2b9a44 100644 --- a/demo/platforms/android/cordova/lib/retry.js +++ b/demo/platforms/android/cordova/lib/retry.js @@ -19,8 +19,6 @@ under the License. */ -/* jshint node: true */ - 'use strict'; var events = require('cordova-common').events; @@ -29,21 +27,20 @@ var events = require('cordova-common').events; * Retry a promise-returning function a number of times, propagating its * results on success or throwing its error on a failed final attempt. * - * @arg {Number} attemts_left - The number of times to retry the passed call. + * @arg {Number} attemptsLeft - The number of times to retry the passed call. * @arg {Function} promiseFunction - A function that returns a promise. * @arg {...} - Arguments to pass to promiseFunction. * * @returns {Promise} */ -module.exports.retryPromise = function (attemts_left, promiseFunction) { +module.exports.retryPromise = function (attemptsLeft, promiseFunction) { // NOTE: - // get all trailing arguments, by skipping the first two (attemts_left and + // get all trailing arguments, by skipping the first two (attemptsLeft and // promiseFunction) because they shouldn't get passed to promiseFunction var promiseFunctionArguments = Array.prototype.slice.call(arguments, 2); return promiseFunction.apply(undefined, promiseFunctionArguments).then( - // on success pass results through function onFulfilled (value) { return value; @@ -51,17 +48,16 @@ module.exports.retryPromise = function (attemts_left, promiseFunction) { // on rejection either retry, or throw the error function onRejected (error) { + attemptsLeft -= 1; - attemts_left -= 1; - - if (attemts_left < 1) { + if (attemptsLeft < 1) { throw error; } - events.emit('verbose', 'A retried call failed. Retrying ' + attemts_left + ' more time(s).'); + events.emit('verbose', 'A retried call failed. Retrying ' + attemptsLeft + ' more time(s).'); - // retry call self again with the same arguments, except attemts_left is now lower - var fullArguments = [attemts_left, promiseFunction].concat(promiseFunctionArguments); + // retry call self again with the same arguments, except attemptsLeft is now lower + var fullArguments = [attemptsLeft, promiseFunction].concat(promiseFunctionArguments); return module.exports.retryPromise.apply(undefined, fullArguments); } ); diff --git a/demo/platforms/android/cordova/lib/run.js b/demo/platforms/android/cordova/lib/run.js index b97fce2..221467b 100644 --- a/demo/platforms/android/cordova/lib/run.js +++ b/demo/platforms/android/cordova/lib/run.js @@ -19,10 +19,7 @@ under the License. */ -/* jshint loopfunc:true */ - var path = require('path'); -var build = require('./build'); var emulator = require('./emulator'); var device = require('./device'); var Q = require('q'); @@ -52,6 +49,7 @@ function getInstallTarget (runOptions) { * @return {Promise} */ module.exports.run = function (runOptions) { + runOptions = runOptions || {}; var self = this; var install_target = getInstallTarget(runOptions); @@ -103,16 +101,17 @@ module.exports.run = function (runOptions) { }); }); }).then(function (resolvedTarget) { - // Better just call self.build, but we're doing some processing of - // build results (according to platformApi spec) so they are in different - // format than emulator.install expects. - // TODO: Update emulator/device.install to handle this change - return build.run.call(self, runOptions, resolvedTarget).then(function (buildResults) { - if (resolvedTarget.isEmulator) { + return new Promise((resolve) => { + const builder = require('./builders/builders').getBuilder(); + const buildOptions = require('./build').parseBuildOptions(runOptions, null, self.root); + resolve(builder.fetchBuildResults(buildOptions.buildType, buildOptions.arch)); + }).then(function (buildResults) { + if (resolvedTarget && resolvedTarget.isEmulator) { return emulator.wait_for_boot(resolvedTarget.target).then(function () { return emulator.install(resolvedTarget, buildResults); }); } + return device.install(resolvedTarget, buildResults); }); }); diff --git a/demo/platforms/android/cordova/lib/start-emulator b/demo/platforms/android/cordova/lib/start-emulator old mode 100644 new mode 100755 index f96bdc3..20c92b7 --- a/demo/platforms/android/cordova/lib/start-emulator +++ b/demo/platforms/android/cordova/lib/start-emulator @@ -19,21 +19,20 @@ under the License. */ -var emulator = require('./emulator'), - args = process.argv; +var emulator = require('./emulator'); +var args = process.argv; var install_target; -if(args.length > 2) { - if (args[2].substring(0, 9) == '--target=') { +if (args.length > 2) { + if (args[2].substring(0, 9) === '--target=') { install_target = args[2].substring(9, args[2].length); - } else { + } else { console.error('ERROR : argument \'' + args[2] + '\' not recognized.'); process.exit(2); - } + } } -emulator.start(install_target).done(null, function(err) { +emulator.start(install_target).catch(function (err) { console.error('ERROR: ' + err); process.exit(2); }); - diff --git a/demo/platforms/android/cordova/log b/demo/platforms/android/cordova/log old mode 100644 new mode 100755 index 47f0605..6829f28 --- a/demo/platforms/android/cordova/log +++ b/demo/platforms/android/cordova/log @@ -19,17 +19,17 @@ under the License. */ -var log = require('./lib/log'), - reqs = require('./lib/check_reqs'), - args = process.argv; +var log = require('./lib/log'); +var reqs = require('./lib/check_reqs'); +var args = process.argv; // Usage support for when args are given -if(args.length > 2) { +if (args.length > 2) { log.help(); } else { - reqs.run().done(function() { + reqs.run().done(function () { return log.run(); - }, function(err) { + }, function (err) { console.error('ERROR: ' + err); process.exit(2); }); diff --git a/demo/platforms/android/cordova/node_modules/.bin/nopt b/demo/platforms/android/cordova/node_modules/.bin/nopt deleted file mode 100644 index 714334e..0000000 --- a/demo/platforms/android/cordova/node_modules/.bin/nopt +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -x "$basedir/node" ]; then - "$basedir/node" "$basedir/../nopt/bin/nopt.js" "$@" - ret=$? -else - node "$basedir/../nopt/bin/nopt.js" "$@" - ret=$? -fi -exit $ret diff --git a/demo/platforms/android/cordova/node_modules/.bin/nopt.cmd b/demo/platforms/android/cordova/node_modules/.bin/nopt.cmd deleted file mode 100644 index 1626454..0000000 --- a/demo/platforms/android/cordova/node_modules/.bin/nopt.cmd +++ /dev/null @@ -1,7 +0,0 @@ -@IF EXIST "%~dp0\node.exe" ( - "%~dp0\node.exe" "%~dp0\..\nopt\bin\nopt.js" %* -) ELSE ( - @SETLOCAL - @SET PATHEXT=%PATHEXT:;.JS;=;% - node "%~dp0\..\nopt\bin\nopt.js" %* -) \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/.bin/semver b/demo/platforms/android/cordova/node_modules/.bin/semver deleted file mode 100644 index d592e69..0000000 --- a/demo/platforms/android/cordova/node_modules/.bin/semver +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -x "$basedir/node" ]; then - "$basedir/node" "$basedir/../semver/bin/semver" "$@" - ret=$? -else - node "$basedir/../semver/bin/semver" "$@" - ret=$? -fi -exit $ret diff --git a/demo/platforms/android/cordova/node_modules/.bin/semver.cmd b/demo/platforms/android/cordova/node_modules/.bin/semver.cmd deleted file mode 100644 index 37c00a4..0000000 --- a/demo/platforms/android/cordova/node_modules/.bin/semver.cmd +++ /dev/null @@ -1,7 +0,0 @@ -@IF EXIST "%~dp0\node.exe" ( - "%~dp0\node.exe" "%~dp0\..\semver\bin\semver" %* -) ELSE ( - @SETLOCAL - @SET PATHEXT=%PATHEXT:;.JS;=;% - node "%~dp0\..\semver\bin\semver" %* -) \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/.bin/shjs b/demo/platforms/android/cordova/node_modules/.bin/shjs deleted file mode 100644 index 1d45691..0000000 --- a/demo/platforms/android/cordova/node_modules/.bin/shjs +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -x "$basedir/node" ]; then - "$basedir/node" "$basedir/../shelljs/bin/shjs" "$@" - ret=$? -else - node "$basedir/../shelljs/bin/shjs" "$@" - ret=$? -fi -exit $ret diff --git a/demo/platforms/android/cordova/node_modules/.bin/shjs.cmd b/demo/platforms/android/cordova/node_modules/.bin/shjs.cmd deleted file mode 100644 index 3d98b0b..0000000 --- a/demo/platforms/android/cordova/node_modules/.bin/shjs.cmd +++ /dev/null @@ -1,7 +0,0 @@ -@IF EXIST "%~dp0\node.exe" ( - "%~dp0\node.exe" "%~dp0\..\shelljs\bin\shjs" %* -) ELSE ( - @SETLOCAL - @SET PATHEXT=%PATHEXT:;.JS;=;% - node "%~dp0\..\shelljs\bin\shjs" %* -) \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/abbrev/LICENSE b/demo/platforms/android/cordova/node_modules/abbrev/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/demo/platforms/android/cordova/node_modules/abbrev/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/demo/platforms/android/cordova/node_modules/abbrev/README.md b/demo/platforms/android/cordova/node_modules/abbrev/README.md deleted file mode 100644 index 99746fe..0000000 --- a/demo/platforms/android/cordova/node_modules/abbrev/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# abbrev-js - -Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev). - -Usage: - - var abbrev = require("abbrev"); - abbrev("foo", "fool", "folding", "flop"); - - // returns: - { fl: 'flop' - , flo: 'flop' - , flop: 'flop' - , fol: 'folding' - , fold: 'folding' - , foldi: 'folding' - , foldin: 'folding' - , folding: 'folding' - , foo: 'foo' - , fool: 'fool' - } - -This is handy for command-line scripts, or other cases where you want to be able to accept shorthands. diff --git a/demo/platforms/android/cordova/node_modules/abbrev/abbrev.js b/demo/platforms/android/cordova/node_modules/abbrev/abbrev.js deleted file mode 100644 index 7b1dc5d..0000000 --- a/demo/platforms/android/cordova/node_modules/abbrev/abbrev.js +++ /dev/null @@ -1,61 +0,0 @@ -module.exports = exports = abbrev.abbrev = abbrev - -abbrev.monkeyPatch = monkeyPatch - -function monkeyPatch () { - Object.defineProperty(Array.prototype, 'abbrev', { - value: function () { return abbrev(this) }, - enumerable: false, configurable: true, writable: true - }) - - Object.defineProperty(Object.prototype, 'abbrev', { - value: function () { return abbrev(Object.keys(this)) }, - enumerable: false, configurable: true, writable: true - }) -} - -function abbrev (list) { - if (arguments.length !== 1 || !Array.isArray(list)) { - list = Array.prototype.slice.call(arguments, 0) - } - for (var i = 0, l = list.length, args = [] ; i < l ; i ++) { - args[i] = typeof list[i] === "string" ? list[i] : String(list[i]) - } - - // sort them lexicographically, so that they're next to their nearest kin - args = args.sort(lexSort) - - // walk through each, seeing how much it has in common with the next and previous - var abbrevs = {} - , prev = "" - for (var i = 0, l = args.length ; i < l ; i ++) { - var current = args[i] - , next = args[i + 1] || "" - , nextMatches = true - , prevMatches = true - if (current === next) continue - for (var j = 0, cl = current.length ; j < cl ; j ++) { - var curChar = current.charAt(j) - nextMatches = nextMatches && curChar === next.charAt(j) - prevMatches = prevMatches && curChar === prev.charAt(j) - if (!nextMatches && !prevMatches) { - j ++ - break - } - } - prev = current - if (j === cl) { - abbrevs[current] = current - continue - } - for (var a = current.substr(0, j) ; j <= cl ; j ++) { - abbrevs[a] = current - a += current.charAt(j) - } - } - return abbrevs -} - -function lexSort (a, b) { - return a === b ? 0 : a > b ? 1 : -1 -} diff --git a/demo/platforms/android/cordova/node_modules/abbrev/package.json b/demo/platforms/android/cordova/node_modules/abbrev/package.json deleted file mode 100644 index 5e7a7e0..0000000 --- a/demo/platforms/android/cordova/node_modules/abbrev/package.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "abbrev@1", - "scope": null, - "escapedName": "abbrev", - "name": "abbrev", - "rawSpec": "1", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/nopt" - ] - ], - "_from": "abbrev@>=1.0.0 <2.0.0", - "_id": "abbrev@1.1.0", - "_inCache": true, - "_location": "/cordova-android/abbrev", - "_nodeVersion": "8.0.0-pre", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/abbrev-1.1.0.tgz_1487054000015_0.9229173036292195" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "4.3.0", - "_phantomChildren": {}, - "_requested": { - "raw": "abbrev@1", - "scope": null, - "escapedName": "abbrev", - "name": "abbrev", - "rawSpec": "1", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/nopt" - ], - "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "_shasum": "d0554c2256636e2f56e7c2e5ad183f859428d81f", - "_shrinkwrap": null, - "_spec": "abbrev@1", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/nopt", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me" - }, - "bugs": { - "url": "https://github.com/isaacs/abbrev-js/issues" - }, - "dependencies": {}, - "description": "Like ruby's abbrev module, but in js", - "devDependencies": { - "tap": "^10.1" - }, - "directories": {}, - "dist": { - "shasum": "d0554c2256636e2f56e7c2e5ad183f859428d81f", - "tarball": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz" - }, - "files": [ - "abbrev.js" - ], - "gitHead": "7136d4d95449dc44115d4f78b80ec907724f64e0", - "homepage": "https://github.com/isaacs/abbrev-js#readme", - "license": "ISC", - "main": "abbrev.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "abbrev", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/isaacs/abbrev-js.git" - }, - "scripts": { - "postpublish": "git push origin --all; git push origin --tags", - "postversion": "npm publish", - "preversion": "npm test", - "test": "tap test.js --100" - }, - "version": "1.1.0" -} diff --git a/demo/platforms/android/cordova/node_modules/android-versions/.jshintignore b/demo/platforms/android/cordova/node_modules/android-versions/.jshintignore deleted file mode 100644 index 2e98972..0000000 --- a/demo/platforms/android/cordova/node_modules/android-versions/.jshintignore +++ /dev/null @@ -1,8 +0,0 @@ -.git/ -node_modules/ -coverage/ -build/ -assets/ -dist/ -docs/ -tests/ \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/android-versions/.jshintrc b/demo/platforms/android/cordova/node_modules/android-versions/.jshintrc deleted file mode 100644 index e19b383..0000000 --- a/demo/platforms/android/cordova/node_modules/android-versions/.jshintrc +++ /dev/null @@ -1,28 +0,0 @@ -{ - "indent": 2, - "forin": true, - "noarg": true, - "bitwise": true, - "nonew": true, - "strict": true, - - "browser": true, - "devel": true, - "node": false, - "jquery": false, - "esnext": false, - "moz": false, - "es3": false, - - "asi": true, - - "eqnull": true, - "debug": true, - "boss": true, - "evil": true, - "loopfunc": true, - "laxbreak": true, - - "unused": true, - "undef": true -} \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/android-versions/.travis.yml b/demo/platforms/android/cordova/node_modules/android-versions/.travis.yml deleted file mode 100644 index 4c19fbe..0000000 --- a/demo/platforms/android/cordova/node_modules/android-versions/.travis.yml +++ /dev/null @@ -1,3 +0,0 @@ -language: node_js -node_js: - - "6.1.0" \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/android-versions/README.md b/demo/platforms/android/cordova/node_modules/android-versions/README.md deleted file mode 100644 index 79d63bc..0000000 --- a/demo/platforms/android/cordova/node_modules/android-versions/README.md +++ /dev/null @@ -1,87 +0,0 @@ -Android Versions -================ - -A node module to get Android versions by API level, NDK level, semantic version, or version name. - -Versions are referenced from [source.android.com/source/build-numbers.html](https://source.android.com/source/build-numbers.html#platform-code-names-versions-api-levels-and-ndk-releases). The version for "Current Development Build" (`"CUR_DEVELOPMENT"`) is not included in the list of `VERSIONS`. - -[![NPM version][npm-image]][npm-url] -[![build status][travis-image]][travis-url] - -[npm-image]: https://img.shields.io/npm/v/android-versions.svg?style=flat-square -[npm-url]: https://npmjs.org/package/android-versions -[travis-image]: https://img.shields.io/travis/dvoiss/android-versions.svg?style=flat-square -[travis-url]: https://travis-ci.org/dvoiss/android-versions - -## Install - -```bash -# NPM -npm install android-versions --save -# YARN -yarn add android-versions -``` - -## Usage - -View the tests for more advanced usage. - -```javascript -const android = require('android-versions') -``` - -#### Get by API level: -```javascript -console.log(android.get(23)) - -=> { api: 23, ndk: 8, semver: "6.0", name: "Marshmallow", versionCode: "M" } -``` - -#### Get by version: - -```javascript -console.log(android.get("2.3.3")) - -=> { api: 10, ndk: 5, semver: "2.3.3", name: "Gingerbread", versionCode: "GINGERBREAD_MR1" } -``` - -#### Get all by predicate: - -``` -android.getAll((version) => { - return version.ndk > 5 && version.api < 15 -}).map((version) => version.versionCode) - -=> [ "HONEYCOMB_MR1", "HONEYCOMB_MR2", "ICE_CREAM_SANDWICH" ] -``` - -#### Access a specific version with all info: - -``` -android.LOLLIPOP - -=> { api: 21, ndk: 8, semver: "5.0", name: "Lollipop", versionCode: "LOLLIPOP" } -``` - -#### Access the complete reference of Android versions with all info: - -```javascript -android.VERSIONS - -=> { - BASE: { api: 1, ndk: 0, semver: "1.0", name: "(no code name)", versionCode: "BASE" }, - ... - N: { api: 24, ndk: 8, semver: "7.0", name: "Nougat", versionCode: "N" } - ... -} -``` - -## Test - -```bash -npm run test -``` - -## License - -MIT \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/android-versions/index.js b/demo/platforms/android/cordova/node_modules/android-versions/index.js deleted file mode 100644 index cedbaf6..0000000 --- a/demo/platforms/android/cordova/node_modules/android-versions/index.js +++ /dev/null @@ -1,153 +0,0 @@ -/** - * Copyright (c) 2016, David Voiss - * - * Permission to use, copy, modify, and/or distribute this software for any purpose - * with or without fee is hereby granted, provided that the above copyright notice - * and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS - * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF - * THIS SOFTWARE. -*/ - -/* jshint node: true */ -"use strict"; - -/** - * A module to get Android versions by API level, NDK level, semantic version, or version name. - * - * Versions are referenced from here: - * {@link https://source.android.com/source/build-numbers.html#platform-code-names-versions-api-levels-and-ndk-releases} - * {@link https://github.com/android/platform_frameworks_base/blob/master/core/java/android/os/Build.java} - * - * The version for "Current Development Build" ("CUR_DEVELOPMENT") is not included. - * - * @module android-versions - */ - -var VERSIONS = { - BASE: { api: 1, ndk: 0, semver: "1.0", name: "(no code name)", versionCode: "BASE" }, - BASE_1_1: { api: 2, ndk: 0, semver: "1.1", name: "(no code name)", versionCode: "BASE_1_1" }, - CUPCAKE: { api: 3, ndk: 1, semver: "1.5", name: "Cupcake", versionCode: "CUPCAKE" }, - DONUT: { api: 4, ndk: 2, semver: "1.6", name: "Donut", versionCode: "DONUT" }, - ECLAIR: { api: 5, ndk: 2, semver: "2.0", name: "Eclair", versionCode: "ECLAIR" }, - ECLAIR_0_1: { api: 6, ndk: 2, semver: "2.0.1", name: "Eclair", versionCode: "ECLAIR_0_1" }, - ECLAIR_MR1: { api: 7, ndk: 3, semver: "2.1", name: "Eclair", versionCode: "ECLAIR_MR1" }, - FROYO: { api: 8, ndk: 4, semver: "2.2", name: "Froyo", versionCode: "FROYO" }, - GINGERBREAD: { api: 9, ndk: 5, semver: "2.3", name: "Gingerbread", versionCode: "GINGERBREAD" }, - GINGERBREAD_MR1: { api: 10, ndk: 5, semver: "2.3.3", name: "Gingerbread", versionCode: "GINGERBREAD_MR1" }, - HONEYCOMB: { api: 11, ndk: 5, semver: "3.0", name: "Honeycomb", versionCode: "HONEYCOMB" }, - HONEYCOMB_MR1: { api: 12, ndk: 6, semver: "3.1", name: "Honeycomb", versionCode: "HONEYCOMB_MR1" }, - HONEYCOMB_MR2: { api: 13, ndk: 6, semver: "3.2", name: "Honeycomb", versionCode: "HONEYCOMB_MR2" }, - ICE_CREAM_SANDWICH: { api: 14, ndk: 7, semver: "4.0", name: "Ice Cream Sandwich", versionCode: "ICE_CREAM_SANDWICH" }, - ICE_CREAM_SANDWICH_MR1: { api: 15, ndk: 8, semver: "4.0.3", name: "Ice Cream Sandwich", versionCode: "ICE_CREAM_SANDWICH_MR1" }, - JELLY_BEAN: { api: 16, ndk: 8, semver: "4.1", name: "Jellybean", versionCode: "JELLY_BEAN" }, - JELLY_BEAN_MR1: { api: 17, ndk: 8, semver: "4.2", name: "Jellybean", versionCode: "JELLY_BEAN_MR1" }, - JELLY_BEAN_MR2: { api: 18, ndk: 8, semver: "4.3", name: "Jellybean", versionCode: "JELLY_BEAN_MR2" }, - KITKAT: { api: 19, ndk: 8, semver: "4.4", name: "KitKat", versionCode: "KITKAT" }, - KITKAT_WATCH: { api: 20, ndk: 8, semver: "4.4", name: "KitKat Watch", versionCode: "KITKAT_WATCH" }, - LOLLIPOP: { api: 21, ndk: 8, semver: "5.0", name: "Lollipop", versionCode: "LOLLIPOP" }, - LOLLIPOP_MR1: { api: 22, ndk: 8, semver: "5.1", name: "Lollipop", versionCode: "LOLLIPOP_MR1" }, - M: { api: 23, ndk: 8, semver: "6.0", name: "Marshmallow", versionCode: "M" }, - N: { api: 24, ndk: 8, semver: "7.0", name: "Nougat", versionCode: "N" }, - N_MR1: { api: 25, ndk: 8, semver: "7.1", name: "Nougat", versionCode: "N_MR1" }, - O: { api: 26, ndk: 8, semver: "8.0.0", name: "Oreo", versionCode: "O" } -} - -// This altSemVer accomodates the variations of semantic versions in the table above. -// For instance, Oreo is 8.0.0 while N is 7.0, searching for "8.0" or "8.0.0" will -// return Oreo, or searching for "7.0" or "7.0.0" will return N. "2.2.0" will return Froyo. -function getAlternateSemVer(semver) { - if (semver.match(/\d+.\d+.0/)) { - return semver.replace(/.\d+$/, '') - } else if (semver.match(/^\d+.\d+$/)) { - return semver + '.0' - } else { - return semver - } -} - -// The default predicate compares against API level, semver, name, or code. -function getFromDefaultPredicate(arg) { - // Coerce arg to string for comparisons below. - arg = arg.toString() - - return getFromPredicate(function(version) { - // Check API level before all else. - if (arg === version.api.toString()) { - return true - } - - // Compare semver and alternate semver (see above). - var altSemVer = getAlternateSemVer(arg) - if (version.semver === arg || version.semver === altSemVer) { - return true - } - - // Compare version name and code. - return arg === version.name || arg === version.versionCode - }) -} - -// The function to allow passing a predicate. -function getFromPredicate(predicate) { - if (predicate === null) { - return null - } - - return Object.keys(VERSIONS).filter(function(version) { - return predicate(VERSIONS[version]) - }).map(function(key) { return VERSIONS[key] }) -} - -/** - * The Android version codes available as keys for easier look-up. - */ -Object.keys(VERSIONS).forEach(function(name) { - exports[name] = VERSIONS[name] -}) - -/** - * The complete reference of Android versions for easier look-up. - */ -exports.VERSIONS = VERSIONS - -/** - * Retrieve a single Android version. - * - * @param {object | Function} arg - The value or predicate to use to retrieve values. - * - * @return {object} An object representing the version found or null if none found. - */ -exports.get = function(arg) { - var result = exports.getAll(arg) - - if (result === null || result.length === 0) { - return null - } - - return result[0] -} - -/** - * Retrieve all Android versions that meet the criteria of the argument. - * - * @param {object | Function} arg - The value or predicate to use to retrieve values. - * - * @return {object} An object representing the version found or null if none found. - */ -exports.getAll = function(arg) { - if (arg === null) { - return null - } - - if (typeof arg === "function") { - return getFromPredicate(arg) - } else { - return getFromDefaultPredicate(arg) - } -} \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/android-versions/package.json b/demo/platforms/android/cordova/node_modules/android-versions/package.json deleted file mode 100644 index 5a85a52..0000000 --- a/demo/platforms/android/cordova/node_modules/android-versions/package.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "android-versions@^1.2.0", - "scope": null, - "escapedName": "android-versions", - "name": "android-versions", - "rawSpec": "^1.2.0", - "spec": ">=1.2.0 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android" - ] - ], - "_from": "android-versions@>=1.2.0 <2.0.0", - "_id": "android-versions@1.2.1", - "_inCache": true, - "_location": "/cordova-android/android-versions", - "_nodeVersion": "8.0.0", - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/android-versions-1.2.1.tgz_1505373302036_0.5689644906669855" - }, - "_npmUser": { - "name": "dvoiss", - "email": "davidvoiss@gmail.com" - }, - "_npmVersion": "5.4.0", - "_phantomChildren": {}, - "_requested": { - "raw": "android-versions@^1.2.0", - "scope": null, - "escapedName": "android-versions", - "name": "android-versions", - "rawSpec": "^1.2.0", - "spec": ">=1.2.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android" - ], - "_resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.2.1.tgz", - "_shasum": "3f50baf693e73a512c3c5403542291cead900063", - "_shrinkwrap": null, - "_spec": "android-versions@^1.2.0", - "_where": "/Users/jbowser/cordova/cordova-android", - "author": { - "name": "dvoiss" - }, - "bugs": { - "url": "https://github.com/dvoiss/android-versions/issues" - }, - "dependencies": {}, - "description": "Get the name, API level, version level, NDK level, or version code from any version of Android.", - "devDependencies": { - "jsdoc": "^3.4.0", - "jshint": "^2.9.2", - "tape": "^4.6.0" - }, - "directories": {}, - "dist": { - "integrity": "sha512-k6zlrtWbJ3tx1ZsyyJ0Bo3r6cqPA3JUnFGv7pnIaLr1XVxSi2Tcem2lg3kBebFp27v/A40tZqdlouPyakpyKrw==", - "shasum": "3f50baf693e73a512c3c5403542291cead900063", - "tarball": "https://registry.npmjs.org/android-versions/-/android-versions-1.2.1.tgz" - }, - "gitHead": "7e2def6e70634a4ebcaaa639a4c4955ae2a566e7", - "homepage": "https://github.com/dvoiss/android-versions#readme", - "keywords": [ - "android", - "version", - "versions", - "ndk", - "nougat", - "marshmallow", - "api", - "level" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "dvoiss", - "email": "davidvoiss@gmail.com" - } - ], - "name": "android-versions", - "optionalDependencies": {}, - "pre-commit": [ - "jshint" - ], - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/dvoiss/android-versions.git" - }, - "scripts": { - "docs": "jsdoc index.js -d ./docs/ -R README.md --debug", - "jshint": "jshint .", - "test": "tape tests/**/*.js" - }, - "version": "1.2.1" -} diff --git a/demo/platforms/android/cordova/node_modules/ansi/.jshintrc b/demo/platforms/android/cordova/node_modules/ansi/.jshintrc deleted file mode 100644 index 248c542..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/.jshintrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "laxcomma": true, - "asi": true -} diff --git a/demo/platforms/android/cordova/node_modules/ansi/.npmignore b/demo/platforms/android/cordova/node_modules/ansi/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/demo/platforms/android/cordova/node_modules/ansi/History.md b/demo/platforms/android/cordova/node_modules/ansi/History.md deleted file mode 100644 index aea8aaf..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/History.md +++ /dev/null @@ -1,23 +0,0 @@ - -0.3.1 / 2016-01-14 -================== - - * add MIT LICENSE file (#23, @kasicka) - * preserve chaining after redundant style-method calls (#19, @drewblaisdell) - * package: add "license" field (#16, @BenjaminTsai) - -0.3.0 / 2014-05-09 -================== - - * package: remove "test" script and "devDependencies" - * package: remove "engines" section - * pacakge: remove "bin" section - * package: beautify - * examples: remove `starwars` example (#15) - * Documented goto, horizontalAbsolute, and eraseLine methods in README.md (#12, @Jammerwoch) - * add `.jshintrc` file - -< 0.3.0 -======= - - * Prehistoric diff --git a/demo/platforms/android/cordova/node_modules/ansi/LICENSE b/demo/platforms/android/cordova/node_modules/ansi/LICENSE deleted file mode 100644 index 2ea4dc5..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -(The MIT License) - -Copyright (c) 2012 Nathan Rajlich - -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/demo/platforms/android/cordova/node_modules/ansi/README.md b/demo/platforms/android/cordova/node_modules/ansi/README.md deleted file mode 100644 index 6ce1940..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/README.md +++ /dev/null @@ -1,98 +0,0 @@ -ansi.js -========= -### Advanced ANSI formatting tool for Node.js - -`ansi.js` is a module for Node.js that provides an easy-to-use API for -writing ANSI escape codes to `Stream` instances. ANSI escape codes are used to do -fancy things in a terminal window, like render text in colors, delete characters, -lines, the entire window, or hide and show the cursor, and lots more! - -#### Features: - - * 256 color support for the terminal! - * Make a beep sound from your terminal! - * Works with *any* writable `Stream` instance. - * Allows you to move the cursor anywhere on the terminal window. - * Allows you to delete existing contents from the terminal window. - * Allows you to hide and show the cursor. - * Converts CSS color codes and RGB values into ANSI escape codes. - * Low-level; you are in control of when escape codes are used, it's not abstracted. - - -Installation ------------- - -Install with `npm`: - -``` bash -$ npm install ansi -``` - - -Example -------- - -``` js -var ansi = require('ansi') - , cursor = ansi(process.stdout) - -// You can chain your calls forever: -cursor - .red() // Set font color to red - .bg.grey() // Set background color to grey - .write('Hello World!') // Write 'Hello World!' to stdout - .bg.reset() // Reset the bgcolor before writing the trailing \n, - // to avoid Terminal glitches - .write('\n') // And a final \n to wrap things up - -// Rendering modes are persistent: -cursor.hex('#660000').bold().underline() - -// You can use the regular logging functions, text will be green: -console.log('This is blood red, bold text') - -// To reset just the foreground color: -cursor.fg.reset() - -console.log('This will still be bold') - -// to go to a location (x,y) on the console -// note: 1-indexed, not 0-indexed: -cursor.goto(10, 5).write('Five down, ten over') - -// to clear the current line: -cursor.horizontalAbsolute(0).eraseLine().write('Starting again') - -// to go to a different column on the current line: -cursor.horizontalAbsolute(5).write('column five') - -// Clean up after yourself! -cursor.reset() -``` - - -License -------- - -(The MIT License) - -Copyright (c) 2012 Nathan Rajlich <nathan@tootallnate.net> - -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/demo/platforms/android/cordova/node_modules/ansi/examples/beep/index.js b/demo/platforms/android/cordova/node_modules/ansi/examples/beep/index.js deleted file mode 100644 index c1ec929..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/examples/beep/index.js +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env node - -/** - * Invokes the terminal "beep" sound once per second on every exact second. - */ - -process.title = 'beep' - -var cursor = require('../../')(process.stdout) - -function beep () { - cursor.beep() - setTimeout(beep, 1000 - (new Date()).getMilliseconds()) -} - -setTimeout(beep, 1000 - (new Date()).getMilliseconds()) diff --git a/demo/platforms/android/cordova/node_modules/ansi/examples/clear/index.js b/demo/platforms/android/cordova/node_modules/ansi/examples/clear/index.js deleted file mode 100644 index 6ac21ff..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/examples/clear/index.js +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env node - -/** - * Like GNU ncurses "clear" command. - * https://github.com/mscdex/node-ncurses/blob/master/deps/ncurses/progs/clear.c - */ - -process.title = 'clear' - -function lf () { return '\n' } - -require('../../')(process.stdout) - .write(Array.apply(null, Array(process.stdout.getWindowSize()[1])).map(lf).join('')) - .eraseData(2) - .goto(1, 1) diff --git a/demo/platforms/android/cordova/node_modules/ansi/examples/cursorPosition.js b/demo/platforms/android/cordova/node_modules/ansi/examples/cursorPosition.js deleted file mode 100644 index 50f9644..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/examples/cursorPosition.js +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env node - -var tty = require('tty') -var cursor = require('../')(process.stdout) - -// listen for the queryPosition report on stdin -process.stdin.resume() -raw(true) - -process.stdin.once('data', function (b) { - var match = /\[(\d+)\;(\d+)R$/.exec(b.toString()) - if (match) { - var xy = match.slice(1, 3).reverse().map(Number) - console.error(xy) - } - - // cleanup and close stdin - raw(false) - process.stdin.pause() -}) - - -// send the query position request code to stdout -cursor.queryPosition() - -function raw (mode) { - if (process.stdin.setRawMode) { - process.stdin.setRawMode(mode) - } else { - tty.setRawMode(mode) - } -} diff --git a/demo/platforms/android/cordova/node_modules/ansi/examples/progress/index.js b/demo/platforms/android/cordova/node_modules/ansi/examples/progress/index.js deleted file mode 100644 index d28dbda..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/examples/progress/index.js +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env node - -var assert = require('assert') - , ansi = require('../../') - -function Progress (stream, width) { - this.cursor = ansi(stream) - this.delta = this.cursor.newlines - this.width = width | 0 || 10 - this.open = '[' - this.close = ']' - this.complete = '█' - this.incomplete = '_' - - // initial render - this.progress = 0 -} - -Object.defineProperty(Progress.prototype, 'progress', { - get: get - , set: set - , configurable: true - , enumerable: true -}) - -function get () { - return this._progress -} - -function set (v) { - this._progress = Math.max(0, Math.min(v, 100)) - - var w = this.width - this.complete.length - this.incomplete.length - , n = w * (this._progress / 100) | 0 - , i = w - n - , com = c(this.complete, n) - , inc = c(this.incomplete, i) - , delta = this.cursor.newlines - this.delta - - assert.equal(com.length + inc.length, w) - - if (delta > 0) { - this.cursor.up(delta) - this.delta = this.cursor.newlines - } - - this.cursor - .horizontalAbsolute(0) - .eraseLine(2) - .fg.white() - .write(this.open) - .fg.grey() - .bold() - .write(com) - .resetBold() - .write(inc) - .fg.white() - .write(this.close) - .fg.reset() - .write('\n') -} - -function c (char, length) { - return Array.apply(null, Array(length)).map(function () { - return char - }).join('') -} - - - - -// Usage -var width = parseInt(process.argv[2], 10) || process.stdout.getWindowSize()[0] / 2 - , p = new Progress(process.stdout, width) - -;(function tick () { - p.progress += Math.random() * 5 - p.cursor - .eraseLine(2) - .write('Progress: ') - .bold().write(p.progress.toFixed(2)) - .write('%') - .resetBold() - .write('\n') - if (p.progress < 100) - setTimeout(tick, 100) -})() diff --git a/demo/platforms/android/cordova/node_modules/ansi/lib/ansi.js b/demo/platforms/android/cordova/node_modules/ansi/lib/ansi.js deleted file mode 100644 index b1714e3..0000000 --- a/demo/platforms/android/cordova/node_modules/ansi/lib/ansi.js +++ /dev/null @@ -1,405 +0,0 @@ - -/** - * References: - * - * - http://en.wikipedia.org/wiki/ANSI_escape_code - * - http://www.termsys.demon.co.uk/vtansi.htm - * - */ - -/** - * Module dependencies. - */ - -var emitNewlineEvents = require('./newlines') - , prefix = '\x1b[' // For all escape codes - , suffix = 'm' // Only for color codes - -/** - * The ANSI escape sequences. - */ - -var codes = { - up: 'A' - , down: 'B' - , forward: 'C' - , back: 'D' - , nextLine: 'E' - , previousLine: 'F' - , horizontalAbsolute: 'G' - , eraseData: 'J' - , eraseLine: 'K' - , scrollUp: 'S' - , scrollDown: 'T' - , savePosition: 's' - , restorePosition: 'u' - , queryPosition: '6n' - , hide: '?25l' - , show: '?25h' -} - -/** - * Rendering ANSI codes. - */ - -var styles = { - bold: 1 - , italic: 3 - , underline: 4 - , inverse: 7 -} - -/** - * The negating ANSI code for the rendering modes. - */ - -var reset = { - bold: 22 - , italic: 23 - , underline: 24 - , inverse: 27 -} - -/** - * The standard, styleable ANSI colors. - */ - -var colors = { - white: 37 - , black: 30 - , blue: 34 - , cyan: 36 - , green: 32 - , magenta: 35 - , red: 31 - , yellow: 33 - , grey: 90 - , brightBlack: 90 - , brightRed: 91 - , brightGreen: 92 - , brightYellow: 93 - , brightBlue: 94 - , brightMagenta: 95 - , brightCyan: 96 - , brightWhite: 97 -} - - -/** - * Creates a Cursor instance based off the given `writable stream` instance. - */ - -function ansi (stream, options) { - if (stream._ansicursor) { - return stream._ansicursor - } else { - return stream._ansicursor = new Cursor(stream, options) - } -} -module.exports = exports = ansi - -/** - * The `Cursor` class. - */ - -function Cursor (stream, options) { - if (!(this instanceof Cursor)) { - return new Cursor(stream, options) - } - if (typeof stream != 'object' || typeof stream.write != 'function') { - throw new Error('a valid Stream instance must be passed in') - } - - // the stream to use - this.stream = stream - - // when 'enabled' is false then all the functions are no-ops except for write() - this.enabled = options && options.enabled - if (typeof this.enabled === 'undefined') { - this.enabled = stream.isTTY - } - this.enabled = !!this.enabled - - // then `buffering` is true, then `write()` calls are buffered in - // memory until `flush()` is invoked - this.buffering = !!(options && options.buffering) - this._buffer = [] - - // controls the foreground and background colors - this.fg = this.foreground = new Colorer(this, 0) - this.bg = this.background = new Colorer(this, 10) - - // defaults - this.Bold = false - this.Italic = false - this.Underline = false - this.Inverse = false - - // keep track of the number of "newlines" that get encountered - this.newlines = 0 - emitNewlineEvents(stream) - stream.on('newline', function () { - this.newlines++ - }.bind(this)) -} -exports.Cursor = Cursor - -/** - * Helper function that calls `write()` on the underlying Stream. - * Returns `this` instead of the write() return value to keep - * the chaining going. - */ - -Cursor.prototype.write = function (data) { - if (this.buffering) { - this._buffer.push(arguments) - } else { - this.stream.write.apply(this.stream, arguments) - } - return this -} - -/** - * Buffer `write()` calls into memory. - * - * @api public - */ - -Cursor.prototype.buffer = function () { - this.buffering = true - return this -} - -/** - * Write out the in-memory buffer. - * - * @api public - */ - -Cursor.prototype.flush = function () { - this.buffering = false - var str = this._buffer.map(function (args) { - if (args.length != 1) throw new Error('unexpected args length! ' + args.length); - return args[0]; - }).join(''); - this._buffer.splice(0); // empty - this.write(str); - return this -} - - -/** - * The `Colorer` class manages both the background and foreground colors. - */ - -function Colorer (cursor, base) { - this.current = null - this.cursor = cursor - this.base = base -} -exports.Colorer = Colorer - -/** - * Write an ANSI color code, ensuring that the same code doesn't get rewritten. - */ - -Colorer.prototype._setColorCode = function setColorCode (code) { - var c = String(code) - if (this.current === c) return - this.cursor.enabled && this.cursor.write(prefix + c + suffix) - this.current = c - return this -} - - -/** - * Set up the positional ANSI codes. - */ - -Object.keys(codes).forEach(function (name) { - var code = String(codes[name]) - Cursor.prototype[name] = function () { - var c = code - if (arguments.length > 0) { - c = toArray(arguments).map(Math.round).join(';') + code - } - this.enabled && this.write(prefix + c) - return this - } -}) - -/** - * Set up the functions for the rendering ANSI codes. - */ - -Object.keys(styles).forEach(function (style) { - var name = style[0].toUpperCase() + style.substring(1) - , c = styles[style] - , r = reset[style] - - Cursor.prototype[style] = function () { - if (this[name]) return this - this.enabled && this.write(prefix + c + suffix) - this[name] = true - return this - } - - Cursor.prototype['reset' + name] = function () { - if (!this[name]) return this - this.enabled && this.write(prefix + r + suffix) - this[name] = false - return this - } -}) - -/** - * Setup the functions for the standard colors. - */ - -Object.keys(colors).forEach(function (color) { - var code = colors[color] - - Colorer.prototype[color] = function () { - this._setColorCode(this.base + code) - return this.cursor - } - - Cursor.prototype[color] = function () { - return this.foreground[color]() - } -}) - -/** - * Makes a beep sound! - */ - -Cursor.prototype.beep = function () { - this.enabled && this.write('\x07') - return this -} - -/** - * Moves cursor to specific position - */ - -Cursor.prototype.goto = function (x, y) { - x = x | 0 - y = y | 0 - this.enabled && this.write(prefix + y + ';' + x + 'H') - return this -} - -/** - * Resets the color. - */ - -Colorer.prototype.reset = function () { - this._setColorCode(this.base + 39) - return this.cursor -} - -/** - * Resets all ANSI formatting on the stream. - */ - -Cursor.prototype.reset = function () { - this.enabled && this.write(prefix + '0' + suffix) - this.Bold = false - this.Italic = false - this.Underline = false - this.Inverse = false - this.foreground.current = null - this.background.current = null - return this -} - -/** - * Sets the foreground color with the given RGB values. - * The closest match out of the 216 colors is picked. - */ - -Colorer.prototype.rgb = function (r, g, b) { - var base = this.base + 38 - , code = rgb(r, g, b) - this._setColorCode(base + ';5;' + code) - return this.cursor -} - -/** - * Same as `cursor.fg.rgb(r, g, b)`. - */ - -Cursor.prototype.rgb = function (r, g, b) { - return this.foreground.rgb(r, g, b) -} - -/** - * Accepts CSS color codes for use with ANSI escape codes. - * For example: `#FF000` would be bright red. - */ - -Colorer.prototype.hex = function (color) { - return this.rgb.apply(this, hex(color)) -} - -/** - * Same as `cursor.fg.hex(color)`. - */ - -Cursor.prototype.hex = function (color) { - return this.foreground.hex(color) -} - - -// UTIL FUNCTIONS // - -/** - * Translates a 255 RGB value to a 0-5 ANSI RGV value, - * then returns the single ANSI color code to use. - */ - -function rgb (r, g, b) { - var red = r / 255 * 5 - , green = g / 255 * 5 - , blue = b / 255 * 5 - return rgb5(red, green, blue) -} - -/** - * Turns rgb 0-5 values into a single ANSI color code to use. - */ - -function rgb5 (r, g, b) { - var red = Math.round(r) - , green = Math.round(g) - , blue = Math.round(b) - return 16 + (red*36) + (green*6) + blue -} - -/** - * Accepts a hex CSS color code string (# is optional) and - * translates it into an Array of 3 RGB 0-255 values, which - * can then be used with rgb(). - */ - -function hex (color) { - var c = color[0] === '#' ? color.substring(1) : color - , r = c.substring(0, 2) - , g = c.substring(2, 4) - , b = c.substring(4, 6) - return [parseInt(r, 16), parseInt(g, 16), parseInt(b, 16)] -} - -/** - * Turns an array-like object into a real array. - */ - -function toArray (a) { - var i = 0 - , l = a.length - , rtn = [] - for (; i 0) { - var len = data.length - , i = 0 - // now try to calculate any deltas - if (typeof data == 'string') { - for (; i=0.3.1 <0.4.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common" - ] - ], - "_from": "ansi@>=0.3.1 <0.4.0", - "_id": "ansi@0.3.1", - "_inCache": true, - "_location": "/cordova-android/ansi", - "_nodeVersion": "5.3.0", - "_npmUser": { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - "_npmVersion": "3.3.12", - "_phantomChildren": {}, - "_requested": { - "raw": "ansi@^0.3.1", - "scope": null, - "escapedName": "ansi", - "name": "ansi", - "rawSpec": "^0.3.1", - "spec": ">=0.3.1 <0.4.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "_shasum": "0c42d4fb17160d5a9af1e484bace1c66922c1b21", - "_shrinkwrap": null, - "_spec": "ansi@^0.3.1", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common", - "author": { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://tootallnate.net" - }, - "bugs": { - "url": "https://github.com/TooTallNate/ansi.js/issues" - }, - "dependencies": {}, - "description": "Advanced ANSI formatting tool for Node.js", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "0c42d4fb17160d5a9af1e484bace1c66922c1b21", - "tarball": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz" - }, - "gitHead": "4d0d4af94e0bdaa648bd7262acd3bde4b98d5246", - "homepage": "https://github.com/TooTallNate/ansi.js#readme", - "keywords": [ - "ansi", - "formatting", - "cursor", - "color", - "terminal", - "rgb", - "256", - "stream" - ], - "license": "MIT", - "main": "./lib/ansi.js", - "maintainers": [ - { - "name": "TooTallNate", - "email": "nathan@tootallnate.net" - }, - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - } - ], - "name": "ansi", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/TooTallNate/ansi.js.git" - }, - "scripts": {}, - "version": "0.3.1" -} diff --git a/demo/platforms/android/cordova/node_modules/balanced-match/.npmignore b/demo/platforms/android/cordova/node_modules/balanced-match/.npmignore deleted file mode 100644 index ae5d8c3..0000000 --- a/demo/platforms/android/cordova/node_modules/balanced-match/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -test -.gitignore -.travis.yml -Makefile -example.js diff --git a/demo/platforms/android/cordova/node_modules/balanced-match/LICENSE.md b/demo/platforms/android/cordova/node_modules/balanced-match/LICENSE.md deleted file mode 100644 index 2cdc8e4..0000000 --- a/demo/platforms/android/cordova/node_modules/balanced-match/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal 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/demo/platforms/android/cordova/node_modules/balanced-match/README.md b/demo/platforms/android/cordova/node_modules/balanced-match/README.md deleted file mode 100644 index 08e918c..0000000 --- a/demo/platforms/android/cordova/node_modules/balanced-match/README.md +++ /dev/null @@ -1,91 +0,0 @@ -# balanced-match - -Match balanced string pairs, like `{` and `}` or `` and ``. Supports regular expressions as well! - -[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match) -[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match) - -[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match) - -## Example - -Get the first matching pair of braces: - -```js -var balanced = require('balanced-match'); - -console.log(balanced('{', '}', 'pre{in{nested}}post')); -console.log(balanced('{', '}', 'pre{first}between{second}post')); -console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post')); -``` - -The matches are: - -```bash -$ node example.js -{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } -{ start: 3, - end: 9, - pre: 'pre', - body: 'first', - post: 'between{second}post' } -{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' } -``` - -## API - -### var m = balanced(a, b, str) - -For the first non-nested matching pair of `a` and `b` in `str`, return an -object with those keys: - -* **start** the index of the first match of `a` -* **end** the index of the matching `b` -* **pre** the preamble, `a` and `b` not included -* **body** the match, `a` and `b` not included -* **post** the postscript, `a` and `b` not included - -If there's no match, `undefined` will be returned. - -If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`. - -### var r = balanced.range(a, b, str) - -For the first non-nested matching pair of `a` and `b` in `str`, return an -array with indexes: `[ , ]`. - -If there's no match, `undefined` will be returned. - -If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`. - -## Installation - -With [npm](https://npmjs.org) do: - -```bash -npm install balanced-match -``` - -## License - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal 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/demo/platforms/android/cordova/node_modules/balanced-match/index.js b/demo/platforms/android/cordova/node_modules/balanced-match/index.js deleted file mode 100644 index 1685a76..0000000 --- a/demo/platforms/android/cordova/node_modules/balanced-match/index.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; -module.exports = balanced; -function balanced(a, b, str) { - if (a instanceof RegExp) a = maybeMatch(a, str); - if (b instanceof RegExp) b = maybeMatch(b, str); - - var r = range(a, b, str); - - return r && { - start: r[0], - end: r[1], - pre: str.slice(0, r[0]), - body: str.slice(r[0] + a.length, r[1]), - post: str.slice(r[1] + b.length) - }; -} - -function maybeMatch(reg, str) { - var m = str.match(reg); - return m ? m[0] : null; -} - -balanced.range = range; -function range(a, b, str) { - var begs, beg, left, right, result; - var ai = str.indexOf(a); - var bi = str.indexOf(b, ai + 1); - var i = ai; - - if (ai >= 0 && bi > 0) { - begs = []; - left = str.length; - - while (i >= 0 && !result) { - if (i == ai) { - begs.push(i); - ai = str.indexOf(a, i + 1); - } else if (begs.length == 1) { - result = [ begs.pop(), bi ]; - } else { - beg = begs.pop(); - if (beg < left) { - left = beg; - right = bi; - } - - bi = str.indexOf(b, i + 1); - } - - i = ai < bi && ai >= 0 ? ai : bi; - } - - if (begs.length) { - result = [ left, right ]; - } - } - - return result; -} diff --git a/demo/platforms/android/cordova/node_modules/balanced-match/package.json b/demo/platforms/android/cordova/node_modules/balanced-match/package.json deleted file mode 100644 index d42ad9a..0000000 --- a/demo/platforms/android/cordova/node_modules/balanced-match/package.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "balanced-match@^1.0.0", - "scope": null, - "escapedName": "balanced-match", - "name": "balanced-match", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/brace-expansion" - ] - ], - "_from": "balanced-match@>=1.0.0 <2.0.0", - "_id": "balanced-match@1.0.0", - "_inCache": true, - "_location": "/cordova-android/balanced-match", - "_nodeVersion": "7.8.0", - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/balanced-match-1.0.0.tgz_1497251909645_0.8755026108119637" - }, - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "_npmVersion": "4.2.0", - "_phantomChildren": {}, - "_requested": { - "raw": "balanced-match@^1.0.0", - "scope": null, - "escapedName": "balanced-match", - "name": "balanced-match", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/brace-expansion" - ], - "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767", - "_shrinkwrap": null, - "_spec": "balanced-match@^1.0.0", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/brace-expansion", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/balanced-match/issues" - }, - "dependencies": {}, - "description": "Match balanced character pairs, like \"{\" and \"}\"", - "devDependencies": { - "matcha": "^0.7.0", - "tape": "^4.6.0" - }, - "directories": {}, - "dist": { - "shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767", - "tarball": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" - }, - "gitHead": "d701a549a7653a874eebce7eca25d3577dc868ac", - "homepage": "https://github.com/juliangruber/balanced-match", - "keywords": [ - "match", - "regexp", - "test", - "balanced", - "parse" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - } - ], - "name": "balanced-match", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/balanced-match.git" - }, - "scripts": { - "bench": "make bench", - "test": "make test" - }, - "testling": { - "files": "test/*.js", - "browsers": [ - "ie/8..latest", - "firefox/20..latest", - "firefox/nightly", - "chrome/25..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "version": "1.0.0" -} diff --git a/demo/platforms/android/cordova/node_modules/base64-js/.travis.yml b/demo/platforms/android/cordova/node_modules/base64-js/.travis.yml deleted file mode 100644 index 939cb51..0000000 --- a/demo/platforms/android/cordova/node_modules/base64-js/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" - - "0.11" \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/base64-js/LICENSE.MIT b/demo/platforms/android/cordova/node_modules/base64-js/LICENSE.MIT deleted file mode 100644 index 96d3f68..0000000 --- a/demo/platforms/android/cordova/node_modules/base64-js/LICENSE.MIT +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 - -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/demo/platforms/android/cordova/node_modules/base64-js/README.md b/demo/platforms/android/cordova/node_modules/base64-js/README.md deleted file mode 100644 index ed31d1a..0000000 --- a/demo/platforms/android/cordova/node_modules/base64-js/README.md +++ /dev/null @@ -1,31 +0,0 @@ -base64-js -========= - -`base64-js` does basic base64 encoding/decoding in pure JS. - -[![build status](https://secure.travis-ci.org/beatgammit/base64-js.png)](http://travis-ci.org/beatgammit/base64-js) - -[![testling badge](https://ci.testling.com/beatgammit/base64-js.png)](https://ci.testling.com/beatgammit/base64-js) - -Many browsers already have base64 encoding/decoding functionality, but it is for text data, not all-purpose binary data. - -Sometimes encoding/decoding binary data in the browser is useful, and that is what this module does. - -## install - -With [npm](https://npmjs.org) do: - -`npm install base64-js` - -## methods - -`var base64 = require('base64-js')` - -`base64` has two exposed functions, `toByteArray` and `fromByteArray`, which both take a single argument. - -* `toByteArray` - Takes a base64 string and returns a byte array -* `fromByteArray` - Takes a byte array and returns a base64 string - -## license - -MIT \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/base64-js/bench/bench.js b/demo/platforms/android/cordova/node_modules/base64-js/bench/bench.js deleted file mode 100644 index 0689e08..0000000 --- a/demo/platforms/android/cordova/node_modules/base64-js/bench/bench.js +++ /dev/null @@ -1,19 +0,0 @@ -var random = require('crypto').pseudoRandomBytes - -var b64 = require('../') -var fs = require('fs') -var path = require('path') -var data = random(1e6).toString('base64') -//fs.readFileSync(path.join(__dirname, 'example.b64'), 'ascii').split('\n').join('') -var start = Date.now() -var raw = b64.toByteArray(data) -var middle = Date.now() -var data = b64.fromByteArray(raw) -var end = Date.now() - -console.log('decode ms, decode ops/ms, encode ms, encode ops/ms') -console.log( - middle - start, data.length / (middle - start), - end - middle, data.length / (end - middle)) -//console.log(data) - diff --git a/demo/platforms/android/cordova/node_modules/base64-js/lib/b64.js b/demo/platforms/android/cordova/node_modules/base64-js/lib/b64.js deleted file mode 100644 index 46001d2..0000000 --- a/demo/platforms/android/cordova/node_modules/base64-js/lib/b64.js +++ /dev/null @@ -1,124 +0,0 @@ -var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - -;(function (exports) { - 'use strict'; - - var Arr = (typeof Uint8Array !== 'undefined') - ? Uint8Array - : Array - - var PLUS = '+'.charCodeAt(0) - var SLASH = '/'.charCodeAt(0) - var NUMBER = '0'.charCodeAt(0) - var LOWER = 'a'.charCodeAt(0) - var UPPER = 'A'.charCodeAt(0) - var PLUS_URL_SAFE = '-'.charCodeAt(0) - var SLASH_URL_SAFE = '_'.charCodeAt(0) - - function decode (elt) { - var code = elt.charCodeAt(0) - if (code === PLUS || - code === PLUS_URL_SAFE) - return 62 // '+' - if (code === SLASH || - code === SLASH_URL_SAFE) - return 63 // '/' - if (code < NUMBER) - return -1 //no match - if (code < NUMBER + 10) - return code - NUMBER + 26 + 26 - if (code < UPPER + 26) - return code - UPPER - if (code < LOWER + 26) - return code - LOWER + 26 - } - - function b64ToByteArray (b64) { - var i, j, l, tmp, placeHolders, arr - - if (b64.length % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // the number of equal signs (place holders) - // if there are two placeholders, than the two characters before it - // represent one byte - // if there is only one, then the three characters before it represent 2 bytes - // this is just a cheap hack to not do indexOf twice - var len = b64.length - placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0 - - // base64 is 4/3 + up to two characters of the original data - arr = new Arr(b64.length * 3 / 4 - placeHolders) - - // if there are placeholders, only get up to the last complete 4 chars - l = placeHolders > 0 ? b64.length - 4 : b64.length - - var L = 0 - - function push (v) { - arr[L++] = v - } - - for (i = 0, j = 0; i < l; i += 4, j += 3) { - tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3)) - push((tmp & 0xFF0000) >> 16) - push((tmp & 0xFF00) >> 8) - push(tmp & 0xFF) - } - - if (placeHolders === 2) { - tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4) - push(tmp & 0xFF) - } else if (placeHolders === 1) { - tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2) - push((tmp >> 8) & 0xFF) - push(tmp & 0xFF) - } - - return arr - } - - function uint8ToBase64 (uint8) { - var i, - extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes - output = "", - temp, length - - function encode (num) { - return lookup.charAt(num) - } - - function tripletToBase64 (num) { - return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F) - } - - // go through the array every three bytes, we'll deal with trailing stuff later - for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) { - temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) - output += tripletToBase64(temp) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - switch (extraBytes) { - case 1: - temp = uint8[uint8.length - 1] - output += encode(temp >> 2) - output += encode((temp << 4) & 0x3F) - output += '==' - break - case 2: - temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1]) - output += encode(temp >> 10) - output += encode((temp >> 4) & 0x3F) - output += encode((temp << 2) & 0x3F) - output += '=' - break - } - - return output - } - - exports.toByteArray = b64ToByteArray - exports.fromByteArray = uint8ToBase64 -}(typeof exports === 'undefined' ? (this.base64js = {}) : exports)) diff --git a/demo/platforms/android/cordova/node_modules/base64-js/package.json b/demo/platforms/android/cordova/node_modules/base64-js/package.json deleted file mode 100644 index b4762b5..0000000 --- a/demo/platforms/android/cordova/node_modules/base64-js/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "base64-js@0.0.8", - "scope": null, - "escapedName": "base64-js", - "name": "base64-js", - "rawSpec": "0.0.8", - "spec": "0.0.8", - "type": "version" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/plist" - ] - ], - "_from": "base64-js@0.0.8", - "_id": "base64-js@0.0.8", - "_inCache": true, - "_location": "/cordova-android/base64-js", - "_nodeVersion": "0.10.35", - "_npmUser": { - "name": "feross", - "email": "feross@feross.org" - }, - "_npmVersion": "2.1.16", - "_phantomChildren": {}, - "_requested": { - "raw": "base64-js@0.0.8", - "scope": null, - "escapedName": "base64-js", - "name": "base64-js", - "rawSpec": "0.0.8", - "spec": "0.0.8", - "type": "version" - }, - "_requiredBy": [ - "/cordova-android/plist" - ], - "_resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "_shasum": "1101e9544f4a76b1bc3b26d452ca96d7a35e7978", - "_shrinkwrap": null, - "_spec": "base64-js@0.0.8", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/plist", - "author": { - "name": "T. Jameson Little", - "email": "t.jameson.little@gmail.com" - }, - "bugs": { - "url": "https://github.com/beatgammit/base64-js/issues" - }, - "dependencies": {}, - "description": "Base64 encoding/decoding in pure JS", - "devDependencies": { - "tape": "~2.3.2" - }, - "directories": {}, - "dist": { - "shasum": "1101e9544f4a76b1bc3b26d452ca96d7a35e7978", - "tarball": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz" - }, - "engines": { - "node": ">= 0.4" - }, - "gitHead": "b4a8a5fa9b0caeddb5ad94dd1108253d8f2a315f", - "homepage": "https://github.com/beatgammit/base64-js", - "license": "MIT", - "main": "lib/b64.js", - "maintainers": [ - { - "name": "beatgammit", - "email": "t.jameson.little@gmail.com" - }, - { - "name": "feross", - "email": "feross@feross.org" - } - ], - "name": "base64-js", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/beatgammit/base64-js.git" - }, - "scripts": { - "test": "tape test/*.js" - }, - "testling": { - "files": "test/*.js", - "browsers": [ - "ie/6..latest", - "chrome/4..latest", - "firefox/3..latest", - "safari/5.1..latest", - "opera/11.0..latest", - "iphone/6", - "ipad/6" - ] - }, - "version": "0.0.8" -} diff --git a/demo/platforms/android/cordova/node_modules/base64-js/test/convert.js b/demo/platforms/android/cordova/node_modules/base64-js/test/convert.js deleted file mode 100644 index 60b09c0..0000000 --- a/demo/platforms/android/cordova/node_modules/base64-js/test/convert.js +++ /dev/null @@ -1,51 +0,0 @@ -var test = require('tape'), - b64 = require('../lib/b64'), - checks = [ - 'a', - 'aa', - 'aaa', - 'hi', - 'hi!', - 'hi!!', - 'sup', - 'sup?', - 'sup?!' - ]; - -test('convert to base64 and back', function (t) { - t.plan(checks.length); - - for (var i = 0; i < checks.length; i++) { - var check = checks[i], - b64Str, - arr, - str; - - b64Str = b64.fromByteArray(map(check, function (char) { return char.charCodeAt(0); })); - - arr = b64.toByteArray(b64Str); - str = map(arr, function (byte) { return String.fromCharCode(byte); }).join(''); - - t.equal(check, str, 'Checked ' + check); - } - -}); - -function map (arr, callback) { - var res = [], - kValue, - mappedValue; - - for (var k = 0, len = arr.length; k < len; k++) { - if ((typeof arr === 'string' && !!arr.charAt(k))) { - kValue = arr.charAt(k); - mappedValue = callback(kValue, k, arr); - res[k] = mappedValue; - } else if (typeof arr !== 'string' && k in arr) { - kValue = arr[k]; - mappedValue = callback(kValue, k, arr); - res[k] = mappedValue; - } - } - return res; -} diff --git a/demo/platforms/android/cordova/node_modules/base64-js/test/url-safe.js b/demo/platforms/android/cordova/node_modules/base64-js/test/url-safe.js deleted file mode 100644 index dc437e9..0000000 --- a/demo/platforms/android/cordova/node_modules/base64-js/test/url-safe.js +++ /dev/null @@ -1,18 +0,0 @@ -var test = require('tape'), - b64 = require('../lib/b64'); - -test('decode url-safe style base64 strings', function (t) { - var expected = [0xff, 0xff, 0xbe, 0xff, 0xef, 0xbf, 0xfb, 0xef, 0xff]; - - var actual = b64.toByteArray('//++/++/++//'); - for (var i = 0; i < actual.length; i++) { - t.equal(actual[i], expected[i]) - } - - actual = b64.toByteArray('__--_--_--__'); - for (var i = 0; i < actual.length; i++) { - t.equal(actual[i], expected[i]) - } - - t.end(); -}); diff --git a/demo/platforms/android/cordova/node_modules/big-integer/BigInteger.d.ts b/demo/platforms/android/cordova/node_modules/big-integer/BigInteger.d.ts deleted file mode 100644 index 3cd4c0e..0000000 --- a/demo/platforms/android/cordova/node_modules/big-integer/BigInteger.d.ts +++ /dev/null @@ -1,2364 +0,0 @@ -/** - * Type definitions for BigInteger.js - * Definitions by: Tommy Frazier - */ -export = bigInt; -export as namespace bigInt; - -declare var bigInt: bigInt.BigIntegerStatic; - -declare namespace bigInt { - type BigNumber = number | string | BigInteger; - - interface BigIntegerStatic { - /** - * Equivalent to bigInt(0). - */ - (): BigInteger; - - /** - * Parse a Javascript number into a bigInt. - */ - (number: number): BigInteger; - - /** - * Parse a string into a bigInt. - */ - (string: string, base?: BigNumber): BigInteger; - - /** - * no-op. - */ - (bigInt: BigInteger): BigInteger; - - /** - * Constructs a bigInt from an array of digits in specified base. - * The optional isNegative flag will make the number negative. - */ - fromArray: (digits: BigNumber[], base?: BigNumber, isNegative?: boolean) => BigInteger; - - /** - * Finds the greatest common denominator of a and b. - */ - gcd: (a: BigNumber, b: BigNumber) => BigInteger; - - - /** - * Returns true if x is a BigInteger, false otherwise. - */ - isInstance: (x: any) => boolean; - - /** - * Finds the least common multiple of a and b. - */ - lcm: (a: BigNumber, b: BigNumber) => BigInteger; - - /** - * Returns the largest of a and b. - */ - max: (a: BigNumber, b: BigNumber) => BigInteger; - - /** - * Returns the smallest of a and b. - */ - min: (a: BigNumber, b: BigNumber) => BigInteger; - - /** - * Equivalent to bigInt(-1). - */ - minusOne: BigInteger; - - /** - * Equivalent to bigInt(1). - */ - one: BigInteger; - - /** - * Returns a random number between min and max. - */ - randBetween: (min: BigNumber, max: BigNumber) => BigInteger; - - /** - * Equivalent to bigInt(0). - */ - zero: BigInteger; - } - - interface BigInteger { - /** - * Returns the absolute value of a bigInt. - */ - abs(): BigInteger; - - /** - * Performs addition. - */ - add(number: BigNumber): BigInteger; - - /** - * Performs the bitwise AND operation. - */ - and(number: BigNumber): BigInteger; - - /** - * Performs a comparison between two numbers. If the numbers are equal, it returns 0. - * If the first number is greater, it returns 1. If the first number is lesser, it returns -1. - */ - compare(number: BigNumber): number; - - /** - * Performs a comparison between the absolute value of two numbers. - */ - compareAbs(number: BigNumber): number; - - /** - * Alias for the compare method. - */ - compareTo(number: BigNumber): number; - - /** - * Performs integer division, disregarding the remainder. - */ - divide(number: BigNumber): BigInteger; - - /** - * Performs division and returns an object with two properties: quotient and remainder. - * The sign of the remainder will match the sign of the dividend. - */ - divmod(number: BigNumber): {quotient: BigInteger, remainder: BigInteger}; - - /** - * Alias for the equals method. - */ - eq(number: BigNumber): boolean; - - /** - * Checks if two numbers are equal. - */ - equals(number: BigNumber): boolean; - - /** - * Alias for the greaterOrEquals method. - */ - geq(number: BigNumber): boolean; - - /** - * Checks if the first number is greater than the second. - */ - greater(number: BigNumber): boolean; - - /** - * Checks if the first number is greater than or equal to the second. - */ - greaterOrEquals(number: BigNumber): boolean; - - /** - * Alias for the greater method. - */ - gt(number: BigNumber): boolean; - - /** - * Returns true if the first number is divisible by the second number, false otherwise. - */ - isDivisibleBy(number: BigNumber): boolean; - - /** - * Returns true if the number is even, false otherwise. - */ - isEven(): boolean; - - /** - * Returns true if the number is negative, false otherwise. - * Returns false for 0 and true for -0. - */ - isNegative(): boolean; - - /** - * Returns true if the number is odd, false otherwise. - */ - isOdd(): boolean; - - /** - * Return true if the number is positive, false otherwise. - * Returns true for 0 and false for -0. - */ - isPositive(): boolean; - - /** - * Returns true if the number is prime, false otherwise. - */ - isPrime(): boolean; - - /** - * Returns true if the number is very likely to be prime, false otherwise. - */ - isProbablePrime(iterations?: number): boolean; - - /** - * Returns true if the number is 1 or -1, false otherwise. - */ - isUnit(): boolean; - - /** - * Return true if the number is 0 or -0, false otherwise. - */ - isZero(): boolean; - - /** - * Alias for the lesserOrEquals method. - */ - leq(number: BigNumber): boolean; - - /** - * Checks if the first number is lesser than the second. - */ - lesser(number: BigNumber): boolean; - - /** - * Checks if the first number is less than or equal to the second. - */ - lesserOrEquals(number: BigNumber): boolean; - - /** - * Alias for the lesser method. - */ - lt(number: BigNumber): boolean; - - /** - * Alias for the subtract method. - */ - minus(number: BigNumber): BigInteger; - - /** - * Performs division and returns the remainder, disregarding the quotient. - * The sign of the remainder will match the sign of the dividend. - */ - mod(number: BigNumber): BigInteger; - - /** - * Finds the multiplicative inverse of the number modulo mod. - */ - modInv(number: BigNumber): BigInteger; - - /** - * Takes the number to the power exp modulo mod. - */ - modPow(exp: BigNumber, mod: BigNumber): BigInteger; - - /** - * Performs multiplication. - */ - multiply(number: BigNumber): BigInteger; - - /** - * Reverses the sign of the number. - */ - negate(): BigInteger; - - /** - * Alias for the notEquals method. - */ - neq(number: BigNumber): boolean; - - /** - * Adds one to the number. - */ - next(): BigInteger; - - /** - * Performs the bitwise NOT operation. - */ - not(): BigInteger; - - /** - * Checks if two numbers are not equal. - */ - notEquals(number: BigNumber): boolean; - - /** - * Performs the bitwise OR operation. - */ - or(number: BigNumber): BigInteger; - - /** - * Alias for the divide method. - */ - over(number: BigNumber): BigInteger; - - /** - * Alias for the add method. - */ - plus(number: BigNumber): BigInteger; - - /** - * Performs exponentiation. If the exponent is less than 0, pow returns 0. - * bigInt.zero.pow(0) returns 1. - */ - pow(number: BigNumber): BigInteger; - - /** - * Subtracts one from the number. - */ - prev(): BigInteger; - - /** - * Alias for the mod method. - */ - remainder(number: BigNumber): BigInteger; - - /** - * Shifts the number left by n places in its binary representation. - * If a negative number is provided, it will shift right. - * - * Throws an error if number is outside of the range [-9007199254740992, 9007199254740992]. - */ - shiftLeft(number: BigNumber): BigInteger; - - /** - * Shifts the number right by n places in its binary representation. - * If a negative number is provided, it will shift left. - * - * Throws an error if number is outside of the range [-9007199254740992, 9007199254740992]. - */ - shiftRight(number: BigNumber): BigInteger; - - /** - * Squares the number. - */ - square(): BigInteger; - - /** - * Performs subtraction. - */ - subtract(number: BigNumber): BigInteger; - - /** - * Alias for the multiply method. - */ - times(number: BigNumber): BigInteger; - - /** - * Converts a bigInt into a native Javascript number. Loses precision for numbers outside the range. - */ - toJSNumber(): number; - - /** - * Converts a bigInt to a string. - */ - toString(radix?: number): string; - - /** - * Converts a bigInt to a native Javascript number. This override allows you to use native - * arithmetic operators without explicit conversion. - */ - valueOf(): number; - - /** - * Performs the bitwise XOR operation. - */ - xor(number: BigNumber): BigInteger; - } - - // Array constant accessors - interface BigIntegerStatic { - '-999': BigInteger; - '-998': BigInteger; - '-997': BigInteger; - '-996': BigInteger; - '-995': BigInteger; - '-994': BigInteger; - '-993': BigInteger; - '-992': BigInteger; - '-991': BigInteger; - '-990': BigInteger; - '-989': BigInteger; - '-988': BigInteger; - '-987': BigInteger; - '-986': BigInteger; - '-985': BigInteger; - '-984': BigInteger; - '-983': BigInteger; - '-982': BigInteger; - '-981': BigInteger; - '-980': BigInteger; - '-979': BigInteger; - '-978': BigInteger; - '-977': BigInteger; - '-976': BigInteger; - '-975': BigInteger; - '-974': BigInteger; - '-973': BigInteger; - '-972': BigInteger; - '-971': BigInteger; - '-970': BigInteger; - '-969': BigInteger; - '-968': BigInteger; - '-967': BigInteger; - '-966': BigInteger; - '-965': BigInteger; - '-964': BigInteger; - '-963': BigInteger; - '-962': BigInteger; - '-961': BigInteger; - '-960': BigInteger; - '-959': BigInteger; - '-958': BigInteger; - '-957': BigInteger; - '-956': BigInteger; - '-955': BigInteger; - '-954': BigInteger; - '-953': BigInteger; - '-952': BigInteger; - '-951': BigInteger; - '-950': BigInteger; - '-949': BigInteger; - '-948': BigInteger; - '-947': BigInteger; - '-946': BigInteger; - '-945': BigInteger; - '-944': BigInteger; - '-943': BigInteger; - '-942': BigInteger; - '-941': BigInteger; - '-940': BigInteger; - '-939': BigInteger; - '-938': BigInteger; - '-937': BigInteger; - '-936': BigInteger; - '-935': BigInteger; - '-934': BigInteger; - '-933': BigInteger; - '-932': BigInteger; - '-931': BigInteger; - '-930': BigInteger; - '-929': BigInteger; - '-928': BigInteger; - '-927': BigInteger; - '-926': BigInteger; - '-925': BigInteger; - '-924': BigInteger; - '-923': BigInteger; - '-922': BigInteger; - '-921': BigInteger; - '-920': BigInteger; - '-919': BigInteger; - '-918': BigInteger; - '-917': BigInteger; - '-916': BigInteger; - '-915': BigInteger; - '-914': BigInteger; - '-913': BigInteger; - '-912': BigInteger; - '-911': BigInteger; - '-910': BigInteger; - '-909': BigInteger; - '-908': BigInteger; - '-907': BigInteger; - '-906': BigInteger; - '-905': BigInteger; - '-904': BigInteger; - '-903': BigInteger; - '-902': BigInteger; - '-901': BigInteger; - '-900': BigInteger; - '-899': BigInteger; - '-898': BigInteger; - '-897': BigInteger; - '-896': BigInteger; - '-895': BigInteger; - '-894': BigInteger; - '-893': BigInteger; - '-892': BigInteger; - '-891': BigInteger; - '-890': BigInteger; - '-889': BigInteger; - '-888': BigInteger; - '-887': BigInteger; - '-886': BigInteger; - '-885': BigInteger; - '-884': BigInteger; - '-883': BigInteger; - '-882': BigInteger; - '-881': BigInteger; - '-880': BigInteger; - '-879': BigInteger; - '-878': BigInteger; - '-877': BigInteger; - '-876': BigInteger; - '-875': BigInteger; - '-874': BigInteger; - '-873': BigInteger; - '-872': BigInteger; - '-871': BigInteger; - '-870': BigInteger; - '-869': BigInteger; - '-868': BigInteger; - '-867': BigInteger; - '-866': BigInteger; - '-865': BigInteger; - '-864': BigInteger; - '-863': BigInteger; - '-862': BigInteger; - '-861': BigInteger; - '-860': BigInteger; - '-859': BigInteger; - '-858': BigInteger; - '-857': BigInteger; - '-856': BigInteger; - '-855': BigInteger; - '-854': BigInteger; - '-853': BigInteger; - '-852': BigInteger; - '-851': BigInteger; - '-850': BigInteger; - '-849': BigInteger; - '-848': BigInteger; - '-847': BigInteger; - '-846': BigInteger; - '-845': BigInteger; - '-844': BigInteger; - '-843': BigInteger; - '-842': BigInteger; - '-841': BigInteger; - '-840': BigInteger; - '-839': BigInteger; - '-838': BigInteger; - '-837': BigInteger; - '-836': BigInteger; - '-835': BigInteger; - '-834': BigInteger; - '-833': BigInteger; - '-832': BigInteger; - '-831': BigInteger; - '-830': BigInteger; - '-829': BigInteger; - '-828': BigInteger; - '-827': BigInteger; - '-826': BigInteger; - '-825': BigInteger; - '-824': BigInteger; - '-823': BigInteger; - '-822': BigInteger; - '-821': BigInteger; - '-820': BigInteger; - '-819': BigInteger; - '-818': BigInteger; - '-817': BigInteger; - '-816': BigInteger; - '-815': BigInteger; - '-814': BigInteger; - '-813': BigInteger; - '-812': BigInteger; - '-811': BigInteger; - '-810': BigInteger; - '-809': BigInteger; - '-808': BigInteger; - '-807': BigInteger; - '-806': BigInteger; - '-805': BigInteger; - '-804': BigInteger; - '-803': BigInteger; - '-802': BigInteger; - '-801': BigInteger; - '-800': BigInteger; - '-799': BigInteger; - '-798': BigInteger; - '-797': BigInteger; - '-796': BigInteger; - '-795': BigInteger; - '-794': BigInteger; - '-793': BigInteger; - '-792': BigInteger; - '-791': BigInteger; - '-790': BigInteger; - '-789': BigInteger; - '-788': BigInteger; - '-787': BigInteger; - '-786': BigInteger; - '-785': BigInteger; - '-784': BigInteger; - '-783': BigInteger; - '-782': BigInteger; - '-781': BigInteger; - '-780': BigInteger; - '-779': BigInteger; - '-778': BigInteger; - '-777': BigInteger; - '-776': BigInteger; - '-775': BigInteger; - '-774': BigInteger; - '-773': BigInteger; - '-772': BigInteger; - '-771': BigInteger; - '-770': BigInteger; - '-769': BigInteger; - '-768': BigInteger; - '-767': BigInteger; - '-766': BigInteger; - '-765': BigInteger; - '-764': BigInteger; - '-763': BigInteger; - '-762': BigInteger; - '-761': BigInteger; - '-760': BigInteger; - '-759': BigInteger; - '-758': BigInteger; - '-757': BigInteger; - '-756': BigInteger; - '-755': BigInteger; - '-754': BigInteger; - '-753': BigInteger; - '-752': BigInteger; - '-751': BigInteger; - '-750': BigInteger; - '-749': BigInteger; - '-748': BigInteger; - '-747': BigInteger; - '-746': BigInteger; - '-745': BigInteger; - '-744': BigInteger; - '-743': BigInteger; - '-742': BigInteger; - '-741': BigInteger; - '-740': BigInteger; - '-739': BigInteger; - '-738': BigInteger; - '-737': BigInteger; - '-736': BigInteger; - '-735': BigInteger; - '-734': BigInteger; - '-733': BigInteger; - '-732': BigInteger; - '-731': BigInteger; - '-730': BigInteger; - '-729': BigInteger; - '-728': BigInteger; - '-727': BigInteger; - '-726': BigInteger; - '-725': BigInteger; - '-724': BigInteger; - '-723': BigInteger; - '-722': BigInteger; - '-721': BigInteger; - '-720': BigInteger; - '-719': BigInteger; - '-718': BigInteger; - '-717': BigInteger; - '-716': BigInteger; - '-715': BigInteger; - '-714': BigInteger; - '-713': BigInteger; - '-712': BigInteger; - '-711': BigInteger; - '-710': BigInteger; - '-709': BigInteger; - '-708': BigInteger; - '-707': BigInteger; - '-706': BigInteger; - '-705': BigInteger; - '-704': BigInteger; - '-703': BigInteger; - '-702': BigInteger; - '-701': BigInteger; - '-700': BigInteger; - '-699': BigInteger; - '-698': BigInteger; - '-697': BigInteger; - '-696': BigInteger; - '-695': BigInteger; - '-694': BigInteger; - '-693': BigInteger; - '-692': BigInteger; - '-691': BigInteger; - '-690': BigInteger; - '-689': BigInteger; - '-688': BigInteger; - '-687': BigInteger; - '-686': BigInteger; - '-685': BigInteger; - '-684': BigInteger; - '-683': BigInteger; - '-682': BigInteger; - '-681': BigInteger; - '-680': BigInteger; - '-679': BigInteger; - '-678': BigInteger; - '-677': BigInteger; - '-676': BigInteger; - '-675': BigInteger; - '-674': BigInteger; - '-673': BigInteger; - '-672': BigInteger; - '-671': BigInteger; - '-670': BigInteger; - '-669': BigInteger; - '-668': BigInteger; - '-667': BigInteger; - '-666': BigInteger; - '-665': BigInteger; - '-664': BigInteger; - '-663': BigInteger; - '-662': BigInteger; - '-661': BigInteger; - '-660': BigInteger; - '-659': BigInteger; - '-658': BigInteger; - '-657': BigInteger; - '-656': BigInteger; - '-655': BigInteger; - '-654': BigInteger; - '-653': BigInteger; - '-652': BigInteger; - '-651': BigInteger; - '-650': BigInteger; - '-649': BigInteger; - '-648': BigInteger; - '-647': BigInteger; - '-646': BigInteger; - '-645': BigInteger; - '-644': BigInteger; - '-643': BigInteger; - '-642': BigInteger; - '-641': BigInteger; - '-640': BigInteger; - '-639': BigInteger; - '-638': BigInteger; - '-637': BigInteger; - '-636': BigInteger; - '-635': BigInteger; - '-634': BigInteger; - '-633': BigInteger; - '-632': BigInteger; - '-631': BigInteger; - '-630': BigInteger; - '-629': BigInteger; - '-628': BigInteger; - '-627': BigInteger; - '-626': BigInteger; - '-625': BigInteger; - '-624': BigInteger; - '-623': BigInteger; - '-622': BigInteger; - '-621': BigInteger; - '-620': BigInteger; - '-619': BigInteger; - '-618': BigInteger; - '-617': BigInteger; - '-616': BigInteger; - '-615': BigInteger; - '-614': BigInteger; - '-613': BigInteger; - '-612': BigInteger; - '-611': BigInteger; - '-610': BigInteger; - '-609': BigInteger; - '-608': BigInteger; - '-607': BigInteger; - '-606': BigInteger; - '-605': BigInteger; - '-604': BigInteger; - '-603': BigInteger; - '-602': BigInteger; - '-601': BigInteger; - '-600': BigInteger; - '-599': BigInteger; - '-598': BigInteger; - '-597': BigInteger; - '-596': BigInteger; - '-595': BigInteger; - '-594': BigInteger; - '-593': BigInteger; - '-592': BigInteger; - '-591': BigInteger; - '-590': BigInteger; - '-589': BigInteger; - '-588': BigInteger; - '-587': BigInteger; - '-586': BigInteger; - '-585': BigInteger; - '-584': BigInteger; - '-583': BigInteger; - '-582': BigInteger; - '-581': BigInteger; - '-580': BigInteger; - '-579': BigInteger; - '-578': BigInteger; - '-577': BigInteger; - '-576': BigInteger; - '-575': BigInteger; - '-574': BigInteger; - '-573': BigInteger; - '-572': BigInteger; - '-571': BigInteger; - '-570': BigInteger; - '-569': BigInteger; - '-568': BigInteger; - '-567': BigInteger; - '-566': BigInteger; - '-565': BigInteger; - '-564': BigInteger; - '-563': BigInteger; - '-562': BigInteger; - '-561': BigInteger; - '-560': BigInteger; - '-559': BigInteger; - '-558': BigInteger; - '-557': BigInteger; - '-556': BigInteger; - '-555': BigInteger; - '-554': BigInteger; - '-553': BigInteger; - '-552': BigInteger; - '-551': BigInteger; - '-550': BigInteger; - '-549': BigInteger; - '-548': BigInteger; - '-547': BigInteger; - '-546': BigInteger; - '-545': BigInteger; - '-544': BigInteger; - '-543': BigInteger; - '-542': BigInteger; - '-541': BigInteger; - '-540': BigInteger; - '-539': BigInteger; - '-538': BigInteger; - '-537': BigInteger; - '-536': BigInteger; - '-535': BigInteger; - '-534': BigInteger; - '-533': BigInteger; - '-532': BigInteger; - '-531': BigInteger; - '-530': BigInteger; - '-529': BigInteger; - '-528': BigInteger; - '-527': BigInteger; - '-526': BigInteger; - '-525': BigInteger; - '-524': BigInteger; - '-523': BigInteger; - '-522': BigInteger; - '-521': BigInteger; - '-520': BigInteger; - '-519': BigInteger; - '-518': BigInteger; - '-517': BigInteger; - '-516': BigInteger; - '-515': BigInteger; - '-514': BigInteger; - '-513': BigInteger; - '-512': BigInteger; - '-511': BigInteger; - '-510': BigInteger; - '-509': BigInteger; - '-508': BigInteger; - '-507': BigInteger; - '-506': BigInteger; - '-505': BigInteger; - '-504': BigInteger; - '-503': BigInteger; - '-502': BigInteger; - '-501': BigInteger; - '-500': BigInteger; - '-499': BigInteger; - '-498': BigInteger; - '-497': BigInteger; - '-496': BigInteger; - '-495': BigInteger; - '-494': BigInteger; - '-493': BigInteger; - '-492': BigInteger; - '-491': BigInteger; - '-490': BigInteger; - '-489': BigInteger; - '-488': BigInteger; - '-487': BigInteger; - '-486': BigInteger; - '-485': BigInteger; - '-484': BigInteger; - '-483': BigInteger; - '-482': BigInteger; - '-481': BigInteger; - '-480': BigInteger; - '-479': BigInteger; - '-478': BigInteger; - '-477': BigInteger; - '-476': BigInteger; - '-475': BigInteger; - '-474': BigInteger; - '-473': BigInteger; - '-472': BigInteger; - '-471': BigInteger; - '-470': BigInteger; - '-469': BigInteger; - '-468': BigInteger; - '-467': BigInteger; - '-466': BigInteger; - '-465': BigInteger; - '-464': BigInteger; - '-463': BigInteger; - '-462': BigInteger; - '-461': BigInteger; - '-460': BigInteger; - '-459': BigInteger; - '-458': BigInteger; - '-457': BigInteger; - '-456': BigInteger; - '-455': BigInteger; - '-454': BigInteger; - '-453': BigInteger; - '-452': BigInteger; - '-451': BigInteger; - '-450': BigInteger; - '-449': BigInteger; - '-448': BigInteger; - '-447': BigInteger; - '-446': BigInteger; - '-445': BigInteger; - '-444': BigInteger; - '-443': BigInteger; - '-442': BigInteger; - '-441': BigInteger; - '-440': BigInteger; - '-439': BigInteger; - '-438': BigInteger; - '-437': BigInteger; - '-436': BigInteger; - '-435': BigInteger; - '-434': BigInteger; - '-433': BigInteger; - '-432': BigInteger; - '-431': BigInteger; - '-430': BigInteger; - '-429': BigInteger; - '-428': BigInteger; - '-427': BigInteger; - '-426': BigInteger; - '-425': BigInteger; - '-424': BigInteger; - '-423': BigInteger; - '-422': BigInteger; - '-421': BigInteger; - '-420': BigInteger; - '-419': BigInteger; - '-418': BigInteger; - '-417': BigInteger; - '-416': BigInteger; - '-415': BigInteger; - '-414': BigInteger; - '-413': BigInteger; - '-412': BigInteger; - '-411': BigInteger; - '-410': BigInteger; - '-409': BigInteger; - '-408': BigInteger; - '-407': BigInteger; - '-406': BigInteger; - '-405': BigInteger; - '-404': BigInteger; - '-403': BigInteger; - '-402': BigInteger; - '-401': BigInteger; - '-400': BigInteger; - '-399': BigInteger; - '-398': BigInteger; - '-397': BigInteger; - '-396': BigInteger; - '-395': BigInteger; - '-394': BigInteger; - '-393': BigInteger; - '-392': BigInteger; - '-391': BigInteger; - '-390': BigInteger; - '-389': BigInteger; - '-388': BigInteger; - '-387': BigInteger; - '-386': BigInteger; - '-385': BigInteger; - '-384': BigInteger; - '-383': BigInteger; - '-382': BigInteger; - '-381': BigInteger; - '-380': BigInteger; - '-379': BigInteger; - '-378': BigInteger; - '-377': BigInteger; - '-376': BigInteger; - '-375': BigInteger; - '-374': BigInteger; - '-373': BigInteger; - '-372': BigInteger; - '-371': BigInteger; - '-370': BigInteger; - '-369': BigInteger; - '-368': BigInteger; - '-367': BigInteger; - '-366': BigInteger; - '-365': BigInteger; - '-364': BigInteger; - '-363': BigInteger; - '-362': BigInteger; - '-361': BigInteger; - '-360': BigInteger; - '-359': BigInteger; - '-358': BigInteger; - '-357': BigInteger; - '-356': BigInteger; - '-355': BigInteger; - '-354': BigInteger; - '-353': BigInteger; - '-352': BigInteger; - '-351': BigInteger; - '-350': BigInteger; - '-349': BigInteger; - '-348': BigInteger; - '-347': BigInteger; - '-346': BigInteger; - '-345': BigInteger; - '-344': BigInteger; - '-343': BigInteger; - '-342': BigInteger; - '-341': BigInteger; - '-340': BigInteger; - '-339': BigInteger; - '-338': BigInteger; - '-337': BigInteger; - '-336': BigInteger; - '-335': BigInteger; - '-334': BigInteger; - '-333': BigInteger; - '-332': BigInteger; - '-331': BigInteger; - '-330': BigInteger; - '-329': BigInteger; - '-328': BigInteger; - '-327': BigInteger; - '-326': BigInteger; - '-325': BigInteger; - '-324': BigInteger; - '-323': BigInteger; - '-322': BigInteger; - '-321': BigInteger; - '-320': BigInteger; - '-319': BigInteger; - '-318': BigInteger; - '-317': BigInteger; - '-316': BigInteger; - '-315': BigInteger; - '-314': BigInteger; - '-313': BigInteger; - '-312': BigInteger; - '-311': BigInteger; - '-310': BigInteger; - '-309': BigInteger; - '-308': BigInteger; - '-307': BigInteger; - '-306': BigInteger; - '-305': BigInteger; - '-304': BigInteger; - '-303': BigInteger; - '-302': BigInteger; - '-301': BigInteger; - '-300': BigInteger; - '-299': BigInteger; - '-298': BigInteger; - '-297': BigInteger; - '-296': BigInteger; - '-295': BigInteger; - '-294': BigInteger; - '-293': BigInteger; - '-292': BigInteger; - '-291': BigInteger; - '-290': BigInteger; - '-289': BigInteger; - '-288': BigInteger; - '-287': BigInteger; - '-286': BigInteger; - '-285': BigInteger; - '-284': BigInteger; - '-283': BigInteger; - '-282': BigInteger; - '-281': BigInteger; - '-280': BigInteger; - '-279': BigInteger; - '-278': BigInteger; - '-277': BigInteger; - '-276': BigInteger; - '-275': BigInteger; - '-274': BigInteger; - '-273': BigInteger; - '-272': BigInteger; - '-271': BigInteger; - '-270': BigInteger; - '-269': BigInteger; - '-268': BigInteger; - '-267': BigInteger; - '-266': BigInteger; - '-265': BigInteger; - '-264': BigInteger; - '-263': BigInteger; - '-262': BigInteger; - '-261': BigInteger; - '-260': BigInteger; - '-259': BigInteger; - '-258': BigInteger; - '-257': BigInteger; - '-256': BigInteger; - '-255': BigInteger; - '-254': BigInteger; - '-253': BigInteger; - '-252': BigInteger; - '-251': BigInteger; - '-250': BigInteger; - '-249': BigInteger; - '-248': BigInteger; - '-247': BigInteger; - '-246': BigInteger; - '-245': BigInteger; - '-244': BigInteger; - '-243': BigInteger; - '-242': BigInteger; - '-241': BigInteger; - '-240': BigInteger; - '-239': BigInteger; - '-238': BigInteger; - '-237': BigInteger; - '-236': BigInteger; - '-235': BigInteger; - '-234': BigInteger; - '-233': BigInteger; - '-232': BigInteger; - '-231': BigInteger; - '-230': BigInteger; - '-229': BigInteger; - '-228': BigInteger; - '-227': BigInteger; - '-226': BigInteger; - '-225': BigInteger; - '-224': BigInteger; - '-223': BigInteger; - '-222': BigInteger; - '-221': BigInteger; - '-220': BigInteger; - '-219': BigInteger; - '-218': BigInteger; - '-217': BigInteger; - '-216': BigInteger; - '-215': BigInteger; - '-214': BigInteger; - '-213': BigInteger; - '-212': BigInteger; - '-211': BigInteger; - '-210': BigInteger; - '-209': BigInteger; - '-208': BigInteger; - '-207': BigInteger; - '-206': BigInteger; - '-205': BigInteger; - '-204': BigInteger; - '-203': BigInteger; - '-202': BigInteger; - '-201': BigInteger; - '-200': BigInteger; - '-199': BigInteger; - '-198': BigInteger; - '-197': BigInteger; - '-196': BigInteger; - '-195': BigInteger; - '-194': BigInteger; - '-193': BigInteger; - '-192': BigInteger; - '-191': BigInteger; - '-190': BigInteger; - '-189': BigInteger; - '-188': BigInteger; - '-187': BigInteger; - '-186': BigInteger; - '-185': BigInteger; - '-184': BigInteger; - '-183': BigInteger; - '-182': BigInteger; - '-181': BigInteger; - '-180': BigInteger; - '-179': BigInteger; - '-178': BigInteger; - '-177': BigInteger; - '-176': BigInteger; - '-175': BigInteger; - '-174': BigInteger; - '-173': BigInteger; - '-172': BigInteger; - '-171': BigInteger; - '-170': BigInteger; - '-169': BigInteger; - '-168': BigInteger; - '-167': BigInteger; - '-166': BigInteger; - '-165': BigInteger; - '-164': BigInteger; - '-163': BigInteger; - '-162': BigInteger; - '-161': BigInteger; - '-160': BigInteger; - '-159': BigInteger; - '-158': BigInteger; - '-157': BigInteger; - '-156': BigInteger; - '-155': BigInteger; - '-154': BigInteger; - '-153': BigInteger; - '-152': BigInteger; - '-151': BigInteger; - '-150': BigInteger; - '-149': BigInteger; - '-148': BigInteger; - '-147': BigInteger; - '-146': BigInteger; - '-145': BigInteger; - '-144': BigInteger; - '-143': BigInteger; - '-142': BigInteger; - '-141': BigInteger; - '-140': BigInteger; - '-139': BigInteger; - '-138': BigInteger; - '-137': BigInteger; - '-136': BigInteger; - '-135': BigInteger; - '-134': BigInteger; - '-133': BigInteger; - '-132': BigInteger; - '-131': BigInteger; - '-130': BigInteger; - '-129': BigInteger; - '-128': BigInteger; - '-127': BigInteger; - '-126': BigInteger; - '-125': BigInteger; - '-124': BigInteger; - '-123': BigInteger; - '-122': BigInteger; - '-121': BigInteger; - '-120': BigInteger; - '-119': BigInteger; - '-118': BigInteger; - '-117': BigInteger; - '-116': BigInteger; - '-115': BigInteger; - '-114': BigInteger; - '-113': BigInteger; - '-112': BigInteger; - '-111': BigInteger; - '-110': BigInteger; - '-109': BigInteger; - '-108': BigInteger; - '-107': BigInteger; - '-106': BigInteger; - '-105': BigInteger; - '-104': BigInteger; - '-103': BigInteger; - '-102': BigInteger; - '-101': BigInteger; - '-100': BigInteger; - '-99': BigInteger; - '-98': BigInteger; - '-97': BigInteger; - '-96': BigInteger; - '-95': BigInteger; - '-94': BigInteger; - '-93': BigInteger; - '-92': BigInteger; - '-91': BigInteger; - '-90': BigInteger; - '-89': BigInteger; - '-88': BigInteger; - '-87': BigInteger; - '-86': BigInteger; - '-85': BigInteger; - '-84': BigInteger; - '-83': BigInteger; - '-82': BigInteger; - '-81': BigInteger; - '-80': BigInteger; - '-79': BigInteger; - '-78': BigInteger; - '-77': BigInteger; - '-76': BigInteger; - '-75': BigInteger; - '-74': BigInteger; - '-73': BigInteger; - '-72': BigInteger; - '-71': BigInteger; - '-70': BigInteger; - '-69': BigInteger; - '-68': BigInteger; - '-67': BigInteger; - '-66': BigInteger; - '-65': BigInteger; - '-64': BigInteger; - '-63': BigInteger; - '-62': BigInteger; - '-61': BigInteger; - '-60': BigInteger; - '-59': BigInteger; - '-58': BigInteger; - '-57': BigInteger; - '-56': BigInteger; - '-55': BigInteger; - '-54': BigInteger; - '-53': BigInteger; - '-52': BigInteger; - '-51': BigInteger; - '-50': BigInteger; - '-49': BigInteger; - '-48': BigInteger; - '-47': BigInteger; - '-46': BigInteger; - '-45': BigInteger; - '-44': BigInteger; - '-43': BigInteger; - '-42': BigInteger; - '-41': BigInteger; - '-40': BigInteger; - '-39': BigInteger; - '-38': BigInteger; - '-37': BigInteger; - '-36': BigInteger; - '-35': BigInteger; - '-34': BigInteger; - '-33': BigInteger; - '-32': BigInteger; - '-31': BigInteger; - '-30': BigInteger; - '-29': BigInteger; - '-28': BigInteger; - '-27': BigInteger; - '-26': BigInteger; - '-25': BigInteger; - '-24': BigInteger; - '-23': BigInteger; - '-22': BigInteger; - '-21': BigInteger; - '-20': BigInteger; - '-19': BigInteger; - '-18': BigInteger; - '-17': BigInteger; - '-16': BigInteger; - '-15': BigInteger; - '-14': BigInteger; - '-13': BigInteger; - '-12': BigInteger; - '-11': BigInteger; - '-10': BigInteger; - '-9': BigInteger; - '-8': BigInteger; - '-7': BigInteger; - '-6': BigInteger; - '-5': BigInteger; - '-4': BigInteger; - '-3': BigInteger; - '-2': BigInteger; - '-1': BigInteger; - '0': BigInteger; - '1': BigInteger; - '2': BigInteger; - '3': BigInteger; - '4': BigInteger; - '5': BigInteger; - '6': BigInteger; - '7': BigInteger; - '8': BigInteger; - '9': BigInteger; - '10': BigInteger; - '11': BigInteger; - '12': BigInteger; - '13': BigInteger; - '14': BigInteger; - '15': BigInteger; - '16': BigInteger; - '17': BigInteger; - '18': BigInteger; - '19': BigInteger; - '20': BigInteger; - '21': BigInteger; - '22': BigInteger; - '23': BigInteger; - '24': BigInteger; - '25': BigInteger; - '26': BigInteger; - '27': BigInteger; - '28': BigInteger; - '29': BigInteger; - '30': BigInteger; - '31': BigInteger; - '32': BigInteger; - '33': BigInteger; - '34': BigInteger; - '35': BigInteger; - '36': BigInteger; - '37': BigInteger; - '38': BigInteger; - '39': BigInteger; - '40': BigInteger; - '41': BigInteger; - '42': BigInteger; - '43': BigInteger; - '44': BigInteger; - '45': BigInteger; - '46': BigInteger; - '47': BigInteger; - '48': BigInteger; - '49': BigInteger; - '50': BigInteger; - '51': BigInteger; - '52': BigInteger; - '53': BigInteger; - '54': BigInteger; - '55': BigInteger; - '56': BigInteger; - '57': BigInteger; - '58': BigInteger; - '59': BigInteger; - '60': BigInteger; - '61': BigInteger; - '62': BigInteger; - '63': BigInteger; - '64': BigInteger; - '65': BigInteger; - '66': BigInteger; - '67': BigInteger; - '68': BigInteger; - '69': BigInteger; - '70': BigInteger; - '71': BigInteger; - '72': BigInteger; - '73': BigInteger; - '74': BigInteger; - '75': BigInteger; - '76': BigInteger; - '77': BigInteger; - '78': BigInteger; - '79': BigInteger; - '80': BigInteger; - '81': BigInteger; - '82': BigInteger; - '83': BigInteger; - '84': BigInteger; - '85': BigInteger; - '86': BigInteger; - '87': BigInteger; - '88': BigInteger; - '89': BigInteger; - '90': BigInteger; - '91': BigInteger; - '92': BigInteger; - '93': BigInteger; - '94': BigInteger; - '95': BigInteger; - '96': BigInteger; - '97': BigInteger; - '98': BigInteger; - '99': BigInteger; - '100': BigInteger; - '101': BigInteger; - '102': BigInteger; - '103': BigInteger; - '104': BigInteger; - '105': BigInteger; - '106': BigInteger; - '107': BigInteger; - '108': BigInteger; - '109': BigInteger; - '110': BigInteger; - '111': BigInteger; - '112': BigInteger; - '113': BigInteger; - '114': BigInteger; - '115': BigInteger; - '116': BigInteger; - '117': BigInteger; - '118': BigInteger; - '119': BigInteger; - '120': BigInteger; - '121': BigInteger; - '122': BigInteger; - '123': BigInteger; - '124': BigInteger; - '125': BigInteger; - '126': BigInteger; - '127': BigInteger; - '128': BigInteger; - '129': BigInteger; - '130': BigInteger; - '131': BigInteger; - '132': BigInteger; - '133': BigInteger; - '134': BigInteger; - '135': BigInteger; - '136': BigInteger; - '137': BigInteger; - '138': BigInteger; - '139': BigInteger; - '140': BigInteger; - '141': BigInteger; - '142': BigInteger; - '143': BigInteger; - '144': BigInteger; - '145': BigInteger; - '146': BigInteger; - '147': BigInteger; - '148': BigInteger; - '149': BigInteger; - '150': BigInteger; - '151': BigInteger; - '152': BigInteger; - '153': BigInteger; - '154': BigInteger; - '155': BigInteger; - '156': BigInteger; - '157': BigInteger; - '158': BigInteger; - '159': BigInteger; - '160': BigInteger; - '161': BigInteger; - '162': BigInteger; - '163': BigInteger; - '164': BigInteger; - '165': BigInteger; - '166': BigInteger; - '167': BigInteger; - '168': BigInteger; - '169': BigInteger; - '170': BigInteger; - '171': BigInteger; - '172': BigInteger; - '173': BigInteger; - '174': BigInteger; - '175': BigInteger; - '176': BigInteger; - '177': BigInteger; - '178': BigInteger; - '179': BigInteger; - '180': BigInteger; - '181': BigInteger; - '182': BigInteger; - '183': BigInteger; - '184': BigInteger; - '185': BigInteger; - '186': BigInteger; - '187': BigInteger; - '188': BigInteger; - '189': BigInteger; - '190': BigInteger; - '191': BigInteger; - '192': BigInteger; - '193': BigInteger; - '194': BigInteger; - '195': BigInteger; - '196': BigInteger; - '197': BigInteger; - '198': BigInteger; - '199': BigInteger; - '200': BigInteger; - '201': BigInteger; - '202': BigInteger; - '203': BigInteger; - '204': BigInteger; - '205': BigInteger; - '206': BigInteger; - '207': BigInteger; - '208': BigInteger; - '209': BigInteger; - '210': BigInteger; - '211': BigInteger; - '212': BigInteger; - '213': BigInteger; - '214': BigInteger; - '215': BigInteger; - '216': BigInteger; - '217': BigInteger; - '218': BigInteger; - '219': BigInteger; - '220': BigInteger; - '221': BigInteger; - '222': BigInteger; - '223': BigInteger; - '224': BigInteger; - '225': BigInteger; - '226': BigInteger; - '227': BigInteger; - '228': BigInteger; - '229': BigInteger; - '230': BigInteger; - '231': BigInteger; - '232': BigInteger; - '233': BigInteger; - '234': BigInteger; - '235': BigInteger; - '236': BigInteger; - '237': BigInteger; - '238': BigInteger; - '239': BigInteger; - '240': BigInteger; - '241': BigInteger; - '242': BigInteger; - '243': BigInteger; - '244': BigInteger; - '245': BigInteger; - '246': BigInteger; - '247': BigInteger; - '248': BigInteger; - '249': BigInteger; - '250': BigInteger; - '251': BigInteger; - '252': BigInteger; - '253': BigInteger; - '254': BigInteger; - '255': BigInteger; - '256': BigInteger; - '257': BigInteger; - '258': BigInteger; - '259': BigInteger; - '260': BigInteger; - '261': BigInteger; - '262': BigInteger; - '263': BigInteger; - '264': BigInteger; - '265': BigInteger; - '266': BigInteger; - '267': BigInteger; - '268': BigInteger; - '269': BigInteger; - '270': BigInteger; - '271': BigInteger; - '272': BigInteger; - '273': BigInteger; - '274': BigInteger; - '275': BigInteger; - '276': BigInteger; - '277': BigInteger; - '278': BigInteger; - '279': BigInteger; - '280': BigInteger; - '281': BigInteger; - '282': BigInteger; - '283': BigInteger; - '284': BigInteger; - '285': BigInteger; - '286': BigInteger; - '287': BigInteger; - '288': BigInteger; - '289': BigInteger; - '290': BigInteger; - '291': BigInteger; - '292': BigInteger; - '293': BigInteger; - '294': BigInteger; - '295': BigInteger; - '296': BigInteger; - '297': BigInteger; - '298': BigInteger; - '299': BigInteger; - '300': BigInteger; - '301': BigInteger; - '302': BigInteger; - '303': BigInteger; - '304': BigInteger; - '305': BigInteger; - '306': BigInteger; - '307': BigInteger; - '308': BigInteger; - '309': BigInteger; - '310': BigInteger; - '311': BigInteger; - '312': BigInteger; - '313': BigInteger; - '314': BigInteger; - '315': BigInteger; - '316': BigInteger; - '317': BigInteger; - '318': BigInteger; - '319': BigInteger; - '320': BigInteger; - '321': BigInteger; - '322': BigInteger; - '323': BigInteger; - '324': BigInteger; - '325': BigInteger; - '326': BigInteger; - '327': BigInteger; - '328': BigInteger; - '329': BigInteger; - '330': BigInteger; - '331': BigInteger; - '332': BigInteger; - '333': BigInteger; - '334': BigInteger; - '335': BigInteger; - '336': BigInteger; - '337': BigInteger; - '338': BigInteger; - '339': BigInteger; - '340': BigInteger; - '341': BigInteger; - '342': BigInteger; - '343': BigInteger; - '344': BigInteger; - '345': BigInteger; - '346': BigInteger; - '347': BigInteger; - '348': BigInteger; - '349': BigInteger; - '350': BigInteger; - '351': BigInteger; - '352': BigInteger; - '353': BigInteger; - '354': BigInteger; - '355': BigInteger; - '356': BigInteger; - '357': BigInteger; - '358': BigInteger; - '359': BigInteger; - '360': BigInteger; - '361': BigInteger; - '362': BigInteger; - '363': BigInteger; - '364': BigInteger; - '365': BigInteger; - '366': BigInteger; - '367': BigInteger; - '368': BigInteger; - '369': BigInteger; - '370': BigInteger; - '371': BigInteger; - '372': BigInteger; - '373': BigInteger; - '374': BigInteger; - '375': BigInteger; - '376': BigInteger; - '377': BigInteger; - '378': BigInteger; - '379': BigInteger; - '380': BigInteger; - '381': BigInteger; - '382': BigInteger; - '383': BigInteger; - '384': BigInteger; - '385': BigInteger; - '386': BigInteger; - '387': BigInteger; - '388': BigInteger; - '389': BigInteger; - '390': BigInteger; - '391': BigInteger; - '392': BigInteger; - '393': BigInteger; - '394': BigInteger; - '395': BigInteger; - '396': BigInteger; - '397': BigInteger; - '398': BigInteger; - '399': BigInteger; - '400': BigInteger; - '401': BigInteger; - '402': BigInteger; - '403': BigInteger; - '404': BigInteger; - '405': BigInteger; - '406': BigInteger; - '407': BigInteger; - '408': BigInteger; - '409': BigInteger; - '410': BigInteger; - '411': BigInteger; - '412': BigInteger; - '413': BigInteger; - '414': BigInteger; - '415': BigInteger; - '416': BigInteger; - '417': BigInteger; - '418': BigInteger; - '419': BigInteger; - '420': BigInteger; - '421': BigInteger; - '422': BigInteger; - '423': BigInteger; - '424': BigInteger; - '425': BigInteger; - '426': BigInteger; - '427': BigInteger; - '428': BigInteger; - '429': BigInteger; - '430': BigInteger; - '431': BigInteger; - '432': BigInteger; - '433': BigInteger; - '434': BigInteger; - '435': BigInteger; - '436': BigInteger; - '437': BigInteger; - '438': BigInteger; - '439': BigInteger; - '440': BigInteger; - '441': BigInteger; - '442': BigInteger; - '443': BigInteger; - '444': BigInteger; - '445': BigInteger; - '446': BigInteger; - '447': BigInteger; - '448': BigInteger; - '449': BigInteger; - '450': BigInteger; - '451': BigInteger; - '452': BigInteger; - '453': BigInteger; - '454': BigInteger; - '455': BigInteger; - '456': BigInteger; - '457': BigInteger; - '458': BigInteger; - '459': BigInteger; - '460': BigInteger; - '461': BigInteger; - '462': BigInteger; - '463': BigInteger; - '464': BigInteger; - '465': BigInteger; - '466': BigInteger; - '467': BigInteger; - '468': BigInteger; - '469': BigInteger; - '470': BigInteger; - '471': BigInteger; - '472': BigInteger; - '473': BigInteger; - '474': BigInteger; - '475': BigInteger; - '476': BigInteger; - '477': BigInteger; - '478': BigInteger; - '479': BigInteger; - '480': BigInteger; - '481': BigInteger; - '482': BigInteger; - '483': BigInteger; - '484': BigInteger; - '485': BigInteger; - '486': BigInteger; - '487': BigInteger; - '488': BigInteger; - '489': BigInteger; - '490': BigInteger; - '491': BigInteger; - '492': BigInteger; - '493': BigInteger; - '494': BigInteger; - '495': BigInteger; - '496': BigInteger; - '497': BigInteger; - '498': BigInteger; - '499': BigInteger; - '500': BigInteger; - '501': BigInteger; - '502': BigInteger; - '503': BigInteger; - '504': BigInteger; - '505': BigInteger; - '506': BigInteger; - '507': BigInteger; - '508': BigInteger; - '509': BigInteger; - '510': BigInteger; - '511': BigInteger; - '512': BigInteger; - '513': BigInteger; - '514': BigInteger; - '515': BigInteger; - '516': BigInteger; - '517': BigInteger; - '518': BigInteger; - '519': BigInteger; - '520': BigInteger; - '521': BigInteger; - '522': BigInteger; - '523': BigInteger; - '524': BigInteger; - '525': BigInteger; - '526': BigInteger; - '527': BigInteger; - '528': BigInteger; - '529': BigInteger; - '530': BigInteger; - '531': BigInteger; - '532': BigInteger; - '533': BigInteger; - '534': BigInteger; - '535': BigInteger; - '536': BigInteger; - '537': BigInteger; - '538': BigInteger; - '539': BigInteger; - '540': BigInteger; - '541': BigInteger; - '542': BigInteger; - '543': BigInteger; - '544': BigInteger; - '545': BigInteger; - '546': BigInteger; - '547': BigInteger; - '548': BigInteger; - '549': BigInteger; - '550': BigInteger; - '551': BigInteger; - '552': BigInteger; - '553': BigInteger; - '554': BigInteger; - '555': BigInteger; - '556': BigInteger; - '557': BigInteger; - '558': BigInteger; - '559': BigInteger; - '560': BigInteger; - '561': BigInteger; - '562': BigInteger; - '563': BigInteger; - '564': BigInteger; - '565': BigInteger; - '566': BigInteger; - '567': BigInteger; - '568': BigInteger; - '569': BigInteger; - '570': BigInteger; - '571': BigInteger; - '572': BigInteger; - '573': BigInteger; - '574': BigInteger; - '575': BigInteger; - '576': BigInteger; - '577': BigInteger; - '578': BigInteger; - '579': BigInteger; - '580': BigInteger; - '581': BigInteger; - '582': BigInteger; - '583': BigInteger; - '584': BigInteger; - '585': BigInteger; - '586': BigInteger; - '587': BigInteger; - '588': BigInteger; - '589': BigInteger; - '590': BigInteger; - '591': BigInteger; - '592': BigInteger; - '593': BigInteger; - '594': BigInteger; - '595': BigInteger; - '596': BigInteger; - '597': BigInteger; - '598': BigInteger; - '599': BigInteger; - '600': BigInteger; - '601': BigInteger; - '602': BigInteger; - '603': BigInteger; - '604': BigInteger; - '605': BigInteger; - '606': BigInteger; - '607': BigInteger; - '608': BigInteger; - '609': BigInteger; - '610': BigInteger; - '611': BigInteger; - '612': BigInteger; - '613': BigInteger; - '614': BigInteger; - '615': BigInteger; - '616': BigInteger; - '617': BigInteger; - '618': BigInteger; - '619': BigInteger; - '620': BigInteger; - '621': BigInteger; - '622': BigInteger; - '623': BigInteger; - '624': BigInteger; - '625': BigInteger; - '626': BigInteger; - '627': BigInteger; - '628': BigInteger; - '629': BigInteger; - '630': BigInteger; - '631': BigInteger; - '632': BigInteger; - '633': BigInteger; - '634': BigInteger; - '635': BigInteger; - '636': BigInteger; - '637': BigInteger; - '638': BigInteger; - '639': BigInteger; - '640': BigInteger; - '641': BigInteger; - '642': BigInteger; - '643': BigInteger; - '644': BigInteger; - '645': BigInteger; - '646': BigInteger; - '647': BigInteger; - '648': BigInteger; - '649': BigInteger; - '650': BigInteger; - '651': BigInteger; - '652': BigInteger; - '653': BigInteger; - '654': BigInteger; - '655': BigInteger; - '656': BigInteger; - '657': BigInteger; - '658': BigInteger; - '659': BigInteger; - '660': BigInteger; - '661': BigInteger; - '662': BigInteger; - '663': BigInteger; - '664': BigInteger; - '665': BigInteger; - '666': BigInteger; - '667': BigInteger; - '668': BigInteger; - '669': BigInteger; - '670': BigInteger; - '671': BigInteger; - '672': BigInteger; - '673': BigInteger; - '674': BigInteger; - '675': BigInteger; - '676': BigInteger; - '677': BigInteger; - '678': BigInteger; - '679': BigInteger; - '680': BigInteger; - '681': BigInteger; - '682': BigInteger; - '683': BigInteger; - '684': BigInteger; - '685': BigInteger; - '686': BigInteger; - '687': BigInteger; - '688': BigInteger; - '689': BigInteger; - '690': BigInteger; - '691': BigInteger; - '692': BigInteger; - '693': BigInteger; - '694': BigInteger; - '695': BigInteger; - '696': BigInteger; - '697': BigInteger; - '698': BigInteger; - '699': BigInteger; - '700': BigInteger; - '701': BigInteger; - '702': BigInteger; - '703': BigInteger; - '704': BigInteger; - '705': BigInteger; - '706': BigInteger; - '707': BigInteger; - '708': BigInteger; - '709': BigInteger; - '710': BigInteger; - '711': BigInteger; - '712': BigInteger; - '713': BigInteger; - '714': BigInteger; - '715': BigInteger; - '716': BigInteger; - '717': BigInteger; - '718': BigInteger; - '719': BigInteger; - '720': BigInteger; - '721': BigInteger; - '722': BigInteger; - '723': BigInteger; - '724': BigInteger; - '725': BigInteger; - '726': BigInteger; - '727': BigInteger; - '728': BigInteger; - '729': BigInteger; - '730': BigInteger; - '731': BigInteger; - '732': BigInteger; - '733': BigInteger; - '734': BigInteger; - '735': BigInteger; - '736': BigInteger; - '737': BigInteger; - '738': BigInteger; - '739': BigInteger; - '740': BigInteger; - '741': BigInteger; - '742': BigInteger; - '743': BigInteger; - '744': BigInteger; - '745': BigInteger; - '746': BigInteger; - '747': BigInteger; - '748': BigInteger; - '749': BigInteger; - '750': BigInteger; - '751': BigInteger; - '752': BigInteger; - '753': BigInteger; - '754': BigInteger; - '755': BigInteger; - '756': BigInteger; - '757': BigInteger; - '758': BigInteger; - '759': BigInteger; - '760': BigInteger; - '761': BigInteger; - '762': BigInteger; - '763': BigInteger; - '764': BigInteger; - '765': BigInteger; - '766': BigInteger; - '767': BigInteger; - '768': BigInteger; - '769': BigInteger; - '770': BigInteger; - '771': BigInteger; - '772': BigInteger; - '773': BigInteger; - '774': BigInteger; - '775': BigInteger; - '776': BigInteger; - '777': BigInteger; - '778': BigInteger; - '779': BigInteger; - '780': BigInteger; - '781': BigInteger; - '782': BigInteger; - '783': BigInteger; - '784': BigInteger; - '785': BigInteger; - '786': BigInteger; - '787': BigInteger; - '788': BigInteger; - '789': BigInteger; - '790': BigInteger; - '791': BigInteger; - '792': BigInteger; - '793': BigInteger; - '794': BigInteger; - '795': BigInteger; - '796': BigInteger; - '797': BigInteger; - '798': BigInteger; - '799': BigInteger; - '800': BigInteger; - '801': BigInteger; - '802': BigInteger; - '803': BigInteger; - '804': BigInteger; - '805': BigInteger; - '806': BigInteger; - '807': BigInteger; - '808': BigInteger; - '809': BigInteger; - '810': BigInteger; - '811': BigInteger; - '812': BigInteger; - '813': BigInteger; - '814': BigInteger; - '815': BigInteger; - '816': BigInteger; - '817': BigInteger; - '818': BigInteger; - '819': BigInteger; - '820': BigInteger; - '821': BigInteger; - '822': BigInteger; - '823': BigInteger; - '824': BigInteger; - '825': BigInteger; - '826': BigInteger; - '827': BigInteger; - '828': BigInteger; - '829': BigInteger; - '830': BigInteger; - '831': BigInteger; - '832': BigInteger; - '833': BigInteger; - '834': BigInteger; - '835': BigInteger; - '836': BigInteger; - '837': BigInteger; - '838': BigInteger; - '839': BigInteger; - '840': BigInteger; - '841': BigInteger; - '842': BigInteger; - '843': BigInteger; - '844': BigInteger; - '845': BigInteger; - '846': BigInteger; - '847': BigInteger; - '848': BigInteger; - '849': BigInteger; - '850': BigInteger; - '851': BigInteger; - '852': BigInteger; - '853': BigInteger; - '854': BigInteger; - '855': BigInteger; - '856': BigInteger; - '857': BigInteger; - '858': BigInteger; - '859': BigInteger; - '860': BigInteger; - '861': BigInteger; - '862': BigInteger; - '863': BigInteger; - '864': BigInteger; - '865': BigInteger; - '866': BigInteger; - '867': BigInteger; - '868': BigInteger; - '869': BigInteger; - '870': BigInteger; - '871': BigInteger; - '872': BigInteger; - '873': BigInteger; - '874': BigInteger; - '875': BigInteger; - '876': BigInteger; - '877': BigInteger; - '878': BigInteger; - '879': BigInteger; - '880': BigInteger; - '881': BigInteger; - '882': BigInteger; - '883': BigInteger; - '884': BigInteger; - '885': BigInteger; - '886': BigInteger; - '887': BigInteger; - '888': BigInteger; - '889': BigInteger; - '890': BigInteger; - '891': BigInteger; - '892': BigInteger; - '893': BigInteger; - '894': BigInteger; - '895': BigInteger; - '896': BigInteger; - '897': BigInteger; - '898': BigInteger; - '899': BigInteger; - '900': BigInteger; - '901': BigInteger; - '902': BigInteger; - '903': BigInteger; - '904': BigInteger; - '905': BigInteger; - '906': BigInteger; - '907': BigInteger; - '908': BigInteger; - '909': BigInteger; - '910': BigInteger; - '911': BigInteger; - '912': BigInteger; - '913': BigInteger; - '914': BigInteger; - '915': BigInteger; - '916': BigInteger; - '917': BigInteger; - '918': BigInteger; - '919': BigInteger; - '920': BigInteger; - '921': BigInteger; - '922': BigInteger; - '923': BigInteger; - '924': BigInteger; - '925': BigInteger; - '926': BigInteger; - '927': BigInteger; - '928': BigInteger; - '929': BigInteger; - '930': BigInteger; - '931': BigInteger; - '932': BigInteger; - '933': BigInteger; - '934': BigInteger; - '935': BigInteger; - '936': BigInteger; - '937': BigInteger; - '938': BigInteger; - '939': BigInteger; - '940': BigInteger; - '941': BigInteger; - '942': BigInteger; - '943': BigInteger; - '944': BigInteger; - '945': BigInteger; - '946': BigInteger; - '947': BigInteger; - '948': BigInteger; - '949': BigInteger; - '950': BigInteger; - '951': BigInteger; - '952': BigInteger; - '953': BigInteger; - '954': BigInteger; - '955': BigInteger; - '956': BigInteger; - '957': BigInteger; - '958': BigInteger; - '959': BigInteger; - '960': BigInteger; - '961': BigInteger; - '962': BigInteger; - '963': BigInteger; - '964': BigInteger; - '965': BigInteger; - '966': BigInteger; - '967': BigInteger; - '968': BigInteger; - '969': BigInteger; - '970': BigInteger; - '971': BigInteger; - '972': BigInteger; - '973': BigInteger; - '974': BigInteger; - '975': BigInteger; - '976': BigInteger; - '977': BigInteger; - '978': BigInteger; - '979': BigInteger; - '980': BigInteger; - '981': BigInteger; - '982': BigInteger; - '983': BigInteger; - '984': BigInteger; - '985': BigInteger; - '986': BigInteger; - '987': BigInteger; - '988': BigInteger; - '989': BigInteger; - '990': BigInteger; - '991': BigInteger; - '992': BigInteger; - '993': BigInteger; - '994': BigInteger; - '995': BigInteger; - '996': BigInteger; - '997': BigInteger; - '998': BigInteger; - '999': BigInteger; - } -} diff --git a/demo/platforms/android/cordova/node_modules/big-integer/BigInteger.js b/demo/platforms/android/cordova/node_modules/big-integer/BigInteger.js deleted file mode 100644 index 8ba8843..0000000 --- a/demo/platforms/android/cordova/node_modules/big-integer/BigInteger.js +++ /dev/null @@ -1,1253 +0,0 @@ -var bigInt = (function (undefined) { - "use strict"; - - var BASE = 1e7, - LOG_BASE = 7, - MAX_INT = 9007199254740992, - MAX_INT_ARR = smallToArray(MAX_INT), - LOG_MAX_INT = Math.log(MAX_INT); - - function Integer(v, radix) { - if (typeof v === "undefined") return Integer[0]; - if (typeof radix !== "undefined") return +radix === 10 ? parseValue(v) : parseBase(v, radix); - return parseValue(v); - } - - function BigInteger(value, sign) { - this.value = value; - this.sign = sign; - this.isSmall = false; - } - BigInteger.prototype = Object.create(Integer.prototype); - - function SmallInteger(value) { - this.value = value; - this.sign = value < 0; - this.isSmall = true; - } - SmallInteger.prototype = Object.create(Integer.prototype); - - function isPrecise(n) { - return -MAX_INT < n && n < MAX_INT; - } - - function smallToArray(n) { // For performance reasons doesn't reference BASE, need to change this function if BASE changes - if (n < 1e7) - return [n]; - if (n < 1e14) - return [n % 1e7, Math.floor(n / 1e7)]; - return [n % 1e7, Math.floor(n / 1e7) % 1e7, Math.floor(n / 1e14)]; - } - - function arrayToSmall(arr) { // If BASE changes this function may need to change - trim(arr); - var length = arr.length; - if (length < 4 && compareAbs(arr, MAX_INT_ARR) < 0) { - switch (length) { - case 0: return 0; - case 1: return arr[0]; - case 2: return arr[0] + arr[1] * BASE; - default: return arr[0] + (arr[1] + arr[2] * BASE) * BASE; - } - } - return arr; - } - - function trim(v) { - var i = v.length; - while (v[--i] === 0); - v.length = i + 1; - } - - function createArray(length) { // function shamelessly stolen from Yaffle's library https://github.com/Yaffle/BigInteger - var x = new Array(length); - var i = -1; - while (++i < length) { - x[i] = 0; - } - return x; - } - - function truncate(n) { - if (n > 0) return Math.floor(n); - return Math.ceil(n); - } - - function add(a, b) { // assumes a and b are arrays with a.length >= b.length - var l_a = a.length, - l_b = b.length, - r = new Array(l_a), - carry = 0, - base = BASE, - sum, i; - for (i = 0; i < l_b; i++) { - sum = a[i] + b[i] + carry; - carry = sum >= base ? 1 : 0; - r[i] = sum - carry * base; - } - while (i < l_a) { - sum = a[i] + carry; - carry = sum === base ? 1 : 0; - r[i++] = sum - carry * base; - } - if (carry > 0) r.push(carry); - return r; - } - - function addAny(a, b) { - if (a.length >= b.length) return add(a, b); - return add(b, a); - } - - function addSmall(a, carry) { // assumes a is array, carry is number with 0 <= carry < MAX_INT - var l = a.length, - r = new Array(l), - base = BASE, - sum, i; - for (i = 0; i < l; i++) { - sum = a[i] - base + carry; - carry = Math.floor(sum / base); - r[i] = sum - carry * base; - carry += 1; - } - while (carry > 0) { - r[i++] = carry % base; - carry = Math.floor(carry / base); - } - return r; - } - - BigInteger.prototype.add = function (v) { - var n = parseValue(v); - if (this.sign !== n.sign) { - return this.subtract(n.negate()); - } - var a = this.value, b = n.value; - if (n.isSmall) { - return new BigInteger(addSmall(a, Math.abs(b)), this.sign); - } - return new BigInteger(addAny(a, b), this.sign); - }; - BigInteger.prototype.plus = BigInteger.prototype.add; - - SmallInteger.prototype.add = function (v) { - var n = parseValue(v); - var a = this.value; - if (a < 0 !== n.sign) { - return this.subtract(n.negate()); - } - var b = n.value; - if (n.isSmall) { - if (isPrecise(a + b)) return new SmallInteger(a + b); - b = smallToArray(Math.abs(b)); - } - return new BigInteger(addSmall(b, Math.abs(a)), a < 0); - }; - SmallInteger.prototype.plus = SmallInteger.prototype.add; - - function subtract(a, b) { // assumes a and b are arrays with a >= b - var a_l = a.length, - b_l = b.length, - r = new Array(a_l), - borrow = 0, - base = BASE, - i, difference; - for (i = 0; i < b_l; i++) { - difference = a[i] - borrow - b[i]; - if (difference < 0) { - difference += base; - borrow = 1; - } else borrow = 0; - r[i] = difference; - } - for (i = b_l; i < a_l; i++) { - difference = a[i] - borrow; - if (difference < 0) difference += base; - else { - r[i++] = difference; - break; - } - r[i] = difference; - } - for (; i < a_l; i++) { - r[i] = a[i]; - } - trim(r); - return r; - } - - function subtractAny(a, b, sign) { - var value; - if (compareAbs(a, b) >= 0) { - value = subtract(a,b); - } else { - value = subtract(b, a); - sign = !sign; - } - value = arrayToSmall(value); - if (typeof value === "number") { - if (sign) value = -value; - return new SmallInteger(value); - } - return new BigInteger(value, sign); - } - - function subtractSmall(a, b, sign) { // assumes a is array, b is number with 0 <= b < MAX_INT - var l = a.length, - r = new Array(l), - carry = -b, - base = BASE, - i, difference; - for (i = 0; i < l; i++) { - difference = a[i] + carry; - carry = Math.floor(difference / base); - difference %= base; - r[i] = difference < 0 ? difference + base : difference; - } - r = arrayToSmall(r); - if (typeof r === "number") { - if (sign) r = -r; - return new SmallInteger(r); - } return new BigInteger(r, sign); - } - - BigInteger.prototype.subtract = function (v) { - var n = parseValue(v); - if (this.sign !== n.sign) { - return this.add(n.negate()); - } - var a = this.value, b = n.value; - if (n.isSmall) - return subtractSmall(a, Math.abs(b), this.sign); - return subtractAny(a, b, this.sign); - }; - BigInteger.prototype.minus = BigInteger.prototype.subtract; - - SmallInteger.prototype.subtract = function (v) { - var n = parseValue(v); - var a = this.value; - if (a < 0 !== n.sign) { - return this.add(n.negate()); - } - var b = n.value; - if (n.isSmall) { - return new SmallInteger(a - b); - } - return subtractSmall(b, Math.abs(a), a >= 0); - }; - SmallInteger.prototype.minus = SmallInteger.prototype.subtract; - - BigInteger.prototype.negate = function () { - return new BigInteger(this.value, !this.sign); - }; - SmallInteger.prototype.negate = function () { - var sign = this.sign; - var small = new SmallInteger(-this.value); - small.sign = !sign; - return small; - }; - - BigInteger.prototype.abs = function () { - return new BigInteger(this.value, false); - }; - SmallInteger.prototype.abs = function () { - return new SmallInteger(Math.abs(this.value)); - }; - - function multiplyLong(a, b) { - var a_l = a.length, - b_l = b.length, - l = a_l + b_l, - r = createArray(l), - base = BASE, - product, carry, i, a_i, b_j; - for (i = 0; i < a_l; ++i) { - a_i = a[i]; - for (var j = 0; j < b_l; ++j) { - b_j = b[j]; - product = a_i * b_j + r[i + j]; - carry = Math.floor(product / base); - r[i + j] = product - carry * base; - r[i + j + 1] += carry; - } - } - trim(r); - return r; - } - - function multiplySmall(a, b) { // assumes a is array, b is number with |b| < BASE - var l = a.length, - r = new Array(l), - base = BASE, - carry = 0, - product, i; - for (i = 0; i < l; i++) { - product = a[i] * b + carry; - carry = Math.floor(product / base); - r[i] = product - carry * base; - } - while (carry > 0) { - r[i++] = carry % base; - carry = Math.floor(carry / base); - } - return r; - } - - function shiftLeft(x, n) { - var r = []; - while (n-- > 0) r.push(0); - return r.concat(x); - } - - function multiplyKaratsuba(x, y) { - var n = Math.max(x.length, y.length); - - if (n <= 30) return multiplyLong(x, y); - n = Math.ceil(n / 2); - - var b = x.slice(n), - a = x.slice(0, n), - d = y.slice(n), - c = y.slice(0, n); - - var ac = multiplyKaratsuba(a, c), - bd = multiplyKaratsuba(b, d), - abcd = multiplyKaratsuba(addAny(a, b), addAny(c, d)); - - var product = addAny(addAny(ac, shiftLeft(subtract(subtract(abcd, ac), bd), n)), shiftLeft(bd, 2 * n)); - trim(product); - return product; - } - - // The following function is derived from a surface fit of a graph plotting the performance difference - // between long multiplication and karatsuba multiplication versus the lengths of the two arrays. - function useKaratsuba(l1, l2) { - return -0.012 * l1 - 0.012 * l2 + 0.000015 * l1 * l2 > 0; - } - - BigInteger.prototype.multiply = function (v) { - var n = parseValue(v), - a = this.value, b = n.value, - sign = this.sign !== n.sign, - abs; - if (n.isSmall) { - if (b === 0) return Integer[0]; - if (b === 1) return this; - if (b === -1) return this.negate(); - abs = Math.abs(b); - if (abs < BASE) { - return new BigInteger(multiplySmall(a, abs), sign); - } - b = smallToArray(abs); - } - if (useKaratsuba(a.length, b.length)) // Karatsuba is only faster for certain array sizes - return new BigInteger(multiplyKaratsuba(a, b), sign); - return new BigInteger(multiplyLong(a, b), sign); - }; - - BigInteger.prototype.times = BigInteger.prototype.multiply; - - function multiplySmallAndArray(a, b, sign) { // a >= 0 - if (a < BASE) { - return new BigInteger(multiplySmall(b, a), sign); - } - return new BigInteger(multiplyLong(b, smallToArray(a)), sign); - } - SmallInteger.prototype._multiplyBySmall = function (a) { - if (isPrecise(a.value * this.value)) { - return new SmallInteger(a.value * this.value); - } - return multiplySmallAndArray(Math.abs(a.value), smallToArray(Math.abs(this.value)), this.sign !== a.sign); - }; - BigInteger.prototype._multiplyBySmall = function (a) { - if (a.value === 0) return Integer[0]; - if (a.value === 1) return this; - if (a.value === -1) return this.negate(); - return multiplySmallAndArray(Math.abs(a.value), this.value, this.sign !== a.sign); - }; - SmallInteger.prototype.multiply = function (v) { - return parseValue(v)._multiplyBySmall(this); - }; - SmallInteger.prototype.times = SmallInteger.prototype.multiply; - - function square(a) { - var l = a.length, - r = createArray(l + l), - base = BASE, - product, carry, i, a_i, a_j; - for (i = 0; i < l; i++) { - a_i = a[i]; - for (var j = 0; j < l; j++) { - a_j = a[j]; - product = a_i * a_j + r[i + j]; - carry = Math.floor(product / base); - r[i + j] = product - carry * base; - r[i + j + 1] += carry; - } - } - trim(r); - return r; - } - - BigInteger.prototype.square = function () { - return new BigInteger(square(this.value), false); - }; - - SmallInteger.prototype.square = function () { - var value = this.value * this.value; - if (isPrecise(value)) return new SmallInteger(value); - return new BigInteger(square(smallToArray(Math.abs(this.value))), false); - }; - - function divMod1(a, b) { // Left over from previous version. Performs faster than divMod2 on smaller input sizes. - var a_l = a.length, - b_l = b.length, - base = BASE, - result = createArray(b.length), - divisorMostSignificantDigit = b[b_l - 1], - // normalization - lambda = Math.ceil(base / (2 * divisorMostSignificantDigit)), - remainder = multiplySmall(a, lambda), - divisor = multiplySmall(b, lambda), - quotientDigit, shift, carry, borrow, i, l, q; - if (remainder.length <= a_l) remainder.push(0); - divisor.push(0); - divisorMostSignificantDigit = divisor[b_l - 1]; - for (shift = a_l - b_l; shift >= 0; shift--) { - quotientDigit = base - 1; - if (remainder[shift + b_l] !== divisorMostSignificantDigit) { - quotientDigit = Math.floor((remainder[shift + b_l] * base + remainder[shift + b_l - 1]) / divisorMostSignificantDigit); - } - // quotientDigit <= base - 1 - carry = 0; - borrow = 0; - l = divisor.length; - for (i = 0; i < l; i++) { - carry += quotientDigit * divisor[i]; - q = Math.floor(carry / base); - borrow += remainder[shift + i] - (carry - q * base); - carry = q; - if (borrow < 0) { - remainder[shift + i] = borrow + base; - borrow = -1; - } else { - remainder[shift + i] = borrow; - borrow = 0; - } - } - while (borrow !== 0) { - quotientDigit -= 1; - carry = 0; - for (i = 0; i < l; i++) { - carry += remainder[shift + i] - base + divisor[i]; - if (carry < 0) { - remainder[shift + i] = carry + base; - carry = 0; - } else { - remainder[shift + i] = carry; - carry = 1; - } - } - borrow += carry; - } - result[shift] = quotientDigit; - } - // denormalization - remainder = divModSmall(remainder, lambda)[0]; - return [arrayToSmall(result), arrayToSmall(remainder)]; - } - - function divMod2(a, b) { // Implementation idea shamelessly stolen from Silent Matt's library http://silentmatt.com/biginteger/ - // Performs faster than divMod1 on larger input sizes. - var a_l = a.length, - b_l = b.length, - result = [], - part = [], - base = BASE, - guess, xlen, highx, highy, check; - while (a_l) { - part.unshift(a[--a_l]); - trim(part); - if (compareAbs(part, b) < 0) { - result.push(0); - continue; - } - xlen = part.length; - highx = part[xlen - 1] * base + part[xlen - 2]; - highy = b[b_l - 1] * base + b[b_l - 2]; - if (xlen > b_l) { - highx = (highx + 1) * base; - } - guess = Math.ceil(highx / highy); - do { - check = multiplySmall(b, guess); - if (compareAbs(check, part) <= 0) break; - guess--; - } while (guess); - result.push(guess); - part = subtract(part, check); - } - result.reverse(); - return [arrayToSmall(result), arrayToSmall(part)]; - } - - function divModSmall(value, lambda) { - var length = value.length, - quotient = createArray(length), - base = BASE, - i, q, remainder, divisor; - remainder = 0; - for (i = length - 1; i >= 0; --i) { - divisor = remainder * base + value[i]; - q = truncate(divisor / lambda); - remainder = divisor - q * lambda; - quotient[i] = q | 0; - } - return [quotient, remainder | 0]; - } - - function divModAny(self, v) { - var value, n = parseValue(v); - var a = self.value, b = n.value; - var quotient; - if (b === 0) throw new Error("Cannot divide by zero"); - if (self.isSmall) { - if (n.isSmall) { - return [new SmallInteger(truncate(a / b)), new SmallInteger(a % b)]; - } - return [Integer[0], self]; - } - if (n.isSmall) { - if (b === 1) return [self, Integer[0]]; - if (b == -1) return [self.negate(), Integer[0]]; - var abs = Math.abs(b); - if (abs < BASE) { - value = divModSmall(a, abs); - quotient = arrayToSmall(value[0]); - var remainder = value[1]; - if (self.sign) remainder = -remainder; - if (typeof quotient === "number") { - if (self.sign !== n.sign) quotient = -quotient; - return [new SmallInteger(quotient), new SmallInteger(remainder)]; - } - return [new BigInteger(quotient, self.sign !== n.sign), new SmallInteger(remainder)]; - } - b = smallToArray(abs); - } - var comparison = compareAbs(a, b); - if (comparison === -1) return [Integer[0], self]; - if (comparison === 0) return [Integer[self.sign === n.sign ? 1 : -1], Integer[0]]; - - // divMod1 is faster on smaller input sizes - if (a.length + b.length <= 200) - value = divMod1(a, b); - else value = divMod2(a, b); - - quotient = value[0]; - var qSign = self.sign !== n.sign, - mod = value[1], - mSign = self.sign; - if (typeof quotient === "number") { - if (qSign) quotient = -quotient; - quotient = new SmallInteger(quotient); - } else quotient = new BigInteger(quotient, qSign); - if (typeof mod === "number") { - if (mSign) mod = -mod; - mod = new SmallInteger(mod); - } else mod = new BigInteger(mod, mSign); - return [quotient, mod]; - } - - BigInteger.prototype.divmod = function (v) { - var result = divModAny(this, v); - return { - quotient: result[0], - remainder: result[1] - }; - }; - SmallInteger.prototype.divmod = BigInteger.prototype.divmod; - - BigInteger.prototype.divide = function (v) { - return divModAny(this, v)[0]; - }; - SmallInteger.prototype.over = SmallInteger.prototype.divide = BigInteger.prototype.over = BigInteger.prototype.divide; - - BigInteger.prototype.mod = function (v) { - return divModAny(this, v)[1]; - }; - SmallInteger.prototype.remainder = SmallInteger.prototype.mod = BigInteger.prototype.remainder = BigInteger.prototype.mod; - - BigInteger.prototype.pow = function (v) { - var n = parseValue(v), - a = this.value, - b = n.value, - value, x, y; - if (b === 0) return Integer[1]; - if (a === 0) return Integer[0]; - if (a === 1) return Integer[1]; - if (a === -1) return n.isEven() ? Integer[1] : Integer[-1]; - if (n.sign) { - return Integer[0]; - } - if (!n.isSmall) throw new Error("The exponent " + n.toString() + " is too large."); - if (this.isSmall) { - if (isPrecise(value = Math.pow(a, b))) - return new SmallInteger(truncate(value)); - } - x = this; - y = Integer[1]; - while (true) { - if (b & 1 === 1) { - y = y.times(x); - --b; - } - if (b === 0) break; - b /= 2; - x = x.square(); - } - return y; - }; - SmallInteger.prototype.pow = BigInteger.prototype.pow; - - BigInteger.prototype.modPow = function (exp, mod) { - exp = parseValue(exp); - mod = parseValue(mod); - if (mod.isZero()) throw new Error("Cannot take modPow with modulus 0"); - var r = Integer[1], - base = this.mod(mod); - while (exp.isPositive()) { - if (base.isZero()) return Integer[0]; - if (exp.isOdd()) r = r.multiply(base).mod(mod); - exp = exp.divide(2); - base = base.square().mod(mod); - } - return r; - }; - SmallInteger.prototype.modPow = BigInteger.prototype.modPow; - - function compareAbs(a, b) { - if (a.length !== b.length) { - return a.length > b.length ? 1 : -1; - } - for (var i = a.length - 1; i >= 0; i--) { - if (a[i] !== b[i]) return a[i] > b[i] ? 1 : -1; - } - return 0; - } - - BigInteger.prototype.compareAbs = function (v) { - var n = parseValue(v), - a = this.value, - b = n.value; - if (n.isSmall) return 1; - return compareAbs(a, b); - }; - SmallInteger.prototype.compareAbs = function (v) { - var n = parseValue(v), - a = Math.abs(this.value), - b = n.value; - if (n.isSmall) { - b = Math.abs(b); - return a === b ? 0 : a > b ? 1 : -1; - } - return -1; - }; - - BigInteger.prototype.compare = function (v) { - // See discussion about comparison with Infinity: - // https://github.com/peterolson/BigInteger.js/issues/61 - if (v === Infinity) { - return -1; - } - if (v === -Infinity) { - return 1; - } - - var n = parseValue(v), - a = this.value, - b = n.value; - if (this.sign !== n.sign) { - return n.sign ? 1 : -1; - } - if (n.isSmall) { - return this.sign ? -1 : 1; - } - return compareAbs(a, b) * (this.sign ? -1 : 1); - }; - BigInteger.prototype.compareTo = BigInteger.prototype.compare; - - SmallInteger.prototype.compare = function (v) { - if (v === Infinity) { - return -1; - } - if (v === -Infinity) { - return 1; - } - - var n = parseValue(v), - a = this.value, - b = n.value; - if (n.isSmall) { - return a == b ? 0 : a > b ? 1 : -1; - } - if (a < 0 !== n.sign) { - return a < 0 ? -1 : 1; - } - return a < 0 ? 1 : -1; - }; - SmallInteger.prototype.compareTo = SmallInteger.prototype.compare; - - BigInteger.prototype.equals = function (v) { - return this.compare(v) === 0; - }; - SmallInteger.prototype.eq = SmallInteger.prototype.equals = BigInteger.prototype.eq = BigInteger.prototype.equals; - - BigInteger.prototype.notEquals = function (v) { - return this.compare(v) !== 0; - }; - SmallInteger.prototype.neq = SmallInteger.prototype.notEquals = BigInteger.prototype.neq = BigInteger.prototype.notEquals; - - BigInteger.prototype.greater = function (v) { - return this.compare(v) > 0; - }; - SmallInteger.prototype.gt = SmallInteger.prototype.greater = BigInteger.prototype.gt = BigInteger.prototype.greater; - - BigInteger.prototype.lesser = function (v) { - return this.compare(v) < 0; - }; - SmallInteger.prototype.lt = SmallInteger.prototype.lesser = BigInteger.prototype.lt = BigInteger.prototype.lesser; - - BigInteger.prototype.greaterOrEquals = function (v) { - return this.compare(v) >= 0; - }; - SmallInteger.prototype.geq = SmallInteger.prototype.greaterOrEquals = BigInteger.prototype.geq = BigInteger.prototype.greaterOrEquals; - - BigInteger.prototype.lesserOrEquals = function (v) { - return this.compare(v) <= 0; - }; - SmallInteger.prototype.leq = SmallInteger.prototype.lesserOrEquals = BigInteger.prototype.leq = BigInteger.prototype.lesserOrEquals; - - BigInteger.prototype.isEven = function () { - return (this.value[0] & 1) === 0; - }; - SmallInteger.prototype.isEven = function () { - return (this.value & 1) === 0; - }; - - BigInteger.prototype.isOdd = function () { - return (this.value[0] & 1) === 1; - }; - SmallInteger.prototype.isOdd = function () { - return (this.value & 1) === 1; - }; - - BigInteger.prototype.isPositive = function () { - return !this.sign; - }; - SmallInteger.prototype.isPositive = function () { - return this.value > 0; - }; - - BigInteger.prototype.isNegative = function () { - return this.sign; - }; - SmallInteger.prototype.isNegative = function () { - return this.value < 0; - }; - - BigInteger.prototype.isUnit = function () { - return false; - }; - SmallInteger.prototype.isUnit = function () { - return Math.abs(this.value) === 1; - }; - - BigInteger.prototype.isZero = function () { - return false; - }; - SmallInteger.prototype.isZero = function () { - return this.value === 0; - }; - BigInteger.prototype.isDivisibleBy = function (v) { - var n = parseValue(v); - var value = n.value; - if (value === 0) return false; - if (value === 1) return true; - if (value === 2) return this.isEven(); - return this.mod(n).equals(Integer[0]); - }; - SmallInteger.prototype.isDivisibleBy = BigInteger.prototype.isDivisibleBy; - - function isBasicPrime(v) { - var n = v.abs(); - if (n.isUnit()) return false; - if (n.equals(2) || n.equals(3) || n.equals(5)) return true; - if (n.isEven() || n.isDivisibleBy(3) || n.isDivisibleBy(5)) return false; - if (n.lesser(25)) return true; - // we don't know if it's prime: let the other functions figure it out - } - - BigInteger.prototype.isPrime = function () { - var isPrime = isBasicPrime(this); - if (isPrime !== undefined) return isPrime; - var n = this.abs(), - nPrev = n.prev(); - var a = [2, 3, 5, 7, 11, 13, 17, 19], - b = nPrev, - d, t, i, x; - while (b.isEven()) b = b.divide(2); - for (i = 0; i < a.length; i++) { - x = bigInt(a[i]).modPow(b, n); - if (x.equals(Integer[1]) || x.equals(nPrev)) continue; - for (t = true, d = b; t && d.lesser(nPrev) ; d = d.multiply(2)) { - x = x.square().mod(n); - if (x.equals(nPrev)) t = false; - } - if (t) return false; - } - return true; - }; - SmallInteger.prototype.isPrime = BigInteger.prototype.isPrime; - - BigInteger.prototype.isProbablePrime = function (iterations) { - var isPrime = isBasicPrime(this); - if (isPrime !== undefined) return isPrime; - var n = this.abs(); - var t = iterations === undefined ? 5 : iterations; - // use the Fermat primality test - for (var i = 0; i < t; i++) { - var a = bigInt.randBetween(2, n.minus(2)); - if (!a.modPow(n.prev(), n).isUnit()) return false; // definitely composite - } - return true; // large chance of being prime - }; - SmallInteger.prototype.isProbablePrime = BigInteger.prototype.isProbablePrime; - - BigInteger.prototype.modInv = function (n) { - var t = bigInt.zero, newT = bigInt.one, r = parseValue(n), newR = this.abs(), q, lastT, lastR; - while (!newR.equals(bigInt.zero)) { - q = r.divide(newR); - lastT = t; - lastR = r; - t = newT; - r = newR; - newT = lastT.subtract(q.multiply(newT)); - newR = lastR.subtract(q.multiply(newR)); - } - if (!r.equals(1)) throw new Error(this.toString() + " and " + n.toString() + " are not co-prime"); - if (t.compare(0) === -1) { - t = t.add(n); - } - if (this.isNegative()) { - return t.negate(); - } - return t; - }; - - SmallInteger.prototype.modInv = BigInteger.prototype.modInv; - - BigInteger.prototype.next = function () { - var value = this.value; - if (this.sign) { - return subtractSmall(value, 1, this.sign); - } - return new BigInteger(addSmall(value, 1), this.sign); - }; - SmallInteger.prototype.next = function () { - var value = this.value; - if (value + 1 < MAX_INT) return new SmallInteger(value + 1); - return new BigInteger(MAX_INT_ARR, false); - }; - - BigInteger.prototype.prev = function () { - var value = this.value; - if (this.sign) { - return new BigInteger(addSmall(value, 1), true); - } - return subtractSmall(value, 1, this.sign); - }; - SmallInteger.prototype.prev = function () { - var value = this.value; - if (value - 1 > -MAX_INT) return new SmallInteger(value - 1); - return new BigInteger(MAX_INT_ARR, true); - }; - - var powersOfTwo = [1]; - while (powersOfTwo[powersOfTwo.length - 1] <= BASE) powersOfTwo.push(2 * powersOfTwo[powersOfTwo.length - 1]); - var powers2Length = powersOfTwo.length, highestPower2 = powersOfTwo[powers2Length - 1]; - - function shift_isSmall(n) { - return ((typeof n === "number" || typeof n === "string") && +Math.abs(n) <= BASE) || - (n instanceof BigInteger && n.value.length <= 1); - } - - BigInteger.prototype.shiftLeft = function (n) { - if (!shift_isSmall(n)) { - throw new Error(String(n) + " is too large for shifting."); - } - n = +n; - if (n < 0) return this.shiftRight(-n); - var result = this; - while (n >= powers2Length) { - result = result.multiply(highestPower2); - n -= powers2Length - 1; - } - return result.multiply(powersOfTwo[n]); - }; - SmallInteger.prototype.shiftLeft = BigInteger.prototype.shiftLeft; - - BigInteger.prototype.shiftRight = function (n) { - var remQuo; - if (!shift_isSmall(n)) { - throw new Error(String(n) + " is too large for shifting."); - } - n = +n; - if (n < 0) return this.shiftLeft(-n); - var result = this; - while (n >= powers2Length) { - if (result.isZero()) return result; - remQuo = divModAny(result, highestPower2); - result = remQuo[1].isNegative() ? remQuo[0].prev() : remQuo[0]; - n -= powers2Length - 1; - } - remQuo = divModAny(result, powersOfTwo[n]); - return remQuo[1].isNegative() ? remQuo[0].prev() : remQuo[0]; - }; - SmallInteger.prototype.shiftRight = BigInteger.prototype.shiftRight; - - function bitwise(x, y, fn) { - y = parseValue(y); - var xSign = x.isNegative(), ySign = y.isNegative(); - var xRem = xSign ? x.not() : x, - yRem = ySign ? y.not() : y; - var xBits = [], yBits = []; - var xStop = false, yStop = false; - while (!xStop || !yStop) { - if (xRem.isZero()) { // virtual sign extension for simulating two's complement - xStop = true; - xBits.push(xSign ? 1 : 0); - } - else if (xSign) xBits.push(xRem.isEven() ? 1 : 0); // two's complement for negative numbers - else xBits.push(xRem.isEven() ? 0 : 1); - - if (yRem.isZero()) { - yStop = true; - yBits.push(ySign ? 1 : 0); - } - else if (ySign) yBits.push(yRem.isEven() ? 1 : 0); - else yBits.push(yRem.isEven() ? 0 : 1); - - xRem = xRem.over(2); - yRem = yRem.over(2); - } - var result = []; - for (var i = 0; i < xBits.length; i++) result.push(fn(xBits[i], yBits[i])); - var sum = bigInt(result.pop()).negate().times(bigInt(2).pow(result.length)); - while (result.length) { - sum = sum.add(bigInt(result.pop()).times(bigInt(2).pow(result.length))); - } - return sum; - } - - BigInteger.prototype.not = function () { - return this.negate().prev(); - }; - SmallInteger.prototype.not = BigInteger.prototype.not; - - BigInteger.prototype.and = function (n) { - return bitwise(this, n, function (a, b) { return a & b; }); - }; - SmallInteger.prototype.and = BigInteger.prototype.and; - - BigInteger.prototype.or = function (n) { - return bitwise(this, n, function (a, b) { return a | b; }); - }; - SmallInteger.prototype.or = BigInteger.prototype.or; - - BigInteger.prototype.xor = function (n) { - return bitwise(this, n, function (a, b) { return a ^ b; }); - }; - SmallInteger.prototype.xor = BigInteger.prototype.xor; - - var LOBMASK_I = 1 << 30, LOBMASK_BI = (BASE & -BASE) * (BASE & -BASE) | LOBMASK_I; - function roughLOB(n) { // get lowestOneBit (rough) - // SmallInteger: return Min(lowestOneBit(n), 1 << 30) - // BigInteger: return Min(lowestOneBit(n), 1 << 14) [BASE=1e7] - var v = n.value, x = typeof v === "number" ? v | LOBMASK_I : v[0] + v[1] * BASE | LOBMASK_BI; - return x & -x; - } - - function max(a, b) { - a = parseValue(a); - b = parseValue(b); - return a.greater(b) ? a : b; - } - function min(a, b) { - a = parseValue(a); - b = parseValue(b); - return a.lesser(b) ? a : b; - } - function gcd(a, b) { - a = parseValue(a).abs(); - b = parseValue(b).abs(); - if (a.equals(b)) return a; - if (a.isZero()) return b; - if (b.isZero()) return a; - var c = Integer[1], d, t; - while (a.isEven() && b.isEven()) { - d = Math.min(roughLOB(a), roughLOB(b)); - a = a.divide(d); - b = b.divide(d); - c = c.multiply(d); - } - while (a.isEven()) { - a = a.divide(roughLOB(a)); - } - do { - while (b.isEven()) { - b = b.divide(roughLOB(b)); - } - if (a.greater(b)) { - t = b; b = a; a = t; - } - b = b.subtract(a); - } while (!b.isZero()); - return c.isUnit() ? a : a.multiply(c); - } - function lcm(a, b) { - a = parseValue(a).abs(); - b = parseValue(b).abs(); - return a.divide(gcd(a, b)).multiply(b); - } - function randBetween(a, b) { - a = parseValue(a); - b = parseValue(b); - var low = min(a, b), high = max(a, b); - var range = high.subtract(low); - if (range.isSmall) return low.add(Math.round(Math.random() * range)); - var length = range.value.length - 1; - var result = [], restricted = true; - for (var i = length; i >= 0; i--) { - var top = restricted ? range.value[i] : BASE; - var digit = truncate(Math.random() * top); - result.unshift(digit); - if (digit < top) restricted = false; - } - result = arrayToSmall(result); - return low.add(typeof result === "number" ? new SmallInteger(result) : new BigInteger(result, false)); - } - var parseBase = function (text, base) { - var length = text.length; - var i; - var absBase = Math.abs(base); - for(var i = 0; i < length; i++) { - var c = text[i].toLowerCase(); - if(c === "-") continue; - if(/[a-z0-9]/.test(c)) { - if(/[0-9]/.test(c) && +c >= absBase) { - if(c === "1" && absBase === 1) continue; - throw new Error(c + " is not a valid digit in base " + base + "."); - } else if(c.charCodeAt(0) - 87 >= absBase) { - throw new Error(c + " is not a valid digit in base " + base + "."); - } - } - } - if (2 <= base && base <= 36) { - if (length <= LOG_MAX_INT / Math.log(base)) { - var result = parseInt(text, base); - if(isNaN(result)) { - throw new Error(c + " is not a valid digit in base " + base + "."); - } - return new SmallInteger(parseInt(text, base)); - } - } - base = parseValue(base); - var digits = []; - var isNegative = text[0] === "-"; - for (i = isNegative ? 1 : 0; i < text.length; i++) { - var c = text[i].toLowerCase(), - charCode = c.charCodeAt(0); - if (48 <= charCode && charCode <= 57) digits.push(parseValue(c)); - else if (97 <= charCode && charCode <= 122) digits.push(parseValue(c.charCodeAt(0) - 87)); - else if (c === "<") { - var start = i; - do { i++; } while (text[i] !== ">"); - digits.push(parseValue(text.slice(start + 1, i))); - } - else throw new Error(c + " is not a valid character"); - } - return parseBaseFromArray(digits, base, isNegative); - }; - - function parseBaseFromArray(digits, base, isNegative) { - var val = Integer[0], pow = Integer[1], i; - for (i = digits.length - 1; i >= 0; i--) { - val = val.add(digits[i].times(pow)); - pow = pow.times(base); - } - return isNegative ? val.negate() : val; - } - - function stringify(digit) { - var v = digit.value; - if (typeof v === "number") v = [v]; - if (v.length === 1 && v[0] <= 35) { - return "0123456789abcdefghijklmnopqrstuvwxyz".charAt(v[0]); - } - return "<" + v + ">"; - } - function toBase(n, base) { - base = bigInt(base); - if (base.isZero()) { - if (n.isZero()) return "0"; - throw new Error("Cannot convert nonzero numbers to base 0."); - } - if (base.equals(-1)) { - if (n.isZero()) return "0"; - if (n.isNegative()) return new Array(1 - n).join("10"); - return "1" + new Array(+n).join("01"); - } - var minusSign = ""; - if (n.isNegative() && base.isPositive()) { - minusSign = "-"; - n = n.abs(); - } - if (base.equals(1)) { - if (n.isZero()) return "0"; - return minusSign + new Array(+n + 1).join(1); - } - var out = []; - var left = n, divmod; - while (left.isNegative() || left.compareAbs(base) >= 0) { - divmod = left.divmod(base); - left = divmod.quotient; - var digit = divmod.remainder; - if (digit.isNegative()) { - digit = base.minus(digit).abs(); - left = left.next(); - } - out.push(stringify(digit)); - } - out.push(stringify(left)); - return minusSign + out.reverse().join(""); - } - - BigInteger.prototype.toString = function (radix) { - if (radix === undefined) radix = 10; - if (radix !== 10) return toBase(this, radix); - var v = this.value, l = v.length, str = String(v[--l]), zeros = "0000000", digit; - while (--l >= 0) { - digit = String(v[l]); - str += zeros.slice(digit.length) + digit; - } - var sign = this.sign ? "-" : ""; - return sign + str; - }; - - SmallInteger.prototype.toString = function (radix) { - if (radix === undefined) radix = 10; - if (radix != 10) return toBase(this, radix); - return String(this.value); - }; - BigInteger.prototype.toJSON = SmallInteger.prototype.toJSON = function() { return this.toString(); } - - BigInteger.prototype.valueOf = function () { - return +this.toString(); - }; - BigInteger.prototype.toJSNumber = BigInteger.prototype.valueOf; - - SmallInteger.prototype.valueOf = function () { - return this.value; - }; - SmallInteger.prototype.toJSNumber = SmallInteger.prototype.valueOf; - - function parseStringValue(v) { - if (isPrecise(+v)) { - var x = +v; - if (x === truncate(x)) - return new SmallInteger(x); - throw "Invalid integer: " + v; - } - var sign = v[0] === "-"; - if (sign) v = v.slice(1); - var split = v.split(/e/i); - if (split.length > 2) throw new Error("Invalid integer: " + split.join("e")); - if (split.length === 2) { - var exp = split[1]; - if (exp[0] === "+") exp = exp.slice(1); - exp = +exp; - if (exp !== truncate(exp) || !isPrecise(exp)) throw new Error("Invalid integer: " + exp + " is not a valid exponent."); - var text = split[0]; - var decimalPlace = text.indexOf("."); - if (decimalPlace >= 0) { - exp -= text.length - decimalPlace - 1; - text = text.slice(0, decimalPlace) + text.slice(decimalPlace + 1); - } - if (exp < 0) throw new Error("Cannot include negative exponent part for integers"); - text += (new Array(exp + 1)).join("0"); - v = text; - } - var isValid = /^([0-9][0-9]*)$/.test(v); - if (!isValid) throw new Error("Invalid integer: " + v); - var r = [], max = v.length, l = LOG_BASE, min = max - l; - while (max > 0) { - r.push(+v.slice(min, max)); - min -= l; - if (min < 0) min = 0; - max -= l; - } - trim(r); - return new BigInteger(r, sign); - } - - function parseNumberValue(v) { - if (isPrecise(v)) { - if (v !== truncate(v)) throw new Error(v + " is not an integer."); - return new SmallInteger(v); - } - return parseStringValue(v.toString()); - } - - function parseValue(v) { - if (typeof v === "number") { - return parseNumberValue(v); - } - if (typeof v === "string") { - return parseStringValue(v); - } - return v; - } - // Pre-define numbers in range [-999,999] - for (var i = 0; i < 1000; i++) { - Integer[i] = new SmallInteger(i); - if (i > 0) Integer[-i] = new SmallInteger(-i); - } - // Backwards compatibility - Integer.one = Integer[1]; - Integer.zero = Integer[0]; - Integer.minusOne = Integer[-1]; - Integer.max = max; - Integer.min = min; - Integer.gcd = gcd; - Integer.lcm = lcm; - Integer.isInstance = function (x) { return x instanceof BigInteger || x instanceof SmallInteger; }; - Integer.randBetween = randBetween; - - Integer.fromArray = function (digits, base, isNegative) { - return parseBaseFromArray(digits.map(parseValue), parseValue(base || 10), isNegative); - }; - - return Integer; -})(); - -// Node.js check -if (typeof module !== "undefined" && module.hasOwnProperty("exports")) { - module.exports = bigInt; -} - -//amd check -if ( typeof define === "function" && define.amd ) { - define( "big-integer", [], function() { - return bigInt; - }); -} diff --git a/demo/platforms/android/cordova/node_modules/big-integer/BigInteger.min.js b/demo/platforms/android/cordova/node_modules/big-integer/BigInteger.min.js deleted file mode 100644 index 99ea9fb..0000000 --- a/demo/platforms/android/cordova/node_modules/big-integer/BigInteger.min.js +++ /dev/null @@ -1 +0,0 @@ -var bigInt=function(undefined){"use strict";var BASE=1e7,LOG_BASE=7,MAX_INT=9007199254740992,MAX_INT_ARR=smallToArray(MAX_INT),LOG_MAX_INT=Math.log(MAX_INT);function Integer(v,radix){if(typeof v==="undefined")return Integer[0];if(typeof radix!=="undefined")return+radix===10?parseValue(v):parseBase(v,radix);return parseValue(v)}function BigInteger(value,sign){this.value=value;this.sign=sign;this.isSmall=false}BigInteger.prototype=Object.create(Integer.prototype);function SmallInteger(value){this.value=value;this.sign=value<0;this.isSmall=true}SmallInteger.prototype=Object.create(Integer.prototype);function isPrecise(n){return-MAX_INT0)return Math.floor(n);return Math.ceil(n)}function add(a,b){var l_a=a.length,l_b=b.length,r=new Array(l_a),carry=0,base=BASE,sum,i;for(i=0;i=base?1:0;r[i]=sum-carry*base}while(i0)r.push(carry);return r}function addAny(a,b){if(a.length>=b.length)return add(a,b);return add(b,a)}function addSmall(a,carry){var l=a.length,r=new Array(l),base=BASE,sum,i;for(i=0;i0){r[i++]=carry%base;carry=Math.floor(carry/base)}return r}BigInteger.prototype.add=function(v){var n=parseValue(v);if(this.sign!==n.sign){return this.subtract(n.negate())}var a=this.value,b=n.value;if(n.isSmall){return new BigInteger(addSmall(a,Math.abs(b)),this.sign)}return new BigInteger(addAny(a,b),this.sign)};BigInteger.prototype.plus=BigInteger.prototype.add;SmallInteger.prototype.add=function(v){var n=parseValue(v);var a=this.value;if(a<0!==n.sign){return this.subtract(n.negate())}var b=n.value;if(n.isSmall){if(isPrecise(a+b))return new SmallInteger(a+b);b=smallToArray(Math.abs(b))}return new BigInteger(addSmall(b,Math.abs(a)),a<0)};SmallInteger.prototype.plus=SmallInteger.prototype.add;function subtract(a,b){var a_l=a.length,b_l=b.length,r=new Array(a_l),borrow=0,base=BASE,i,difference;for(i=0;i=0){value=subtract(a,b)}else{value=subtract(b,a);sign=!sign}value=arrayToSmall(value);if(typeof value==="number"){if(sign)value=-value;return new SmallInteger(value)}return new BigInteger(value,sign)}function subtractSmall(a,b,sign){var l=a.length,r=new Array(l),carry=-b,base=BASE,i,difference;for(i=0;i=0)};SmallInteger.prototype.minus=SmallInteger.prototype.subtract;BigInteger.prototype.negate=function(){return new BigInteger(this.value,!this.sign)};SmallInteger.prototype.negate=function(){var sign=this.sign;var small=new SmallInteger(-this.value);small.sign=!sign;return small};BigInteger.prototype.abs=function(){return new BigInteger(this.value,false)};SmallInteger.prototype.abs=function(){return new SmallInteger(Math.abs(this.value))};function multiplyLong(a,b){var a_l=a.length,b_l=b.length,l=a_l+b_l,r=createArray(l),base=BASE,product,carry,i,a_i,b_j;for(i=0;i0){r[i++]=carry%base;carry=Math.floor(carry/base)}return r}function shiftLeft(x,n){var r=[];while(n-- >0)r.push(0);return r.concat(x)}function multiplyKaratsuba(x,y){var n=Math.max(x.length,y.length);if(n<=30)return multiplyLong(x,y);n=Math.ceil(n/2);var b=x.slice(n),a=x.slice(0,n),d=y.slice(n),c=y.slice(0,n);var ac=multiplyKaratsuba(a,c),bd=multiplyKaratsuba(b,d),abcd=multiplyKaratsuba(addAny(a,b),addAny(c,d));var product=addAny(addAny(ac,shiftLeft(subtract(subtract(abcd,ac),bd),n)),shiftLeft(bd,2*n));trim(product);return product}function useKaratsuba(l1,l2){return-.012*l1-.012*l2+15e-6*l1*l2>0}BigInteger.prototype.multiply=function(v){var n=parseValue(v),a=this.value,b=n.value,sign=this.sign!==n.sign,abs;if(n.isSmall){if(b===0)return Integer[0];if(b===1)return this;if(b===-1)return this.negate();abs=Math.abs(b);if(abs=0;shift--){quotientDigit=base-1;if(remainder[shift+b_l]!==divisorMostSignificantDigit){quotientDigit=Math.floor((remainder[shift+b_l]*base+remainder[shift+b_l-1])/divisorMostSignificantDigit)}carry=0;borrow=0;l=divisor.length;for(i=0;ib_l){highx=(highx+1)*base}guess=Math.ceil(highx/highy);do{check=multiplySmall(b,guess);if(compareAbs(check,part)<=0)break;guess--}while(guess);result.push(guess);part=subtract(part,check)}result.reverse();return[arrayToSmall(result),arrayToSmall(part)]}function divModSmall(value,lambda){var length=value.length,quotient=createArray(length),base=BASE,i,q,remainder,divisor;remainder=0;for(i=length-1;i>=0;--i){divisor=remainder*base+value[i];q=truncate(divisor/lambda);remainder=divisor-q*lambda;quotient[i]=q|0}return[quotient,remainder|0]}function divModAny(self,v){var value,n=parseValue(v);var a=self.value,b=n.value;var quotient;if(b===0)throw new Error("Cannot divide by zero");if(self.isSmall){if(n.isSmall){return[new SmallInteger(truncate(a/b)),new SmallInteger(a%b)]}return[Integer[0],self]}if(n.isSmall){if(b===1)return[self,Integer[0]];if(b==-1)return[self.negate(),Integer[0]];var abs=Math.abs(b);if(absb.length?1:-1}for(var i=a.length-1;i>=0;i--){if(a[i]!==b[i])return a[i]>b[i]?1:-1}return 0}BigInteger.prototype.compareAbs=function(v){var n=parseValue(v),a=this.value,b=n.value;if(n.isSmall)return 1;return compareAbs(a,b)};SmallInteger.prototype.compareAbs=function(v){var n=parseValue(v),a=Math.abs(this.value),b=n.value;if(n.isSmall){b=Math.abs(b);return a===b?0:a>b?1:-1}return-1};BigInteger.prototype.compare=function(v){if(v===Infinity){return-1}if(v===-Infinity){return 1}var n=parseValue(v),a=this.value,b=n.value;if(this.sign!==n.sign){return n.sign?1:-1}if(n.isSmall){return this.sign?-1:1}return compareAbs(a,b)*(this.sign?-1:1)};BigInteger.prototype.compareTo=BigInteger.prototype.compare;SmallInteger.prototype.compare=function(v){if(v===Infinity){return-1}if(v===-Infinity){return 1}var n=parseValue(v),a=this.value,b=n.value;if(n.isSmall){return a==b?0:a>b?1:-1}if(a<0!==n.sign){return a<0?-1:1}return a<0?1:-1};SmallInteger.prototype.compareTo=SmallInteger.prototype.compare;BigInteger.prototype.equals=function(v){return this.compare(v)===0};SmallInteger.prototype.eq=SmallInteger.prototype.equals=BigInteger.prototype.eq=BigInteger.prototype.equals;BigInteger.prototype.notEquals=function(v){return this.compare(v)!==0};SmallInteger.prototype.neq=SmallInteger.prototype.notEquals=BigInteger.prototype.neq=BigInteger.prototype.notEquals;BigInteger.prototype.greater=function(v){return this.compare(v)>0};SmallInteger.prototype.gt=SmallInteger.prototype.greater=BigInteger.prototype.gt=BigInteger.prototype.greater;BigInteger.prototype.lesser=function(v){return this.compare(v)<0};SmallInteger.prototype.lt=SmallInteger.prototype.lesser=BigInteger.prototype.lt=BigInteger.prototype.lesser;BigInteger.prototype.greaterOrEquals=function(v){return this.compare(v)>=0};SmallInteger.prototype.geq=SmallInteger.prototype.greaterOrEquals=BigInteger.prototype.geq=BigInteger.prototype.greaterOrEquals;BigInteger.prototype.lesserOrEquals=function(v){return this.compare(v)<=0};SmallInteger.prototype.leq=SmallInteger.prototype.lesserOrEquals=BigInteger.prototype.leq=BigInteger.prototype.lesserOrEquals;BigInteger.prototype.isEven=function(){return(this.value[0]&1)===0};SmallInteger.prototype.isEven=function(){return(this.value&1)===0};BigInteger.prototype.isOdd=function(){return(this.value[0]&1)===1};SmallInteger.prototype.isOdd=function(){return(this.value&1)===1};BigInteger.prototype.isPositive=function(){return!this.sign};SmallInteger.prototype.isPositive=function(){return this.value>0};BigInteger.prototype.isNegative=function(){return this.sign};SmallInteger.prototype.isNegative=function(){return this.value<0};BigInteger.prototype.isUnit=function(){return false};SmallInteger.prototype.isUnit=function(){return Math.abs(this.value)===1};BigInteger.prototype.isZero=function(){return false};SmallInteger.prototype.isZero=function(){return this.value===0};BigInteger.prototype.isDivisibleBy=function(v){var n=parseValue(v);var value=n.value;if(value===0)return false;if(value===1)return true;if(value===2)return this.isEven();return this.mod(n).equals(Integer[0])};SmallInteger.prototype.isDivisibleBy=BigInteger.prototype.isDivisibleBy;function isBasicPrime(v){var n=v.abs();if(n.isUnit())return false;if(n.equals(2)||n.equals(3)||n.equals(5))return true;if(n.isEven()||n.isDivisibleBy(3)||n.isDivisibleBy(5))return false;if(n.lesser(25))return true}BigInteger.prototype.isPrime=function(){var isPrime=isBasicPrime(this);if(isPrime!==undefined)return isPrime;var n=this.abs(),nPrev=n.prev();var a=[2,3,5,7,11,13,17,19],b=nPrev,d,t,i,x;while(b.isEven())b=b.divide(2);for(i=0;i-MAX_INT)return new SmallInteger(value-1);return new BigInteger(MAX_INT_ARR,true)};var powersOfTwo=[1];while(powersOfTwo[powersOfTwo.length-1]<=BASE)powersOfTwo.push(2*powersOfTwo[powersOfTwo.length-1]);var powers2Length=powersOfTwo.length,highestPower2=powersOfTwo[powers2Length-1];function shift_isSmall(n){return(typeof n==="number"||typeof n==="string")&&+Math.abs(n)<=BASE||n instanceof BigInteger&&n.value.length<=1}BigInteger.prototype.shiftLeft=function(n){if(!shift_isSmall(n)){throw new Error(String(n)+" is too large for shifting.")}n=+n;if(n<0)return this.shiftRight(-n);var result=this;while(n>=powers2Length){result=result.multiply(highestPower2);n-=powers2Length-1}return result.multiply(powersOfTwo[n])};SmallInteger.prototype.shiftLeft=BigInteger.prototype.shiftLeft;BigInteger.prototype.shiftRight=function(n){var remQuo;if(!shift_isSmall(n)){throw new Error(String(n)+" is too large for shifting.")}n=+n;if(n<0)return this.shiftLeft(-n);var result=this;while(n>=powers2Length){if(result.isZero())return result;remQuo=divModAny(result,highestPower2);result=remQuo[1].isNegative()?remQuo[0].prev():remQuo[0];n-=powers2Length-1}remQuo=divModAny(result,powersOfTwo[n]);return remQuo[1].isNegative()?remQuo[0].prev():remQuo[0]};SmallInteger.prototype.shiftRight=BigInteger.prototype.shiftRight;function bitwise(x,y,fn){y=parseValue(y);var xSign=x.isNegative(),ySign=y.isNegative();var xRem=xSign?x.not():x,yRem=ySign?y.not():y;var xBits=[],yBits=[];var xStop=false,yStop=false;while(!xStop||!yStop){if(xRem.isZero()){xStop=true;xBits.push(xSign?1:0)}else if(xSign)xBits.push(xRem.isEven()?1:0);else xBits.push(xRem.isEven()?0:1);if(yRem.isZero()){yStop=true;yBits.push(ySign?1:0)}else if(ySign)yBits.push(yRem.isEven()?1:0);else yBits.push(yRem.isEven()?0:1);xRem=xRem.over(2);yRem=yRem.over(2)}var result=[];for(var i=0;i=0;i--){var top=restricted?range.value[i]:BASE;var digit=truncate(Math.random()*top);result.unshift(digit);if(digit=absBase){if(c==="1"&&absBase===1)continue;throw new Error(c+" is not a valid digit in base "+base+".")}else if(c.charCodeAt(0)-87>=absBase){throw new Error(c+" is not a valid digit in base "+base+".")}}}if(2<=base&&base<=36){if(length<=LOG_MAX_INT/Math.log(base)){var result=parseInt(text,base);if(isNaN(result)){throw new Error(c+" is not a valid digit in base "+base+".")}return new SmallInteger(parseInt(text,base))}}base=parseValue(base);var digits=[];var isNegative=text[0]==="-";for(i=isNegative?1:0;i");digits.push(parseValue(text.slice(start+1,i)))}else throw new Error(c+" is not a valid character")}return parseBaseFromArray(digits,base,isNegative)};function parseBaseFromArray(digits,base,isNegative){var val=Integer[0],pow=Integer[1],i;for(i=digits.length-1;i>=0;i--){val=val.add(digits[i].times(pow));pow=pow.times(base)}return isNegative?val.negate():val}function stringify(digit){var v=digit.value;if(typeof v==="number")v=[v];if(v.length===1&&v[0]<=35){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(v[0])}return"<"+v+">"}function toBase(n,base){base=bigInt(base);if(base.isZero()){if(n.isZero())return"0";throw new Error("Cannot convert nonzero numbers to base 0.")}if(base.equals(-1)){if(n.isZero())return"0";if(n.isNegative())return new Array(1-n).join("10");return"1"+new Array(+n).join("01")}var minusSign="";if(n.isNegative()&&base.isPositive()){minusSign="-";n=n.abs()}if(base.equals(1)){if(n.isZero())return"0";return minusSign+new Array(+n+1).join(1)}var out=[];var left=n,divmod;while(left.isNegative()||left.compareAbs(base)>=0){divmod=left.divmod(base);left=divmod.quotient;var digit=divmod.remainder;if(digit.isNegative()){digit=base.minus(digit).abs();left=left.next()}out.push(stringify(digit))}out.push(stringify(left));return minusSign+out.reverse().join("")}BigInteger.prototype.toString=function(radix){if(radix===undefined)radix=10;if(radix!==10)return toBase(this,radix);var v=this.value,l=v.length,str=String(v[--l]),zeros="0000000",digit;while(--l>=0){digit=String(v[l]);str+=zeros.slice(digit.length)+digit}var sign=this.sign?"-":"";return sign+str};SmallInteger.prototype.toString=function(radix){if(radix===undefined)radix=10;if(radix!=10)return toBase(this,radix);return String(this.value)};BigInteger.prototype.toJSON=SmallInteger.prototype.toJSON=function(){return this.toString()};BigInteger.prototype.valueOf=function(){return+this.toString()};BigInteger.prototype.toJSNumber=BigInteger.prototype.valueOf;SmallInteger.prototype.valueOf=function(){return this.value};SmallInteger.prototype.toJSNumber=SmallInteger.prototype.valueOf;function parseStringValue(v){if(isPrecise(+v)){var x=+v;if(x===truncate(x))return new SmallInteger(x);throw"Invalid integer: "+v}var sign=v[0]==="-";if(sign)v=v.slice(1);var split=v.split(/e/i);if(split.length>2)throw new Error("Invalid integer: "+split.join("e"));if(split.length===2){var exp=split[1];if(exp[0]==="+")exp=exp.slice(1);exp=+exp;if(exp!==truncate(exp)||!isPrecise(exp))throw new Error("Invalid integer: "+exp+" is not a valid exponent.");var text=split[0];var decimalPlace=text.indexOf(".");if(decimalPlace>=0){exp-=text.length-decimalPlace-1;text=text.slice(0,decimalPlace)+text.slice(decimalPlace+1)}if(exp<0)throw new Error("Cannot include negative exponent part for integers");text+=new Array(exp+1).join("0");v=text}var isValid=/^([0-9][0-9]*)$/.test(v);if(!isValid)throw new Error("Invalid integer: "+v);var r=[],max=v.length,l=LOG_BASE,min=max-l;while(max>0){r.push(+v.slice(min,max));min-=l;if(min<0)min=0;max-=l}trim(r);return new BigInteger(r,sign)}function parseNumberValue(v){if(isPrecise(v)){if(v!==truncate(v))throw new Error(v+" is not an integer.");return new SmallInteger(v)}return parseStringValue(v.toString())}function parseValue(v){if(typeof v==="number"){return parseNumberValue(v)}if(typeof v==="string"){return parseStringValue(v)}return v}for(var i=0;i<1e3;i++){Integer[i]=new SmallInteger(i);if(i>0)Integer[-i]=new SmallInteger(-i)}Integer.one=Integer[1];Integer.zero=Integer[0];Integer.minusOne=Integer[-1];Integer.max=max;Integer.min=min;Integer.gcd=gcd;Integer.lcm=lcm;Integer.isInstance=function(x){return x instanceof BigInteger||x instanceof SmallInteger};Integer.randBetween=randBetween;Integer.fromArray=function(digits,base,isNegative){return parseBaseFromArray(digits.map(parseValue),parseValue(base||10),isNegative)};return Integer}();if(typeof module!=="undefined"&&module.hasOwnProperty("exports")){module.exports=bigInt}if(typeof define==="function"&&define.amd){define("big-integer",[],function(){return bigInt})} \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/big-integer/LICENSE b/demo/platforms/android/cordova/node_modules/big-integer/LICENSE deleted file mode 100644 index cf1ab25..0000000 --- a/demo/platforms/android/cordova/node_modules/big-integer/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to diff --git a/demo/platforms/android/cordova/node_modules/big-integer/README.md b/demo/platforms/android/cordova/node_modules/big-integer/README.md deleted file mode 100644 index 5824f7e..0000000 --- a/demo/platforms/android/cordova/node_modules/big-integer/README.md +++ /dev/null @@ -1,520 +0,0 @@ -# BigInteger.js [![Build Status][travis-img]][travis-url] [![Coverage Status][coveralls-img]][coveralls-url] [![Monthly Downloads][downloads-img]][downloads-url] - -[travis-url]: https://travis-ci.org/peterolson/BigInteger.js -[travis-img]: https://travis-ci.org/peterolson/BigInteger.js.svg?branch=master -[coveralls-url]: https://coveralls.io/github/peterolson/BigInteger.js?branch=master -[coveralls-img]: https://coveralls.io/repos/peterolson/BigInteger.js/badge.svg?branch=master&service=github -[downloads-url]: https://www.npmjs.com/package/big-integer -[downloads-img]: https://img.shields.io/npm/dm/big-integer.svg - -**BigInteger.js** is an arbitrary-length integer library for Javascript, allowing arithmetic operations on integers of unlimited size, notwithstanding memory and time limitations. - -## Installation - -If you are using a browser, you can download [BigInteger.js from GitHub](http://peterolson.github.com/BigInteger.js/BigInteger.min.js) or just hotlink to it: - - - -If you are using node, you can install BigInteger with [npm](https://npmjs.org/). - - npm install big-integer - -Then you can include it in your code: - - var bigInt = require("big-integer"); - - -## Usage -### `bigInt(number, [base])` - -You can create a bigInt by calling the `bigInt` function. You can pass in - - - a string, which it will parse as an bigInt and throw an `"Invalid integer"` error if the parsing fails. - - a Javascript number, which it will parse as an bigInt and throw an `"Invalid integer"` error if the parsing fails. - - another bigInt. - - nothing, and it will return `bigInt.zero`. - - If you provide a second parameter, then it will parse `number` as a number in base `base`. Note that `base` can be any bigInt (even negative or zero). The letters "a-z" and "A-Z" will be interpreted as the numbers 10 to 35. Higher digits can be specified in angle brackets (`<` and `>`). - -Examples: - - var zero = bigInt(); - var ninetyThree = bigInt(93); - var largeNumber = bigInt("75643564363473453456342378564387956906736546456235345"); - var googol = bigInt("1e100"); - var bigNumber = bigInt(largeNumber); - - var maximumByte = bigInt("FF", 16); - var fiftyFiveGoogol = bigInt("<55>0", googol); - -Note that Javascript numbers larger than `9007199254740992` and smaller than `-9007199254740992` are not precisely represented numbers and will not produce exact results. If you are dealing with numbers outside that range, it is better to pass in strings. - -### Method Chaining - -Note that bigInt operations return bigInts, which allows you to chain methods, for example: - - var salary = bigInt(dollarsPerHour).times(hoursWorked).plus(randomBonuses) - -### Constants - -There are three named constants already stored that you do not have to construct with the `bigInt` function yourself: - - - `bigInt.one`, equivalent to `bigInt(1)` - - `bigInt.zero`, equivalent to `bigInt(0)` - - `bigInt.minusOne`, equivalent to `bigInt(-1)` - -The numbers from -999 to 999 are also already prestored and can be accessed using `bigInt[index]`, for example: - - - `bigInt[-999]`, equivalent to `bigInt(-999)` - - `bigInt[256]`, equivalent to `bigInt(256)` - -### Methods - -#### `abs()` - -Returns the absolute value of a bigInt. - - - `bigInt(-45).abs()` => `45` - - `bigInt(45).abs()` => `45` - -#### `add(number)` - -Performs addition. - - - `bigInt(5).add(7)` => `12` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Addition) - -#### `and(number)` - -Performs the bitwise AND operation. The operands are treated as if they were represented using [two's complement representation](http://en.wikipedia.org/wiki/Two%27s_complement). - - - `bigInt(6).and(3)` => `2` - - `bigInt(6).and(-3)` => `4` - -#### `compare(number)` - -Performs a comparison between two numbers. If the numbers are equal, it returns `0`. If the first number is greater, it returns `1`. If the first number is lesser, it returns `-1`. - - - `bigInt(5).compare(5)` => `0` - - `bigInt(5).compare(4)` => `1` - - `bigInt(4).compare(5)` => `-1` - -#### `compareAbs(number)` - -Performs a comparison between the absolute value of two numbers. - - - `bigInt(5).compareAbs(-5)` => `0` - - `bigInt(5).compareAbs(4)` => `1` - - `bigInt(4).compareAbs(-5)` => `-1` - -#### `compareTo(number)` - -Alias for the `compare` method. - -#### `divide(number)` - -Performs integer division, disregarding the remainder. - - - `bigInt(59).divide(5)` => `11` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division) - -#### `divmod(number)` - -Performs division and returns an object with two properties: `quotient` and `remainder`. The sign of the remainder will match the sign of the dividend. - - - `bigInt(59).divmod(5)` => `{quotient: bigInt(11), remainder: bigInt(4) }` - - `bigInt(-5).divmod(2)` => `{quotient: bigInt(-2), remainder: bigInt(-1) }` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division) - -#### `eq(number)` - -Alias for the `equals` method. - -#### `equals(number)` - -Checks if two numbers are equal. - - - `bigInt(5).equals(5)` => `true` - - `bigInt(4).equals(7)` => `false` - -#### `geq(number)` - -Alias for the `greaterOrEquals` method. - - -#### `greater(number)` - -Checks if the first number is greater than the second. - - - `bigInt(5).greater(6)` => `false` - - `bigInt(5).greater(5)` => `false` - - `bigInt(5).greater(4)` => `true` - -#### `greaterOrEquals(number)` - -Checks if the first number is greater than or equal to the second. - - - `bigInt(5).greaterOrEquals(6)` => `false` - - `bigInt(5).greaterOrEquals(5)` => `true` - - `bigInt(5).greaterOrEquals(4)` => `true` - -#### `gt(number)` - -Alias for the `greater` method. - -#### `isDivisibleBy(number)` - -Returns `true` if the first number is divisible by the second number, `false` otherwise. - - - `bigInt(999).isDivisibleBy(333)` => `true` - - `bigInt(99).isDivisibleBy(5)` => `false` - -#### `isEven()` - -Returns `true` if the number is even, `false` otherwise. - - - `bigInt(6).isEven()` => `true` - - `bigInt(3).isEven()` => `false` - -#### `isNegative()` - -Returns `true` if the number is negative, `false` otherwise. -Returns `false` for `0` and `-0`. - - - `bigInt(-23).isNegative()` => `true` - - `bigInt(50).isNegative()` => `false` - -#### `isOdd()` - -Returns `true` if the number is odd, `false` otherwise. - - - `bigInt(13).isOdd()` => `true` - - `bigInt(40).isOdd()` => `false` - -#### `isPositive()` - -Return `true` if the number is positive, `false` otherwise. -Returns `false` for `0` and `-0`. - - - `bigInt(54).isPositive()` => `true` - - `bigInt(-1).isPositive()` => `false` - -#### `isPrime()` - -Returns `true` if the number is prime, `false` otherwise. - - - `bigInt(5).isPrime()` => `true` - - `bigInt(6).isPrime()` => `false` - -#### `isProbablePrime([iterations])` - -Returns `true` if the number is very likely to be prime, `false` otherwise. -Argument is optional and determines the amount of iterations of the test (default: `5`). The more iterations, the lower chance of getting a false positive. -This uses the [Fermat primality test](https://en.wikipedia.org/wiki/Fermat_primality_test). - - - `bigInt(5).isProbablePrime()` => `true` - - `bigInt(49).isProbablePrime()` => `false` - - `bigInt(1729).isProbablePrime(50)` => `false` - -Note that this function is not deterministic, since it relies on random sampling of factors, so the result for some numbers is not always the same. [Carmichael numbers](https://en.wikipedia.org/wiki/Carmichael_number) are particularly prone to give unreliable results. - -For example, `bigInt(1729).isProbablePrime()` returns `false` about 76% of the time and `true` about 24% of the time. The correct result is `false`. - -#### `isUnit()` - -Returns `true` if the number is `1` or `-1`, `false` otherwise. - - - `bigInt.one.isUnit()` => `true` - - `bigInt.minusOne.isUnit()` => `true` - - `bigInt(5).isUnit()` => `false` - -#### `isZero()` - -Return `true` if the number is `0` or `-0`, `false` otherwise. - - - `bigInt.zero.isZero()` => `true` - - `bigInt("-0").isZero()` => `true` - - `bigInt(50).isZero()` => `false` - -#### `leq(number)` - -Alias for the `lesserOrEquals` method. - -#### `lesser(number)` - -Checks if the first number is lesser than the second. - - - `bigInt(5).lesser(6)` => `true` - - `bigInt(5).lesser(5)` => `false` - - `bigInt(5).lesser(4)` => `false` - -#### `lesserOrEquals(number)` - -Checks if the first number is less than or equal to the second. - - - `bigInt(5).lesserOrEquals(6)` => `true` - - `bigInt(5).lesserOrEquals(5)` => `true` - - `bigInt(5).lesserOrEquals(4)` => `false` - -#### `lt(number)` - -Alias for the `lesser` method. - -#### `minus(number)` - -Alias for the `subtract` method. - - - `bigInt(3).minus(5)` => `-2` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Subtraction) - -#### `mod(number)` - -Performs division and returns the remainder, disregarding the quotient. The sign of the remainder will match the sign of the dividend. - - - `bigInt(59).mod(5)` => `4` - - `bigInt(-5).mod(2)` => `-1` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division) - -#### `modInv(mod)` - -Finds the [multiplicative inverse](https://en.wikipedia.org/wiki/Modular_multiplicative_inverse) of the number modulo `mod`. - - - `bigInt(3).modInv(11)` => `4` - - `bigInt(42).modInv(2017)` => `1969` - -#### `modPow(exp, mod)` - -Takes the number to the power `exp` modulo `mod`. - - - `bigInt(10).modPow(3, 30)` => `10` - -#### `multiply(number)` - -Performs multiplication. - - - `bigInt(111).multiply(111)` => `12321` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Multiplication) - -#### `neq(number)` - -Alias for the `notEquals` method. - -#### `next()` - -Adds one to the number. - - - `bigInt(6).next()` => `7` - -#### `not()` - -Performs the bitwise NOT operation. The operands are treated as if they were represented using [two's complement representation](http://en.wikipedia.org/wiki/Two%27s_complement). - - - `bigInt(10).not()` => `-11` - - `bigInt(0).not()` => `-1` - -#### `notEquals(number)` - -Checks if two numbers are not equal. - - - `bigInt(5).notEquals(5)` => `false` - - `bigInt(4).notEquals(7)` => `true` - -#### `or(number)` - -Performs the bitwise OR operation. The operands are treated as if they were represented using [two's complement representation](http://en.wikipedia.org/wiki/Two%27s_complement). - - - `bigInt(13).or(10)` => `15` - - `bigInt(13).or(-8)` => `-3` - -#### `over(number)` - -Alias for the `divide` method. - - - `bigInt(59).over(5)` => `11` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division) - -#### `plus(number)` - -Alias for the `add` method. - - - `bigInt(5).plus(7)` => `12` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Addition) - -#### `pow(number)` - -Performs exponentiation. If the exponent is less than `0`, `pow` returns `0`. `bigInt.zero.pow(0)` returns `1`. - - - `bigInt(16).pow(16)` => `18446744073709551616` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Exponentiation) - -#### `prev(number)` - -Subtracts one from the number. - - - `bigInt(6).prev()` => `5` - -#### `remainder(number)` - -Alias for the `mod` method. - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division) - -#### `shiftLeft(n)` - -Shifts the number left by `n` places in its binary representation. If a negative number is provided, it will shift right. Throws an error if `n` is outside of the range `[-9007199254740992, 9007199254740992]`. - - - `bigInt(8).shiftLeft(2)` => `32` - - `bigInt(8).shiftLeft(-2)` => `2` - -#### `shiftRight(n)` - -Shifts the number right by `n` places in its binary representation. If a negative number is provided, it will shift left. Throws an error if `n` is outside of the range `[-9007199254740992, 9007199254740992]`. - - - `bigInt(8).shiftRight(2)` => `2` - - `bigInt(8).shiftRight(-2)` => `32` - -#### `square()` - -Squares the number - - - `bigInt(3).square()` => `9` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Squaring) - -#### `subtract(number)` - -Performs subtraction. - - - `bigInt(3).subtract(5)` => `-2` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Subtraction) - -#### `times(number)` - -Alias for the `multiply` method. - - - `bigInt(111).times(111)` => `12321` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Multiplication) - -#### `toJSNumber()` - -Converts a bigInt into a native Javascript number. Loses precision for numbers outside the range `[-9007199254740992, 9007199254740992]`. - - - `bigInt("18446744073709551616").toJSNumber()` => `18446744073709552000` - -#### `xor(number)` - -Performs the bitwise XOR operation. The operands are treated as if they were represented using [two's complement representation](http://en.wikipedia.org/wiki/Two%27s_complement). - - - `bigInt(12).xor(5)` => `9` - - `bigInt(12).xor(-5)` => `-9` - -### Static Methods - -#### `fromArray(digits, base = 10, isNegative?)` - -Constructs a bigInt from an array of digits in base `base`. The optional `isNegative` flag will make the number negative. - - - `bigInt.fromArray([1, 2, 3, 4, 5], 10)` => `12345` - - `bigInt.fromArray([1, 0, 0], 2, true)` => `-4` - -#### `gcd(a, b)` - -Finds the greatest common denominator of `a` and `b`. - - - `bigInt.gcd(42,56)` => `14` - -#### `isInstance(x)` - -Returns `true` if `x` is a BigInteger, `false` otherwise. - - - `bigInt.isInstance(bigInt(14))` => `true` - - `bigInt.isInstance(14)` => `false` - -#### `lcm(a,b)` - -Finds the least common multiple of `a` and `b`. - - - `bigInt.lcm(21, 6)` => `42` - -#### `max(a,b)` - -Returns the largest of `a` and `b`. - - - `bigInt.max(77, 432)` => `432` - -#### `min(a,b)` - -Returns the smallest of `a` and `b`. - - - `bigInt.min(77, 432)` => `77` - -#### `randBetween(min, max)` - -Returns a random number between `min` and `max`. - - - `bigInt.randBetween("-1e100", "1e100")` => (for example) `8494907165436643479673097939554427056789510374838494147955756275846226209006506706784609314471378745` - - -### Override Methods - -#### `toString(radix = 10)` - -Converts a bigInt to a string. There is an optional radix parameter (which defaults to 10) that converts the number to the given radix. Digits in the range `10-35` will use the letters `a-z`. - - - `bigInt("1e9").toString()` => `"1000000000"` - - `bigInt("1e9").toString(16)` => `"3b9aca00"` - -**Note that arithmetical operators will trigger the `valueOf` function rather than the `toString` function.** When converting a bigInteger to a string, you should use the `toString` method or the `String` function instead of adding the empty string. - - - `bigInt("999999999999999999").toString()` => `"999999999999999999"` - - `String(bigInt("999999999999999999"))` => `"999999999999999999"` - - `bigInt("999999999999999999") + ""` => `1000000000000000000` - -Bases larger than 36 are supported. If a digit is greater than or equal to 36, it will be enclosed in angle brackets. - - - `bigInt(567890).toString(100)` => `"<56><78><90>"` - -Negative bases are also supported. - - - `bigInt(12345).toString(-10)` => `"28465"` - -Base 1 and base -1 are also supported. - - - `bigInt(-15).toString(1)` => `"-111111111111111"` - - `bigInt(-15).toString(-1)` => `"101010101010101010101010101010"` - -Base 0 is only allowed for the number zero. - - - `bigInt(0).toString(0)` => `0` - - `bigInt(1).toString(0)` => `Error: Cannot convert nonzero numbers to base 0.` - -[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#toString) - -#### `valueOf()` - -Converts a bigInt to a native Javascript number. This override allows you to use native arithmetic operators without explicit conversion: - - - `bigInt("100") + bigInt("200") === 300; //true` - -## Contributors - -To contribute, just fork the project, make some changes, and submit a pull request. Please verify that the unit tests pass before submitting. - -The unit tests are contained in the `spec/spec.js` file. You can run them locally by opening the `spec/SpecRunner.html` or file or running `npm test`. You can also [run the tests online from GitHub](http://peterolson.github.io/BigInteger.js/spec/SpecRunner.html). - -There are performance benchmarks that can be viewed from the `benchmarks/index.html` page. You can [run them online from GitHub](http://peterolson.github.io/BigInteger.js/benchmark/). - -## License - -This project is public domain. For more details, read about the [Unlicense](http://unlicense.org/). diff --git a/demo/platforms/android/cordova/node_modules/big-integer/bower.json b/demo/platforms/android/cordova/node_modules/big-integer/bower.json deleted file mode 100644 index 22dc58f..0000000 --- a/demo/platforms/android/cordova/node_modules/big-integer/bower.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "big-integer", - "description": "An arbitrary length integer library for Javascript", - "main": "./BigInteger.js", - "authors": [ - "Peter Olson" - ], - "license": "Unlicense", - "keywords": [ - "math", - "big", - "bignum", - "bigint", - "biginteger", - "integer", - "arbitrary", - "precision", - "arithmetic" - ], - "homepage": "https://github.com/peterolson/BigInteger.js", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "coverage", - "tests" - ] -} diff --git a/demo/platforms/android/cordova/node_modules/big-integer/package.json b/demo/platforms/android/cordova/node_modules/big-integer/package.json deleted file mode 100644 index 0977b94..0000000 --- a/demo/platforms/android/cordova/node_modules/big-integer/package.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "big-integer@^1.6.7", - "scope": null, - "escapedName": "big-integer", - "name": "big-integer", - "rawSpec": "^1.6.7", - "spec": ">=1.6.7 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/bplist-parser" - ] - ], - "_from": "big-integer@>=1.6.7 <2.0.0", - "_id": "big-integer@1.6.25", - "_inCache": true, - "_location": "/cordova-android/big-integer", - "_nodeVersion": "6.10.3", - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/big-integer-1.6.25.tgz_1504748727289_0.9231066561769694" - }, - "_npmUser": { - "name": "peterolson", - "email": "peter.e.c.olson+npm@gmail.com" - }, - "_npmVersion": "3.10.10", - "_phantomChildren": {}, - "_requested": { - "raw": "big-integer@^1.6.7", - "scope": null, - "escapedName": "big-integer", - "name": "big-integer", - "rawSpec": "^1.6.7", - "spec": ">=1.6.7 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/bplist-parser" - ], - "_resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.25.tgz", - "_shasum": "1de45a9f57542ac20121c682f8d642220a34e823", - "_shrinkwrap": null, - "_spec": "big-integer@^1.6.7", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/bplist-parser", - "author": { - "name": "Peter Olson", - "email": "peter.e.c.olson+npm@gmail.com" - }, - "bin": {}, - "bugs": { - "url": "https://github.com/peterolson/BigInteger.js/issues" - }, - "contributors": [], - "dependencies": {}, - "description": "An arbitrary length integer library for Javascript", - "devDependencies": { - "@types/lodash": "^4.14.64", - "@types/node": "^7.0.22", - "coveralls": "^2.11.4", - "jasmine": "2.1.x", - "jasmine-core": "^2.3.4", - "karma": "^0.13.3", - "karma-coverage": "^0.4.2", - "karma-jasmine": "^0.3.6", - "karma-phantomjs-launcher": "^1.0.4", - "lodash": "^4.17.4", - "typescript": "^2.3.3", - "uglifyjs": "^2.4.10" - }, - "directories": {}, - "dist": { - "shasum": "1de45a9f57542ac20121c682f8d642220a34e823", - "tarball": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.25.tgz" - }, - "engines": { - "node": ">=0.6" - }, - "gitHead": "a0c10d68aae8f5df56a67b3e3eb353b428abf170", - "homepage": "https://github.com/peterolson/BigInteger.js#readme", - "keywords": [ - "math", - "big", - "bignum", - "bigint", - "biginteger", - "integer", - "arbitrary", - "precision", - "arithmetic" - ], - "license": "Unlicense", - "main": "./BigInteger", - "maintainers": [ - { - "name": "peterolson", - "email": "peter.e.c.olson+npm@gmail.com" - } - ], - "name": "big-integer", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/peterolson/BigInteger.js.git" - }, - "scripts": { - "minify": "uglifyjs BigInteger.js -o BigInteger.min.js", - "test": "tsc && node_modules/.bin/karma start my.conf.js && node spec/tsDefinitions.js" - }, - "typings": "./BigInteger.d.ts", - "version": "1.6.25" -} diff --git a/demo/platforms/android/cordova/node_modules/big-integer/tsconfig.json b/demo/platforms/android/cordova/node_modules/big-integer/tsconfig.json deleted file mode 100644 index 62636e8..0000000 --- a/demo/platforms/android/cordova/node_modules/big-integer/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": [ - "es6" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": false, - "baseUrl": "./", - "moduleResolution": "node", - "allowJs": true, - "typeRoots": [ - "./" - ], - "types": [ - "node" - ], - "forceConsistentCasingInFileNames": true - }, - "files": [ - "BigInteger.d.ts", - "spec/tsDefinitions.ts" - ] -} \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/bplist-parser/.npmignore b/demo/platforms/android/cordova/node_modules/bplist-parser/.npmignore deleted file mode 100644 index a9b46ea..0000000 --- a/demo/platforms/android/cordova/node_modules/bplist-parser/.npmignore +++ /dev/null @@ -1,8 +0,0 @@ -/build/* -node_modules -*.node -*.sh -*.swp -.lock* -npm-debug.log -.idea diff --git a/demo/platforms/android/cordova/node_modules/bplist-parser/README.md b/demo/platforms/android/cordova/node_modules/bplist-parser/README.md deleted file mode 100644 index 37e5e1c..0000000 --- a/demo/platforms/android/cordova/node_modules/bplist-parser/README.md +++ /dev/null @@ -1,47 +0,0 @@ -bplist-parser -============= - -Binary Mac OS X Plist (property list) parser. - -## Installation - -```bash -$ npm install bplist-parser -``` - -## Quick Examples - -```javascript -var bplist = require('bplist-parser'); - -bplist.parseFile('myPlist.bplist', function(err, obj) { - if (err) throw err; - - console.log(JSON.stringify(obj)); -}); -``` - -## License - -(The MIT License) - -Copyright (c) 2012 Near Infinity Corporation - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice 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/demo/platforms/android/cordova/node_modules/bplist-parser/bplistParser.js b/demo/platforms/android/cordova/node_modules/bplist-parser/bplistParser.js deleted file mode 100644 index f8335bc..0000000 --- a/demo/platforms/android/cordova/node_modules/bplist-parser/bplistParser.js +++ /dev/null @@ -1,357 +0,0 @@ -'use strict'; - -// adapted from http://code.google.com/p/plist/source/browse/trunk/src/com/dd/plist/BinaryPropertyListParser.java - -var fs = require('fs'); -var bigInt = require("big-integer"); -var debug = false; - -exports.maxObjectSize = 100 * 1000 * 1000; // 100Meg -exports.maxObjectCount = 32768; - -// EPOCH = new SimpleDateFormat("yyyy MM dd zzz").parse("2001 01 01 GMT").getTime(); -// ...but that's annoying in a static initializer because it can throw exceptions, ick. -// So we just hardcode the correct value. -var EPOCH = 978307200000; - -// UID object definition -var UID = exports.UID = function(id) { - this.UID = id; -} - -var parseFile = exports.parseFile = function (fileNameOrBuffer, callback) { - function tryParseBuffer(buffer) { - var err = null; - var result; - try { - result = parseBuffer(buffer); - } catch (ex) { - err = ex; - } - callback(err, result); - } - - if (Buffer.isBuffer(fileNameOrBuffer)) { - return tryParseBuffer(fileNameOrBuffer); - } else { - fs.readFile(fileNameOrBuffer, function (err, data) { - if (err) { return callback(err); } - tryParseBuffer(data); - }); - } -}; - -var parseBuffer = exports.parseBuffer = function (buffer) { - var result = {}; - - // check header - var header = buffer.slice(0, 'bplist'.length).toString('utf8'); - if (header !== 'bplist') { - throw new Error("Invalid binary plist. Expected 'bplist' at offset 0."); - } - - // Handle trailer, last 32 bytes of the file - var trailer = buffer.slice(buffer.length - 32, buffer.length); - // 6 null bytes (index 0 to 5) - var offsetSize = trailer.readUInt8(6); - if (debug) { - console.log("offsetSize: " + offsetSize); - } - var objectRefSize = trailer.readUInt8(7); - if (debug) { - console.log("objectRefSize: " + objectRefSize); - } - var numObjects = readUInt64BE(trailer, 8); - if (debug) { - console.log("numObjects: " + numObjects); - } - var topObject = readUInt64BE(trailer, 16); - if (debug) { - console.log("topObject: " + topObject); - } - var offsetTableOffset = readUInt64BE(trailer, 24); - if (debug) { - console.log("offsetTableOffset: " + offsetTableOffset); - } - - if (numObjects > exports.maxObjectCount) { - throw new Error("maxObjectCount exceeded"); - } - - // Handle offset table - var offsetTable = []; - - for (var i = 0; i < numObjects; i++) { - var offsetBytes = buffer.slice(offsetTableOffset + i * offsetSize, offsetTableOffset + (i + 1) * offsetSize); - offsetTable[i] = readUInt(offsetBytes, 0); - if (debug) { - console.log("Offset for Object #" + i + " is " + offsetTable[i] + " [" + offsetTable[i].toString(16) + "]"); - } - } - - // Parses an object inside the currently parsed binary property list. - // For the format specification check - // - // Apple's binary property list parser implementation. - function parseObject(tableOffset) { - var offset = offsetTable[tableOffset]; - var type = buffer[offset]; - var objType = (type & 0xF0) >> 4; //First 4 bits - var objInfo = (type & 0x0F); //Second 4 bits - switch (objType) { - case 0x0: - return parseSimple(); - case 0x1: - return parseInteger(); - case 0x8: - return parseUID(); - case 0x2: - return parseReal(); - case 0x3: - return parseDate(); - case 0x4: - return parseData(); - case 0x5: // ASCII - return parsePlistString(); - case 0x6: // UTF-16 - return parsePlistString(true); - case 0xA: - return parseArray(); - case 0xD: - return parseDictionary(); - default: - throw new Error("Unhandled type 0x" + objType.toString(16)); - } - - function parseSimple() { - //Simple - switch (objInfo) { - case 0x0: // null - return null; - case 0x8: // false - return false; - case 0x9: // true - return true; - case 0xF: // filler byte - return null; - default: - throw new Error("Unhandled simple type 0x" + objType.toString(16)); - } - } - - function bufferToHexString(buffer) { - var str = ''; - var i; - for (i = 0; i < buffer.length; i++) { - if (buffer[i] != 0x00) { - break; - } - } - for (; i < buffer.length; i++) { - var part = '00' + buffer[i].toString(16); - str += part.substr(part.length - 2); - } - return str; - } - - function parseInteger() { - var length = Math.pow(2, objInfo); - if (length > 4) { - var data = buffer.slice(offset + 1, offset + 1 + length); - var str = bufferToHexString(data); - return bigInt(str, 16); - } if (length < exports.maxObjectSize) { - return readUInt(buffer.slice(offset + 1, offset + 1 + length)); - } else { - throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available."); - } - } - - function parseUID() { - var length = objInfo + 1; - if (length < exports.maxObjectSize) { - return new UID(readUInt(buffer.slice(offset + 1, offset + 1 + length))); - } else { - throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available."); - } - } - - function parseReal() { - var length = Math.pow(2, objInfo); - if (length < exports.maxObjectSize) { - var realBuffer = buffer.slice(offset + 1, offset + 1 + length); - if (length === 4) { - return realBuffer.readFloatBE(0); - } - else if (length === 8) { - return realBuffer.readDoubleBE(0); - } - } else { - throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available."); - } - } - - function parseDate() { - if (objInfo != 0x3) { - console.error("Unknown date type :" + objInfo + ". Parsing anyway..."); - } - var dateBuffer = buffer.slice(offset + 1, offset + 9); - return new Date(EPOCH + (1000 * dateBuffer.readDoubleBE(0))); - } - - function parseData() { - var dataoffset = 1; - var length = objInfo; - if (objInfo == 0xF) { - var int_type = buffer[offset + 1]; - var intType = (int_type & 0xF0) / 0x10; - if (intType != 0x1) { - console.error("0x4: UNEXPECTED LENGTH-INT TYPE! " + intType); - } - var intInfo = int_type & 0x0F; - var intLength = Math.pow(2, intInfo); - dataoffset = 2 + intLength; - if (intLength < 3) { - length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength)); - } else { - length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength)); - } - } - if (length < exports.maxObjectSize) { - return buffer.slice(offset + dataoffset, offset + dataoffset + length); - } else { - throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available."); - } - } - - function parsePlistString (isUtf16) { - isUtf16 = isUtf16 || 0; - var enc = "utf8"; - var length = objInfo; - var stroffset = 1; - if (objInfo == 0xF) { - var int_type = buffer[offset + 1]; - var intType = (int_type & 0xF0) / 0x10; - if (intType != 0x1) { - console.err("UNEXPECTED LENGTH-INT TYPE! " + intType); - } - var intInfo = int_type & 0x0F; - var intLength = Math.pow(2, intInfo); - var stroffset = 2 + intLength; - if (intLength < 3) { - length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength)); - } else { - length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength)); - } - } - // length is String length -> to get byte length multiply by 2, as 1 character takes 2 bytes in UTF-16 - length *= (isUtf16 + 1); - if (length < exports.maxObjectSize) { - var plistString = new Buffer(buffer.slice(offset + stroffset, offset + stroffset + length)); - if (isUtf16) { - plistString = swapBytes(plistString); - enc = "ucs2"; - } - return plistString.toString(enc); - } else { - throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available."); - } - } - - function parseArray() { - var length = objInfo; - var arrayoffset = 1; - if (objInfo == 0xF) { - var int_type = buffer[offset + 1]; - var intType = (int_type & 0xF0) / 0x10; - if (intType != 0x1) { - console.error("0xa: UNEXPECTED LENGTH-INT TYPE! " + intType); - } - var intInfo = int_type & 0x0F; - var intLength = Math.pow(2, intInfo); - arrayoffset = 2 + intLength; - if (intLength < 3) { - length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength)); - } else { - length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength)); - } - } - if (length * objectRefSize > exports.maxObjectSize) { - throw new Error("To little heap space available!"); - } - var array = []; - for (var i = 0; i < length; i++) { - var objRef = readUInt(buffer.slice(offset + arrayoffset + i * objectRefSize, offset + arrayoffset + (i + 1) * objectRefSize)); - array[i] = parseObject(objRef); - } - return array; - } - - function parseDictionary() { - var length = objInfo; - var dictoffset = 1; - if (objInfo == 0xF) { - var int_type = buffer[offset + 1]; - var intType = (int_type & 0xF0) / 0x10; - if (intType != 0x1) { - console.error("0xD: UNEXPECTED LENGTH-INT TYPE! " + intType); - } - var intInfo = int_type & 0x0F; - var intLength = Math.pow(2, intInfo); - dictoffset = 2 + intLength; - if (intLength < 3) { - length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength)); - } else { - length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength)); - } - } - if (length * 2 * objectRefSize > exports.maxObjectSize) { - throw new Error("To little heap space available!"); - } - if (debug) { - console.log("Parsing dictionary #" + tableOffset); - } - var dict = {}; - for (var i = 0; i < length; i++) { - var keyRef = readUInt(buffer.slice(offset + dictoffset + i * objectRefSize, offset + dictoffset + (i + 1) * objectRefSize)); - var valRef = readUInt(buffer.slice(offset + dictoffset + (length * objectRefSize) + i * objectRefSize, offset + dictoffset + (length * objectRefSize) + (i + 1) * objectRefSize)); - var key = parseObject(keyRef); - var val = parseObject(valRef); - if (debug) { - console.log(" DICT #" + tableOffset + ": Mapped " + key + " to " + val); - } - dict[key] = val; - } - return dict; - } - } - - return [ parseObject(topObject) ]; -}; - -function readUInt(buffer, start) { - start = start || 0; - - var l = 0; - for (var i = start; i < buffer.length; i++) { - l <<= 8; - l |= buffer[i] & 0xFF; - } - return l; -} - -// we're just going to toss the high order bits because javascript doesn't have 64-bit ints -function readUInt64BE(buffer, start) { - var data = buffer.slice(start, start + 8); - return data.readUInt32BE(4, 8); -} - -function swapBytes(buffer) { - var len = buffer.length; - for (var i = 0; i < len; i += 2) { - var a = buffer[i]; - buffer[i] = buffer[i+1]; - buffer[i+1] = a; - } - return buffer; -} diff --git a/demo/platforms/android/cordova/node_modules/bplist-parser/package.json b/demo/platforms/android/cordova/node_modules/bplist-parser/package.json deleted file mode 100644 index 6c25035..0000000 --- a/demo/platforms/android/cordova/node_modules/bplist-parser/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "bplist-parser@^0.1.0", - "scope": null, - "escapedName": "bplist-parser", - "name": "bplist-parser", - "rawSpec": "^0.1.0", - "spec": ">=0.1.0 <0.2.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common" - ] - ], - "_from": "bplist-parser@>=0.1.0 <0.2.0", - "_id": "bplist-parser@0.1.1", - "_inCache": true, - "_location": "/cordova-android/bplist-parser", - "_nodeVersion": "5.1.0", - "_npmUser": { - "name": "joeferner", - "email": "joe@fernsroth.com" - }, - "_npmVersion": "3.4.0", - "_phantomChildren": {}, - "_requested": { - "raw": "bplist-parser@^0.1.0", - "scope": null, - "escapedName": "bplist-parser", - "name": "bplist-parser", - "rawSpec": "^0.1.0", - "spec": ">=0.1.0 <0.2.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", - "_shasum": "d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6", - "_shrinkwrap": null, - "_spec": "bplist-parser@^0.1.0", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common", - "author": { - "name": "Joe Ferner", - "email": "joe.ferner@nearinfinity.com" - }, - "bugs": { - "url": "https://github.com/nearinfinity/node-bplist-parser/issues" - }, - "dependencies": { - "big-integer": "^1.6.7" - }, - "description": "Binary plist parser.", - "devDependencies": { - "nodeunit": "~0.9.1" - }, - "directories": {}, - "dist": { - "shasum": "d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6", - "tarball": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz" - }, - "gitHead": "c4f22650de2cc95edd21a6e609ff0654a2b951bd", - "homepage": "https://github.com/nearinfinity/node-bplist-parser#readme", - "keywords": [ - "bplist", - "plist", - "parser" - ], - "license": "MIT", - "main": "bplistParser.js", - "maintainers": [ - { - "name": "joeferner", - "email": "joe@fernsroth.com" - } - ], - "name": "bplist-parser", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/nearinfinity/node-bplist-parser.git" - }, - "scripts": { - "test": "./node_modules/nodeunit/bin/nodeunit test" - }, - "version": "0.1.1" -} diff --git a/demo/platforms/android/cordova/node_modules/bplist-parser/test/airplay.bplist b/demo/platforms/android/cordova/node_modules/bplist-parser/test/airplay.bplist deleted file mode 100644 index 931adea120d583e59d640bf218696d3a07a1455d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmYc)$jK}&F)+Bv$i&RT%Er#Y$;B-oC?qT*Di)DaT9jClnV%OgAdr)vn39?jl9`(t zl$e*ES{yGRT#%DknUt8E?NpkUmRjVRTToINFCc^}>QH=U7HCd!YHD_3QcfzuN@a(wn|ao77^*Mixx~oJ z#~)f;l2}v%7gc6}0!|K2We1@q9tK@&Yi0Wn5K+#B;y_Ijl9N7$ zsu@}sIvJ)itYX;Au$5sK!vThq43`)#GhAV~%5ab2Il~KvR}AkNen8A*Vuac#1*M@B GBO?InLtPpG diff --git a/demo/platforms/android/cordova/node_modules/bplist-parser/test/iTunes-small.bplist b/demo/platforms/android/cordova/node_modules/bplist-parser/test/iTunes-small.bplist deleted file mode 100644 index b7edb14a00912ef3e673c0a5d8e0d0f1a7a5cad3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24433 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 diff --git a/demo/platforms/android/cordova/node_modules/bplist-parser/test/int64.bplist b/demo/platforms/android/cordova/node_modules/bplist-parser/test/int64.bplist deleted file mode 100644 index 6da9c046165aa3b5327da20d50c021b1c2474fa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmYc)$jK}&F)+Bq$jrnNQk7biFTfC)nO9#K9{hA_oy; NWQ5AG!W2PieE?iB4ru@Y diff --git a/demo/platforms/android/cordova/node_modules/bplist-parser/test/int64.xml b/demo/platforms/android/cordova/node_modules/bplist-parser/test/int64.xml deleted file mode 100644 index cc6cb03..0000000 --- a/demo/platforms/android/cordova/node_modules/bplist-parser/test/int64.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - zero - 0 - int64item - 12345678901234567890 - - diff --git a/demo/platforms/android/cordova/node_modules/bplist-parser/test/parseTest.js b/demo/platforms/android/cordova/node_modules/bplist-parser/test/parseTest.js deleted file mode 100644 index 67e7bfa..0000000 --- a/demo/platforms/android/cordova/node_modules/bplist-parser/test/parseTest.js +++ /dev/null @@ -1,159 +0,0 @@ -'use strict'; - -// tests are adapted from https://github.com/TooTallNate/node-plist - -var path = require('path'); -var nodeunit = require('nodeunit'); -var bplist = require('../'); - -module.exports = { - 'iTunes Small': function (test) { - var file = path.join(__dirname, "iTunes-small.bplist"); - var startTime1 = new Date(); - - bplist.parseFile(file, function (err, dicts) { - if (err) { - throw err; - } - - var endTime = new Date(); - console.log('Parsed "' + file + '" in ' + (endTime - startTime1) + 'ms'); - var dict = dicts[0]; - test.equal(dict['Application Version'], "9.0.3"); - test.equal(dict['Library Persistent ID'], "6F81D37F95101437"); - test.done(); - }); - }, - - 'sample1': function (test) { - var file = path.join(__dirname, "sample1.bplist"); - var startTime = new Date(); - - bplist.parseFile(file, function (err, dicts) { - if (err) { - throw err; - } - - var endTime = new Date(); - console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms'); - var dict = dicts[0]; - test.equal(dict['CFBundleIdentifier'], 'com.apple.dictionary.MySample'); - test.done(); - }); - }, - - 'sample2': function (test) { - var file = path.join(__dirname, "sample2.bplist"); - var startTime = new Date(); - - bplist.parseFile(file, function (err, dicts) { - if (err) { - throw err; - } - - var endTime = new Date(); - console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms'); - var dict = dicts[0]; - test.equal(dict['PopupMenu'][2]['Key'], "\n #import \n\n#import \n\nint main(int argc, char *argv[])\n{\n return macruby_main(\"rb_main.rb\", argc, argv);\n}\n"); - test.done(); - }); - }, - - 'airplay': function (test) { - var file = path.join(__dirname, "airplay.bplist"); - var startTime = new Date(); - - bplist.parseFile(file, function (err, dicts) { - if (err) { - throw err; - } - - var endTime = new Date(); - console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms'); - - var dict = dicts[0]; - test.equal(dict['duration'], 5555.0495000000001); - test.equal(dict['position'], 4.6269989039999997); - test.done(); - }); - }, - - 'utf16': function (test) { - var file = path.join(__dirname, "utf16.bplist"); - var startTime = new Date(); - - bplist.parseFile(file, function (err, dicts) { - if (err) { - throw err; - } - - var endTime = new Date(); - console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms'); - - var dict = dicts[0]; - test.equal(dict['CFBundleName'], 'sellStuff'); - test.equal(dict['CFBundleShortVersionString'], '2.6.1'); - test.equal(dict['NSHumanReadableCopyright'], '©2008-2012, sellStuff, Inc.'); - test.done(); - }); - }, - - 'utf16chinese': function (test) { - var file = path.join(__dirname, "utf16_chinese.plist"); - var startTime = new Date(); - - bplist.parseFile(file, function (err, dicts) { - if (err) { - throw err; - } - - var endTime = new Date(); - console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms'); - - var dict = dicts[0]; - test.equal(dict['CFBundleName'], '天翼阅读'); - test.equal(dict['CFBundleDisplayName'], '天翼阅读'); - test.done(); - }); - }, - - - - 'uid': function (test) { - var file = path.join(__dirname, "uid.bplist"); - var startTime = new Date(); - - bplist.parseFile(file, function (err, dicts) { - if (err) { - throw err; - } - - var endTime = new Date(); - console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms'); - - var dict = dicts[0]; - test.deepEqual(dict['$objects'][1]['NS.keys'], [{UID:2}, {UID:3}, {UID:4}]); - test.deepEqual(dict['$objects'][1]['NS.objects'], [{UID: 5}, {UID:6}, {UID:7}]); - test.deepEqual(dict['$top']['root'], {UID:1}); - test.done(); - }); - }, - - 'int64': function (test) { - var file = path.join(__dirname, "int64.bplist"); - var startTime = new Date(); - - bplist.parseFile(file, function (err, dicts) { - if (err) { - throw err; - } - - var endTime = new Date(); - console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms'); - var dict = dicts[0]; - test.equal(dict['zero'], '0'); - test.equal(dict['int64item'], '12345678901234567890'); - test.done(); - }); - } -}; diff --git a/demo/platforms/android/cordova/node_modules/bplist-parser/test/sample1.bplist b/demo/platforms/android/cordova/node_modules/bplist-parser/test/sample1.bplist deleted file mode 100644 index 5b808ff2e4be8741f9cc0ad57263fffca75e3d2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 605 zcmY*V&rTFE81J`=Afgm>K|tar9y~c2xEPPHBf1Gggdsu{Y|896yA7RA)9Csz=NK64SfK+yDTuheChAkufIPBT8iBI{yEfc+#If&cxk&lXUjs z+&rUm&9&7+wIv34gfi19D!YXpkts%}hg_@eP>~2UdqZf0r^x91@EUb9W8b35-C|^o zP#s2Rf@Tzm*gA-tvYF}9h)&l!%?c4A@eWw1QEpjb+`7F+4k-AnVhk$k} z&hox?Aqy1?-fL>-Xi(zj(x#J`N_qvb10El;v|q!!D+xwtubX1J*Pz$6sdPE7Gu}xq z$rxEAFUSUYPfo}u@`d~+e_;Y1!&7(#+pr7Aa0(ycGkk?_@Ev}@FF1#PqR!n)uZ|pt(tOY<*1I zyr20SI><;{2aQ&qOf$`M{D#-nO3m?|J&y*YZ*NP-C6~&63!~|pzO(-)rCa?Mp$s)R ifMYm=K3u~9MlgXXPedc4}pD6p)7M4pT|aNh~g2%*)5$ zz|_Fpz_M6SNVtKufvthPfg=Q{*bqb*g9xJ#pdLdIVGJUSF3HHs$wxu-=OyN*MnIUU z#qk2de!;$_C5cHnsVaaBL;H@M+SEWKZY=dM1~B89ELoG0)`@nGKLC^5s7+z`B(on!kQfQjel9ql#A|%BhDYS&dAFZc})Z{wq7iiEBA_(^^jQ<*9;qX2-TcH*SOCutVlkO zCESSgnGu8@cbLW!hnz621()YiV>mK1J#m*BNDVfy?}VO-k&8{Pz%(L9_r}d1cQg~v zhegVpgb_Qmw@}KMnVb@*@3yM^0uU2d44cs5T_015g0RzywND%`WSo6L;V+?D#oFn`&KK*9!RtW-VRGD_Tp_%DLs8 z={G>r5*Xa>DY?l zx)dvX6?f8CD1BfnCN)@J(K_mW?vH%oP%n9VkvYIN_77IBO}KV@T|HmO=9aVhoThWY ziHJHaiZYTi)m-Jz!Q!X#C~nc&66r zMn6X#WfgT)rv00;0FHs%pv}wtHTV|%0Dc0$foI?)_*a-0RG}!`7aZY{a3DMueii-_ zUI_n*GvX!jx>y%o@f-1xcp&~PJ{5n5N8xdJ63)T1@Ep7hm*5J#0XJX`Zo~V~f;M~z zzk}byefSG}0-wS^;otBDdZR6&iD2mXuvJ%?Z&9;=5#*@uSb6~T(>~3g+7DZ4H zyy1-(8Hsk(8GUj_beM4*M}2U3v4{^oC^)0z_{Ja)GG4}ilWa&C_hong+xh5`HEXscCNa$tGma4Z#34||FHPT zmaV9~r&8TpUA6D27hZgMytjW-S<9<<0G04)G9x9oIA2+Qp{o!TU9)B3bMw zDwc}KB-&)3hH@$f@p9KTiT7YtH%eHuhwvoPwJbm1)eU3Qs!Nv3qGThxY;8hjhG=#g znQ)>F>WO3~ts=Xio23Sb#jbNwSISP*Ox3_vmcQARr;)M?O=3r!QF^E}CR zptdW^h5>4vcaMU2ovx>-74#%gYygVPY726UjJ^t1%C?hsmR~80LwI+Ym^cr469xAo z1LcTHY=W%`Sxlj_rWC~z;DaN0_Xv3?)y$$5Rm?+bq(HE_T^2VQM!&Av;IhDVk;tS5 zgqd*Yow7Jg@Ki5Yn7XQBa}%;~zQrdvW1v%0@DA6xUO%X3N@}9D#B@>D@SxPjW0F{g zimDCPyP!ZWNumaYDIf(8ngl>1hZ%sjLeBJ68ZPID_ zRKuuKzDX8FK7ebX?;WPJ-#qE!W1L5v2_?(vFexZSJ+bCdMbgf@B8UyoCEYjTtpVJM~vGE8vL_OaJ3$?D_?(`}k<#w()+>2jfSuObt*}#? z9pFwqNF=3*OV}Fj%M%!x;VDciM5`5Hnx-m3LWtxNIRy*hLMRYQ)I;vvC0FYMZjTtEm#aV(E=C?5)-LNE}o`)K;8qL=&-Jg3);@u?g@jmN{`P$W>- z!%~M{bh=zOu!am$1IqcPC?E*&a6Bj^viwp-^9SMy6QjJ}CP=Fit61JiP;Cm9jii@N z1w(U6Ff+XaJp*t-Ak}Z%h0F$c=FP5te0J>G(viy>UEQ2N`11qq;8~bdmIVaA9ynXn& ziRLe?9A_w9Z64WZ_UQ9)cQ*9}SW+6?gFWDeHRq<3?20|s);YD8c&{|tCwV$NeV!rD zxM#QLuxG||%5&E9v*(I;zPH;edWm5Z&mr7GRsGZalb&xtny+XZCouE!qA5ouBpHbgXKTp@62W93hQAPvUjk4Hp0f(6f3c#>=^qLdx$;8zRI3t z-(yd)pR#AzU)kR{nw!U6$KA;B++uDCw~R}0_j5^ZgxksO@aTmB> YxQpB+?y{%;_`Hp`=UDUId~tvN2l=KQ%m4rY diff --git a/demo/platforms/android/cordova/node_modules/brace-expansion/README.md b/demo/platforms/android/cordova/node_modules/brace-expansion/README.md deleted file mode 100644 index ed2ec1f..0000000 --- a/demo/platforms/android/cordova/node_modules/brace-expansion/README.md +++ /dev/null @@ -1,123 +0,0 @@ -# brace-expansion - -[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), -as known from sh/bash, in JavaScript. - -[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion) -[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion) -[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/) - -[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion) - -## Example - -```js -var expand = require('brace-expansion'); - -expand('file-{a,b,c}.jpg') -// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] - -expand('-v{,,}') -// => ['-v', '-v', '-v'] - -expand('file{0..2}.jpg') -// => ['file0.jpg', 'file1.jpg', 'file2.jpg'] - -expand('file-{a..c}.jpg') -// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] - -expand('file{2..0}.jpg') -// => ['file2.jpg', 'file1.jpg', 'file0.jpg'] - -expand('file{0..4..2}.jpg') -// => ['file0.jpg', 'file2.jpg', 'file4.jpg'] - -expand('file-{a..e..2}.jpg') -// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg'] - -expand('file{00..10..5}.jpg') -// => ['file00.jpg', 'file05.jpg', 'file10.jpg'] - -expand('{{A..C},{a..c}}') -// => ['A', 'B', 'C', 'a', 'b', 'c'] - -expand('ppp{,config,oe{,conf}}') -// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf'] -``` - -## API - -```js -var expand = require('brace-expansion'); -``` - -### var expanded = expand(str) - -Return an array of all possible and valid expansions of `str`. If none are -found, `[str]` is returned. - -Valid expansions are: - -```js -/^(.*,)+(.+)?$/ -// {a,b,...} -``` - -A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`. - -```js -/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ -// {x..y[..incr]} -``` - -A numeric sequence from `x` to `y` inclusive, with optional increment. -If `x` or `y` start with a leading `0`, all the numbers will be padded -to have equal length. Negative numbers and backwards iteration work too. - -```js -/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ -// {x..y[..incr]} -``` - -An alphabetic sequence from `x` to `y` inclusive, with optional increment. -`x` and `y` must be exactly one character, and if given, `incr` must be a -number. - -For compatibility reasons, the string `${` is not eligible for brace expansion. - -## Installation - -With [npm](https://npmjs.org) do: - -```bash -npm install brace-expansion -``` - -## Contributors - -- [Julian Gruber](https://github.com/juliangruber) -- [Isaac Z. Schlueter](https://github.com/isaacs) - -## License - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal 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/demo/platforms/android/cordova/node_modules/brace-expansion/index.js b/demo/platforms/android/cordova/node_modules/brace-expansion/index.js deleted file mode 100644 index 0478be8..0000000 --- a/demo/platforms/android/cordova/node_modules/brace-expansion/index.js +++ /dev/null @@ -1,201 +0,0 @@ -var concatMap = require('concat-map'); -var balanced = require('balanced-match'); - -module.exports = expandTop; - -var escSlash = '\0SLASH'+Math.random()+'\0'; -var escOpen = '\0OPEN'+Math.random()+'\0'; -var escClose = '\0CLOSE'+Math.random()+'\0'; -var escComma = '\0COMMA'+Math.random()+'\0'; -var escPeriod = '\0PERIOD'+Math.random()+'\0'; - -function numeric(str) { - return parseInt(str, 10) == str - ? parseInt(str, 10) - : str.charCodeAt(0); -} - -function escapeBraces(str) { - return str.split('\\\\').join(escSlash) - .split('\\{').join(escOpen) - .split('\\}').join(escClose) - .split('\\,').join(escComma) - .split('\\.').join(escPeriod); -} - -function unescapeBraces(str) { - return str.split(escSlash).join('\\') - .split(escOpen).join('{') - .split(escClose).join('}') - .split(escComma).join(',') - .split(escPeriod).join('.'); -} - - -// Basically just str.split(","), but handling cases -// where we have nested braced sections, which should be -// treated as individual members, like {a,{b,c},d} -function parseCommaParts(str) { - if (!str) - return ['']; - - var parts = []; - var m = balanced('{', '}', str); - - if (!m) - return str.split(','); - - var pre = m.pre; - var body = m.body; - var post = m.post; - var p = pre.split(','); - - p[p.length-1] += '{' + body + '}'; - var postParts = parseCommaParts(post); - if (post.length) { - p[p.length-1] += postParts.shift(); - p.push.apply(p, postParts); - } - - parts.push.apply(parts, p); - - return parts; -} - -function expandTop(str) { - if (!str) - return []; - - // I don't know why Bash 4.3 does this, but it does. - // Anything starting with {} will have the first two bytes preserved - // but *only* at the top level, so {},a}b will not expand to anything, - // but a{},b}c will be expanded to [a}c,abc]. - // One could argue that this is a bug in Bash, but since the goal of - // this module is to match Bash's rules, we escape a leading {} - if (str.substr(0, 2) === '{}') { - str = '\\{\\}' + str.substr(2); - } - - return expand(escapeBraces(str), true).map(unescapeBraces); -} - -function identity(e) { - return e; -} - -function embrace(str) { - return '{' + str + '}'; -} -function isPadded(el) { - return /^-?0\d/.test(el); -} - -function lte(i, y) { - return i <= y; -} -function gte(i, y) { - return i >= y; -} - -function expand(str, isTop) { - var expansions = []; - - var m = balanced('{', '}', str); - if (!m || /\$$/.test(m.pre)) return [str]; - - var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); - var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); - var isSequence = isNumericSequence || isAlphaSequence; - var isOptions = m.body.indexOf(',') >= 0; - if (!isSequence && !isOptions) { - // {a},b} - if (m.post.match(/,.*\}/)) { - str = m.pre + '{' + m.body + escClose + m.post; - return expand(str); - } - return [str]; - } - - var n; - if (isSequence) { - n = m.body.split(/\.\./); - } else { - n = parseCommaParts(m.body); - if (n.length === 1) { - // x{{a,b}}y ==> x{a}y x{b}y - n = expand(n[0], false).map(embrace); - if (n.length === 1) { - var post = m.post.length - ? expand(m.post, false) - : ['']; - return post.map(function(p) { - return m.pre + n[0] + p; - }); - } - } - } - - // at this point, n is the parts, and we know it's not a comma set - // with a single entry. - - // no need to expand pre, since it is guaranteed to be free of brace-sets - var pre = m.pre; - var post = m.post.length - ? expand(m.post, false) - : ['']; - - var N; - - if (isSequence) { - var x = numeric(n[0]); - var y = numeric(n[1]); - var width = Math.max(n[0].length, n[1].length) - var incr = n.length == 3 - ? Math.abs(numeric(n[2])) - : 1; - var test = lte; - var reverse = y < x; - if (reverse) { - incr *= -1; - test = gte; - } - var pad = n.some(isPadded); - - N = []; - - for (var i = x; test(i, y); i += incr) { - var c; - if (isAlphaSequence) { - c = String.fromCharCode(i); - if (c === '\\') - c = ''; - } else { - c = String(i); - if (pad) { - var need = width - c.length; - if (need > 0) { - var z = new Array(need + 1).join('0'); - if (i < 0) - c = '-' + z + c.slice(1); - else - c = z + c; - } - } - } - N.push(c); - } - } else { - N = concatMap(n, function(el) { return expand(el, false) }); - } - - for (var j = 0; j < N.length; j++) { - for (var k = 0; k < post.length; k++) { - var expansion = pre + N[j] + post[k]; - if (!isTop || isSequence || expansion) - expansions.push(expansion); - } - } - - return expansions; -} - diff --git a/demo/platforms/android/cordova/node_modules/brace-expansion/package.json b/demo/platforms/android/cordova/node_modules/brace-expansion/package.json deleted file mode 100644 index b1ce885..0000000 --- a/demo/platforms/android/cordova/node_modules/brace-expansion/package.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "brace-expansion@^1.1.7", - "scope": null, - "escapedName": "brace-expansion", - "name": "brace-expansion", - "rawSpec": "^1.1.7", - "spec": ">=1.1.7 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/minimatch" - ] - ], - "_from": "brace-expansion@>=1.1.7 <2.0.0", - "_id": "brace-expansion@1.1.8", - "_inCache": true, - "_location": "/cordova-android/brace-expansion", - "_nodeVersion": "7.8.0", - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/brace-expansion-1.1.8.tgz_1497251980593_0.6575565172825009" - }, - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "_npmVersion": "4.2.0", - "_phantomChildren": {}, - "_requested": { - "raw": "brace-expansion@^1.1.7", - "scope": null, - "escapedName": "brace-expansion", - "name": "brace-expansion", - "rawSpec": "^1.1.7", - "spec": ">=1.1.7 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/minimatch" - ], - "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "_shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292", - "_shrinkwrap": null, - "_spec": "brace-expansion@^1.1.7", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/minimatch", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/brace-expansion/issues" - }, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "description": "Brace expansion as known from sh/bash", - "devDependencies": { - "matcha": "^0.7.0", - "tape": "^4.6.0" - }, - "directories": {}, - "dist": { - "shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292", - "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz" - }, - "gitHead": "8f59e68bd5c915a0d624e8e39354e1ccf672edf6", - "homepage": "https://github.com/juliangruber/brace-expansion", - "keywords": [], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - { - "name": "isaacs", - "email": "isaacs@npmjs.com" - } - ], - "name": "brace-expansion", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/brace-expansion.git" - }, - "scripts": { - "bench": "matcha test/perf/bench.js", - "gentest": "bash test/generate.sh", - "test": "tape test/*.js" - }, - "testling": { - "files": "test/*.js", - "browsers": [ - "ie/8..latest", - "firefox/20..latest", - "firefox/nightly", - "chrome/25..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "version": "1.1.8" -} diff --git a/demo/platforms/android/cordova/node_modules/concat-map/.travis.yml b/demo/platforms/android/cordova/node_modules/concat-map/.travis.yml deleted file mode 100644 index f1d0f13..0000000 --- a/demo/platforms/android/cordova/node_modules/concat-map/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.4 - - 0.6 diff --git a/demo/platforms/android/cordova/node_modules/concat-map/LICENSE b/demo/platforms/android/cordova/node_modules/concat-map/LICENSE deleted file mode 100644 index ee27ba4..0000000 --- a/demo/platforms/android/cordova/node_modules/concat-map/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -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/demo/platforms/android/cordova/node_modules/concat-map/README.markdown b/demo/platforms/android/cordova/node_modules/concat-map/README.markdown deleted file mode 100644 index 408f70a..0000000 --- a/demo/platforms/android/cordova/node_modules/concat-map/README.markdown +++ /dev/null @@ -1,62 +0,0 @@ -concat-map -========== - -Concatenative mapdashery. - -[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map) - -[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map) - -example -======= - -``` js -var concatMap = require('concat-map'); -var xs = [ 1, 2, 3, 4, 5, 6 ]; -var ys = concatMap(xs, function (x) { - return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; -}); -console.dir(ys); -``` - -*** - -``` -[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ] -``` - -methods -======= - -``` js -var concatMap = require('concat-map') -``` - -concatMap(xs, fn) ------------------ - -Return an array of concatenated elements by calling `fn(x, i)` for each element -`x` and each index `i` in the array `xs`. - -When `fn(x, i)` returns an array, its result will be concatenated with the -result array. If `fn(x, i)` returns anything else, that value will be pushed -onto the end of the result array. - -install -======= - -With [npm](http://npmjs.org) do: - -``` -npm install concat-map -``` - -license -======= - -MIT - -notes -===== - -This module was written while sitting high above the ground in a tree. diff --git a/demo/platforms/android/cordova/node_modules/concat-map/index.js b/demo/platforms/android/cordova/node_modules/concat-map/index.js deleted file mode 100644 index b29a781..0000000 --- a/demo/platforms/android/cordova/node_modules/concat-map/index.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = function (xs, fn) { - var res = []; - for (var i = 0; i < xs.length; i++) { - var x = fn(xs[i], i); - if (isArray(x)) res.push.apply(res, x); - else res.push(x); - } - return res; -}; - -var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; diff --git a/demo/platforms/android/cordova/node_modules/concat-map/package.json b/demo/platforms/android/cordova/node_modules/concat-map/package.json deleted file mode 100644 index e7cd67d..0000000 --- a/demo/platforms/android/cordova/node_modules/concat-map/package.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "concat-map@0.0.1", - "scope": null, - "escapedName": "concat-map", - "name": "concat-map", - "rawSpec": "0.0.1", - "spec": "0.0.1", - "type": "version" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/brace-expansion" - ] - ], - "_from": "concat-map@0.0.1", - "_id": "concat-map@0.0.1", - "_inCache": true, - "_location": "/cordova-android/concat-map", - "_npmUser": { - "name": "substack", - "email": "mail@substack.net" - }, - "_npmVersion": "1.3.21", - "_phantomChildren": {}, - "_requested": { - "raw": "concat-map@0.0.1", - "scope": null, - "escapedName": "concat-map", - "name": "concat-map", - "rawSpec": "0.0.1", - "spec": "0.0.1", - "type": "version" - }, - "_requiredBy": [ - "/cordova-android/brace-expansion" - ], - "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b", - "_shrinkwrap": null, - "_spec": "concat-map@0.0.1", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/brace-expansion", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/substack/node-concat-map/issues" - }, - "dependencies": {}, - "description": "concatenative mapdashery", - "devDependencies": { - "tape": "~2.4.0" - }, - "directories": { - "example": "example", - "test": "test" - }, - "dist": { - "shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b", - "tarball": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - }, - "homepage": "https://github.com/substack/node-concat-map", - "keywords": [ - "concat", - "concatMap", - "map", - "functional", - "higher-order" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "substack", - "email": "mail@substack.net" - } - ], - "name": "concat-map", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/substack/node-concat-map.git" - }, - "scripts": { - "test": "tape test/*.js" - }, - "testling": { - "files": "test/*.js", - "browsers": { - "ie": [ - 6, - 7, - 8, - 9 - ], - "ff": [ - 3.5, - 10, - 15 - ], - "chrome": [ - 10, - 22 - ], - "safari": [ - 5.1 - ], - "opera": [ - 12 - ] - } - }, - "version": "0.0.1" -} diff --git a/demo/platforms/android/cordova/node_modules/concat-map/test/map.js b/demo/platforms/android/cordova/node_modules/concat-map/test/map.js deleted file mode 100644 index fdbd702..0000000 --- a/demo/platforms/android/cordova/node_modules/concat-map/test/map.js +++ /dev/null @@ -1,39 +0,0 @@ -var concatMap = require('../'); -var test = require('tape'); - -test('empty or not', function (t) { - var xs = [ 1, 2, 3, 4, 5, 6 ]; - var ixes = []; - var ys = concatMap(xs, function (x, ix) { - ixes.push(ix); - return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; - }); - t.same(ys, [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]); - t.same(ixes, [ 0, 1, 2, 3, 4, 5 ]); - t.end(); -}); - -test('always something', function (t) { - var xs = [ 'a', 'b', 'c', 'd' ]; - var ys = concatMap(xs, function (x) { - return x === 'b' ? [ 'B', 'B', 'B' ] : [ x ]; - }); - t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]); - t.end(); -}); - -test('scalars', function (t) { - var xs = [ 'a', 'b', 'c', 'd' ]; - var ys = concatMap(xs, function (x) { - return x === 'b' ? [ 'B', 'B', 'B' ] : x; - }); - t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]); - t.end(); -}); - -test('undefs', function (t) { - var xs = [ 'a', 'b', 'c', 'd' ]; - var ys = concatMap(xs, function () {}); - t.same(ys, [ undefined, undefined, undefined, undefined ]); - t.end(); -}); diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/.eslintignore b/demo/platforms/android/cordova/node_modules/cordova-common/.eslintignore deleted file mode 100644 index 161d0c6..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -spec/fixtures/* \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/.eslintrc.yml b/demo/platforms/android/cordova/node_modules/cordova-common/.eslintrc.yml deleted file mode 100644 index 7701c82..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/.eslintrc.yml +++ /dev/null @@ -1,11 +0,0 @@ -root: true -extends: semistandard -rules: - indent: - - error - - 4 - camelcase: off - padded-blocks: off - operator-linebreak: off - no-throw-literal: off - \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/.jscs.json b/demo/platforms/android/cordova/node_modules/cordova-common/.jscs.json deleted file mode 100644 index 5cc7e26..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/.jscs.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "disallowMixedSpacesAndTabs": true, - "disallowTrailingWhitespace": true, - "validateLineBreaks": "LF", - "validateIndentation": 4, - "requireLineFeedAtFileEnd": true, - - "disallowSpaceAfterPrefixUnaryOperators": true, - "disallowSpaceBeforePostfixUnaryOperators": true, - "requireSpaceAfterLineComment": true, - "requireCapitalizedConstructors": true, - - "disallowSpacesInNamedFunctionExpression": { - "beforeOpeningRoundBrace": true - }, - - "requireSpaceAfterKeywords": [ - "if", - "else", - "for", - "while", - "do" - ] -} diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/.npmignore b/demo/platforms/android/cordova/node_modules/cordova-common/.npmignore deleted file mode 100644 index 5d14118..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -spec -coverage diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/.ratignore b/demo/platforms/android/cordova/node_modules/cordova-common/.ratignore deleted file mode 100644 index f107416..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/.ratignore +++ /dev/null @@ -1,4 +0,0 @@ -fixtures -coverage -jasmine.json -appveyor.yml diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/.travis.yml b/demo/platforms/android/cordova/node_modules/cordova-common/.travis.yml deleted file mode 100644 index 459273a..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: node_js -sudo: false -git: - depth: 10 -node_js: - - "4" - - "6" -install: - - npm install - - npm install -g codecov -script: - - npm test - - npm run cover -after_script: - - codecov diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/README.md b/demo/platforms/android/cordova/node_modules/cordova-common/README.md deleted file mode 100644 index 5659c57..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/README.md +++ /dev/null @@ -1,157 +0,0 @@ - - -[![Build status](https://ci.appveyor.com/api/projects/status/wxkmo0jalsr8gane?svg=true)](https://ci.appveyor.com/project/ApacheSoftwareFoundation/cordova-common/branch/master) -[![Build Status](https://travis-ci.org/apache/cordova-common.svg?branch=master)](https://travis-ci.org/apache/cordova-common) -[![NPM](https://nodei.co/npm/cordova-common.png)](https://nodei.co/npm/cordova-common/) - -# cordova-common -Expoeses shared functionality used by [cordova-lib](https://github.com/apache/cordova-lib/) and Cordova platforms. -## Exposed APIs - -### `events` - -Represents special instance of NodeJS EventEmitter which is intended to be used to post events to cordova-lib and cordova-cli - -Usage: -```js -var events = require('cordova-common').events; -events.emit('warn', 'Some warning message') -``` - -There are the following events supported by cordova-cli: `verbose`, `log`, `info`, `warn`, `error`. - -### `CordovaError` - -An error class used by Cordova to throw cordova-specific errors. The CordovaError class is inherited from Error, so CordovaError instances is also valid Error instances (`instanceof` check succeeds). - -Usage: - -```js -var CordovaError = require('cordova-common').CordovaError; -throw new CordovaError('Some error message', SOME_ERR_CODE); -``` - -See [CordovaError](src/CordovaError/CordovaError.js) for supported error codes. - -### `ConfigParser` - -Exposes functionality to deal with cordova project `config.xml` files. For ConfigParser API reference check [ConfigParser Readme](src/ConfigParser/README.md). - -Usage: -```js -var ConfigParser = require('cordova-common').ConfigParser; -var appConfig = new ConfigParser('path/to/cordova-app/config.xml'); -console.log(appconfig.name() + ':' + appConfig.version()); -``` - -### `PluginInfoProvider` and `PluginInfo` - -`PluginInfo` is a wrapper for cordova plugins' `plugin.xml` files. This class may be instantiated directly or via `PluginInfoProvider`. The difference is that `PluginInfoProvider` caches `PluginInfo` instances based on plugin source directory. - -Usage: -```js -var PluginInfo: require('cordova-common').PluginInfo; -var PluginInfoProvider: require('cordova-common').PluginInfoProvider; - -// The following instances are equal -var plugin1 = new PluginInfo('path/to/plugin_directory'); -var plugin2 = new PluginInfoProvider().get('path/to/plugin_directory'); - -console.log('The plugin ' + plugin1.id + ' has version ' + plugin1.version) -``` - -### `ActionStack` - -Utility module for dealing with sequential tasks. Provides a set of tasks that are needed to be done and reverts all tasks that are already completed if one of those tasks fail to complete. Used internally by cordova-lib and platform's plugin installation routines. - -Usage: -```js -var ActionStack = require('cordova-common').ActionStack; -var stack = new ActionStack() - -var action1 = stack.createAction(task1, [], task1_reverter, []); -var action2 = stack.createAction(task2, [], task2_reverter, []); - -stack.push(action1); -stack.push(action2); - -stack.process() -.then(function() { - // all actions succeded -}) -.catch(function(error){ - // One of actions failed with error -}) -``` - -### `superspawn` - -Module for spawning child processes with some advanced logic. - -Usage: -```js -var superspawn = require('cordova-common').superspawn; -superspawn.spawn('adb', ['devices']) -.progress(function(data){ - if (data.stderr) - console.error('"adb devices" raised an error: ' + data.stderr); -}) -.then(function(devices){ - // Do something... -}) -``` - -### `xmlHelpers` - -A set of utility methods for dealing with xml files. - -Usage: -```js -var xml = require('cordova-common').xmlHelpers; - -var xmlDoc1 = xml.parseElementtreeSync('some/xml/file'); -var xmlDoc2 = xml.parseElementtreeSync('another/xml/file'); - -xml.mergeXml(doc1, doc2); // doc2 now contains all the nodes from doc1 -``` - -### Other APIs - -The APIs listed below are also exposed but are intended to be only used internally by cordova plugin installation routines. - -``` -PlatformJson -ConfigChanges -ConfigKeeper -ConfigFile -mungeUtil -``` - -## Setup -* Clone this repository onto your local machine - `git clone https://git-wip-us.apache.org/repos/asf/cordova-lib.git` -* In terminal, navigate to the inner cordova-common directory - `cd cordova-lib/cordova-common` -* Install dependencies and npm-link - `npm install && npm link` -* Navigate to cordova-lib directory and link cordova-common - `cd ../cordova-lib && npm link cordova-common && npm install` diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/RELEASENOTES.md b/demo/platforms/android/cordova/node_modules/cordova-common/RELEASENOTES.md deleted file mode 100644 index 5dc4460..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/RELEASENOTES.md +++ /dev/null @@ -1,119 +0,0 @@ - -# Cordova-common Release Notes - -### 2.1.0 (August 30, 2017) -* [CB-13145](https://issues.apache.org/jira/browse/CB-13145) added variable replacing to `framework` tag -* [CB-13211](https://issues.apache.org/jira/browse/CB-13211) Add `allows-arbitrary-loads-for-media` attribute parsing for `getAccesses` -* [CB-11968](https://issues.apache.org/jira/browse/CB-11968) Added support for `` in `config.xml` -* [CB-12895](https://issues.apache.org/jira/browse/CB-12895) set up `eslint` and removed `jshint` -* [CB-12785](https://issues.apache.org/jira/browse/CB-12785) added `.gitignore`, `travis`, and `appveyor` support -* [CB-12250](https://issues.apache.org/jira/browse/CB-12250) & [CB-12409](https://issues.apache.org/jira/browse/CB-12409) *iOS*: Fix bug with escaping properties from `plist` file -* [CB-12762](https://issues.apache.org/jira/browse/CB-12762) updated `common`, `fetch`, and `serve` `pkgJson` to point `pkgJson` repo items to github mirrors -* [CB-12766](https://issues.apache.org/jira/browse/CB-12766) Consistently write `JSON` with 2 spaces indentation - -### 2.0.3 (May 02, 2017) -* [CB-8978](https://issues.apache.org/jira/browse/CB-8978) Add option to get `resource-file` from `root` -* [CB-11908](https://issues.apache.org/jira/browse/CB-11908) Add tests for `edit-config` in `config.xml` -* [CB-12665](https://issues.apache.org/jira/browse/CB-12665) removed `enginestrict` since it is deprecated - -### 2.0.2 (Apr 14, 2017) -* [CB-11233](https://issues.apache.org/jira/browse/CB-11233) - Support installing frameworks into 'Embedded Binaries' section of the Xcode project -* [CB-10438](https://issues.apache.org/jira/browse/CB-10438) - Install correct dependency version. Removed shell.remove, added pkg.json to dependency tests 1-3, and updated install.js (.replace) to fix tests in uninstall.spec.js and update to workw with jasmine 2.0 -* [CB-11120](https://issues.apache.org/jira/browse/CB-11120) - Allow short/display name in config.xml -* [CB-11346](https://issues.apache.org/jira/browse/CB-11346) - Remove known platforms check -* [CB-11977](https://issues.apache.org/jira/browse/CB-11977) - updated engines and enginescript for common, fetch, and serve - -### 2.0.1 (Mar 09, 2017) -* [CB-12557](https://issues.apache.org/jira/browse/CB-12557) add both stdout and stderr properties to the error object passed to superspawn reject handler. - -### 2.0.0 (Jan 17, 2017) -* [CB-8978](https://issues.apache.org/jira/browse/CB-8978) Add `resource-file` parsing to `config.xml` -* [CB-12018](https://issues.apache.org/jira/browse/CB-12018): updated `jshint` and updated tests to work with `jasmine@2` instead of `jasmine-node` -* [CB-12163](https://issues.apache.org/jira/browse/CB-12163) Add reference attrib to `resource-file` for **Windows** -* Move windows-specific logic to `cordova-windows` -* [CB-12189](https://issues.apache.org/jira/browse/CB-12189) Add implementation attribute to framework - -### 1.5.1 (Oct 12, 2016) -* [CB-12002](https://issues.apache.org/jira/browse/CB-12002) Add `getAllowIntents()` to `ConfigParser` -* [CB-11998](https://issues.apache.org/jira/browse/CB-11998) `cordova platform add` error with `cordova-common@1.5.0` - -### 1.5.0 (Oct 06, 2016) -* [CB-11776](https://issues.apache.org/jira/browse/CB-11776) Add test case for different `edit-config` targets -* [CB-11908](https://issues.apache.org/jira/browse/CB-11908) Add `edit-config` to `config.xml` -* [CB-11936](https://issues.apache.org/jira/browse/CB-11936) Support four new **App Transport Security (ATS)** keys -* update `config.xml` location if it is a **Android Studio** project. -* use `array` methods and `object.keys` for iterating. avoiding `for-in` loops -* [CB-11517](https://issues.apache.org/jira/browse/CB-11517) Allow `.folder` matches -* [CB-11776](https://issues.apache.org/jira/browse/CB-11776) check `edit-config` target exists - -### 1.4.1 (Aug 09, 2016) -* Add general purpose `ConfigParser.getAttribute` API -* [CB-11653](https://issues.apache.org/jira/browse/CB-11653) moved `findProjectRoot` from `cordova-lib` to `cordova-common` -* [CB-11636](https://issues.apache.org/jira/browse/CB-11636) Handle attributes with quotes correctly -* [CB-11645](https://issues.apache.org/jira/browse/CB-11645) added check to see if `getEditConfig` exists before trying to use it -* [CB-9825](https://issues.apache.org/jira/browse/CB-9825) framework tag spec parsing - -### 1.4.0 (Jul 12, 2016) -* [CB-11023](https://issues.apache.org/jira/browse/CB-11023) Add edit-config functionality - -### 1.3.0 (May 12, 2016) -* [CB-11259](https://issues.apache.org/jira/browse/CB-11259): Improving prepare and build logging -* [CB-11194](https://issues.apache.org/jira/browse/CB-11194) Improve cordova load time -* [CB-1117](https://issues.apache.org/jira/browse/CB-1117) Add `FileUpdater` module to `cordova-common`. -* [CB-11131](https://issues.apache.org/jira/browse/CB-11131) Fix `TypeError: message.toUpperCase` is not a function in `CordovaLogger` - -### 1.2.0 (Apr 18, 2016) -* [CB-11022](https://issues.apache.org/jira/browse/CB-11022) Save modulesMetadata to both www and platform_www when necessary -* [CB-10833](https://issues.apache.org/jira/browse/CB-10833) Deduplicate common logic for plugin installation/uninstallation -* [CB-10822](https://issues.apache.org/jira/browse/CB-10822) Manage plugins/modules metadata using PlatformJson -* [CB-10940](https://issues.apache.org/jira/browse/CB-10940) Can't add Android platform from path -* [CB-10965](https://issues.apache.org/jira/browse/CB-10965) xml helper allows multiple instances to be merge in config.xml - -### 1.1.1 (Mar 18, 2016) -* [CB-10694](https://issues.apache.org/jira/browse/CB-10694) Update test to reflect merging of [CB-9264](https://issues.apache.org/jira/browse/CB-9264) fix -* [CB-10694](https://issues.apache.org/jira/browse/CB-10694) Platform-specific configuration preferences don't override global settings -* [CB-9264](https://issues.apache.org/jira/browse/CB-9264) Duplicate entries in `config.xml` -* [CB-10791](https://issues.apache.org/jira/browse/CB-10791) Add `adjustLoggerLevel` to `cordova-common.CordovaLogger` -* [CB-10662](https://issues.apache.org/jira/browse/CB-10662) Add tests for `ConfigParser.getStaticResources` -* [CB-10622](https://issues.apache.org/jira/browse/CB-10622) fix target attribute being ignored for images in `config.xml`. -* [CB-10583](https://issues.apache.org/jira/browse/CB-10583) Protect plugin preferences from adding extra Array properties. - -### 1.1.0 (Feb 16, 2016) -* [CB-10482](https://issues.apache.org/jira/browse/CB-10482) Remove references to windows8 from cordova-lib/cli -* [CB-10430](https://issues.apache.org/jira/browse/CB-10430) Adds forwardEvents method to easily connect two EventEmitters -* [CB-10176](https://issues.apache.org/jira/browse/CB-10176) Adds CordovaLogger class, based on logger module from cordova-cli -* [CB-10052](https://issues.apache.org/jira/browse/CB-10052) Expose child process' io streams via promise progress notification -* [CB-10497](https://issues.apache.org/jira/browse/CB-10497) Prefer .bat over .cmd on windows platform -* [CB-9984](https://issues.apache.org/jira/browse/CB-9984) Bumps plist version and fixes failing cordova-common test - -### 1.0.0 (Oct 29, 2015) - -* [CB-9890](https://issues.apache.org/jira/browse/CB-9890) Documents cordova-common -* [CB-9598](https://issues.apache.org/jira/browse/CB-9598) Correct cordova-lib -> cordova-common in README -* Pick ConfigParser changes from apache@0c3614e -* [CB-9743](https://issues.apache.org/jira/browse/CB-9743) Removes system frameworks handling from ConfigChanges -* [CB-9598](https://issues.apache.org/jira/browse/CB-9598) Cleans out code which has been moved to `cordova-common` -* Pick ConfigParser changes from apache@ddb027b -* Picking CordovaError changes from apache@a3b1fca -* [CB-9598](https://issues.apache.org/jira/browse/CB-9598) Adds tests and fixtures based on existing cordova-lib ones -* [CB-9598](https://issues.apache.org/jira/browse/CB-9598) Initial implementation for cordova-common - diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/appveyor.yml b/demo/platforms/android/cordova/node_modules/cordova-common/appveyor.yml deleted file mode 100644 index 94714f2..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/appveyor.yml +++ /dev/null @@ -1,18 +0,0 @@ -# appveyor file -# http://www.appveyor.com/docs/appveyor-yml - -environment: - matrix: - - nodejs_version: "4" - - nodejs_version: "6" - -install: - - ps: Install-Product node $env:nodejs_version - - npm install - -build: off - -test_script: - - node --version - - npm --version - - npm test diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/cordova-common.js b/demo/platforms/android/cordova/node_modules/cordova-common/cordova-common.js deleted file mode 100644 index 801d510..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/cordova-common.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -var addProperty = require('./src/util/addProperty'); - -module.exports = { }; - -addProperty(module, 'events', './src/events'); -addProperty(module, 'superspawn', './src/superspawn'); - -addProperty(module, 'ActionStack', './src/ActionStack'); -addProperty(module, 'CordovaError', './src/CordovaError/CordovaError'); -addProperty(module, 'CordovaLogger', './src/CordovaLogger'); -addProperty(module, 'CordovaCheck', './src/CordovaCheck'); -addProperty(module, 'CordovaExternalToolErrorContext', './src/CordovaError/CordovaExternalToolErrorContext'); -addProperty(module, 'PlatformJson', './src/PlatformJson'); -addProperty(module, 'ConfigParser', './src/ConfigParser/ConfigParser'); -addProperty(module, 'FileUpdater', './src/FileUpdater'); - -addProperty(module, 'PluginInfo', './src/PluginInfo/PluginInfo'); -addProperty(module, 'PluginInfoProvider', './src/PluginInfo/PluginInfoProvider'); - -addProperty(module, 'PluginManager', './src/PluginManager'); - -addProperty(module, 'ConfigChanges', './src/ConfigChanges/ConfigChanges'); -addProperty(module, 'ConfigKeeper', './src/ConfigChanges/ConfigKeeper'); -addProperty(module, 'ConfigFile', './src/ConfigChanges/ConfigFile'); -addProperty(module, 'mungeUtil', './src/ConfigChanges/munge-util'); - -addProperty(module, 'xmlHelpers', './src/util/xml-helpers'); - diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/package.json b/demo/platforms/android/cordova/node_modules/cordova-common/package.json deleted file mode 100644 index 7470596..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/package.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "cordova-common@^2.1.0", - "scope": null, - "escapedName": "cordova-common", - "name": "cordova-common", - "rawSpec": "^2.1.0", - "spec": ">=2.1.0 <3.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android" - ] - ], - "_from": "cordova-common@>=2.1.0 <3.0.0", - "_id": "cordova-common@2.1.0", - "_inCache": true, - "_location": "/cordova-android/cordova-common", - "_nodeVersion": "6.6.0", - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/cordova-common-2.1.0.tgz_1504306462859_0.04064799007028341" - }, - "_npmUser": { - "name": "audreyso", - "email": "audreyeso@gmail.com" - }, - "_npmVersion": "4.6.1", - "_phantomChildren": {}, - "_requested": { - "raw": "cordova-common@^2.1.0", - "scope": null, - "escapedName": "cordova-common", - "name": "cordova-common", - "rawSpec": "^2.1.0", - "spec": ">=2.1.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android" - ], - "_resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.1.0.tgz", - "_shasum": "bb357ee1b9825031ed9db3c56b592efe973d1640", - "_shrinkwrap": null, - "_spec": "cordova-common@^2.1.0", - "_where": "/Users/jbowser/cordova/cordova-android", - "author": { - "name": "Apache Software Foundation" - }, - "bugs": { - "url": "https://issues.apache.org/jira/browse/CB", - "email": "dev@cordova.apache.org" - }, - "contributors": [], - "dependencies": { - "ansi": "^0.3.1", - "bplist-parser": "^0.1.0", - "cordova-registry-mapper": "^1.1.8", - "elementtree": "0.1.6", - "glob": "^5.0.13", - "minimatch": "^3.0.0", - "osenv": "^0.1.3", - "plist": "^1.2.0", - "q": "^1.4.1", - "semver": "^5.0.1", - "shelljs": "^0.5.3", - "underscore": "^1.8.3", - "unorm": "^1.3.3" - }, - "description": "Apache Cordova tools and platforms shared routines", - "devDependencies": { - "eslint": "^4.0.0", - "eslint-config-semistandard": "^11.0.0", - "eslint-config-standard": "^10.2.1", - "eslint-plugin-import": "^2.3.0", - "eslint-plugin-node": "^5.0.0", - "eslint-plugin-promise": "^3.5.0", - "eslint-plugin-standard": "^3.0.1", - "istanbul": "^0.4.5", - "jasmine": "^2.5.2", - "promise-matchers": "^0.9.6", - "rewire": "^2.5.1" - }, - "directories": {}, - "dist": { - "shasum": "bb357ee1b9825031ed9db3c56b592efe973d1640", - "tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.1.0.tgz" - }, - "engines": { - "node": ">=4.0.0" - }, - "homepage": "https://github.com/apache/cordova-lib#readme", - "license": "Apache-2.0", - "main": "cordova-common.js", - "maintainers": [ - { - "name": "audreyso", - "email": "audreyeso@gmail.com" - }, - { - "name": "apachebuilds", - "email": "root@apache.org" - }, - { - "name": "filmaj", - "email": "maj.fil@gmail.com" - }, - { - "name": "timbarham", - "email": "npmjs@barhams.info" - }, - { - "name": "shazron", - "email": "shazron@gmail.com" - }, - { - "name": "bowserj", - "email": "bowserj@apache.org" - }, - { - "name": "purplecabbage", - "email": "purplecabbage@gmail.com" - }, - { - "name": "stevegill", - "email": "stevengill97@gmail.com" - }, - { - "name": "kotikov.vladimir", - "email": "kotikov.vladimir@gmail.com" - } - ], - "name": "cordova-common", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/apache/cordova-lib.git" - }, - "scripts": { - "cover": "istanbul cover --root src --print detail jasmine", - "eslint": "eslint src && eslint spec", - "jasmine": "jasmine JASMINE_CONFIG_PATH=spec/support/jasmine.json", - "test": "npm run eslint && npm run jasmine" - }, - "version": "2.1.0" -} diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/ActionStack.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/ActionStack.js deleted file mode 100644 index 6983c5c..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/ActionStack.js +++ /dev/null @@ -1,85 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -/* jshint quotmark:false */ - -var events = require('./events'); -var Q = require('q'); - -function ActionStack () { - this.stack = []; - this.completed = []; -} - -ActionStack.prototype = { - createAction: function (handler, action_params, reverter, revert_params) { - return { - handler: { - run: handler, - params: action_params - }, - reverter: { - run: reverter, - params: revert_params - } - }; - }, - push: function (tx) { - this.stack.push(tx); - }, - // Returns a promise. - process: function (platform) { - events.emit('verbose', 'Beginning processing of action stack for ' + platform + ' project...'); - - while (this.stack.length) { - var action = this.stack.shift(); - var handler = action.handler.run; - var action_params = action.handler.params; - - try { - handler.apply(null, action_params); - } catch (e) { - events.emit('warn', 'Error during processing of action! Attempting to revert...'); - this.stack.unshift(action); - var issue = 'Uh oh!\n'; - // revert completed tasks - while (this.completed.length) { - var undo = this.completed.shift(); - var revert = undo.reverter.run; - var revert_params = undo.reverter.params; - - try { - revert.apply(null, revert_params); - } catch (err) { - events.emit('warn', 'Error during reversion of action! We probably really messed up your project now, sorry! D:'); - issue += 'A reversion action failed: ' + err.message + '\n'; - } - } - e.message = issue + e.message; - return Q.reject(e); - } - this.completed.push(action); - } - events.emit('verbose', 'Action stack processing complete.'); - - return Q(); - } -}; - -module.exports = ActionStack; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js deleted file mode 100644 index e0af8a9..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js +++ /dev/null @@ -1,424 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -/* - * This module deals with shared configuration / dependency "stuff". That is: - * - XML configuration files such as config.xml, AndroidManifest.xml or WMAppManifest.xml. - * - plist files in iOS - * Essentially, any type of shared resources that we need to handle with awareness - * of how potentially multiple plugins depend on a single shared resource, should be - * handled in this module. - * - * The implementation uses an object as a hash table, with "leaves" of the table tracking - * reference counts. - */ - -var path = require('path'); -var et = require('elementtree'); -var ConfigKeeper = require('./ConfigKeeper'); -var CordovaLogger = require('../CordovaLogger'); - -var mungeutil = require('./munge-util'); -var xml_helpers = require('../util/xml-helpers'); - -exports.PlatformMunger = PlatformMunger; - -exports.process = function (plugins_dir, project_dir, platform, platformJson, pluginInfoProvider) { - var munger = new PlatformMunger(platform, project_dir, platformJson, pluginInfoProvider); - munger.process(plugins_dir); - munger.save_all(); -}; - -/****************************************************************************** -* PlatformMunger class -* -* Can deal with config file of a single project. -* Parsed config files are cached in a ConfigKeeper object. -******************************************************************************/ -function PlatformMunger (platform, project_dir, platformJson, pluginInfoProvider) { - this.platform = platform; - this.project_dir = project_dir; - this.config_keeper = new ConfigKeeper(project_dir); - this.platformJson = platformJson; - this.pluginInfoProvider = pluginInfoProvider; -} - -// Write out all unsaved files. -PlatformMunger.prototype.save_all = PlatformMunger_save_all; -function PlatformMunger_save_all () { - this.config_keeper.save_all(); - this.platformJson.save(); -} - -// Apply a munge object to a single config file. -// The remove parameter tells whether to add the change or remove it. -PlatformMunger.prototype.apply_file_munge = PlatformMunger_apply_file_munge; -function PlatformMunger_apply_file_munge (file, munge, remove) { - var self = this; - - for (var selector in munge.parents) { - for (var xml_child in munge.parents[selector]) { - // this xml child is new, graft it (only if config file exists) - var config_file = self.config_keeper.get(self.project_dir, self.platform, file); - if (config_file.exists) { - if (remove) config_file.prune_child(selector, munge.parents[selector][xml_child]); - else config_file.graft_child(selector, munge.parents[selector][xml_child]); - } - } - } -} - -PlatformMunger.prototype.remove_plugin_changes = remove_plugin_changes; -function remove_plugin_changes (pluginInfo, is_top_level) { - var self = this; - var platform_config = self.platformJson.root; - var plugin_vars = is_top_level ? - platform_config.installed_plugins[pluginInfo.id] : - platform_config.dependent_plugins[pluginInfo.id]; - var edit_config_changes = null; - if (pluginInfo.getEditConfigs) { - edit_config_changes = pluginInfo.getEditConfigs(self.platform); - } - - // get config munge, aka how did this plugin change various config files - var config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars, edit_config_changes); - // global munge looks at all plugins' changes to config files - var global_munge = platform_config.config_munge; - var munge = mungeutil.decrement_munge(global_munge, config_munge); - - for (var file in munge.files) { - self.apply_file_munge(file, munge.files[file], /* remove = */ true); - } - - // Remove from installed_plugins - self.platformJson.removePlugin(pluginInfo.id, is_top_level); - return self; -} - -PlatformMunger.prototype.add_plugin_changes = add_plugin_changes; -function add_plugin_changes (pluginInfo, plugin_vars, is_top_level, should_increment, plugin_force) { - var self = this; - var platform_config = self.platformJson.root; - - var edit_config_changes = null; - if (pluginInfo.getEditConfigs) { - edit_config_changes = pluginInfo.getEditConfigs(self.platform); - } - - var config_munge; - - if (!edit_config_changes || edit_config_changes.length === 0) { - // get config munge, aka how should this plugin change various config files - config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars); - } else { - var isConflictingInfo = is_conflicting(edit_config_changes, platform_config.config_munge, self, plugin_force); - - if (isConflictingInfo.conflictWithConfigxml) { - throw new Error(pluginInfo.id + - ' cannot be added. changes in this plugin conflicts with changes in config.xml. Conflicts must be resolved before plugin can be added.'); - } - if (plugin_force) { - CordovaLogger.get().log(CordovaLogger.WARN, '--force is used. edit-config will overwrite conflicts if any. Conflicting plugins may not work as expected.'); - - // remove conflicting munges - var conflict_munge = mungeutil.decrement_munge(platform_config.config_munge, isConflictingInfo.conflictingMunge); - for (var conflict_file in conflict_munge.files) { - self.apply_file_munge(conflict_file, conflict_munge.files[conflict_file], /* remove = */ true); - } - - // force add new munges - config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars, edit_config_changes); - } else if (isConflictingInfo.conflictFound) { - throw new Error('There was a conflict trying to modify attributes with in plugin ' + pluginInfo.id + - '. The conflicting plugin, ' + isConflictingInfo.conflictingPlugin + ', already modified the same attributes. The conflict must be resolved before ' + - pluginInfo.id + ' can be added. You may use --force to add the plugin and overwrite the conflicting attributes.'); - } else { - // no conflicts, will handle edit-config - config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars, edit_config_changes); - } - } - - self = munge_helper(should_increment, self, platform_config, config_munge); - - // Move to installed/dependent_plugins - self.platformJson.addPlugin(pluginInfo.id, plugin_vars || {}, is_top_level); - return self; -} - -// Handle edit-config changes from config.xml -PlatformMunger.prototype.add_config_changes = add_config_changes; -function add_config_changes (config, should_increment) { - var self = this; - var platform_config = self.platformJson.root; - - var config_munge; - var changes = []; - - if (config.getEditConfigs) { - var edit_config_changes = config.getEditConfigs(self.platform); - if (edit_config_changes) { - changes = changes.concat(edit_config_changes); - } - } - - if (config.getConfigFiles) { - var config_files_changes = config.getConfigFiles(self.platform); - if (config_files_changes) { - changes = changes.concat(config_files_changes); - } - } - - if (changes && changes.length > 0) { - var isConflictingInfo = is_conflicting(changes, platform_config.config_munge, self, true /* always force overwrite other edit-config */); - if (isConflictingInfo.conflictFound) { - var conflict_munge; - var conflict_file; - - if (Object.keys(isConflictingInfo.configxmlMunge.files).length !== 0) { - // silently remove conflicting config.xml munges so new munges can be added - conflict_munge = mungeutil.decrement_munge(platform_config.config_munge, isConflictingInfo.configxmlMunge); - for (conflict_file in conflict_munge.files) { - self.apply_file_munge(conflict_file, conflict_munge.files[conflict_file], /* remove = */ true); - } - } - if (Object.keys(isConflictingInfo.conflictingMunge.files).length !== 0) { - CordovaLogger.get().log(CordovaLogger.WARN, 'Conflict found, edit-config changes from config.xml will overwrite plugin.xml changes'); - - // remove conflicting plugin.xml munges - conflict_munge = mungeutil.decrement_munge(platform_config.config_munge, isConflictingInfo.conflictingMunge); - for (conflict_file in conflict_munge.files) { - self.apply_file_munge(conflict_file, conflict_munge.files[conflict_file], /* remove = */ true); - } - } - } - } - - // Add config.xml edit-config and config-file munges - config_munge = self.generate_config_xml_munge(config, changes, 'config.xml'); - self = munge_helper(should_increment, self, platform_config, config_munge); - - // Move to installed/dependent_plugins - return self; -} - -function munge_helper (should_increment, self, platform_config, config_munge) { - // global munge looks at all changes to config files - - // TODO: The should_increment param is only used by cordova-cli and is going away soon. - // If should_increment is set to false, avoid modifying the global_munge (use clone) - // and apply the entire config_munge because it's already a proper subset of the global_munge. - var munge, global_munge; - if (should_increment) { - global_munge = platform_config.config_munge; - munge = mungeutil.increment_munge(global_munge, config_munge); - } else { - global_munge = mungeutil.clone_munge(platform_config.config_munge); - munge = config_munge; - } - - for (var file in munge.files) { - self.apply_file_munge(file, munge.files[file]); - } - - return self; -} - -// Load the global munge from platform json and apply all of it. -// Used by cordova prepare to re-generate some config file from platform -// defaults and the global munge. -PlatformMunger.prototype.reapply_global_munge = reapply_global_munge; -function reapply_global_munge () { - var self = this; - - var platform_config = self.platformJson.root; - var global_munge = platform_config.config_munge; - for (var file in global_munge.files) { - self.apply_file_munge(file, global_munge.files[file]); - } - - return self; -} - -// generate_plugin_config_munge -// Generate the munge object from config.xml -PlatformMunger.prototype.generate_config_xml_munge = generate_config_xml_munge; -function generate_config_xml_munge (config, config_changes, type) { - var munge = { files: {} }; - var id; - - if (!config_changes) { - return munge; - } - - if (type === 'config.xml') { - id = type; - } else { - id = config.id; - } - - config_changes.forEach(function (change) { - change.xmls.forEach(function (xml) { - // 1. stringify each xml - var stringified = (new et.ElementTree(xml)).write({xml_declaration: false}); - // 2. add into munge - if (change.mode) { - mungeutil.deep_add(munge, change.file, change.target, { xml: stringified, count: 1, mode: change.mode, id: id }); - } else { - mungeutil.deep_add(munge, change.target, change.parent, { xml: stringified, count: 1, after: change.after }); - } - }); - }); - return munge; -} - -// generate_plugin_config_munge -// Generate the munge object from plugin.xml + vars -PlatformMunger.prototype.generate_plugin_config_munge = generate_plugin_config_munge; -function generate_plugin_config_munge (pluginInfo, vars, edit_config_changes) { - var self = this; - - vars = vars || {}; - var munge = { files: {} }; - var changes = pluginInfo.getConfigFiles(self.platform); - - if (edit_config_changes) { - Array.prototype.push.apply(changes, edit_config_changes); - } - - changes.forEach(function (change) { - change.xmls.forEach(function (xml) { - // 1. stringify each xml - var stringified = (new et.ElementTree(xml)).write({xml_declaration: false}); - // interp vars - if (vars) { - Object.keys(vars).forEach(function (key) { - var regExp = new RegExp('\\$' + key, 'g'); - stringified = stringified.replace(regExp, vars[key]); - }); - } - // 2. add into munge - if (change.mode) { - if (change.mode !== 'remove') { - mungeutil.deep_add(munge, change.file, change.target, { xml: stringified, count: 1, mode: change.mode, plugin: pluginInfo.id }); - } - } else { - mungeutil.deep_add(munge, change.target, change.parent, { xml: stringified, count: 1, after: change.after }); - } - }); - }); - return munge; -} - -function is_conflicting (editchanges, config_munge, self, force) { - var files = config_munge.files; - var conflictFound = false; - var conflictWithConfigxml = false; - var conflictingMunge = { files: {} }; - var configxmlMunge = { files: {} }; - var conflictingParent; - var conflictingPlugin; - - editchanges.forEach(function (editchange) { - if (files[editchange.file]) { - var parents = files[editchange.file].parents; - var target = parents[editchange.target]; - - // Check if the edit target will resolve to an existing target - if (!target || target.length === 0) { - var file_xml = self.config_keeper.get(self.project_dir, self.platform, editchange.file).data; - var resolveEditTarget = xml_helpers.resolveParent(file_xml, editchange.target); - var resolveTarget; - - if (resolveEditTarget) { - for (var parent in parents) { - resolveTarget = xml_helpers.resolveParent(file_xml, parent); - if (resolveEditTarget === resolveTarget) { - conflictingParent = parent; - target = parents[parent]; - break; - } - } - } - } else { - conflictingParent = editchange.target; - } - - if (target && target.length !== 0) { - // conflict has been found - conflictFound = true; - - if (editchange.id === 'config.xml') { - if (target[0].id === 'config.xml') { - // Keep track of config.xml/config.xml edit-config conflicts - mungeutil.deep_add(configxmlMunge, editchange.file, conflictingParent, target[0]); - } else { - // Keep track of config.xml x plugin.xml edit-config conflicts - mungeutil.deep_add(conflictingMunge, editchange.file, conflictingParent, target[0]); - } - } else { - if (target[0].id === 'config.xml') { - // plugin.xml cannot overwrite config.xml changes even if --force is used - conflictWithConfigxml = true; - return; - } - - if (force) { - // Need to find all conflicts when --force is used, track conflicting munges - mungeutil.deep_add(conflictingMunge, editchange.file, conflictingParent, target[0]); - } else { - // plugin cannot overwrite other plugin changes without --force - conflictingPlugin = target[0].plugin; - - } - } - } - } - }); - - return {conflictFound: conflictFound, - conflictingPlugin: conflictingPlugin, - conflictingMunge: conflictingMunge, - configxmlMunge: configxmlMunge, - conflictWithConfigxml: conflictWithConfigxml}; -} - -// Go over the prepare queue and apply the config munges for each plugin -// that has been (un)installed. -PlatformMunger.prototype.process = PlatformMunger_process; -function PlatformMunger_process (plugins_dir) { - var self = this; - var platform_config = self.platformJson.root; - - // Uninstallation first - platform_config.prepare_queue.uninstalled.forEach(function (u) { - var pluginInfo = self.pluginInfoProvider.get(path.join(plugins_dir, u.plugin)); - self.remove_plugin_changes(pluginInfo, u.topLevel); - }); - - // Now handle installation - platform_config.prepare_queue.installed.forEach(function (u) { - var pluginInfo = self.pluginInfoProvider.get(path.join(plugins_dir, u.plugin)); - self.add_plugin_changes(pluginInfo, u.vars, u.topLevel, true, u.force); - }); - - // Empty out installed/ uninstalled queues. - platform_config.prepare_queue.uninstalled = []; - platform_config.prepare_queue.installed = []; -} -/** ** END of PlatformMunger ****/ diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js deleted file mode 100644 index a4a7331..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js +++ /dev/null @@ -1,242 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ - -/* eslint no-control-regex: 0 */ - -var fs = require('fs'); -var path = require('path'); - -var modules = {}; -var addProperty = require('../util/addProperty'); - -// Use delay loading to ensure plist and other node modules to not get loaded -// on Android, Windows platforms -addProperty(module, 'bplist', 'bplist-parser', modules); -addProperty(module, 'et', 'elementtree', modules); -addProperty(module, 'glob', 'glob', modules); -addProperty(module, 'plist', 'plist', modules); -addProperty(module, 'plist_helpers', '../util/plist-helpers', modules); -addProperty(module, 'xml_helpers', '../util/xml-helpers', modules); - -/****************************************************************************** -* ConfigFile class -* -* Can load and keep various types of config files. Provides some functionality -* specific to some file types such as grafting XML children. In most cases it -* should be instantiated by ConfigKeeper. -* -* For plugin.xml files use as: -* plugin_config = self.config_keeper.get(plugin_dir, '', 'plugin.xml'); -* -* TODO: Consider moving it out to a separate file and maybe partially with -* overrides in platform handlers. -******************************************************************************/ -function ConfigFile (project_dir, platform, file_tag) { - this.project_dir = project_dir; - this.platform = platform; - this.file_tag = file_tag; - this.is_changed = false; - - this.load(); -} - -// ConfigFile.load() -ConfigFile.prototype.load = ConfigFile_load; -function ConfigFile_load () { - var self = this; - - // config file may be in a place not exactly specified in the target - var filepath = self.filepath = resolveConfigFilePath(self.project_dir, self.platform, self.file_tag); - - if (!filepath || !fs.existsSync(filepath)) { - self.exists = false; - return; - } - self.exists = true; - self.mtime = fs.statSync(self.filepath).mtime; - - var ext = path.extname(filepath); - // Windows8 uses an appxmanifest, and wp8 will likely use - // the same in a future release - if (ext === '.xml' || ext === '.appxmanifest') { - self.type = 'xml'; - self.data = modules.xml_helpers.parseElementtreeSync(filepath); - } else { - // plist file - self.type = 'plist'; - // TODO: isBinaryPlist() reads the file and then parse re-reads it again. - // We always write out text plist, not binary. - // Do we still need to support binary plist? - // If yes, use plist.parseStringSync() and read the file once. - self.data = isBinaryPlist(filepath) ? - modules.bplist.parseBuffer(fs.readFileSync(filepath)) : - modules.plist.parse(fs.readFileSync(filepath, 'utf8')); - } -} - -ConfigFile.prototype.save = function ConfigFile_save () { - var self = this; - if (self.type === 'xml') { - fs.writeFileSync(self.filepath, self.data.write({indent: 4}), 'utf-8'); - } else { - // plist - var regExp = new RegExp('[ \t\r\n]+?', 'g'); - fs.writeFileSync(self.filepath, modules.plist.build(self.data).replace(regExp, '')); - } - self.is_changed = false; -}; - -ConfigFile.prototype.graft_child = function ConfigFile_graft_child (selector, xml_child) { - var self = this; - var filepath = self.filepath; - var result; - if (self.type === 'xml') { - var xml_to_graft = [modules.et.XML(xml_child.xml)]; - switch (xml_child.mode) { - case 'merge': - result = modules.xml_helpers.graftXMLMerge(self.data, xml_to_graft, selector, xml_child); - break; - case 'overwrite': - result = modules.xml_helpers.graftXMLOverwrite(self.data, xml_to_graft, selector, xml_child); - break; - case 'remove': - result = modules.xml_helpers.pruneXMLRemove(self.data, selector, xml_to_graft); - break; - default: - result = modules.xml_helpers.graftXML(self.data, xml_to_graft, selector, xml_child.after); - } - if (!result) { - throw new Error('Unable to graft xml at selector "' + selector + '" from "' + filepath + '" during config install'); - } - } else { - // plist file - result = modules.plist_helpers.graftPLIST(self.data, xml_child.xml, selector); - if (!result) { - throw new Error('Unable to graft plist "' + filepath + '" during config install'); - } - } - self.is_changed = true; -}; - -ConfigFile.prototype.prune_child = function ConfigFile_prune_child (selector, xml_child) { - var self = this; - var filepath = self.filepath; - var result; - if (self.type === 'xml') { - var xml_to_graft = [modules.et.XML(xml_child.xml)]; - switch (xml_child.mode) { - case 'merge': - case 'overwrite': - result = modules.xml_helpers.pruneXMLRestore(self.data, selector, xml_child); - break; - case 'remove': - result = modules.xml_helpers.pruneXMLRemove(self.data, selector, xml_to_graft); - break; - default: - result = modules.xml_helpers.pruneXML(self.data, xml_to_graft, selector); - } - } else { - // plist file - result = modules.plist_helpers.prunePLIST(self.data, xml_child.xml, selector); - } - if (!result) { - var err_msg = 'Pruning at selector "' + selector + '" from "' + filepath + '" went bad.'; - throw new Error(err_msg); - } - self.is_changed = true; -}; - -// Some config-file target attributes are not qualified with a full leading directory, or contain wildcards. -// Resolve to a real path in this function. -// TODO: getIOSProjectname is slow because of glob, try to avoid calling it several times per project. -function resolveConfigFilePath (project_dir, platform, file) { - var filepath = path.join(project_dir, file); - var matches; - - if (file.indexOf('*') > -1) { - // handle wildcards in targets using glob. - matches = modules.glob.sync(path.join(project_dir, '**', file)); - if (matches.length) filepath = matches[0]; - - // [CB-5989] multiple Info.plist files may exist. default to $PROJECT_NAME-Info.plist - if (matches.length > 1 && file.indexOf('-Info.plist') > -1) { - var plistName = getIOSProjectname(project_dir) + '-Info.plist'; - for (var i = 0; i < matches.length; i++) { - if (matches[i].indexOf(plistName) > -1) { - filepath = matches[i]; - break; - } - } - } - return filepath; - } - - // special-case config.xml target that is just "config.xml". This should be resolved to the real location of the file. - // TODO: move the logic that contains the locations of config.xml from cordova CLI into plugman. - if (file === 'config.xml') { - if (platform === 'ubuntu') { - filepath = path.join(project_dir, 'config.xml'); - } else if (platform === 'ios') { - var iospath = getIOSProjectname(project_dir); - filepath = path.join(project_dir, iospath, 'config.xml'); - } else if (platform === 'android') { - filepath = path.join(project_dir, 'res', 'xml', 'config.xml'); - } else { - matches = modules.glob.sync(path.join(project_dir, '**', 'config.xml')); - if (matches.length) filepath = matches[0]; - } - return filepath; - } - - // XXX this checks for android studio projects - // only if none of the options above are satisfied does this get called - if (platform === 'android' && !fs.existsSync(filepath)) { - filepath = path.join(project_dir, 'app', 'src', 'main', 'res', 'xml', 'config.xml'); - } - - // None of the special cases matched, returning project_dir/file. - return filepath; -} - -// Find out the real name of an iOS project -// TODO: glob is slow, need a better way or caching, or avoid using more than once. -function getIOSProjectname (project_dir) { - var matches = modules.glob.sync(path.join(project_dir, '*.xcodeproj')); - var iospath; - if (matches.length === 1) { - iospath = path.basename(matches[0], '.xcodeproj'); - } else { - var msg; - if (matches.length === 0) { - msg = 'Does not appear to be an xcode project, no xcode project file in ' + project_dir; - } else { - msg = 'There are multiple *.xcodeproj dirs in ' + project_dir; - } - throw new Error(msg); - } - return iospath; -} - -// determine if a plist file is binary -function isBinaryPlist (filename) { - // I wish there was a synchronous way to read only the first 6 bytes of a - // file. This is wasteful :/ - var buf = '' + fs.readFileSync(filename, 'utf8'); - // binary plists start with a magic header, "bplist" - return buf.substring(0, 6) === 'bplist'; -} - -module.exports = ConfigFile; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigKeeper.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigKeeper.js deleted file mode 100644 index 0ef0435..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigKeeper.js +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ -/* jshint sub:true */ - -var path = require('path'); -var ConfigFile = require('./ConfigFile'); - -/****************************************************************************** -* ConfigKeeper class -* -* Used to load and store config files to avoid re-parsing and writing them out -* multiple times. -* -* The config files are referred to by a fake path constructed as -* project_dir/platform/file -* where file is the name used for the file in config munges. -******************************************************************************/ -function ConfigKeeper (project_dir, plugins_dir) { - this.project_dir = project_dir; - this.plugins_dir = plugins_dir; - this._cached = {}; -} - -ConfigKeeper.prototype.get = function ConfigKeeper_get (project_dir, platform, file) { - var self = this; - - // This fixes a bug with older plugins - when specifying config xml instead of res/xml/config.xml - // https://issues.apache.org/jira/browse/CB-6414 - if (file === 'config.xml' && platform === 'android') { - file = 'res/xml/config.xml'; - } - var fake_path = path.join(project_dir, platform, file); - - if (self._cached[fake_path]) { - return self._cached[fake_path]; - } - // File was not cached, need to load. - var config_file = new ConfigFile(project_dir, platform, file); - self._cached[fake_path] = config_file; - return config_file; -}; - -ConfigKeeper.prototype.save_all = function ConfigKeeper_save_all () { - var self = this; - Object.keys(self._cached).forEach(function (fake_path) { - var config_file = self._cached[fake_path]; - if (config_file.is_changed) config_file.save(); - }); -}; - -module.exports = ConfigKeeper; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/munge-util.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/munge-util.js deleted file mode 100644 index 62648d8..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/munge-util.js +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ -/* jshint sub:true */ - -var _ = require('underscore'); - -// add the count of [key1][key2]...[keyN] to obj -// return true if it didn't exist before -exports.deep_add = function deep_add (obj, keys /* or key1, key2 .... */) { - if (!Array.isArray(keys)) { - keys = Array.prototype.slice.call(arguments, 1); - } - - return exports.process_munge(obj, true/* createParents */, function (parentArray, k) { - var found = _.find(parentArray, function (element) { - return element.xml === k.xml; - }); - if (found) { - found.after = found.after || k.after; - found.count += k.count; - } else { - parentArray.push(k); - } - return !found; - }, keys); -}; - -// decrement the count of [key1][key2]...[keyN] from obj and remove if it reaches 0 -// return true if it was removed or not found -exports.deep_remove = function deep_remove (obj, keys /* or key1, key2 .... */) { - if (!Array.isArray(keys)) { - keys = Array.prototype.slice.call(arguments, 1); - } - - var result = exports.process_munge(obj, false/* createParents */, function (parentArray, k) { - var index = -1; - var found = _.find(parentArray, function (element) { - index++; - return element.xml === k.xml; - }); - if (found) { - if (parentArray[index].oldAttrib) { - k.oldAttrib = _.extend({}, parentArray[index].oldAttrib); - } - found.count -= k.count; - if (found.count > 0) { - return false; - } else { - parentArray.splice(index, 1); - } - } - return undefined; - }, keys); - - return typeof result === 'undefined' ? true : result; -}; - -// search for [key1][key2]...[keyN] -// return the object or undefined if not found -exports.deep_find = function deep_find (obj, keys /* or key1, key2 .... */) { - if (!Array.isArray(keys)) { - keys = Array.prototype.slice.call(arguments, 1); - } - - return exports.process_munge(obj, false/* createParents? */, function (parentArray, k) { - return _.find(parentArray, function (element) { - return element.xml === (k.xml || k); - }); - }, keys); -}; - -// Execute func passing it the parent array and the xmlChild key. -// When createParents is true, add the file and parent items they are missing -// When createParents is false, stop and return undefined if the file and/or parent items are missing - -exports.process_munge = function process_munge (obj, createParents, func, keys /* or key1, key2 .... */) { - if (!Array.isArray(keys)) { - keys = Array.prototype.slice.call(arguments, 1); - } - var k = keys[0]; - if (keys.length === 1) { - return func(obj, k); - } else if (keys.length === 2) { - if (!obj.parents[k] && !createParents) { - return undefined; - } - obj.parents[k] = obj.parents[k] || []; - return exports.process_munge(obj.parents[k], createParents, func, keys.slice(1)); - } else if (keys.length === 3) { - if (!obj.files[k] && !createParents) { - return undefined; - } - obj.files[k] = obj.files[k] || { parents: {} }; - return exports.process_munge(obj.files[k], createParents, func, keys.slice(1)); - } else { - throw new Error('Invalid key format. Must contain at most 3 elements (file, parent, xmlChild).'); - } -}; - -// All values from munge are added to base as -// base[file][selector][child] += munge[file][selector][child] -// Returns a munge object containing values that exist in munge -// but not in base. -exports.increment_munge = function increment_munge (base, munge) { - var diff = { files: {} }; - - for (var file in munge.files) { - for (var selector in munge.files[file].parents) { - for (var xml_child in munge.files[file].parents[selector]) { - var val = munge.files[file].parents[selector][xml_child]; - // if node not in base, add it to diff and base - // else increment it's value in base without adding to diff - var newlyAdded = exports.deep_add(base, [file, selector, val]); - if (newlyAdded) { - exports.deep_add(diff, file, selector, val); - } - } - } - } - return diff; -}; - -// Update the base munge object as -// base[file][selector][child] -= munge[file][selector][child] -// nodes that reached zero value are removed from base and added to the returned munge -// object. -exports.decrement_munge = function decrement_munge (base, munge) { - var zeroed = { files: {} }; - - for (var file in munge.files) { - for (var selector in munge.files[file].parents) { - for (var xml_child in munge.files[file].parents[selector]) { - var val = munge.files[file].parents[selector][xml_child]; - // if node not in base, add it to diff and base - // else increment it's value in base without adding to diff - var removed = exports.deep_remove(base, [file, selector, val]); - if (removed) { - exports.deep_add(zeroed, file, selector, val); - } - } - } - } - return zeroed; -}; - -// For better readability where used -exports.clone_munge = function clone_munge (munge) { - return exports.increment_munge({}, munge); -}; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/ConfigParser.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/ConfigParser.js deleted file mode 100644 index 9c3943e..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/ConfigParser.js +++ /dev/null @@ -1,615 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -var et = require('elementtree'); -var xml = require('../util/xml-helpers'); -var CordovaError = require('../CordovaError/CordovaError'); -var fs = require('fs'); -var events = require('../events'); - -/** Wraps a config.xml file */ -function ConfigParser (path) { - this.path = path; - try { - this.doc = xml.parseElementtreeSync(path); - this.cdvNamespacePrefix = getCordovaNamespacePrefix(this.doc); - et.register_namespace(this.cdvNamespacePrefix, 'http://cordova.apache.org/ns/1.0'); - } catch (e) { - console.error('Parsing ' + path + ' failed'); - throw e; - } - var r = this.doc.getroot(); - if (r.tag !== 'widget') { - throw new CordovaError(path + ' has incorrect root node name (expected "widget", was "' + r.tag + '")'); - } -} - -function getNodeTextSafe (el) { - return el && el.text && el.text.trim(); -} - -function findOrCreate (doc, name) { - var ret = doc.find(name); - if (!ret) { - ret = new et.Element(name); - doc.getroot().append(ret); - } - return ret; -} - -function getCordovaNamespacePrefix (doc) { - var rootAtribs = Object.getOwnPropertyNames(doc.getroot().attrib); - var prefix = 'cdv'; - for (var j = 0; j < rootAtribs.length; j++) { - if (rootAtribs[j].indexOf('xmlns:') === 0 && - doc.getroot().attrib[rootAtribs[j]] === 'http://cordova.apache.org/ns/1.0') { - var strings = rootAtribs[j].split(':'); - prefix = strings[1]; - break; - } - } - return prefix; -} - -/** - * Finds the value of an element's attribute - * @param {String} attributeName Name of the attribute to search for - * @param {Array} elems An array of ElementTree nodes - * @return {String} - */ -function findElementAttributeValue (attributeName, elems) { - - elems = Array.isArray(elems) ? elems : [ elems ]; - - var value = elems.filter(function (elem) { - return elem.attrib.name.toLowerCase() === attributeName.toLowerCase(); - }).map(function (filteredElems) { - return filteredElems.attrib.value; - }).pop(); - - return value || ''; -} - -ConfigParser.prototype = { - getAttribute: function (attr) { - return this.doc.getroot().attrib[attr]; - }, - - packageName: function (id) { - return this.getAttribute('id'); - }, - setPackageName: function (id) { - this.doc.getroot().attrib['id'] = id; - }, - android_packageName: function () { - return this.getAttribute('android-packageName'); - }, - android_activityName: function () { - return this.getAttribute('android-activityName'); - }, - ios_CFBundleIdentifier: function () { - return this.getAttribute('ios-CFBundleIdentifier'); - }, - name: function () { - return getNodeTextSafe(this.doc.find('name')); - }, - setName: function (name) { - var el = findOrCreate(this.doc, 'name'); - el.text = name; - }, - shortName: function () { - return this.doc.find('name').attrib['short'] || this.name(); - }, - setShortName: function (shortname) { - var el = findOrCreate(this.doc, 'name'); - if (!el.text) { - el.text = shortname; - } - el.attrib['short'] = shortname; - }, - description: function () { - return getNodeTextSafe(this.doc.find('description')); - }, - setDescription: function (text) { - var el = findOrCreate(this.doc, 'description'); - el.text = text; - }, - version: function () { - return this.getAttribute('version'); - }, - windows_packageVersion: function () { - return this.getAttribute('windows-packageVersion'); - }, - android_versionCode: function () { - return this.getAttribute('android-versionCode'); - }, - ios_CFBundleVersion: function () { - return this.getAttribute('ios-CFBundleVersion'); - }, - setVersion: function (value) { - this.doc.getroot().attrib['version'] = value; - }, - author: function () { - return getNodeTextSafe(this.doc.find('author')); - }, - getGlobalPreference: function (name) { - return findElementAttributeValue(name, this.doc.findall('preference')); - }, - setGlobalPreference: function (name, value) { - var pref = this.doc.find('preference[@name="' + name + '"]'); - if (!pref) { - pref = new et.Element('preference'); - pref.attrib.name = name; - this.doc.getroot().append(pref); - } - pref.attrib.value = value; - }, - getPlatformPreference: function (name, platform) { - return findElementAttributeValue(name, this.doc.findall('platform[@name=\'' + platform + '\']/preference')); - }, - getPreference: function (name, platform) { - - var platformPreference = ''; - - if (platform) { - platformPreference = this.getPlatformPreference(name, platform); - } - - return platformPreference || this.getGlobalPreference(name); - - }, - /** - * Returns all resources for the platform specified. - * @param {String} platform The platform. - * @param {string} resourceName Type of static resources to return. - * "icon" and "splash" currently supported. - * @return {Array} Resources for the platform specified. - */ - getStaticResources: function (platform, resourceName) { - var ret = []; - var staticResources = []; - if (platform) { // platform specific icons - this.doc.findall('platform[@name=\'' + platform + '\']/' + resourceName).forEach(function (elt) { - elt.platform = platform; // mark as platform specific resource - staticResources.push(elt); - }); - } - // root level resources - staticResources = staticResources.concat(this.doc.findall(resourceName)); - // parse resource elements - var that = this; - staticResources.forEach(function (elt) { - var res = {}; - res.src = elt.attrib.src; - res.target = elt.attrib.target || undefined; - res.density = elt.attrib['density'] || elt.attrib[that.cdvNamespacePrefix + ':density'] || elt.attrib['gap:density']; - res.platform = elt.platform || null; // null means icon represents default icon (shared between platforms) - res.width = +elt.attrib.width || undefined; - res.height = +elt.attrib.height || undefined; - - // default icon - if (!res.width && !res.height && !res.density) { - ret.defaultResource = res; - } - ret.push(res); - }); - - /** - * Returns resource with specified width and/or height. - * @param {number} width Width of resource. - * @param {number} height Height of resource. - * @return {Resource} Resource object or null if not found. - */ - ret.getBySize = function (width, height) { - return ret.filter(function (res) { - if (!res.width && !res.height) { - return false; - } - return ((!res.width || (width === res.width)) && - (!res.height || (height === res.height))); - })[0] || null; - }; - - /** - * Returns resource with specified density. - * @param {string} density Density of resource. - * @return {Resource} Resource object or null if not found. - */ - ret.getByDensity = function (density) { - return ret.filter(function (res) { - return res.density === density; - })[0] || null; - }; - - /** Returns default icons */ - ret.getDefault = function () { - return ret.defaultResource; - }; - - return ret; - }, - - /** - * Returns all icons for specific platform. - * @param {string} platform Platform name - * @return {Resource[]} Array of icon objects. - */ - getIcons: function (platform) { - return this.getStaticResources(platform, 'icon'); - }, - - /** - * Returns all splash images for specific platform. - * @param {string} platform Platform name - * @return {Resource[]} Array of Splash objects. - */ - getSplashScreens: function (platform) { - return this.getStaticResources(platform, 'splash'); - }, - - /** - * Returns all resource-files for a specific platform. - * @param {string} platform Platform name - * @param {boolean} includeGlobal Whether to return resource-files at the - * root level. - * @return {Resource[]} Array of resource file objects. - */ - getFileResources: function (platform, includeGlobal) { - var fileResources = []; - - if (platform) { // platform specific resources - fileResources = this.doc.findall('platform[@name=\'' + platform + '\']/resource-file').map(function (tag) { - return { - platform: platform, - src: tag.attrib.src, - target: tag.attrib.target, - versions: tag.attrib.versions, - deviceTarget: tag.attrib['device-target'], - arch: tag.attrib.arch - }; - }); - } - - if (includeGlobal) { - this.doc.findall('resource-file').forEach(function (tag) { - fileResources.push({ - platform: platform || null, - src: tag.attrib.src, - target: tag.attrib.target, - versions: tag.attrib.versions, - deviceTarget: tag.attrib['device-target'], - arch: tag.attrib.arch - }); - }); - } - - return fileResources; - }, - - /** - * Returns all hook scripts for the hook type specified. - * @param {String} hook The hook type. - * @param {Array} platforms Platforms to look for scripts into (root scripts will be included as well). - * @return {Array} Script elements. - */ - getHookScripts: function (hook, platforms) { - var self = this; - var scriptElements = self.doc.findall('./hook'); - - if (platforms) { - platforms.forEach(function (platform) { - scriptElements = scriptElements.concat(self.doc.findall('./platform[@name="' + platform + '"]/hook')); - }); - } - - function filterScriptByHookType (el) { - return el.attrib.src && el.attrib.type && el.attrib.type.toLowerCase() === hook; - } - - return scriptElements.filter(filterScriptByHookType); - }, - /** - * Returns a list of plugin (IDs). - * - * This function also returns any plugin's that - * were defined using the legacy tags. - * @return {string[]} Array of plugin IDs - */ - getPluginIdList: function () { - var plugins = this.doc.findall('plugin'); - var result = plugins.map(function (plugin) { - return plugin.attrib.name; - }); - var features = this.doc.findall('feature'); - features.forEach(function (element) { - var idTag = element.find('./param[@name="id"]'); - if (idTag) { - result.push(idTag.attrib.value); - } - }); - return result; - }, - getPlugins: function () { - return this.getPluginIdList().map(function (pluginId) { - return this.getPlugin(pluginId); - }, this); - }, - /** - * Adds a plugin element. Does not check for duplicates. - * @name addPlugin - * @function - * @param {object} attributes name and spec are supported - * @param {Array|object} variables name, value or arbitary object - */ - addPlugin: function (attributes, variables) { - if (!attributes && !attributes.name) return; - var el = new et.Element('plugin'); - el.attrib.name = attributes.name; - if (attributes.spec) { - el.attrib.spec = attributes.spec; - } - - // support arbitrary object as variables source - if (variables && typeof variables === 'object' && !Array.isArray(variables)) { - variables = Object.keys(variables) - .map(function (variableName) { - return {name: variableName, value: variables[variableName]}; - }); - } - - if (variables) { - variables.forEach(function (variable) { - el.append(new et.Element('variable', { name: variable.name, value: variable.value })); - }); - } - this.doc.getroot().append(el); - }, - /** - * Retrives the plugin with the given id or null if not found. - * - * This function also returns any plugin's that - * were defined using the legacy tags. - * @name getPlugin - * @function - * @param {String} id - * @returns {object} plugin including any variables - */ - getPlugin: function (id) { - if (!id) { - return undefined; - } - var pluginElement = this.doc.find('./plugin/[@name="' + id + '"]'); - if (pluginElement === null) { - var legacyFeature = this.doc.find('./feature/param[@name="id"][@value="' + id + '"]/..'); - if (legacyFeature) { - events.emit('log', 'Found deprecated feature entry for ' + id + ' in config.xml.'); - return featureToPlugin(legacyFeature); - } - return undefined; - } - var plugin = {}; - - plugin.name = pluginElement.attrib.name; - plugin.spec = pluginElement.attrib.spec || pluginElement.attrib.src || pluginElement.attrib.version; - plugin.variables = {}; - var variableElements = pluginElement.findall('variable'); - variableElements.forEach(function (varElement) { - var name = varElement.attrib.name; - var value = varElement.attrib.value; - if (name) { - plugin.variables[name] = value; - } - }); - return plugin; - }, - /** - * Remove the plugin entry with give name (id). - * - * This function also operates on any plugin's that - * were defined using the legacy tags. - * @name removePlugin - * @function - * @param id name of the plugin - */ - removePlugin: function (id) { - if (id) { - var plugins = this.doc.findall('./plugin/[@name="' + id + '"]') - .concat(this.doc.findall('./feature/param[@name="id"][@value="' + id + '"]/..')); - var children = this.doc.getroot().getchildren(); - plugins.forEach(function (plugin) { - var idx = children.indexOf(plugin); - if (idx > -1) { - children.splice(idx, 1); - } - }); - } - }, - - // Add any element to the root - addElement: function (name, attributes) { - var el = et.Element(name); - for (var a in attributes) { - el.attrib[a] = attributes[a]; - } - this.doc.getroot().append(el); - }, - - /** - * Adds an engine. Does not check for duplicates. - * @param {String} name the engine name - * @param {String} spec engine source location or version (optional) - */ - addEngine: function (name, spec) { - if (!name) return; - var el = et.Element('engine'); - el.attrib.name = name; - if (spec) { - el.attrib.spec = spec; - } - this.doc.getroot().append(el); - }, - /** - * Removes all the engines with given name - * @param {String} name the engine name. - */ - removeEngine: function (name) { - var engines = this.doc.findall('./engine/[@name="' + name + '"]'); - for (var i = 0; i < engines.length; i++) { - var children = this.doc.getroot().getchildren(); - var idx = children.indexOf(engines[i]); - if (idx > -1) { - children.splice(idx, 1); - } - } - }, - getEngines: function () { - var engines = this.doc.findall('./engine'); - return engines.map(function (engine) { - var spec = engine.attrib.spec || engine.attrib.version; - return { - 'name': engine.attrib.name, - 'spec': spec || null - }; - }); - }, - /* Get all the access tags */ - getAccesses: function () { - var accesses = this.doc.findall('./access'); - return accesses.map(function (access) { - var minimum_tls_version = access.attrib['minimum-tls-version']; /* String */ - var requires_forward_secrecy = access.attrib['requires-forward-secrecy']; /* Boolean */ - var requires_certificate_transparency = access.attrib['requires-certificate-transparency']; /* Boolean */ - var allows_arbitrary_loads_in_web_content = access.attrib['allows-arbitrary-loads-in-web-content']; /* Boolean */ - var allows_arbitrary_loads_in_media = access.attrib['allows-arbitrary-loads-in-media']; /* Boolean (DEPRECATED) */ - var allows_arbitrary_loads_for_media = access.attrib['allows-arbitrary-loads-for-media']; /* Boolean */ - var allows_local_networking = access.attrib['allows-local-networking']; /* Boolean */ - - return { - 'origin': access.attrib.origin, - 'minimum_tls_version': minimum_tls_version, - 'requires_forward_secrecy': requires_forward_secrecy, - 'requires_certificate_transparency': requires_certificate_transparency, - 'allows_arbitrary_loads_in_web_content': allows_arbitrary_loads_in_web_content, - 'allows_arbitrary_loads_in_media': allows_arbitrary_loads_in_media, - 'allows_arbitrary_loads_for_media': allows_arbitrary_loads_for_media, - 'allows_local_networking': allows_local_networking - }; - }); - }, - /* Get all the allow-navigation tags */ - getAllowNavigations: function () { - var allow_navigations = this.doc.findall('./allow-navigation'); - return allow_navigations.map(function (allow_navigation) { - var minimum_tls_version = allow_navigation.attrib['minimum-tls-version']; /* String */ - var requires_forward_secrecy = allow_navigation.attrib['requires-forward-secrecy']; /* Boolean */ - var requires_certificate_transparency = allow_navigation.attrib['requires-certificate-transparency']; /* Boolean */ - - return { - 'href': allow_navigation.attrib.href, - 'minimum_tls_version': minimum_tls_version, - 'requires_forward_secrecy': requires_forward_secrecy, - 'requires_certificate_transparency': requires_certificate_transparency - }; - }); - }, - /* Get all the allow-intent tags */ - getAllowIntents: function () { - var allow_intents = this.doc.findall('./allow-intent'); - return allow_intents.map(function (allow_intent) { - return { - 'href': allow_intent.attrib.href - }; - }); - }, - /* Get all edit-config tags */ - getEditConfigs: function (platform) { - var platform_tag = this.doc.find('./platform[@name="' + platform + '"]'); - var platform_edit_configs = platform_tag ? platform_tag.findall('edit-config') : []; - - var edit_configs = this.doc.findall('edit-config').concat(platform_edit_configs); - - return edit_configs.map(function (tag) { - var editConfig = - { - file: tag.attrib['file'], - target: tag.attrib['target'], - mode: tag.attrib['mode'], - id: 'config.xml', - xmls: tag.getchildren() - }; - return editConfig; - }); - }, - - /* Get all config-file tags */ - getConfigFiles: function (platform) { - var platform_tag = this.doc.find('./platform[@name="' + platform + '"]'); - var platform_config_files = platform_tag ? platform_tag.findall('config-file') : []; - - var config_files = this.doc.findall('config-file').concat(platform_config_files); - - return config_files.map(function (tag) { - var configFile = - { - target: tag.attrib['target'], - parent: tag.attrib['parent'], - after: tag.attrib['after'], - xmls: tag.getchildren(), - // To support demuxing via versions - versions: tag.attrib['versions'], - deviceTarget: tag.attrib['device-target'] - }; - return configFile; - }); - }, - - write: function () { - fs.writeFileSync(this.path, this.doc.write({indent: 4}), 'utf-8'); - } -}; - -function featureToPlugin (featureElement) { - var plugin = {}; - plugin.variables = []; - var pluginVersion, - pluginSrc; - - var nodes = featureElement.findall('param'); - nodes.forEach(function (element) { - var n = element.attrib.name; - var v = element.attrib.value; - if (n === 'id') { - plugin.name = v; - } else if (n === 'version') { - pluginVersion = v; - } else if (n === 'url' || n === 'installPath') { - pluginSrc = v; - } else { - plugin.variables[n] = v; - } - }); - - var spec = pluginSrc || pluginVersion; - if (spec) { - plugin.spec = spec; - } - - return plugin; -} -module.exports = ConfigParser; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/README.md b/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/README.md deleted file mode 100644 index e5cd1bf..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/README.md +++ /dev/null @@ -1,86 +0,0 @@ - - -# Cordova-Lib - -## ConfigParser - -wraps a valid cordova config.xml file - -### Usage - -### Include the ConfigParser module in a projet - - var ConfigParser = require('cordova-lib').configparser; - -### Create a new ConfigParser - - var config = new ConfigParser('path/to/config/xml/'); - -### Utility Functions - -#### packageName(id) -returns document root 'id' attribute value -#### Usage - - config.packageName: function(id) - -/* - * sets document root element 'id' attribute to @id - * - * @id - new id value - * - */ -#### setPackageName(id) -set document root 'id' attribute to - function(id) { - this.doc.getroot().attrib['id'] = id; - }, - -### - name: function() { - return getNodeTextSafe(this.doc.find('name')); - }, - setName: function(name) { - var el = findOrCreate(this.doc, 'name'); - el.text = name; - }, - -### read the description element - - config.description() - - var text = "New and improved description of App" - setDescription(text) - -### version management - version() - android_versionCode() - ios_CFBundleVersion() - setVersion() - -### read author element - - config.author(); - -### read preference - - config.getPreference(name); diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaCheck.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaCheck.js deleted file mode 100644 index 28f629d..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaCheck.js +++ /dev/null @@ -1,76 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -var fs = require('fs'); -var path = require('path'); - -function isRootDir (dir) { - if (fs.existsSync(path.join(dir, 'www'))) { - if (fs.existsSync(path.join(dir, 'config.xml'))) { - // For sure is. - if (fs.existsSync(path.join(dir, 'platforms'))) { - return 2; - } else { - return 1; - } - } - // Might be (or may be under platforms/). - if (fs.existsSync(path.join(dir, 'www', 'config.xml'))) { - return 1; - } - } - return 0; -} - -// Runs up the directory chain looking for a .cordova directory. -// IF it is found we are in a Cordova project. -// Omit argument to use CWD. -function isCordova (dir) { - if (!dir) { - // Prefer PWD over cwd so that symlinked dirs within your PWD work correctly (CB-5687). - var pwd = process.env.PWD; - var cwd = process.cwd(); - if (pwd && pwd !== cwd && pwd !== 'undefined') { - return isCordova(pwd) || isCordova(cwd); - } - return isCordova(cwd); - } - var bestReturnValueSoFar = false; - for (var i = 0; i < 1000; ++i) { - var result = isRootDir(dir); - if (result === 2) { - return dir; - } - if (result === 1) { - bestReturnValueSoFar = dir; - } - var parentDir = path.normalize(path.join(dir, '..')); - // Detect fs root. - if (parentDir === dir) { - return bestReturnValueSoFar; - } - dir = parentDir; - } - console.error('Hit an unhandled case in CordovaCheck.isCordova'); - return false; -} - -module.exports = { - findProjectRoot: isCordova -}; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaError.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaError.js deleted file mode 100644 index 24de6af..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaError.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -/* eslint no-proto: 0 */ - -var EOL = require('os').EOL; - -/** - * A derived exception class. See usage example in cli.js - * Based on: - * stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript/8460753#8460753 - * @param {String} message Error message - * @param {Number} [code=0] Error code - * @param {CordovaExternalToolErrorContext} [context] External tool error context object - * @constructor - */ -function CordovaError (message, code, context) { - Error.captureStackTrace(this, this.constructor); - this.name = this.constructor.name; - this.message = message; - this.code = code || CordovaError.UNKNOWN_ERROR; - this.context = context; -} -CordovaError.prototype.__proto__ = Error.prototype; - -// TODO: Extend error codes according the projects specifics -CordovaError.UNKNOWN_ERROR = 0; -CordovaError.EXTERNAL_TOOL_ERROR = 1; - -/** - * Translates instance's error code number into error code name, e.g. 0 -> UNKNOWN_ERROR - * @returns {string} Error code string name - */ -CordovaError.prototype.getErrorCodeName = function () { - for (var key in CordovaError) { - if (CordovaError.hasOwnProperty(key)) { - if (CordovaError[key] === this.code) { - return key; - } - } - } -}; - -/** - * Converts CordovaError instance to string representation - * @param {Boolean} [isVerbose] Set up verbose mode. Used to provide more - * details including information about error code name and context - * @return {String} Stringified error representation - */ -CordovaError.prototype.toString = function (isVerbose) { - var message = ''; - var codePrefix = ''; - - if (this.code !== CordovaError.UNKNOWN_ERROR) { - codePrefix = 'code: ' + this.code + (isVerbose ? (' (' + this.getErrorCodeName() + ')') : '') + ' '; - } - - if (this.code === CordovaError.EXTERNAL_TOOL_ERROR) { - if (typeof this.context !== 'undefined') { - if (isVerbose) { - message = codePrefix + EOL + this.context.toString(isVerbose) + '\n failed with an error: ' + - this.message + EOL + 'Stack trace: ' + this.stack; - } else { - message = codePrefix + '\'' + this.context.toString(isVerbose) + '\' ' + this.message; - } - } else { - message = 'External tool failed with an error: ' + this.message; - } - } else { - message = isVerbose ? codePrefix + this.stack : codePrefix + this.message; - } - - return message; -}; - -module.exports = CordovaError; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaExternalToolErrorContext.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaExternalToolErrorContext.js deleted file mode 100644 index 30699b4..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaExternalToolErrorContext.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -/* jshint proto:true */ - -var path = require('path'); - -/** - * @param {String} cmd Command full path - * @param {String[]} args Command args - * @param {String} [cwd] Command working directory - * @constructor - */ -function CordovaExternalToolErrorContext (cmd, args, cwd) { - this.cmd = cmd; - // Helper field for readability - this.cmdShortName = path.basename(cmd); - this.args = args; - this.cwd = cwd; -} - -CordovaExternalToolErrorContext.prototype.toString = function (isVerbose) { - if (isVerbose) { - return 'External tool \'' + this.cmdShortName + '\'' + - '\nCommand full path: ' + this.cmd + '\nCommand args: ' + this.args + - (typeof this.cwd !== 'undefined' ? '\nCommand cwd: ' + this.cwd : ''); - } - - return this.cmdShortName; -}; - -module.exports = CordovaExternalToolErrorContext; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaLogger.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaLogger.js deleted file mode 100644 index ea6e9ce..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/CordovaLogger.js +++ /dev/null @@ -1,220 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -var ansi = require('ansi'); -var EventEmitter = require('events').EventEmitter; -var CordovaError = require('./CordovaError/CordovaError'); -var EOL = require('os').EOL; - -var INSTANCE; - -/** - * @class CordovaLogger - * - * Implements logging facility that anybody could use. Should not be - * instantiated directly, `CordovaLogger.get()` method should be used instead - * to acquire logger instance - */ -function CordovaLogger () { - this.levels = {}; - this.colors = {}; - this.stdout = process.stdout; - this.stderr = process.stderr; - - this.stdoutCursor = ansi(this.stdout); - this.stderrCursor = ansi(this.stderr); - - this.addLevel('verbose', 1000, 'grey'); - this.addLevel('normal', 2000); - this.addLevel('warn', 2000, 'yellow'); - this.addLevel('info', 3000, 'blue'); - this.addLevel('error', 5000, 'red'); - this.addLevel('results', 10000); - - this.setLevel('normal'); -} - -/** - * Static method to create new or acquire existing instance. - * - * @return {CordovaLogger} Logger instance - */ -CordovaLogger.get = function () { - return INSTANCE || (INSTANCE = new CordovaLogger()); -}; - -CordovaLogger.VERBOSE = 'verbose'; -CordovaLogger.NORMAL = 'normal'; -CordovaLogger.WARN = 'warn'; -CordovaLogger.INFO = 'info'; -CordovaLogger.ERROR = 'error'; -CordovaLogger.RESULTS = 'results'; - -/** - * Emits log message to process' stdout/stderr depending on message's severity - * and current log level. If severity is less than current logger's level, - * then the message is ignored. - * - * @param {String} logLevel The message's log level. The logger should have - * corresponding level added (via logger.addLevel), otherwise - * `CordovaLogger.NORMAL` level will be used. - * @param {String} message The message, that should be logged to process' - * stdio - * - * @return {CordovaLogger} Current instance, to allow calls chaining. - */ -CordovaLogger.prototype.log = function (logLevel, message) { - // if there is no such logLevel defined, or provided level has - // less severity than active level, then just ignore this call and return - if (!this.levels[logLevel] || this.levels[logLevel] < this.levels[this.logLevel]) { - // return instance to allow to chain calls - return this; - } - - var isVerbose = this.logLevel === 'verbose'; - var cursor = this.stdoutCursor; - - if (message instanceof Error || logLevel === CordovaLogger.ERROR) { - message = formatError(message, isVerbose); - cursor = this.stderrCursor; - } - - var color = this.colors[logLevel]; - if (color) { - cursor.bold().fg[color](); - } - - cursor.write(message).reset().write(EOL); - - return this; -}; - -/** - * Adds a new level to logger instance. This method also creates a shortcut - * method to log events with the level provided (i.e. after adding new level - * 'debug', the method `debug(message)`, equal to logger.log('debug', message), - * will be added to logger instance) - * - * @param {String} level A log level name. The levels with the following - * names added by default to every instance: 'verbose', 'normal', 'warn', - * 'info', 'error', 'results' - * @param {Number} severity A number that represents level's severity. - * @param {String} color A valid color name, that will be used to log - * messages with this level. Any CSS color code or RGB value is allowed - * (according to ansi documentation: - * https://github.com/TooTallNate/ansi.js#features) - * - * @return {CordovaLogger} Current instance, to allow calls chaining. - */ -CordovaLogger.prototype.addLevel = function (level, severity, color) { - - this.levels[level] = severity; - - if (color) { - this.colors[level] = color; - } - - // Define own method with corresponding name - if (!this[level]) { - this[level] = this.log.bind(this, level); - } - - return this; -}; - -/** - * Sets the current logger level to provided value. If logger doesn't have level - * with this name, `CordovaLogger.NORMAL` will be used. - * - * @param {String} logLevel Level name. The level with this name should be - * added to logger before. - * - * @return {CordovaLogger} Current instance, to allow calls chaining. - */ -CordovaLogger.prototype.setLevel = function (logLevel) { - this.logLevel = this.levels[logLevel] ? logLevel : CordovaLogger.NORMAL; - - return this; -}; - -/** - * Adjusts the current logger level according to the passed options. - * - * @param {Object|Array} opts An object or args array with options - * - * @return {CordovaLogger} Current instance, to allow calls chaining. - */ -CordovaLogger.prototype.adjustLevel = function (opts) { - if (opts.verbose || (Array.isArray(opts) && opts.indexOf('--verbose') !== -1)) { - this.setLevel('verbose'); - } else if (opts.silent || (Array.isArray(opts) && opts.indexOf('--silent') !== -1)) { - this.setLevel('error'); - } - - return this; -}; - -/** - * Attaches logger to EventEmitter instance provided. - * - * @param {EventEmitter} eventEmitter An EventEmitter instance to attach - * logger to. - * - * @return {CordovaLogger} Current instance, to allow calls chaining. - */ -CordovaLogger.prototype.subscribe = function (eventEmitter) { - - if (!(eventEmitter instanceof EventEmitter)) { throw new Error('Subscribe method only accepts an EventEmitter instance as argument'); } - - eventEmitter.on('verbose', this.verbose) - .on('log', this.normal) - .on('info', this.info) - .on('warn', this.warn) - .on('warning', this.warn) - // Set up event handlers for logging and results emitted as events. - .on('results', this.results); - - return this; -}; - -function formatError (error, isVerbose) { - var message = ''; - - if (error instanceof CordovaError) { - message = error.toString(isVerbose); - } else if (error instanceof Error) { - if (isVerbose) { - message = error.stack; - } else { - message = error.message; - } - } else { - // Plain text error message - message = error; - } - - if (typeof message === 'string' && message.toUpperCase().indexOf('ERROR:') !== 0) { - // Needed for backward compatibility with external tools - message = 'Error: ' + message; - } - - return message; -} - -module.exports = CordovaLogger; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/FileUpdater.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/FileUpdater.js deleted file mode 100644 index c4eeb97..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/FileUpdater.js +++ /dev/null @@ -1,415 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -'use strict'; - -var fs = require('fs'); -var path = require('path'); -var shell = require('shelljs'); -var minimatch = require('minimatch'); - -/** - * Logging callback used in the FileUpdater methods. - * @callback loggingCallback - * @param {string} message A message describing a single file update operation. - */ - -/** - * Updates a target file or directory with a source file or directory. (Directory updates are - * not recursive.) Stats for target and source items must be passed in. This is an internal - * helper function used by other methods in this module. - * - * @param {?string} sourcePath Source file or directory to be used to update the - * destination. If the source is null, then the destination is deleted if it exists. - * @param {?fs.Stats} sourceStats An instance of fs.Stats for the source path, or null if - * the source does not exist. - * @param {string} targetPath Required destination file or directory to be updated. If it does - * not exist, it will be created. - * @param {?fs.Stats} targetStats An instance of fs.Stats for the target path, or null if - * the target does not exist. - * @param {Object} [options] Optional additional parameters for the update. - * @param {string} [options.rootDir] Optional root directory (such as a project) to which target - * and source path parameters are relative; may be omitted if the paths are absolute. The - * rootDir is always omitted from any logged paths, to make the logs easier to read. - * @param {boolean} [options.all] If true, all files are copied regardless of last-modified times. - * Otherwise, a file is copied if the source's last-modified time is greather than or - * equal to the target's last-modified time, or if the file sizes are different. - * @param {loggingCallback} [log] Optional logging callback that takes a string message - * describing any file operations that are performed. - * @return {boolean} true if any changes were made, or false if the force flag is not set - * and everything was up to date - */ -function updatePathWithStats (sourcePath, sourceStats, targetPath, targetStats, options, log) { - var updated = false; - - var rootDir = (options && options.rootDir) || ''; - var copyAll = (options && options.all) || false; - - var targetFullPath = path.join(rootDir || '', targetPath); - - if (sourceStats) { - var sourceFullPath = path.join(rootDir || '', sourcePath); - - if (targetStats) { - // The target exists. But if the directory status doesn't match the source, delete it. - if (targetStats.isDirectory() && !sourceStats.isDirectory()) { - log('rmdir ' + targetPath + ' (source is a file)'); - shell.rm('-rf', targetFullPath); - targetStats = null; - updated = true; - } else if (!targetStats.isDirectory() && sourceStats.isDirectory()) { - log('delete ' + targetPath + ' (source is a directory)'); - shell.rm('-f', targetFullPath); - targetStats = null; - updated = true; - } - } - - if (!targetStats) { - if (sourceStats.isDirectory()) { - // The target directory does not exist, so it should be created. - log('mkdir ' + targetPath); - shell.mkdir('-p', targetFullPath); - updated = true; - } else if (sourceStats.isFile()) { - // The target file does not exist, so it should be copied from the source. - log('copy ' + sourcePath + ' ' + targetPath + (copyAll ? '' : ' (new file)')); - shell.cp('-f', sourceFullPath, targetFullPath); - updated = true; - } - } else if (sourceStats.isFile() && targetStats.isFile()) { - // The source and target paths both exist and are files. - if (copyAll) { - // The caller specified all files should be copied. - log('copy ' + sourcePath + ' ' + targetPath); - shell.cp('-f', sourceFullPath, targetFullPath); - updated = true; - } else { - // Copy if the source has been modified since it was copied to the target, or if - // the file sizes are different. (The latter catches most cases in which something - // was done to the file after copying.) Comparison is >= rather than > to allow - // for timestamps lacking sub-second precision in some filesystems. - if (sourceStats.mtime.getTime() >= targetStats.mtime.getTime() || - sourceStats.size !== targetStats.size) { - log('copy ' + sourcePath + ' ' + targetPath + ' (updated file)'); - shell.cp('-f', sourceFullPath, targetFullPath); - updated = true; - } - } - } - } else if (targetStats) { - // The target exists but the source is null, so the target should be deleted. - if (targetStats.isDirectory()) { - log('rmdir ' + targetPath + (copyAll ? '' : ' (no source)')); - shell.rm('-rf', targetFullPath); - } else { - log('delete ' + targetPath + (copyAll ? '' : ' (no source)')); - shell.rm('-f', targetFullPath); - } - updated = true; - } - - return updated; -} - -/** - * Helper for updatePath and updatePaths functions. Queries stats for source and target - * and ensures target directory exists before copying a file. - */ -function updatePathInternal (sourcePath, targetPath, options, log) { - var rootDir = (options && options.rootDir) || ''; - var targetFullPath = path.join(rootDir, targetPath); - var targetStats = fs.existsSync(targetFullPath) ? fs.statSync(targetFullPath) : null; - var sourceStats = null; - - if (sourcePath) { - // A non-null source path was specified. It should exist. - var sourceFullPath = path.join(rootDir, sourcePath); - if (!fs.existsSync(sourceFullPath)) { - throw new Error('Source path does not exist: ' + sourcePath); - } - - sourceStats = fs.statSync(sourceFullPath); - - // Create the target's parent directory if it doesn't exist. - var parentDir = path.dirname(targetFullPath); - if (!fs.existsSync(parentDir)) { - shell.mkdir('-p', parentDir); - } - } - - return updatePathWithStats(sourcePath, sourceStats, targetPath, targetStats, options, log); -} - -/** - * Updates a target file or directory with a source file or directory. (Directory updates are - * not recursive.) - * - * @param {?string} sourcePath Source file or directory to be used to update the - * destination. If the source is null, then the destination is deleted if it exists. - * @param {string} targetPath Required destination file or directory to be updated. If it does - * not exist, it will be created. - * @param {Object} [options] Optional additional parameters for the update. - * @param {string} [options.rootDir] Optional root directory (such as a project) to which target - * and source path parameters are relative; may be omitted if the paths are absolute. The - * rootDir is always omitted from any logged paths, to make the logs easier to read. - * @param {boolean} [options.all] If true, all files are copied regardless of last-modified times. - * Otherwise, a file is copied if the source's last-modified time is greather than or - * equal to the target's last-modified time, or if the file sizes are different. - * @param {loggingCallback} [log] Optional logging callback that takes a string message - * describing any file operations that are performed. - * @return {boolean} true if any changes were made, or false if the force flag is not set - * and everything was up to date - */ -function updatePath (sourcePath, targetPath, options, log) { - if (sourcePath !== null && typeof sourcePath !== 'string') { - throw new Error('A source path (or null) is required.'); - } - - if (!targetPath || typeof targetPath !== 'string') { - throw new Error('A target path is required.'); - } - - log = log || function (message) { }; - - return updatePathInternal(sourcePath, targetPath, options, log); -} - -/** - * Updates files and directories based on a mapping from target paths to source paths. Targets - * with null sources in the map are deleted. - * - * @param {Object} pathMap A dictionary mapping from target paths to source paths. - * @param {Object} [options] Optional additional parameters for the update. - * @param {string} [options.rootDir] Optional root directory (such as a project) to which target - * and source path parameters are relative; may be omitted if the paths are absolute. The - * rootDir is always omitted from any logged paths, to make the logs easier to read. - * @param {boolean} [options.all] If true, all files are copied regardless of last-modified times. - * Otherwise, a file is copied if the source's last-modified time is greather than or - * equal to the target's last-modified time, or if the file sizes are different. - * @param {loggingCallback} [log] Optional logging callback that takes a string message - * describing any file operations that are performed. - * @return {boolean} true if any changes were made, or false if the force flag is not set - * and everything was up to date - */ -function updatePaths (pathMap, options, log) { - if (!pathMap || typeof pathMap !== 'object' || Array.isArray(pathMap)) { - throw new Error('An object mapping from target paths to source paths is required.'); - } - - log = log || function (message) { }; - - var updated = false; - - // Iterate in sorted order to ensure directories are created before files under them. - Object.keys(pathMap).sort().forEach(function (targetPath) { - var sourcePath = pathMap[targetPath]; - updated = updatePathInternal(sourcePath, targetPath, options, log) || updated; - }); - - return updated; -} - -/** - * Updates a target directory with merged files and subdirectories from source directories. - * - * @param {string|string[]} sourceDirs Required source directory or array of source directories - * to be merged into the target. The directories are listed in order of precedence; files in - * directories later in the array supersede files in directories earlier in the array - * (regardless of timestamps). - * @param {string} targetDir Required destination directory to be updated. If it does not exist, - * it will be created. If it exists, newer files from source directories will be copied over, - * and files missing in the source directories will be deleted. - * @param {Object} [options] Optional additional parameters for the update. - * @param {string} [options.rootDir] Optional root directory (such as a project) to which target - * and source path parameters are relative; may be omitted if the paths are absolute. The - * rootDir is always omitted from any logged paths, to make the logs easier to read. - * @param {boolean} [options.all] If true, all files are copied regardless of last-modified times. - * Otherwise, a file is copied if the source's last-modified time is greather than or - * equal to the target's last-modified time, or if the file sizes are different. - * @param {string|string[]} [options.include] Optional glob string or array of glob strings that - * are tested against both target and source relative paths to determine if they are included - * in the merge-and-update. If unspecified, all items are included. - * @param {string|string[]} [options.exclude] Optional glob string or array of glob strings that - * are tested against both target and source relative paths to determine if they are excluded - * from the merge-and-update. Exclusions override inclusions. If unspecified, no items are - * excluded. - * @param {loggingCallback} [log] Optional logging callback that takes a string message - * describing any file operations that are performed. - * @return {boolean} true if any changes were made, or false if the force flag is not set - * and everything was up to date - */ -function mergeAndUpdateDir (sourceDirs, targetDir, options, log) { - if (sourceDirs && typeof sourceDirs === 'string') { - sourceDirs = [ sourceDirs ]; - } else if (!Array.isArray(sourceDirs)) { - throw new Error('A source directory path or array of paths is required.'); - } - - if (!targetDir || typeof targetDir !== 'string') { - throw new Error('A target directory path is required.'); - } - - log = log || function (message) { }; - - var rootDir = (options && options.rootDir) || ''; - - var include = (options && options.include) || [ '**' ]; - if (typeof include === 'string') { - include = [ include ]; - } else if (!Array.isArray(include)) { - throw new Error('Include parameter must be a glob string or array of glob strings.'); - } - - var exclude = (options && options.exclude) || []; - if (typeof exclude === 'string') { - exclude = [ exclude ]; - } else if (!Array.isArray(exclude)) { - throw new Error('Exclude parameter must be a glob string or array of glob strings.'); - } - - // Scan the files in each of the source directories. - var sourceMaps = sourceDirs.map(function (sourceDir) { - return path.join(rootDir, sourceDir); - }).map(function (sourcePath) { - if (!fs.existsSync(sourcePath)) { - throw new Error('Source directory does not exist: ' + sourcePath); - } - return mapDirectory(rootDir, path.relative(rootDir, sourcePath), include, exclude); - }); - - // Scan the files in the target directory, if it exists. - var targetMap = {}; - var targetFullPath = path.join(rootDir, targetDir); - if (fs.existsSync(targetFullPath)) { - targetMap = mapDirectory(rootDir, targetDir, include, exclude); - } - - var pathMap = mergePathMaps(sourceMaps, targetMap, targetDir); - - var updated = false; - - // Iterate in sorted order to ensure directories are created before files under them. - Object.keys(pathMap).sort().forEach(function (subPath) { - var entry = pathMap[subPath]; - updated = updatePathWithStats( - entry.sourcePath, - entry.sourceStats, - entry.targetPath, - entry.targetStats, - options, - log) || updated; - }); - - return updated; -} - -/** - * Creates a dictionary map of all files and directories under a path. - */ -function mapDirectory (rootDir, subDir, include, exclude) { - var dirMap = { '': { subDir: subDir, stats: fs.statSync(path.join(rootDir, subDir)) } }; - mapSubdirectory(rootDir, subDir, '', include, exclude, dirMap); - return dirMap; - - function mapSubdirectory (rootDir, subDir, relativeDir, include, exclude, dirMap) { - var itemMapped = false; - var items = fs.readdirSync(path.join(rootDir, subDir, relativeDir)); - - items.forEach(function (item) { - var relativePath = path.join(relativeDir, item); - if (!matchGlobArray(relativePath, exclude)) { - // Stats obtained here (required at least to know where to recurse in directories) - // are saved for later, where the modified times may also be used. This minimizes - // the number of file I/O operations performed. - var fullPath = path.join(rootDir, subDir, relativePath); - var stats = fs.statSync(fullPath); - - if (stats.isDirectory()) { - // Directories are included if either something under them is included or they - // match an include glob. - if (mapSubdirectory(rootDir, subDir, relativePath, include, exclude, dirMap) || - matchGlobArray(relativePath, include)) { - dirMap[relativePath] = { subDir: subDir, stats: stats }; - itemMapped = true; - } - } else if (stats.isFile()) { - // Files are included only if they match an include glob. - if (matchGlobArray(relativePath, include)) { - dirMap[relativePath] = { subDir: subDir, stats: stats }; - itemMapped = true; - } - } - } - }); - return itemMapped; - } - - function matchGlobArray (path, globs) { - return globs.some(function (elem) { - return minimatch(path, elem, {dot: true}); - }); - } -} - -/** - * Merges together multiple source maps and a target map into a single mapping from - * relative paths to objects with target and source paths and stats. - */ -function mergePathMaps (sourceMaps, targetMap, targetDir) { - // Merge multiple source maps together, along with target path info. - // Entries in later source maps override those in earlier source maps. - // Target stats will be filled in below for targets that exist. - var pathMap = {}; - sourceMaps.forEach(function (sourceMap) { - Object.keys(sourceMap).forEach(function (sourceSubPath) { - var sourceEntry = sourceMap[sourceSubPath]; - pathMap[sourceSubPath] = { - targetPath: path.join(targetDir, sourceSubPath), - targetStats: null, - sourcePath: path.join(sourceEntry.subDir, sourceSubPath), - sourceStats: sourceEntry.stats - }; - }); - }); - - // Fill in target stats for targets that exist, and create entries - // for targets that don't have any corresponding sources. - Object.keys(targetMap).forEach(function (subPath) { - var entry = pathMap[subPath]; - if (entry) { - entry.targetStats = targetMap[subPath].stats; - } else { - pathMap[subPath] = { - targetPath: path.join(targetDir, subPath), - targetStats: targetMap[subPath].stats, - sourcePath: null, - sourceStats: null - }; - } - }); - - return pathMap; -} - -module.exports = { - updatePath: updatePath, - updatePaths: updatePaths, - mergeAndUpdateDir: mergeAndUpdateDir -}; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/PlatformJson.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/PlatformJson.js deleted file mode 100644 index 7eaf1a2..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/PlatformJson.js +++ /dev/null @@ -1,277 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ - -var fs = require('fs'); -var path = require('path'); -var shelljs = require('shelljs'); -var mungeutil = require('./ConfigChanges/munge-util'); -var pluginMappernto = require('cordova-registry-mapper').newToOld; -var pluginMapperotn = require('cordova-registry-mapper').oldToNew; - -function PlatformJson (filePath, platform, root) { - this.filePath = filePath; - this.platform = platform; - this.root = fix_munge(root || {}); -} - -PlatformJson.load = function (plugins_dir, platform) { - var filePath = path.join(plugins_dir, platform + '.json'); - var root = null; - if (fs.existsSync(filePath)) { - root = JSON.parse(fs.readFileSync(filePath, 'utf-8')); - } - return new PlatformJson(filePath, platform, root); -}; - -PlatformJson.prototype.save = function () { - shelljs.mkdir('-p', path.dirname(this.filePath)); - fs.writeFileSync(this.filePath, JSON.stringify(this.root, null, 2), 'utf-8'); -}; - -/** - * Indicates whether the specified plugin is installed as a top-level (not as - * dependency to others) - * @method function - * @param {String} pluginId A plugin id to check for. - * @return {Boolean} true if plugin installed as top-level, otherwise false. - */ -PlatformJson.prototype.isPluginTopLevel = function (pluginId) { - var installedPlugins = this.root.installed_plugins; - return installedPlugins[pluginId] || - installedPlugins[pluginMappernto[pluginId]] || - installedPlugins[pluginMapperotn[pluginId]]; -}; - -/** - * Indicates whether the specified plugin is installed as a dependency to other - * plugin. - * @method function - * @param {String} pluginId A plugin id to check for. - * @return {Boolean} true if plugin installed as a dependency, otherwise false. - */ -PlatformJson.prototype.isPluginDependent = function (pluginId) { - var dependentPlugins = this.root.dependent_plugins; - return dependentPlugins[pluginId] || - dependentPlugins[pluginMappernto[pluginId]] || - dependentPlugins[pluginMapperotn[pluginId]]; -}; - -/** - * Indicates whether plugin is installed either as top-level or as dependency. - * @method function - * @param {String} pluginId A plugin id to check for. - * @return {Boolean} true if plugin installed, otherwise false. - */ -PlatformJson.prototype.isPluginInstalled = function (pluginId) { - return this.isPluginTopLevel(pluginId) || - this.isPluginDependent(pluginId); -}; - -PlatformJson.prototype.addPlugin = function (pluginId, variables, isTopLevel) { - var pluginsList = isTopLevel ? - this.root.installed_plugins : - this.root.dependent_plugins; - - pluginsList[pluginId] = variables; - - return this; -}; - -/** - * @chaining - * Generates and adds metadata for provided plugin into associated .json file - * - * @param {PluginInfo} pluginInfo A pluginInfo instance to add metadata from - * @returns {this} Current PlatformJson instance to allow calls chaining - */ -PlatformJson.prototype.addPluginMetadata = function (pluginInfo) { - - var installedModules = this.root.modules || []; - - var installedPaths = installedModules.map(function (installedModule) { - return installedModule.file; - }); - - var modulesToInstall = pluginInfo.getJsModules(this.platform) - .map(function (module) { - return new ModuleMetadata(pluginInfo.id, module); - }) - .filter(function (metadata) { - // Filter out modules which are already added to metadata - return installedPaths.indexOf(metadata.file) === -1; - }); - - this.root.modules = installedModules.concat(modulesToInstall); - - this.root.plugin_metadata = this.root.plugin_metadata || {}; - this.root.plugin_metadata[pluginInfo.id] = pluginInfo.version; - - return this; -}; - -PlatformJson.prototype.removePlugin = function (pluginId, isTopLevel) { - var pluginsList = isTopLevel ? - this.root.installed_plugins : - this.root.dependent_plugins; - - delete pluginsList[pluginId]; - - return this; -}; - -/** - * @chaining - * Removes metadata for provided plugin from associated file - * - * @param {PluginInfo} pluginInfo A PluginInfo instance to which modules' metadata - * we need to remove - * - * @returns {this} Current PlatformJson instance to allow calls chaining - */ -PlatformJson.prototype.removePluginMetadata = function (pluginInfo) { - var modulesToRemove = pluginInfo.getJsModules(this.platform) - .map(function (jsModule) { - return ['plugins', pluginInfo.id, jsModule.src].join('/'); - }); - - var installedModules = this.root.modules || []; - this.root.modules = installedModules - .filter(function (installedModule) { - // Leave only those metadatas which 'file' is not in removed modules - return (modulesToRemove.indexOf(installedModule.file) === -1); - }); - - if (this.root.plugin_metadata) { - delete this.root.plugin_metadata[pluginInfo.id]; - } - - return this; -}; - -PlatformJson.prototype.addInstalledPluginToPrepareQueue = function (pluginDirName, vars, is_top_level, force) { - this.root.prepare_queue.installed.push({'plugin': pluginDirName, 'vars': vars, 'topLevel': is_top_level, 'force': force}); -}; - -PlatformJson.prototype.addUninstalledPluginToPrepareQueue = function (pluginId, is_top_level) { - this.root.prepare_queue.uninstalled.push({'plugin': pluginId, 'id': pluginId, 'topLevel': is_top_level}); -}; - -/** - * Moves plugin, specified by id to top-level plugins. If plugin is top-level - * already, then does nothing. - * @method function - * @param {String} pluginId A plugin id to make top-level. - * @return {PlatformJson} PlatformJson instance. - */ -PlatformJson.prototype.makeTopLevel = function (pluginId) { - var plugin = this.root.dependent_plugins[pluginId]; - if (plugin) { - delete this.root.dependent_plugins[pluginId]; - this.root.installed_plugins[pluginId] = plugin; - } - return this; -}; - -/** - * Generates a metadata for all installed plugins and js modules. The resultant - * string is ready to be written to 'cordova_plugins.js' - * - * @returns {String} cordova_plugins.js contents - */ -PlatformJson.prototype.generateMetadata = function () { - return [ - 'cordova.define(\'cordova/plugin_list\', function(require, exports, module) {', - 'module.exports = ' + JSON.stringify(this.root.modules, null, 2) + ';', - 'module.exports.metadata = ', - '// TOP OF METADATA', - JSON.stringify(this.root.plugin_metadata, null, 2) + ';', - '// BOTTOM OF METADATA', - '});' // Close cordova.define. - ].join('\n'); -}; - -/** - * @chaining - * Generates and then saves metadata to specified file. Doesn't check if file exists. - * - * @param {String} destination File metadata will be written to - * @return {PlatformJson} PlatformJson instance - */ -PlatformJson.prototype.generateAndSaveMetadata = function (destination) { - var meta = this.generateMetadata(); - shelljs.mkdir('-p', path.dirname(destination)); - fs.writeFileSync(destination, meta, 'utf-8'); - - return this; -}; - -// convert a munge from the old format ([file][parent][xml] = count) to the current one -function fix_munge (root) { - root.prepare_queue = root.prepare_queue || {installed: [], uninstalled: []}; - root.config_munge = root.config_munge || {files: {}}; - root.installed_plugins = root.installed_plugins || {}; - root.dependent_plugins = root.dependent_plugins || {}; - - var munge = root.config_munge; - if (!munge.files) { - var new_munge = { files: {} }; - for (var file in munge) { - for (var selector in munge[file]) { - for (var xml_child in munge[file][selector]) { - var val = parseInt(munge[file][selector][xml_child]); - for (var i = 0; i < val; i++) { - mungeutil.deep_add(new_munge, [file, selector, { xml: xml_child, count: val }]); - } - } - } - } - root.config_munge = new_munge; - } - - return root; -} - -/** - * @constructor - * @class ModuleMetadata - * - * Creates a ModuleMetadata object that represents module entry in 'cordova_plugins.js' - * file at run time - * - * @param {String} pluginId Plugin id where this module installed from - * @param (JsModule|Object) jsModule A js-module entry from PluginInfo class to generate metadata for - */ -function ModuleMetadata (pluginId, jsModule) { - - if (!pluginId) throw new TypeError('pluginId argument must be a valid plugin id'); - if (!jsModule.src && !jsModule.name) throw new TypeError('jsModule argument must contain src or/and name properties'); - - this.id = pluginId + '.' + (jsModule.name || jsModule.src.match(/([^\/]+)\.js/)[1]); /* eslint no-useless-escape: 0 */ - this.file = ['plugins', pluginId, jsModule.src].join('/'); - this.pluginId = pluginId; - - if (jsModule.clobbers && jsModule.clobbers.length > 0) { - this.clobbers = jsModule.clobbers.map(function (o) { return o.target; }); - } - if (jsModule.merges && jsModule.merges.length > 0) { - this.merges = jsModule.merges.map(function (o) { return o.target; }); - } - if (jsModule.runs) { - this.runs = true; - } -} - -module.exports = PlatformJson; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfo.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfo.js deleted file mode 100644 index 4d77cbc..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfo.js +++ /dev/null @@ -1,434 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -/* -A class for holidng the information currently stored in plugin.xml -It should also be able to answer questions like whether the plugin -is compatible with a given engine version. - -TODO (kamrik): refactor this to not use sync functions and return promises. -*/ - -var path = require('path'); -var fs = require('fs'); -var xml_helpers = require('../util/xml-helpers'); -var CordovaError = require('../CordovaError/CordovaError'); - -function PluginInfo (dirname) { - var self = this; - - // METHODS - // Defined inside the constructor to avoid the "this" binding problems. - - // tag - // Example: - // Used to require a variable to be specified via --variable when installing the plugin. - // returns { key : default | null} - self.getPreferences = getPreferences; - function getPreferences (platform) { - return _getTags(self._et, 'preference', platform, _parsePreference) - .reduce(function (preferences, pref) { - preferences[pref.preference] = pref.default; - return preferences; - }, {}); - } - - function _parsePreference (prefTag) { - var name = prefTag.attrib.name.toUpperCase(); - var def = prefTag.attrib.default || null; - return {preference: name, default: def}; - } - - // - self.getAssets = getAssets; - function getAssets (platform) { - var assets = _getTags(self._et, 'asset', platform, _parseAsset); - return assets; - } - - function _parseAsset (tag) { - var src = tag.attrib.src; - var target = tag.attrib.target; - - if (!src || !target) { - var msg = - 'Malformed tag. Both "src" and "target" attributes' - + 'must be specified in\n' - + self.filepath - ; - throw new Error(msg); - } - - var asset = { - itemType: 'asset', - src: src, - target: target - }; - return asset; - } - - // - // Example: - // - self.getDependencies = getDependencies; - function getDependencies (platform) { - var deps = _getTags( - self._et, - 'dependency', - platform, - _parseDependency - ); - return deps; - } - - function _parseDependency (tag) { - var dep = - { id: tag.attrib.id, - version: tag.attrib.version || '', - url: tag.attrib.url || '', - subdir: tag.attrib.subdir || '', - commit: tag.attrib.commit - }; - - dep.git_ref = dep.commit; - - if (!dep.id) { - var msg = - ' tag is missing id attribute in ' - + self.filepath - ; - throw new CordovaError(msg); - } - return dep; - } - - // tag - self.getConfigFiles = getConfigFiles; - function getConfigFiles (platform) { - var configFiles = _getTags(self._et, 'config-file', platform, _parseConfigFile); - return configFiles; - } - - function _parseConfigFile (tag) { - var configFile = - { target: tag.attrib['target'], - parent: tag.attrib['parent'], - after: tag.attrib['after'], - xmls: tag.getchildren(), - // To support demuxing via versions - versions: tag.attrib['versions'], - deviceTarget: tag.attrib['device-target'] - }; - return configFile; - } - - self.getEditConfigs = getEditConfigs; - function getEditConfigs (platform) { - var editConfigs = _getTags(self._et, 'edit-config', platform, _parseEditConfigs); - return editConfigs; - } - - function _parseEditConfigs (tag) { - var editConfig = - { file: tag.attrib['file'], - target: tag.attrib['target'], - mode: tag.attrib['mode'], - xmls: tag.getchildren() - }; - return editConfig; - } - - // tags, both global and within a - // TODO (kamrik): Do we ever use under ? Example wanted. - self.getInfo = getInfo; - function getInfo (platform) { - var infos = _getTags( - self._et, - 'info', - platform, - function (elem) { return elem.text; } - ); - // Filter out any undefined or empty strings. - infos = infos.filter(Boolean); - return infos; - } - - // - // Examples: - // - // - self.getSourceFiles = getSourceFiles; - function getSourceFiles (platform) { - var sourceFiles = _getTagsInPlatform(self._et, 'source-file', platform, _parseSourceFile); - return sourceFiles; - } - - function _parseSourceFile (tag) { - return { - itemType: 'source-file', - src: tag.attrib.src, - framework: isStrTrue(tag.attrib.framework), - weak: isStrTrue(tag.attrib.weak), - compilerFlags: tag.attrib['compiler-flags'], - targetDir: tag.attrib['target-dir'] - }; - } - - // - // Example: - // - self.getHeaderFiles = getHeaderFiles; - function getHeaderFiles (platform) { - var headerFiles = _getTagsInPlatform(self._et, 'header-file', platform, function (tag) { - return { - itemType: 'header-file', - src: tag.attrib.src, - targetDir: tag.attrib['target-dir'] - }; - }); - return headerFiles; - } - - // - // Example: - // - self.getResourceFiles = getResourceFiles; - function getResourceFiles (platform) { - var resourceFiles = _getTagsInPlatform(self._et, 'resource-file', platform, function (tag) { - return { - itemType: 'resource-file', - src: tag.attrib.src, - target: tag.attrib.target, - versions: tag.attrib.versions, - deviceTarget: tag.attrib['device-target'], - arch: tag.attrib.arch, - reference: tag.attrib.reference - }; - }); - return resourceFiles; - } - - // - // Example: - // - self.getLibFiles = getLibFiles; - function getLibFiles (platform) { - var libFiles = _getTagsInPlatform(self._et, 'lib-file', platform, function (tag) { - return { - itemType: 'lib-file', - src: tag.attrib.src, - arch: tag.attrib.arch, - Include: tag.attrib.Include, - versions: tag.attrib.versions, - deviceTarget: tag.attrib['device-target'] || tag.attrib.target - }; - }); - return libFiles; - } - - // - // Example: - // - self.getHookScripts = getHookScripts; - function getHookScripts (hook, platforms) { - var scriptElements = self._et.findall('./hook'); - - if (platforms) { - platforms.forEach(function (platform) { - scriptElements = scriptElements.concat(self._et.findall('./platform[@name="' + platform + '"]/hook')); - }); - } - - function filterScriptByHookType (el) { - return el.attrib.src && el.attrib.type && el.attrib.type.toLowerCase() === hook; - } - - return scriptElements.filter(filterScriptByHookType); - } - - self.getJsModules = getJsModules; - function getJsModules (platform) { - var modules = _getTags(self._et, 'js-module', platform, _parseJsModule); - return modules; - } - - function _parseJsModule (tag) { - var ret = { - itemType: 'js-module', - name: tag.attrib.name, - src: tag.attrib.src, - clobbers: tag.findall('clobbers').map(function (tag) { return { target: tag.attrib.target }; }), - merges: tag.findall('merges').map(function (tag) { return { target: tag.attrib.target }; }), - runs: tag.findall('runs').length > 0 - }; - - return ret; - } - - self.getEngines = function () { - return self._et.findall('engines/engine').map(function (n) { - return { - name: n.attrib.name, - version: n.attrib.version, - platform: n.attrib.platform, - scriptSrc: n.attrib.scriptSrc - }; - }); - }; - - self.getPlatforms = function () { - return self._et.findall('platform').map(function (n) { - return { name: n.attrib.name }; - }); - }; - - self.getPlatformsArray = function () { - return self._et.findall('platform').map(function (n) { - return n.attrib.name; - }); - }; - - self.getFrameworks = function (platform, options) { - return _getTags(self._et, 'framework', platform, function (el) { - var src = el.attrib.src; - if (options) { - var vars = options.cli_variables || {}; - var regExp; - // Iterate over plugin variables. - // Replace them in framework src if they exist - Object.keys(vars).forEach(function (name) { - if (vars[name]) { - regExp = new RegExp('\\$' + name, 'g'); - src = src.replace(regExp, vars[name]); - } - }); - } - var ret = { - itemType: 'framework', - type: el.attrib.type, - parent: el.attrib.parent, - custom: isStrTrue(el.attrib.custom), - embed: isStrTrue(el.attrib.embed), - src: src, - spec: el.attrib.spec, - weak: isStrTrue(el.attrib.weak), - versions: el.attrib.versions, - targetDir: el.attrib['target-dir'], - deviceTarget: el.attrib['device-target'] || el.attrib.target, - arch: el.attrib.arch, - implementation: el.attrib.implementation - }; - return ret; - }); - }; - - self.getFilesAndFrameworks = getFilesAndFrameworks; - function getFilesAndFrameworks (platform, options) { - // Please avoid changing the order of the calls below, files will be - // installed in this order. - var items = [].concat( - self.getSourceFiles(platform), - self.getHeaderFiles(platform), - self.getResourceFiles(platform), - self.getFrameworks(platform, options), - self.getLibFiles(platform) - ); - return items; - } - /// // End of PluginInfo methods ///// - - /// // PluginInfo Constructor logic ///// - self.filepath = path.join(dirname, 'plugin.xml'); - if (!fs.existsSync(self.filepath)) { - throw new CordovaError('Cannot find plugin.xml for plugin "' + path.basename(dirname) + '". Please try adding it again.'); - } - - self.dir = dirname; - var et = self._et = xml_helpers.parseElementtreeSync(self.filepath); - var pelem = et.getroot(); - self.id = pelem.attrib.id; - self.version = pelem.attrib.version; - - // Optional fields - self.name = pelem.findtext('name'); - self.description = pelem.findtext('description'); - self.license = pelem.findtext('license'); - self.repo = pelem.findtext('repo'); - self.issue = pelem.findtext('issue'); - self.keywords = pelem.findtext('keywords'); - self.info = pelem.findtext('info'); - if (self.keywords) { - self.keywords = self.keywords.split(',').map(function (s) { return s.trim(); }); - } - self.getKeywordsAndPlatforms = function () { - var ret = self.keywords || []; - return ret.concat('ecosystem:cordova').concat(addCordova(self.getPlatformsArray())); - }; -} // End of PluginInfo constructor. - -// Helper function used to prefix every element of an array with cordova- -// Useful when we want to modify platforms to be cordova-platform -function addCordova (someArray) { - var newArray = someArray.map(function (element) { - return 'cordova-' + element; - }); - return newArray; -} - -// Helper function used by most of the getSomething methods of PluginInfo. -// Get all elements of a given name. Both in root and in platform sections -// for the given platform. If transform is given and is a function, it is -// applied to each element. -function _getTags (pelem, tag, platform, transform) { - var platformTag = pelem.find('./platform[@name="' + platform + '"]'); - var tagsInRoot = pelem.findall(tag); - tagsInRoot = tagsInRoot || []; - var tagsInPlatform = platformTag ? platformTag.findall(tag) : []; - var tags = tagsInRoot.concat(tagsInPlatform); - if (typeof transform === 'function') { - tags = tags.map(transform); - } - return tags; -} - -// Same as _getTags() but only looks inside a platform section. -function _getTagsInPlatform (pelem, tag, platform, transform) { - var platformTag = pelem.find('./platform[@name="' + platform + '"]'); - var tags = platformTag ? platformTag.findall(tag) : []; - if (typeof transform === 'function') { - tags = tags.map(transform); - } - return tags; -} - -// Check if x is a string 'true'. -function isStrTrue (x) { - return String(x).toLowerCase() === 'true'; -} - -module.exports = PluginInfo; -// Backwards compat: -PluginInfo.PluginInfo = PluginInfo; -PluginInfo.loadPluginsDir = function (dir) { - var PluginInfoProvider = require('./PluginInfoProvider'); - return new PluginInfoProvider().getAllWithinSearchPath(dir); -}; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfoProvider.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfoProvider.js deleted file mode 100644 index 5d3f329..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfoProvider.js +++ /dev/null @@ -1,82 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -/* jshint sub:true, laxcomma:true, laxbreak:true */ - -var fs = require('fs'); -var path = require('path'); -var PluginInfo = require('./PluginInfo'); -var events = require('../events'); - -function PluginInfoProvider () { - this._cache = {}; - this._getAllCache = {}; -} - -PluginInfoProvider.prototype.get = function (dirName) { - var absPath = path.resolve(dirName); - if (!this._cache[absPath]) { - this._cache[absPath] = new PluginInfo(dirName); - } - return this._cache[absPath]; -}; - -// Normally you don't need to put() entries, but it's used -// when copying plugins, and in unit tests. -PluginInfoProvider.prototype.put = function (pluginInfo) { - var absPath = path.resolve(pluginInfo.dir); - this._cache[absPath] = pluginInfo; -}; - -// Used for plugin search path processing. -// Given a dir containing multiple plugins, create a PluginInfo object for -// each of them and return as array. -// Should load them all in parallel and return a promise, but not yet. -PluginInfoProvider.prototype.getAllWithinSearchPath = function (dirName) { - var absPath = path.resolve(dirName); - if (!this._getAllCache[absPath]) { - this._getAllCache[absPath] = getAllHelper(absPath, this); - } - return this._getAllCache[absPath]; -}; - -function getAllHelper (absPath, provider) { - if (!fs.existsSync(absPath)) { - return []; - } - // If dir itself is a plugin, return it in an array with one element. - if (fs.existsSync(path.join(absPath, 'plugin.xml'))) { - return [provider.get(absPath)]; - } - var subdirs = fs.readdirSync(absPath); - var plugins = []; - subdirs.forEach(function (subdir) { - var d = path.join(absPath, subdir); - if (fs.existsSync(path.join(d, 'plugin.xml'))) { - try { - plugins.push(provider.get(d)); - } catch (e) { - events.emit('warn', 'Error parsing ' + path.join(d, 'plugin.xml.\n' + e.stack)); - } - } - }); - return plugins; -} - -module.exports = PluginInfoProvider; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/PluginManager.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/PluginManager.js deleted file mode 100644 index 0097db4..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/PluginManager.js +++ /dev/null @@ -1,149 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -var Q = require('q'); -var fs = require('fs'); -var path = require('path'); - -var ActionStack = require('./ActionStack'); -var PlatformJson = require('./PlatformJson'); -var CordovaError = require('./CordovaError/CordovaError'); -var PlatformMunger = require('./ConfigChanges/ConfigChanges').PlatformMunger; -var PluginInfoProvider = require('./PluginInfo/PluginInfoProvider'); - -/** - * @constructor - * @class PluginManager - * Represents an entity for adding/removing plugins for platforms - * - * @param {String} platform Platform name - * @param {Object} locations - Platform files and directories - * @param {IDEProject} ideProject The IDE project to add/remove plugin changes to/from - */ -function PluginManager (platform, locations, ideProject) { - this.platform = platform; - this.locations = locations; - this.project = ideProject; - - var platformJson = PlatformJson.load(locations.root, platform); - this.munger = new PlatformMunger(platform, locations.root, platformJson, new PluginInfoProvider()); -} - -/** - * @constructs PluginManager - * A convenience shortcut to new PluginManager(...) - * - * @param {String} platform Platform name - * @param {Object} locations - Platform files and directories - * @param {IDEProject} ideProject The IDE project to add/remove plugin changes to/from - * @returns new PluginManager instance - */ -PluginManager.get = function (platform, locations, ideProject) { - return new PluginManager(platform, locations, ideProject); -}; - -PluginManager.INSTALL = 'install'; -PluginManager.UNINSTALL = 'uninstall'; - -module.exports = PluginManager; - -/** - * Describes and implements common plugin installation/uninstallation routine. The flow is the following: - * * Validate and set defaults for options. Note that options are empty by default. Everything - * needed for platform IDE project must be passed from outside. Plugin variables (which - * are the part of the options) also must be already populated with 'PACKAGE_NAME' variable. - * * Collect all plugin's native and web files, get installers/uninstallers and process - * all these via ActionStack. - * * Save the IDE project, so the changes made by installers are persisted. - * * Generate config changes munge for plugin and apply it to all required files - * * Generate metadata for plugin and plugin modules and save it to 'cordova_plugins.js' - * - * @param {PluginInfo} plugin A PluginInfo structure representing plugin to install - * @param {Object} [options={}] An installation options. It is expected but is not necessary - * that options would contain 'variables' inner object with 'PACKAGE_NAME' field set by caller. - * - * @returns {Promise} Returns a Q promise, either resolved in case of success, rejected otherwise. - */ -PluginManager.prototype.doOperation = function (operation, plugin, options) { - if (operation !== PluginManager.INSTALL && operation !== PluginManager.UNINSTALL) { return Q.reject(new CordovaError('The parameter is incorrect. The opeation must be either "add" or "remove"')); } - - if (!plugin || plugin.constructor.name !== 'PluginInfo') { return Q.reject(new CordovaError('The parameter is incorrect. The first parameter should be a PluginInfo instance')); } - - // Set default to empty object to play safe when accesing properties - options = options || {}; - - var self = this; - var actions = new ActionStack(); - - // gather all files need to be handled during operation ... - plugin.getFilesAndFrameworks(this.platform, options) - .concat(plugin.getAssets(this.platform)) - .concat(plugin.getJsModules(this.platform)) - // ... put them into stack ... - .forEach(function (item) { - var installer = self.project.getInstaller(item.itemType); - var uninstaller = self.project.getUninstaller(item.itemType); - var actionArgs = [item, plugin, self.project, options]; - - var action; - if (operation === PluginManager.INSTALL) { - action = actions.createAction.apply(actions, [installer, actionArgs, uninstaller, actionArgs]); /* eslint no-useless-call: 0 */ - } else /* op === PluginManager.UNINSTALL */{ - action = actions.createAction.apply(actions, [uninstaller, actionArgs, installer, actionArgs]); /* eslint no-useless-call: 0 */ - } - actions.push(action); - }); - - // ... and run through the action stack - return actions.process(this.platform) - .then(function () { - if (self.project.write) { - self.project.write(); - } - - if (operation === PluginManager.INSTALL) { - // Ignore passed `is_top_level` option since platform itself doesn't know - // anything about managing dependencies - it's responsibility of caller. - self.munger.add_plugin_changes(plugin, options.variables, /* is_top_level= */true, /* should_increment= */true, options.force); - self.munger.platformJson.addPluginMetadata(plugin); - } else { - self.munger.remove_plugin_changes(plugin, /* is_top_level= */true); - self.munger.platformJson.removePluginMetadata(plugin); - } - - // Save everything (munge and plugin/modules metadata) - self.munger.save_all(); - - var metadata = self.munger.platformJson.generateMetadata(); - fs.writeFileSync(path.join(self.locations.www, 'cordova_plugins.js'), metadata, 'utf-8'); - - // CB-11022 save plugin metadata to both www and platform_www if options.usePlatformWww is specified - if (options.usePlatformWww) { - fs.writeFileSync(path.join(self.locations.platformWww, 'cordova_plugins.js'), metadata, 'utf-8'); - } - }); -}; - -PluginManager.prototype.addPlugin = function (plugin, installOptions) { - return this.doOperation(PluginManager.INSTALL, plugin, installOptions); -}; - -PluginManager.prototype.removePlugin = function (plugin, uninstallOptions) { - return this.doOperation(PluginManager.UNINSTALL, plugin, uninstallOptions); -}; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/events.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/events.js deleted file mode 100644 index 7038643..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/events.js +++ /dev/null @@ -1,72 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -var EventEmitter = require('events').EventEmitter; - -var INSTANCE = new EventEmitter(); -INSTANCE.setMaxListeners(20); -var EVENTS_RECEIVER; - -module.exports = INSTANCE; - -/** - * Sets up current instance to forward emitted events to another EventEmitter - * instance. - * - * @param {EventEmitter} [eventEmitter] The emitter instance to forward - * events to. Falsy value, when passed, disables forwarding. - */ -module.exports.forwardEventsTo = function (eventEmitter) { - - // If no argument is specified disable events forwarding - if (!eventEmitter) { - EVENTS_RECEIVER = undefined; - return; - } - - if (!(eventEmitter instanceof EventEmitter)) { throw new Error('Cordova events can be redirected to another EventEmitter instance only'); } - - // CB-10940 Skipping forwarding to self to avoid infinite recursion. - // This is the case when the modules are npm-linked. - if (this !== eventEmitter) { - EVENTS_RECEIVER = eventEmitter; - } else { - // Reset forwarding if we are subscribing to self - EVENTS_RECEIVER = undefined; - } -}; - -var emit = INSTANCE.emit; - -/** - * This method replaces original 'emit' method to allow events forwarding. - * - * @return {eventEmitter} Current instance to allow calls chaining, as - * original 'emit' does - */ -module.exports.emit = function () { - - var args = Array.prototype.slice.call(arguments); - - if (EVENTS_RECEIVER) { - EVENTS_RECEIVER.emit.apply(EVENTS_RECEIVER, args); - } - - return emit.apply(this, args); -}; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js deleted file mode 100644 index 424934e..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js +++ /dev/null @@ -1,189 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -var child_process = require('child_process'); -var fs = require('fs'); -var path = require('path'); -var _ = require('underscore'); -var Q = require('q'); -var shell = require('shelljs'); -var events = require('./events'); -var iswin32 = process.platform === 'win32'; - -// On Windows, spawn() for batch files requires absolute path & having the extension. -function resolveWindowsExe (cmd) { - var winExtensions = ['.exe', '.bat', '.cmd', '.js', '.vbs']; - function isValidExe (c) { - return winExtensions.indexOf(path.extname(c)) !== -1 && fs.existsSync(c); - } - if (isValidExe(cmd)) { - return cmd; - } - cmd = shell.which(cmd) || cmd; - if (!isValidExe(cmd)) { - winExtensions.some(function (ext) { - if (fs.existsSync(cmd + ext)) { - cmd = cmd + ext; - return true; - } - }); - } - return cmd; -} - -function maybeQuote (a) { - if (/^[^"].*[ &].*[^"]/.test(a)) return '"' + a + '"'; - return a; -} - -/** - * A special implementation for child_process.spawn that handles - * Windows-specific issues with batch files and spaces in paths. Returns a - * promise that succeeds only for return code 0. It is also possible to - * subscribe on spawned process' stdout and stderr streams using progress - * handler for resultant promise. - * - * @example spawn('mycommand', [], {stdio: 'pipe'}) .progress(function (stdio){ - * if (stdio.stderr) { console.error(stdio.stderr); } }) - * .then(function(result){ // do other stuff }) - * - * @param {String} cmd A command to spawn - * @param {String[]} [args=[]] An array of arguments, passed to spawned - * process - * @param {Object} [opts={}] A configuration object - * @param {String|String[]|Object} opts.stdio Property that configures how - * spawned process' stdio will behave. Has the same meaning and possible - * values as 'stdio' options for child_process.spawn method - * (https://nodejs.org/api/child_process.html#child_process_options_stdio). - * @param {Object} [env={}] A map of extra environment variables - * @param {String} [cwd=process.cwd()] Working directory for the command - * @param {Boolean} [chmod=false] If truthy, will attempt to set the execute - * bit before executing on non-Windows platforms - * - * @return {Promise} A promise that is either fulfilled if the spawned - * process is exited with zero error code or rejected otherwise. If the - * 'stdio' option set to 'default' or 'pipe', the promise also emits progress - * messages with the following contents: - * { - * 'stdout': ..., - * 'stderr': ... - * } - */ -exports.spawn = function (cmd, args, opts) { - args = args || []; - opts = opts || {}; - var spawnOpts = {}; - var d = Q.defer(); - - if (iswin32) { - cmd = resolveWindowsExe(cmd); - // If we couldn't find the file, likely we'll end up failing, - // but for things like "del", cmd will do the trick. - if (path.extname(cmd) !== '.exe') { - var cmdArgs = '"' + [cmd].concat(args).map(maybeQuote).join(' ') + '"'; - // We need to use /s to ensure that spaces are parsed properly with cmd spawned content - args = [['/s', '/c', cmdArgs].join(' ')]; - cmd = 'cmd'; - spawnOpts.windowsVerbatimArguments = true; - } else if (!fs.existsSync(cmd)) { - // We need to use /s to ensure that spaces are parsed properly with cmd spawned content - args = ['/s', '/c', cmd].concat(args).map(maybeQuote); - } - } - - if (opts.stdio !== 'default') { - // Ignore 'default' value for stdio because it corresponds to child_process's default 'pipe' option - spawnOpts.stdio = opts.stdio; - } - - if (opts.cwd) { - spawnOpts.cwd = opts.cwd; - } - - if (opts.env) { - spawnOpts.env = _.extend(_.extend({}, process.env), opts.env); - } - - if (opts.chmod && !iswin32) { - try { - // This fails when module is installed in a system directory (e.g. via sudo npm install) - fs.chmodSync(cmd, '755'); - } catch (e) { - // If the perms weren't set right, then this will come as an error upon execution. - } - } - - events.emit(opts.printCommand ? 'log' : 'verbose', 'Running command: ' + maybeQuote(cmd) + ' ' + args.map(maybeQuote).join(' ')); - - var child = child_process.spawn(cmd, args, spawnOpts); - var capturedOut = ''; - var capturedErr = ''; - - if (child.stdout) { - child.stdout.setEncoding('utf8'); - child.stdout.on('data', function (data) { - capturedOut += data; - d.notify({'stdout': data}); - }); - } - - if (child.stderr) { - child.stderr.setEncoding('utf8'); - child.stderr.on('data', function (data) { - capturedErr += data; - d.notify({'stderr': data}); - }); - } - - child.on('close', whenDone); - child.on('error', whenDone); - function whenDone (arg) { - child.removeListener('close', whenDone); - child.removeListener('error', whenDone); - var code = typeof arg === 'number' ? arg : arg && arg.code; - - events.emit('verbose', 'Command finished with error code ' + code + ': ' + cmd + ' ' + args); - if (code === 0) { - d.resolve(capturedOut.trim()); - } else { - var errMsg = cmd + ': Command failed with exit code ' + code; - if (capturedErr) { - errMsg += ' Error output:\n' + capturedErr.trim(); - } - var err = new Error(errMsg); - if (capturedErr) { - err.stderr = capturedErr; - } - if (capturedOut) { - err.stdout = capturedOut; - } - err.code = code; - d.reject(err); - } - } - - return d.promise; -}; - -exports.maybeSpawn = function (cmd, args, opts) { - if (fs.existsSync(cmd)) { - return exports.spawn(cmd, args, opts); - } - return Q(null); -}; diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/util/plist-helpers.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/util/plist-helpers.js deleted file mode 100644 index 5ec4c1d..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/util/plist-helpers.js +++ /dev/null @@ -1,96 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ -/* eslint no-useless-escape: 0 */ - -// contains PLIST utility functions -var __ = require('underscore'); -var plist = require('plist'); - -// adds node to doc at selector -module.exports.graftPLIST = graftPLIST; -function graftPLIST (doc, xml, selector) { - var obj = plist.parse('' + xml + ''); - - var node = doc[selector]; - if (node && Array.isArray(node) && Array.isArray(obj)) { - node = node.concat(obj); - for (var i = 0; i < node.length; i++) { - for (var j = i + 1; j < node.length; ++j) { - if (nodeEqual(node[i], node[j])) { node.splice(j--, 1); } - } - } - doc[selector] = node; - } else { - // plist uses objects for . If we have two dicts we merge them instead of - // overriding the old one. See CB-6472 - if (node && __.isObject(node) && __.isObject(obj) && !__.isDate(node) && !__.isDate(obj)) { // arrays checked above - __.extend(obj, node); - } - doc[selector] = obj; - } - - return true; -} - -// removes node from doc at selector -module.exports.prunePLIST = prunePLIST; -function prunePLIST (doc, xml, selector) { - var obj = plist.parse('' + xml + ''); - - pruneOBJECT(doc, selector, obj); - - return true; -} - -function pruneOBJECT (doc, selector, fragment) { - if (Array.isArray(fragment) && Array.isArray(doc[selector])) { - var empty = true; - for (var i in fragment) { - for (var j in doc[selector]) { - empty = pruneOBJECT(doc[selector], j, fragment[i]) && empty; - } - } - if (empty) { - delete doc[selector]; - return true; - } - } else if (nodeEqual(doc[selector], fragment)) { - delete doc[selector]; - return true; - } - - return false; -} - -function nodeEqual (node1, node2) { - if (typeof node1 !== typeof node2) { return false; } else if (typeof node1 === 'string') { - node2 = escapeRE(node2).replace(/\\\$\S+/gm, '(.*?)'); - return new RegExp('^' + node2 + '$').test(node1); - } else { - for (var key in node2) { - if (!nodeEqual(node1[key], node2[key])) return false; - } - return true; - } -} - -// escape string for use in regex -function escapeRE (str) { - return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); -} diff --git a/demo/platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js b/demo/platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js deleted file mode 100644 index e2c8fd3..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js +++ /dev/null @@ -1,365 +0,0 @@ -/** - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ - -/** - * contains XML utility functions, some of which are specific to elementtree - */ - -var fs = require('fs'); -var path = require('path'); -var _ = require('underscore'); -var et = require('elementtree'); - -/* eslint-disable no-useless-escape */ -var ROOT = /^\/([^\/]*)/; -var ABSOLUTE = /^\/([^\/]*)\/(.*)/; -/* eslint-enable no-useless-escape */ - -module.exports = { - // compare two et.XML nodes, see if they match - // compares tagName, text, attributes and children (recursively) - equalNodes: function (one, two) { - if (one.tag !== two.tag) { - return false; - } else if (one.text.trim() !== two.text.trim()) { - return false; - } else if (one._children.length !== two._children.length) { - return false; - } - - if (!attribMatch(one, two)) return false; - - for (var i = 0; i < one._children.length; i++) { - if (!module.exports.equalNodes(one._children[i], two._children[i])) { - return false; - } - } - - return true; - }, - - // adds node to doc at selector, creating parent if it doesn't exist - graftXML: function (doc, nodes, selector, after) { - var parent = module.exports.resolveParent(doc, selector); - if (!parent) { - // Try to create the parent recursively if necessary - try { - var parentToCreate = et.XML('<' + path.basename(selector) + '>'); - var parentSelector = path.dirname(selector); - - this.graftXML(doc, [parentToCreate], parentSelector); - } catch (e) { - return false; - } - parent = module.exports.resolveParent(doc, selector); - if (!parent) return false; - } - - nodes.forEach(function (node) { - // check if child is unique first - if (uniqueChild(node, parent)) { - var children = parent.getchildren(); - var insertIdx = after ? findInsertIdx(children, after) : children.length; - - // TODO: replace with parent.insert after the bug in ElementTree is fixed - parent.getchildren().splice(insertIdx, 0, node); - } - }); - - return true; - }, - - // adds new attributes to doc at selector - // Will only merge if attribute has not been modified already or --force is used - graftXMLMerge: function (doc, nodes, selector, xml) { - var target = module.exports.resolveParent(doc, selector); - if (!target) return false; - - // saves the attributes of the original xml before making changes - xml.oldAttrib = _.extend({}, target.attrib); - - nodes.forEach(function (node) { - var attributes = node.attrib; - for (var attribute in attributes) { - target.attrib[attribute] = node.attrib[attribute]; - } - }); - - return true; - }, - - // overwrite all attributes to doc at selector with new attributes - // Will only overwrite if attribute has not been modified already or --force is used - graftXMLOverwrite: function (doc, nodes, selector, xml) { - var target = module.exports.resolveParent(doc, selector); - if (!target) return false; - - // saves the attributes of the original xml before making changes - xml.oldAttrib = _.extend({}, target.attrib); - - // remove old attributes from target - var targetAttributes = target.attrib; - for (var targetAttribute in targetAttributes) { - delete targetAttributes[targetAttribute]; - } - - // add new attributes to target - nodes.forEach(function (node) { - var attributes = node.attrib; - for (var attribute in attributes) { - target.attrib[attribute] = node.attrib[attribute]; - } - }); - - return true; - }, - - // removes node from doc at selector - pruneXML: function (doc, nodes, selector) { - var parent = module.exports.resolveParent(doc, selector); - if (!parent) return false; - - nodes.forEach(function (node) { - var matchingKid = null; - if ((matchingKid = findChild(node, parent)) !== null) { - // stupid elementtree takes an index argument it doesn't use - // and does not conform to the python lib - parent.remove(matchingKid); - } - }); - - return true; - }, - - // restores attributes from doc at selector - pruneXMLRestore: function (doc, selector, xml) { - var target = module.exports.resolveParent(doc, selector); - if (!target) return false; - - if (xml.oldAttrib) { - target.attrib = _.extend({}, xml.oldAttrib); - } - - return true; - }, - - pruneXMLRemove: function (doc, selector, nodes) { - var target = module.exports.resolveParent(doc, selector); - if (!target) return false; - - nodes.forEach(function (node) { - var attributes = node.attrib; - for (var attribute in attributes) { - if (target.attrib[attribute]) { - delete target.attrib[attribute]; - } - } - }); - - return true; - - }, - - parseElementtreeSync: function (filename) { - var contents = fs.readFileSync(filename, 'utf-8'); - if (contents) { - // Windows is the BOM. Skip the Byte Order Mark. - contents = contents.substring(contents.indexOf('<')); - } - return new et.ElementTree(et.XML(contents)); - }, - - resolveParent: function (doc, selector) { - var parent, tagName, subSelector; - - // handle absolute selector (which elementtree doesn't like) - if (ROOT.test(selector)) { - tagName = selector.match(ROOT)[1]; - // test for wildcard "any-tag" root selector - if (tagName === '*' || tagName === doc._root.tag) { - parent = doc._root; - - // could be an absolute path, but not selecting the root - if (ABSOLUTE.test(selector)) { - subSelector = selector.match(ABSOLUTE)[2]; - parent = parent.find(subSelector); - } - } else { - return false; - } - } else { - parent = doc.find(selector); - } - return parent; - } -}; - -function findChild (node, parent) { - var matchingKids = parent.findall(node.tag); - var i; - var j; - - for (i = 0, j = matchingKids.length; i < j; i++) { - if (module.exports.equalNodes(node, matchingKids[i])) { - return matchingKids[i]; - } - } - return null; -} - -function uniqueChild (node, parent) { - var matchingKids = parent.findall(node.tag); - var i = 0; - - if (matchingKids.length === 0) { - return true; - } else { - for (i; i < matchingKids.length; i++) { - if (module.exports.equalNodes(node, matchingKids[i])) { - return false; - } - } - return true; - } -} - -// Find the index at which to insert an entry. After is a ;-separated priority list -// of tags after which the insertion should be made. E.g. If we need to -// insert an element C, and the rule is that the order of children has to be -// As, Bs, Cs. After will be equal to "C;B;A". -function findInsertIdx (children, after) { - var childrenTags = children.map(function (child) { return child.tag; }); - var afters = after.split(';'); - var afterIndexes = afters.map(function (current) { return childrenTags.lastIndexOf(current); }); - var foundIndex = _.find(afterIndexes, function (index) { return index !== -1; }); - - // add to the beginning if no matching nodes are found - return typeof foundIndex === 'undefined' ? 0 : foundIndex + 1; -} - -var BLACKLIST = ['platform', 'feature', 'plugin', 'engine']; -var SINGLETONS = ['content', 'author', 'name']; -function mergeXml (src, dest, platform, clobber) { - // Do nothing for blacklisted tags. - if (BLACKLIST.indexOf(src.tag) !== -1) return; - - // Handle attributes - Object.getOwnPropertyNames(src.attrib).forEach(function (attribute) { - if (clobber || !dest.attrib[attribute]) { - dest.attrib[attribute] = src.attrib[attribute]; - } - }); - // Handle text - if (src.text && (clobber || !dest.text)) { - dest.text = src.text; - } - // Handle children - src.getchildren().forEach(mergeChild); - - // Handle platform - if (platform) { - src.findall('platform[@name="' + platform + '"]').forEach(function (platformElement) { - platformElement.getchildren().forEach(mergeChild); - }); - } - - // Handle duplicate preference tags (by name attribute) - removeDuplicatePreferences(dest); - - function mergeChild (srcChild) { - var srcTag = srcChild.tag; - var destChild = new et.Element(srcTag); - var foundChild; - var query = srcTag + ''; - var shouldMerge = true; - - if (BLACKLIST.indexOf(srcTag) !== -1) return; - - if (SINGLETONS.indexOf(srcTag) !== -1) { - foundChild = dest.find(query); - if (foundChild) { - destChild = foundChild; - dest.remove(destChild); - } - } else { - // Check for an exact match and if you find one don't add - var mergeCandidates = dest.findall(query) - .filter(function (foundChild) { - return foundChild && textMatch(srcChild, foundChild) && attribMatch(srcChild, foundChild); - }); - - if (mergeCandidates.length > 0) { - destChild = mergeCandidates[0]; - dest.remove(destChild); - shouldMerge = false; - } - } - - mergeXml(srcChild, destChild, platform, clobber && shouldMerge); - dest.append(destChild); - } - - function removeDuplicatePreferences (xml) { - // reduce preference tags to a hashtable to remove dupes - var prefHash = xml.findall('preference[@name][@value]').reduce(function (previousValue, currentValue) { - previousValue[ currentValue.attrib.name ] = currentValue.attrib.value; - return previousValue; - }, {}); - - // remove all preferences - xml.findall('preference[@name][@value]').forEach(function (pref) { - xml.remove(pref); - }); - - // write new preferences - Object.keys(prefHash).forEach(function (key, index) { - var element = et.SubElement(xml, 'preference'); - element.set('name', key); - element.set('value', this[key]); - }, prefHash); - } -} - -// Expose for testing. -module.exports.mergeXml = mergeXml; - -function textMatch (elm1, elm2) { - var text1 = elm1.text ? elm1.text.replace(/\s+/, '') : ''; - var text2 = elm2.text ? elm2.text.replace(/\s+/, '') : ''; - return (text1 === '' || text1 === text2); -} - -function attribMatch (one, two) { - var oneAttribKeys = Object.keys(one.attrib); - var twoAttribKeys = Object.keys(two.attrib); - - if (oneAttribKeys.length !== twoAttribKeys.length) { - return false; - } - - for (var i = 0; i < oneAttribKeys.length; i++) { - var attribName = oneAttribKeys[i]; - - if (one.attrib[attribName] !== two.attrib[attribName]) { - return false; - } - } - - return true; -} diff --git a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/.npmignore b/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/.travis.yml b/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/.travis.yml deleted file mode 100644 index ae381fc..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -sudo: false -node_js: - - "0.10" -install: npm install -script: - - npm test diff --git a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/README.md b/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/README.md deleted file mode 100644 index 3b93e5f..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/README.md +++ /dev/null @@ -1,14 +0,0 @@ -[![Build Status](https://travis-ci.org/stevengill/cordova-registry-mapper.svg?branch=master)](https://travis-ci.org/stevengill/cordova-registry-mapper) - -#Cordova Registry Mapper - -This module is used to map Cordova plugin ids to package names and vice versa. - -When Cordova users add plugins to their projects using ids -(e.g. `cordova plugin add org.apache.cordova.device`), -this module will map that id to the corresponding package name so `cordova-lib` knows what to fetch from **npm**. - -This module was created so the Apache Cordova project could migrate its plugins from -the [Cordova Registry](http://registry.cordova.io/) -to [npm](https://registry.npmjs.com/) -instead of having to maintain a registry. diff --git a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/index.js b/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/index.js deleted file mode 100644 index 4550774..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/index.js +++ /dev/null @@ -1,204 +0,0 @@ -var map = { - 'org.apache.cordova.battery-status':'cordova-plugin-battery-status', - 'org.apache.cordova.camera':'cordova-plugin-camera', - 'org.apache.cordova.console':'cordova-plugin-console', - 'org.apache.cordova.contacts':'cordova-plugin-contacts', - 'org.apache.cordova.device':'cordova-plugin-device', - 'org.apache.cordova.device-motion':'cordova-plugin-device-motion', - 'org.apache.cordova.device-orientation':'cordova-plugin-device-orientation', - 'org.apache.cordova.dialogs':'cordova-plugin-dialogs', - 'org.apache.cordova.file':'cordova-plugin-file', - 'org.apache.cordova.file-transfer':'cordova-plugin-file-transfer', - 'org.apache.cordova.geolocation':'cordova-plugin-geolocation', - 'org.apache.cordova.globalization':'cordova-plugin-globalization', - 'org.apache.cordova.inappbrowser':'cordova-plugin-inappbrowser', - 'org.apache.cordova.media':'cordova-plugin-media', - 'org.apache.cordova.media-capture':'cordova-plugin-media-capture', - 'org.apache.cordova.network-information':'cordova-plugin-network-information', - 'org.apache.cordova.splashscreen':'cordova-plugin-splashscreen', - 'org.apache.cordova.statusbar':'cordova-plugin-statusbar', - 'org.apache.cordova.vibration':'cordova-plugin-vibration', - 'org.apache.cordova.test-framework':'cordova-plugin-test-framework', - 'com.msopentech.websql' : 'cordova-plugin-websql', - 'com.msopentech.indexeddb' : 'cordova-plugin-indexeddb', - 'com.microsoft.aad.adal' : 'cordova-plugin-ms-adal', - 'com.microsoft.capptain' : 'capptain-cordova', - 'com.microsoft.services.aadgraph' : 'cordova-plugin-ms-aad-graph', - 'com.microsoft.services.files' : 'cordova-plugin-ms-files', - 'om.microsoft.services.outlook' : 'cordova-plugin-ms-outlook', - 'com.pbakondy.sim' : 'cordova-plugin-sim', - 'android.support.v4' : 'cordova-plugin-android-support-v4', - 'android.support.v7-appcompat' : 'cordova-plugin-android-support-v7-appcompat', - 'com.google.playservices' : 'cordova-plugin-googleplayservices', - 'com.google.cordova.admob' : 'cordova-plugin-admobpro', - 'com.rjfun.cordova.extension' : 'cordova-plugin-extension', - 'com.rjfun.cordova.plugin.admob' : 'cordova-plugin-admob', - 'com.rjfun.cordova.flurryads' : 'cordova-plugin-flurry', - 'com.rjfun.cordova.facebookads' : 'cordova-plugin-facebookads', - 'com.rjfun.cordova.httpd' : 'cordova-plugin-httpd', - 'com.rjfun.cordova.iad' : 'cordova-plugin-iad', - 'com.rjfun.cordova.iflyspeech' : 'cordova-plugin-iflyspeech', - 'com.rjfun.cordova.lianlianpay' : 'cordova-plugin-lianlianpay', - 'com.rjfun.cordova.mobfox' : 'cordova-plugin-mobfox', - 'com.rjfun.cordova.mopub' : 'cordova-plugin-mopub', - 'com.rjfun.cordova.mmedia' : 'cordova-plugin-mmedia', - 'com.rjfun.cordova.nativeaudio' : 'cordova-plugin-nativeaudio', - 'com.rjfun.cordova.plugin.paypalmpl' : 'cordova-plugin-paypalmpl', - 'com.rjfun.cordova.smartadserver' : 'cordova-plugin-smartadserver', - 'com.rjfun.cordova.sms' : 'cordova-plugin-sms', - 'com.rjfun.cordova.wifi' : 'cordova-plugin-wifi', - 'com.ohh2ahh.plugins.appavailability' : 'cordova-plugin-appavailability', - 'org.adapt-it.cordova.fonts' : 'cordova-plugin-fonts', - 'de.martinreinhardt.cordova.plugins.barcodeScanner' : 'cordova-plugin-barcodescanner', - 'de.martinreinhardt.cordova.plugins.urlhandler' : 'cordova-plugin-urlhandler', - 'de.martinreinhardt.cordova.plugins.email' : 'cordova-plugin-email', - 'de.martinreinhardt.cordova.plugins.certificates' : 'cordova-plugin-certificates', - 'de.martinreinhardt.cordova.plugins.sqlite' : 'cordova-plugin-sqlite', - 'fr.smile.cordova.fileopener' : 'cordova-plugin-fileopener', - 'org.smile.websqldatabase.initializer' : 'cordova-plugin-websqldatabase-initializer', - 'org.smile.websqldatabase.wpdb' : 'cordova-plugin-websqldatabase', - 'org.jboss.aerogear.cordova.push' : 'aerogear-cordova-push', - 'org.jboss.aerogear.cordova.oauth2' : 'aerogear-cordova-oauth2', - 'org.jboss.aerogear.cordova.geo' : 'aerogear-cordova-geo', - 'org.jboss.aerogear.cordova.crypto' : 'aerogear-cordova-crypto', - 'org.jboss.aerogaer.cordova.otp' : 'aerogear-cordova-otp', - 'uk.co.ilee.applewatch' : 'cordova-plugin-apple-watch', - 'uk.co.ilee.directions' : 'cordova-plugin-directions', - 'uk.co.ilee.gamecenter' : 'cordova-plugin-game-center', - 'uk.co.ilee.jailbreakdetection' : 'cordova-plugin-jailbreak-detection', - 'uk.co.ilee.nativetransitions' : 'cordova-plugin-native-transitions', - 'uk.co.ilee.pedometer' : 'cordova-plugin-pedometer', - 'uk.co.ilee.shake' : 'cordova-plugin-shake', - 'uk.co.ilee.touchid' : 'cordova-plugin-touchid', - 'com.knowledgecode.cordova.websocket' : 'cordova-plugin-websocket', - 'com.elixel.plugins.settings' : 'cordova-plugin-settings', - 'com.cowbell.cordova.geofence' : 'cordova-plugin-geofence', - 'com.blackberry.community.preventsleep' : 'cordova-plugin-preventsleep', - 'com.blackberry.community.gamepad' : 'cordova-plugin-gamepad', - 'com.blackberry.community.led' : 'cordova-plugin-led', - 'com.blackberry.community.thumbnail' : 'cordova-plugin-thumbnail', - 'com.blackberry.community.mediakeys' : 'cordova-plugin-mediakeys', - 'com.blackberry.community.simplebtlehrplugin' : 'cordova-plugin-bluetoothheartmonitor', - 'com.blackberry.community.simplebeaconplugin' : 'cordova-plugin-bluetoothibeacon', - 'com.blackberry.community.simplebtsppplugin' : 'cordova-plugin-bluetoothspp', - 'com.blackberry.community.clipboard' : 'cordova-plugin-clipboard', - 'com.blackberry.community.curl' : 'cordova-plugin-curl', - 'com.blackberry.community.qt' : 'cordova-plugin-qtbridge', - 'com.blackberry.community.upnp' : 'cordova-plugin-upnp', - 'com.blackberry.community.PasswordCrypto' : 'cordova-plugin-password-crypto', - 'com.blackberry.community.deviceinfoplugin' : 'cordova-plugin-deviceinfo', - 'com.blackberry.community.gsecrypto' : 'cordova-plugin-bb-crypto', - 'com.blackberry.community.mongoose' : 'cordova-plugin-mongoose', - 'com.blackberry.community.sysdialog' : 'cordova-plugin-bb-sysdialog', - 'com.blackberry.community.screendisplay' : 'cordova-plugin-screendisplay', - 'com.blackberry.community.messageplugin' : 'cordova-plugin-bb-messageretrieve', - 'com.blackberry.community.emailsenderplugin' : 'cordova-plugin-emailsender', - 'com.blackberry.community.audiometadata' : 'cordova-plugin-audiometadata', - 'com.blackberry.community.deviceemails' : 'cordova-plugin-deviceemails', - 'com.blackberry.community.audiorecorder' : 'cordova-plugin-audiorecorder', - 'com.blackberry.community.vibration' : 'cordova-plugin-vibrate-intense', - 'com.blackberry.community.SMSPlugin' : 'cordova-plugin-bb-sms', - 'com.blackberry.community.extractZipFile' : 'cordova-plugin-bb-zip', - 'com.blackberry.community.lowlatencyaudio' : 'cordova-plugin-bb-nativeaudio', - 'com.blackberry.community.barcodescanner' : 'phonegap-plugin-barcodescanner', - 'com.blackberry.app' : 'cordova-plugin-bb-app', - 'com.blackberry.bbm.platform' : 'cordova-plugin-bbm', - 'com.blackberry.connection' : 'cordova-plugin-bb-connection', - 'com.blackberry.identity' : 'cordova-plugin-bb-identity', - 'com.blackberry.invoke.card' : 'cordova-plugin-bb-card', - 'com.blackberry.invoke' : 'cordova-plugin-bb-invoke', - 'com.blackberry.invoked' : 'cordova-plugin-bb-invoked', - 'com.blackberry.io.filetransfer' : 'cordova-plugin-bb-filetransfer', - 'com.blackberry.io' : 'cordova-plugin-bb-io', - 'com.blackberry.notification' : 'cordova-plugin-bb-notification', - 'com.blackberry.payment' : 'cordova-plugin-bb-payment', - 'com.blackberry.pim.calendar' : 'cordova-plugin-bb-calendar', - 'com.blackberry.pim.contacts' : 'cordova-plugin-bb-contacts', - 'com.blackberry.pim.lib' : 'cordova-plugin-bb-pimlib', - 'com.blackberry.push' : 'cordova-plugin-bb-push', - 'com.blackberry.screenshot' : 'cordova-plugin-screenshot', - 'com.blackberry.sensors' : 'cordova-plugin-bb-sensors', - 'com.blackberry.system' : 'cordova-plugin-bb-system', - 'com.blackberry.ui.contextmenu' : 'cordova-plugin-bb-ctxmenu', - 'com.blackberry.ui.cover' : 'cordova-plugin-bb-cover', - 'com.blackberry.ui.dialog' : 'cordova-plugin-bb-dialog', - 'com.blackberry.ui.input' : 'cordova-plugin-touch-keyboard', - 'com.blackberry.ui.toast' : 'cordova-plugin-toast', - 'com.blackberry.user.identity' : 'cordova-plugin-bb-idservice', - 'com.blackberry.utils' : 'cordova-plugin-bb-utils', - 'net.yoik.cordova.plugins.screenorientation' : 'cordova-plugin-screen-orientation', - 'com.phonegap.plugins.barcodescanner' : 'phonegap-plugin-barcodescanner', - 'com.manifoldjs.hostedwebapp' : 'cordova-plugin-hostedwebapp', - 'com.initialxy.cordova.themeablebrowser' : 'cordova-plugin-themeablebrowser', - 'gr.denton.photosphere' : 'cordova-plugin-panoramaviewer', - 'nl.x-services.plugins.actionsheet' : 'cordova-plugin-actionsheet', - 'nl.x-services.plugins.socialsharing' : 'cordova-plugin-x-socialsharing', - 'nl.x-services.plugins.googleplus' : 'cordova-plugin-googleplus', - 'nl.x-services.plugins.insomnia' : 'cordova-plugin-insomnia', - 'nl.x-services.plugins.toast' : 'cordova-plugin-x-toast', - 'nl.x-services.plugins.calendar' : 'cordova-plugin-calendar', - 'nl.x-services.plugins.launchmyapp' : 'cordova-plugin-customurlscheme', - 'nl.x-services.plugins.flashlight' : 'cordova-plugin-flashlight', - 'nl.x-services.plugins.sslcertificatechecker' : 'cordova-plugin-sslcertificatechecker', - 'com.bridge.open' : 'cordova-open', - 'com.bridge.safe' : 'cordova-safe', - 'com.disusered.open' : 'cordova-open', - 'com.disusered.safe' : 'cordova-safe', - 'me.apla.cordova.app-preferences' : 'cordova-plugin-app-preferences', - 'com.konotor.cordova' : 'cordova-plugin-konotor', - 'io.intercom.cordova' : 'cordova-plugin-intercom', - 'com.onesignal.plugins.onesignal' : 'onesignal-cordova-plugin', - 'com.danjarvis.document-contract': 'cordova-plugin-document-contract', - 'com.eface2face.iosrtc' : 'cordova-plugin-iosrtc', - 'com.mobileapptracking.matplugin' : 'cordova-plugin-tune', - 'com.marianhello.cordova.background-geolocation' : 'cordova-plugin-mauron85-background-geolocation', - 'fr.louisbl.cordova.locationservices' : 'cordova-plugin-locationservices', - 'fr.louisbl.cordova.gpslocation' : 'cordova-plugin-gpslocation', - 'com.hiliaox.weibo' : 'cordova-plugin-weibo', - 'com.uxcam.cordova.plugin' : 'cordova-uxcam', - 'de.fastr.phonegap.plugins.downloader' : 'cordova-plugin-fastrde-downloader', - 'de.fastr.phonegap.plugins.injectView' : 'cordova-plugin-fastrde-injectview', - 'de.fastr.phonegap.plugins.CheckGPS' : 'cordova-plugin-fastrde-checkgps', - 'de.fastr.phonegap.plugins.md5chksum' : 'cordova-plugin-fastrde-md5', - 'io.repro.cordova' : 'cordova-plugin-repro', - 're.notifica.cordova': 'cordova-plugin-notificare-push', - 'com.megster.cordova.ble': 'cordova-plugin-ble-central', - 'com.megster.cordova.bluetoothserial': 'cordova-plugin-bluetooth-serial', - 'com.megster.cordova.rfduino': 'cordova-plugin-rfduino', - 'cz.velda.cordova.plugin.devicefeedback': 'cordova-plugin-velda-devicefeedback', - 'cz.Velda.cordova.plugin.devicefeedback': 'cordova-plugin-velda-devicefeedback', - 'org.scriptotek.appinfo': 'cordova-plugin-appinfo', - 'com.yezhiming.cordova.appinfo': 'cordova-plugin-appinfo', - 'pl.makingwaves.estimotebeacons': 'cordova-plugin-estimote', - 'com.evothings.ble': 'cordova-plugin-ble', - 'com.appsee.plugin' : 'cordova-plugin-appsee', - 'am.armsoft.plugins.listpicker': 'cordova-plugin-listpicker', - 'com.pushbots.push': 'pushbots-cordova-plugin', - 'com.admob.google': 'cordova-admob', - 'admob.ads.google': 'cordova-admob-ads', - 'admob.google.plugin': 'admob-google', - 'com.admob.admobads': 'admob-ads', - 'com.connectivity.monitor': 'cordova-connectivity-monitor', - 'com.ios.libgoogleadmobads': 'cordova-libgoogleadmobads', - 'com.google.play.services': 'cordova-google-play-services', - 'android.support.v13': 'cordova-android-support-v13', - 'android.support.v4': 'cordova-android-support-v4', // Duplicated key ;) - 'com.analytics.google': 'cordova-plugin-analytics', - 'com.analytics.adid.google': 'cordova-plugin-analytics-adid', - 'com.chariotsolutions.nfc.plugin': 'phonegap-nfc', - 'com.samz.mixpanel': 'cordova-plugin-mixpanel', - 'de.appplant.cordova.common.RegisterUserNotificationSettings': 'cordova-plugin-registerusernotificationsettings', - 'plugin.google.maps': 'cordova-plugin-googlemaps', - 'xu.li.cordova.wechat': 'cordova-plugin-wechat', - 'es.keensoft.fullscreenimage': 'cordova-plugin-fullscreenimage', - 'com.arcoirislabs.plugin.mqtt' : 'cordova-plugin-mqtt' -}; - -module.exports.oldToNew = map; - -var reverseMap = {}; -Object.keys(map).forEach(function(elem){ - reverseMap[map[elem]] = elem; -}); - -module.exports.newToOld = reverseMap; diff --git a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/package.json b/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/package.json deleted file mode 100644 index e12ba47..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "cordova-registry-mapper@^1.1.8", - "scope": null, - "escapedName": "cordova-registry-mapper", - "name": "cordova-registry-mapper", - "rawSpec": "^1.1.8", - "spec": ">=1.1.8 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common" - ] - ], - "_from": "cordova-registry-mapper@>=1.1.8 <2.0.0", - "_id": "cordova-registry-mapper@1.1.15", - "_inCache": true, - "_location": "/cordova-android/cordova-registry-mapper", - "_nodeVersion": "5.4.1", - "_npmUser": { - "name": "stevegill", - "email": "stevengill97@gmail.com" - }, - "_npmVersion": "3.5.3", - "_phantomChildren": {}, - "_requested": { - "raw": "cordova-registry-mapper@^1.1.8", - "scope": null, - "escapedName": "cordova-registry-mapper", - "name": "cordova-registry-mapper", - "rawSpec": "^1.1.8", - "spec": ">=1.1.8 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz", - "_shasum": "e244b9185b8175473bff6079324905115f83dc7c", - "_shrinkwrap": null, - "_spec": "cordova-registry-mapper@^1.1.8", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common", - "author": { - "name": "Steve Gill" - }, - "bugs": { - "url": "https://github.com/stevengill/cordova-registry-mapper/issues" - }, - "dependencies": {}, - "description": "Maps old plugin ids to new plugin names for fetching from npm", - "devDependencies": { - "tape": "^3.5.0" - }, - "directories": {}, - "dist": { - "shasum": "e244b9185b8175473bff6079324905115f83dc7c", - "tarball": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz" - }, - "gitHead": "00af0f028ec94154a364eeabe38b8e22320647bd", - "homepage": "https://github.com/stevengill/cordova-registry-mapper#readme", - "keywords": [ - "cordova", - "plugins" - ], - "license": "Apache version 2.0", - "main": "index.js", - "maintainers": [ - { - "name": "stevegill", - "email": "stevengill97@gmail.com" - } - ], - "name": "cordova-registry-mapper", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/stevengill/cordova-registry-mapper.git" - }, - "scripts": { - "test": "node tests/test.js" - }, - "version": "1.1.15" -} diff --git a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/tests/test.js b/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/tests/test.js deleted file mode 100644 index 35343be..0000000 --- a/demo/platforms/android/cordova/node_modules/cordova-registry-mapper/tests/test.js +++ /dev/null @@ -1,11 +0,0 @@ -var test = require('tape'); -var oldToNew = require('../index').oldToNew; -var newToOld = require('../index').newToOld; - -test('plugin mappings exist', function(t) { - t.plan(2); - - t.equal('cordova-plugin-device', oldToNew['org.apache.cordova.device']); - - t.equal('org.apache.cordova.device', newToOld['cordova-plugin-device']); -}) diff --git a/demo/platforms/android/cordova/node_modules/elementtree/.npmignore b/demo/platforms/android/cordova/node_modules/elementtree/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/demo/platforms/android/cordova/node_modules/elementtree/.travis.yml b/demo/platforms/android/cordova/node_modules/elementtree/.travis.yml deleted file mode 100644 index 6f27c96..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/.travis.yml +++ /dev/null @@ -1,10 +0,0 @@ -language: node_js - -node_js: - - 0.6 - -script: make test - -notifications: - email: - - tomaz+travisci@tomaz.me diff --git a/demo/platforms/android/cordova/node_modules/elementtree/CHANGES.md b/demo/platforms/android/cordova/node_modules/elementtree/CHANGES.md deleted file mode 100644 index 50d415d..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/CHANGES.md +++ /dev/null @@ -1,39 +0,0 @@ -elementtree v0.1.6 (in development) - -* Add support for CData elements. (#14) - [hermannpencole] - -elementtree v0.1.5 - 2012-11-14 - -* Fix a bug in the find() and findtext() method which could manifest itself - under some conditions. - [metagriffin] - -elementtree v0.1.4 - 2012-10-15 - -* Allow user to use namespaced attributes when using find* functions. - [Andrew Lunny] - -elementtree v0.1.3 - 2012-09-21 - -* Improve the output of text content in the tags (strip unnecessary line break - characters). - -[Darryl Pogue] - -elementtree v0.1.2 - 2012-09-04 - - * Allow user to pass 'indent' option to ElementTree.write method. If this - option is specified (e.g. {'indent': 4}). XML will be pretty printed. - [Darryl Pogue, Tomaz Muraus] - - * Bump sax dependency version. - -elementtree v0.1.1 - 2011-09-23 - - * Improve special character escaping. - [Ryan Phillips] - -elementtree v0.1.0 - 2011-09-05 - - * Initial release. diff --git a/demo/platforms/android/cordova/node_modules/elementtree/LICENSE.txt b/demo/platforms/android/cordova/node_modules/elementtree/LICENSE.txt deleted file mode 100644 index 6b0b127..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/LICENSE.txt +++ /dev/null @@ -1,203 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/demo/platforms/android/cordova/node_modules/elementtree/Makefile b/demo/platforms/android/cordova/node_modules/elementtree/Makefile deleted file mode 100644 index ab7c4e0..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -TESTS := \ - tests/test-simple.js - - - -PATH := ./node_modules/.bin:$(PATH) - -WHISKEY := $(shell bash -c 'PATH=$(PATH) type -p whiskey') - -default: test - -test: - NODE_PATH=`pwd`/lib/ ${WHISKEY} --scope-leaks --sequential --real-time --tests "${TESTS}" - -tap: - NODE_PATH=`pwd`/lib/ ${WHISKEY} --test-reporter tap --sequential --real-time --tests "${TESTS}" - -coverage: - NODE_PATH=`pwd`/lib/ ${WHISKEY} --sequential --coverage --coverage-reporter html --coverage-dir coverage_html --tests "${TESTS}" - -.PHONY: default test coverage tap scope diff --git a/demo/platforms/android/cordova/node_modules/elementtree/NOTICE b/demo/platforms/android/cordova/node_modules/elementtree/NOTICE deleted file mode 100644 index 28ad70a..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/NOTICE +++ /dev/null @@ -1,5 +0,0 @@ -node-elementtree -Copyright (c) 2011, Rackspace, Inc. - -The ElementTree toolkit is Copyright (c) 1999-2007 by Fredrik Lundh - diff --git a/demo/platforms/android/cordova/node_modules/elementtree/README.md b/demo/platforms/android/cordova/node_modules/elementtree/README.md deleted file mode 100644 index 738420c..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/README.md +++ /dev/null @@ -1,141 +0,0 @@ -node-elementtree -==================== - -node-elementtree is a [Node.js](http://nodejs.org) XML parser and serializer based upon the [Python ElementTree v1.3](http://effbot.org/zone/element-index.htm) module. - -Installation -==================== - - $ npm install elementtree - -Using the library -==================== - -For the usage refer to the Python ElementTree library documentation - [http://effbot.org/zone/element-index.htm#usage](http://effbot.org/zone/element-index.htm#usage). - -Supported XPath expressions in `find`, `findall` and `findtext` methods are listed on [http://effbot.org/zone/element-xpath.htm](http://effbot.org/zone/element-xpath.htm). - -Example 1 – Creating An XML Document -==================== - -This example shows how to build a valid XML document that can be published to -Atom Hopper. Atom Hopper is used internally as a bridge from products all the -way to collecting revenue, called “Usage.” MaaS and other products send similar -events to it every time user performs an action on a resource -(e.g. creates,updates or deletes). Below is an example of leveraging the API -to create a new XML document. - -```javascript -var et = require('elementtree'); -var XML = et.XML; -var ElementTree = et.ElementTree; -var element = et.Element; -var subElement = et.SubElement; - -var date, root, tenantId, serviceName, eventType, usageId, dataCenter, region, -checks, resourceId, category, startTime, resourceName, etree, xml; - -date = new Date(); - -root = element('entry'); -root.set('xmlns', 'http://www.w3.org/2005/Atom'); - -tenantId = subElement(root, 'TenantId'); -tenantId.text = '12345'; - -serviceName = subElement(root, 'ServiceName'); -serviceName.text = 'MaaS'; - -resourceId = subElement(root, 'ResourceID'); -resourceId.text = 'enAAAA'; - -usageId = subElement(root, 'UsageID'); -usageId.text = '550e8400-e29b-41d4-a716-446655440000'; - -eventType = subElement(root, 'EventType'); -eventType.text = 'create'; - -category = subElement(root, 'category'); -category.set('term', 'monitoring.entity.create'); - -dataCenter = subElement(root, 'DataCenter'); -dataCenter.text = 'global'; - -region = subElement(root, 'Region'); -region.text = 'global'; - -startTime = subElement(root, 'StartTime'); -startTime.text = date; - -resourceName = subElement(root, 'ResourceName'); -resourceName.text = 'entity'; - -etree = new ElementTree(root); -xml = etree.write({'xml_declaration': false}); -console.log(xml); -``` - -As you can see, both et.Element and et.SubElement are factory methods which -return a new instance of Element and SubElement class, respectively. -When you create a new element (tag) you can use set method to set an attribute. -To set the tag value, assign a value to the .text attribute. - -This example would output a document that looks like this: - -```xml - - 12345 - MaaS - enAAAA - 550e8400-e29b-41d4-a716-446655440000 - create - - global - global - Sun Apr 29 2012 16:37:32 GMT-0700 (PDT) - entity - -``` - -Example 2 – Parsing An XML Document -==================== - -This example shows how to parse an XML document and use simple XPath selectors. -For demonstration purposes, we will use the XML document located at -https://gist.github.com/2554343. - -Behind the scenes, node-elementtree uses Isaac’s sax library for parsing XML, -but the library has a concept of “parsers,” which means it’s pretty simple to -add support for a different parser. - -```javascript -var fs = require('fs'); - -var et = require('elementtree'); - -var XML = et.XML; -var ElementTree = et.ElementTree; -var element = et.Element; -var subElement = et.SubElement; - -var data, etree; - -data = fs.readFileSync('document.xml').toString(); -etree = et.parse(data); - -console.log(etree.findall('./entry/TenantId').length); // 2 -console.log(etree.findtext('./entry/ServiceName')); // MaaS -console.log(etree.findall('./entry/category')[0].get('term')); // monitoring.entity.create -console.log(etree.findall('*/category/[@term="monitoring.entity.update"]').length); // 1 -``` - -Build status -==================== - -[![Build Status](https://secure.travis-ci.org/racker/node-elementtree.png)](http://travis-ci.org/racker/node-elementtree) - - -License -==================== - -node-elementtree is distributed under the [Apache license](http://www.apache.org/licenses/LICENSE-2.0.html). diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/constants.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/constants.js deleted file mode 100644 index b057faf..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/constants.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2011 Rackspace - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -var DEFAULT_PARSER = 'sax'; - -exports.DEFAULT_PARSER = DEFAULT_PARSER; diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/elementpath.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/elementpath.js deleted file mode 100644 index 2e93f47..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/elementpath.js +++ /dev/null @@ -1,343 +0,0 @@ -/** - * Copyright 2011 Rackspace - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -var sprintf = require('./sprintf').sprintf; - -var utils = require('./utils'); -var SyntaxError = require('./errors').SyntaxError; - -var _cache = {}; - -var RE = new RegExp( - "(" + - "'[^']*'|\"[^\"]*\"|" + - "::|" + - "//?|" + - "\\.\\.|" + - "\\(\\)|" + - "[/.*:\\[\\]\\(\\)@=])|" + - "((?:\\{[^}]+\\})?[^/\\[\\]\\(\\)@=\\s]+)|" + - "\\s+", 'g' -); - -var xpath_tokenizer = utils.findall.bind(null, RE); - -function prepare_tag(next, token) { - var tag = token[0]; - - function select(context, result) { - var i, len, elem, rv = []; - - for (i = 0, len = result.length; i < len; i++) { - elem = result[i]; - elem._children.forEach(function(e) { - if (e.tag === tag) { - rv.push(e); - } - }); - } - - return rv; - } - - return select; -} - -function prepare_star(next, token) { - function select(context, result) { - var i, len, elem, rv = []; - - for (i = 0, len = result.length; i < len; i++) { - elem = result[i]; - elem._children.forEach(function(e) { - rv.push(e); - }); - } - - return rv; - } - - return select; -} - -function prepare_dot(next, token) { - function select(context, result) { - var i, len, elem, rv = []; - - for (i = 0, len = result.length; i < len; i++) { - elem = result[i]; - rv.push(elem); - } - - return rv; - } - - return select; -} - -function prepare_iter(next, token) { - var tag; - token = next(); - - if (token[1] === '*') { - tag = '*'; - } - else if (!token[1]) { - tag = token[0] || ''; - } - else { - throw new SyntaxError(token); - } - - function select(context, result) { - var i, len, elem, rv = []; - - for (i = 0, len = result.length; i < len; i++) { - elem = result[i]; - elem.iter(tag, function(e) { - if (e !== elem) { - rv.push(e); - } - }); - } - - return rv; - } - - return select; -} - -function prepare_dot_dot(next, token) { - function select(context, result) { - var i, len, elem, rv = [], parent_map = context.parent_map; - - if (!parent_map) { - context.parent_map = parent_map = {}; - - context.root.iter(null, function(p) { - p._children.forEach(function(e) { - parent_map[e] = p; - }); - }); - } - - for (i = 0, len = result.length; i < len; i++) { - elem = result[i]; - - if (parent_map.hasOwnProperty(elem)) { - rv.push(parent_map[elem]); - } - } - - return rv; - } - - return select; -} - - -function prepare_predicate(next, token) { - var tag, key, value, select; - token = next(); - - if (token[1] === '@') { - // attribute - token = next(); - - if (token[1]) { - throw new SyntaxError(token, 'Invalid attribute predicate'); - } - - key = token[0]; - token = next(); - - if (token[1] === ']') { - select = function(context, result) { - var i, len, elem, rv = []; - - for (i = 0, len = result.length; i < len; i++) { - elem = result[i]; - - if (elem.get(key)) { - rv.push(elem); - } - } - - return rv; - }; - } - else if (token[1] === '=') { - value = next()[1]; - - if (value[0] === '"' || value[value.length - 1] === '\'') { - value = value.slice(1, value.length - 1); - } - else { - throw new SyntaxError(token, 'Ivalid comparison target'); - } - - token = next(); - select = function(context, result) { - var i, len, elem, rv = []; - - for (i = 0, len = result.length; i < len; i++) { - elem = result[i]; - - if (elem.get(key) === value) { - rv.push(elem); - } - } - - return rv; - }; - } - - if (token[1] !== ']') { - throw new SyntaxError(token, 'Invalid attribute predicate'); - } - } - else if (!token[1]) { - tag = token[0] || ''; - token = next(); - - if (token[1] !== ']') { - throw new SyntaxError(token, 'Invalid node predicate'); - } - - select = function(context, result) { - var i, len, elem, rv = []; - - for (i = 0, len = result.length; i < len; i++) { - elem = result[i]; - - if (elem.find(tag)) { - rv.push(elem); - } - } - - return rv; - }; - } - else { - throw new SyntaxError(null, 'Invalid predicate'); - } - - return select; -} - - - -var ops = { - "": prepare_tag, - "*": prepare_star, - ".": prepare_dot, - "..": prepare_dot_dot, - "//": prepare_iter, - "[": prepare_predicate, -}; - -function _SelectorContext(root) { - this.parent_map = null; - this.root = root; -} - -function findall(elem, path) { - var selector, result, i, len, token, value, select, context; - - if (_cache.hasOwnProperty(path)) { - selector = _cache[path]; - } - else { - // TODO: Use smarter cache purging approach - if (Object.keys(_cache).length > 100) { - _cache = {}; - } - - if (path.charAt(0) === '/') { - throw new SyntaxError(null, 'Cannot use absolute path on element'); - } - - result = xpath_tokenizer(path); - selector = []; - - function getToken() { - return result.shift(); - } - - token = getToken(); - while (true) { - var c = token[1] || ''; - value = ops[c](getToken, token); - - if (!value) { - throw new SyntaxError(null, sprintf('Invalid path: %s', path)); - } - - selector.push(value); - token = getToken(); - - if (!token) { - break; - } - else if (token[1] === '/') { - token = getToken(); - } - - if (!token) { - break; - } - } - - _cache[path] = selector; - } - - // Execute slector pattern - result = [elem]; - context = new _SelectorContext(elem); - - for (i = 0, len = selector.length; i < len; i++) { - select = selector[i]; - result = select(context, result); - } - - return result || []; -} - -function find(element, path) { - var resultElements = findall(element, path); - - if (resultElements && resultElements.length > 0) { - return resultElements[0]; - } - - return null; -} - -function findtext(element, path, defvalue) { - var resultElements = findall(element, path); - - if (resultElements && resultElements.length > 0) { - return resultElements[0].text; - } - - return defvalue; -} - - -exports.find = find; -exports.findall = findall; -exports.findtext = findtext; diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/elementtree.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/elementtree.js deleted file mode 100644 index 61d9276..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/elementtree.js +++ /dev/null @@ -1,611 +0,0 @@ -/** - * Copyright 2011 Rackspace - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -var sprintf = require('./sprintf').sprintf; - -var utils = require('./utils'); -var ElementPath = require('./elementpath'); -var TreeBuilder = require('./treebuilder').TreeBuilder; -var get_parser = require('./parser').get_parser; -var constants = require('./constants'); - -var element_ids = 0; - -function Element(tag, attrib) -{ - this._id = element_ids++; - this.tag = tag; - this.attrib = {}; - this.text = null; - this.tail = null; - this._children = []; - - if (attrib) { - this.attrib = utils.merge(this.attrib, attrib); - } -} - -Element.prototype.toString = function() -{ - return sprintf("", this.tag, this._id); -}; - -Element.prototype.makeelement = function(tag, attrib) -{ - return new Element(tag, attrib); -}; - -Element.prototype.len = function() -{ - return this._children.length; -}; - -Element.prototype.getItem = function(index) -{ - return this._children[index]; -}; - -Element.prototype.setItem = function(index, element) -{ - this._children[index] = element; -}; - -Element.prototype.delItem = function(index) -{ - this._children.splice(index, 1); -}; - -Element.prototype.getSlice = function(start, stop) -{ - return this._children.slice(start, stop); -}; - -Element.prototype.setSlice = function(start, stop, elements) -{ - var i; - var k = 0; - for (i = start; i < stop; i++, k++) { - this._children[i] = elements[k]; - } -}; - -Element.prototype.delSlice = function(start, stop) -{ - this._children.splice(start, stop - start); -}; - -Element.prototype.append = function(element) -{ - this._children.push(element); -}; - -Element.prototype.extend = function(elements) -{ - this._children.concat(elements); -}; - -Element.prototype.insert = function(index, element) -{ - this._children[index] = element; -}; - -Element.prototype.remove = function(element) -{ - this._children = this._children.filter(function(e) { - /* TODO: is this the right way to do this? */ - if (e._id === element._id) { - return false; - } - return true; - }); -}; - -Element.prototype.getchildren = function() { - return this._children; -}; - -Element.prototype.find = function(path) -{ - return ElementPath.find(this, path); -}; - -Element.prototype.findtext = function(path, defvalue) -{ - return ElementPath.findtext(this, path, defvalue); -}; - -Element.prototype.findall = function(path, defvalue) -{ - return ElementPath.findall(this, path, defvalue); -}; - -Element.prototype.clear = function() -{ - this.attrib = {}; - this._children = []; - this.text = null; - this.tail = null; -}; - -Element.prototype.get = function(key, defvalue) -{ - if (this.attrib[key] !== undefined) { - return this.attrib[key]; - } - else { - return defvalue; - } -}; - -Element.prototype.set = function(key, value) -{ - this.attrib[key] = value; -}; - -Element.prototype.keys = function() -{ - return Object.keys(this.attrib); -}; - -Element.prototype.items = function() -{ - return utils.items(this.attrib); -}; - -/* - * In python this uses a generator, but in v8 we don't have em, - * so we use a callback instead. - **/ -Element.prototype.iter = function(tag, callback) -{ - var self = this; - var i, child; - - if (tag === "*") { - tag = null; - } - - if (tag === null || this.tag === tag) { - callback(self); - } - - for (i = 0; i < this._children.length; i++) { - child = this._children[i]; - child.iter(tag, function(e) { - callback(e); - }); - } -}; - -Element.prototype.itertext = function(callback) -{ - this.iter(null, function(e) { - if (e.text) { - callback(e.text); - } - - if (e.tail) { - callback(e.tail); - } - }); -}; - - -function SubElement(parent, tag, attrib) { - var element = parent.makeelement(tag, attrib); - parent.append(element); - return element; -} - -function Comment(text) { - var element = new Element(Comment); - if (text) { - element.text = text; - } - return element; -} - -function CData(text) { - var element = new Element(CData); - if (text) { - element.text = text; - } - return element; -} - -function ProcessingInstruction(target, text) -{ - var element = new Element(ProcessingInstruction); - element.text = target; - if (text) { - element.text = element.text + " " + text; - } - return element; -} - -function QName(text_or_uri, tag) -{ - if (tag) { - text_or_uri = sprintf("{%s}%s", text_or_uri, tag); - } - this.text = text_or_uri; -} - -QName.prototype.toString = function() { - return this.text; -}; - -function ElementTree(element) -{ - this._root = element; -} - -ElementTree.prototype.getroot = function() { - return this._root; -}; - -ElementTree.prototype._setroot = function(element) { - this._root = element; -}; - -ElementTree.prototype.parse = function(source, parser) { - if (!parser) { - parser = get_parser(constants.DEFAULT_PARSER); - parser = new parser.XMLParser(new TreeBuilder()); - } - - parser.feed(source); - this._root = parser.close(); - return this._root; -}; - -ElementTree.prototype.iter = function(tag, callback) { - this._root.iter(tag, callback); -}; - -ElementTree.prototype.find = function(path) { - return this._root.find(path); -}; - -ElementTree.prototype.findtext = function(path, defvalue) { - return this._root.findtext(path, defvalue); -}; - -ElementTree.prototype.findall = function(path) { - return this._root.findall(path); -}; - -/** - * Unlike ElementTree, we don't write to a file, we return you a string. - */ -ElementTree.prototype.write = function(options) { - var sb = []; - options = utils.merge({ - encoding: 'utf-8', - xml_declaration: null, - default_namespace: null, - method: 'xml'}, options); - - if (options.xml_declaration !== false) { - sb.push("\n"); - } - - if (options.method === "text") { - _serialize_text(sb, self._root, encoding); - } - else { - var qnames, namespaces, indent, indent_string; - var x = _namespaces(this._root, options.encoding, options.default_namespace); - qnames = x[0]; - namespaces = x[1]; - - if (options.hasOwnProperty('indent')) { - indent = 0; - indent_string = new Array(options.indent + 1).join(' '); - } - else { - indent = false; - } - - if (options.method === "xml") { - _serialize_xml(function(data) { - sb.push(data); - }, this._root, options.encoding, qnames, namespaces, indent, indent_string); - } - else { - /* TODO: html */ - throw new Error("unknown serialization method "+ options.method); - } - } - - return sb.join(""); -}; - -var _namespace_map = { - /* "well-known" namespace prefixes */ - "http://www.w3.org/XML/1998/namespace": "xml", - "http://www.w3.org/1999/xhtml": "html", - "http://www.w3.org/1999/02/22-rdf-syntax-ns#": "rdf", - "http://schemas.xmlsoap.org/wsdl/": "wsdl", - /* xml schema */ - "http://www.w3.org/2001/XMLSchema": "xs", - "http://www.w3.org/2001/XMLSchema-instance": "xsi", - /* dublic core */ - "http://purl.org/dc/elements/1.1/": "dc", -}; - -function register_namespace(prefix, uri) { - if (/ns\d+$/.test(prefix)) { - throw new Error('Prefix format reserved for internal use'); - } - - if (_namespace_map.hasOwnProperty(uri) && _namespace_map[uri] === prefix) { - delete _namespace_map[uri]; - } - - _namespace_map[uri] = prefix; -} - - -function _escape(text, encoding, isAttribute, isText) { - if (text) { - text = text.toString(); - text = text.replace(/&/g, '&'); - text = text.replace(//g, '>'); - if (!isText) { - text = text.replace(/\n/g, ' '); - text = text.replace(/\r/g, ' '); - } - if (isAttribute) { - text = text.replace(/"/g, '"'); - } - } - return text; -} - -/* TODO: benchmark single regex */ -function _escape_attrib(text, encoding) { - return _escape(text, encoding, true); -} - -function _escape_cdata(text, encoding) { - return _escape(text, encoding, false); -} - -function _escape_text(text, encoding) { - return _escape(text, encoding, false, true); -} - -function _namespaces(elem, encoding, default_namespace) { - var qnames = {}; - var namespaces = {}; - - if (default_namespace) { - namespaces[default_namespace] = ""; - } - - function encode(text) { - return text; - } - - function add_qname(qname) { - if (qname[0] === "{") { - var tmp = qname.substring(1).split("}", 2); - var uri = tmp[0]; - var tag = tmp[1]; - var prefix = namespaces[uri]; - - if (prefix === undefined) { - prefix = _namespace_map[uri]; - if (prefix === undefined) { - prefix = "ns" + Object.keys(namespaces).length; - } - if (prefix !== "xml") { - namespaces[uri] = prefix; - } - } - - if (prefix) { - qnames[qname] = sprintf("%s:%s", prefix, tag); - } - else { - qnames[qname] = tag; - } - } - else { - if (default_namespace) { - throw new Error('cannot use non-qualified names with default_namespace option'); - } - - qnames[qname] = qname; - } - } - - - elem.iter(null, function(e) { - var i; - var tag = e.tag; - var text = e.text; - var items = e.items(); - - if (tag instanceof QName && qnames[tag.text] === undefined) { - add_qname(tag.text); - } - else if (typeof(tag) === "string") { - add_qname(tag); - } - else if (tag !== null && tag !== Comment && tag !== CData && tag !== ProcessingInstruction) { - throw new Error('Invalid tag type for serialization: '+ tag); - } - - if (text instanceof QName && qnames[text.text] === undefined) { - add_qname(text.text); - } - - items.forEach(function(item) { - var key = item[0], - value = item[1]; - if (key instanceof QName) { - key = key.text; - } - - if (qnames[key] === undefined) { - add_qname(key); - } - - if (value instanceof QName && qnames[value.text] === undefined) { - add_qname(value.text); - } - }); - }); - return [qnames, namespaces]; -} - -function _serialize_xml(write, elem, encoding, qnames, namespaces, indent, indent_string) { - var tag = elem.tag; - var text = elem.text; - var items; - var i; - - var newlines = indent || (indent === 0); - write(Array(indent + 1).join(indent_string)); - - if (tag === Comment) { - write(sprintf("", _escape_cdata(text, encoding))); - } - else if (tag === ProcessingInstruction) { - write(sprintf("", _escape_cdata(text, encoding))); - } - else if (tag === CData) { - text = text || ''; - write(sprintf("", text)); - } - else { - tag = qnames[tag]; - if (tag === undefined) { - if (text) { - write(_escape_text(text, encoding)); - } - elem.iter(function(e) { - _serialize_xml(write, e, encoding, qnames, null, newlines ? indent + 1 : false, indent_string); - }); - } - else { - write("<" + tag); - items = elem.items(); - - if (items || namespaces) { - items.sort(); // lexical order - - items.forEach(function(item) { - var k = item[0], - v = item[1]; - - if (k instanceof QName) { - k = k.text; - } - - if (v instanceof QName) { - v = qnames[v.text]; - } - else { - v = _escape_attrib(v, encoding); - } - write(sprintf(" %s=\"%s\"", qnames[k], v)); - }); - - if (namespaces) { - items = utils.items(namespaces); - items.sort(function(a, b) { return a[1] < b[1]; }); - - items.forEach(function(item) { - var k = item[1], - v = item[0]; - - if (k) { - k = ':' + k; - } - - write(sprintf(" xmlns%s=\"%s\"", k, _escape_attrib(v, encoding))); - }); - } - } - - if (text || elem.len()) { - if (text && text.toString().match(/^\s*$/)) { - text = null; - } - - write(">"); - if (!text && newlines) { - write("\n"); - } - - if (text) { - write(_escape_text(text, encoding)); - } - elem._children.forEach(function(e) { - _serialize_xml(write, e, encoding, qnames, null, newlines ? indent + 1 : false, indent_string); - }); - - if (!text && indent) { - write(Array(indent + 1).join(indent_string)); - } - write(""); - } - else { - write(" />"); - } - } - } - - if (newlines) { - write("\n"); - } -} - -function parse(source, parser) { - var tree = new ElementTree(); - tree.parse(source, parser); - return tree; -} - -function tostring(element, options) { - return new ElementTree(element).write(options); -} - -exports.PI = ProcessingInstruction; -exports.Comment = Comment; -exports.CData = CData; -exports.ProcessingInstruction = ProcessingInstruction; -exports.SubElement = SubElement; -exports.QName = QName; -exports.ElementTree = ElementTree; -exports.ElementPath = ElementPath; -exports.Element = function(tag, attrib) { - return new Element(tag, attrib); -}; - -exports.XML = function(data) { - var et = new ElementTree(); - return et.parse(data); -}; - -exports.parse = parse; -exports.register_namespace = register_namespace; -exports.tostring = tostring; diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/errors.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/errors.js deleted file mode 100644 index e8742be..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/errors.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright 2011 Rackspace - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -var util = require('util'); - -var sprintf = require('./sprintf').sprintf; - -function SyntaxError(token, msg) { - msg = msg || sprintf('Syntax Error at token %s', token.toString()); - this.token = token; - this.message = msg; - Error.call(this, msg); -} - -util.inherits(SyntaxError, Error); - -exports.SyntaxError = SyntaxError; diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/parser.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/parser.js deleted file mode 100644 index 7307ee4..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/parser.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2011 Rackspace - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -/* TODO: support node-expat C++ module optionally */ - -var util = require('util'); -var parsers = require('./parsers/index'); - -function get_parser(name) { - if (name === 'sax') { - return parsers.sax; - } - else { - throw new Error('Invalid parser: ' + name); - } -} - - -exports.get_parser = get_parser; diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/parsers/index.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/parsers/index.js deleted file mode 100644 index 5eac5c8..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/parsers/index.js +++ /dev/null @@ -1 +0,0 @@ -exports.sax = require('./sax'); diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/parsers/sax.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/parsers/sax.js deleted file mode 100644 index 69b0a59..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/parsers/sax.js +++ /dev/null @@ -1,56 +0,0 @@ -var util = require('util'); - -var sax = require('sax'); - -var TreeBuilder = require('./../treebuilder').TreeBuilder; - -function XMLParser(target) { - this.parser = sax.parser(true); - - this.target = (target) ? target : new TreeBuilder(); - - this.parser.onopentag = this._handleOpenTag.bind(this); - this.parser.ontext = this._handleText.bind(this); - this.parser.oncdata = this._handleCdata.bind(this); - this.parser.ondoctype = this._handleDoctype.bind(this); - this.parser.oncomment = this._handleComment.bind(this); - this.parser.onclosetag = this._handleCloseTag.bind(this); - this.parser.onerror = this._handleError.bind(this); -} - -XMLParser.prototype._handleOpenTag = function(tag) { - this.target.start(tag.name, tag.attributes); -}; - -XMLParser.prototype._handleText = function(text) { - this.target.data(text); -}; - -XMLParser.prototype._handleCdata = function(text) { - this.target.data(text); -}; - -XMLParser.prototype._handleDoctype = function(text) { -}; - -XMLParser.prototype._handleComment = function(comment) { -}; - -XMLParser.prototype._handleCloseTag = function(tag) { - this.target.end(tag); -}; - -XMLParser.prototype._handleError = function(err) { - throw err; -}; - -XMLParser.prototype.feed = function(chunk) { - this.parser.write(chunk); -}; - -XMLParser.prototype.close = function() { - this.parser.close(); - return this.target.close(); -}; - -exports.XMLParser = XMLParser; diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/sprintf.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/sprintf.js deleted file mode 100644 index f802c1b..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/sprintf.js +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2011 Rackspace - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -var cache = {}; - - -// Do any others need escaping? -var TO_ESCAPE = { - '\'': '\\\'', - '\n': '\\n' -}; - - -function populate(formatter) { - var i, type, - key = formatter, - prev = 0, - arg = 1, - builder = 'return \''; - - for (i = 0; i < formatter.length; i++) { - if (formatter[i] === '%') { - type = formatter[i + 1]; - - switch (type) { - case 's': - builder += formatter.slice(prev, i) + '\' + arguments[' + arg + '] + \''; - prev = i + 2; - arg++; - break; - case 'j': - builder += formatter.slice(prev, i) + '\' + JSON.stringify(arguments[' + arg + ']) + \''; - prev = i + 2; - arg++; - break; - case '%': - builder += formatter.slice(prev, i + 1); - prev = i + 2; - i++; - break; - } - - - } else if (TO_ESCAPE[formatter[i]]) { - builder += formatter.slice(prev, i) + TO_ESCAPE[formatter[i]]; - prev = i + 1; - } - } - - builder += formatter.slice(prev) + '\';'; - cache[key] = new Function(builder); -} - - -/** - * A fast version of sprintf(), which currently only supports the %s and %j. - * This caches a formatting function for each format string that is used, so - * you should only use this sprintf() will be called many times with a single - * format string and a limited number of format strings will ever be used (in - * general this means that format strings should be string literals). - * - * @param {String} formatter A format string. - * @param {...String} var_args Values that will be formatted by %s and %j. - * @return {String} The formatted output. - */ -exports.sprintf = function(formatter, var_args) { - if (!cache[formatter]) { - populate(formatter); - } - - return cache[formatter].apply(null, arguments); -}; diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/treebuilder.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/treebuilder.js deleted file mode 100644 index 393a98f..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/treebuilder.js +++ /dev/null @@ -1,60 +0,0 @@ -function TreeBuilder(element_factory) { - this._data = []; - this._elem = []; - this._last = null; - this._tail = null; - if (!element_factory) { - /* evil circular dep */ - element_factory = require('./elementtree').Element; - } - this._factory = element_factory; -} - -TreeBuilder.prototype.close = function() { - return this._last; -}; - -TreeBuilder.prototype._flush = function() { - if (this._data) { - if (this._last !== null) { - var text = this._data.join(""); - if (this._tail) { - this._last.tail = text; - } - else { - this._last.text = text; - } - } - this._data = []; - } -}; - -TreeBuilder.prototype.data = function(data) { - this._data.push(data); -}; - -TreeBuilder.prototype.start = function(tag, attrs) { - this._flush(); - var elem = this._factory(tag, attrs); - this._last = elem; - - if (this._elem.length) { - this._elem[this._elem.length - 1].append(elem); - } - - this._elem.push(elem); - - this._tail = null; -}; - -TreeBuilder.prototype.end = function(tag) { - this._flush(); - this._last = this._elem.pop(); - if (this._last.tag !== tag) { - throw new Error("end tag mismatch"); - } - this._tail = 1; - return this._last; -}; - -exports.TreeBuilder = TreeBuilder; diff --git a/demo/platforms/android/cordova/node_modules/elementtree/lib/utils.js b/demo/platforms/android/cordova/node_modules/elementtree/lib/utils.js deleted file mode 100644 index b08a670..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/lib/utils.js +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Copyright 2011 Rackspace - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -/** - * @param {Object} hash. - * @param {Array} ignored. - */ -function items(hash, ignored) { - ignored = ignored || null; - var k, rv = []; - - function is_ignored(key) { - if (!ignored || ignored.length === 0) { - return false; - } - - return ignored.indexOf(key); - } - - for (k in hash) { - if (hash.hasOwnProperty(k) && !(is_ignored(ignored))) { - rv.push([k, hash[k]]); - } - } - - return rv; -} - - -function findall(re, str) { - var match, matches = []; - - while ((match = re.exec(str))) { - matches.push(match); - } - - return matches; -} - -function merge(a, b) { - var c = {}, attrname; - - for (attrname in a) { - if (a.hasOwnProperty(attrname)) { - c[attrname] = a[attrname]; - } - } - for (attrname in b) { - if (b.hasOwnProperty(attrname)) { - c[attrname] = b[attrname]; - } - } - return c; -} - -exports.items = items; -exports.findall = findall; -exports.merge = merge; diff --git a/demo/platforms/android/cordova/node_modules/elementtree/package.json b/demo/platforms/android/cordova/node_modules/elementtree/package.json deleted file mode 100644 index 6546ca8..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/package.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "elementtree@0.1.6", - "scope": null, - "escapedName": "elementtree", - "name": "elementtree", - "rawSpec": "0.1.6", - "spec": "0.1.6", - "type": "version" - }, - "/Users/jbowser/cordova/cordova-android" - ] - ], - "_from": "elementtree@0.1.6", - "_id": "elementtree@0.1.6", - "_inCache": true, - "_location": "/cordova-android/elementtree", - "_npmUser": { - "name": "rphillips", - "email": "ryan@trolocsis.com" - }, - "_npmVersion": "1.3.24", - "_phantomChildren": {}, - "_requested": { - "raw": "elementtree@0.1.6", - "scope": null, - "escapedName": "elementtree", - "name": "elementtree", - "rawSpec": "0.1.6", - "spec": "0.1.6", - "type": "version" - }, - "_requiredBy": [ - "/cordova-android", - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz", - "_shasum": "2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c", - "_shrinkwrap": null, - "_spec": "elementtree@0.1.6", - "_where": "/Users/jbowser/cordova/cordova-android", - "author": { - "name": "Rackspace US, Inc." - }, - "bugs": { - "url": "https://github.com/racker/node-elementtree/issues" - }, - "contributors": [ - { - "name": "Paul Querna", - "email": "paul.querna@rackspace.com" - }, - { - "name": "Tomaz Muraus", - "email": "tomaz.muraus@rackspace.com" - } - ], - "dependencies": { - "sax": "0.3.5" - }, - "description": "XML Serialization and Parsing module based on Python's ElementTree.", - "devDependencies": { - "whiskey": "0.8.x" - }, - "directories": { - "lib": "lib" - }, - "dist": { - "shasum": "2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c", - "tarball": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz" - }, - "engines": { - "node": ">= 0.4.0" - }, - "homepage": "https://github.com/racker/node-elementtree", - "keywords": [ - "xml", - "sax", - "parser", - "seralization", - "elementtree" - ], - "licenses": [ - { - "type": "Apache", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" - } - ], - "main": "lib/elementtree.js", - "maintainers": [ - { - "name": "rphillips", - "email": "ryan@trolocsis.com" - } - ], - "name": "elementtree", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/racker/node-elementtree.git" - }, - "scripts": { - "test": "make test" - }, - "version": "0.1.6" -} diff --git a/demo/platforms/android/cordova/node_modules/elementtree/tests/data/xml1.xml b/demo/platforms/android/cordova/node_modules/elementtree/tests/data/xml1.xml deleted file mode 100644 index 72c33ae..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/tests/data/xml1.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - dd - test_object_1 - 4281c348eaf83e70ddce0e07221c3d28 - 14 - application/octetstream - 2009-02-03T05:26:32.612278 - - - test_object_2 - b039efe731ad111bc1b0ef221c3849d0 - 64 - application/octetstream - 2009-02-03T05:26:32.612278 - - diff --git a/demo/platforms/android/cordova/node_modules/elementtree/tests/data/xml2.xml b/demo/platforms/android/cordova/node_modules/elementtree/tests/data/xml2.xml deleted file mode 100644 index 5f94bbd..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/tests/data/xml2.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - Hello World - - - - - - - - diff --git a/demo/platforms/android/cordova/node_modules/elementtree/tests/test-simple.js b/demo/platforms/android/cordova/node_modules/elementtree/tests/test-simple.js deleted file mode 100644 index 1fc04b8..0000000 --- a/demo/platforms/android/cordova/node_modules/elementtree/tests/test-simple.js +++ /dev/null @@ -1,339 +0,0 @@ -/** - * Copyright 2011 Rackspace - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -var fs = require('fs'); -var path = require('path'); - -var sprintf = require('./../lib/sprintf').sprintf; -var et = require('elementtree'); -var XML = et.XML; -var ElementTree = et.ElementTree; -var Element = et.Element; -var SubElement = et.SubElement; -var SyntaxError = require('./../lib/errors').SyntaxError; - -function readFile(name) { - return fs.readFileSync(path.join(__dirname, '/data/', name), 'utf8'); -} - -exports['test_simplest'] = function(test, assert) { - /* Ported from */ - var Element = et.Element; - var root = Element('root'); - root.append(Element('one')); - root.append(Element('two')); - root.append(Element('three')); - assert.equal(3, root.len()); - assert.equal('one', root.getItem(0).tag); - assert.equal('two', root.getItem(1).tag); - assert.equal('three', root.getItem(2).tag); - test.finish(); -}; - - -exports['test_attribute_values'] = function(test, assert) { - var XML = et.XML; - var root = XML(''); - assert.equal('Alpha', root.attrib['alpha']); - assert.equal('Beta', root.attrib['beta']); - assert.equal('Gamma', root.attrib['gamma']); - test.finish(); -}; - - -exports['test_findall'] = function(test, assert) { - var XML = et.XML; - var root = XML(''); - - assert.equal(root.findall("c").length, 1); - assert.equal(root.findall(".//c").length, 2); - assert.equal(root.findall(".//b").length, 3); - assert.equal(root.findall(".//b")[0]._children.length, 1); - assert.equal(root.findall(".//b")[1]._children.length, 0); - assert.equal(root.findall(".//b")[2]._children.length, 0); - assert.deepEqual(root.findall('.//b')[0], root.getchildren()[0]); - - test.finish(); -}; - -exports['test_find'] = function(test, assert) { - var a = Element('a'); - var b = SubElement(a, 'b'); - var c = SubElement(a, 'c'); - - assert.deepEqual(a.find('./b/..'), a); - test.finish(); -}; - -exports['test_elementtree_find_qname'] = function(test, assert) { - var tree = new et.ElementTree(XML('')); - assert.deepEqual(tree.find(new et.QName('c')), tree.getroot()._children[2]); - test.finish(); -}; - -exports['test_attrib_ns_clear'] = function(test, assert) { - var attribNS = '{http://foo/bar}x'; - - var par = Element('par'); - par.set(attribNS, 'a'); - var child = SubElement(par, 'child'); - child.set(attribNS, 'b'); - - assert.equal('a', par.get(attribNS)); - assert.equal('b', child.get(attribNS)); - - par.clear(); - assert.equal(null, par.get(attribNS)); - assert.equal('b', child.get(attribNS)); - test.finish(); -}; - -exports['test_create_tree_and_parse_simple'] = function(test, assert) { - var i = 0; - var e = new Element('bar', {}); - var expected = "\n" + - 'ponies'; - - SubElement(e, "blah", {a: 11}); - SubElement(e, "blah", {a: 12}); - var se = et.SubElement(e, "gag", {a: '13', b: 'abc'}); - se.text = 'ponies'; - - se.itertext(function(text) { - assert.equal(text, 'ponies'); - i++; - }); - - assert.equal(i, 1); - var etree = new ElementTree(e); - var xml = etree.write(); - assert.equal(xml, expected); - test.finish(); -}; - -exports['test_write_with_options'] = function(test, assert) { - var i = 0; - var e = new Element('bar', {}); - var expected1 = "\n" + - '\n' + - ' \n' + - ' test\n' + - ' \n' + - ' \n' + - ' ponies\n' + - '\n'; - var expected2 = "\n" + - '\n' + - ' \n' + - ' test\n' + - ' \n' + - ' \n' + - ' ponies\n' + - '\n'; - - var expected3 = "\n" + - '\n' + - ' \n' + - ' Hello World\n' + - ' \n' + - ' \n' + - ' \n' + - ' \n' + - ' \n' + - ' \n' + - ' \n' + - ' Test & Test & Test\n' + - ' \n' + - '\n'; - - var se1 = SubElement(e, "blah", {a: 11}); - var se2 = SubElement(se1, "baz", {d: 11}); - se2.text = 'test'; - SubElement(e, "blah", {a: 12}); - var se = et.SubElement(e, "gag", {a: '13', b: 'abc'}); - se.text = 'ponies'; - - se.itertext(function(text) { - assert.equal(text, 'ponies'); - i++; - }); - - assert.equal(i, 1); - var etree = new ElementTree(e); - var xml1 = etree.write({'indent': 4}); - var xml2 = etree.write({'indent': 2}); - assert.equal(xml1, expected1); - assert.equal(xml2, expected2); - - var file = readFile('xml2.xml'); - var etree2 = et.parse(file); - var xml3 = etree2.write({'indent': 4}); - assert.equal(xml3, expected3); - test.finish(); -}; - -exports['test_parse_and_find_2'] = function(test, assert) { - var data = readFile('xml1.xml'); - var etree = et.parse(data); - - assert.equal(etree.findall('./object').length, 2); - assert.equal(etree.findall('[@name]').length, 1); - assert.equal(etree.findall('[@name="test_container_1"]').length, 1); - assert.equal(etree.findall('[@name=\'test_container_1\']').length, 1); - assert.equal(etree.findall('./object')[0].findtext('name'), 'test_object_1'); - assert.equal(etree.findtext('./object/name'), 'test_object_1'); - assert.equal(etree.findall('.//bytes').length, 2); - assert.equal(etree.findall('*/bytes').length, 2); - assert.equal(etree.findall('*/foobar').length, 0); - - test.finish(); -}; - -exports['test_namespaced_attribute'] = function(test, assert) { - var data = readFile('xml1.xml'); - var etree = et.parse(data); - - assert.equal(etree.findall('*/bytes[@android:type="cool"]').length, 1); - - test.finish(); -} - -exports['test_syntax_errors'] = function(test, assert) { - var expressions = [ './/@bar', '[@bar', '[@foo=bar]', '[@', '/bar' ]; - var errCount = 0; - var data = readFile('xml1.xml'); - var etree = et.parse(data); - - expressions.forEach(function(expression) { - try { - etree.findall(expression); - } - catch (err) { - errCount++; - } - }); - - assert.equal(errCount, expressions.length); - test.finish(); -}; - -exports['test_register_namespace'] = function(test, assert){ - var prefix = 'TESTPREFIX'; - var namespace = 'http://seriously.unknown/namespace/URI'; - var errCount = 0; - - var etree = Element(sprintf('{%s}test', namespace)); - assert.equal(et.tostring(etree, { 'xml_declaration': false}), - sprintf('', namespace)); - - et.register_namespace(prefix, namespace); - var etree = Element(sprintf('{%s}test', namespace)); - assert.equal(et.tostring(etree, { 'xml_declaration': false}), - sprintf('<%s:test xmlns:%s="%s" />', prefix, prefix, namespace)); - - try { - et.register_namespace('ns25', namespace); - } - catch (err) { - errCount++; - } - - assert.equal(errCount, 1, 'Reserved prefix used, but exception was not thrown'); - test.finish(); -}; - -exports['test_tostring'] = function(test, assert) { - var a = Element('a'); - var b = SubElement(a, 'b'); - var c = SubElement(a, 'c'); - c.text = 543; - - assert.equal(et.tostring(a, { 'xml_declaration': false }), '543'); - assert.equal(et.tostring(c, { 'xml_declaration': false }), '543'); - test.finish(); -}; - -exports['test_escape'] = function(test, assert) { - var a = Element('a'); - var b = SubElement(a, 'b'); - b.text = '&&&&<>"\n\r'; - - assert.equal(et.tostring(a, { 'xml_declaration': false }), '&&&&<>\"\n\r'); - test.finish(); -}; - -exports['test_find_null'] = function(test, assert) { - var root = Element('root'); - var node = SubElement(root, 'node'); - var leaf = SubElement(node, 'leaf'); - leaf.text = 'ipsum'; - - assert.equal(root.find('node/leaf'), leaf); - assert.equal(root.find('no-such-node/leaf'), null); - test.finish(); -}; - -exports['test_findtext_null'] = function(test, assert) { - var root = Element('root'); - var node = SubElement(root, 'node'); - var leaf = SubElement(node, 'leaf'); - leaf.text = 'ipsum'; - - assert.equal(root.findtext('node/leaf'), 'ipsum'); - assert.equal(root.findtext('no-such-node/leaf'), null); - test.finish(); -}; - -exports['test_remove'] = function(test, assert) { - var root = Element('root'); - var node1 = SubElement(root, 'node1'); - var node2 = SubElement(root, 'node2'); - var node3 = SubElement(root, 'node3'); - - assert.equal(root.len(), 3); - - root.remove(node2); - - assert.equal(root.len(), 2); - assert.equal(root.getItem(0).tag, 'node1') - assert.equal(root.getItem(1).tag, 'node3') - - test.finish(); -}; - -exports['test_cdata_write'] = function(test, assert) { - var root, etree, xml, values, value, i; - - values = [ - 'if(0>1) then true;', - 'ponies hello', - '' - ]; - - for (i = 0; i < values.length; i++) { - value = values[i]; - - root = Element('root'); - root.append(et.CData(value)); - etree = new ElementTree(root); - xml = etree.write({'xml_declaration': false}); - - assert.equal(xml, sprintf('', value)); - } - - test.finish(); -}; diff --git a/demo/platforms/android/cordova/node_modules/glob/LICENSE b/demo/platforms/android/cordova/node_modules/glob/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/demo/platforms/android/cordova/node_modules/glob/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/demo/platforms/android/cordova/node_modules/glob/README.md b/demo/platforms/android/cordova/node_modules/glob/README.md deleted file mode 100644 index 063cf95..0000000 --- a/demo/platforms/android/cordova/node_modules/glob/README.md +++ /dev/null @@ -1,377 +0,0 @@ -[![Build Status](https://travis-ci.org/isaacs/node-glob.svg?branch=master)](https://travis-ci.org/isaacs/node-glob/) [![Dependency Status](https://david-dm.org/isaacs/node-glob.svg)](https://david-dm.org/isaacs/node-glob) [![devDependency Status](https://david-dm.org/isaacs/node-glob/dev-status.svg)](https://david-dm.org/isaacs/node-glob#info=devDependencies) [![optionalDependency Status](https://david-dm.org/isaacs/node-glob/optional-status.svg)](https://david-dm.org/isaacs/node-glob#info=optionalDependencies) - -# Glob - -Match files using the patterns the shell uses, like stars and stuff. - -This is a glob implementation in JavaScript. It uses the `minimatch` -library to do its matching. - -![](oh-my-glob.gif) - -## Usage - -```javascript -var glob = require("glob") - -// options is optional -glob("**/*.js", options, function (er, files) { - // files is an array of filenames. - // If the `nonull` option is set, and nothing - // was found, then files is ["**/*.js"] - // er is an error object or null. -}) -``` - -## Glob Primer - -"Globs" are the patterns you type when you do stuff like `ls *.js` on -the command line, or put `build/*` in a `.gitignore` file. - -Before parsing the path part patterns, braced sections are expanded -into a set. Braced sections start with `{` and end with `}`, with any -number of comma-delimited sections within. Braced sections may contain -slash characters, so `a{/b/c,bcd}` would expand into `a/b/c` and `abcd`. - -The following characters have special magic meaning when used in a -path portion: - -* `*` Matches 0 or more characters in a single path portion -* `?` Matches 1 character -* `[...]` Matches a range of characters, similar to a RegExp range. - If the first character of the range is `!` or `^` then it matches - any character not in the range. -* `!(pattern|pattern|pattern)` Matches anything that does not match - any of the patterns provided. -* `?(pattern|pattern|pattern)` Matches zero or one occurrence of the - patterns provided. -* `+(pattern|pattern|pattern)` Matches one or more occurrences of the - patterns provided. -* `*(a|b|c)` Matches zero or more occurrences of the patterns provided -* `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns - provided -* `**` If a "globstar" is alone in a path portion, then it matches - zero or more directories and subdirectories searching for matches. - It does not crawl symlinked directories. - -### Dots - -If a file or directory path portion has a `.` as the first character, -then it will not match any glob pattern unless that pattern's -corresponding path part also has a `.` as its first character. - -For example, the pattern `a/.*/c` would match the file at `a/.b/c`. -However the pattern `a/*/c` would not, because `*` does not start with -a dot character. - -You can make glob treat dots as normal characters by setting -`dot:true` in the options. - -### Basename Matching - -If you set `matchBase:true` in the options, and the pattern has no -slashes in it, then it will seek for any file anywhere in the tree -with a matching basename. For example, `*.js` would match -`test/simple/basic.js`. - -### Negation - -The intent for negation would be for a pattern starting with `!` to -match everything that *doesn't* match the supplied pattern. However, -the implementation is weird, and for the time being, this should be -avoided. The behavior is deprecated in version 5, and will be removed -entirely in version 6. - -### Empty Sets - -If no matching files are found, then an empty array is returned. This -differs from the shell, where the pattern itself is returned. For -example: - - $ echo a*s*d*f - a*s*d*f - -To get the bash-style behavior, set the `nonull:true` in the options. - -### See Also: - -* `man sh` -* `man bash` (Search for "Pattern Matching") -* `man 3 fnmatch` -* `man 5 gitignore` -* [minimatch documentation](https://github.com/isaacs/minimatch) - -## glob.hasMagic(pattern, [options]) - -Returns `true` if there are any special characters in the pattern, and -`false` otherwise. - -Note that the options affect the results. If `noext:true` is set in -the options object, then `+(a|b)` will not be considered a magic -pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}` -then that is considered magical, unless `nobrace:true` is set in the -options. - -## glob(pattern, [options], cb) - -* `pattern` {String} Pattern to be matched -* `options` {Object} -* `cb` {Function} - * `err` {Error | null} - * `matches` {Array} filenames found matching the pattern - -Perform an asynchronous glob search. - -## glob.sync(pattern, [options]) - -* `pattern` {String} Pattern to be matched -* `options` {Object} -* return: {Array} filenames found matching the pattern - -Perform a synchronous glob search. - -## Class: glob.Glob - -Create a Glob object by instantiating the `glob.Glob` class. - -```javascript -var Glob = require("glob").Glob -var mg = new Glob(pattern, options, cb) -``` - -It's an EventEmitter, and starts walking the filesystem to find matches -immediately. - -### new glob.Glob(pattern, [options], [cb]) - -* `pattern` {String} pattern to search for -* `options` {Object} -* `cb` {Function} Called when an error occurs, or matches are found - * `err` {Error | null} - * `matches` {Array} filenames found matching the pattern - -Note that if the `sync` flag is set in the options, then matches will -be immediately available on the `g.found` member. - -### Properties - -* `minimatch` The minimatch object that the glob uses. -* `options` The options object passed in. -* `aborted` Boolean which is set to true when calling `abort()`. There - is no way at this time to continue a glob search after aborting, but - you can re-use the statCache to avoid having to duplicate syscalls. -* `cache` Convenience object. Each field has the following possible - values: - * `false` - Path does not exist - * `true` - Path exists - * `'DIR'` - Path exists, and is not a directory - * `'FILE'` - Path exists, and is a directory - * `[file, entries, ...]` - Path exists, is a directory, and the - array value is the results of `fs.readdir` -* `statCache` Cache of `fs.stat` results, to prevent statting the same - path multiple times. -* `symlinks` A record of which paths are symbolic links, which is - relevant in resolving `**` patterns. -* `realpathCache` An optional object which is passed to `fs.realpath` - to minimize unnecessary syscalls. It is stored on the instantiated - Glob object, and may be re-used. - -### Events - -* `end` When the matching is finished, this is emitted with all the - matches found. If the `nonull` option is set, and no match was found, - then the `matches` list contains the original pattern. The matches - are sorted, unless the `nosort` flag is set. -* `match` Every time a match is found, this is emitted with the matched. -* `error` Emitted when an unexpected error is encountered, or whenever - any fs error occurs if `options.strict` is set. -* `abort` When `abort()` is called, this event is raised. - -### Methods - -* `pause` Temporarily stop the search -* `resume` Resume the search -* `abort` Stop the search forever - -### Options - -All the options that can be passed to Minimatch can also be passed to -Glob to change pattern matching behavior. Also, some have been added, -or have glob-specific ramifications. - -All options are false by default, unless otherwise noted. - -All options are added to the Glob object, as well. - -If you are running many `glob` operations, you can pass a Glob object -as the `options` argument to a subsequent operation to shortcut some -`stat` and `readdir` calls. At the very least, you may pass in shared -`symlinks`, `statCache`, `realpathCache`, and `cache` options, so that -parallel glob operations will be sped up by sharing information about -the filesystem. - -* `cwd` The current working directory in which to search. Defaults - to `process.cwd()`. -* `root` The place where patterns starting with `/` will be mounted - onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix - systems, and `C:\` or some such on Windows.) -* `dot` Include `.dot` files in normal matches and `globstar` matches. - Note that an explicit dot in a portion of the pattern will always - match dot files. -* `nomount` By default, a pattern starting with a forward-slash will be - "mounted" onto the root setting, so that a valid filesystem path is - returned. Set this flag to disable that behavior. -* `mark` Add a `/` character to directory matches. Note that this - requires additional stat calls. -* `nosort` Don't sort the results. -* `stat` Set to true to stat *all* results. This reduces performance - somewhat, and is completely unnecessary, unless `readdir` is presumed - to be an untrustworthy indicator of file existence. -* `silent` When an unusual error is encountered when attempting to - read a directory, a warning will be printed to stderr. Set the - `silent` option to true to suppress these warnings. -* `strict` When an unusual error is encountered when attempting to - read a directory, the process will just continue on in search of - other matches. Set the `strict` option to raise an error in these - cases. -* `cache` See `cache` property above. Pass in a previously generated - cache object to save some fs calls. -* `statCache` A cache of results of filesystem information, to prevent - unnecessary stat calls. While it should not normally be necessary - to set this, you may pass the statCache from one glob() call to the - options object of another, if you know that the filesystem will not - change between calls. (See "Race Conditions" below.) -* `symlinks` A cache of known symbolic links. You may pass in a - previously generated `symlinks` object to save `lstat` calls when - resolving `**` matches. -* `sync` DEPRECATED: use `glob.sync(pattern, opts)` instead. -* `nounique` In some cases, brace-expanded patterns can result in the - same file showing up multiple times in the result set. By default, - this implementation prevents duplicates in the result set. Set this - flag to disable that behavior. -* `nonull` Set to never return an empty set, instead returning a set - containing the pattern itself. This is the default in glob(3). -* `debug` Set to enable debug logging in minimatch and glob. -* `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets. -* `noglobstar` Do not match `**` against multiple filenames. (Ie, - treat it as a normal `*` instead.) -* `noext` Do not match `+(a|b)` "extglob" patterns. -* `nocase` Perform a case-insensitive match. Note: on - case-insensitive filesystems, non-magic patterns will match by - default, since `stat` and `readdir` will not raise errors. -* `matchBase` Perform a basename-only match if the pattern does not - contain any slash characters. That is, `*.js` would be treated as - equivalent to `**/*.js`, matching all js files in all directories. -* `nodir` Do not match directories, only files. (Note: to match - *only* directories, simply put a `/` at the end of the pattern.) -* `ignore` Add a pattern or an array of patterns to exclude matches. -* `follow` Follow symlinked directories when expanding `**` patterns. - Note that this can result in a lot of duplicate references in the - presence of cyclic links. -* `realpath` Set to true to call `fs.realpath` on all of the results. - In the case of a symlink that cannot be resolved, the full absolute - path to the matched entry is returned (though it will usually be a - broken symlink) -* `nonegate` Suppress deprecated `negate` behavior. (See below.) - Default=true -* `nocomment` Suppress deprecated `comment` behavior. (See below.) - Default=true - -## Comparisons to other fnmatch/glob implementations - -While strict compliance with the existing standards is a worthwhile -goal, some discrepancies exist between node-glob and other -implementations, and are intentional. - -The double-star character `**` is supported by default, unless the -`noglobstar` flag is set. This is supported in the manner of bsdglob -and bash 4.3, where `**` only has special significance if it is the only -thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but -`a/**b` will not. - -Note that symlinked directories are not crawled as part of a `**`, -though their contents may match against subsequent portions of the -pattern. This prevents infinite loops and duplicates and the like. - -If an escaped pattern has no matches, and the `nonull` flag is set, -then glob returns the pattern as-provided, rather than -interpreting the character escapes. For example, -`glob.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than -`"*a?"`. This is akin to setting the `nullglob` option in bash, except -that it does not resolve escaped pattern characters. - -If brace expansion is not disabled, then it is performed before any -other interpretation of the glob pattern. Thus, a pattern like -`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded -**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are -checked for validity. Since those two are valid, matching proceeds. - -### Comments and Negation - -**Note**: In version 5 of this module, negation and comments are -**disabled** by default. You can explicitly set `nonegate:false` or -`nocomment:false` to re-enable them. They are going away entirely in -version 6. - -The intent for negation would be for a pattern starting with `!` to -match everything that *doesn't* match the supplied pattern. However, -the implementation is weird. It is better to use the `ignore` option -to set a pattern or set of patterns to exclude from matches. If you -want the "everything except *x*" type of behavior, you can use `**` as -the main pattern, and set an `ignore` for the things to exclude. - -The comments feature is added in minimatch, primarily to more easily -support use cases like ignore files, where a `#` at the start of a -line makes the pattern "empty". However, in the context of a -straightforward filesystem globber, "comments" don't make much sense. - -## Windows - -**Please only use forward-slashes in glob expressions.** - -Though windows uses either `/` or `\` as its path separator, only `/` -characters are used by this glob implementation. You must use -forward-slashes **only** in glob expressions. Back-slashes will always -be interpreted as escape characters, not path separators. - -Results from absolute patterns such as `/foo/*` are mounted onto the -root setting using `path.join`. On windows, this will by default result -in `/foo/*` matching `C:\foo\bar.txt`. - -## Race Conditions - -Glob searching, by its very nature, is susceptible to race conditions, -since it relies on directory walking and such. - -As a result, it is possible that a file that exists when glob looks for -it may have been deleted or modified by the time it returns the result. - -As part of its internal implementation, this program caches all stat -and readdir calls that it makes, in order to cut down on system -overhead. However, this also makes it even more susceptible to races, -especially if the cache or statCache objects are reused between glob -calls. - -Users are thus advised not to use a glob result as a guarantee of -filesystem state in the face of rapid changes. For the vast majority -of operations, this is never a problem. - -## Contributing - -Any change to behavior (including bugfixes) must come with a test. - -Patches that fail tests or reduce performance will be rejected. - -``` -# to run tests -npm test - -# to re-generate test fixtures -npm run test-regen - -# to benchmark against bash/zsh -npm run bench - -# to profile javascript -npm run prof -``` diff --git a/demo/platforms/android/cordova/node_modules/glob/common.js b/demo/platforms/android/cordova/node_modules/glob/common.js deleted file mode 100644 index e36a631..0000000 --- a/demo/platforms/android/cordova/node_modules/glob/common.js +++ /dev/null @@ -1,245 +0,0 @@ -exports.alphasort = alphasort -exports.alphasorti = alphasorti -exports.setopts = setopts -exports.ownProp = ownProp -exports.makeAbs = makeAbs -exports.finish = finish -exports.mark = mark -exports.isIgnored = isIgnored -exports.childrenIgnored = childrenIgnored - -function ownProp (obj, field) { - return Object.prototype.hasOwnProperty.call(obj, field) -} - -var path = require("path") -var minimatch = require("minimatch") -var isAbsolute = require("path-is-absolute") -var Minimatch = minimatch.Minimatch - -function alphasorti (a, b) { - return a.toLowerCase().localeCompare(b.toLowerCase()) -} - -function alphasort (a, b) { - return a.localeCompare(b) -} - -function setupIgnores (self, options) { - self.ignore = options.ignore || [] - - if (!Array.isArray(self.ignore)) - self.ignore = [self.ignore] - - if (self.ignore.length) { - self.ignore = self.ignore.map(ignoreMap) - } -} - -function ignoreMap (pattern) { - var gmatcher = null - if (pattern.slice(-3) === '/**') { - var gpattern = pattern.replace(/(\/\*\*)+$/, '') - gmatcher = new Minimatch(gpattern) - } - - return { - matcher: new Minimatch(pattern), - gmatcher: gmatcher - } -} - -function setopts (self, pattern, options) { - if (!options) - options = {} - - // base-matching: just use globstar for that. - if (options.matchBase && -1 === pattern.indexOf("/")) { - if (options.noglobstar) { - throw new Error("base matching requires globstar") - } - pattern = "**/" + pattern - } - - self.silent = !!options.silent - self.pattern = pattern - self.strict = options.strict !== false - self.realpath = !!options.realpath - self.realpathCache = options.realpathCache || Object.create(null) - self.follow = !!options.follow - self.dot = !!options.dot - self.mark = !!options.mark - self.nodir = !!options.nodir - if (self.nodir) - self.mark = true - self.sync = !!options.sync - self.nounique = !!options.nounique - self.nonull = !!options.nonull - self.nosort = !!options.nosort - self.nocase = !!options.nocase - self.stat = !!options.stat - self.noprocess = !!options.noprocess - - self.maxLength = options.maxLength || Infinity - self.cache = options.cache || Object.create(null) - self.statCache = options.statCache || Object.create(null) - self.symlinks = options.symlinks || Object.create(null) - - setupIgnores(self, options) - - self.changedCwd = false - var cwd = process.cwd() - if (!ownProp(options, "cwd")) - self.cwd = cwd - else { - self.cwd = options.cwd - self.changedCwd = path.resolve(options.cwd) !== cwd - } - - self.root = options.root || path.resolve(self.cwd, "/") - self.root = path.resolve(self.root) - if (process.platform === "win32") - self.root = self.root.replace(/\\/g, "/") - - self.nomount = !!options.nomount - - // disable comments and negation unless the user explicitly - // passes in false as the option. - options.nonegate = options.nonegate === false ? false : true - options.nocomment = options.nocomment === false ? false : true - deprecationWarning(options) - - self.minimatch = new Minimatch(pattern, options) - self.options = self.minimatch.options -} - -// TODO(isaacs): remove entirely in v6 -// exported to reset in tests -exports.deprecationWarned -function deprecationWarning(options) { - if (!options.nonegate || !options.nocomment) { - if (process.noDeprecation !== true && !exports.deprecationWarned) { - var msg = 'glob WARNING: comments and negation will be disabled in v6' - if (process.throwDeprecation) - throw new Error(msg) - else if (process.traceDeprecation) - console.trace(msg) - else - console.error(msg) - - exports.deprecationWarned = true - } - } -} - -function finish (self) { - var nou = self.nounique - var all = nou ? [] : Object.create(null) - - for (var i = 0, l = self.matches.length; i < l; i ++) { - var matches = self.matches[i] - if (!matches || Object.keys(matches).length === 0) { - if (self.nonull) { - // do like the shell, and spit out the literal glob - var literal = self.minimatch.globSet[i] - if (nou) - all.push(literal) - else - all[literal] = true - } - } else { - // had matches - var m = Object.keys(matches) - if (nou) - all.push.apply(all, m) - else - m.forEach(function (m) { - all[m] = true - }) - } - } - - if (!nou) - all = Object.keys(all) - - if (!self.nosort) - all = all.sort(self.nocase ? alphasorti : alphasort) - - // at *some* point we statted all of these - if (self.mark) { - for (var i = 0; i < all.length; i++) { - all[i] = self._mark(all[i]) - } - if (self.nodir) { - all = all.filter(function (e) { - return !(/\/$/.test(e)) - }) - } - } - - if (self.ignore.length) - all = all.filter(function(m) { - return !isIgnored(self, m) - }) - - self.found = all -} - -function mark (self, p) { - var abs = makeAbs(self, p) - var c = self.cache[abs] - var m = p - if (c) { - var isDir = c === 'DIR' || Array.isArray(c) - var slash = p.slice(-1) === '/' - - if (isDir && !slash) - m += '/' - else if (!isDir && slash) - m = m.slice(0, -1) - - if (m !== p) { - var mabs = makeAbs(self, m) - self.statCache[mabs] = self.statCache[abs] - self.cache[mabs] = self.cache[abs] - } - } - - return m -} - -// lotta situps... -function makeAbs (self, f) { - var abs = f - if (f.charAt(0) === '/') { - abs = path.join(self.root, f) - } else if (isAbsolute(f) || f === '') { - abs = f - } else if (self.changedCwd) { - abs = path.resolve(self.cwd, f) - } else { - abs = path.resolve(f) - } - return abs -} - - -// Return true, if pattern ends with globstar '**', for the accompanying parent directory. -// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents -function isIgnored (self, path) { - if (!self.ignore.length) - return false - - return self.ignore.some(function(item) { - return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) - }) -} - -function childrenIgnored (self, path) { - if (!self.ignore.length) - return false - - return self.ignore.some(function(item) { - return !!(item.gmatcher && item.gmatcher.match(path)) - }) -} diff --git a/demo/platforms/android/cordova/node_modules/glob/glob.js b/demo/platforms/android/cordova/node_modules/glob/glob.js deleted file mode 100644 index 022d2ac..0000000 --- a/demo/platforms/android/cordova/node_modules/glob/glob.js +++ /dev/null @@ -1,752 +0,0 @@ -// Approach: -// -// 1. Get the minimatch set -// 2. For each pattern in the set, PROCESS(pattern, false) -// 3. Store matches per-set, then uniq them -// -// PROCESS(pattern, inGlobStar) -// Get the first [n] items from pattern that are all strings -// Join these together. This is PREFIX. -// If there is no more remaining, then stat(PREFIX) and -// add to matches if it succeeds. END. -// -// If inGlobStar and PREFIX is symlink and points to dir -// set ENTRIES = [] -// else readdir(PREFIX) as ENTRIES -// If fail, END -// -// with ENTRIES -// If pattern[n] is GLOBSTAR -// // handle the case where the globstar match is empty -// // by pruning it out, and testing the resulting pattern -// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) -// // handle other cases. -// for ENTRY in ENTRIES (not dotfiles) -// // attach globstar + tail onto the entry -// // Mark that this entry is a globstar match -// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) -// -// else // not globstar -// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) -// Test ENTRY against pattern[n] -// If fails, continue -// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) -// -// Caveat: -// Cache all stats and readdirs results to minimize syscall. Since all -// we ever care about is existence and directory-ness, we can just keep -// `true` for files, and [children,...] for directories, or `false` for -// things that don't exist. - -module.exports = glob - -var fs = require('fs') -var minimatch = require('minimatch') -var Minimatch = minimatch.Minimatch -var inherits = require('inherits') -var EE = require('events').EventEmitter -var path = require('path') -var assert = require('assert') -var isAbsolute = require('path-is-absolute') -var globSync = require('./sync.js') -var common = require('./common.js') -var alphasort = common.alphasort -var alphasorti = common.alphasorti -var setopts = common.setopts -var ownProp = common.ownProp -var inflight = require('inflight') -var util = require('util') -var childrenIgnored = common.childrenIgnored -var isIgnored = common.isIgnored - -var once = require('once') - -function glob (pattern, options, cb) { - if (typeof options === 'function') cb = options, options = {} - if (!options) options = {} - - if (options.sync) { - if (cb) - throw new TypeError('callback provided to sync glob') - return globSync(pattern, options) - } - - return new Glob(pattern, options, cb) -} - -glob.sync = globSync -var GlobSync = glob.GlobSync = globSync.GlobSync - -// old api surface -glob.glob = glob - -glob.hasMagic = function (pattern, options_) { - var options = util._extend({}, options_) - options.noprocess = true - - var g = new Glob(pattern, options) - var set = g.minimatch.set - if (set.length > 1) - return true - - for (var j = 0; j < set[0].length; j++) { - if (typeof set[0][j] !== 'string') - return true - } - - return false -} - -glob.Glob = Glob -inherits(Glob, EE) -function Glob (pattern, options, cb) { - if (typeof options === 'function') { - cb = options - options = null - } - - if (options && options.sync) { - if (cb) - throw new TypeError('callback provided to sync glob') - return new GlobSync(pattern, options) - } - - if (!(this instanceof Glob)) - return new Glob(pattern, options, cb) - - setopts(this, pattern, options) - this._didRealPath = false - - // process each pattern in the minimatch set - var n = this.minimatch.set.length - - // The matches are stored as {: true,...} so that - // duplicates are automagically pruned. - // Later, we do an Object.keys() on these. - // Keep them as a list so we can fill in when nonull is set. - this.matches = new Array(n) - - if (typeof cb === 'function') { - cb = once(cb) - this.on('error', cb) - this.on('end', function (matches) { - cb(null, matches) - }) - } - - var self = this - var n = this.minimatch.set.length - this._processing = 0 - this.matches = new Array(n) - - this._emitQueue = [] - this._processQueue = [] - this.paused = false - - if (this.noprocess) - return this - - if (n === 0) - return done() - - for (var i = 0; i < n; i ++) { - this._process(this.minimatch.set[i], i, false, done) - } - - function done () { - --self._processing - if (self._processing <= 0) - self._finish() - } -} - -Glob.prototype._finish = function () { - assert(this instanceof Glob) - if (this.aborted) - return - - if (this.realpath && !this._didRealpath) - return this._realpath() - - common.finish(this) - this.emit('end', this.found) -} - -Glob.prototype._realpath = function () { - if (this._didRealpath) - return - - this._didRealpath = true - - var n = this.matches.length - if (n === 0) - return this._finish() - - var self = this - for (var i = 0; i < this.matches.length; i++) - this._realpathSet(i, next) - - function next () { - if (--n === 0) - self._finish() - } -} - -Glob.prototype._realpathSet = function (index, cb) { - var matchset = this.matches[index] - if (!matchset) - return cb() - - var found = Object.keys(matchset) - var self = this - var n = found.length - - if (n === 0) - return cb() - - var set = this.matches[index] = Object.create(null) - found.forEach(function (p, i) { - // If there's a problem with the stat, then it means that - // one or more of the links in the realpath couldn't be - // resolved. just return the abs value in that case. - p = self._makeAbs(p) - fs.realpath(p, self.realpathCache, function (er, real) { - if (!er) - set[real] = true - else if (er.syscall === 'stat') - set[p] = true - else - self.emit('error', er) // srsly wtf right here - - if (--n === 0) { - self.matches[index] = set - cb() - } - }) - }) -} - -Glob.prototype._mark = function (p) { - return common.mark(this, p) -} - -Glob.prototype._makeAbs = function (f) { - return common.makeAbs(this, f) -} - -Glob.prototype.abort = function () { - this.aborted = true - this.emit('abort') -} - -Glob.prototype.pause = function () { - if (!this.paused) { - this.paused = true - this.emit('pause') - } -} - -Glob.prototype.resume = function () { - if (this.paused) { - this.emit('resume') - this.paused = false - if (this._emitQueue.length) { - var eq = this._emitQueue.slice(0) - this._emitQueue.length = 0 - for (var i = 0; i < eq.length; i ++) { - var e = eq[i] - this._emitMatch(e[0], e[1]) - } - } - if (this._processQueue.length) { - var pq = this._processQueue.slice(0) - this._processQueue.length = 0 - for (var i = 0; i < pq.length; i ++) { - var p = pq[i] - this._processing-- - this._process(p[0], p[1], p[2], p[3]) - } - } - } -} - -Glob.prototype._process = function (pattern, index, inGlobStar, cb) { - assert(this instanceof Glob) - assert(typeof cb === 'function') - - if (this.aborted) - return - - this._processing++ - if (this.paused) { - this._processQueue.push([pattern, index, inGlobStar, cb]) - return - } - - //console.error('PROCESS %d', this._processing, pattern) - - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ - } - // now n is the index of the first one that is *not* a string. - - // see if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index, cb) - return - - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break - - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break - } - - var remain = pattern.slice(n) - - // get the list of entries. - var read - if (prefix === null) - read = '.' - else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { - if (!prefix || !isAbsolute(prefix)) - prefix = '/' + prefix - read = prefix - } else - read = prefix - - var abs = this._makeAbs(read) - - //if ignored, skip _processing - if (childrenIgnored(this, read)) - return cb() - - var isGlobStar = remain[0] === minimatch.GLOBSTAR - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) -} - -Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { - var self = this - this._readdir(abs, inGlobStar, function (er, entries) { - return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} - -Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - - // if the abs isn't a dir, then nothing can match! - if (!entries) - return cb() - - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - var pn = remain[0] - var negate = !!this.minimatch.negate - var rawGlob = pn._glob - var dotOk = this.dot || rawGlob.charAt(0) === '.' - - var matchedEntries = [] - for (var i = 0; i < entries.length; i++) { - var e = entries[i] - if (e.charAt(0) !== '.' || dotOk) { - var m - if (negate && !prefix) { - m = !e.match(pn) - } else { - m = e.match(pn) - } - if (m) - matchedEntries.push(e) - } - } - - //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) - - var len = matchedEntries.length - // If there are no matched entries, then nothing matches. - if (len === 0) - return cb() - - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. - - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - if (prefix) { - if (prefix !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - - if (e.charAt(0) === '/' && !this.nomount) { - e = path.join(this.root, e) - } - this._emitMatch(index, e) - } - // This was the last one, and no stats were needed - return cb() - } - - // now test all matched entries as stand-ins for that part - // of the pattern. - remain.shift() - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - var newPattern - if (prefix) { - if (prefix !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - this._process([e].concat(remain), index, inGlobStar, cb) - } - cb() -} - -Glob.prototype._emitMatch = function (index, e) { - if (this.aborted) - return - - if (this.matches[index][e]) - return - - if (isIgnored(this, e)) - return - - if (this.paused) { - this._emitQueue.push([index, e]) - return - } - - var abs = this._makeAbs(e) - - if (this.nodir) { - var c = this.cache[abs] - if (c === 'DIR' || Array.isArray(c)) - return - } - - if (this.mark) - e = this._mark(e) - - this.matches[index][e] = true - - var st = this.statCache[abs] - if (st) - this.emit('stat', e, st) - - this.emit('match', e) -} - -Glob.prototype._readdirInGlobStar = function (abs, cb) { - if (this.aborted) - return - - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false, cb) - - var lstatkey = 'lstat\0' + abs - var self = this - var lstatcb = inflight(lstatkey, lstatcb_) - - if (lstatcb) - fs.lstat(abs, lstatcb) - - function lstatcb_ (er, lstat) { - if (er) - return cb() - - var isSym = lstat.isSymbolicLink() - self.symlinks[abs] = isSym - - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && !lstat.isDirectory()) { - self.cache[abs] = 'FILE' - cb() - } else - self._readdir(abs, false, cb) - } -} - -Glob.prototype._readdir = function (abs, inGlobStar, cb) { - if (this.aborted) - return - - cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) - if (!cb) - return - - //console.error('RD %j %j', +inGlobStar, abs) - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs, cb) - - if (ownProp(this.cache, abs)) { - var c = this.cache[abs] - if (!c || c === 'FILE') - return cb() - - if (Array.isArray(c)) - return cb(null, c) - } - - var self = this - fs.readdir(abs, readdirCb(this, abs, cb)) -} - -function readdirCb (self, abs, cb) { - return function (er, entries) { - if (er) - self._readdirError(abs, er, cb) - else - self._readdirEntries(abs, entries, cb) - } -} - -Glob.prototype._readdirEntries = function (abs, entries, cb) { - if (this.aborted) - return - - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i ++) { - var e = entries[i] - if (abs === '/') - e = abs + e - else - e = abs + '/' + e - this.cache[e] = true - } - } - - this.cache[abs] = entries - return cb(null, entries) -} - -Glob.prototype._readdirError = function (f, er, cb) { - if (this.aborted) - return - - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - this.cache[this._makeAbs(f)] = 'FILE' - break - - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break - - default: // some unusual error. Treat as failure. - this.cache[this._makeAbs(f)] = false - if (this.strict) { - this.emit('error', er) - // If the error is handled, then we abort - // if not, we threw out of here - this.abort() - } - if (!this.silent) - console.error('glob error', er) - break - } - - return cb() -} - -Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { - var self = this - this._readdir(abs, inGlobStar, function (er, entries) { - self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} - - -Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - //console.error('pgs2', prefix, remain[0], entries) - - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return cb() - - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) - - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false, cb) - - var isSym = this.symlinks[abs] - var len = entries.length - - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return cb() - - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue - - // these two cases enter the inGlobStar state - var instead = gspref.concat(entries[i], remainWithoutGlobStar) - this._process(instead, index, true, cb) - - var below = gspref.concat(entries[i], remain) - this._process(below, index, true, cb) - } - - cb() -} - -Glob.prototype._processSimple = function (prefix, index, cb) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var self = this - this._stat(prefix, function (er, exists) { - self._processSimple2(prefix, index, er, exists, cb) - }) -} -Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { - - //console.error('ps2', prefix, exists) - - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - // If it doesn't exist, then just mark the lack of results - if (!exists) - return cb() - - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix) - if (prefix.charAt(0) === '/') { - prefix = path.join(this.root, prefix) - } else { - prefix = path.resolve(this.root, prefix) - if (trail) - prefix += '/' - } - } - - if (process.platform === 'win32') - prefix = prefix.replace(/\\/g, '/') - - // Mark this as a match - this._emitMatch(index, prefix) - cb() -} - -// Returns either 'DIR', 'FILE', or false -Glob.prototype._stat = function (f, cb) { - var abs = this._makeAbs(f) - var needDir = f.slice(-1) === '/' - - if (f.length > this.maxLength) - return cb() - - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs] - - if (Array.isArray(c)) - c = 'DIR' - - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return cb(null, c) - - if (needDir && c === 'FILE') - return cb() - - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. - } - - var exists - var stat = this.statCache[abs] - if (stat !== undefined) { - if (stat === false) - return cb(null, stat) - else { - var type = stat.isDirectory() ? 'DIR' : 'FILE' - if (needDir && type === 'FILE') - return cb() - else - return cb(null, type, stat) - } - } - - var self = this - var statcb = inflight('stat\0' + abs, lstatcb_) - if (statcb) - fs.lstat(abs, statcb) - - function lstatcb_ (er, lstat) { - if (lstat && lstat.isSymbolicLink()) { - // If it's a symlink, then treat it as the target, unless - // the target does not exist, then treat it as a file. - return fs.stat(abs, function (er, stat) { - if (er) - self._stat2(f, abs, null, lstat, cb) - else - self._stat2(f, abs, er, stat, cb) - }) - } else { - self._stat2(f, abs, er, lstat, cb) - } - } -} - -Glob.prototype._stat2 = function (f, abs, er, stat, cb) { - if (er) { - this.statCache[abs] = false - return cb() - } - - var needDir = f.slice(-1) === '/' - this.statCache[abs] = stat - - if (abs.slice(-1) === '/' && !stat.isDirectory()) - return cb(null, false, stat) - - var c = stat.isDirectory() ? 'DIR' : 'FILE' - this.cache[abs] = this.cache[abs] || c - - if (needDir && c !== 'DIR') - return cb() - - return cb(null, c, stat) -} diff --git a/demo/platforms/android/cordova/node_modules/glob/package.json b/demo/platforms/android/cordova/node_modules/glob/package.json deleted file mode 100644 index f043c97..0000000 --- a/demo/platforms/android/cordova/node_modules/glob/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "glob@^5.0.13", - "scope": null, - "escapedName": "glob", - "name": "glob", - "rawSpec": "^5.0.13", - "spec": ">=5.0.13 <6.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common" - ] - ], - "_from": "glob@>=5.0.13 <6.0.0", - "_id": "glob@5.0.15", - "_inCache": true, - "_location": "/cordova-android/glob", - "_nodeVersion": "4.0.0", - "_npmUser": { - "name": "isaacs", - "email": "isaacs@npmjs.com" - }, - "_npmVersion": "3.3.2", - "_phantomChildren": {}, - "_requested": { - "raw": "glob@^5.0.13", - "scope": null, - "escapedName": "glob", - "name": "glob", - "rawSpec": "^5.0.13", - "spec": ">=5.0.13 <6.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "_shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1", - "_shrinkwrap": null, - "_spec": "glob@^5.0.13", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/node-glob/issues" - }, - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "description": "a little globber", - "devDependencies": { - "mkdirp": "0", - "rimraf": "^2.2.8", - "tap": "^1.1.4", - "tick": "0.0.6" - }, - "directories": {}, - "dist": { - "shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1", - "tarball": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" - }, - "engines": { - "node": "*" - }, - "files": [ - "glob.js", - "sync.js", - "common.js" - ], - "gitHead": "3a7e71d453dd80e75b196fd262dd23ed54beeceb", - "homepage": "https://github.com/isaacs/node-glob#readme", - "license": "ISC", - "main": "glob.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "glob", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-glob.git" - }, - "scripts": { - "bench": "bash benchmark.sh", - "benchclean": "node benchclean.js", - "prepublish": "npm run benchclean", - "prof": "bash prof.sh && cat profile.txt", - "profclean": "rm -f v8.log profile.txt", - "test": "tap test/*.js --cov", - "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js" - }, - "version": "5.0.15" -} diff --git a/demo/platforms/android/cordova/node_modules/glob/sync.js b/demo/platforms/android/cordova/node_modules/glob/sync.js deleted file mode 100644 index 09883d2..0000000 --- a/demo/platforms/android/cordova/node_modules/glob/sync.js +++ /dev/null @@ -1,460 +0,0 @@ -module.exports = globSync -globSync.GlobSync = GlobSync - -var fs = require('fs') -var minimatch = require('minimatch') -var Minimatch = minimatch.Minimatch -var Glob = require('./glob.js').Glob -var util = require('util') -var path = require('path') -var assert = require('assert') -var isAbsolute = require('path-is-absolute') -var common = require('./common.js') -var alphasort = common.alphasort -var alphasorti = common.alphasorti -var setopts = common.setopts -var ownProp = common.ownProp -var childrenIgnored = common.childrenIgnored - -function globSync (pattern, options) { - if (typeof options === 'function' || arguments.length === 3) - throw new TypeError('callback provided to sync glob\n'+ - 'See: https://github.com/isaacs/node-glob/issues/167') - - return new GlobSync(pattern, options).found -} - -function GlobSync (pattern, options) { - if (!pattern) - throw new Error('must provide pattern') - - if (typeof options === 'function' || arguments.length === 3) - throw new TypeError('callback provided to sync glob\n'+ - 'See: https://github.com/isaacs/node-glob/issues/167') - - if (!(this instanceof GlobSync)) - return new GlobSync(pattern, options) - - setopts(this, pattern, options) - - if (this.noprocess) - return this - - var n = this.minimatch.set.length - this.matches = new Array(n) - for (var i = 0; i < n; i ++) { - this._process(this.minimatch.set[i], i, false) - } - this._finish() -} - -GlobSync.prototype._finish = function () { - assert(this instanceof GlobSync) - if (this.realpath) { - var self = this - this.matches.forEach(function (matchset, index) { - var set = self.matches[index] = Object.create(null) - for (var p in matchset) { - try { - p = self._makeAbs(p) - var real = fs.realpathSync(p, self.realpathCache) - set[real] = true - } catch (er) { - if (er.syscall === 'stat') - set[self._makeAbs(p)] = true - else - throw er - } - } - }) - } - common.finish(this) -} - - -GlobSync.prototype._process = function (pattern, index, inGlobStar) { - assert(this instanceof GlobSync) - - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ - } - // now n is the index of the first one that is *not* a string. - - // See if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index) - return - - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break - - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break - } - - var remain = pattern.slice(n) - - // get the list of entries. - var read - if (prefix === null) - read = '.' - else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { - if (!prefix || !isAbsolute(prefix)) - prefix = '/' + prefix - read = prefix - } else - read = prefix - - var abs = this._makeAbs(read) - - //if ignored, skip processing - if (childrenIgnored(this, read)) - return - - var isGlobStar = remain[0] === minimatch.GLOBSTAR - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar) -} - - -GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { - var entries = this._readdir(abs, inGlobStar) - - // if the abs isn't a dir, then nothing can match! - if (!entries) - return - - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - var pn = remain[0] - var negate = !!this.minimatch.negate - var rawGlob = pn._glob - var dotOk = this.dot || rawGlob.charAt(0) === '.' - - var matchedEntries = [] - for (var i = 0; i < entries.length; i++) { - var e = entries[i] - if (e.charAt(0) !== '.' || dotOk) { - var m - if (negate && !prefix) { - m = !e.match(pn) - } else { - m = e.match(pn) - } - if (m) - matchedEntries.push(e) - } - } - - var len = matchedEntries.length - // If there are no matched entries, then nothing matches. - if (len === 0) - return - - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. - - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - if (prefix) { - if (prefix.slice(-1) !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - - if (e.charAt(0) === '/' && !this.nomount) { - e = path.join(this.root, e) - } - this.matches[index][e] = true - } - // This was the last one, and no stats were needed - return - } - - // now test all matched entries as stand-ins for that part - // of the pattern. - remain.shift() - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - var newPattern - if (prefix) - newPattern = [prefix, e] - else - newPattern = [e] - this._process(newPattern.concat(remain), index, inGlobStar) - } -} - - -GlobSync.prototype._emitMatch = function (index, e) { - var abs = this._makeAbs(e) - if (this.mark) - e = this._mark(e) - - if (this.matches[index][e]) - return - - if (this.nodir) { - var c = this.cache[this._makeAbs(e)] - if (c === 'DIR' || Array.isArray(c)) - return - } - - this.matches[index][e] = true - if (this.stat) - this._stat(e) -} - - -GlobSync.prototype._readdirInGlobStar = function (abs) { - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false) - - var entries - var lstat - var stat - try { - lstat = fs.lstatSync(abs) - } catch (er) { - // lstat failed, doesn't exist - return null - } - - var isSym = lstat.isSymbolicLink() - this.symlinks[abs] = isSym - - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && !lstat.isDirectory()) - this.cache[abs] = 'FILE' - else - entries = this._readdir(abs, false) - - return entries -} - -GlobSync.prototype._readdir = function (abs, inGlobStar) { - var entries - - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs) - - if (ownProp(this.cache, abs)) { - var c = this.cache[abs] - if (!c || c === 'FILE') - return null - - if (Array.isArray(c)) - return c - } - - try { - return this._readdirEntries(abs, fs.readdirSync(abs)) - } catch (er) { - this._readdirError(abs, er) - return null - } -} - -GlobSync.prototype._readdirEntries = function (abs, entries) { - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i ++) { - var e = entries[i] - if (abs === '/') - e = abs + e - else - e = abs + '/' + e - this.cache[e] = true - } - } - - this.cache[abs] = entries - - // mark and cache dir-ness - return entries -} - -GlobSync.prototype._readdirError = function (f, er) { - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - this.cache[this._makeAbs(f)] = 'FILE' - break - - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break - - default: // some unusual error. Treat as failure. - this.cache[this._makeAbs(f)] = false - if (this.strict) - throw er - if (!this.silent) - console.error('glob error', er) - break - } -} - -GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { - - var entries = this._readdir(abs, inGlobStar) - - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return - - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) - - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false) - - var len = entries.length - var isSym = this.symlinks[abs] - - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return - - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue - - // these two cases enter the inGlobStar state - var instead = gspref.concat(entries[i], remainWithoutGlobStar) - this._process(instead, index, true) - - var below = gspref.concat(entries[i], remain) - this._process(below, index, true) - } -} - -GlobSync.prototype._processSimple = function (prefix, index) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var exists = this._stat(prefix) - - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - // If it doesn't exist, then just mark the lack of results - if (!exists) - return - - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix) - if (prefix.charAt(0) === '/') { - prefix = path.join(this.root, prefix) - } else { - prefix = path.resolve(this.root, prefix) - if (trail) - prefix += '/' - } - } - - if (process.platform === 'win32') - prefix = prefix.replace(/\\/g, '/') - - // Mark this as a match - this.matches[index][prefix] = true -} - -// Returns either 'DIR', 'FILE', or false -GlobSync.prototype._stat = function (f) { - var abs = this._makeAbs(f) - var needDir = f.slice(-1) === '/' - - if (f.length > this.maxLength) - return false - - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs] - - if (Array.isArray(c)) - c = 'DIR' - - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return c - - if (needDir && c === 'FILE') - return false - - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. - } - - var exists - var stat = this.statCache[abs] - if (!stat) { - var lstat - try { - lstat = fs.lstatSync(abs) - } catch (er) { - return false - } - - if (lstat.isSymbolicLink()) { - try { - stat = fs.statSync(abs) - } catch (er) { - stat = lstat - } - } else { - stat = lstat - } - } - - this.statCache[abs] = stat - - var c = stat.isDirectory() ? 'DIR' : 'FILE' - this.cache[abs] = this.cache[abs] || c - - if (needDir && c !== 'DIR') - return false - - return c -} - -GlobSync.prototype._mark = function (p) { - return common.mark(this, p) -} - -GlobSync.prototype._makeAbs = function (f) { - return common.makeAbs(this, f) -} diff --git a/demo/platforms/android/cordova/node_modules/inflight/LICENSE b/demo/platforms/android/cordova/node_modules/inflight/LICENSE deleted file mode 100644 index 05eeeb8..0000000 --- a/demo/platforms/android/cordova/node_modules/inflight/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/demo/platforms/android/cordova/node_modules/inflight/README.md b/demo/platforms/android/cordova/node_modules/inflight/README.md deleted file mode 100644 index 6dc8929..0000000 --- a/demo/platforms/android/cordova/node_modules/inflight/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# inflight - -Add callbacks to requests in flight to avoid async duplication - -## USAGE - -```javascript -var inflight = require('inflight') - -// some request that does some stuff -function req(key, callback) { - // key is any random string. like a url or filename or whatever. - // - // will return either a falsey value, indicating that the - // request for this key is already in flight, or a new callback - // which when called will call all callbacks passed to inflightk - // with the same key - callback = inflight(key, callback) - - // If we got a falsey value back, then there's already a req going - if (!callback) return - - // this is where you'd fetch the url or whatever - // callback is also once()-ified, so it can safely be assigned - // to multiple events etc. First call wins. - setTimeout(function() { - callback(null, key) - }, 100) -} - -// only assigns a single setTimeout -// when it dings, all cbs get called -req('foo', cb1) -req('foo', cb2) -req('foo', cb3) -req('foo', cb4) -``` diff --git a/demo/platforms/android/cordova/node_modules/inflight/inflight.js b/demo/platforms/android/cordova/node_modules/inflight/inflight.js deleted file mode 100644 index 48202b3..0000000 --- a/demo/platforms/android/cordova/node_modules/inflight/inflight.js +++ /dev/null @@ -1,54 +0,0 @@ -var wrappy = require('wrappy') -var reqs = Object.create(null) -var once = require('once') - -module.exports = wrappy(inflight) - -function inflight (key, cb) { - if (reqs[key]) { - reqs[key].push(cb) - return null - } else { - reqs[key] = [cb] - return makeres(key) - } -} - -function makeres (key) { - return once(function RES () { - var cbs = reqs[key] - var len = cbs.length - var args = slice(arguments) - - // XXX It's somewhat ambiguous whether a new callback added in this - // pass should be queued for later execution if something in the - // list of callbacks throws, or if it should just be discarded. - // However, it's such an edge case that it hardly matters, and either - // choice is likely as surprising as the other. - // As it happens, we do go ahead and schedule it for later execution. - try { - for (var i = 0; i < len; i++) { - cbs[i].apply(null, args) - } - } finally { - if (cbs.length > len) { - // added more in the interim. - // de-zalgo, just in case, but don't call again. - cbs.splice(0, len) - process.nextTick(function () { - RES.apply(null, args) - }) - } else { - delete reqs[key] - } - } - }) -} - -function slice (args) { - var length = args.length - var array = [] - - for (var i = 0; i < length; i++) array[i] = args[i] - return array -} diff --git a/demo/platforms/android/cordova/node_modules/inflight/package.json b/demo/platforms/android/cordova/node_modules/inflight/package.json deleted file mode 100644 index db2a27a..0000000 --- a/demo/platforms/android/cordova/node_modules/inflight/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "inflight@^1.0.4", - "scope": null, - "escapedName": "inflight", - "name": "inflight", - "rawSpec": "^1.0.4", - "spec": ">=1.0.4 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/glob" - ] - ], - "_from": "inflight@>=1.0.4 <2.0.0", - "_id": "inflight@1.0.6", - "_inCache": true, - "_location": "/cordova-android/inflight", - "_nodeVersion": "6.5.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/inflight-1.0.6.tgz_1476330807696_0.10388551792129874" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.10.7", - "_phantomChildren": {}, - "_requested": { - "raw": "inflight@^1.0.4", - "scope": null, - "escapedName": "inflight", - "name": "inflight", - "rawSpec": "^1.0.4", - "spec": ">=1.0.4 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/glob" - ], - "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "_shasum": "49bd6331d7d02d0c09bc910a1075ba8165b56df9", - "_shrinkwrap": null, - "_spec": "inflight@^1.0.4", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/glob", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/inflight/issues" - }, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - }, - "description": "Add callbacks to requests in flight to avoid async duplication", - "devDependencies": { - "tap": "^7.1.2" - }, - "directories": {}, - "dist": { - "shasum": "49bd6331d7d02d0c09bc910a1075ba8165b56df9", - "tarball": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - }, - "files": [ - "inflight.js" - ], - "gitHead": "a547881738c8f57b27795e584071d67cf6ac1a57", - "homepage": "https://github.com/isaacs/inflight", - "license": "ISC", - "main": "inflight.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - }, - { - "name": "isaacs", - "email": "i@izs.me" - }, - { - "name": "othiym23", - "email": "ogd@aoaioxxysz.net" - }, - { - "name": "zkat", - "email": "kat@sykosomatic.org" - } - ], - "name": "inflight", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/inflight.git" - }, - "scripts": { - "test": "tap test.js --100" - }, - "version": "1.0.6" -} diff --git a/demo/platforms/android/cordova/node_modules/inherits/LICENSE b/demo/platforms/android/cordova/node_modules/inherits/LICENSE deleted file mode 100644 index dea3013..0000000 --- a/demo/platforms/android/cordova/node_modules/inherits/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - diff --git a/demo/platforms/android/cordova/node_modules/inherits/README.md b/demo/platforms/android/cordova/node_modules/inherits/README.md deleted file mode 100644 index b1c5665..0000000 --- a/demo/platforms/android/cordova/node_modules/inherits/README.md +++ /dev/null @@ -1,42 +0,0 @@ -Browser-friendly inheritance fully compatible with standard node.js -[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). - -This package exports standard `inherits` from node.js `util` module in -node environment, but also provides alternative browser-friendly -implementation through [browser -field](https://gist.github.com/shtylman/4339901). Alternative -implementation is a literal copy of standard one located in standalone -module to avoid requiring of `util`. It also has a shim for old -browsers with no `Object.create` support. - -While keeping you sure you are using standard `inherits` -implementation in node.js environment, it allows bundlers such as -[browserify](https://github.com/substack/node-browserify) to not -include full `util` package to your client code if all you need is -just `inherits` function. It worth, because browser shim for `util` -package is large and `inherits` is often the single function you need -from it. - -It's recommended to use this package instead of -`require('util').inherits` for any code that has chances to be used -not only in node.js but in browser too. - -## usage - -```js -var inherits = require('inherits'); -// then use exactly as the standard one -``` - -## note on version ~1.0 - -Version ~1.0 had completely different motivation and is not compatible -neither with 2.0 nor with standard node.js `inherits`. - -If you are using version ~1.0 and planning to switch to ~2.0, be -careful: - -* new version uses `super_` instead of `super` for referencing - superclass -* new version overwrites current prototype while old one preserves any - existing fields on it diff --git a/demo/platforms/android/cordova/node_modules/inherits/inherits.js b/demo/platforms/android/cordova/node_modules/inherits/inherits.js deleted file mode 100644 index 3b94763..0000000 --- a/demo/platforms/android/cordova/node_modules/inherits/inherits.js +++ /dev/null @@ -1,7 +0,0 @@ -try { - var util = require('util'); - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - module.exports = require('./inherits_browser.js'); -} diff --git a/demo/platforms/android/cordova/node_modules/inherits/inherits_browser.js b/demo/platforms/android/cordova/node_modules/inherits/inherits_browser.js deleted file mode 100644 index c1e78a7..0000000 --- a/demo/platforms/android/cordova/node_modules/inherits/inherits_browser.js +++ /dev/null @@ -1,23 +0,0 @@ -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } -} diff --git a/demo/platforms/android/cordova/node_modules/inherits/package.json b/demo/platforms/android/cordova/node_modules/inherits/package.json deleted file mode 100644 index 0121a76..0000000 --- a/demo/platforms/android/cordova/node_modules/inherits/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "inherits@2", - "scope": null, - "escapedName": "inherits", - "name": "inherits", - "rawSpec": "2", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/glob" - ] - ], - "_from": "inherits@>=2.0.0 <3.0.0", - "_id": "inherits@2.0.3", - "_inCache": true, - "_location": "/cordova-android/inherits", - "_nodeVersion": "6.5.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/inherits-2.0.3.tgz_1473295776489_0.08142363070510328" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.10.7", - "_phantomChildren": {}, - "_requested": { - "raw": "inherits@2", - "scope": null, - "escapedName": "inherits", - "name": "inherits", - "rawSpec": "2", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/glob" - ], - "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "_shasum": "633c2c83e3da42a502f52466022480f4208261de", - "_shrinkwrap": null, - "_spec": "inherits@2", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/glob", - "browser": "./inherits_browser.js", - "bugs": { - "url": "https://github.com/isaacs/inherits/issues" - }, - "dependencies": {}, - "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", - "devDependencies": { - "tap": "^7.1.0" - }, - "directories": {}, - "dist": { - "shasum": "633c2c83e3da42a502f52466022480f4208261de", - "tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - }, - "files": [ - "inherits.js", - "inherits_browser.js" - ], - "gitHead": "e05d0fb27c61a3ec687214f0476386b765364d5f", - "homepage": "https://github.com/isaacs/inherits#readme", - "keywords": [ - "inheritance", - "class", - "klass", - "oop", - "object-oriented", - "inherits", - "browser", - "browserify" - ], - "license": "ISC", - "main": "./inherits.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "inherits", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/inherits.git" - }, - "scripts": { - "test": "node test" - }, - "version": "2.0.3" -} diff --git a/demo/platforms/android/cordova/node_modules/lodash/LICENSE b/demo/platforms/android/cordova/node_modules/lodash/LICENSE deleted file mode 100644 index 9cd87e5..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright 2012-2015 The Dojo Foundation -Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -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/demo/platforms/android/cordova/node_modules/lodash/README.md b/demo/platforms/android/cordova/node_modules/lodash/README.md deleted file mode 100644 index fd98e5c..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/README.md +++ /dev/null @@ -1,121 +0,0 @@ -# lodash v3.10.1 - -The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash](https://lodash.com/) exported as [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) modules. - -Generated using [lodash-cli](https://www.npmjs.com/package/lodash-cli): -```bash -$ lodash modularize modern exports=node -o ./ -$ lodash modern -d -o ./index.js -``` - -## Installation - -Using npm: - -```bash -$ {sudo -H} npm i -g npm -$ npm i --save lodash -``` - -In Node.js/io.js: - -```js -// load the modern build -var _ = require('lodash'); -// or a method category -var array = require('lodash/array'); -// or a method (great for smaller builds with browserify/webpack) -var chunk = require('lodash/array/chunk'); -``` - -See the [package source](https://github.com/lodash/lodash/tree/3.10.1-npm) for more details. - -**Note:**
    -Don’t assign values to the [special variable](http://nodejs.org/api/repl.html#repl_repl_features) `_` when in the REPL.
    -Install [n_](https://www.npmjs.com/package/n_) for a REPL that includes lodash by default. - -## Module formats - -lodash is also available in a variety of other builds & module formats. - - * npm packages for [modern](https://www.npmjs.com/package/lodash), [compatibility](https://www.npmjs.com/package/lodash-compat), & [per method](https://www.npmjs.com/browse/keyword/lodash-modularized) builds - * AMD modules for [modern](https://github.com/lodash/lodash/tree/3.10.1-amd) & [compatibility](https://github.com/lodash/lodash-compat/tree/3.10.1-amd) builds - * ES modules for the [modern](https://github.com/lodash/lodash/tree/3.10.1-es) build - -## Further Reading - - * [API Documentation](https://lodash.com/docs) - * [Build Differences](https://github.com/lodash/lodash/wiki/Build-Differences) - * [Changelog](https://github.com/lodash/lodash/wiki/Changelog) - * [Roadmap](https://github.com/lodash/lodash/wiki/Roadmap) - * [More Resources](https://github.com/lodash/lodash/wiki/Resources) - -## Features - - * ~100% [code coverage](https://coveralls.io/r/lodash) - * Follows [semantic versioning](http://semver.org/) for releases - * [Lazily evaluated](http://filimanjaro.com/blog/2014/introducing-lazy-evaluation/) chaining - * [_(…)](https://lodash.com/docs#_) supports implicit chaining - * [_.ary](https://lodash.com/docs#ary) & [_.rearg](https://lodash.com/docs#rearg) to change function argument limits & order - * [_.at](https://lodash.com/docs#at) for cherry-picking collection values - * [_.attempt](https://lodash.com/docs#attempt) to execute functions which may error without a try-catch - * [_.before](https://lodash.com/docs#before) to complement [_.after](https://lodash.com/docs#after) - * [_.bindKey](https://lodash.com/docs#bindKey) for binding [*“lazy”*](http://michaux.ca/articles/lazy-function-definition-pattern) defined methods - * [_.chunk](https://lodash.com/docs#chunk) for splitting an array into chunks of a given size - * [_.clone](https://lodash.com/docs#clone) supports shallow cloning of `Date` & `RegExp` objects - * [_.cloneDeep](https://lodash.com/docs#cloneDeep) for deep cloning arrays & objects - * [_.curry](https://lodash.com/docs#curry) & [_.curryRight](https://lodash.com/docs#curryRight) for creating [curried](http://hughfdjackson.com/javascript/why-curry-helps/) functions - * [_.debounce](https://lodash.com/docs#debounce) & [_.throttle](https://lodash.com/docs#throttle) are cancelable & accept options for more control - * [_.defaultsDeep](https://lodash.com/docs#defaultsDeep) for recursively assigning default properties - * [_.fill](https://lodash.com/docs#fill) to fill arrays with values - * [_.findKey](https://lodash.com/docs#findKey) for finding keys - * [_.flow](https://lodash.com/docs#flow) to complement [_.flowRight](https://lodash.com/docs#flowRight) (a.k.a `_.compose`) - * [_.forEach](https://lodash.com/docs#forEach) supports exiting early - * [_.forIn](https://lodash.com/docs#forIn) for iterating all enumerable properties - * [_.forOwn](https://lodash.com/docs#forOwn) for iterating own properties - * [_.get](https://lodash.com/docs#get) & [_.set](https://lodash.com/docs#set) for deep property getting & setting - * [_.gt](https://lodash.com/docs#gt), [_.gte](https://lodash.com/docs#gte), [_.lt](https://lodash.com/docs#lt), & [_.lte](https://lodash.com/docs#lte) relational methods - * [_.inRange](https://lodash.com/docs#inRange) for checking whether a number is within a given range - * [_.isNative](https://lodash.com/docs#isNative) to check for native functions - * [_.isPlainObject](https://lodash.com/docs#isPlainObject) & [_.toPlainObject](https://lodash.com/docs#toPlainObject) to check for & convert to `Object` objects - * [_.isTypedArray](https://lodash.com/docs#isTypedArray) to check for typed arrays - * [_.mapKeys](https://lodash.com/docs#mapKeys) for mapping keys to an object - * [_.matches](https://lodash.com/docs#matches) supports deep object comparisons - * [_.matchesProperty](https://lodash.com/docs#matchesProperty) to complement [_.matches](https://lodash.com/docs#matches) & [_.property](https://lodash.com/docs#property) - * [_.merge](https://lodash.com/docs#merge) for a deep [_.extend](https://lodash.com/docs#extend) - * [_.method](https://lodash.com/docs#method) & [_.methodOf](https://lodash.com/docs#methodOf) to create functions that invoke methods - * [_.modArgs](https://lodash.com/docs#modArgs) for more advanced functional composition - * [_.parseInt](https://lodash.com/docs#parseInt) for consistent cross-environment behavior - * [_.pull](https://lodash.com/docs#pull), [_.pullAt](https://lodash.com/docs#pullAt), & [_.remove](https://lodash.com/docs#remove) for mutating arrays - * [_.random](https://lodash.com/docs#random) supports returning floating-point numbers - * [_.restParam](https://lodash.com/docs#restParam) & [_.spread](https://lodash.com/docs#spread) for applying rest parameters & spreading arguments to functions - * [_.runInContext](https://lodash.com/docs#runInContext) for collisionless mixins & easier mocking - * [_.slice](https://lodash.com/docs#slice) for creating subsets of array-like values - * [_.sortByAll](https://lodash.com/docs#sortByAll) & [_.sortByOrder](https://lodash.com/docs#sortByOrder) for sorting by multiple properties & orders - * [_.support](https://lodash.com/docs#support) for flagging environment features - * [_.template](https://lodash.com/docs#template) supports [*“imports”*](https://lodash.com/docs#templateSettings-imports) options & [ES template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-template-literal-lexical-components) - * [_.transform](https://lodash.com/docs#transform) as a powerful alternative to [_.reduce](https://lodash.com/docs#reduce) for transforming objects - * [_.unzipWith](https://lodash.com/docs#unzipWith) & [_.zipWith](https://lodash.com/docs#zipWith) to specify how grouped values should be combined - * [_.valuesIn](https://lodash.com/docs#valuesIn) for getting values of all enumerable properties - * [_.xor](https://lodash.com/docs#xor) to complement [_.difference](https://lodash.com/docs#difference), [_.intersection](https://lodash.com/docs#intersection), & [_.union](https://lodash.com/docs#union) - * [_.add](https://lodash.com/docs#add), [_.round](https://lodash.com/docs#round), [_.sum](https://lodash.com/docs#sum), & - [more](https://lodash.com/docs "_.ceil & _.floor") math methods - * [_.bind](https://lodash.com/docs#bind), [_.curry](https://lodash.com/docs#curry), [_.partial](https://lodash.com/docs#partial), & - [more](https://lodash.com/docs "_.bindKey, _.curryRight, _.partialRight") support customizable argument placeholders - * [_.capitalize](https://lodash.com/docs#capitalize), [_.trim](https://lodash.com/docs#trim), & - [more](https://lodash.com/docs "_.camelCase, _.deburr, _.endsWith, _.escapeRegExp, _.kebabCase, _.pad, _.padLeft, _.padRight, _.repeat, _.snakeCase, _.startCase, _.startsWith, _.trimLeft, _.trimRight, _.trunc, _.words") string methods - * [_.clone](https://lodash.com/docs#clone), [_.isEqual](https://lodash.com/docs#isEqual), & - [more](https://lodash.com/docs "_.assign, _.cloneDeep, _.merge") accept customizer callbacks - * [_.dropWhile](https://lodash.com/docs#dropWhile), [_.takeWhile](https://lodash.com/docs#takeWhile), & - [more](https://lodash.com/docs "_.drop, _.dropRight, _.dropRightWhile, _.take, _.takeRight, _.takeRightWhile") to complement [_.first](https://lodash.com/docs#first), [_.initial](https://lodash.com/docs#initial), [_.last](https://lodash.com/docs#last), & [_.rest](https://lodash.com/docs#rest) - * [_.findLast](https://lodash.com/docs#findLast), [_.findLastKey](https://lodash.com/docs#findLastKey), & - [more](https://lodash.com/docs "_.curryRight, _.dropRight, _.dropRightWhile, _.flowRight, _.forEachRight, _.forInRight, _.forOwnRight, _.padRight, partialRight, _.takeRight, _.trimRight, _.takeRightWhile") right-associative methods - * [_.includes](https://lodash.com/docs#includes), [_.toArray](https://lodash.com/docs#toArray), & - [more](https://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.findLast, _.findWhere, _.forEach, _.forEachRight, _.groupBy, _.indexBy, _.invoke, _.map, _.max, _.min, _.partition, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.size, _.some, _.sortBy, _.sortByAll, _.sortByOrder, _.sum, _.where") accept strings - * [_#commit](https://lodash.com/docs#prototype-commit) & [_#plant](https://lodash.com/docs#prototype-plant) for working with chain sequences - * [_#thru](https://lodash.com/docs#thru) to pass values thru a chain sequence - -## Support - -Tested in Chrome 43-44, Firefox 38-39, IE 6-11, MS Edge, Safari 5-8, ChakraNode 0.12.2, io.js 2.5.0, Node.js 0.8.28, 0.10.40, & 0.12.7, PhantomJS 1.9.8, RingoJS 0.11, & Rhino 1.7.6. -Automated [browser](https://saucelabs.com/u/lodash) & [CI](https://travis-ci.org/lodash/lodash/) test runs are available. Special thanks to [Sauce Labs](https://saucelabs.com/) for providing automated browser testing. diff --git a/demo/platforms/android/cordova/node_modules/lodash/array.js b/demo/platforms/android/cordova/node_modules/lodash/array.js deleted file mode 100644 index e5121fa..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - 'chunk': require('./array/chunk'), - 'compact': require('./array/compact'), - 'difference': require('./array/difference'), - 'drop': require('./array/drop'), - 'dropRight': require('./array/dropRight'), - 'dropRightWhile': require('./array/dropRightWhile'), - 'dropWhile': require('./array/dropWhile'), - 'fill': require('./array/fill'), - 'findIndex': require('./array/findIndex'), - 'findLastIndex': require('./array/findLastIndex'), - 'first': require('./array/first'), - 'flatten': require('./array/flatten'), - 'flattenDeep': require('./array/flattenDeep'), - 'head': require('./array/head'), - 'indexOf': require('./array/indexOf'), - 'initial': require('./array/initial'), - 'intersection': require('./array/intersection'), - 'last': require('./array/last'), - 'lastIndexOf': require('./array/lastIndexOf'), - 'object': require('./array/object'), - 'pull': require('./array/pull'), - 'pullAt': require('./array/pullAt'), - 'remove': require('./array/remove'), - 'rest': require('./array/rest'), - 'slice': require('./array/slice'), - 'sortedIndex': require('./array/sortedIndex'), - 'sortedLastIndex': require('./array/sortedLastIndex'), - 'tail': require('./array/tail'), - 'take': require('./array/take'), - 'takeRight': require('./array/takeRight'), - 'takeRightWhile': require('./array/takeRightWhile'), - 'takeWhile': require('./array/takeWhile'), - 'union': require('./array/union'), - 'uniq': require('./array/uniq'), - 'unique': require('./array/unique'), - 'unzip': require('./array/unzip'), - 'unzipWith': require('./array/unzipWith'), - 'without': require('./array/without'), - 'xor': require('./array/xor'), - 'zip': require('./array/zip'), - 'zipObject': require('./array/zipObject'), - 'zipWith': require('./array/zipWith') -}; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/chunk.js b/demo/platforms/android/cordova/node_modules/lodash/array/chunk.js deleted file mode 100644 index c8be1fb..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/chunk.js +++ /dev/null @@ -1,46 +0,0 @@ -var baseSlice = require('../internal/baseSlice'), - isIterateeCall = require('../internal/isIterateeCall'); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeCeil = Math.ceil, - nativeFloor = Math.floor, - nativeMax = Math.max; - -/** - * Creates an array of elements split into groups the length of `size`. - * If `collection` can't be split evenly, the final chunk will be the remaining - * elements. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to process. - * @param {number} [size=1] The length of each chunk. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the new array containing chunks. - * @example - * - * _.chunk(['a', 'b', 'c', 'd'], 2); - * // => [['a', 'b'], ['c', 'd']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ -function chunk(array, size, guard) { - if (guard ? isIterateeCall(array, size, guard) : size == null) { - size = 1; - } else { - size = nativeMax(nativeFloor(size) || 1, 1); - } - var index = 0, - length = array ? array.length : 0, - resIndex = -1, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[++resIndex] = baseSlice(array, index, (index += size)); - } - return result; -} - -module.exports = chunk; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/compact.js b/demo/platforms/android/cordova/node_modules/lodash/array/compact.js deleted file mode 100644 index 1dc1c55..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/compact.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ -function compact(array) { - var index = -1, - length = array ? array.length : 0, - resIndex = -1, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result[++resIndex] = value; - } - } - return result; -} - -module.exports = compact; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/difference.js b/demo/platforms/android/cordova/node_modules/lodash/array/difference.js deleted file mode 100644 index 128932a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/difference.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseDifference = require('../internal/baseDifference'), - baseFlatten = require('../internal/baseFlatten'), - isArrayLike = require('../internal/isArrayLike'), - isObjectLike = require('../internal/isObjectLike'), - restParam = require('../function/restParam'); - -/** - * Creates an array of unique `array` values not included in the other - * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The arrays of values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.difference([1, 2, 3], [4, 2]); - * // => [1, 3] - */ -var difference = restParam(function(array, values) { - return (isObjectLike(array) && isArrayLike(array)) - ? baseDifference(array, baseFlatten(values, false, true)) - : []; -}); - -module.exports = difference; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/drop.js b/demo/platforms/android/cordova/node_modules/lodash/array/drop.js deleted file mode 100644 index 039a0b5..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/drop.js +++ /dev/null @@ -1,39 +0,0 @@ -var baseSlice = require('../internal/baseSlice'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Creates a slice of `array` with `n` elements dropped from the beginning. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.drop([1, 2, 3]); - * // => [2, 3] - * - * _.drop([1, 2, 3], 2); - * // => [3] - * - * _.drop([1, 2, 3], 5); - * // => [] - * - * _.drop([1, 2, 3], 0); - * // => [1, 2, 3] - */ -function drop(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - return baseSlice(array, n < 0 ? 0 : n); -} - -module.exports = drop; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/dropRight.js b/demo/platforms/android/cordova/node_modules/lodash/array/dropRight.js deleted file mode 100644 index 14b5eb6..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/dropRight.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseSlice = require('../internal/baseSlice'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Creates a slice of `array` with `n` elements dropped from the end. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRight([1, 2, 3]); - * // => [1, 2] - * - * _.dropRight([1, 2, 3], 2); - * // => [1] - * - * _.dropRight([1, 2, 3], 5); - * // => [] - * - * _.dropRight([1, 2, 3], 0); - * // => [1, 2, 3] - */ -function dropRight(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - n = length - (+n || 0); - return baseSlice(array, 0, n < 0 ? 0 : n); -} - -module.exports = dropRight; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/dropRightWhile.js b/demo/platforms/android/cordova/node_modules/lodash/array/dropRightWhile.js deleted file mode 100644 index be158bd..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/dropRightWhile.js +++ /dev/null @@ -1,59 +0,0 @@ -var baseCallback = require('../internal/baseCallback'), - baseWhile = require('../internal/baseWhile'); - -/** - * Creates a slice of `array` excluding elements dropped from the end. - * Elements are dropped until `predicate` returns falsey. The predicate is - * bound to `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that match the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRightWhile([1, 2, 3], function(n) { - * return n > 1; - * }); - * // => [1] - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.dropRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user'); - * // => ['barney', 'fred'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.dropRightWhile(users, 'active', false), 'user'); - * // => ['barney'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.dropRightWhile(users, 'active'), 'user'); - * // => ['barney', 'fred', 'pebbles'] - */ -function dropRightWhile(array, predicate, thisArg) { - return (array && array.length) - ? baseWhile(array, baseCallback(predicate, thisArg, 3), true, true) - : []; -} - -module.exports = dropRightWhile; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/dropWhile.js b/demo/platforms/android/cordova/node_modules/lodash/array/dropWhile.js deleted file mode 100644 index d9eabae..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/dropWhile.js +++ /dev/null @@ -1,59 +0,0 @@ -var baseCallback = require('../internal/baseCallback'), - baseWhile = require('../internal/baseWhile'); - -/** - * Creates a slice of `array` excluding elements dropped from the beginning. - * Elements are dropped until `predicate` returns falsey. The predicate is - * bound to `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropWhile([1, 2, 3], function(n) { - * return n < 3; - * }); - * // => [3] - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.dropWhile(users, { 'user': 'barney', 'active': false }), 'user'); - * // => ['fred', 'pebbles'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.dropWhile(users, 'active', false), 'user'); - * // => ['pebbles'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.dropWhile(users, 'active'), 'user'); - * // => ['barney', 'fred', 'pebbles'] - */ -function dropWhile(array, predicate, thisArg) { - return (array && array.length) - ? baseWhile(array, baseCallback(predicate, thisArg, 3), true) - : []; -} - -module.exports = dropWhile; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/fill.js b/demo/platforms/android/cordova/node_modules/lodash/array/fill.js deleted file mode 100644 index 2c8f6da..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/fill.js +++ /dev/null @@ -1,44 +0,0 @@ -var baseFill = require('../internal/baseFill'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Fills elements of `array` with `value` from `start` up to, but not - * including, `end`. - * - * **Note:** This method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.fill(array, 'a'); - * console.log(array); - * // => ['a', 'a', 'a'] - * - * _.fill(Array(3), 2); - * // => [2, 2, 2] - * - * _.fill([4, 6, 8], '*', 1, 2); - * // => [4, '*', 8] - */ -function fill(array, value, start, end) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); -} - -module.exports = fill; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/findIndex.js b/demo/platforms/android/cordova/node_modules/lodash/array/findIndex.js deleted file mode 100644 index 2a6b8e1..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/findIndex.js +++ /dev/null @@ -1,53 +0,0 @@ -var createFindIndex = require('../internal/createFindIndex'); - -/** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(chr) { - * return chr.user == 'barney'; - * }); - * // => 0 - * - * // using the `_.matches` callback shorthand - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // using the `_.matchesProperty` callback shorthand - * _.findIndex(users, 'active', false); - * // => 0 - * - * // using the `_.property` callback shorthand - * _.findIndex(users, 'active'); - * // => 2 - */ -var findIndex = createFindIndex(); - -module.exports = findIndex; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/findLastIndex.js b/demo/platforms/android/cordova/node_modules/lodash/array/findLastIndex.js deleted file mode 100644 index d6d8eca..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/findLastIndex.js +++ /dev/null @@ -1,53 +0,0 @@ -var createFindIndex = require('../internal/createFindIndex'); - -/** - * This method is like `_.findIndex` except that it iterates over elements - * of `collection` from right to left. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.findLastIndex(users, function(chr) { - * return chr.user == 'pebbles'; - * }); - * // => 2 - * - * // using the `_.matches` callback shorthand - * _.findLastIndex(users, { 'user': 'barney', 'active': true }); - * // => 0 - * - * // using the `_.matchesProperty` callback shorthand - * _.findLastIndex(users, 'active', false); - * // => 2 - * - * // using the `_.property` callback shorthand - * _.findLastIndex(users, 'active'); - * // => 0 - */ -var findLastIndex = createFindIndex(true); - -module.exports = findLastIndex; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/first.js b/demo/platforms/android/cordova/node_modules/lodash/array/first.js deleted file mode 100644 index b3b9c79..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/first.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @alias head - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.first([1, 2, 3]); - * // => 1 - * - * _.first([]); - * // => undefined - */ -function first(array) { - return array ? array[0] : undefined; -} - -module.exports = first; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/flatten.js b/demo/platforms/android/cordova/node_modules/lodash/array/flatten.js deleted file mode 100644 index dc2eff8..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/flatten.js +++ /dev/null @@ -1,32 +0,0 @@ -var baseFlatten = require('../internal/baseFlatten'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Flattens a nested array. If `isDeep` is `true` the array is recursively - * flattened, otherwise it's only flattened a single level. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to flatten. - * @param {boolean} [isDeep] Specify a deep flatten. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, 3, [4]]]); - * // => [1, 2, 3, [4]] - * - * // using `isDeep` - * _.flatten([1, [2, 3, [4]]], true); - * // => [1, 2, 3, 4] - */ -function flatten(array, isDeep, guard) { - var length = array ? array.length : 0; - if (guard && isIterateeCall(array, isDeep, guard)) { - isDeep = false; - } - return length ? baseFlatten(array, isDeep) : []; -} - -module.exports = flatten; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/flattenDeep.js b/demo/platforms/android/cordova/node_modules/lodash/array/flattenDeep.js deleted file mode 100644 index 9f775fe..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/flattenDeep.js +++ /dev/null @@ -1,21 +0,0 @@ -var baseFlatten = require('../internal/baseFlatten'); - -/** - * Recursively flattens a nested array. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to recursively flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, 3, [4]]]); - * // => [1, 2, 3, 4] - */ -function flattenDeep(array) { - var length = array ? array.length : 0; - return length ? baseFlatten(array, true) : []; -} - -module.exports = flattenDeep; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/head.js b/demo/platforms/android/cordova/node_modules/lodash/array/head.js deleted file mode 100644 index 1961b08..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/head.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./first'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/indexOf.js b/demo/platforms/android/cordova/node_modules/lodash/array/indexOf.js deleted file mode 100644 index 4cfc682..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/indexOf.js +++ /dev/null @@ -1,53 +0,0 @@ -var baseIndexOf = require('../internal/baseIndexOf'), - binaryIndex = require('../internal/binaryIndex'); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the offset - * from the end of `array`. If `array` is sorted providing `true` for `fromIndex` - * performs a faster binary search. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {*} value The value to search for. - * @param {boolean|number} [fromIndex=0] The index to search from or `true` - * to perform a binary search on a sorted array. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // using `fromIndex` - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - * - * // performing a binary search - * _.indexOf([1, 1, 2, 2], 2, true); - * // => 2 - */ -function indexOf(array, value, fromIndex) { - var length = array ? array.length : 0; - if (!length) { - return -1; - } - if (typeof fromIndex == 'number') { - fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex; - } else if (fromIndex) { - var index = binaryIndex(array, value); - if (index < length && - (value === value ? (value === array[index]) : (array[index] !== array[index]))) { - return index; - } - return -1; - } - return baseIndexOf(array, value, fromIndex || 0); -} - -module.exports = indexOf; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/initial.js b/demo/platforms/android/cordova/node_modules/lodash/array/initial.js deleted file mode 100644 index 59b7a7d..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/initial.js +++ /dev/null @@ -1,20 +0,0 @@ -var dropRight = require('./dropRight'); - -/** - * Gets all but the last element of `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.initial([1, 2, 3]); - * // => [1, 2] - */ -function initial(array) { - return dropRight(array, 1); -} - -module.exports = initial; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/intersection.js b/demo/platforms/android/cordova/node_modules/lodash/array/intersection.js deleted file mode 100644 index f218432..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/intersection.js +++ /dev/null @@ -1,58 +0,0 @@ -var baseIndexOf = require('../internal/baseIndexOf'), - cacheIndexOf = require('../internal/cacheIndexOf'), - createCache = require('../internal/createCache'), - isArrayLike = require('../internal/isArrayLike'), - restParam = require('../function/restParam'); - -/** - * Creates an array of unique values that are included in all of the provided - * arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of shared values. - * @example - * _.intersection([1, 2], [4, 2], [2, 1]); - * // => [2] - */ -var intersection = restParam(function(arrays) { - var othLength = arrays.length, - othIndex = othLength, - caches = Array(length), - indexOf = baseIndexOf, - isCommon = true, - result = []; - - while (othIndex--) { - var value = arrays[othIndex] = isArrayLike(value = arrays[othIndex]) ? value : []; - caches[othIndex] = (isCommon && value.length >= 120) ? createCache(othIndex && value) : null; - } - var array = arrays[0], - index = -1, - length = array ? array.length : 0, - seen = caches[0]; - - outer: - while (++index < length) { - value = array[index]; - if ((seen ? cacheIndexOf(seen, value) : indexOf(result, value, 0)) < 0) { - var othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if ((cache ? cacheIndexOf(cache, value) : indexOf(arrays[othIndex], value, 0)) < 0) { - continue outer; - } - } - if (seen) { - seen.push(value); - } - result.push(value); - } - } - return result; -}); - -module.exports = intersection; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/last.js b/demo/platforms/android/cordova/node_modules/lodash/array/last.js deleted file mode 100644 index 299af31..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/last.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ -function last(array) { - var length = array ? array.length : 0; - return length ? array[length - 1] : undefined; -} - -module.exports = last; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/lastIndexOf.js b/demo/platforms/android/cordova/node_modules/lodash/array/lastIndexOf.js deleted file mode 100644 index 02b8062..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/lastIndexOf.js +++ /dev/null @@ -1,60 +0,0 @@ -var binaryIndex = require('../internal/binaryIndex'), - indexOfNaN = require('../internal/indexOfNaN'); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * This method is like `_.indexOf` except that it iterates over elements of - * `array` from right to left. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {*} value The value to search for. - * @param {boolean|number} [fromIndex=array.length-1] The index to search from - * or `true` to perform a binary search on a sorted array. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.lastIndexOf([1, 2, 1, 2], 2); - * // => 3 - * - * // using `fromIndex` - * _.lastIndexOf([1, 2, 1, 2], 2, 2); - * // => 1 - * - * // performing a binary search - * _.lastIndexOf([1, 1, 2, 2], 2, true); - * // => 3 - */ -function lastIndexOf(array, value, fromIndex) { - var length = array ? array.length : 0; - if (!length) { - return -1; - } - var index = length; - if (typeof fromIndex == 'number') { - index = (fromIndex < 0 ? nativeMax(length + fromIndex, 0) : nativeMin(fromIndex || 0, length - 1)) + 1; - } else if (fromIndex) { - index = binaryIndex(array, value, true) - 1; - var other = array[index]; - if (value === value ? (value === other) : (other !== other)) { - return index; - } - return -1; - } - if (value !== value) { - return indexOfNaN(array, index, true); - } - while (index--) { - if (array[index] === value) { - return index; - } - } - return -1; -} - -module.exports = lastIndexOf; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/object.js b/demo/platforms/android/cordova/node_modules/lodash/array/object.js deleted file mode 100644 index f4a3453..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/object.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./zipObject'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/pull.js b/demo/platforms/android/cordova/node_modules/lodash/array/pull.js deleted file mode 100644 index 7bcbb4a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/pull.js +++ /dev/null @@ -1,52 +0,0 @@ -var baseIndexOf = require('../internal/baseIndexOf'); - -/** Used for native method references. */ -var arrayProto = Array.prototype; - -/** Native method references. */ -var splice = arrayProto.splice; - -/** - * Removes all provided values from `array` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.without`, this method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to modify. - * @param {...*} [values] The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3, 1, 2, 3]; - * - * _.pull(array, 2, 3); - * console.log(array); - * // => [1, 1] - */ -function pull() { - var args = arguments, - array = args[0]; - - if (!(array && array.length)) { - return array; - } - var index = 0, - indexOf = baseIndexOf, - length = args.length; - - while (++index < length) { - var fromIndex = 0, - value = args[index]; - - while ((fromIndex = indexOf(array, value, fromIndex)) > -1) { - splice.call(array, fromIndex, 1); - } - } - return array; -} - -module.exports = pull; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/pullAt.js b/demo/platforms/android/cordova/node_modules/lodash/array/pullAt.js deleted file mode 100644 index 4ca2476..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/pullAt.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseAt = require('../internal/baseAt'), - baseCompareAscending = require('../internal/baseCompareAscending'), - baseFlatten = require('../internal/baseFlatten'), - basePullAt = require('../internal/basePullAt'), - restParam = require('../function/restParam'); - -/** - * Removes elements from `array` corresponding to the given indexes and returns - * an array of the removed elements. Indexes may be specified as an array of - * indexes or as individual arguments. - * - * **Note:** Unlike `_.at`, this method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to modify. - * @param {...(number|number[])} [indexes] The indexes of elements to remove, - * specified as individual indexes or arrays of indexes. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [5, 10, 15, 20]; - * var evens = _.pullAt(array, 1, 3); - * - * console.log(array); - * // => [5, 15] - * - * console.log(evens); - * // => [10, 20] - */ -var pullAt = restParam(function(array, indexes) { - indexes = baseFlatten(indexes); - - var result = baseAt(array, indexes); - basePullAt(array, indexes.sort(baseCompareAscending)); - return result; -}); - -module.exports = pullAt; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/remove.js b/demo/platforms/android/cordova/node_modules/lodash/array/remove.js deleted file mode 100644 index 0cf979b..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/remove.js +++ /dev/null @@ -1,64 +0,0 @@ -var baseCallback = require('../internal/baseCallback'), - basePullAt = require('../internal/basePullAt'); - -/** - * Removes all elements from `array` that `predicate` returns truthy for - * and returns an array of the removed elements. The predicate is bound to - * `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * **Note:** Unlike `_.filter`, this method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to modify. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [1, 2, 3, 4]; - * var evens = _.remove(array, function(n) { - * return n % 2 == 0; - * }); - * - * console.log(array); - * // => [1, 3] - * - * console.log(evens); - * // => [2, 4] - */ -function remove(array, predicate, thisArg) { - var result = []; - if (!(array && array.length)) { - return result; - } - var index = -1, - indexes = [], - length = array.length; - - predicate = baseCallback(predicate, thisArg, 3); - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result.push(value); - indexes.push(index); - } - } - basePullAt(array, indexes); - return result; -} - -module.exports = remove; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/rest.js b/demo/platforms/android/cordova/node_modules/lodash/array/rest.js deleted file mode 100644 index 9bfb734..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/rest.js +++ /dev/null @@ -1,21 +0,0 @@ -var drop = require('./drop'); - -/** - * Gets all but the first element of `array`. - * - * @static - * @memberOf _ - * @alias tail - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.rest([1, 2, 3]); - * // => [2, 3] - */ -function rest(array) { - return drop(array, 1); -} - -module.exports = rest; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/slice.js b/demo/platforms/android/cordova/node_modules/lodash/array/slice.js deleted file mode 100644 index 48ef1a1..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/slice.js +++ /dev/null @@ -1,30 +0,0 @@ -var baseSlice = require('../internal/baseSlice'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Creates a slice of `array` from `start` up to, but not including, `end`. - * - * **Note:** This method is used instead of `Array#slice` to support node - * lists in IE < 9 and to ensure dense arrays are returned. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ -function slice(array, start, end) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { - start = 0; - end = length; - } - return baseSlice(array, start, end); -} - -module.exports = slice; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/sortedIndex.js b/demo/platforms/android/cordova/node_modules/lodash/array/sortedIndex.js deleted file mode 100644 index 6903bca..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/sortedIndex.js +++ /dev/null @@ -1,53 +0,0 @@ -var createSortedIndex = require('../internal/createSortedIndex'); - -/** - * Uses a binary search to determine the lowest index at which `value` should - * be inserted into `array` in order to maintain its sort order. If an iteratee - * function is provided it's invoked for `value` and each element of `array` - * to compute their sort ranking. The iteratee is bound to `thisArg` and - * invoked with one argument; (value). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedIndex([30, 50], 40); - * // => 1 - * - * _.sortedIndex([4, 4, 5, 5], 5); - * // => 2 - * - * var dict = { 'data': { 'thirty': 30, 'forty': 40, 'fifty': 50 } }; - * - * // using an iteratee function - * _.sortedIndex(['thirty', 'fifty'], 'forty', function(word) { - * return this.data[word]; - * }, dict); - * // => 1 - * - * // using the `_.property` callback shorthand - * _.sortedIndex([{ 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x'); - * // => 1 - */ -var sortedIndex = createSortedIndex(); - -module.exports = sortedIndex; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/sortedLastIndex.js b/demo/platforms/android/cordova/node_modules/lodash/array/sortedLastIndex.js deleted file mode 100644 index 81a4a86..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/sortedLastIndex.js +++ /dev/null @@ -1,25 +0,0 @@ -var createSortedIndex = require('../internal/createSortedIndex'); - -/** - * This method is like `_.sortedIndex` except that it returns the highest - * index at which `value` should be inserted into `array` in order to - * maintain its sort order. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedLastIndex([4, 4, 5, 5], 5); - * // => 4 - */ -var sortedLastIndex = createSortedIndex(true); - -module.exports = sortedLastIndex; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/tail.js b/demo/platforms/android/cordova/node_modules/lodash/array/tail.js deleted file mode 100644 index c5dfe77..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/tail.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./rest'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/take.js b/demo/platforms/android/cordova/node_modules/lodash/array/take.js deleted file mode 100644 index 875917a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/take.js +++ /dev/null @@ -1,39 +0,0 @@ -var baseSlice = require('../internal/baseSlice'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Creates a slice of `array` with `n` elements taken from the beginning. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.take([1, 2, 3]); - * // => [1] - * - * _.take([1, 2, 3], 2); - * // => [1, 2] - * - * _.take([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.take([1, 2, 3], 0); - * // => [] - */ -function take(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - return baseSlice(array, 0, n < 0 ? 0 : n); -} - -module.exports = take; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/takeRight.js b/demo/platforms/android/cordova/node_modules/lodash/array/takeRight.js deleted file mode 100644 index 6e89c87..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/takeRight.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseSlice = require('../internal/baseSlice'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Creates a slice of `array` with `n` elements taken from the end. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRight([1, 2, 3]); - * // => [3] - * - * _.takeRight([1, 2, 3], 2); - * // => [2, 3] - * - * _.takeRight([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.takeRight([1, 2, 3], 0); - * // => [] - */ -function takeRight(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - n = length - (+n || 0); - return baseSlice(array, n < 0 ? 0 : n); -} - -module.exports = takeRight; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/takeRightWhile.js b/demo/platforms/android/cordova/node_modules/lodash/array/takeRightWhile.js deleted file mode 100644 index 5464d13..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/takeRightWhile.js +++ /dev/null @@ -1,59 +0,0 @@ -var baseCallback = require('../internal/baseCallback'), - baseWhile = require('../internal/baseWhile'); - -/** - * Creates a slice of `array` with elements taken from the end. Elements are - * taken until `predicate` returns falsey. The predicate is bound to `thisArg` - * and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRightWhile([1, 2, 3], function(n) { - * return n > 1; - * }); - * // => [2, 3] - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.takeRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user'); - * // => ['pebbles'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.takeRightWhile(users, 'active', false), 'user'); - * // => ['fred', 'pebbles'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.takeRightWhile(users, 'active'), 'user'); - * // => [] - */ -function takeRightWhile(array, predicate, thisArg) { - return (array && array.length) - ? baseWhile(array, baseCallback(predicate, thisArg, 3), false, true) - : []; -} - -module.exports = takeRightWhile; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/takeWhile.js b/demo/platforms/android/cordova/node_modules/lodash/array/takeWhile.js deleted file mode 100644 index f7e28a1..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/takeWhile.js +++ /dev/null @@ -1,59 +0,0 @@ -var baseCallback = require('../internal/baseCallback'), - baseWhile = require('../internal/baseWhile'); - -/** - * Creates a slice of `array` with elements taken from the beginning. Elements - * are taken until `predicate` returns falsey. The predicate is bound to - * `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeWhile([1, 2, 3], function(n) { - * return n < 3; - * }); - * // => [1, 2] - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false}, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.takeWhile(users, { 'user': 'barney', 'active': false }), 'user'); - * // => ['barney'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.takeWhile(users, 'active', false), 'user'); - * // => ['barney', 'fred'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.takeWhile(users, 'active'), 'user'); - * // => [] - */ -function takeWhile(array, predicate, thisArg) { - return (array && array.length) - ? baseWhile(array, baseCallback(predicate, thisArg, 3)) - : []; -} - -module.exports = takeWhile; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/union.js b/demo/platforms/android/cordova/node_modules/lodash/array/union.js deleted file mode 100644 index 53cefe4..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/union.js +++ /dev/null @@ -1,24 +0,0 @@ -var baseFlatten = require('../internal/baseFlatten'), - baseUniq = require('../internal/baseUniq'), - restParam = require('../function/restParam'); - -/** - * Creates an array of unique values, in order, from all of the provided arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.union([1, 2], [4, 2], [2, 1]); - * // => [1, 2, 4] - */ -var union = restParam(function(arrays) { - return baseUniq(baseFlatten(arrays, false, true)); -}); - -module.exports = union; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/uniq.js b/demo/platforms/android/cordova/node_modules/lodash/array/uniq.js deleted file mode 100644 index ae937ef..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/uniq.js +++ /dev/null @@ -1,71 +0,0 @@ -var baseCallback = require('../internal/baseCallback'), - baseUniq = require('../internal/baseUniq'), - isIterateeCall = require('../internal/isIterateeCall'), - sortedUniq = require('../internal/sortedUniq'); - -/** - * Creates a duplicate-free version of an array, using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons, in which only the first occurence of each element - * is kept. Providing `true` for `isSorted` performs a faster search algorithm - * for sorted arrays. If an iteratee function is provided it's invoked for - * each element in the array to generate the criterion by which uniqueness - * is computed. The `iteratee` is bound to `thisArg` and invoked with three - * arguments: (value, index, array). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias unique - * @category Array - * @param {Array} array The array to inspect. - * @param {boolean} [isSorted] Specify the array is sorted. - * @param {Function|Object|string} [iteratee] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new duplicate-value-free array. - * @example - * - * _.uniq([2, 1, 2]); - * // => [2, 1] - * - * // using `isSorted` - * _.uniq([1, 1, 2], true); - * // => [1, 2] - * - * // using an iteratee function - * _.uniq([1, 2.5, 1.5, 2], function(n) { - * return this.floor(n); - * }, Math); - * // => [1, 2.5] - * - * // using the `_.property` callback shorthand - * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ -function uniq(array, isSorted, iteratee, thisArg) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (isSorted != null && typeof isSorted != 'boolean') { - thisArg = iteratee; - iteratee = isIterateeCall(array, isSorted, thisArg) ? undefined : isSorted; - isSorted = false; - } - iteratee = iteratee == null ? iteratee : baseCallback(iteratee, thisArg, 3); - return (isSorted) - ? sortedUniq(array, iteratee) - : baseUniq(array, iteratee); -} - -module.exports = uniq; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/unique.js b/demo/platforms/android/cordova/node_modules/lodash/array/unique.js deleted file mode 100644 index 396de1b..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/unique.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./uniq'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/unzip.js b/demo/platforms/android/cordova/node_modules/lodash/array/unzip.js deleted file mode 100644 index 0a539fa..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/unzip.js +++ /dev/null @@ -1,47 +0,0 @@ -var arrayFilter = require('../internal/arrayFilter'), - arrayMap = require('../internal/arrayMap'), - baseProperty = require('../internal/baseProperty'), - isArrayLike = require('../internal/isArrayLike'); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * This method is like `_.zip` except that it accepts an array of grouped - * elements and creates an array regrouping the elements to their pre-zip - * configuration. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array of grouped elements to process. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip(['fred', 'barney'], [30, 40], [true, false]); - * // => [['fred', 30, true], ['barney', 40, false]] - * - * _.unzip(zipped); - * // => [['fred', 'barney'], [30, 40], [true, false]] - */ -function unzip(array) { - if (!(array && array.length)) { - return []; - } - var index = -1, - length = 0; - - array = arrayFilter(array, function(group) { - if (isArrayLike(group)) { - length = nativeMax(group.length, length); - return true; - } - }); - var result = Array(length); - while (++index < length) { - result[index] = arrayMap(array, baseProperty(index)); - } - return result; -} - -module.exports = unzip; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/unzipWith.js b/demo/platforms/android/cordova/node_modules/lodash/array/unzipWith.js deleted file mode 100644 index 324a2b1..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/unzipWith.js +++ /dev/null @@ -1,41 +0,0 @@ -var arrayMap = require('../internal/arrayMap'), - arrayReduce = require('../internal/arrayReduce'), - bindCallback = require('../internal/bindCallback'), - unzip = require('./unzip'); - -/** - * This method is like `_.unzip` except that it accepts an iteratee to specify - * how regrouped values should be combined. The `iteratee` is bound to `thisArg` - * and invoked with four arguments: (accumulator, value, index, group). - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array of grouped elements to process. - * @param {Function} [iteratee] The function to combine regrouped values. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip([1, 2], [10, 20], [100, 200]); - * // => [[1, 10, 100], [2, 20, 200]] - * - * _.unzipWith(zipped, _.add); - * // => [3, 30, 300] - */ -function unzipWith(array, iteratee, thisArg) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - var result = unzip(array); - if (iteratee == null) { - return result; - } - iteratee = bindCallback(iteratee, thisArg, 4); - return arrayMap(result, function(group) { - return arrayReduce(group, iteratee, undefined, true); - }); -} - -module.exports = unzipWith; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/without.js b/demo/platforms/android/cordova/node_modules/lodash/array/without.js deleted file mode 100644 index 2ac3d11..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/without.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseDifference = require('../internal/baseDifference'), - isArrayLike = require('../internal/isArrayLike'), - restParam = require('../function/restParam'); - -/** - * Creates an array excluding all provided values using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to filter. - * @param {...*} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.without([1, 2, 1, 3], 1, 2); - * // => [3] - */ -var without = restParam(function(array, values) { - return isArrayLike(array) - ? baseDifference(array, values) - : []; -}); - -module.exports = without; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/xor.js b/demo/platforms/android/cordova/node_modules/lodash/array/xor.js deleted file mode 100644 index 04ef32a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/xor.js +++ /dev/null @@ -1,35 +0,0 @@ -var arrayPush = require('../internal/arrayPush'), - baseDifference = require('../internal/baseDifference'), - baseUniq = require('../internal/baseUniq'), - isArrayLike = require('../internal/isArrayLike'); - -/** - * Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) - * of the provided arrays. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of values. - * @example - * - * _.xor([1, 2], [4, 2]); - * // => [1, 4] - */ -function xor() { - var index = -1, - length = arguments.length; - - while (++index < length) { - var array = arguments[index]; - if (isArrayLike(array)) { - var result = result - ? arrayPush(baseDifference(result, array), baseDifference(array, result)) - : array; - } - } - return result ? baseUniq(result) : []; -} - -module.exports = xor; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/zip.js b/demo/platforms/android/cordova/node_modules/lodash/array/zip.js deleted file mode 100644 index 53a6f69..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/zip.js +++ /dev/null @@ -1,21 +0,0 @@ -var restParam = require('../function/restParam'), - unzip = require('./unzip'); - -/** - * Creates an array of grouped elements, the first of which contains the first - * elements of the given arrays, the second of which contains the second elements - * of the given arrays, and so on. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zip(['fred', 'barney'], [30, 40], [true, false]); - * // => [['fred', 30, true], ['barney', 40, false]] - */ -var zip = restParam(unzip); - -module.exports = zip; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/zipObject.js b/demo/platforms/android/cordova/node_modules/lodash/array/zipObject.js deleted file mode 100644 index dec7a21..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/zipObject.js +++ /dev/null @@ -1,43 +0,0 @@ -var isArray = require('../lang/isArray'); - -/** - * The inverse of `_.pairs`; this method returns an object composed from arrays - * of property names and values. Provide either a single two dimensional array, - * e.g. `[[key1, value1], [key2, value2]]` or two arrays, one of property names - * and one of corresponding values. - * - * @static - * @memberOf _ - * @alias object - * @category Array - * @param {Array} props The property names. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObject([['fred', 30], ['barney', 40]]); - * // => { 'fred': 30, 'barney': 40 } - * - * _.zipObject(['fred', 'barney'], [30, 40]); - * // => { 'fred': 30, 'barney': 40 } - */ -function zipObject(props, values) { - var index = -1, - length = props ? props.length : 0, - result = {}; - - if (length && !values && !isArray(props[0])) { - values = []; - } - while (++index < length) { - var key = props[index]; - if (values) { - result[key] = values[index]; - } else if (key) { - result[key[0]] = key[1]; - } - } - return result; -} - -module.exports = zipObject; diff --git a/demo/platforms/android/cordova/node_modules/lodash/array/zipWith.js b/demo/platforms/android/cordova/node_modules/lodash/array/zipWith.js deleted file mode 100644 index ad10374..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/array/zipWith.js +++ /dev/null @@ -1,36 +0,0 @@ -var restParam = require('../function/restParam'), - unzipWith = require('./unzipWith'); - -/** - * This method is like `_.zip` except that it accepts an iteratee to specify - * how grouped values should be combined. The `iteratee` is bound to `thisArg` - * and invoked with four arguments: (accumulator, value, index, group). - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @param {Function} [iteratee] The function to combine grouped values. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zipWith([1, 2], [10, 20], [100, 200], _.add); - * // => [111, 222] - */ -var zipWith = restParam(function(arrays) { - var length = arrays.length, - iteratee = length > 2 ? arrays[length - 2] : undefined, - thisArg = length > 1 ? arrays[length - 1] : undefined; - - if (length > 2 && typeof iteratee == 'function') { - length -= 2; - } else { - iteratee = (length > 1 && typeof thisArg == 'function') ? (--length, thisArg) : undefined; - thisArg = undefined; - } - arrays.length = length; - return unzipWith(arrays, iteratee, thisArg); -}); - -module.exports = zipWith; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain.js b/demo/platforms/android/cordova/node_modules/lodash/chain.js deleted file mode 100644 index 6439627..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - 'chain': require('./chain/chain'), - 'commit': require('./chain/commit'), - 'concat': require('./chain/concat'), - 'lodash': require('./chain/lodash'), - 'plant': require('./chain/plant'), - 'reverse': require('./chain/reverse'), - 'run': require('./chain/run'), - 'tap': require('./chain/tap'), - 'thru': require('./chain/thru'), - 'toJSON': require('./chain/toJSON'), - 'toString': require('./chain/toString'), - 'value': require('./chain/value'), - 'valueOf': require('./chain/valueOf'), - 'wrapperChain': require('./chain/wrapperChain') -}; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/chain.js b/demo/platforms/android/cordova/node_modules/lodash/chain/chain.js deleted file mode 100644 index 453ba1e..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/chain.js +++ /dev/null @@ -1,35 +0,0 @@ -var lodash = require('./lodash'); - -/** - * Creates a `lodash` object that wraps `value` with explicit method - * chaining enabled. - * - * @static - * @memberOf _ - * @category Chain - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _.chain(users) - * .sortBy('age') - * .map(function(chr) { - * return chr.user + ' is ' + chr.age; - * }) - * .first() - * .value(); - * // => 'pebbles is 1' - */ -function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; -} - -module.exports = chain; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/commit.js b/demo/platforms/android/cordova/node_modules/lodash/chain/commit.js deleted file mode 100644 index c732d1b..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/commit.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./wrapperCommit'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/concat.js b/demo/platforms/android/cordova/node_modules/lodash/chain/concat.js deleted file mode 100644 index 90607d1..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/concat.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./wrapperConcat'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/lodash.js b/demo/platforms/android/cordova/node_modules/lodash/chain/lodash.js deleted file mode 100644 index 1c3467e..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/lodash.js +++ /dev/null @@ -1,125 +0,0 @@ -var LazyWrapper = require('../internal/LazyWrapper'), - LodashWrapper = require('../internal/LodashWrapper'), - baseLodash = require('../internal/baseLodash'), - isArray = require('../lang/isArray'), - isObjectLike = require('../internal/isObjectLike'), - wrapperClone = require('../internal/wrapperClone'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Creates a `lodash` object which wraps `value` to enable implicit chaining. - * Methods that operate on and return arrays, collections, and functions can - * be chained together. Methods that retrieve a single value or may return a - * primitive value will automatically end the chain returning the unwrapped - * value. Explicit chaining may be enabled using `_.chain`. The execution of - * chained methods is lazy, that is, execution is deferred until `_#value` - * is implicitly or explicitly called. - * - * Lazy evaluation allows several methods to support shortcut fusion. Shortcut - * fusion is an optimization strategy which merge iteratee calls; this can help - * to avoid the creation of intermediate data structures and greatly reduce the - * number of iteratee executions. - * - * Chaining is supported in custom builds as long as the `_#value` method is - * directly or indirectly included in the build. - * - * In addition to lodash methods, wrappers have `Array` and `String` methods. - * - * The wrapper `Array` methods are: - * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, - * `splice`, and `unshift` - * - * The wrapper `String` methods are: - * `replace` and `split` - * - * The wrapper methods that support shortcut fusion are: - * `compact`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `filter`, - * `first`, `initial`, `last`, `map`, `pluck`, `reject`, `rest`, `reverse`, - * `slice`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `toArray`, - * and `where` - * - * The chainable wrapper methods are: - * `after`, `ary`, `assign`, `at`, `before`, `bind`, `bindAll`, `bindKey`, - * `callback`, `chain`, `chunk`, `commit`, `compact`, `concat`, `constant`, - * `countBy`, `create`, `curry`, `debounce`, `defaults`, `defaultsDeep`, - * `defer`, `delay`, `difference`, `drop`, `dropRight`, `dropRightWhile`, - * `dropWhile`, `fill`, `filter`, `flatten`, `flattenDeep`, `flow`, `flowRight`, - * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`, - * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`, - * `invoke`, `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, - * `matchesProperty`, `memoize`, `merge`, `method`, `methodOf`, `mixin`, - * `modArgs`, `negate`, `omit`, `once`, `pairs`, `partial`, `partialRight`, - * `partition`, `pick`, `plant`, `pluck`, `property`, `propertyOf`, `pull`, - * `pullAt`, `push`, `range`, `rearg`, `reject`, `remove`, `rest`, `restParam`, - * `reverse`, `set`, `shuffle`, `slice`, `sort`, `sortBy`, `sortByAll`, - * `sortByOrder`, `splice`, `spread`, `take`, `takeRight`, `takeRightWhile`, - * `takeWhile`, `tap`, `throttle`, `thru`, `times`, `toArray`, `toPlainObject`, - * `transform`, `union`, `uniq`, `unshift`, `unzip`, `unzipWith`, `values`, - * `valuesIn`, `where`, `without`, `wrap`, `xor`, `zip`, `zipObject`, `zipWith` - * - * The wrapper methods that are **not** chainable by default are: - * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clone`, `cloneDeep`, - * `deburr`, `endsWith`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`, - * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`, - * `floor`, `get`, `gt`, `gte`, `has`, `identity`, `includes`, `indexOf`, - * `inRange`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`, - * `isEmpty`, `isEqual`, `isError`, `isFinite` `isFunction`, `isMatch`, - * `isNative`, `isNaN`, `isNull`, `isNumber`, `isObject`, `isPlainObject`, - * `isRegExp`, `isString`, `isUndefined`, `isTypedArray`, `join`, `kebabCase`, - * `last`, `lastIndexOf`, `lt`, `lte`, `max`, `min`, `noConflict`, `noop`, - * `now`, `pad`, `padLeft`, `padRight`, `parseInt`, `pop`, `random`, `reduce`, - * `reduceRight`, `repeat`, `result`, `round`, `runInContext`, `shift`, `size`, - * `snakeCase`, `some`, `sortedIndex`, `sortedLastIndex`, `startCase`, - * `startsWith`, `sum`, `template`, `trim`, `trimLeft`, `trimRight`, `trunc`, - * `unescape`, `uniqueId`, `value`, and `words` - * - * The wrapper method `sample` will return a wrapped value when `n` is provided, - * otherwise an unwrapped value is returned. - * - * @name _ - * @constructor - * @category Chain - * @param {*} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var wrapped = _([1, 2, 3]); - * - * // returns an unwrapped value - * wrapped.reduce(function(total, n) { - * return total + n; - * }); - * // => 6 - * - * // returns a wrapped value - * var squares = wrapped.map(function(n) { - * return n * n; - * }); - * - * _.isArray(squares); - * // => false - * - * _.isArray(squares.value()); - * // => true - */ -function lodash(value) { - if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { - if (value instanceof LodashWrapper) { - return value; - } - if (hasOwnProperty.call(value, '__chain__') && hasOwnProperty.call(value, '__wrapped__')) { - return wrapperClone(value); - } - } - return new LodashWrapper(value); -} - -// Ensure wrappers are instances of `baseLodash`. -lodash.prototype = baseLodash.prototype; - -module.exports = lodash; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/plant.js b/demo/platforms/android/cordova/node_modules/lodash/chain/plant.js deleted file mode 100644 index 04099f2..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/plant.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./wrapperPlant'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/reverse.js b/demo/platforms/android/cordova/node_modules/lodash/chain/reverse.js deleted file mode 100644 index f72a64a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/reverse.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./wrapperReverse'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/run.js b/demo/platforms/android/cordova/node_modules/lodash/chain/run.js deleted file mode 100644 index 5e751a2..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/run.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./wrapperValue'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/tap.js b/demo/platforms/android/cordova/node_modules/lodash/chain/tap.js deleted file mode 100644 index 3d0257e..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/tap.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * This method invokes `interceptor` and returns `value`. The interceptor is - * bound to `thisArg` and invoked with one argument; (value). The purpose of - * this method is to "tap into" a method chain in order to perform operations - * on intermediate results within the chain. - * - * @static - * @memberOf _ - * @category Chain - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @param {*} [thisArg] The `this` binding of `interceptor`. - * @returns {*} Returns `value`. - * @example - * - * _([1, 2, 3]) - * .tap(function(array) { - * array.pop(); - * }) - * .reverse() - * .value(); - * // => [2, 1] - */ -function tap(value, interceptor, thisArg) { - interceptor.call(thisArg, value); - return value; -} - -module.exports = tap; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/thru.js b/demo/platforms/android/cordova/node_modules/lodash/chain/thru.js deleted file mode 100644 index a715780..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/thru.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This method is like `_.tap` except that it returns the result of `interceptor`. - * - * @static - * @memberOf _ - * @category Chain - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @param {*} [thisArg] The `this` binding of `interceptor`. - * @returns {*} Returns the result of `interceptor`. - * @example - * - * _(' abc ') - * .chain() - * .trim() - * .thru(function(value) { - * return [value]; - * }) - * .value(); - * // => ['abc'] - */ -function thru(value, interceptor, thisArg) { - return interceptor.call(thisArg, value); -} - -module.exports = thru; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/toJSON.js b/demo/platforms/android/cordova/node_modules/lodash/chain/toJSON.js deleted file mode 100644 index 5e751a2..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/toJSON.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./wrapperValue'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/toString.js b/demo/platforms/android/cordova/node_modules/lodash/chain/toString.js deleted file mode 100644 index c7bcbf9..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/toString.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./wrapperToString'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/value.js b/demo/platforms/android/cordova/node_modules/lodash/chain/value.js deleted file mode 100644 index 5e751a2..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/value.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./wrapperValue'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/valueOf.js b/demo/platforms/android/cordova/node_modules/lodash/chain/valueOf.js deleted file mode 100644 index 5e751a2..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/valueOf.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./wrapperValue'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperChain.js b/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperChain.js deleted file mode 100644 index 3823481..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperChain.js +++ /dev/null @@ -1,32 +0,0 @@ -var chain = require('./chain'); - -/** - * Enables explicit method chaining on the wrapper object. - * - * @name chain - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // without explicit chaining - * _(users).first(); - * // => { 'user': 'barney', 'age': 36 } - * - * // with explicit chaining - * _(users).chain() - * .first() - * .pick('user') - * .value(); - * // => { 'user': 'barney' } - */ -function wrapperChain() { - return chain(this); -} - -module.exports = wrapperChain; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperCommit.js b/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperCommit.js deleted file mode 100644 index c3d2898..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperCommit.js +++ /dev/null @@ -1,32 +0,0 @@ -var LodashWrapper = require('../internal/LodashWrapper'); - -/** - * Executes the chained sequence and returns the wrapped result. - * - * @name commit - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).push(3); - * - * console.log(array); - * // => [1, 2] - * - * wrapped = wrapped.commit(); - * console.log(array); - * // => [1, 2, 3] - * - * wrapped.last(); - * // => 3 - * - * console.log(array); - * // => [1, 2, 3] - */ -function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); -} - -module.exports = wrapperCommit; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperConcat.js b/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperConcat.js deleted file mode 100644 index 799156c..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperConcat.js +++ /dev/null @@ -1,34 +0,0 @@ -var arrayConcat = require('../internal/arrayConcat'), - baseFlatten = require('../internal/baseFlatten'), - isArray = require('../lang/isArray'), - restParam = require('../function/restParam'), - toObject = require('../internal/toObject'); - -/** - * Creates a new array joining a wrapped array with any additional arrays - * and/or values. - * - * @name concat - * @memberOf _ - * @category Chain - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var wrapped = _(array).concat(2, [3], [[4]]); - * - * console.log(wrapped.value()); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ -var wrapperConcat = restParam(function(values) { - values = baseFlatten(values); - return this.thru(function(array) { - return arrayConcat(isArray(array) ? array : [toObject(array)], values); - }); -}); - -module.exports = wrapperConcat; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperPlant.js b/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperPlant.js deleted file mode 100644 index 234fe41..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperPlant.js +++ /dev/null @@ -1,45 +0,0 @@ -var baseLodash = require('../internal/baseLodash'), - wrapperClone = require('../internal/wrapperClone'); - -/** - * Creates a clone of the chained sequence planting `value` as the wrapped value. - * - * @name plant - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).map(function(value) { - * return Math.pow(value, 2); - * }); - * - * var other = [3, 4]; - * var otherWrapped = wrapped.plant(other); - * - * otherWrapped.value(); - * // => [9, 16] - * - * wrapped.value(); - * // => [1, 4] - */ -function wrapperPlant(value) { - var result, - parent = this; - - while (parent instanceof baseLodash) { - var clone = wrapperClone(parent); - if (result) { - previous.__wrapped__ = clone; - } else { - result = clone; - } - var previous = clone; - parent = parent.__wrapped__; - } - previous.__wrapped__ = value; - return result; -} - -module.exports = wrapperPlant; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperReverse.js b/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperReverse.js deleted file mode 100644 index 6ba546d..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperReverse.js +++ /dev/null @@ -1,43 +0,0 @@ -var LazyWrapper = require('../internal/LazyWrapper'), - LodashWrapper = require('../internal/LodashWrapper'), - thru = require('./thru'); - -/** - * Reverses the wrapped array so the first element becomes the last, the - * second element becomes the second to last, and so on. - * - * **Note:** This method mutates the wrapped array. - * - * @name reverse - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new reversed `lodash` wrapper instance. - * @example - * - * var array = [1, 2, 3]; - * - * _(array).reverse().value() - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ -function wrapperReverse() { - var value = this.__wrapped__; - - var interceptor = function(value) { - return value.reverse(); - }; - if (value instanceof LazyWrapper) { - var wrapped = value; - if (this.__actions__.length) { - wrapped = new LazyWrapper(this); - } - wrapped = wrapped.reverse(); - wrapped.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined }); - return new LodashWrapper(wrapped, this.__chain__); - } - return this.thru(interceptor); -} - -module.exports = wrapperReverse; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperToString.js b/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperToString.js deleted file mode 100644 index db975a5..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperToString.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Produces the result of coercing the unwrapped value to a string. - * - * @name toString - * @memberOf _ - * @category Chain - * @returns {string} Returns the coerced string value. - * @example - * - * _([1, 2, 3]).toString(); - * // => '1,2,3' - */ -function wrapperToString() { - return (this.value() + ''); -} - -module.exports = wrapperToString; diff --git a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperValue.js b/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperValue.js deleted file mode 100644 index 2734e41..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/chain/wrapperValue.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseWrapperValue = require('../internal/baseWrapperValue'); - -/** - * Executes the chained sequence to extract the unwrapped value. - * - * @name value - * @memberOf _ - * @alias run, toJSON, valueOf - * @category Chain - * @returns {*} Returns the resolved unwrapped value. - * @example - * - * _([1, 2, 3]).value(); - * // => [1, 2, 3] - */ -function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); -} - -module.exports = wrapperValue; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection.js b/demo/platforms/android/cordova/node_modules/lodash/collection.js deleted file mode 100644 index 0338857..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - 'all': require('./collection/all'), - 'any': require('./collection/any'), - 'at': require('./collection/at'), - 'collect': require('./collection/collect'), - 'contains': require('./collection/contains'), - 'countBy': require('./collection/countBy'), - 'detect': require('./collection/detect'), - 'each': require('./collection/each'), - 'eachRight': require('./collection/eachRight'), - 'every': require('./collection/every'), - 'filter': require('./collection/filter'), - 'find': require('./collection/find'), - 'findLast': require('./collection/findLast'), - 'findWhere': require('./collection/findWhere'), - 'foldl': require('./collection/foldl'), - 'foldr': require('./collection/foldr'), - 'forEach': require('./collection/forEach'), - 'forEachRight': require('./collection/forEachRight'), - 'groupBy': require('./collection/groupBy'), - 'include': require('./collection/include'), - 'includes': require('./collection/includes'), - 'indexBy': require('./collection/indexBy'), - 'inject': require('./collection/inject'), - 'invoke': require('./collection/invoke'), - 'map': require('./collection/map'), - 'max': require('./math/max'), - 'min': require('./math/min'), - 'partition': require('./collection/partition'), - 'pluck': require('./collection/pluck'), - 'reduce': require('./collection/reduce'), - 'reduceRight': require('./collection/reduceRight'), - 'reject': require('./collection/reject'), - 'sample': require('./collection/sample'), - 'select': require('./collection/select'), - 'shuffle': require('./collection/shuffle'), - 'size': require('./collection/size'), - 'some': require('./collection/some'), - 'sortBy': require('./collection/sortBy'), - 'sortByAll': require('./collection/sortByAll'), - 'sortByOrder': require('./collection/sortByOrder'), - 'sum': require('./math/sum'), - 'where': require('./collection/where') -}; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/all.js b/demo/platforms/android/cordova/node_modules/lodash/collection/all.js deleted file mode 100644 index d0839f7..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/all.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./every'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/any.js b/demo/platforms/android/cordova/node_modules/lodash/collection/any.js deleted file mode 100644 index 900ac25..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/any.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./some'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/at.js b/demo/platforms/android/cordova/node_modules/lodash/collection/at.js deleted file mode 100644 index 29236e5..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/at.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseAt = require('../internal/baseAt'), - baseFlatten = require('../internal/baseFlatten'), - restParam = require('../function/restParam'); - -/** - * Creates an array of elements corresponding to the given keys, or indexes, - * of `collection`. Keys may be specified as individual arguments or as arrays - * of keys. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {...(number|number[]|string|string[])} [props] The property names - * or indexes of elements to pick, specified individually or in arrays. - * @returns {Array} Returns the new array of picked elements. - * @example - * - * _.at(['a', 'b', 'c'], [0, 2]); - * // => ['a', 'c'] - * - * _.at(['barney', 'fred', 'pebbles'], 0, 2); - * // => ['barney', 'pebbles'] - */ -var at = restParam(function(collection, props) { - return baseAt(collection, baseFlatten(props)); -}); - -module.exports = at; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/collect.js b/demo/platforms/android/cordova/node_modules/lodash/collection/collect.js deleted file mode 100644 index 0d1e1ab..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/collect.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./map'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/contains.js b/demo/platforms/android/cordova/node_modules/lodash/collection/contains.js deleted file mode 100644 index 594722a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/contains.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./includes'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/countBy.js b/demo/platforms/android/cordova/node_modules/lodash/collection/countBy.js deleted file mode 100644 index e97dbb7..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/countBy.js +++ /dev/null @@ -1,54 +0,0 @@ -var createAggregator = require('../internal/createAggregator'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Creates an object composed of keys generated from the results of running - * each element of `collection` through `iteratee`. The corresponding value - * of each key is the number of times the key was returned by `iteratee`. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.countBy([4.3, 6.1, 6.4], function(n) { - * return Math.floor(n); - * }); - * // => { '4': 1, '6': 2 } - * - * _.countBy([4.3, 6.1, 6.4], function(n) { - * return this.floor(n); - * }, Math); - * // => { '4': 1, '6': 2 } - * - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ -var countBy = createAggregator(function(result, value, key) { - hasOwnProperty.call(result, key) ? ++result[key] : (result[key] = 1); -}); - -module.exports = countBy; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/detect.js b/demo/platforms/android/cordova/node_modules/lodash/collection/detect.js deleted file mode 100644 index 2fb6303..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/detect.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./find'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/each.js b/demo/platforms/android/cordova/node_modules/lodash/collection/each.js deleted file mode 100644 index 8800f42..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/each.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEach'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/eachRight.js b/demo/platforms/android/cordova/node_modules/lodash/collection/eachRight.js deleted file mode 100644 index 3252b2a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/eachRight.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEachRight'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/every.js b/demo/platforms/android/cordova/node_modules/lodash/collection/every.js deleted file mode 100644 index 5a2d0f5..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/every.js +++ /dev/null @@ -1,66 +0,0 @@ -var arrayEvery = require('../internal/arrayEvery'), - baseCallback = require('../internal/baseCallback'), - baseEvery = require('../internal/baseEvery'), - isArray = require('../lang/isArray'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * The predicate is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias all - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // using the `_.matchesProperty` callback shorthand - * _.every(users, 'active', false); - * // => true - * - * // using the `_.property` callback shorthand - * _.every(users, 'active'); - * // => false - */ -function every(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (thisArg && isIterateeCall(collection, predicate, thisArg)) { - predicate = undefined; - } - if (typeof predicate != 'function' || thisArg !== undefined) { - predicate = baseCallback(predicate, thisArg, 3); - } - return func(collection, predicate); -} - -module.exports = every; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/filter.js b/demo/platforms/android/cordova/node_modules/lodash/collection/filter.js deleted file mode 100644 index 7620aa7..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/filter.js +++ /dev/null @@ -1,61 +0,0 @@ -var arrayFilter = require('../internal/arrayFilter'), - baseCallback = require('../internal/baseCallback'), - baseFilter = require('../internal/baseFilter'), - isArray = require('../lang/isArray'); - -/** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is bound to `thisArg` and - * invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias select - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the new filtered array. - * @example - * - * _.filter([4, 5, 6], function(n) { - * return n % 2 == 0; - * }); - * // => [4, 6] - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.filter(users, { 'age': 36, 'active': true }), 'user'); - * // => ['barney'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.filter(users, 'active', false), 'user'); - * // => ['fred'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.filter(users, 'active'), 'user'); - * // => ['barney'] - */ -function filter(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayFilter : baseFilter; - predicate = baseCallback(predicate, thisArg, 3); - return func(collection, predicate); -} - -module.exports = filter; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/find.js b/demo/platforms/android/cordova/node_modules/lodash/collection/find.js deleted file mode 100644 index 7358cfe..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/find.js +++ /dev/null @@ -1,56 +0,0 @@ -var baseEach = require('../internal/baseEach'), - createFind = require('../internal/createFind'); - -/** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is bound to `thisArg` and - * invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias detect - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.result(_.find(users, function(chr) { - * return chr.age < 40; - * }), 'user'); - * // => 'barney' - * - * // using the `_.matches` callback shorthand - * _.result(_.find(users, { 'age': 1, 'active': true }), 'user'); - * // => 'pebbles' - * - * // using the `_.matchesProperty` callback shorthand - * _.result(_.find(users, 'active', false), 'user'); - * // => 'fred' - * - * // using the `_.property` callback shorthand - * _.result(_.find(users, 'active'), 'user'); - * // => 'barney' - */ -var find = createFind(baseEach); - -module.exports = find; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/findLast.js b/demo/platforms/android/cordova/node_modules/lodash/collection/findLast.js deleted file mode 100644 index 75dbadc..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/findLast.js +++ /dev/null @@ -1,25 +0,0 @@ -var baseEachRight = require('../internal/baseEachRight'), - createFind = require('../internal/createFind'); - -/** - * This method is like `_.find` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * _.findLast([1, 2, 3, 4], function(n) { - * return n % 2 == 1; - * }); - * // => 3 - */ -var findLast = createFind(baseEachRight, true); - -module.exports = findLast; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/findWhere.js b/demo/platforms/android/cordova/node_modules/lodash/collection/findWhere.js deleted file mode 100644 index 2d62065..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/findWhere.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseMatches = require('../internal/baseMatches'), - find = require('./find'); - -/** - * Performs a deep comparison between each element in `collection` and the - * source object, returning the first element that has equivalent property - * values. - * - * **Note:** This method supports comparing arrays, booleans, `Date` objects, - * numbers, `Object` objects, regexes, and strings. Objects are compared by - * their own, not inherited, enumerable properties. For comparing a single - * own or inherited property value see `_.matchesProperty`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Object} source The object of property values to match. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.result(_.findWhere(users, { 'age': 36, 'active': true }), 'user'); - * // => 'barney' - * - * _.result(_.findWhere(users, { 'age': 40, 'active': false }), 'user'); - * // => 'fred' - */ -function findWhere(collection, source) { - return find(collection, baseMatches(source)); -} - -module.exports = findWhere; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/foldl.js b/demo/platforms/android/cordova/node_modules/lodash/collection/foldl.js deleted file mode 100644 index 26f53cf..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/foldl.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./reduce'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/foldr.js b/demo/platforms/android/cordova/node_modules/lodash/collection/foldr.js deleted file mode 100644 index 8fb199e..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/foldr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./reduceRight'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/forEach.js b/demo/platforms/android/cordova/node_modules/lodash/collection/forEach.js deleted file mode 100644 index 05a8e21..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/forEach.js +++ /dev/null @@ -1,37 +0,0 @@ -var arrayEach = require('../internal/arrayEach'), - baseEach = require('../internal/baseEach'), - createForEach = require('../internal/createForEach'); - -/** - * Iterates over elements of `collection` invoking `iteratee` for each element. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). Iteratee functions may exit iteration early - * by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" property - * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn` - * may be used for object iteration. - * - * @static - * @memberOf _ - * @alias each - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array|Object|string} Returns `collection`. - * @example - * - * _([1, 2]).forEach(function(n) { - * console.log(n); - * }).value(); - * // => logs each value from left to right and returns the array - * - * _.forEach({ 'a': 1, 'b': 2 }, function(n, key) { - * console.log(n, key); - * }); - * // => logs each value-key pair and returns the object (iteration order is not guaranteed) - */ -var forEach = createForEach(arrayEach, baseEach); - -module.exports = forEach; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/forEachRight.js b/demo/platforms/android/cordova/node_modules/lodash/collection/forEachRight.js deleted file mode 100644 index 3499711..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/forEachRight.js +++ /dev/null @@ -1,26 +0,0 @@ -var arrayEachRight = require('../internal/arrayEachRight'), - baseEachRight = require('../internal/baseEachRight'), - createForEach = require('../internal/createForEach'); - -/** - * This method is like `_.forEach` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @alias eachRight - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array|Object|string} Returns `collection`. - * @example - * - * _([1, 2]).forEachRight(function(n) { - * console.log(n); - * }).value(); - * // => logs each value from right to left and returns the array - */ -var forEachRight = createForEach(arrayEachRight, baseEachRight); - -module.exports = forEachRight; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/groupBy.js b/demo/platforms/android/cordova/node_modules/lodash/collection/groupBy.js deleted file mode 100644 index a925c89..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/groupBy.js +++ /dev/null @@ -1,59 +0,0 @@ -var createAggregator = require('../internal/createAggregator'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Creates an object composed of keys generated from the results of running - * each element of `collection` through `iteratee`. The corresponding value - * of each key is an array of the elements responsible for generating the key. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([4.2, 6.1, 6.4], function(n) { - * return Math.floor(n); - * }); - * // => { '4': [4.2], '6': [6.1, 6.4] } - * - * _.groupBy([4.2, 6.1, 6.4], function(n) { - * return this.floor(n); - * }, Math); - * // => { '4': [4.2], '6': [6.1, 6.4] } - * - * // using the `_.property` callback shorthand - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ -var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - result[key] = [value]; - } -}); - -module.exports = groupBy; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/include.js b/demo/platforms/android/cordova/node_modules/lodash/collection/include.js deleted file mode 100644 index 594722a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/include.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./includes'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/includes.js b/demo/platforms/android/cordova/node_modules/lodash/collection/includes.js deleted file mode 100644 index 329486a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/includes.js +++ /dev/null @@ -1,57 +0,0 @@ -var baseIndexOf = require('../internal/baseIndexOf'), - getLength = require('../internal/getLength'), - isArray = require('../lang/isArray'), - isIterateeCall = require('../internal/isIterateeCall'), - isLength = require('../internal/isLength'), - isString = require('../lang/isString'), - values = require('../object/values'); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Checks if `target` is in `collection` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the offset - * from the end of `collection`. - * - * @static - * @memberOf _ - * @alias contains, include - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {*} target The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`. - * @returns {boolean} Returns `true` if a matching element is found, else `false`. - * @example - * - * _.includes([1, 2, 3], 1); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'user': 'fred', 'age': 40 }, 'fred'); - * // => true - * - * _.includes('pebbles', 'eb'); - * // => true - */ -function includes(collection, target, fromIndex, guard) { - var length = collection ? getLength(collection) : 0; - if (!isLength(length)) { - collection = values(collection); - length = collection.length; - } - if (typeof fromIndex != 'number' || (guard && isIterateeCall(target, fromIndex, guard))) { - fromIndex = 0; - } else { - fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : (fromIndex || 0); - } - return (typeof collection == 'string' || !isArray(collection) && isString(collection)) - ? (fromIndex <= length && collection.indexOf(target, fromIndex) > -1) - : (!!length && baseIndexOf(collection, target, fromIndex) > -1); -} - -module.exports = includes; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/indexBy.js b/demo/platforms/android/cordova/node_modules/lodash/collection/indexBy.js deleted file mode 100644 index 34a941e..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/indexBy.js +++ /dev/null @@ -1,53 +0,0 @@ -var createAggregator = require('../internal/createAggregator'); - -/** - * Creates an object composed of keys generated from the results of running - * each element of `collection` through `iteratee`. The corresponding value - * of each key is the last element responsible for generating the key. The - * iteratee function is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * var keyData = [ - * { 'dir': 'left', 'code': 97 }, - * { 'dir': 'right', 'code': 100 } - * ]; - * - * _.indexBy(keyData, 'dir'); - * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } - * - * _.indexBy(keyData, function(object) { - * return String.fromCharCode(object.code); - * }); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - * - * _.indexBy(keyData, function(object) { - * return this.fromCharCode(object.code); - * }, String); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - */ -var indexBy = createAggregator(function(result, value, key) { - result[key] = value; -}); - -module.exports = indexBy; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/inject.js b/demo/platforms/android/cordova/node_modules/lodash/collection/inject.js deleted file mode 100644 index 26f53cf..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/inject.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./reduce'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/invoke.js b/demo/platforms/android/cordova/node_modules/lodash/collection/invoke.js deleted file mode 100644 index 6e71721..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/invoke.js +++ /dev/null @@ -1,42 +0,0 @@ -var baseEach = require('../internal/baseEach'), - invokePath = require('../internal/invokePath'), - isArrayLike = require('../internal/isArrayLike'), - isKey = require('../internal/isKey'), - restParam = require('../function/restParam'); - -/** - * Invokes the method at `path` of each element in `collection`, returning - * an array of the results of each invoked method. Any additional arguments - * are provided to each invoked method. If `methodName` is a function it's - * invoked for, and `this` bound to, each element in `collection`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Array|Function|string} path The path of the method to invoke or - * the function invoked per iteration. - * @param {...*} [args] The arguments to invoke the method with. - * @returns {Array} Returns the array of results. - * @example - * - * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invoke([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ -var invoke = restParam(function(collection, path, args) { - var index = -1, - isFunc = typeof path == 'function', - isProp = isKey(path), - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value) { - var func = isFunc ? path : ((isProp && value != null) ? value[path] : undefined); - result[++index] = func ? func.apply(value, args) : invokePath(value, path, args); - }); - return result; -}); - -module.exports = invoke; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/map.js b/demo/platforms/android/cordova/node_modules/lodash/collection/map.js deleted file mode 100644 index 5381110..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/map.js +++ /dev/null @@ -1,68 +0,0 @@ -var arrayMap = require('../internal/arrayMap'), - baseCallback = require('../internal/baseCallback'), - baseMap = require('../internal/baseMap'), - isArray = require('../lang/isArray'); - -/** - * Creates an array of values by running each element in `collection` through - * `iteratee`. The `iteratee` is bound to `thisArg` and invoked with three - * arguments: (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`, - * `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`, - * `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`, - * `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`, - * `sum`, `uniq`, and `words` - * - * @static - * @memberOf _ - * @alias collect - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new mapped array. - * @example - * - * function timesThree(n) { - * return n * 3; - * } - * - * _.map([1, 2], timesThree); - * // => [3, 6] - * - * _.map({ 'a': 1, 'b': 2 }, timesThree); - * // => [3, 6] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // using the `_.property` callback shorthand - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */ -function map(collection, iteratee, thisArg) { - var func = isArray(collection) ? arrayMap : baseMap; - iteratee = baseCallback(iteratee, thisArg, 3); - return func(collection, iteratee); -} - -module.exports = map; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/max.js b/demo/platforms/android/cordova/node_modules/lodash/collection/max.js deleted file mode 100644 index bb1d213..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/max.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../math/max'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/min.js b/demo/platforms/android/cordova/node_modules/lodash/collection/min.js deleted file mode 100644 index eef13d0..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/min.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../math/min'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/partition.js b/demo/platforms/android/cordova/node_modules/lodash/collection/partition.js deleted file mode 100644 index ee35f27..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/partition.js +++ /dev/null @@ -1,66 +0,0 @@ -var createAggregator = require('../internal/createAggregator'); - -/** - * Creates an array of elements split into two groups, the first of which - * contains elements `predicate` returns truthy for, while the second of which - * contains elements `predicate` returns falsey for. The predicate is bound - * to `thisArg` and invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the array of grouped elements. - * @example - * - * _.partition([1, 2, 3], function(n) { - * return n % 2; - * }); - * // => [[1, 3], [2]] - * - * _.partition([1.2, 2.3, 3.4], function(n) { - * return this.floor(n) % 2; - * }, Math); - * // => [[1.2, 3.4], [2.3]] - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true }, - * { 'user': 'pebbles', 'age': 1, 'active': false } - * ]; - * - * var mapper = function(array) { - * return _.pluck(array, 'user'); - * }; - * - * // using the `_.matches` callback shorthand - * _.map(_.partition(users, { 'age': 1, 'active': false }), mapper); - * // => [['pebbles'], ['barney', 'fred']] - * - * // using the `_.matchesProperty` callback shorthand - * _.map(_.partition(users, 'active', false), mapper); - * // => [['barney', 'pebbles'], ['fred']] - * - * // using the `_.property` callback shorthand - * _.map(_.partition(users, 'active'), mapper); - * // => [['fred'], ['barney', 'pebbles']] - */ -var partition = createAggregator(function(result, value, key) { - result[key ? 0 : 1].push(value); -}, function() { return [[], []]; }); - -module.exports = partition; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/pluck.js b/demo/platforms/android/cordova/node_modules/lodash/collection/pluck.js deleted file mode 100644 index 5ee1ec8..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/pluck.js +++ /dev/null @@ -1,31 +0,0 @@ -var map = require('./map'), - property = require('../utility/property'); - -/** - * Gets the property value of `path` from all elements in `collection`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Array|string} path The path of the property to pluck. - * @returns {Array} Returns the property values. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * _.pluck(users, 'user'); - * // => ['barney', 'fred'] - * - * var userIndex = _.indexBy(users, 'user'); - * _.pluck(userIndex, 'age'); - * // => [36, 40] (iteration order is not guaranteed) - */ -function pluck(collection, path) { - return map(collection, property(path)); -} - -module.exports = pluck; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/reduce.js b/demo/platforms/android/cordova/node_modules/lodash/collection/reduce.js deleted file mode 100644 index 5d5e8c9..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/reduce.js +++ /dev/null @@ -1,44 +0,0 @@ -var arrayReduce = require('../internal/arrayReduce'), - baseEach = require('../internal/baseEach'), - createReduce = require('../internal/createReduce'); - -/** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` through `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not provided the first element of `collection` is used as the initial - * value. The `iteratee` is bound to `thisArg` and invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `sortByAll`, - * and `sortByOrder` - * - * @static - * @memberOf _ - * @alias foldl, inject - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {*} Returns the accumulated value. - * @example - * - * _.reduce([1, 2], function(total, n) { - * return total + n; - * }); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2 }, function(result, n, key) { - * result[key] = n * 3; - * return result; - * }, {}); - * // => { 'a': 3, 'b': 6 } (iteration order is not guaranteed) - */ -var reduce = createReduce(arrayReduce, baseEach); - -module.exports = reduce; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/reduceRight.js b/demo/platforms/android/cordova/node_modules/lodash/collection/reduceRight.js deleted file mode 100644 index 5a5753b..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/reduceRight.js +++ /dev/null @@ -1,29 +0,0 @@ -var arrayReduceRight = require('../internal/arrayReduceRight'), - baseEachRight = require('../internal/baseEachRight'), - createReduce = require('../internal/createReduce'); - -/** - * This method is like `_.reduce` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @alias foldr - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {*} Returns the accumulated value. - * @example - * - * var array = [[0, 1], [2, 3], [4, 5]]; - * - * _.reduceRight(array, function(flattened, other) { - * return flattened.concat(other); - * }, []); - * // => [4, 5, 2, 3, 0, 1] - */ -var reduceRight = createReduce(arrayReduceRight, baseEachRight); - -module.exports = reduceRight; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/reject.js b/demo/platforms/android/cordova/node_modules/lodash/collection/reject.js deleted file mode 100644 index 5592453..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/reject.js +++ /dev/null @@ -1,50 +0,0 @@ -var arrayFilter = require('../internal/arrayFilter'), - baseCallback = require('../internal/baseCallback'), - baseFilter = require('../internal/baseFilter'), - isArray = require('../lang/isArray'); - -/** - * The opposite of `_.filter`; this method returns the elements of `collection` - * that `predicate` does **not** return truthy for. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the new filtered array. - * @example - * - * _.reject([1, 2, 3, 4], function(n) { - * return n % 2 == 0; - * }); - * // => [1, 3] - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.reject(users, { 'age': 40, 'active': true }), 'user'); - * // => ['barney'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.reject(users, 'active', false), 'user'); - * // => ['fred'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.reject(users, 'active'), 'user'); - * // => ['barney'] - */ -function reject(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayFilter : baseFilter; - predicate = baseCallback(predicate, thisArg, 3); - return func(collection, function(value, index, collection) { - return !predicate(value, index, collection); - }); -} - -module.exports = reject; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/sample.js b/demo/platforms/android/cordova/node_modules/lodash/collection/sample.js deleted file mode 100644 index 8e01533..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/sample.js +++ /dev/null @@ -1,50 +0,0 @@ -var baseRandom = require('../internal/baseRandom'), - isIterateeCall = require('../internal/isIterateeCall'), - toArray = require('../lang/toArray'), - toIterable = require('../internal/toIterable'); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * Gets a random element or `n` random elements from a collection. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to sample. - * @param {number} [n] The number of elements to sample. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {*} Returns the random sample(s). - * @example - * - * _.sample([1, 2, 3, 4]); - * // => 2 - * - * _.sample([1, 2, 3, 4], 2); - * // => [3, 1] - */ -function sample(collection, n, guard) { - if (guard ? isIterateeCall(collection, n, guard) : n == null) { - collection = toIterable(collection); - var length = collection.length; - return length > 0 ? collection[baseRandom(0, length - 1)] : undefined; - } - var index = -1, - result = toArray(collection), - length = result.length, - lastIndex = length - 1; - - n = nativeMin(n < 0 ? 0 : (+n || 0), length); - while (++index < n) { - var rand = baseRandom(index, lastIndex), - value = result[rand]; - - result[rand] = result[index]; - result[index] = value; - } - result.length = n; - return result; -} - -module.exports = sample; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/select.js b/demo/platforms/android/cordova/node_modules/lodash/collection/select.js deleted file mode 100644 index ade80f6..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/select.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./filter'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/shuffle.js b/demo/platforms/android/cordova/node_modules/lodash/collection/shuffle.js deleted file mode 100644 index 949689c..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/shuffle.js +++ /dev/null @@ -1,24 +0,0 @@ -var sample = require('./sample'); - -/** Used as references for `-Infinity` and `Infinity`. */ -var POSITIVE_INFINITY = Number.POSITIVE_INFINITY; - -/** - * Creates an array of shuffled values, using a version of the - * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - * @example - * - * _.shuffle([1, 2, 3, 4]); - * // => [4, 1, 3, 2] - */ -function shuffle(collection) { - return sample(collection, POSITIVE_INFINITY); -} - -module.exports = shuffle; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/size.js b/demo/platforms/android/cordova/node_modules/lodash/collection/size.js deleted file mode 100644 index 78dcf4c..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/size.js +++ /dev/null @@ -1,30 +0,0 @@ -var getLength = require('../internal/getLength'), - isLength = require('../internal/isLength'), - keys = require('../object/keys'); - -/** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable properties for objects. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the size of `collection`. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */ -function size(collection) { - var length = collection ? getLength(collection) : 0; - return isLength(length) ? length : keys(collection).length; -} - -module.exports = size; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/some.js b/demo/platforms/android/cordova/node_modules/lodash/collection/some.js deleted file mode 100644 index d0b09a4..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/some.js +++ /dev/null @@ -1,67 +0,0 @@ -var arraySome = require('../internal/arraySome'), - baseCallback = require('../internal/baseCallback'), - baseSome = require('../internal/baseSome'), - isArray = require('../lang/isArray'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * The function returns as soon as it finds a passing value and does not iterate - * over the entire collection. The predicate is bound to `thisArg` and invoked - * with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias any - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // using the `_.matchesProperty` callback shorthand - * _.some(users, 'active', false); - * // => true - * - * // using the `_.property` callback shorthand - * _.some(users, 'active'); - * // => true - */ -function some(collection, predicate, thisArg) { - var func = isArray(collection) ? arraySome : baseSome; - if (thisArg && isIterateeCall(collection, predicate, thisArg)) { - predicate = undefined; - } - if (typeof predicate != 'function' || thisArg !== undefined) { - predicate = baseCallback(predicate, thisArg, 3); - } - return func(collection, predicate); -} - -module.exports = some; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/sortBy.js b/demo/platforms/android/cordova/node_modules/lodash/collection/sortBy.js deleted file mode 100644 index 4401c77..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/sortBy.js +++ /dev/null @@ -1,71 +0,0 @@ -var baseCallback = require('../internal/baseCallback'), - baseMap = require('../internal/baseMap'), - baseSortBy = require('../internal/baseSortBy'), - compareAscending = require('../internal/compareAscending'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection through `iteratee`. This method performs - * a stable sort, that is, it preserves the original sort order of equal elements. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new sorted array. - * @example - * - * _.sortBy([1, 2, 3], function(n) { - * return Math.sin(n); - * }); - * // => [3, 1, 2] - * - * _.sortBy([1, 2, 3], function(n) { - * return this.sin(n); - * }, Math); - * // => [3, 1, 2] - * - * var users = [ - * { 'user': 'fred' }, - * { 'user': 'pebbles' }, - * { 'user': 'barney' } - * ]; - * - * // using the `_.property` callback shorthand - * _.pluck(_.sortBy(users, 'user'), 'user'); - * // => ['barney', 'fred', 'pebbles'] - */ -function sortBy(collection, iteratee, thisArg) { - if (collection == null) { - return []; - } - if (thisArg && isIterateeCall(collection, iteratee, thisArg)) { - iteratee = undefined; - } - var index = -1; - iteratee = baseCallback(iteratee, thisArg, 3); - - var result = baseMap(collection, function(value, key, collection) { - return { 'criteria': iteratee(value, key, collection), 'index': ++index, 'value': value }; - }); - return baseSortBy(result, compareAscending); -} - -module.exports = sortBy; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/sortByAll.js b/demo/platforms/android/cordova/node_modules/lodash/collection/sortByAll.js deleted file mode 100644 index 4766c20..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/sortByAll.js +++ /dev/null @@ -1,52 +0,0 @@ -var baseFlatten = require('../internal/baseFlatten'), - baseSortByOrder = require('../internal/baseSortByOrder'), - isIterateeCall = require('../internal/isIterateeCall'), - restParam = require('../function/restParam'); - -/** - * This method is like `_.sortBy` except that it can sort by multiple iteratees - * or property names. - * - * If a property name is provided for an iteratee the created `_.property` - * style callback returns the property value of the given element. - * - * If an object is provided for an iteratee the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {...(Function|Function[]|Object|Object[]|string|string[])} iteratees - * The iteratees to sort by, specified as individual values or arrays of values. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 42 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.map(_.sortByAll(users, ['user', 'age']), _.values); - * // => [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]] - * - * _.map(_.sortByAll(users, 'user', function(chr) { - * return Math.floor(chr.age / 10); - * }), _.values); - * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] - */ -var sortByAll = restParam(function(collection, iteratees) { - if (collection == null) { - return []; - } - var guard = iteratees[2]; - if (guard && isIterateeCall(iteratees[0], iteratees[1], guard)) { - iteratees.length = 1; - } - return baseSortByOrder(collection, baseFlatten(iteratees), []); -}); - -module.exports = sortByAll; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/sortByOrder.js b/demo/platforms/android/cordova/node_modules/lodash/collection/sortByOrder.js deleted file mode 100644 index 8b4fc19..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/sortByOrder.js +++ /dev/null @@ -1,55 +0,0 @@ -var baseSortByOrder = require('../internal/baseSortByOrder'), - isArray = require('../lang/isArray'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * This method is like `_.sortByAll` except that it allows specifying the - * sort orders of the iteratees to sort by. If `orders` is unspecified, all - * values are sorted in ascending order. Otherwise, a value is sorted in - * ascending order if its corresponding order is "asc", and descending if "desc". - * - * If a property name is provided for an iteratee the created `_.property` - * style callback returns the property value of the given element. - * - * If an object is provided for an iteratee the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {boolean[]} [orders] The sort orders of `iteratees`. - * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 34 }, - * { 'user': 'fred', 'age': 42 }, - * { 'user': 'barney', 'age': 36 } - * ]; - * - * // sort by `user` in ascending order and by `age` in descending order - * _.map(_.sortByOrder(users, ['user', 'age'], ['asc', 'desc']), _.values); - * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] - */ -function sortByOrder(collection, iteratees, orders, guard) { - if (collection == null) { - return []; - } - if (guard && isIterateeCall(iteratees, orders, guard)) { - orders = undefined; - } - if (!isArray(iteratees)) { - iteratees = iteratees == null ? [] : [iteratees]; - } - if (!isArray(orders)) { - orders = orders == null ? [] : [orders]; - } - return baseSortByOrder(collection, iteratees, orders); -} - -module.exports = sortByOrder; diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/sum.js b/demo/platforms/android/cordova/node_modules/lodash/collection/sum.js deleted file mode 100644 index a2e9380..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/sum.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../math/sum'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/collection/where.js b/demo/platforms/android/cordova/node_modules/lodash/collection/where.js deleted file mode 100644 index f603bf8..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/collection/where.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseMatches = require('../internal/baseMatches'), - filter = require('./filter'); - -/** - * Performs a deep comparison between each element in `collection` and the - * source object, returning an array of all elements that have equivalent - * property values. - * - * **Note:** This method supports comparing arrays, booleans, `Date` objects, - * numbers, `Object` objects, regexes, and strings. Objects are compared by - * their own, not inherited, enumerable properties. For comparing a single - * own or inherited property value see `_.matchesProperty`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Object} source The object of property values to match. - * @returns {Array} Returns the new filtered array. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false, 'pets': ['hoppy'] }, - * { 'user': 'fred', 'age': 40, 'active': true, 'pets': ['baby puss', 'dino'] } - * ]; - * - * _.pluck(_.where(users, { 'age': 36, 'active': false }), 'user'); - * // => ['barney'] - * - * _.pluck(_.where(users, { 'pets': ['dino'] }), 'user'); - * // => ['fred'] - */ -function where(collection, source) { - return filter(collection, baseMatches(source)); -} - -module.exports = where; diff --git a/demo/platforms/android/cordova/node_modules/lodash/date.js b/demo/platforms/android/cordova/node_modules/lodash/date.js deleted file mode 100644 index 195366e..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/date.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - 'now': require('./date/now') -}; diff --git a/demo/platforms/android/cordova/node_modules/lodash/date/now.js b/demo/platforms/android/cordova/node_modules/lodash/date/now.js deleted file mode 100644 index ffe3060..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/date/now.js +++ /dev/null @@ -1,24 +0,0 @@ -var getNative = require('../internal/getNative'); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeNow = getNative(Date, 'now'); - -/** - * Gets the number of milliseconds that have elapsed since the Unix epoch - * (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @category Date - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => logs the number of milliseconds it took for the deferred function to be invoked - */ -var now = nativeNow || function() { - return new Date().getTime(); -}; - -module.exports = now; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function.js b/demo/platforms/android/cordova/node_modules/lodash/function.js deleted file mode 100644 index 71f8ebe..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - 'after': require('./function/after'), - 'ary': require('./function/ary'), - 'backflow': require('./function/backflow'), - 'before': require('./function/before'), - 'bind': require('./function/bind'), - 'bindAll': require('./function/bindAll'), - 'bindKey': require('./function/bindKey'), - 'compose': require('./function/compose'), - 'curry': require('./function/curry'), - 'curryRight': require('./function/curryRight'), - 'debounce': require('./function/debounce'), - 'defer': require('./function/defer'), - 'delay': require('./function/delay'), - 'flow': require('./function/flow'), - 'flowRight': require('./function/flowRight'), - 'memoize': require('./function/memoize'), - 'modArgs': require('./function/modArgs'), - 'negate': require('./function/negate'), - 'once': require('./function/once'), - 'partial': require('./function/partial'), - 'partialRight': require('./function/partialRight'), - 'rearg': require('./function/rearg'), - 'restParam': require('./function/restParam'), - 'spread': require('./function/spread'), - 'throttle': require('./function/throttle'), - 'wrap': require('./function/wrap') -}; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/after.js b/demo/platforms/android/cordova/node_modules/lodash/function/after.js deleted file mode 100644 index 96a51fd..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/after.js +++ /dev/null @@ -1,48 +0,0 @@ -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeIsFinite = global.isFinite; - -/** - * The opposite of `_.before`; this method creates a function that invokes - * `func` once it's called `n` or more times. - * - * @static - * @memberOf _ - * @category Function - * @param {number} n The number of calls before `func` is invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var saves = ['profile', 'settings']; - * - * var done = _.after(saves.length, function() { - * console.log('done saving!'); - * }); - * - * _.forEach(saves, function(type) { - * asyncSave({ 'type': type, 'complete': done }); - * }); - * // => logs 'done saving!' after the two async saves have completed - */ -function after(n, func) { - if (typeof func != 'function') { - if (typeof n == 'function') { - var temp = n; - n = func; - func = temp; - } else { - throw new TypeError(FUNC_ERROR_TEXT); - } - } - n = nativeIsFinite(n = +n) ? n : 0; - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; -} - -module.exports = after; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/ary.js b/demo/platforms/android/cordova/node_modules/lodash/function/ary.js deleted file mode 100644 index 53a6913..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/ary.js +++ /dev/null @@ -1,34 +0,0 @@ -var createWrapper = require('../internal/createWrapper'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** Used to compose bitmasks for wrapper metadata. */ -var ARY_FLAG = 128; - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates a function that accepts up to `n` arguments ignoring any - * additional arguments. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to cap arguments for. - * @param {number} [n=func.length] The arity cap. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Function} Returns the new function. - * @example - * - * _.map(['6', '8', '10'], _.ary(parseInt, 1)); - * // => [6, 8, 10] - */ -function ary(func, n, guard) { - if (guard && isIterateeCall(func, n, guard)) { - n = undefined; - } - n = (func && n == null) ? func.length : nativeMax(+n || 0, 0); - return createWrapper(func, ARY_FLAG, undefined, undefined, undefined, undefined, n); -} - -module.exports = ary; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/backflow.js b/demo/platforms/android/cordova/node_modules/lodash/function/backflow.js deleted file mode 100644 index 1954e94..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/backflow.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./flowRight'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/before.js b/demo/platforms/android/cordova/node_modules/lodash/function/before.js deleted file mode 100644 index 3d94216..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/before.js +++ /dev/null @@ -1,42 +0,0 @@ -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it's called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery('#add').on('click', _.before(5, addContactToList)); - * // => allows adding up to 4 contacts to the list - */ -function before(n, func) { - var result; - if (typeof func != 'function') { - if (typeof n == 'function') { - var temp = n; - n = func; - func = temp; - } else { - throw new TypeError(FUNC_ERROR_TEXT); - } - } - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; -} - -module.exports = before; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/bind.js b/demo/platforms/android/cordova/node_modules/lodash/function/bind.js deleted file mode 100644 index 0de126a..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/bind.js +++ /dev/null @@ -1,56 +0,0 @@ -var createWrapper = require('../internal/createWrapper'), - replaceHolders = require('../internal/replaceHolders'), - restParam = require('./restParam'); - -/** Used to compose bitmasks for wrapper metadata. */ -var BIND_FLAG = 1, - PARTIAL_FLAG = 32; - -/** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and prepends any additional `_.bind` arguments to those provided to the - * bound function. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind` this method does not set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var greet = function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * }; - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // using placeholders - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ -var bind = restParam(function(func, thisArg, partials) { - var bitmask = BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, bind.placeholder); - bitmask |= PARTIAL_FLAG; - } - return createWrapper(func, bitmask, thisArg, partials, holders); -}); - -// Assign default placeholders. -bind.placeholder = {}; - -module.exports = bind; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/bindAll.js b/demo/platforms/android/cordova/node_modules/lodash/function/bindAll.js deleted file mode 100644 index a09e948..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/bindAll.js +++ /dev/null @@ -1,50 +0,0 @@ -var baseFlatten = require('../internal/baseFlatten'), - createWrapper = require('../internal/createWrapper'), - functions = require('../object/functions'), - restParam = require('./restParam'); - -/** Used to compose bitmasks for wrapper metadata. */ -var BIND_FLAG = 1; - -/** - * Binds methods of an object to the object itself, overwriting the existing - * method. Method names may be specified as individual arguments or as arrays - * of method names. If no method names are provided all enumerable function - * properties, own and inherited, of `object` are bound. - * - * **Note:** This method does not set the "length" property of bound functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Object} object The object to bind and assign the bound methods to. - * @param {...(string|string[])} [methodNames] The object method names to bind, - * specified as individual method names or arrays of method names. - * @returns {Object} Returns `object`. - * @example - * - * var view = { - * 'label': 'docs', - * 'onClick': function() { - * console.log('clicked ' + this.label); - * } - * }; - * - * _.bindAll(view); - * jQuery('#docs').on('click', view.onClick); - * // => logs 'clicked docs' when the element is clicked - */ -var bindAll = restParam(function(object, methodNames) { - methodNames = methodNames.length ? baseFlatten(methodNames) : functions(object); - - var index = -1, - length = methodNames.length; - - while (++index < length) { - var key = methodNames[index]; - object[key] = createWrapper(object[key], BIND_FLAG, object); - } - return object; -}); - -module.exports = bindAll; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/bindKey.js b/demo/platforms/android/cordova/node_modules/lodash/function/bindKey.js deleted file mode 100644 index b787fe7..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/bindKey.js +++ /dev/null @@ -1,66 +0,0 @@ -var createWrapper = require('../internal/createWrapper'), - replaceHolders = require('../internal/replaceHolders'), - restParam = require('./restParam'); - -/** Used to compose bitmasks for wrapper metadata. */ -var BIND_FLAG = 1, - BIND_KEY_FLAG = 2, - PARTIAL_FLAG = 32; - -/** - * Creates a function that invokes the method at `object[key]` and prepends - * any additional `_.bindKey` arguments to those provided to the bound function. - * - * This method differs from `_.bind` by allowing bound functions to reference - * methods that may be redefined or don't yet exist. - * See [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) - * for more details. - * - * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * @static - * @memberOf _ - * @category Function - * @param {Object} object The object the method belongs to. - * @param {string} key The key of the method. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'user': 'fred', - * 'greet': function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * }; - * - * var bound = _.bindKey(object, 'greet', 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * object.greet = function(greeting, punctuation) { - * return greeting + 'ya ' + this.user + punctuation; - * }; - * - * bound('!'); - * // => 'hiya fred!' - * - * // using placeholders - * var bound = _.bindKey(object, 'greet', _, '!'); - * bound('hi'); - * // => 'hiya fred!' - */ -var bindKey = restParam(function(object, key, partials) { - var bitmask = BIND_FLAG | BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, bindKey.placeholder); - bitmask |= PARTIAL_FLAG; - } - return createWrapper(key, bitmask, object, partials, holders); -}); - -// Assign default placeholders. -bindKey.placeholder = {}; - -module.exports = bindKey; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/compose.js b/demo/platforms/android/cordova/node_modules/lodash/function/compose.js deleted file mode 100644 index 1954e94..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/compose.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./flowRight'); diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/curry.js b/demo/platforms/android/cordova/node_modules/lodash/function/curry.js deleted file mode 100644 index b7db3fd..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/curry.js +++ /dev/null @@ -1,51 +0,0 @@ -var createCurry = require('../internal/createCurry'); - -/** Used to compose bitmasks for wrapper metadata. */ -var CURRY_FLAG = 8; - -/** - * Creates a function that accepts one or more arguments of `func` that when - * called either invokes `func` returning its result, if all `func` arguments - * have been provided, or returns a function that accepts one or more of the - * remaining `func` arguments, and so on. The arity of `func` may be specified - * if `func.length` is not sufficient. - * - * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for provided arguments. - * - * **Note:** This method does not set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curry(abc); - * - * curried(1)(2)(3); - * // => [1, 2, 3] - * - * curried(1, 2)(3); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // using placeholders - * curried(1)(_, 3)(2); - * // => [1, 2, 3] - */ -var curry = createCurry(CURRY_FLAG); - -// Assign default placeholders. -curry.placeholder = {}; - -module.exports = curry; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/curryRight.js b/demo/platforms/android/cordova/node_modules/lodash/function/curryRight.js deleted file mode 100644 index 11c5403..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/curryRight.js +++ /dev/null @@ -1,48 +0,0 @@ -var createCurry = require('../internal/createCurry'); - -/** Used to compose bitmasks for wrapper metadata. */ -var CURRY_RIGHT_FLAG = 16; - -/** - * This method is like `_.curry` except that arguments are applied to `func` - * in the manner of `_.partialRight` instead of `_.partial`. - * - * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for provided arguments. - * - * **Note:** This method does not set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curryRight(abc); - * - * curried(3)(2)(1); - * // => [1, 2, 3] - * - * curried(2, 3)(1); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // using placeholders - * curried(3)(1, _)(2); - * // => [1, 2, 3] - */ -var curryRight = createCurry(CURRY_RIGHT_FLAG); - -// Assign default placeholders. -curryRight.placeholder = {}; - -module.exports = curryRight; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/debounce.js b/demo/platforms/android/cordova/node_modules/lodash/function/debounce.js deleted file mode 100644 index 163af90..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/debounce.js +++ /dev/null @@ -1,181 +0,0 @@ -var isObject = require('../lang/isObject'), - now = require('../date/now'); - -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed invocations. Provide an options object to indicate that `func` - * should be invoked on the leading and/or trailing edge of the `wait` timeout. - * Subsequent calls to the debounced function return the result of the last - * `func` invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked - * on the trailing edge of the timeout only if the the debounced function is - * invoked more than once during the `wait` timeout. - * - * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options] The options object. - * @param {boolean} [options.leading=false] Specify invoking on the leading - * edge of the timeout. - * @param {number} [options.maxWait] The maximum time `func` is allowed to be - * delayed before it's invoked. - * @param {boolean} [options.trailing=true] Specify invoking on the trailing - * edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // avoid costly calculations while the window size is in flux - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // invoke `sendMail` when the click event is fired, debouncing subsequent calls - * jQuery('#postbox').on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // ensure `batchLog` is invoked once after 1 second of debounced calls - * var source = new EventSource('/stream'); - * jQuery(source).on('message', _.debounce(batchLog, 250, { - * 'maxWait': 1000 - * })); - * - * // cancel a debounced call - * var todoChanges = _.debounce(batchLog, 1000); - * Object.observe(models.todo, todoChanges); - * - * Object.observe(models, function(changes) { - * if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) { - * todoChanges.cancel(); - * } - * }, ['delete']); - * - * // ...at some point `models.todo` is changed - * models.todo.completed = true; - * - * // ...before 1 second has passed `models.todo` is deleted - * // which cancels the debounced `todoChanges` call - * delete models.todo; - */ -function debounce(func, wait, options) { - var args, - maxTimeoutId, - result, - stamp, - thisArg, - timeoutId, - trailingCall, - lastCalled = 0, - maxWait = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = wait < 0 ? 0 : (+wait || 0); - if (options === true) { - var leading = true; - trailing = false; - } else if (isObject(options)) { - leading = !!options.leading; - maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait); - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function cancel() { - if (timeoutId) { - clearTimeout(timeoutId); - } - if (maxTimeoutId) { - clearTimeout(maxTimeoutId); - } - lastCalled = 0; - maxTimeoutId = timeoutId = trailingCall = undefined; - } - - function complete(isCalled, id) { - if (id) { - clearTimeout(id); - } - maxTimeoutId = timeoutId = trailingCall = undefined; - if (isCalled) { - lastCalled = now(); - result = func.apply(thisArg, args); - if (!timeoutId && !maxTimeoutId) { - args = thisArg = undefined; - } - } - } - - function delayed() { - var remaining = wait - (now() - stamp); - if (remaining <= 0 || remaining > wait) { - complete(trailingCall, maxTimeoutId); - } else { - timeoutId = setTimeout(delayed, remaining); - } - } - - function maxDelayed() { - complete(trailing, timeoutId); - } - - function debounced() { - args = arguments; - stamp = now(); - thisArg = this; - trailingCall = trailing && (timeoutId || !leading); - - if (maxWait === false) { - var leadingCall = leading && !timeoutId; - } else { - if (!maxTimeoutId && !leading) { - lastCalled = stamp; - } - var remaining = maxWait - (stamp - lastCalled), - isCalled = remaining <= 0 || remaining > maxWait; - - if (isCalled) { - if (maxTimeoutId) { - maxTimeoutId = clearTimeout(maxTimeoutId); - } - lastCalled = stamp; - result = func.apply(thisArg, args); - } - else if (!maxTimeoutId) { - maxTimeoutId = setTimeout(maxDelayed, remaining); - } - } - if (isCalled && timeoutId) { - timeoutId = clearTimeout(timeoutId); - } - else if (!timeoutId && wait !== maxWait) { - timeoutId = setTimeout(delayed, wait); - } - if (leadingCall) { - isCalled = true; - result = func.apply(thisArg, args); - } - if (isCalled && !timeoutId && !maxTimeoutId) { - args = thisArg = undefined; - } - return result; - } - debounced.cancel = cancel; - return debounced; -} - -module.exports = debounce; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/defer.js b/demo/platforms/android/cordova/node_modules/lodash/function/defer.js deleted file mode 100644 index 3accbf9..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/defer.js +++ /dev/null @@ -1,25 +0,0 @@ -var baseDelay = require('../internal/baseDelay'), - restParam = require('./restParam'); - -/** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke the function with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // logs 'deferred' after one or more milliseconds - */ -var defer = restParam(function(func, args) { - return baseDelay(func, 1, args); -}); - -module.exports = defer; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/delay.js b/demo/platforms/android/cordova/node_modules/lodash/function/delay.js deleted file mode 100644 index d5eef27..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/delay.js +++ /dev/null @@ -1,26 +0,0 @@ -var baseDelay = require('../internal/baseDelay'), - restParam = require('./restParam'); - -/** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke the function with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => logs 'later' after one second - */ -var delay = restParam(function(func, wait, args) { - return baseDelay(func, wait, args); -}); - -module.exports = delay; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/flow.js b/demo/platforms/android/cordova/node_modules/lodash/function/flow.js deleted file mode 100644 index a435a3d..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/flow.js +++ /dev/null @@ -1,25 +0,0 @@ -var createFlow = require('../internal/createFlow'); - -/** - * Creates a function that returns the result of invoking the provided - * functions with the `this` binding of the created function, where each - * successive invocation is supplied the return value of the previous. - * - * @static - * @memberOf _ - * @category Function - * @param {...Function} [funcs] Functions to invoke. - * @returns {Function} Returns the new function. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flow(_.add, square); - * addSquare(1, 2); - * // => 9 - */ -var flow = createFlow(); - -module.exports = flow; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/flowRight.js b/demo/platforms/android/cordova/node_modules/lodash/function/flowRight.js deleted file mode 100644 index 23b9d76..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/flowRight.js +++ /dev/null @@ -1,25 +0,0 @@ -var createFlow = require('../internal/createFlow'); - -/** - * This method is like `_.flow` except that it creates a function that - * invokes the provided functions from right to left. - * - * @static - * @memberOf _ - * @alias backflow, compose - * @category Function - * @param {...Function} [funcs] Functions to invoke. - * @returns {Function} Returns the new function. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flowRight(square, _.add); - * addSquare(1, 2); - * // => 9 - */ -var flowRight = createFlow(true); - -module.exports = flowRight; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/memoize.js b/demo/platforms/android/cordova/node_modules/lodash/function/memoize.js deleted file mode 100644 index f3b8d69..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/memoize.js +++ /dev/null @@ -1,80 +0,0 @@ -var MapCache = require('../internal/MapCache'); - -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is coerced to a string and used as the - * cache key. The `func` is invoked with the `this` binding of the memoized - * function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object) - * method interface of `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoizing function. - * @example - * - * var upperCase = _.memoize(function(string) { - * return string.toUpperCase(); - * }); - * - * upperCase('fred'); - * // => 'FRED' - * - * // modifying the result cache - * upperCase.cache.set('fred', 'BARNEY'); - * upperCase('fred'); - * // => 'BARNEY' - * - * // replacing `_.memoize.Cache` - * var object = { 'user': 'fred' }; - * var other = { 'user': 'barney' }; - * var identity = _.memoize(_.identity); - * - * identity(object); - * // => { 'user': 'fred' } - * identity(other); - * // => { 'user': 'fred' } - * - * _.memoize.Cache = WeakMap; - * var identity = _.memoize(_.identity); - * - * identity(object); - * // => { 'user': 'fred' } - * identity(other); - * // => { 'user': 'barney' } - */ -function memoize(func, resolver) { - if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result); - return result; - }; - memoized.cache = new memoize.Cache; - return memoized; -} - -// Assign cache to `_.memoize`. -memoize.Cache = MapCache; - -module.exports = memoize; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/modArgs.js b/demo/platforms/android/cordova/node_modules/lodash/function/modArgs.js deleted file mode 100644 index 49b9b5e..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/modArgs.js +++ /dev/null @@ -1,58 +0,0 @@ -var arrayEvery = require('../internal/arrayEvery'), - baseFlatten = require('../internal/baseFlatten'), - baseIsFunction = require('../internal/baseIsFunction'), - restParam = require('./restParam'); - -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * Creates a function that runs each argument through a corresponding - * transform function. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to wrap. - * @param {...(Function|Function[])} [transforms] The functions to transform - * arguments, specified as individual functions or arrays of functions. - * @returns {Function} Returns the new function. - * @example - * - * function doubled(n) { - * return n * 2; - * } - * - * function square(n) { - * return n * n; - * } - * - * var modded = _.modArgs(function(x, y) { - * return [x, y]; - * }, square, doubled); - * - * modded(1, 2); - * // => [1, 4] - * - * modded(5, 10); - * // => [25, 20] - */ -var modArgs = restParam(function(func, transforms) { - transforms = baseFlatten(transforms); - if (typeof func != 'function' || !arrayEvery(transforms, baseIsFunction)) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = transforms.length; - return restParam(function(args) { - var index = nativeMin(args.length, length); - while (index--) { - args[index] = transforms[index](args[index]); - } - return func.apply(this, args); - }); -}); - -module.exports = modArgs; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/negate.js b/demo/platforms/android/cordova/node_modules/lodash/function/negate.js deleted file mode 100644 index 8247939..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/negate.js +++ /dev/null @@ -1,32 +0,0 @@ -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ -function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function() { - return !predicate.apply(this, arguments); - }; -} - -module.exports = negate; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/once.js b/demo/platforms/android/cordova/node_modules/lodash/function/once.js deleted file mode 100644 index 0b5bd85..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/once.js +++ /dev/null @@ -1,24 +0,0 @@ -var before = require('./before'); - -/** - * Creates a function that is restricted to invoking `func` once. Repeat calls - * to the function return the value of the first call. The `func` is invoked - * with the `this` binding and arguments of the created function. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // `initialize` invokes `createApplication` once - */ -function once(func) { - return before(2, func); -} - -module.exports = once; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/partial.js b/demo/platforms/android/cordova/node_modules/lodash/function/partial.js deleted file mode 100644 index fb1d04f..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/partial.js +++ /dev/null @@ -1,43 +0,0 @@ -var createPartial = require('../internal/createPartial'); - -/** Used to compose bitmasks for wrapper metadata. */ -var PARTIAL_FLAG = 32; - -/** - * Creates a function that invokes `func` with `partial` arguments prepended - * to those provided to the new function. This method is like `_.bind` except - * it does **not** alter the `this` binding. - * - * The `_.partial.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method does not set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * var greet = function(greeting, name) { - * return greeting + ' ' + name; - * }; - * - * var sayHelloTo = _.partial(greet, 'hello'); - * sayHelloTo('fred'); - * // => 'hello fred' - * - * // using placeholders - * var greetFred = _.partial(greet, _, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - */ -var partial = createPartial(PARTIAL_FLAG); - -// Assign default placeholders. -partial.placeholder = {}; - -module.exports = partial; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/partialRight.js b/demo/platforms/android/cordova/node_modules/lodash/function/partialRight.js deleted file mode 100644 index 634e6a4..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/partialRight.js +++ /dev/null @@ -1,42 +0,0 @@ -var createPartial = require('../internal/createPartial'); - -/** Used to compose bitmasks for wrapper metadata. */ -var PARTIAL_RIGHT_FLAG = 64; - -/** - * This method is like `_.partial` except that partially applied arguments - * are appended to those provided to the new function. - * - * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method does not set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * var greet = function(greeting, name) { - * return greeting + ' ' + name; - * }; - * - * var greetFred = _.partialRight(greet, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - * - * // using placeholders - * var sayHelloTo = _.partialRight(greet, 'hello', _); - * sayHelloTo('fred'); - * // => 'hello fred' - */ -var partialRight = createPartial(PARTIAL_RIGHT_FLAG); - -// Assign default placeholders. -partialRight.placeholder = {}; - -module.exports = partialRight; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/rearg.js b/demo/platforms/android/cordova/node_modules/lodash/function/rearg.js deleted file mode 100644 index f2bd9c4..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/rearg.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseFlatten = require('../internal/baseFlatten'), - createWrapper = require('../internal/createWrapper'), - restParam = require('./restParam'); - -/** Used to compose bitmasks for wrapper metadata. */ -var REARG_FLAG = 256; - -/** - * Creates a function that invokes `func` with arguments arranged according - * to the specified indexes where the argument value at the first index is - * provided as the first argument, the argument value at the second index is - * provided as the second argument, and so on. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to rearrange arguments for. - * @param {...(number|number[])} indexes The arranged argument indexes, - * specified as individual indexes or arrays of indexes. - * @returns {Function} Returns the new function. - * @example - * - * var rearged = _.rearg(function(a, b, c) { - * return [a, b, c]; - * }, 2, 0, 1); - * - * rearged('b', 'c', 'a') - * // => ['a', 'b', 'c'] - * - * var map = _.rearg(_.map, [1, 0]); - * map(function(n) { - * return n * 3; - * }, [1, 2, 3]); - * // => [3, 6, 9] - */ -var rearg = restParam(function(func, indexes) { - return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes)); -}); - -module.exports = rearg; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/restParam.js b/demo/platforms/android/cordova/node_modules/lodash/function/restParam.js deleted file mode 100644 index 8852286..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/restParam.js +++ /dev/null @@ -1,58 +0,0 @@ -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates a function that invokes `func` with the `this` binding of the - * created function and arguments from `start` and beyond provided as an array. - * - * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/Web/JavaScript/Reference/Functions/rest_parameters). - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.restParam(function(what, names) { - * return what + ' ' + _.initial(names).join(', ') + - * (_.size(names) > 1 ? ', & ' : '') + _.last(names); - * }); - * - * say('hello', 'fred', 'barney', 'pebbles'); - * // => 'hello fred, barney, & pebbles' - */ -function restParam(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - rest = Array(length); - - while (++index < length) { - rest[index] = args[start + index]; - } - switch (start) { - case 0: return func.call(this, rest); - case 1: return func.call(this, args[0], rest); - case 2: return func.call(this, args[0], args[1], rest); - } - var otherArgs = Array(start + 1); - index = -1; - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = rest; - return func.apply(this, otherArgs); - }; -} - -module.exports = restParam; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/spread.js b/demo/platforms/android/cordova/node_modules/lodash/function/spread.js deleted file mode 100644 index 780f504..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/spread.js +++ /dev/null @@ -1,44 +0,0 @@ -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * Creates a function that invokes `func` with the `this` binding of the created - * function and an array of arguments much like [`Function#apply`](https://es5.github.io/#x15.3.4.3). - * - * **Note:** This method is based on the [spread operator](https://developer.mozilla.org/Web/JavaScript/Reference/Operators/Spread_operator). - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to spread arguments over. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.spread(function(who, what) { - * return who + ' says ' + what; - * }); - * - * say(['fred', 'hello']); - * // => 'fred says hello' - * - * // with a Promise - * var numbers = Promise.all([ - * Promise.resolve(40), - * Promise.resolve(36) - * ]); - * - * numbers.then(_.spread(function(x, y) { - * return x + y; - * })); - * // => a Promise of 76 - */ -function spread(func) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function(array) { - return func.apply(this, array); - }; -} - -module.exports = spread; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/throttle.js b/demo/platforms/android/cordova/node_modules/lodash/function/throttle.js deleted file mode 100644 index 1dd00ea..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/throttle.js +++ /dev/null @@ -1,62 +0,0 @@ -var debounce = require('./debounce'), - isObject = require('../lang/isObject'); - -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * Creates a throttled function that only invokes `func` at most once per - * every `wait` milliseconds. The throttled function comes with a `cancel` - * method to cancel delayed invocations. Provide an options object to indicate - * that `func` should be invoked on the leading and/or trailing edge of the - * `wait` timeout. Subsequent calls to the throttled function return the - * result of the last `func` call. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked - * on the trailing edge of the timeout only if the the throttled function is - * invoked more than once during the `wait` timeout. - * - * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation) - * for details over the differences between `_.throttle` and `_.debounce`. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to throttle. - * @param {number} [wait=0] The number of milliseconds to throttle invocations to. - * @param {Object} [options] The options object. - * @param {boolean} [options.leading=true] Specify invoking on the leading - * edge of the timeout. - * @param {boolean} [options.trailing=true] Specify invoking on the trailing - * edge of the timeout. - * @returns {Function} Returns the new throttled function. - * @example - * - * // avoid excessively updating the position while scrolling - * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); - * - * // invoke `renewToken` when the click event is fired, but not more than once every 5 minutes - * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, { - * 'trailing': false - * })); - * - * // cancel a trailing throttled call - * jQuery(window).on('popstate', throttled.cancel); - */ -function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (options === false) { - leading = false; - } else if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { 'leading': leading, 'maxWait': +wait, 'trailing': trailing }); -} - -module.exports = throttle; diff --git a/demo/platforms/android/cordova/node_modules/lodash/function/wrap.js b/demo/platforms/android/cordova/node_modules/lodash/function/wrap.js deleted file mode 100644 index 6a33c5e..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/function/wrap.js +++ /dev/null @@ -1,33 +0,0 @@ -var createWrapper = require('../internal/createWrapper'), - identity = require('../utility/identity'); - -/** Used to compose bitmasks for wrapper metadata. */ -var PARTIAL_FLAG = 32; - -/** - * Creates a function that provides `value` to the wrapper function as its - * first argument. Any additional arguments provided to the function are - * appended to those provided to the wrapper function. The wrapper is invoked - * with the `this` binding of the created function. - * - * @static - * @memberOf _ - * @category Function - * @param {*} value The value to wrap. - * @param {Function} wrapper The wrapper function. - * @returns {Function} Returns the new function. - * @example - * - * var p = _.wrap(_.escape, function(func, text) { - * return '

    ' + func(text) + '

    '; - * }); - * - * p('fred, barney, & pebbles'); - * // => '

    fred, barney, & pebbles

    ' - */ -function wrap(value, wrapper) { - wrapper = wrapper == null ? identity : wrapper; - return createWrapper(wrapper, PARTIAL_FLAG, undefined, [value], []); -} - -module.exports = wrap; diff --git a/demo/platforms/android/cordova/node_modules/lodash/index.js b/demo/platforms/android/cordova/node_modules/lodash/index.js deleted file mode 100644 index 5f17319..0000000 --- a/demo/platforms/android/cordova/node_modules/lodash/index.js +++ /dev/null @@ -1,12351 +0,0 @@ -/** - * @license - * lodash 3.10.1 (Custom Build) - * Build: `lodash modern -d -o ./index.js` - * Copyright 2012-2015 The Dojo Foundation - * Based on Underscore.js 1.8.3 - * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ -;(function() { - - /** Used as a safe reference for `undefined` in pre-ES5 environments. */ - var undefined; - - /** Used as the semantic version number. */ - var VERSION = '3.10.1'; - - /** Used to compose bitmasks for wrapper metadata. */ - var BIND_FLAG = 1, - BIND_KEY_FLAG = 2, - CURRY_BOUND_FLAG = 4, - CURRY_FLAG = 8, - CURRY_RIGHT_FLAG = 16, - PARTIAL_FLAG = 32, - PARTIAL_RIGHT_FLAG = 64, - ARY_FLAG = 128, - REARG_FLAG = 256; - - /** Used as default options for `_.trunc`. */ - var DEFAULT_TRUNC_LENGTH = 30, - DEFAULT_TRUNC_OMISSION = '...'; - - /** Used to detect when a function becomes hot. */ - var HOT_COUNT = 150, - HOT_SPAN = 16; - - /** Used as the size to enable large array optimizations. */ - var LARGE_ARRAY_SIZE = 200; - - /** Used to indicate the type of lazy iteratees. */ - var LAZY_FILTER_FLAG = 1, - LAZY_MAP_FLAG = 2; - - /** Used as the `TypeError` message for "Functions" methods. */ - var FUNC_ERROR_TEXT = 'Expected a function'; - - /** Used as the internal argument placeholder. */ - var PLACEHOLDER = '__lodash_placeholder__'; - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; - - var arrayBufferTag = '[object ArrayBuffer]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - - /** Used to match empty string literals in compiled template source. */ - var reEmptyStringLeading = /\b__p \+= '';/g, - reEmptyStringMiddle = /\b(__p \+=) '' \+/g, - reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - - /** Used to match HTML entities and HTML characters. */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39|#96);/g, - reUnescapedHtml = /[&<>"'`]/g, - reHasEscapedHtml = RegExp(reEscapedHtml.source), - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - - /** Used to match template delimiters. */ - var reEscape = /<%-([\s\S]+?)%>/g, - reEvaluate = /<%([\s\S]+?)%>/g, - reInterpolate = /<%=([\s\S]+?)%>/g; - - /** Used to match property names within property paths. */ - var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g; - - /** - * Used to match `RegExp` [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns) - * and those outlined by [`EscapeRegExpPattern`](http://ecma-international.org/ecma-262/6.0/#sec-escaperegexppattern). - */ - var reRegExpChars = /^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g, - reHasRegExpChars = RegExp(reRegExpChars.source); - - /** Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). */ - var reComboMark = /[\u0300-\u036f\ufe20-\ufe23]/g; - - /** Used to match backslashes in property paths. */ - var reEscapeChar = /\\(\\)?/g; - - /** Used to match [ES template delimiters](http://ecma-international.org/ecma-262/6.0/#sec-template-literal-lexical-components). */ - var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; - - /** Used to match `RegExp` flags from their coerced string values. */ - var reFlags = /\w*$/; - - /** Used to detect hexadecimal string values. */ - var reHasHexPrefix = /^0[xX]/; - - /** Used to detect host constructors (Safari > 5). */ - var reIsHostCtor = /^\[object .+?Constructor\]$/; - - /** Used to detect unsigned integer values. */ - var reIsUint = /^\d+$/; - - /** Used to match latin-1 supplementary letters (excluding mathematical operators). */ - var reLatin1 = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g; - - /** Used to ensure capturing order of template delimiters. */ - var reNoMatch = /($^)/; - - /** Used to match unescaped characters in compiled string literals. */ - var reUnescapedString = /['\n\r\u2028\u2029\\]/g; - - /** Used to match words to create compound words. */ - var reWords = (function() { - var upper = '[A-Z\\xc0-\\xd6\\xd8-\\xde]', - lower = '[a-z\\xdf-\\xf6\\xf8-\\xff]+'; - - return RegExp(upper + '+(?=' + upper + lower + ')|' + upper + '?' + lower + '|' + upper + '+|[0-9]+', 'g'); - }()); - - /** Used to assign default `context` object properties. */ - var contextProps = [ - 'Array', 'ArrayBuffer', 'Date', 'Error', 'Float32Array', 'Float64Array', - 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Math', 'Number', - 'Object', 'RegExp', 'Set', 'String', '_', 'clearTimeout', 'isFinite', - 'parseFloat', 'parseInt', 'setTimeout', 'TypeError', 'Uint8Array', - 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap' - ]; - - /** Used to make template sourceURLs easier to identify. */ - var templateCounter = -1; - - /** Used to identify `toStringTag` values of typed arrays. */ - var typedArrayTags = {}; - typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = - typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = - typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = - typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = - typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = - typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = - typedArrayTags[dateTag] = typedArrayTags[errorTag] = - typedArrayTags[funcTag] = typedArrayTags[mapTag] = - typedArrayTags[numberTag] = typedArrayTags[objectTag] = - typedArrayTags[regexpTag] = typedArrayTags[setTag] = - typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; - - /** Used to identify `toStringTag` values supported by `_.clone`. */ - var cloneableTags = {}; - cloneableTags[argsTag] = cloneableTags[arrayTag] = - cloneableTags[arrayBufferTag] = cloneableTags[boolTag] = - cloneableTags[dateTag] = cloneableTags[float32Tag] = - cloneableTags[float64Tag] = cloneableTags[int8Tag] = - cloneableTags[int16Tag] = cloneableTags[int32Tag] = - cloneableTags[numberTag] = cloneableTags[objectTag] = - cloneableTags[regexpTag] = cloneableTags[stringTag] = - cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = - cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; - cloneableTags[errorTag] = cloneableTags[funcTag] = - cloneableTags[mapTag] = cloneableTags[setTag] = - cloneableTags[weakMapTag] = false; - - /** Used to map latin-1 supplementary letters to basic latin letters. */ - var deburredLetters = { - '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', - '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', - '\xc7': 'C', '\xe7': 'c', - '\xd0': 'D', '\xf0': 'd', - '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', - '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', - '\xcC': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', - '\xeC': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', - '\xd1': 'N', '\xf1': 'n', - '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', - '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', - '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', - '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', - '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', - '\xc6': 'Ae', '\xe6': 'ae', - '\xde': 'Th', '\xfe': 'th', - '\xdf': 'ss' - }; - - /** Used to map characters to HTML entities. */ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '`': '`' - }; - - /** Used to map HTML entities to characters. */ - var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'", - '`': '`' - }; - - /** Used to determine if values are of the language type `Object`. */ - var objectTypes = { - 'function': true, - 'object': true - }; - - /** Used to escape characters for inclusion in compiled regexes. */ - var regexpEscapes = { - '0': 'x30', '1': 'x31', '2': 'x32', '3': 'x33', '4': 'x34', - '5': 'x35', '6': 'x36', '7': 'x37', '8': 'x38', '9': 'x39', - 'A': 'x41', 'B': 'x42', 'C': 'x43', 'D': 'x44', 'E': 'x45', 'F': 'x46', - 'a': 'x61', 'b': 'x62', 'c': 'x63', 'd': 'x64', 'e': 'x65', 'f': 'x66', - 'n': 'x6e', 'r': 'x72', 't': 'x74', 'u': 'x75', 'v': 'x76', 'x': 'x78' - }; - - /** Used to escape characters for inclusion in compiled string literals. */ - var stringEscapes = { - '\\': '\\', - "'": "'", - '\n': 'n', - '\r': 'r', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - /** Detect free variable `exports`. */ - var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = objectTypes[typeof module] && module && !module.nodeType && module; - - /** Detect free variable `global` from Node.js. */ - var freeGlobal = freeExports && freeModule && typeof global == 'object' && global && global.Object && global; - - /** Detect free variable `self`. */ - var freeSelf = objectTypes[typeof self] && self && self.Object && self; - - /** Detect free variable `window`. */ - var freeWindow = objectTypes[typeof window] && window && window.Object && window; - - /** Detect the popular CommonJS extension `module.exports`. */ - var moduleExports = freeModule && freeModule.exports === freeExports && freeExports; - - /** - * Used as a reference to the global object. - * - * The `this` value is used if it's the global object to avoid Greasemonkey's - * restricted `window` object, otherwise the `window` object is used. - */ - var root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this; - - /*--------------------------------------------------------------------------*/ - - /** - * The base implementation of `compareAscending` which compares values and - * sorts them in ascending order without guaranteeing a stable sort. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ - function baseCompareAscending(value, other) { - if (value !== other) { - var valIsNull = value === null, - valIsUndef = value === undefined, - valIsReflexive = value === value; - - var othIsNull = other === null, - othIsUndef = other === undefined, - othIsReflexive = other === other; - - if ((value > other && !othIsNull) || !valIsReflexive || - (valIsNull && !othIsUndef && othIsReflexive) || - (valIsUndef && othIsReflexive)) { - return 1; - } - if ((value < other && !valIsNull) || !othIsReflexive || - (othIsNull && !valIsUndef && valIsReflexive) || - (othIsUndef && valIsReflexive)) { - return -1; - } - } - return 0; - } - - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to search. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.indexOf` without support for binary searches. - * - * @private - * @param {Array} array The array to search. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOf(array, value, fromIndex) { - if (value !== value) { - return indexOfNaN(array, fromIndex); - } - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.isFunction` without support for environments - * with incorrect `typeof` results. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - */ - function baseIsFunction(value) { - // Avoid a Chakra JIT bug in compatibility modes of IE 11. - // See https://github.com/jashkenas/underscore/issues/1621 for more details. - return typeof value == 'function' || false; - } - - /** - * Converts `value` to a string if it's not one. An empty string is returned - * for `null` or `undefined` values. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ - function baseToString(value) { - return value == null ? '' : (value + ''); - } - - /** - * Used by `_.trim` and `_.trimLeft` to get the index of the first character - * of `string` that is not found in `chars`. - * - * @private - * @param {string} string The string to inspect. - * @param {string} chars The characters to find. - * @returns {number} Returns the index of the first character not found in `chars`. - */ - function charsLeftIndex(string, chars) { - var index = -1, - length = string.length; - - while (++index < length && chars.indexOf(string.charAt(index)) > -1) {} - return index; - } - - /** - * Used by `_.trim` and `_.trimRight` to get the index of the last character - * of `string` that is not found in `chars`. - * - * @private - * @param {string} string The string to inspect. - * @param {string} chars The characters to find. - * @returns {number} Returns the index of the last character not found in `chars`. - */ - function charsRightIndex(string, chars) { - var index = string.length; - - while (index-- && chars.indexOf(string.charAt(index)) > -1) {} - return index; - } - - /** - * Used by `_.sortBy` to compare transformed elements of a collection and stable - * sort them in ascending order. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @returns {number} Returns the sort order indicator for `object`. - */ - function compareAscending(object, other) { - return baseCompareAscending(object.criteria, other.criteria) || (object.index - other.index); - } - - /** - * Used by `_.sortByOrder` to compare multiple properties of a value to another - * and stable sort them. - * - * If `orders` is unspecified, all valuess are sorted in ascending order. Otherwise, - * a value is sorted in ascending order if its corresponding order is "asc", and - * descending if "desc". - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {boolean[]} orders The order to sort by for each property. - * @returns {number} Returns the sort order indicator for `object`. - */ - function compareMultiple(object, other, orders) { - var index = -1, - objCriteria = object.criteria, - othCriteria = other.criteria, - length = objCriteria.length, - ordersLength = orders.length; - - while (++index < length) { - var result = baseCompareAscending(objCriteria[index], othCriteria[index]); - if (result) { - if (index >= ordersLength) { - return result; - } - var order = orders[index]; - return result * ((order === 'asc' || order === true) ? 1 : -1); - } - } - // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications - // that causes it, under certain circumstances, to provide the same value for - // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 - // for more details. - // - // This also ensures a stable sort in V8 and other engines. - // See https://code.google.com/p/v8/issues/detail?id=90 for more details. - return object.index - other.index; - } - - /** - * Used by `_.deburr` to convert latin-1 supplementary letters to basic latin letters. - * - * @private - * @param {string} letter The matched letter to deburr. - * @returns {string} Returns the deburred letter. - */ - function deburrLetter(letter) { - return deburredLetters[letter]; - } - - /** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - function escapeHtmlChar(chr) { - return htmlEscapes[chr]; - } - - /** - * Used by `_.escapeRegExp` to escape characters for inclusion in compiled regexes. - * - * @private - * @param {string} chr The matched character to escape. - * @param {string} leadingChar The capture group for a leading character. - * @param {string} whitespaceChar The capture group for a whitespace character. - * @returns {string} Returns the escaped character. - */ - function escapeRegExpChar(chr, leadingChar, whitespaceChar) { - if (leadingChar) { - chr = regexpEscapes[chr]; - } else if (whitespaceChar) { - chr = stringEscapes[chr]; - } - return '\\' + chr; - } - - /** - * Used by `_.template` to escape characters for inclusion in compiled string literals. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - function escapeStringChar(chr) { - return '\\' + stringEscapes[chr]; - } - - /** - * Gets the index at which the first occurrence of `NaN` is found in `array`. - * - * @private - * @param {Array} array The array to search. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched `NaN`, else `-1`. - */ - function indexOfNaN(array, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 0 : -1); - - while ((fromRight ? index-- : ++index < length)) { - var other = array[index]; - if (other !== other) { - return index; - } - } - return -1; - } - - /** - * Checks if `value` is object-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - */ - function isObjectLike(value) { - return !!value && typeof value == 'object'; - } - - /** - * Used by `trimmedLeftIndex` and `trimmedRightIndex` to determine if a - * character code is whitespace. - * - * @private - * @param {number} charCode The character code to inspect. - * @returns {boolean} Returns `true` if `charCode` is whitespace, else `false`. - */ - function isSpace(charCode) { - return ((charCode <= 160 && (charCode >= 9 && charCode <= 13) || charCode == 32 || charCode == 160) || charCode == 5760 || charCode == 6158 || - (charCode >= 8192 && (charCode <= 8202 || charCode == 8232 || charCode == 8233 || charCode == 8239 || charCode == 8287 || charCode == 12288 || charCode == 65279))); - } - - /** - * Replaces all `placeholder` elements in `array` with an internal placeholder - * and returns an array of their indexes. - * - * @private - * @param {Array} array The array to modify. - * @param {*} placeholder The placeholder to replace. - * @returns {Array} Returns the new array of placeholder indexes. - */ - function replaceHolders(array, placeholder) { - var index = -1, - length = array.length, - resIndex = -1, - result = []; - - while (++index < length) { - if (array[index] === placeholder) { - array[index] = PLACEHOLDER; - result[++resIndex] = index; - } - } - return result; - } - - /** - * An implementation of `_.uniq` optimized for sorted arrays without support - * for callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The function invoked per iteration. - * @returns {Array} Returns the new duplicate-value-free array. - */ - function sortedUniq(array, iteratee) { - var seen, - index = -1, - length = array.length, - resIndex = -1, - result = []; - - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value, index, array) : value; - - if (!index || seen !== computed) { - seen = computed; - result[++resIndex] = value; - } - } - return result; - } - - /** - * Used by `_.trim` and `_.trimLeft` to get the index of the first non-whitespace - * character of `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the index of the first non-whitespace character. - */ - function trimmedLeftIndex(string) { - var index = -1, - length = string.length; - - while (++index < length && isSpace(string.charCodeAt(index))) {} - return index; - } - - /** - * Used by `_.trim` and `_.trimRight` to get the index of the last non-whitespace - * character of `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the index of the last non-whitespace character. - */ - function trimmedRightIndex(string) { - var index = string.length; - - while (index-- && isSpace(string.charCodeAt(index))) {} - return index; - } - - /** - * Used by `_.unescape` to convert HTML entities to characters. - * - * @private - * @param {string} chr The matched character to unescape. - * @returns {string} Returns the unescaped character. - */ - function unescapeHtmlChar(chr) { - return htmlUnescapes[chr]; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Create a new pristine `lodash` function using the given `context` object. - * - * @static - * @memberOf _ - * @category Utility - * @param {Object} [context=root] The context object. - * @returns {Function} Returns a new `lodash` function. - * @example - * - * _.mixin({ 'foo': _.constant('foo') }); - * - * var lodash = _.runInContext(); - * lodash.mixin({ 'bar': lodash.constant('bar') }); - * - * _.isFunction(_.foo); - * // => true - * _.isFunction(_.bar); - * // => false - * - * lodash.isFunction(lodash.foo); - * // => false - * lodash.isFunction(lodash.bar); - * // => true - * - * // using `context` to mock `Date#getTime` use in `_.now` - * var mock = _.runInContext({ - * 'Date': function() { - * return { 'getTime': getTimeMock }; - * } - * }); - * - * // or creating a suped-up `defer` in Node.js - * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; - */ - function runInContext(context) { - // Avoid issues with some ES3 environments that attempt to use values, named - // after built-in constructors like `Object`, for the creation of literals. - // ES5 clears this up by stating that literals must use built-in constructors. - // See https://es5.github.io/#x11.1.5 for more details. - context = context ? _.defaults(root.Object(), context, _.pick(root, contextProps)) : root; - - /** Native constructor references. */ - var Array = context.Array, - Date = context.Date, - Error = context.Error, - Function = context.Function, - Math = context.Math, - Number = context.Number, - Object = context.Object, - RegExp = context.RegExp, - String = context.String, - TypeError = context.TypeError; - - /** Used for native method references. */ - var arrayProto = Array.prototype, - objectProto = Object.prototype, - stringProto = String.prototype; - - /** Used to resolve the decompiled source of functions. */ - var fnToString = Function.prototype.toString; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** Used to generate unique IDs. */ - var idCounter = 0; - - /** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ - var objToString = objectProto.toString; - - /** Used to restore the original `_` reference in `_.noConflict`. */ - var oldDash = root._; - - /** Used to detect if a method is native. */ - var reIsNative = RegExp('^' + - fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' - ); - - /** Native method references. */ - var ArrayBuffer = context.ArrayBuffer, - clearTimeout = context.clearTimeout, - parseFloat = context.parseFloat, - pow = Math.pow, - propertyIsEnumerable = objectProto.propertyIsEnumerable, - Set = getNative(context, 'Set'), - setTimeout = context.setTimeout, - splice = arrayProto.splice, - Uint8Array = context.Uint8Array, - WeakMap = getNative(context, 'WeakMap'); - - /* Native method references for those with the same name as other `lodash` methods. */ - var nativeCeil = Math.ceil, - nativeCreate = getNative(Object, 'create'), - nativeFloor = Math.floor, - nativeIsArray = getNative(Array, 'isArray'), - nativeIsFinite = context.isFinite, - nativeKeys = getNative(Object, 'keys'), - nativeMax = Math.max, - nativeMin = Math.min, - nativeNow = getNative(Date, 'now'), - nativeParseInt = context.parseInt, - nativeRandom = Math.random; - - /** Used as references for `-Infinity` and `Infinity`. */ - var NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY, - POSITIVE_INFINITY = Number.POSITIVE_INFINITY; - - /** Used as references for the maximum length and index of an array. */ - var MAX_ARRAY_LENGTH = 4294967295, - MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, - HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; - - /** - * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) - * of an array-like value. - */ - var MAX_SAFE_INTEGER = 9007199254740991; - - /** Used to store function metadata. */ - var metaMap = WeakMap && new WeakMap; - - /** Used to lookup unminified function names. */ - var realNames = {}; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object which wraps `value` to enable implicit chaining. - * Methods that operate on and return arrays, collections, and functions can - * be chained together. Methods that retrieve a single value or may return a - * primitive value will automatically end the chain returning the unwrapped - * value. Explicit chaining may be enabled using `_.chain`. The execution of - * chained methods is lazy, that is, execution is deferred until `_#value` - * is implicitly or explicitly called. - * - * Lazy evaluation allows several methods to support shortcut fusion. Shortcut - * fusion is an optimization strategy which merge iteratee calls; this can help - * to avoid the creation of intermediate data structures and greatly reduce the - * number of iteratee executions. - * - * Chaining is supported in custom builds as long as the `_#value` method is - * directly or indirectly included in the build. - * - * In addition to lodash methods, wrappers have `Array` and `String` methods. - * - * The wrapper `Array` methods are: - * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, - * `splice`, and `unshift` - * - * The wrapper `String` methods are: - * `replace` and `split` - * - * The wrapper methods that support shortcut fusion are: - * `compact`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `filter`, - * `first`, `initial`, `last`, `map`, `pluck`, `reject`, `rest`, `reverse`, - * `slice`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `toArray`, - * and `where` - * - * The chainable wrapper methods are: - * `after`, `ary`, `assign`, `at`, `before`, `bind`, `bindAll`, `bindKey`, - * `callback`, `chain`, `chunk`, `commit`, `compact`, `concat`, `constant`, - * `countBy`, `create`, `curry`, `debounce`, `defaults`, `defaultsDeep`, - * `defer`, `delay`, `difference`, `drop`, `dropRight`, `dropRightWhile`, - * `dropWhile`, `fill`, `filter`, `flatten`, `flattenDeep`, `flow`, `flowRight`, - * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`, - * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`, - * `invoke`, `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, - * `matchesProperty`, `memoize`, `merge`, `method`, `methodOf`, `mixin`, - * `modArgs`, `negate`, `omit`, `once`, `pairs`, `partial`, `partialRight`, - * `partition`, `pick`, `plant`, `pluck`, `property`, `propertyOf`, `pull`, - * `pullAt`, `push`, `range`, `rearg`, `reject`, `remove`, `rest`, `restParam`, - * `reverse`, `set`, `shuffle`, `slice`, `sort`, `sortBy`, `sortByAll`, - * `sortByOrder`, `splice`, `spread`, `take`, `takeRight`, `takeRightWhile`, - * `takeWhile`, `tap`, `throttle`, `thru`, `times`, `toArray`, `toPlainObject`, - * `transform`, `union`, `uniq`, `unshift`, `unzip`, `unzipWith`, `values`, - * `valuesIn`, `where`, `without`, `wrap`, `xor`, `zip`, `zipObject`, `zipWith` - * - * The wrapper methods that are **not** chainable by default are: - * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clone`, `cloneDeep`, - * `deburr`, `endsWith`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`, - * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`, - * `floor`, `get`, `gt`, `gte`, `has`, `identity`, `includes`, `indexOf`, - * `inRange`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`, - * `isEmpty`, `isEqual`, `isError`, `isFinite` `isFunction`, `isMatch`, - * `isNative`, `isNaN`, `isNull`, `isNumber`, `isObject`, `isPlainObject`, - * `isRegExp`, `isString`, `isUndefined`, `isTypedArray`, `join`, `kebabCase`, - * `last`, `lastIndexOf`, `lt`, `lte`, `max`, `min`, `noConflict`, `noop`, - * `now`, `pad`, `padLeft`, `padRight`, `parseInt`, `pop`, `random`, `reduce`, - * `reduceRight`, `repeat`, `result`, `round`, `runInContext`, `shift`, `size`, - * `snakeCase`, `some`, `sortedIndex`, `sortedLastIndex`, `startCase`, - * `startsWith`, `sum`, `template`, `trim`, `trimLeft`, `trimRight`, `trunc`, - * `unescape`, `uniqueId`, `value`, and `words` - * - * The wrapper method `sample` will return a wrapped value when `n` is provided, - * otherwise an unwrapped value is returned. - * - * @name _ - * @constructor - * @category Chain - * @param {*} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var wrapped = _([1, 2, 3]); - * - * // returns an unwrapped value - * wrapped.reduce(function(total, n) { - * return total + n; - * }); - * // => 6 - * - * // returns a wrapped value - * var squares = wrapped.map(function(n) { - * return n * n; - * }); - * - * _.isArray(squares); - * // => false - * - * _.isArray(squares.value()); - * // => true - */ - function lodash(value) { - if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { - if (value instanceof LodashWrapper) { - return value; - } - if (hasOwnProperty.call(value, '__chain__') && hasOwnProperty.call(value, '__wrapped__')) { - return wrapperClone(value); - } - } - return new LodashWrapper(value); - } - - /** - * The function whose prototype all chaining wrappers inherit from. - * - * @private - */ - function baseLodash() { - // No operation performed. - } - - /** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable chaining for all wrapper methods. - * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value. - */ - function LodashWrapper(value, chainAll, actions) { - this.__wrapped__ = value; - this.__actions__ = actions || []; - this.__chain__ = !!chainAll; - } - - /** - * An object environment feature flags. - * - * @static - * @memberOf _ - * @type Object - */ - var support = lodash.support = {}; - - /** - * By default, the template delimiters used by lodash are like those in - * embedded Ruby (ERB). Change the following template settings to use - * alternative delimiters. - * - * @static - * @memberOf _ - * @type Object - */ - lodash.templateSettings = { - - /** - * Used to detect `data` property values to be HTML-escaped. - * - * @memberOf _.templateSettings - * @type RegExp - */ - 'escape': reEscape, - - /** - * Used to detect code to be evaluated. - * - * @memberOf _.templateSettings - * @type RegExp - */ - 'evaluate': reEvaluate, - - /** - * Used to detect `data` property values to inject. - * - * @memberOf _.templateSettings - * @type RegExp - */ - 'interpolate': reInterpolate, - - /** - * Used to reference the data object in the template text. - * - * @memberOf _.templateSettings - * @type string - */ - 'variable': '', - - /** - * Used to import variables into the compiled template. - * - * @memberOf _.templateSettings - * @type Object - */ - 'imports': { - - /** - * A reference to the `lodash` function. - * - * @memberOf _.templateSettings.imports - * @type Function - */ - '_': lodash - } - }; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. - * - * @private - * @param {*} value The value to wrap. - */ - function LazyWrapper(value) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__dir__ = 1; - this.__filtered__ = false; - this.__iteratees__ = []; - this.__takeCount__ = POSITIVE_INFINITY; - this.__views__ = []; - } - - /** - * Creates a clone of the lazy wrapper object. - * - * @private - * @name clone - * @memberOf LazyWrapper - * @returns {Object} Returns the cloned `LazyWrapper` object. - */ - function lazyClone() { - var result = new LazyWrapper(this.__wrapped__); - result.__actions__ = arrayCopy(this.__actions__); - result.__dir__ = this.__dir__; - result.__filtered__ = this.__filtered__; - result.__iteratees__ = arrayCopy(this.__iteratees__); - result.__takeCount__ = this.__takeCount__; - result.__views__ = arrayCopy(this.__views__); - return result; - } - - /** - * Reverses the direction of lazy iteration. - * - * @private - * @name reverse - * @memberOf LazyWrapper - * @returns {Object} Returns the new reversed `LazyWrapper` object. - */ - function lazyReverse() { - if (this.__filtered__) { - var result = new LazyWrapper(this); - result.__dir__ = -1; - result.__filtered__ = true; - } else { - result = this.clone(); - result.__dir__ *= -1; - } - return result; - } - - /** - * Extracts the unwrapped value from its lazy wrapper. - * - * @private - * @name value - * @memberOf LazyWrapper - * @returns {*} Returns the unwrapped value. - */ - function lazyValue() { - var array = this.__wrapped__.value(), - dir = this.__dir__, - isArr = isArray(array), - isRight = dir < 0, - arrLength = isArr ? array.length : 0, - view = getView(0, arrLength, this.__views__), - start = view.start, - end = view.end, - length = end - start, - index = isRight ? end : (start - 1), - iteratees = this.__iteratees__, - iterLength = iteratees.length, - resIndex = 0, - takeCount = nativeMin(length, this.__takeCount__); - - if (!isArr || arrLength < LARGE_ARRAY_SIZE || (arrLength == length && takeCount == length)) { - return baseWrapperValue((isRight && isArr) ? array.reverse() : array, this.__actions__); - } - var result = []; - - outer: - while (length-- && resIndex < takeCount) { - index += dir; - - var iterIndex = -1, - value = array[index]; - - while (++iterIndex < iterLength) { - var data = iteratees[iterIndex], - iteratee = data.iteratee, - type = data.type, - computed = iteratee(value); - - if (type == LAZY_MAP_FLAG) { - value = computed; - } else if (!computed) { - if (type == LAZY_FILTER_FLAG) { - continue outer; - } else { - break outer; - } - } - } - result[resIndex++] = value; - } - return result; - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a cache object to store key/value pairs. - * - * @private - * @static - * @name Cache - * @memberOf _.memoize - */ - function MapCache() { - this.__data__ = {}; - } - - /** - * Removes `key` and its value from the cache. - * - * @private - * @name delete - * @memberOf _.memoize.Cache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed successfully, else `false`. - */ - function mapDelete(key) { - return this.has(key) && delete this.__data__[key]; - } - - /** - * Gets the cached value for `key`. - * - * @private - * @name get - * @memberOf _.memoize.Cache - * @param {string} key The key of the value to get. - * @returns {*} Returns the cached value. - */ - function mapGet(key) { - return key == '__proto__' ? undefined : this.__data__[key]; - } - - /** - * Checks if a cached value for `key` exists. - * - * @private - * @name has - * @memberOf _.memoize.Cache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function mapHas(key) { - return key != '__proto__' && hasOwnProperty.call(this.__data__, key); - } - - /** - * Sets `value` to `key` of the cache. - * - * @private - * @name set - * @memberOf _.memoize.Cache - * @param {string} key The key of the value to cache. - * @param {*} value The value to cache. - * @returns {Object} Returns the cache object. - */ - function mapSet(key, value) { - if (key != '__proto__') { - this.__data__[key] = value; - } - return this; - } - - /*------------------------------------------------------------------------*/ - - /** - * - * Creates a cache object to store unique values. - * - * @private - * @param {Array} [values] The values to cache. - */ - function SetCache(values) { - var length = values ? values.length : 0; - - this.data = { 'hash': nativeCreate(null), 'set': new Set }; - while (length--) { - this.push(values[length]); - } - } - - /** - * Checks if `value` is in `cache` mimicking the return signature of - * `_.indexOf` by returning `0` if the value is found, else `-1`. - * - * @private - * @param {Object} cache The cache to search. - * @param {*} value The value to search for. - * @returns {number} Returns `0` if `value` is found, else `-1`. - */ - function cacheIndexOf(cache, value) { - var data = cache.data, - result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value]; - - return result ? 0 : -1; - } - - /** - * Adds `value` to the cache. - * - * @private - * @name push - * @memberOf SetCache - * @param {*} value The value to cache. - */ - function cachePush(value) { - var data = this.data; - if (typeof value == 'string' || isObject(value)) { - data.set.add(value); - } else { - data.hash[value] = true; - } - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a new array joining `array` with `other`. - * - * @private - * @param {Array} array The array to join. - * @param {Array} other The other array to join. - * @returns {Array} Returns the new concatenated array. - */ - function arrayConcat(array, other) { - var index = -1, - length = array.length, - othIndex = -1, - othLength = other.length, - result = Array(length + othLength); - - while (++index < length) { - result[index] = array[index]; - } - while (++othIndex < othLength) { - result[index++] = other[othIndex]; - } - return result; - } - - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function arrayCopy(source, array) { - var index = -1, - length = source.length; - - array || (array = Array(length)); - while (++index < length) { - array[index] = source[index]; - } - return array; - } - - /** - * A specialized version of `_.forEach` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEach(array, iteratee) { - var index = -1, - length = array.length; - - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.forEachRight` for arrays without support for - * callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEachRight(array, iteratee) { - var length = array.length; - - while (length--) { - if (iteratee(array[length], length, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.every` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ - function arrayEvery(array, predicate) { - var index = -1, - length = array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; - } - - /** - * A specialized version of `baseExtremum` for arrays which invokes `iteratee` - * with one argument: (value). - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} comparator The function used to compare values. - * @param {*} exValue The initial extremum value. - * @returns {*} Returns the extremum value. - */ - function arrayExtremum(array, iteratee, comparator, exValue) { - var index = -1, - length = array.length, - computed = exValue, - result = computed; - - while (++index < length) { - var value = array[index], - current = +iteratee(value); - - if (comparator(current, computed)) { - computed = current; - result = value; - } - } - return result; - } - - /** - * A specialized version of `_.filter` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function arrayFilter(array, predicate) { - var index = -1, - length = array.length, - resIndex = -1, - result = []; - - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[++resIndex] = value; - } - } - return result; - } - - /** - * A specialized version of `_.map` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function arrayMap(array, iteratee) { - var index = -1, - length = array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; - } - - /** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ - function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - return array; - } - - /** - * A specialized version of `_.reduce` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initFromArray] Specify using the first element of `array` - * as the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduce(array, iteratee, accumulator, initFromArray) { - var index = -1, - length = array.length; - - if (initFromArray && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; - } - - /** - * A specialized version of `_.reduceRight` for arrays without support for - * callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initFromArray] Specify using the last element of `array` - * as the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduceRight(array, iteratee, accumulator, initFromArray) { - var length = array.length; - if (initFromArray && length) { - accumulator = array[--length]; - } - while (length--) { - accumulator = iteratee(accumulator, array[length], length, array); - } - return accumulator; - } - - /** - * A specialized version of `_.some` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function arraySome(array, predicate) { - var index = -1, - length = array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; - } - - /** - * A specialized version of `_.sum` for arrays without support for callback - * shorthands and `this` binding.. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ - function arraySum(array, iteratee) { - var length = array.length, - result = 0; - - while (length--) { - result += +iteratee(array[length]) || 0; - } - return result; - } - - /** - * Used by `_.defaults` to customize its `_.assign` use. - * - * @private - * @param {*} objectValue The destination object property value. - * @param {*} sourceValue The source object property value. - * @returns {*} Returns the value to assign to the destination object. - */ - function assignDefaults(objectValue, sourceValue) { - return objectValue === undefined ? sourceValue : objectValue; - } - - /** - * Used by `_.template` to customize its `_.assign` use. - * - * **Note:** This function is like `assignDefaults` except that it ignores - * inherited property values when checking if a property is `undefined`. - * - * @private - * @param {*} objectValue The destination object property value. - * @param {*} sourceValue The source object property value. - * @param {string} key The key associated with the object and source values. - * @param {Object} object The destination object. - * @returns {*} Returns the value to assign to the destination object. - */ - function assignOwnDefaults(objectValue, sourceValue, key, object) { - return (objectValue === undefined || !hasOwnProperty.call(object, key)) - ? sourceValue - : objectValue; - } - - /** - * A specialized version of `_.assign` for customizing assigned values without - * support for argument juggling, multiple sources, and `this` binding `customizer` - * functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {Function} customizer The function to customize assigned values. - * @returns {Object} Returns `object`. - */ - function assignWith(object, source, customizer) { - var index = -1, - props = keys(source), - length = props.length; - - while (++index < length) { - var key = props[index], - value = object[key], - result = customizer(value, source[key], key, object, source); - - if ((result === result ? (result !== value) : (value === value)) || - (value === undefined && !(key in object))) { - object[key] = result; - } - } - return object; - } - - /** - * The base implementation of `_.assign` without support for argument juggling, - * multiple sources, and `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssign(object, source) { - return source == null - ? object - : baseCopy(source, keys(source), object); - } - - /** - * The base implementation of `_.at` without support for string collections - * and individual key arguments. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {number[]|string[]} props The property names or indexes of elements to pick. - * @returns {Array} Returns the new array of picked elements. - */ - function baseAt(collection, props) { - var index = -1, - isNil = collection == null, - isArr = !isNil && isArrayLike(collection), - length = isArr ? collection.length : 0, - propsLength = props.length, - result = Array(propsLength); - - while(++index < propsLength) { - var key = props[index]; - if (isArr) { - result[index] = isIndex(key, length) ? collection[key] : undefined; - } else { - result[index] = isNil ? undefined : collection[key]; - } - } - return result; - } - - /** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property names to copy. - * @param {Object} [object={}] The object to copy properties to. - * @returns {Object} Returns `object`. - */ - function baseCopy(source, props, object) { - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - object[key] = source[key]; - } - return object; - } - - /** - * The base implementation of `_.callback` which supports specifying the - * number of arguments to provide to `func`. - * - * @private - * @param {*} [func=_.identity] The value to convert to a callback. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {number} [argCount] The number of arguments to provide to `func`. - * @returns {Function} Returns the callback. - */ - function baseCallback(func, thisArg, argCount) { - var type = typeof func; - if (type == 'function') { - return thisArg === undefined - ? func - : bindCallback(func, thisArg, argCount); - } - if (func == null) { - return identity; - } - if (type == 'object') { - return baseMatches(func); - } - return thisArg === undefined - ? property(func) - : baseMatchesProperty(func, thisArg); - } - - /** - * The base implementation of `_.clone` without support for argument juggling - * and `this` binding `customizer` functions. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @param {Function} [customizer] The function to customize cloning values. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The object `value` belongs to. - * @param {Array} [stackA=[]] Tracks traversed source objects. - * @param {Array} [stackB=[]] Associates clones with source counterparts. - * @returns {*} Returns the cloned value. - */ - function baseClone(value, isDeep, customizer, key, object, stackA, stackB) { - var result; - if (customizer) { - result = object ? customizer(value, key, object) : customizer(value); - } - if (result !== undefined) { - return result; - } - if (!isObject(value)) { - return value; - } - var isArr = isArray(value); - if (isArr) { - result = initCloneArray(value); - if (!isDeep) { - return arrayCopy(value, result); - } - } else { - var tag = objToString.call(value), - isFunc = tag == funcTag; - - if (tag == objectTag || tag == argsTag || (isFunc && !object)) { - result = initCloneObject(isFunc ? {} : value); - if (!isDeep) { - return baseAssign(result, value); - } - } else { - return cloneableTags[tag] - ? initCloneByTag(value, tag, isDeep) - : (object ? value : {}); - } - } - // Check for circular references and return its corresponding clone. - stackA || (stackA = []); - stackB || (stackB = []); - - var length = stackA.length; - while (length--) { - if (stackA[length] == value) { - return stackB[length]; - } - } - // Add the source value to the stack of traversed objects and associate it with its clone. - stackA.push(value); - stackB.push(result); - - // Recursively populate clone (susceptible to call stack limits). - (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) { - result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB); - }); - return result; - } - - /** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} prototype The object to inherit from. - * @returns {Object} Returns the new object. - */ - var baseCreate = (function() { - function object() {} - return function(prototype) { - if (isObject(prototype)) { - object.prototype = prototype; - var result = new object; - object.prototype = undefined; - } - return result || {}; - }; - }()); - - /** - * The base implementation of `_.delay` and `_.defer` which accepts an index - * of where to slice the arguments to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Object} args The arguments provide to `func`. - * @returns {number} Returns the timer id. - */ - function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { func.apply(undefined, args); }, wait); - } - - /** - * The base implementation of `_.difference` which accepts a single array - * of values to exclude. - * - * @private - * @param {Array} array The array to inspect. - * @param {Array} values The values to exclude. - * @returns {Array} Returns the new array of filtered values. - */ - function baseDifference(array, values) { - var length = array ? array.length : 0, - result = []; - - if (!length) { - return result; - } - var index = -1, - indexOf = getIndexOf(), - isCommon = indexOf == baseIndexOf, - cache = (isCommon && values.length >= LARGE_ARRAY_SIZE) ? createCache(values) : null, - valuesLength = values.length; - - if (cache) { - indexOf = cacheIndexOf; - isCommon = false; - values = cache; - } - outer: - while (++index < length) { - var value = array[index]; - - if (isCommon && value === value) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values[valuesIndex] === value) { - continue outer; - } - } - result.push(value); - } - else if (indexOf(values, value, 0) < 0) { - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.forEach` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object|string} Returns `collection`. - */ - var baseEach = createBaseEach(baseForOwn); - - /** - * The base implementation of `_.forEachRight` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object|string} Returns `collection`. - */ - var baseEachRight = createBaseEach(baseForOwnRight, true); - - /** - * The base implementation of `_.every` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ - function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; - } - - /** - * Gets the extremum value of `collection` invoking `iteratee` for each value - * in `collection` to generate the criterion by which the value is ranked. - * The `iteratee` is invoked with three arguments: (value, index|key, collection). - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} comparator The function used to compare values. - * @param {*} exValue The initial extremum value. - * @returns {*} Returns the extremum value. - */ - function baseExtremum(collection, iteratee, comparator, exValue) { - var computed = exValue, - result = computed; - - baseEach(collection, function(value, index, collection) { - var current = +iteratee(value, index, collection); - if (comparator(current, computed) || (current === exValue && current === result)) { - computed = current; - result = value; - } - }); - return result; - } - - /** - * The base implementation of `_.fill` without an iteratee call guard. - * - * @private - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - */ - function baseFill(array, value, start, end) { - var length = array.length; - - start = start == null ? 0 : (+start || 0); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : (+end || 0); - if (end < 0) { - end += length; - } - length = start > end ? 0 : (end >>> 0); - start >>>= 0; - - while (start < length) { - array[start++] = value; - } - return array; - } - - /** - * The base implementation of `_.filter` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; - } - - /** - * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`, - * without support for callback shorthands and `this` binding, which iterates - * over `collection` using the provided `eachFunc`. - * - * @private - * @param {Array|Object|string} collection The collection to search. - * @param {Function} predicate The function invoked per iteration. - * @param {Function} eachFunc The function to iterate over `collection`. - * @param {boolean} [retKey] Specify returning the key of the found element - * instead of the element itself. - * @returns {*} Returns the found element or its key, else `undefined`. - */ - function baseFind(collection, predicate, eachFunc, retKey) { - var result; - eachFunc(collection, function(value, key, collection) { - if (predicate(value, key, collection)) { - result = retKey ? key : value; - return false; - } - }); - return result; - } - - /** - * The base implementation of `_.flatten` with added support for restricting - * flattening and specifying the start index. - * - * @private - * @param {Array} array The array to flatten. - * @param {boolean} [isDeep] Specify a deep flatten. - * @param {boolean} [isStrict] Restrict flattening to arrays-like objects. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - function baseFlatten(array, isDeep, isStrict, result) { - result || (result = []); - - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index]; - if (isObjectLike(value) && isArrayLike(value) && - (isStrict || isArray(value) || isArguments(value))) { - if (isDeep) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, isDeep, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; - } - - /** - * The base implementation of `baseForIn` and `baseForOwn` which iterates - * over `object` properties returned by `keysFunc` invoking `iteratee` for - * each property. Iteratee functions may exit iteration early by explicitly - * returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseFor = createBaseFor(); - - /** - * This function is like `baseFor` except that it iterates over properties - * in the opposite order. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseForRight = createBaseFor(true); - - /** - * The base implementation of `_.forIn` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForIn(object, iteratee) { - return baseFor(object, iteratee, keysIn); - } - - /** - * The base implementation of `_.forOwn` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwn(object, iteratee) { - return baseFor(object, iteratee, keys); - } - - /** - * The base implementation of `_.forOwnRight` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwnRight(object, iteratee) { - return baseForRight(object, iteratee, keys); - } - - /** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from those provided. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the new array of filtered property names. - */ - function baseFunctions(object, props) { - var index = -1, - length = props.length, - resIndex = -1, - result = []; - - while (++index < length) { - var key = props[index]; - if (isFunction(object[key])) { - result[++resIndex] = key; - } - } - return result; - } - - /** - * The base implementation of `get` without support for string paths - * and default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path of the property to get. - * @param {string} [pathKey] The key representation of path. - * @returns {*} Returns the resolved value. - */ - function baseGet(object, path, pathKey) { - if (object == null) { - return; - } - if (pathKey !== undefined && pathKey in toObject(object)) { - path = [pathKey]; - } - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[path[index++]]; - } - return (index && index == length) ? object : undefined; - } - - /** - * The base implementation of `_.isEqual` without support for `this` binding - * `customizer` functions. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparing values. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB); - } - - /** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing objects. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA=[]] Tracks traversed `value` objects. - * @param {Array} [stackB=[]] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = arrayTag, - othTag = arrayTag; - - if (!objIsArr) { - objTag = objToString.call(object); - if (objTag == argsTag) { - objTag = objectTag; - } else if (objTag != objectTag) { - objIsArr = isTypedArray(object); - } - } - if (!othIsArr) { - othTag = objToString.call(other); - if (othTag == argsTag) { - othTag = objectTag; - } else if (othTag != objectTag) { - othIsArr = isTypedArray(other); - } - } - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && !(objIsArr || objIsObj)) { - return equalByTag(object, other, objTag); - } - if (!isLoose) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB); - } - } - if (!isSameTag) { - return false; - } - // Assume cyclic values are equal. - // For more information on detecting circular references see https://es5.github.io/#JO. - stackA || (stackA = []); - stackB || (stackB = []); - - var length = stackA.length; - while (length--) { - if (stackA[length] == object) { - return stackB[length] == other; - } - } - // Add `object` and `other` to the stack of traversed objects. - stackA.push(object); - stackB.push(other); - - var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB); - - stackA.pop(); - stackB.pop(); - - return result; - } - - /** - * The base implementation of `_.isMatch` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} matchData The propery names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparing objects. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ - function baseIsMatch(object, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = toObject(object); - while (index--) { - var data = matchData[index]; - if ((noCustomizer && data[2]) - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var result = customizer ? customizer(objValue, srcValue, key) : undefined; - if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) { - return false; - } - } - } - return true; - } - - /** - * The base implementation of `_.map` without support for callback shorthands - * and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; - } - - /** - * The base implementation of `_.matches` which does not clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new function. - */ - function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - var key = matchData[0][0], - value = matchData[0][1]; - - return function(object) { - if (object == null) { - return false; - } - return object[key] === value && (value !== undefined || (key in toObject(object))); - }; - } - return function(object) { - return baseIsMatch(object, matchData); - }; - } - - /** - * The base implementation of `_.matchesProperty` which does not clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to compare. - * @returns {Function} Returns the new function. - */ - function baseMatchesProperty(path, srcValue) { - var isArr = isArray(path), - isCommon = isKey(path) && isStrictComparable(srcValue), - pathKey = (path + ''); - - path = toPath(path); - return function(object) { - if (object == null) { - return false; - } - var key = pathKey; - object = toObject(object); - if ((isArr || !isCommon) && !(key in object)) { - object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); - if (object == null) { - return false; - } - key = last(path); - object = toObject(object); - } - return object[key] === srcValue - ? (srcValue !== undefined || (key in object)) - : baseIsEqual(srcValue, object[key], undefined, true); - }; - } - - /** - * The base implementation of `_.merge` without support for argument juggling, - * multiple sources, and `this` binding `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {Function} [customizer] The function to customize merged values. - * @param {Array} [stackA=[]] Tracks traversed source objects. - * @param {Array} [stackB=[]] Associates values with source counterparts. - * @returns {Object} Returns `object`. - */ - function baseMerge(object, source, customizer, stackA, stackB) { - if (!isObject(object)) { - return object; - } - var isSrcArr = isArrayLike(source) && (isArray(source) || isTypedArray(source)), - props = isSrcArr ? undefined : keys(source); - - arrayEach(props || source, function(srcValue, key) { - if (props) { - key = srcValue; - srcValue = source[key]; - } - if (isObjectLike(srcValue)) { - stackA || (stackA = []); - stackB || (stackB = []); - baseMergeDeep(object, source, key, baseMerge, customizer, stackA, stackB); - } - else { - var value = object[key], - result = customizer ? customizer(value, srcValue, key, object, source) : undefined, - isCommon = result === undefined; - - if (isCommon) { - result = srcValue; - } - if ((result !== undefined || (isSrcArr && !(key in object))) && - (isCommon || (result === result ? (result !== value) : (value === value)))) { - object[key] = result; - } - } - }); - return object; - } - - /** - * A specialized version of `baseMerge` for arrays and objects which performs - * deep merges and tracks traversed objects enabling objects with circular - * references to be merged. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {string} key The key of the value to merge. - * @param {Function} mergeFunc The function to merge values. - * @param {Function} [customizer] The function to customize merged values. - * @param {Array} [stackA=[]] Tracks traversed source objects. - * @param {Array} [stackB=[]] Associates values with source counterparts. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseMergeDeep(object, source, key, mergeFunc, customizer, stackA, stackB) { - var length = stackA.length, - srcValue = source[key]; - - while (length--) { - if (stackA[length] == srcValue) { - object[key] = stackB[length]; - return; - } - } - var value = object[key], - result = customizer ? customizer(value, srcValue, key, object, source) : undefined, - isCommon = result === undefined; - - if (isCommon) { - result = srcValue; - if (isArrayLike(srcValue) && (isArray(srcValue) || isTypedArray(srcValue))) { - result = isArray(value) - ? value - : (isArrayLike(value) ? arrayCopy(value) : []); - } - else if (isPlainObject(srcValue) || isArguments(srcValue)) { - result = isArguments(value) - ? toPlainObject(value) - : (isPlainObject(value) ? value : {}); - } - else { - isCommon = false; - } - } - // Add the source value to the stack of traversed objects and associate - // it with its merged value. - stackA.push(srcValue); - stackB.push(result); - - if (isCommon) { - // Recursively merge objects and arrays (susceptible to call stack limits). - object[key] = mergeFunc(result, srcValue, customizer, stackA, stackB); - } else if (result === result ? (result !== value) : (value === value)) { - object[key] = result; - } - } - - /** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new function. - */ - function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; - } - - /** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new function. - */ - function basePropertyDeep(path) { - var pathKey = (path + ''); - path = toPath(path); - return function(object) { - return baseGet(object, path, pathKey); - }; - } - - /** - * The base implementation of `_.pullAt` without support for individual - * index arguments and capturing the removed elements. - * - * @private - * @param {Array} array The array to modify. - * @param {number[]} indexes The indexes of elements to remove. - * @returns {Array} Returns `array`. - */ - function basePullAt(array, indexes) { - var length = array ? indexes.length : 0; - while (length--) { - var index = indexes[length]; - if (index != previous && isIndex(index)) { - var previous = index; - splice.call(array, index, 1); - } - } - return array; - } - - /** - * The base implementation of `_.random` without support for argument juggling - * and returning floating-point numbers. - * - * @private - * @param {number} min The minimum possible value. - * @param {number} max The maximum possible value. - * @returns {number} Returns the random number. - */ - function baseRandom(min, max) { - return min + nativeFloor(nativeRandom() * (max - min + 1)); - } - - /** - * The base implementation of `_.reduce` and `_.reduceRight` without support - * for callback shorthands and `this` binding, which iterates over `collection` - * using the provided `eachFunc`. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initFromCollection Specify using the first or last element - * of `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ - function baseReduce(collection, iteratee, accumulator, initFromCollection, eachFunc) { - eachFunc(collection, function(value, index, collection) { - accumulator = initFromCollection - ? (initFromCollection = false, value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; - } - - /** - * The base implementation of `setData` without support for hot loop detection. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var baseSetData = !metaMap ? identity : function(func, data) { - metaMap.set(func, data); - return func; - }; - - /** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - start = start == null ? 0 : (+start || 0); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : (+end || 0); - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; - } - - /** - * The base implementation of `_.some` without support for callback shorthands - * and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; - } - - /** - * The base implementation of `_.sortBy` which uses `comparer` to define - * the sort order of `array` and replaces criteria objects with their - * corresponding values. - * - * @private - * @param {Array} array The array to sort. - * @param {Function} comparer The function to define sort order. - * @returns {Array} Returns `array`. - */ - function baseSortBy(array, comparer) { - var length = array.length; - - array.sort(comparer); - while (length--) { - array[length] = array[length].value; - } - return array; - } - - /** - * The base implementation of `_.sortByOrder` without param guards. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {boolean[]} orders The sort orders of `iteratees`. - * @returns {Array} Returns the new sorted array. - */ - function baseSortByOrder(collection, iteratees, orders) { - var callback = getCallback(), - index = -1; - - iteratees = arrayMap(iteratees, function(iteratee) { return callback(iteratee); }); - - var result = baseMap(collection, function(value) { - var criteria = arrayMap(iteratees, function(iteratee) { return iteratee(value); }); - return { 'criteria': criteria, 'index': ++index, 'value': value }; - }); - - return baseSortBy(result, function(object, other) { - return compareMultiple(object, other, orders); - }); - } - - /** - * The base implementation of `_.sum` without support for callback shorthands - * and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ - function baseSum(collection, iteratee) { - var result = 0; - baseEach(collection, function(value, index, collection) { - result += +iteratee(value, index, collection) || 0; - }); - return result; - } - - /** - * The base implementation of `_.uniq` without support for callback shorthands - * and `this` binding. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The function invoked per iteration. - * @returns {Array} Returns the new duplicate-value-free array. - */ - function baseUniq(array, iteratee) { - var index = -1, - indexOf = getIndexOf(), - length = array.length, - isCommon = indexOf == baseIndexOf, - isLarge = isCommon && length >= LARGE_ARRAY_SIZE, - seen = isLarge ? createCache() : null, - result = []; - - if (seen) { - indexOf = cacheIndexOf; - isCommon = false; - } else { - isLarge = false; - seen = iteratee ? [] : result; - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value, index, array) : value; - - if (isCommon && value === value) { - var seenIndex = seen.length; - while (seenIndex--) { - if (seen[seenIndex] === computed) { - continue outer; - } - } - if (iteratee) { - seen.push(computed); - } - result.push(value); - } - else if (indexOf(seen, computed, 0) < 0) { - if (iteratee || isLarge) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ - function baseValues(object, props) { - var index = -1, - length = props.length, - result = Array(length); - - while (++index < length) { - result[index] = object[props[index]]; - } - return result; - } - - /** - * The base implementation of `_.dropRightWhile`, `_.dropWhile`, `_.takeRightWhile`, - * and `_.takeWhile` without support for callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to query. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [isDrop] Specify dropping elements instead of taking them. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the slice of `array`. - */ - function baseWhile(array, predicate, isDrop, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length) && predicate(array[index], index, array)) {} - return isDrop - ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) - : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); - } - - /** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to peform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ - function baseWrapperValue(value, actions) { - var result = value; - if (result instanceof LazyWrapper) { - result = result.value(); - } - var index = -1, - length = actions.length; - - while (++index < length) { - var action = actions[index]; - result = action.func.apply(action.thisArg, arrayPush([result], action.args)); - } - return result; - } - - /** - * Performs a binary search of `array` to determine the index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function binaryIndex(array, value, retHighest) { - var low = 0, - high = array ? array.length : low; - - if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { - while (low < high) { - var mid = (low + high) >>> 1, - computed = array[mid]; - - if ((retHighest ? (computed <= value) : (computed < value)) && computed !== null) { - low = mid + 1; - } else { - high = mid; - } - } - return high; - } - return binaryIndexBy(array, value, identity, retHighest); - } - - /** - * This function is like `binaryIndex` except that it invokes `iteratee` for - * `value` and each element of `array` to compute their sort ranking. The - * iteratee is invoked with one argument; (value). - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} iteratee The function invoked per iteration. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function binaryIndexBy(array, value, iteratee, retHighest) { - value = iteratee(value); - - var low = 0, - high = array ? array.length : 0, - valIsNaN = value !== value, - valIsNull = value === null, - valIsUndef = value === undefined; - - while (low < high) { - var mid = nativeFloor((low + high) / 2), - computed = iteratee(array[mid]), - isDef = computed !== undefined, - isReflexive = computed === computed; - - if (valIsNaN) { - var setLow = isReflexive || retHighest; - } else if (valIsNull) { - setLow = isReflexive && isDef && (retHighest || computed != null); - } else if (valIsUndef) { - setLow = isReflexive && (retHighest || isDef); - } else if (computed == null) { - setLow = false; - } else { - setLow = retHighest ? (computed <= value) : (computed < value); - } - if (setLow) { - low = mid + 1; - } else { - high = mid; - } - } - return nativeMin(high, MAX_ARRAY_INDEX); - } - - /** - * A specialized version of `baseCallback` which only supports `this` binding - * and specifying the number of arguments to provide to `func`. - * - * @private - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {number} [argCount] The number of arguments to provide to `func`. - * @returns {Function} Returns the callback. - */ - function bindCallback(func, thisArg, argCount) { - if (typeof func != 'function') { - return identity; - } - if (thisArg === undefined) { - return func; - } - switch (argCount) { - case 1: return function(value) { - return func.call(thisArg, value); - }; - case 3: return function(value, index, collection) { - return func.call(thisArg, value, index, collection); - }; - case 4: return function(accumulator, value, index, collection) { - return func.call(thisArg, accumulator, value, index, collection); - }; - case 5: return function(value, other, key, object, source) { - return func.call(thisArg, value, other, key, object, source); - }; - } - return function() { - return func.apply(thisArg, arguments); - }; - } - - /** - * Creates a clone of the given array buffer. - * - * @private - * @param {ArrayBuffer} buffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */ - function bufferClone(buffer) { - var result = new ArrayBuffer(buffer.byteLength), - view = new Uint8Array(result); - - view.set(new Uint8Array(buffer)); - return result; - } - - /** - * Creates an array that is the composition of partially applied arguments, - * placeholders, and provided arguments into a single array of arguments. - * - * @private - * @param {Array|Object} args The provided arguments. - * @param {Array} partials The arguments to prepend to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgs(args, partials, holders) { - var holdersLength = holders.length, - argsIndex = -1, - argsLength = nativeMax(args.length - holdersLength, 0), - leftIndex = -1, - leftLength = partials.length, - result = Array(leftLength + argsLength); - - while (++leftIndex < leftLength) { - result[leftIndex] = partials[leftIndex]; - } - while (++argsIndex < holdersLength) { - result[holders[argsIndex]] = args[argsIndex]; - } - while (argsLength--) { - result[leftIndex++] = args[argsIndex++]; - } - return result; - } - - /** - * This function is like `composeArgs` except that the arguments composition - * is tailored for `_.partialRight`. - * - * @private - * @param {Array|Object} args The provided arguments. - * @param {Array} partials The arguments to append to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgsRight(args, partials, holders) { - var holdersIndex = -1, - holdersLength = holders.length, - argsIndex = -1, - argsLength = nativeMax(args.length - holdersLength, 0), - rightIndex = -1, - rightLength = partials.length, - result = Array(argsLength + rightLength); - - while (++argsIndex < argsLength) { - result[argsIndex] = args[argsIndex]; - } - var offset = argsIndex; - while (++rightIndex < rightLength) { - result[offset + rightIndex] = partials[rightIndex]; - } - while (++holdersIndex < holdersLength) { - result[offset + holders[holdersIndex]] = args[argsIndex++]; - } - return result; - } - - /** - * Creates a `_.countBy`, `_.groupBy`, `_.indexBy`, or `_.partition` function. - * - * @private - * @param {Function} setter The function to set keys and values of the accumulator object. - * @param {Function} [initializer] The function to initialize the accumulator object. - * @returns {Function} Returns the new aggregator function. - */ - function createAggregator(setter, initializer) { - return function(collection, iteratee, thisArg) { - var result = initializer ? initializer() : {}; - iteratee = getCallback(iteratee, thisArg, 3); - - if (isArray(collection)) { - var index = -1, - length = collection.length; - - while (++index < length) { - var value = collection[index]; - setter(result, value, iteratee(value, index, collection), collection); - } - } else { - baseEach(collection, function(value, key, collection) { - setter(result, value, iteratee(value, key, collection), collection); - }); - } - return result; - }; - } - - /** - * Creates a `_.assign`, `_.defaults`, or `_.merge` function. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ - function createAssigner(assigner) { - return restParam(function(object, sources) { - var index = -1, - length = object == null ? 0 : sources.length, - customizer = length > 2 ? sources[length - 2] : undefined, - guard = length > 2 ? sources[2] : undefined, - thisArg = length > 1 ? sources[length - 1] : undefined; - - if (typeof customizer == 'function') { - customizer = bindCallback(customizer, thisArg, 5); - length -= 2; - } else { - customizer = typeof thisArg == 'function' ? thisArg : undefined; - length -= (customizer ? 1 : 0); - } - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, customizer); - } - } - return object; - }); - } - - /** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - var length = collection ? getLength(collection) : 0; - if (!isLength(length)) { - return eachFunc(collection, iteratee); - } - var index = fromRight ? length : -1, - iterable = toObject(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; - } - - /** - * Creates a base function for `_.forIn` or `_.forInRight`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var iterable = toObject(object), - props = keysFunc(object), - length = props.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length)) { - var key = props[index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; - } - - /** - * Creates a function that wraps `func` and invokes it with the `this` - * binding of `thisArg`. - * - * @private - * @param {Function} func The function to bind. - * @param {*} [thisArg] The `this` binding of `func`. - * @returns {Function} Returns the new bound function. - */ - function createBindWrapper(func, thisArg) { - var Ctor = createCtorWrapper(func); - - function wrapper() { - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return fn.apply(thisArg, arguments); - } - return wrapper; - } - - /** - * Creates a `Set` cache object to optimize linear searches of large arrays. - * - * @private - * @param {Array} [values] The values to cache. - * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`. - */ - function createCache(values) { - return (nativeCreate && Set) ? new SetCache(values) : null; - } - - /** - * Creates a function that produces compound words out of the words in a - * given string. - * - * @private - * @param {Function} callback The function to combine each word. - * @returns {Function} Returns the new compounder function. - */ - function createCompounder(callback) { - return function(string) { - var index = -1, - array = words(deburr(string)), - length = array.length, - result = ''; - - while (++index < length) { - result = callback(result, array[index], index); - } - return result; - }; - } - - /** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ - function createCtorWrapper(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. - // See http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - switch (args.length) { - case 0: return new Ctor; - case 1: return new Ctor(args[0]); - case 2: return new Ctor(args[0], args[1]); - case 3: return new Ctor(args[0], args[1], args[2]); - case 4: return new Ctor(args[0], args[1], args[2], args[3]); - case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); - case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); - case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - } - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; - } - - /** - * Creates a `_.curry` or `_.curryRight` function. - * - * @private - * @param {boolean} flag The curry bit flag. - * @returns {Function} Returns the new curry function. - */ - function createCurry(flag) { - function curryFunc(func, arity, guard) { - if (guard && isIterateeCall(func, arity, guard)) { - arity = undefined; - } - var result = createWrapper(func, flag, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curryFunc.placeholder; - return result; - } - return curryFunc; - } - - /** - * Creates a `_.defaults` or `_.defaultsDeep` function. - * - * @private - * @param {Function} assigner The function to assign values. - * @param {Function} customizer The function to customize assigned values. - * @returns {Function} Returns the new defaults function. - */ - function createDefaults(assigner, customizer) { - return restParam(function(args) { - var object = args[0]; - if (object == null) { - return object; - } - args.push(customizer); - return assigner.apply(undefined, args); - }); - } - - /** - * Creates a `_.max` or `_.min` function. - * - * @private - * @param {Function} comparator The function used to compare values. - * @param {*} exValue The initial extremum value. - * @returns {Function} Returns the new extremum function. - */ - function createExtremum(comparator, exValue) { - return function(collection, iteratee, thisArg) { - if (thisArg && isIterateeCall(collection, iteratee, thisArg)) { - iteratee = undefined; - } - iteratee = getCallback(iteratee, thisArg, 3); - if (iteratee.length == 1) { - collection = isArray(collection) ? collection : toIterable(collection); - var result = arrayExtremum(collection, iteratee, comparator, exValue); - if (!(collection.length && result === exValue)) { - return result; - } - } - return baseExtremum(collection, iteratee, comparator, exValue); - }; - } - - /** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new find function. - */ - function createFind(eachFunc, fromRight) { - return function(collection, predicate, thisArg) { - predicate = getCallback(predicate, thisArg, 3); - if (isArray(collection)) { - var index = baseFindIndex(collection, predicate, fromRight); - return index > -1 ? collection[index] : undefined; - } - return baseFind(collection, predicate, eachFunc); - }; - } - - /** - * Creates a `_.findIndex` or `_.findLastIndex` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new find function. - */ - function createFindIndex(fromRight) { - return function(array, predicate, thisArg) { - if (!(array && array.length)) { - return -1; - } - predicate = getCallback(predicate, thisArg, 3); - return baseFindIndex(array, predicate, fromRight); - }; - } - - /** - * Creates a `_.findKey` or `_.findLastKey` function. - * - * @private - * @param {Function} objectFunc The function to iterate over an object. - * @returns {Function} Returns the new find function. - */ - function createFindKey(objectFunc) { - return function(object, predicate, thisArg) { - predicate = getCallback(predicate, thisArg, 3); - return baseFind(object, predicate, objectFunc, true); - }; - } - - /** - * Creates a `_.flow` or `_.flowRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new flow function. - */ - function createFlow(fromRight) { - return function() { - var wrapper, - length = arguments.length, - index = fromRight ? length : -1, - leftIndex = 0, - funcs = Array(length); - - while ((fromRight ? index-- : ++index < length)) { - var func = funcs[leftIndex++] = arguments[index]; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (!wrapper && LodashWrapper.prototype.thru && getFuncName(func) == 'wrapper') { - wrapper = new LodashWrapper([], true); - } - } - index = wrapper ? -1 : length; - while (++index < length) { - func = funcs[index]; - - var funcName = getFuncName(func), - data = funcName == 'wrapper' ? getData(func) : undefined; - - if (data && isLaziable(data[0]) && data[1] == (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) && !data[4].length && data[9] == 1) { - wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); - } else { - wrapper = (func.length == 1 && isLaziable(func)) ? wrapper[funcName]() : wrapper.thru(func); - } - } - return function() { - var args = arguments, - value = args[0]; - - if (wrapper && args.length == 1 && isArray(value) && value.length >= LARGE_ARRAY_SIZE) { - return wrapper.plant(value).value(); - } - var index = 0, - result = length ? funcs[index].apply(this, args) : value; - - while (++index < length) { - result = funcs[index].call(this, result); - } - return result; - }; - }; - } - - /** - * Creates a function for `_.forEach` or `_.forEachRight`. - * - * @private - * @param {Function} arrayFunc The function to iterate over an array. - * @param {Function} eachFunc The function to iterate over a collection. - * @returns {Function} Returns the new each function. - */ - function createForEach(arrayFunc, eachFunc) { - return function(collection, iteratee, thisArg) { - return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection)) - ? arrayFunc(collection, iteratee) - : eachFunc(collection, bindCallback(iteratee, thisArg, 3)); - }; - } - - /** - * Creates a function for `_.forIn` or `_.forInRight`. - * - * @private - * @param {Function} objectFunc The function to iterate over an object. - * @returns {Function} Returns the new each function. - */ - function createForIn(objectFunc) { - return function(object, iteratee, thisArg) { - if (typeof iteratee != 'function' || thisArg !== undefined) { - iteratee = bindCallback(iteratee, thisArg, 3); - } - return objectFunc(object, iteratee, keysIn); - }; - } - - /** - * Creates a function for `_.forOwn` or `_.forOwnRight`. - * - * @private - * @param {Function} objectFunc The function to iterate over an object. - * @returns {Function} Returns the new each function. - */ - function createForOwn(objectFunc) { - return function(object, iteratee, thisArg) { - if (typeof iteratee != 'function' || thisArg !== undefined) { - iteratee = bindCallback(iteratee, thisArg, 3); - } - return objectFunc(object, iteratee); - }; - } - - /** - * Creates a function for `_.mapKeys` or `_.mapValues`. - * - * @private - * @param {boolean} [isMapKeys] Specify mapping keys instead of values. - * @returns {Function} Returns the new map function. - */ - function createObjectMapper(isMapKeys) { - return function(object, iteratee, thisArg) { - var result = {}; - iteratee = getCallback(iteratee, thisArg, 3); - - baseForOwn(object, function(value, key, object) { - var mapped = iteratee(value, key, object); - key = isMapKeys ? mapped : key; - value = isMapKeys ? value : mapped; - result[key] = value; - }); - return result; - }; - } - - /** - * Creates a function for `_.padLeft` or `_.padRight`. - * - * @private - * @param {boolean} [fromRight] Specify padding from the right. - * @returns {Function} Returns the new pad function. - */ - function createPadDir(fromRight) { - return function(string, length, chars) { - string = baseToString(string); - return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string); - }; - } - - /** - * Creates a `_.partial` or `_.partialRight` function. - * - * @private - * @param {boolean} flag The partial bit flag. - * @returns {Function} Returns the new partial function. - */ - function createPartial(flag) { - var partialFunc = restParam(function(func, partials) { - var holders = replaceHolders(partials, partialFunc.placeholder); - return createWrapper(func, flag, undefined, partials, holders); - }); - return partialFunc; - } - - /** - * Creates a function for `_.reduce` or `_.reduceRight`. - * - * @private - * @param {Function} arrayFunc The function to iterate over an array. - * @param {Function} eachFunc The function to iterate over a collection. - * @returns {Function} Returns the new each function. - */ - function createReduce(arrayFunc, eachFunc) { - return function(collection, iteratee, accumulator, thisArg) { - var initFromArray = arguments.length < 3; - return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection)) - ? arrayFunc(collection, iteratee, accumulator, initFromArray) - : baseReduce(collection, getCallback(iteratee, thisArg, 4), accumulator, initFromArray, eachFunc); - }; - } - - /** - * Creates a function that wraps `func` and invokes it with optional `this` - * binding of, partial application, and currying. - * - * @private - * @param {Function|string} func The function or method name to reference. - * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [partialsRight] The arguments to append to those provided to the new function. - * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createHybridWrapper(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { - var isAry = bitmask & ARY_FLAG, - isBind = bitmask & BIND_FLAG, - isBindKey = bitmask & BIND_KEY_FLAG, - isCurry = bitmask & CURRY_FLAG, - isCurryBound = bitmask & CURRY_BOUND_FLAG, - isCurryRight = bitmask & CURRY_RIGHT_FLAG, - Ctor = isBindKey ? undefined : createCtorWrapper(func); - - function wrapper() { - // Avoid `arguments` object use disqualifying optimizations by - // converting it to an array before providing it to other functions. - var length = arguments.length, - index = length, - args = Array(length); - - while (index--) { - args[index] = arguments[index]; - } - if (partials) { - args = composeArgs(args, partials, holders); - } - if (partialsRight) { - args = composeArgsRight(args, partialsRight, holdersRight); - } - if (isCurry || isCurryRight) { - var placeholder = wrapper.placeholder, - argsHolders = replaceHolders(args, placeholder); - - length -= argsHolders.length; - if (length < arity) { - var newArgPos = argPos ? arrayCopy(argPos) : undefined, - newArity = nativeMax(arity - length, 0), - newsHolders = isCurry ? argsHolders : undefined, - newHoldersRight = isCurry ? undefined : argsHolders, - newPartials = isCurry ? args : undefined, - newPartialsRight = isCurry ? undefined : args; - - bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG); - bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG); - - if (!isCurryBound) { - bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG); - } - var newData = [func, bitmask, thisArg, newPartials, newsHolders, newPartialsRight, newHoldersRight, newArgPos, ary, newArity], - result = createHybridWrapper.apply(undefined, newData); - - if (isLaziable(func)) { - setData(result, newData); - } - result.placeholder = placeholder; - return result; - } - } - var thisBinding = isBind ? thisArg : this, - fn = isBindKey ? thisBinding[func] : func; - - if (argPos) { - args = reorder(args, argPos); - } - if (isAry && ary < args.length) { - args.length = ary; - } - if (this && this !== root && this instanceof wrapper) { - fn = Ctor || createCtorWrapper(func); - } - return fn.apply(thisBinding, args); - } - return wrapper; - } - - /** - * Creates the padding required for `string` based on the given `length`. - * The `chars` string is truncated if the number of characters exceeds `length`. - * - * @private - * @param {string} string The string to create padding for. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the pad for `string`. - */ - function createPadding(string, length, chars) { - var strLength = string.length; - length = +length; - - if (strLength >= length || !nativeIsFinite(length)) { - return ''; - } - var padLength = length - strLength; - chars = chars == null ? ' ' : (chars + ''); - return repeat(chars, nativeCeil(padLength / chars.length)).slice(0, padLength); - } - - /** - * Creates a function that wraps `func` and invokes it with the optional `this` - * binding of `thisArg` and the `partials` prepended to those provided to - * the wrapper. - * - * @private - * @param {Function} func The function to partially apply arguments to. - * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to the new function. - * @returns {Function} Returns the new bound function. - */ - function createPartialWrapper(func, bitmask, thisArg, partials) { - var isBind = bitmask & BIND_FLAG, - Ctor = createCtorWrapper(func); - - function wrapper() { - // Avoid `arguments` object use disqualifying optimizations by - // converting it to an array before providing it `func`. - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength); - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return fn.apply(isBind ? thisArg : this, args); - } - return wrapper; - } - - /** - * Creates a `_.ceil`, `_.floor`, or `_.round` function. - * - * @private - * @param {string} methodName The name of the `Math` method to use when rounding. - * @returns {Function} Returns the new round function. - */ - function createRound(methodName) { - var func = Math[methodName]; - return function(number, precision) { - precision = precision === undefined ? 0 : (+precision || 0); - if (precision) { - precision = pow(10, precision); - return func(number * precision) / precision; - } - return func(number); - }; - } - - /** - * Creates a `_.sortedIndex` or `_.sortedLastIndex` function. - * - * @private - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {Function} Returns the new index function. - */ - function createSortedIndex(retHighest) { - return function(array, value, iteratee, thisArg) { - var callback = getCallback(iteratee); - return (iteratee == null && callback === baseCallback) - ? binaryIndex(array, value, retHighest) - : binaryIndexBy(array, value, callback(iteratee, thisArg, 1), retHighest); - }; - } - - /** - * Creates a function that either curries or invokes `func` with optional - * `this` binding and partially applied arguments. - * - * @private - * @param {Function|string} func The function or method name to reference. - * @param {number} bitmask The bitmask of flags. - * The bitmask may be composed of the following flags: - * 1 - `_.bind` - * 2 - `_.bindKey` - * 4 - `_.curry` or `_.curryRight` of a bound function - * 8 - `_.curry` - * 16 - `_.curryRight` - * 32 - `_.partial` - * 64 - `_.partialRight` - * 128 - `_.rearg` - * 256 - `_.ary` - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to be partially applied. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createWrapper(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { - var isBindKey = bitmask & BIND_KEY_FLAG; - if (!isBindKey && typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = partials ? partials.length : 0; - if (!length) { - bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG); - partials = holders = undefined; - } - length -= (holders ? holders.length : 0); - if (bitmask & PARTIAL_RIGHT_FLAG) { - var partialsRight = partials, - holdersRight = holders; - - partials = holders = undefined; - } - var data = isBindKey ? undefined : getData(func), - newData = [func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity]; - - if (data) { - mergeData(newData, data); - bitmask = newData[1]; - arity = newData[9]; - } - newData[9] = arity == null - ? (isBindKey ? 0 : func.length) - : (nativeMax(arity - length, 0) || 0); - - if (bitmask == BIND_FLAG) { - var result = createBindWrapper(newData[0], newData[2]); - } else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !newData[4].length) { - result = createPartialWrapper.apply(undefined, newData); - } else { - result = createHybridWrapper.apply(undefined, newData); - } - var setter = data ? baseSetData : setData; - return setter(result, newData); - } - - /** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing arrays. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) { - var index = -1, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isLoose && othLength > arrLength)) { - return false; - } - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index], - result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined; - - if (result !== undefined) { - if (result) { - continue; - } - return false; - } - // Recursively compare arrays (susceptible to call stack limits). - if (isLoose) { - if (!arraySome(other, function(othValue) { - return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB); - })) { - return false; - } - } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) { - return false; - } - } - return true; - } - - /** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalByTag(object, other, tag) { - switch (tag) { - case boolTag: - case dateTag: - // Coerce dates and booleans to numbers, dates to milliseconds and booleans - // to `1` or `0` treating invalid dates coerced to `NaN` as not equal. - return +object == +other; - - case errorTag: - return object.name == other.name && object.message == other.message; - - case numberTag: - // Treat `NaN` vs. `NaN` as equal. - return (object != +object) - ? other != +other - : object == +other; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings primitives and string - // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details. - return object == (other + ''); - } - return false; - } - - /** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing values. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) { - var objProps = keys(object), - objLength = objProps.length, - othProps = keys(other), - othLength = othProps.length; - - if (objLength != othLength && !isLoose) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - var skipCtor = isLoose; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key], - result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined; - - // Recursively compare objects (susceptible to call stack limits). - if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) { - return false; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (!skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - return false; - } - } - return true; - } - - /** - * Gets the appropriate "callback" function. If the `_.callback` method is - * customized this function returns the custom method, otherwise it returns - * the `baseCallback` function. If arguments are provided the chosen function - * is invoked with them and its result is returned. - * - * @private - * @returns {Function} Returns the chosen function or its result. - */ - function getCallback(func, thisArg, argCount) { - var result = lodash.callback || callback; - result = result === callback ? baseCallback : result; - return argCount ? result(func, thisArg, argCount) : result; - } - - /** - * Gets metadata for `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {*} Returns the metadata for `func`. - */ - var getData = !metaMap ? noop : function(func) { - return metaMap.get(func); - }; - - /** - * Gets the name of `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {string} Returns the function name. - */ - function getFuncName(func) { - var result = func.name, - array = realNames[result], - length = array ? array.length : 0; - - while (length--) { - var data = array[length], - otherFunc = data.func; - if (otherFunc == null || otherFunc == func) { - return data.name; - } - } - return result; - } - - /** - * Gets the appropriate "indexOf" function. If the `_.indexOf` method is - * customized this function returns the custom method, otherwise it returns - * the `baseIndexOf` function. If arguments are provided the chosen function - * is invoked with them and its result is returned. - * - * @private - * @returns {Function|number} Returns the chosen function or its result. - */ - function getIndexOf(collection, target, fromIndex) { - var result = lodash.indexOf || indexOf; - result = result === indexOf ? baseIndexOf : result; - return collection ? result(collection, target, fromIndex) : result; - } - - /** - * Gets the "length" property value of `object`. - * - * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) - * that affects Safari on at least iOS 8.1-8.3 ARM64. - * - * @private - * @param {Object} object The object to query. - * @returns {*} Returns the "length" value. - */ - var getLength = baseProperty('length'); - - /** - * Gets the propery names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ - function getMatchData(object) { - var result = pairs(object), - length = result.length; - - while (length--) { - result[length][2] = isStrictComparable(result[length][1]); - } - return result; - } - - /** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ - function getNative(object, key) { - var value = object == null ? undefined : object[key]; - return isNative(value) ? value : undefined; - } - - /** - * Gets the view, applying any `transforms` to the `start` and `end` positions. - * - * @private - * @param {number} start The start of the view. - * @param {number} end The end of the view. - * @param {Array} transforms The transformations to apply to the view. - * @returns {Object} Returns an object containing the `start` and `end` - * positions of the view. - */ - function getView(start, end, transforms) { - var index = -1, - length = transforms.length; - - while (++index < length) { - var data = transforms[index], - size = data.size; - - switch (data.type) { - case 'drop': start += size; break; - case 'dropRight': end -= size; break; - case 'take': end = nativeMin(end, start + size); break; - case 'takeRight': start = nativeMax(start, end - size); break; - } - } - return { 'start': start, 'end': end }; - } - - /** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */ - function initCloneArray(array) { - var length = array.length, - result = new array.constructor(length); - - // Add array properties assigned by `RegExp#exec`. - if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { - result.index = array.index; - result.input = array.input; - } - return result; - } - - /** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneObject(object) { - var Ctor = object.constructor; - if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) { - Ctor = Object; - } - return new Ctor; - } - - /** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneByTag(object, tag, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return bufferClone(object); - - case boolTag: - case dateTag: - return new Ctor(+object); - - case float32Tag: case float64Tag: - case int8Tag: case int16Tag: case int32Tag: - case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: - var buffer = object.buffer; - return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length); - - case numberTag: - case stringTag: - return new Ctor(object); - - case regexpTag: - var result = new Ctor(object.source, reFlags.exec(object)); - result.lastIndex = object.lastIndex; - } - return result; - } - - /** - * Invokes the method at `path` on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {Array} args The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - */ - function invokePath(object, path, args) { - if (object != null && !isKey(path, object)) { - path = toPath(path); - object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); - path = last(path); - } - var func = object == null ? object : object[path]; - return func == null ? undefined : func.apply(object, args); - } - - /** - * Checks if `value` is array-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - */ - function isArrayLike(value) { - return value != null && isLength(getLength(value)); - } - - /** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ - function isIndex(value, length) { - value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1; - length = length == null ? MAX_SAFE_INTEGER : length; - return value > -1 && value % 1 == 0 && value < length; - } - - /** - * Checks if the provided arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`. - */ - function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object)) { - var other = object[index]; - return value === value ? (value === other) : (other !== other); - } - return false; - } - - /** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ - function isKey(value, object) { - var type = typeof value; - if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') { - return true; - } - if (isArray(value)) { - return false; - } - var result = !reIsDeepProp.test(value); - return result || (object != null && value in toObject(object)); - } - - /** - * Checks if `func` has a lazy counterpart. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`. - */ - function isLaziable(func) { - var funcName = getFuncName(func); - if (!(funcName in LazyWrapper.prototype)) { - return false; - } - var other = lodash[funcName]; - if (func === other) { - return true; - } - var data = getData(other); - return !!data && func === data[0]; - } - - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - */ - function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ - function isStrictComparable(value) { - return value === value && !isObject(value); - } - - /** - * Merges the function metadata of `source` into `data`. - * - * Merging metadata reduces the number of wrappers required to invoke a function. - * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` - * may be applied regardless of execution order. Methods like `_.ary` and `_.rearg` - * augment function arguments, making the order in which they are executed important, - * preventing the merging of metadata. However, we make an exception for a safe - * common case where curried functions have `_.ary` and or `_.rearg` applied. - * - * @private - * @param {Array} data The destination metadata. - * @param {Array} source The source metadata. - * @returns {Array} Returns `data`. - */ - function mergeData(data, source) { - var bitmask = data[1], - srcBitmask = source[1], - newBitmask = bitmask | srcBitmask, - isCommon = newBitmask < ARY_FLAG; - - var isCombo = - (srcBitmask == ARY_FLAG && bitmask == CURRY_FLAG) || - (srcBitmask == ARY_FLAG && bitmask == REARG_FLAG && data[7].length <= source[8]) || - (srcBitmask == (ARY_FLAG | REARG_FLAG) && bitmask == CURRY_FLAG); - - // Exit early if metadata can't be merged. - if (!(isCommon || isCombo)) { - return data; - } - // Use source `thisArg` if available. - if (srcBitmask & BIND_FLAG) { - data[2] = source[2]; - // Set when currying a bound function. - newBitmask |= (bitmask & BIND_FLAG) ? 0 : CURRY_BOUND_FLAG; - } - // Compose partial arguments. - var value = source[3]; - if (value) { - var partials = data[3]; - data[3] = partials ? composeArgs(partials, value, source[4]) : arrayCopy(value); - data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : arrayCopy(source[4]); - } - // Compose partial right arguments. - value = source[5]; - if (value) { - partials = data[5]; - data[5] = partials ? composeArgsRight(partials, value, source[6]) : arrayCopy(value); - data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : arrayCopy(source[6]); - } - // Use source `argPos` if available. - value = source[7]; - if (value) { - data[7] = arrayCopy(value); - } - // Use source `ary` if it's smaller. - if (srcBitmask & ARY_FLAG) { - data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); - } - // Use source `arity` if one is not provided. - if (data[9] == null) { - data[9] = source[9]; - } - // Use source `func` and merge bitmasks. - data[0] = source[0]; - data[1] = newBitmask; - - return data; - } - - /** - * Used by `_.defaultsDeep` to customize its `_.merge` use. - * - * @private - * @param {*} objectValue The destination object property value. - * @param {*} sourceValue The source object property value. - * @returns {*} Returns the value to assign to the destination object. - */ - function mergeDefaults(objectValue, sourceValue) { - return objectValue === undefined ? sourceValue : merge(objectValue, sourceValue, mergeDefaults); - } - - /** - * A specialized version of `_.pick` which picks `object` properties specified - * by `props`. - * - * @private - * @param {Object} object The source object. - * @param {string[]} props The property names to pick. - * @returns {Object} Returns the new object. - */ - function pickByArray(object, props) { - object = toObject(object); - - var index = -1, - length = props.length, - result = {}; - - while (++index < length) { - var key = props[index]; - if (key in object) { - result[key] = object[key]; - } - } - return result; - } - - /** - * A specialized version of `_.pick` which picks `object` properties `predicate` - * returns truthy for. - * - * @private - * @param {Object} object The source object. - * @param {Function} predicate The function invoked per iteration. - * @returns {Object} Returns the new object. - */ - function pickByCallback(object, predicate) { - var result = {}; - baseForIn(object, function(value, key, object) { - if (predicate(value, key, object)) { - result[key] = value; - } - }); - return result; - } - - /** - * Reorder `array` according to the specified indexes where the element at - * the first index is assigned as the first element, the element at - * the second index is assigned as the second element, and so on. - * - * @private - * @param {Array} array The array to reorder. - * @param {Array} indexes The arranged array indexes. - * @returns {Array} Returns `array`. - */ - function reorder(array, indexes) { - var arrLength = array.length, - length = nativeMin(indexes.length, arrLength), - oldArray = arrayCopy(array); - - while (length--) { - var index = indexes[length]; - array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; - } - return array; - } - - /** - * Sets metadata for `func`. - * - * **Note:** If this function becomes hot, i.e. is invoked a lot in a short - * period of time, it will trip its breaker and transition to an identity function - * to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070) - * for more details. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var setData = (function() { - var count = 0, - lastCalled = 0; - - return function(key, value) { - var stamp = now(), - remaining = HOT_SPAN - (stamp - lastCalled); - - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return key; - } - } else { - count = 0; - } - return baseSetData(key, value); - }; - }()); - - /** - * A fallback implementation of `Object.keys` which creates an array of the - * own enumerable property names of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function shimKeys(object) { - var props = keysIn(object), - propsLength = props.length, - length = propsLength && object.length; - - var allowIndexes = !!length && isLength(length) && - (isArray(object) || isArguments(object)); - - var index = -1, - result = []; - - while (++index < propsLength) { - var key = props[index]; - if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) { - result.push(key); - } - } - return result; - } - - /** - * Converts `value` to an array-like object if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Array|Object} Returns the array-like object. - */ - function toIterable(value) { - if (value == null) { - return []; - } - if (!isArrayLike(value)) { - return values(value); - } - return isObject(value) ? value : Object(value); - } - - /** - * Converts `value` to an object if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Object} Returns the object. - */ - function toObject(value) { - return isObject(value) ? value : Object(value); - } - - /** - * Converts `value` to property path array if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Array} Returns the property path array. - */ - function toPath(value) { - if (isArray(value)) { - return value; - } - var result = []; - baseToString(value).replace(rePropName, function(match, number, quote, string) { - result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; - } - - /** - * Creates a clone of `wrapper`. - * - * @private - * @param {Object} wrapper The wrapper to clone. - * @returns {Object} Returns the cloned wrapper. - */ - function wrapperClone(wrapper) { - return wrapper instanceof LazyWrapper - ? wrapper.clone() - : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of elements split into groups the length of `size`. - * If `collection` can't be split evenly, the final chunk will be the remaining - * elements. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to process. - * @param {number} [size=1] The length of each chunk. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the new array containing chunks. - * @example - * - * _.chunk(['a', 'b', 'c', 'd'], 2); - * // => [['a', 'b'], ['c', 'd']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ - function chunk(array, size, guard) { - if (guard ? isIterateeCall(array, size, guard) : size == null) { - size = 1; - } else { - size = nativeMax(nativeFloor(size) || 1, 1); - } - var index = 0, - length = array ? array.length : 0, - resIndex = -1, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[++resIndex] = baseSlice(array, index, (index += size)); - } - return result; - } - - /** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ - function compact(array) { - var index = -1, - length = array ? array.length : 0, - resIndex = -1, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result[++resIndex] = value; - } - } - return result; - } - - /** - * Creates an array of unique `array` values not included in the other - * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The arrays of values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.difference([1, 2, 3], [4, 2]); - * // => [1, 3] - */ - var difference = restParam(function(array, values) { - return (isObjectLike(array) && isArrayLike(array)) - ? baseDifference(array, baseFlatten(values, false, true)) - : []; - }); - - /** - * Creates a slice of `array` with `n` elements dropped from the beginning. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.drop([1, 2, 3]); - * // => [2, 3] - * - * _.drop([1, 2, 3], 2); - * // => [3] - * - * _.drop([1, 2, 3], 5); - * // => [] - * - * _.drop([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function drop(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - return baseSlice(array, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with `n` elements dropped from the end. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRight([1, 2, 3]); - * // => [1, 2] - * - * _.dropRight([1, 2, 3], 2); - * // => [1] - * - * _.dropRight([1, 2, 3], 5); - * // => [] - * - * _.dropRight([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function dropRight(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - n = length - (+n || 0); - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` excluding elements dropped from the end. - * Elements are dropped until `predicate` returns falsey. The predicate is - * bound to `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that match the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRightWhile([1, 2, 3], function(n) { - * return n > 1; - * }); - * // => [1] - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.dropRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user'); - * // => ['barney', 'fred'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.dropRightWhile(users, 'active', false), 'user'); - * // => ['barney'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.dropRightWhile(users, 'active'), 'user'); - * // => ['barney', 'fred', 'pebbles'] - */ - function dropRightWhile(array, predicate, thisArg) { - return (array && array.length) - ? baseWhile(array, getCallback(predicate, thisArg, 3), true, true) - : []; - } - - /** - * Creates a slice of `array` excluding elements dropped from the beginning. - * Elements are dropped until `predicate` returns falsey. The predicate is - * bound to `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropWhile([1, 2, 3], function(n) { - * return n < 3; - * }); - * // => [3] - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.dropWhile(users, { 'user': 'barney', 'active': false }), 'user'); - * // => ['fred', 'pebbles'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.dropWhile(users, 'active', false), 'user'); - * // => ['pebbles'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.dropWhile(users, 'active'), 'user'); - * // => ['barney', 'fred', 'pebbles'] - */ - function dropWhile(array, predicate, thisArg) { - return (array && array.length) - ? baseWhile(array, getCallback(predicate, thisArg, 3), true) - : []; - } - - /** - * Fills elements of `array` with `value` from `start` up to, but not - * including, `end`. - * - * **Note:** This method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.fill(array, 'a'); - * console.log(array); - * // => ['a', 'a', 'a'] - * - * _.fill(Array(3), 2); - * // => [2, 2, 2] - * - * _.fill([4, 6, 8], '*', 1, 2); - * // => [4, '*', 8] - */ - function fill(array, value, start, end) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); - } - - /** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(chr) { - * return chr.user == 'barney'; - * }); - * // => 0 - * - * // using the `_.matches` callback shorthand - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // using the `_.matchesProperty` callback shorthand - * _.findIndex(users, 'active', false); - * // => 0 - * - * // using the `_.property` callback shorthand - * _.findIndex(users, 'active'); - * // => 2 - */ - var findIndex = createFindIndex(); - - /** - * This method is like `_.findIndex` except that it iterates over elements - * of `collection` from right to left. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.findLastIndex(users, function(chr) { - * return chr.user == 'pebbles'; - * }); - * // => 2 - * - * // using the `_.matches` callback shorthand - * _.findLastIndex(users, { 'user': 'barney', 'active': true }); - * // => 0 - * - * // using the `_.matchesProperty` callback shorthand - * _.findLastIndex(users, 'active', false); - * // => 2 - * - * // using the `_.property` callback shorthand - * _.findLastIndex(users, 'active'); - * // => 0 - */ - var findLastIndex = createFindIndex(true); - - /** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @alias head - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.first([1, 2, 3]); - * // => 1 - * - * _.first([]); - * // => undefined - */ - function first(array) { - return array ? array[0] : undefined; - } - - /** - * Flattens a nested array. If `isDeep` is `true` the array is recursively - * flattened, otherwise it is only flattened a single level. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to flatten. - * @param {boolean} [isDeep] Specify a deep flatten. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, 3, [4]]]); - * // => [1, 2, 3, [4]] - * - * // using `isDeep` - * _.flatten([1, [2, 3, [4]]], true); - * // => [1, 2, 3, 4] - */ - function flatten(array, isDeep, guard) { - var length = array ? array.length : 0; - if (guard && isIterateeCall(array, isDeep, guard)) { - isDeep = false; - } - return length ? baseFlatten(array, isDeep) : []; - } - - /** - * Recursively flattens a nested array. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to recursively flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, 3, [4]]]); - * // => [1, 2, 3, 4] - */ - function flattenDeep(array) { - var length = array ? array.length : 0; - return length ? baseFlatten(array, true) : []; - } - - /** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it is used as the offset - * from the end of `array`. If `array` is sorted providing `true` for `fromIndex` - * performs a faster binary search. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {*} value The value to search for. - * @param {boolean|number} [fromIndex=0] The index to search from or `true` - * to perform a binary search on a sorted array. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // using `fromIndex` - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - * - * // performing a binary search - * _.indexOf([1, 1, 2, 2], 2, true); - * // => 2 - */ - function indexOf(array, value, fromIndex) { - var length = array ? array.length : 0; - if (!length) { - return -1; - } - if (typeof fromIndex == 'number') { - fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex; - } else if (fromIndex) { - var index = binaryIndex(array, value); - if (index < length && - (value === value ? (value === array[index]) : (array[index] !== array[index]))) { - return index; - } - return -1; - } - return baseIndexOf(array, value, fromIndex || 0); - } - - /** - * Gets all but the last element of `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.initial([1, 2, 3]); - * // => [1, 2] - */ - function initial(array) { - return dropRight(array, 1); - } - - /** - * Creates an array of unique values that are included in all of the provided - * arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of shared values. - * @example - * _.intersection([1, 2], [4, 2], [2, 1]); - * // => [2] - */ - var intersection = restParam(function(arrays) { - var othLength = arrays.length, - othIndex = othLength, - caches = Array(length), - indexOf = getIndexOf(), - isCommon = indexOf == baseIndexOf, - result = []; - - while (othIndex--) { - var value = arrays[othIndex] = isArrayLike(value = arrays[othIndex]) ? value : []; - caches[othIndex] = (isCommon && value.length >= 120) ? createCache(othIndex && value) : null; - } - var array = arrays[0], - index = -1, - length = array ? array.length : 0, - seen = caches[0]; - - outer: - while (++index < length) { - value = array[index]; - if ((seen ? cacheIndexOf(seen, value) : indexOf(result, value, 0)) < 0) { - var othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if ((cache ? cacheIndexOf(cache, value) : indexOf(arrays[othIndex], value, 0)) < 0) { - continue outer; - } - } - if (seen) { - seen.push(value); - } - result.push(value); - } - } - return result; - }); - - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { - var length = array ? array.length : 0; - return length ? array[length - 1] : undefined; - } - - /** - * This method is like `_.indexOf` except that it iterates over elements of - * `array` from right to left. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {*} value The value to search for. - * @param {boolean|number} [fromIndex=array.length-1] The index to search from - * or `true` to perform a binary search on a sorted array. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.lastIndexOf([1, 2, 1, 2], 2); - * // => 3 - * - * // using `fromIndex` - * _.lastIndexOf([1, 2, 1, 2], 2, 2); - * // => 1 - * - * // performing a binary search - * _.lastIndexOf([1, 1, 2, 2], 2, true); - * // => 3 - */ - function lastIndexOf(array, value, fromIndex) { - var length = array ? array.length : 0; - if (!length) { - return -1; - } - var index = length; - if (typeof fromIndex == 'number') { - index = (fromIndex < 0 ? nativeMax(length + fromIndex, 0) : nativeMin(fromIndex || 0, length - 1)) + 1; - } else if (fromIndex) { - index = binaryIndex(array, value, true) - 1; - var other = array[index]; - if (value === value ? (value === other) : (other !== other)) { - return index; - } - return -1; - } - if (value !== value) { - return indexOfNaN(array, index, true); - } - while (index--) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * Removes all provided values from `array` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.without`, this method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to modify. - * @param {...*} [values] The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3, 1, 2, 3]; - * - * _.pull(array, 2, 3); - * console.log(array); - * // => [1, 1] - */ - function pull() { - var args = arguments, - array = args[0]; - - if (!(array && array.length)) { - return array; - } - var index = 0, - indexOf = getIndexOf(), - length = args.length; - - while (++index < length) { - var fromIndex = 0, - value = args[index]; - - while ((fromIndex = indexOf(array, value, fromIndex)) > -1) { - splice.call(array, fromIndex, 1); - } - } - return array; - } - - /** - * Removes elements from `array` corresponding to the given indexes and returns - * an array of the removed elements. Indexes may be specified as an array of - * indexes or as individual arguments. - * - * **Note:** Unlike `_.at`, this method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to modify. - * @param {...(number|number[])} [indexes] The indexes of elements to remove, - * specified as individual indexes or arrays of indexes. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [5, 10, 15, 20]; - * var evens = _.pullAt(array, 1, 3); - * - * console.log(array); - * // => [5, 15] - * - * console.log(evens); - * // => [10, 20] - */ - var pullAt = restParam(function(array, indexes) { - indexes = baseFlatten(indexes); - - var result = baseAt(array, indexes); - basePullAt(array, indexes.sort(baseCompareAscending)); - return result; - }); - - /** - * Removes all elements from `array` that `predicate` returns truthy for - * and returns an array of the removed elements. The predicate is bound to - * `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * **Note:** Unlike `_.filter`, this method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to modify. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [1, 2, 3, 4]; - * var evens = _.remove(array, function(n) { - * return n % 2 == 0; - * }); - * - * console.log(array); - * // => [1, 3] - * - * console.log(evens); - * // => [2, 4] - */ - function remove(array, predicate, thisArg) { - var result = []; - if (!(array && array.length)) { - return result; - } - var index = -1, - indexes = [], - length = array.length; - - predicate = getCallback(predicate, thisArg, 3); - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result.push(value); - indexes.push(index); - } - } - basePullAt(array, indexes); - return result; - } - - /** - * Gets all but the first element of `array`. - * - * @static - * @memberOf _ - * @alias tail - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.rest([1, 2, 3]); - * // => [2, 3] - */ - function rest(array) { - return drop(array, 1); - } - - /** - * Creates a slice of `array` from `start` up to, but not including, `end`. - * - * **Note:** This method is used instead of `Array#slice` to support node - * lists in IE < 9 and to ensure dense arrays are returned. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function slice(array, start, end) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { - start = 0; - end = length; - } - return baseSlice(array, start, end); - } - - /** - * Uses a binary search to determine the lowest index at which `value` should - * be inserted into `array` in order to maintain its sort order. If an iteratee - * function is provided it is invoked for `value` and each element of `array` - * to compute their sort ranking. The iteratee is bound to `thisArg` and - * invoked with one argument; (value). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedIndex([30, 50], 40); - * // => 1 - * - * _.sortedIndex([4, 4, 5, 5], 5); - * // => 2 - * - * var dict = { 'data': { 'thirty': 30, 'forty': 40, 'fifty': 50 } }; - * - * // using an iteratee function - * _.sortedIndex(['thirty', 'fifty'], 'forty', function(word) { - * return this.data[word]; - * }, dict); - * // => 1 - * - * // using the `_.property` callback shorthand - * _.sortedIndex([{ 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x'); - * // => 1 - */ - var sortedIndex = createSortedIndex(); - - /** - * This method is like `_.sortedIndex` except that it returns the highest - * index at which `value` should be inserted into `array` in order to - * maintain its sort order. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedLastIndex([4, 4, 5, 5], 5); - * // => 4 - */ - var sortedLastIndex = createSortedIndex(true); - - /** - * Creates a slice of `array` with `n` elements taken from the beginning. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.take([1, 2, 3]); - * // => [1] - * - * _.take([1, 2, 3], 2); - * // => [1, 2] - * - * _.take([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.take([1, 2, 3], 0); - * // => [] - */ - function take(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with `n` elements taken from the end. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRight([1, 2, 3]); - * // => [3] - * - * _.takeRight([1, 2, 3], 2); - * // => [2, 3] - * - * _.takeRight([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.takeRight([1, 2, 3], 0); - * // => [] - */ - function takeRight(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - n = length - (+n || 0); - return baseSlice(array, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with elements taken from the end. Elements are - * taken until `predicate` returns falsey. The predicate is bound to `thisArg` - * and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRightWhile([1, 2, 3], function(n) { - * return n > 1; - * }); - * // => [2, 3] - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.takeRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user'); - * // => ['pebbles'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.takeRightWhile(users, 'active', false), 'user'); - * // => ['fred', 'pebbles'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.takeRightWhile(users, 'active'), 'user'); - * // => [] - */ - function takeRightWhile(array, predicate, thisArg) { - return (array && array.length) - ? baseWhile(array, getCallback(predicate, thisArg, 3), false, true) - : []; - } - - /** - * Creates a slice of `array` with elements taken from the beginning. Elements - * are taken until `predicate` returns falsey. The predicate is bound to - * `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeWhile([1, 2, 3], function(n) { - * return n < 3; - * }); - * // => [1, 2] - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false}, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.takeWhile(users, { 'user': 'barney', 'active': false }), 'user'); - * // => ['barney'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.takeWhile(users, 'active', false), 'user'); - * // => ['barney', 'fred'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.takeWhile(users, 'active'), 'user'); - * // => [] - */ - function takeWhile(array, predicate, thisArg) { - return (array && array.length) - ? baseWhile(array, getCallback(predicate, thisArg, 3)) - : []; - } - - /** - * Creates an array of unique values, in order, from all of the provided arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.union([1, 2], [4, 2], [2, 1]); - * // => [1, 2, 4] - */ - var union = restParam(function(arrays) { - return baseUniq(baseFlatten(arrays, false, true)); - }); - - /** - * Creates a duplicate-free version of an array, using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons, in which only the first occurence of each element - * is kept. Providing `true` for `isSorted` performs a faster search algorithm - * for sorted arrays. If an iteratee function is provided it is invoked for - * each element in the array to generate the criterion by which uniqueness - * is computed. The `iteratee` is bound to `thisArg` and invoked with three - * arguments: (value, index, array). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias unique - * @category Array - * @param {Array} array The array to inspect. - * @param {boolean} [isSorted] Specify the array is sorted. - * @param {Function|Object|string} [iteratee] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new duplicate-value-free array. - * @example - * - * _.uniq([2, 1, 2]); - * // => [2, 1] - * - * // using `isSorted` - * _.uniq([1, 1, 2], true); - * // => [1, 2] - * - * // using an iteratee function - * _.uniq([1, 2.5, 1.5, 2], function(n) { - * return this.floor(n); - * }, Math); - * // => [1, 2.5] - * - * // using the `_.property` callback shorthand - * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - function uniq(array, isSorted, iteratee, thisArg) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (isSorted != null && typeof isSorted != 'boolean') { - thisArg = iteratee; - iteratee = isIterateeCall(array, isSorted, thisArg) ? undefined : isSorted; - isSorted = false; - } - var callback = getCallback(); - if (!(iteratee == null && callback === baseCallback)) { - iteratee = callback(iteratee, thisArg, 3); - } - return (isSorted && getIndexOf() == baseIndexOf) - ? sortedUniq(array, iteratee) - : baseUniq(array, iteratee); - } - - /** - * This method is like `_.zip` except that it accepts an array of grouped - * elements and creates an array regrouping the elements to their pre-zip - * configuration. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array of grouped elements to process. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip(['fred', 'barney'], [30, 40], [true, false]); - * // => [['fred', 30, true], ['barney', 40, false]] - * - * _.unzip(zipped); - * // => [['fred', 'barney'], [30, 40], [true, false]] - */ - function unzip(array) { - if (!(array && array.length)) { - return []; - } - var index = -1, - length = 0; - - array = arrayFilter(array, function(group) { - if (isArrayLike(group)) { - length = nativeMax(group.length, length); - return true; - } - }); - var result = Array(length); - while (++index < length) { - result[index] = arrayMap(array, baseProperty(index)); - } - return result; - } - - /** - * This method is like `_.unzip` except that it accepts an iteratee to specify - * how regrouped values should be combined. The `iteratee` is bound to `thisArg` - * and invoked with four arguments: (accumulator, value, index, group). - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array of grouped elements to process. - * @param {Function} [iteratee] The function to combine regrouped values. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip([1, 2], [10, 20], [100, 200]); - * // => [[1, 10, 100], [2, 20, 200]] - * - * _.unzipWith(zipped, _.add); - * // => [3, 30, 300] - */ - function unzipWith(array, iteratee, thisArg) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - var result = unzip(array); - if (iteratee == null) { - return result; - } - iteratee = bindCallback(iteratee, thisArg, 4); - return arrayMap(result, function(group) { - return arrayReduce(group, iteratee, undefined, true); - }); - } - - /** - * Creates an array excluding all provided values using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to filter. - * @param {...*} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.without([1, 2, 1, 3], 1, 2); - * // => [3] - */ - var without = restParam(function(array, values) { - return isArrayLike(array) - ? baseDifference(array, values) - : []; - }); - - /** - * Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) - * of the provided arrays. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of values. - * @example - * - * _.xor([1, 2], [4, 2]); - * // => [1, 4] - */ - function xor() { - var index = -1, - length = arguments.length; - - while (++index < length) { - var array = arguments[index]; - if (isArrayLike(array)) { - var result = result - ? arrayPush(baseDifference(result, array), baseDifference(array, result)) - : array; - } - } - return result ? baseUniq(result) : []; - } - - /** - * Creates an array of grouped elements, the first of which contains the first - * elements of the given arrays, the second of which contains the second elements - * of the given arrays, and so on. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zip(['fred', 'barney'], [30, 40], [true, false]); - * // => [['fred', 30, true], ['barney', 40, false]] - */ - var zip = restParam(unzip); - - /** - * The inverse of `_.pairs`; this method returns an object composed from arrays - * of property names and values. Provide either a single two dimensional array, - * e.g. `[[key1, value1], [key2, value2]]` or two arrays, one of property names - * and one of corresponding values. - * - * @static - * @memberOf _ - * @alias object - * @category Array - * @param {Array} props The property names. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObject([['fred', 30], ['barney', 40]]); - * // => { 'fred': 30, 'barney': 40 } - * - * _.zipObject(['fred', 'barney'], [30, 40]); - * // => { 'fred': 30, 'barney': 40 } - */ - function zipObject(props, values) { - var index = -1, - length = props ? props.length : 0, - result = {}; - - if (length && !values && !isArray(props[0])) { - values = []; - } - while (++index < length) { - var key = props[index]; - if (values) { - result[key] = values[index]; - } else if (key) { - result[key[0]] = key[1]; - } - } - return result; - } - - /** - * This method is like `_.zip` except that it accepts an iteratee to specify - * how grouped values should be combined. The `iteratee` is bound to `thisArg` - * and invoked with four arguments: (accumulator, value, index, group). - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @param {Function} [iteratee] The function to combine grouped values. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zipWith([1, 2], [10, 20], [100, 200], _.add); - * // => [111, 222] - */ - var zipWith = restParam(function(arrays) { - var length = arrays.length, - iteratee = length > 2 ? arrays[length - 2] : undefined, - thisArg = length > 1 ? arrays[length - 1] : undefined; - - if (length > 2 && typeof iteratee == 'function') { - length -= 2; - } else { - iteratee = (length > 1 && typeof thisArg == 'function') ? (--length, thisArg) : undefined; - thisArg = undefined; - } - arrays.length = length; - return unzipWith(arrays, iteratee, thisArg); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object that wraps `value` with explicit method - * chaining enabled. - * - * @static - * @memberOf _ - * @category Chain - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _.chain(users) - * .sortBy('age') - * .map(function(chr) { - * return chr.user + ' is ' + chr.age; - * }) - * .first() - * .value(); - * // => 'pebbles is 1' - */ - function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; - } - - /** - * This method invokes `interceptor` and returns `value`. The interceptor is - * bound to `thisArg` and invoked with one argument; (value). The purpose of - * this method is to "tap into" a method chain in order to perform operations - * on intermediate results within the chain. - * - * @static - * @memberOf _ - * @category Chain - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @param {*} [thisArg] The `this` binding of `interceptor`. - * @returns {*} Returns `value`. - * @example - * - * _([1, 2, 3]) - * .tap(function(array) { - * array.pop(); - * }) - * .reverse() - * .value(); - * // => [2, 1] - */ - function tap(value, interceptor, thisArg) { - interceptor.call(thisArg, value); - return value; - } - - /** - * This method is like `_.tap` except that it returns the result of `interceptor`. - * - * @static - * @memberOf _ - * @category Chain - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @param {*} [thisArg] The `this` binding of `interceptor`. - * @returns {*} Returns the result of `interceptor`. - * @example - * - * _(' abc ') - * .chain() - * .trim() - * .thru(function(value) { - * return [value]; - * }) - * .value(); - * // => ['abc'] - */ - function thru(value, interceptor, thisArg) { - return interceptor.call(thisArg, value); - } - - /** - * Enables explicit method chaining on the wrapper object. - * - * @name chain - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // without explicit chaining - * _(users).first(); - * // => { 'user': 'barney', 'age': 36 } - * - * // with explicit chaining - * _(users).chain() - * .first() - * .pick('user') - * .value(); - * // => { 'user': 'barney' } - */ - function wrapperChain() { - return chain(this); - } - - /** - * Executes the chained sequence and returns the wrapped result. - * - * @name commit - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).push(3); - * - * console.log(array); - * // => [1, 2] - * - * wrapped = wrapped.commit(); - * console.log(array); - * // => [1, 2, 3] - * - * wrapped.last(); - * // => 3 - * - * console.log(array); - * // => [1, 2, 3] - */ - function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); - } - - /** - * Creates a new array joining a wrapped array with any additional arrays - * and/or values. - * - * @name concat - * @memberOf _ - * @category Chain - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var wrapped = _(array).concat(2, [3], [[4]]); - * - * console.log(wrapped.value()); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ - var wrapperConcat = restParam(function(values) { - values = baseFlatten(values); - return this.thru(function(array) { - return arrayConcat(isArray(array) ? array : [toObject(array)], values); - }); - }); - - /** - * Creates a clone of the chained sequence planting `value` as the wrapped value. - * - * @name plant - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).map(function(value) { - * return Math.pow(value, 2); - * }); - * - * var other = [3, 4]; - * var otherWrapped = wrapped.plant(other); - * - * otherWrapped.value(); - * // => [9, 16] - * - * wrapped.value(); - * // => [1, 4] - */ - function wrapperPlant(value) { - var result, - parent = this; - - while (parent instanceof baseLodash) { - var clone = wrapperClone(parent); - if (result) { - previous.__wrapped__ = clone; - } else { - result = clone; - } - var previous = clone; - parent = parent.__wrapped__; - } - previous.__wrapped__ = value; - return result; - } - - /** - * Reverses the wrapped array so the first element becomes the last, the - * second element becomes the second to last, and so on. - * - * **Note:** This method mutates the wrapped array. - * - * @name reverse - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new reversed `lodash` wrapper instance. - * @example - * - * var array = [1, 2, 3]; - * - * _(array).reverse().value() - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function wrapperReverse() { - var value = this.__wrapped__; - - var interceptor = function(value) { - return (wrapped && wrapped.__dir__ < 0) ? value : value.reverse(); - }; - if (value instanceof LazyWrapper) { - var wrapped = value; - if (this.__actions__.length) { - wrapped = new LazyWrapper(this); - } - wrapped = wrapped.reverse(); - wrapped.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined }); - return new LodashWrapper(wrapped, this.__chain__); - } - return this.thru(interceptor); - } - - /** - * Produces the result of coercing the unwrapped value to a string. - * - * @name toString - * @memberOf _ - * @category Chain - * @returns {string} Returns the coerced string value. - * @example - * - * _([1, 2, 3]).toString(); - * // => '1,2,3' - */ - function wrapperToString() { - return (this.value() + ''); - } - - /** - * Executes the chained sequence to extract the unwrapped value. - * - * @name value - * @memberOf _ - * @alias run, toJSON, valueOf - * @category Chain - * @returns {*} Returns the resolved unwrapped value. - * @example - * - * _([1, 2, 3]).value(); - * // => [1, 2, 3] - */ - function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of elements corresponding to the given keys, or indexes, - * of `collection`. Keys may be specified as individual arguments or as arrays - * of keys. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {...(number|number[]|string|string[])} [props] The property names - * or indexes of elements to pick, specified individually or in arrays. - * @returns {Array} Returns the new array of picked elements. - * @example - * - * _.at(['a', 'b', 'c'], [0, 2]); - * // => ['a', 'c'] - * - * _.at(['barney', 'fred', 'pebbles'], 0, 2); - * // => ['barney', 'pebbles'] - */ - var at = restParam(function(collection, props) { - return baseAt(collection, baseFlatten(props)); - }); - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` through `iteratee`. The corresponding value - * of each key is the number of times the key was returned by `iteratee`. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.countBy([4.3, 6.1, 6.4], function(n) { - * return Math.floor(n); - * }); - * // => { '4': 1, '6': 2 } - * - * _.countBy([4.3, 6.1, 6.4], function(n) { - * return this.floor(n); - * }, Math); - * // => { '4': 1, '6': 2 } - * - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ - var countBy = createAggregator(function(result, value, key) { - hasOwnProperty.call(result, key) ? ++result[key] : (result[key] = 1); - }); - - /** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * The predicate is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias all - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // using the `_.matchesProperty` callback shorthand - * _.every(users, 'active', false); - * // => true - * - * // using the `_.property` callback shorthand - * _.every(users, 'active'); - * // => false - */ - function every(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (thisArg && isIterateeCall(collection, predicate, thisArg)) { - predicate = undefined; - } - if (typeof predicate != 'function' || thisArg !== undefined) { - predicate = getCallback(predicate, thisArg, 3); - } - return func(collection, predicate); - } - - /** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is bound to `thisArg` and - * invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias select - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the new filtered array. - * @example - * - * _.filter([4, 5, 6], function(n) { - * return n % 2 == 0; - * }); - * // => [4, 6] - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.filter(users, { 'age': 36, 'active': true }), 'user'); - * // => ['barney'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.filter(users, 'active', false), 'user'); - * // => ['fred'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.filter(users, 'active'), 'user'); - * // => ['barney'] - */ - function filter(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayFilter : baseFilter; - predicate = getCallback(predicate, thisArg, 3); - return func(collection, predicate); - } - - /** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is bound to `thisArg` and - * invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias detect - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.result(_.find(users, function(chr) { - * return chr.age < 40; - * }), 'user'); - * // => 'barney' - * - * // using the `_.matches` callback shorthand - * _.result(_.find(users, { 'age': 1, 'active': true }), 'user'); - * // => 'pebbles' - * - * // using the `_.matchesProperty` callback shorthand - * _.result(_.find(users, 'active', false), 'user'); - * // => 'fred' - * - * // using the `_.property` callback shorthand - * _.result(_.find(users, 'active'), 'user'); - * // => 'barney' - */ - var find = createFind(baseEach); - - /** - * This method is like `_.find` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * _.findLast([1, 2, 3, 4], function(n) { - * return n % 2 == 1; - * }); - * // => 3 - */ - var findLast = createFind(baseEachRight, true); - - /** - * Performs a deep comparison between each element in `collection` and the - * source object, returning the first element that has equivalent property - * values. - * - * **Note:** This method supports comparing arrays, booleans, `Date` objects, - * numbers, `Object` objects, regexes, and strings. Objects are compared by - * their own, not inherited, enumerable properties. For comparing a single - * own or inherited property value see `_.matchesProperty`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Object} source The object of property values to match. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.result(_.findWhere(users, { 'age': 36, 'active': true }), 'user'); - * // => 'barney' - * - * _.result(_.findWhere(users, { 'age': 40, 'active': false }), 'user'); - * // => 'fred' - */ - function findWhere(collection, source) { - return find(collection, baseMatches(source)); - } - - /** - * Iterates over elements of `collection` invoking `iteratee` for each element. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). Iteratee functions may exit iteration early - * by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" property - * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn` - * may be used for object iteration. - * - * @static - * @memberOf _ - * @alias each - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array|Object|string} Returns `collection`. - * @example - * - * _([1, 2]).forEach(function(n) { - * console.log(n); - * }).value(); - * // => logs each value from left to right and returns the array - * - * _.forEach({ 'a': 1, 'b': 2 }, function(n, key) { - * console.log(n, key); - * }); - * // => logs each value-key pair and returns the object (iteration order is not guaranteed) - */ - var forEach = createForEach(arrayEach, baseEach); - - /** - * This method is like `_.forEach` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @alias eachRight - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array|Object|string} Returns `collection`. - * @example - * - * _([1, 2]).forEachRight(function(n) { - * console.log(n); - * }).value(); - * // => logs each value from right to left and returns the array - */ - var forEachRight = createForEach(arrayEachRight, baseEachRight); - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` through `iteratee`. The corresponding value - * of each key is an array of the elements responsible for generating the key. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([4.2, 6.1, 6.4], function(n) { - * return Math.floor(n); - * }); - * // => { '4': [4.2], '6': [6.1, 6.4] } - * - * _.groupBy([4.2, 6.1, 6.4], function(n) { - * return this.floor(n); - * }, Math); - * // => { '4': [4.2], '6': [6.1, 6.4] } - * - * // using the `_.property` callback shorthand - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ - var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - result[key] = [value]; - } - }); - - /** - * Checks if `value` is in `collection` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it is used as the offset - * from the end of `collection`. - * - * @static - * @memberOf _ - * @alias contains, include - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {*} target The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`. - * @returns {boolean} Returns `true` if a matching element is found, else `false`. - * @example - * - * _.includes([1, 2, 3], 1); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'user': 'fred', 'age': 40 }, 'fred'); - * // => true - * - * _.includes('pebbles', 'eb'); - * // => true - */ - function includes(collection, target, fromIndex, guard) { - var length = collection ? getLength(collection) : 0; - if (!isLength(length)) { - collection = values(collection); - length = collection.length; - } - if (typeof fromIndex != 'number' || (guard && isIterateeCall(target, fromIndex, guard))) { - fromIndex = 0; - } else { - fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : (fromIndex || 0); - } - return (typeof collection == 'string' || !isArray(collection) && isString(collection)) - ? (fromIndex <= length && collection.indexOf(target, fromIndex) > -1) - : (!!length && getIndexOf(collection, target, fromIndex) > -1); - } - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` through `iteratee`. The corresponding value - * of each key is the last element responsible for generating the key. The - * iteratee function is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * var keyData = [ - * { 'dir': 'left', 'code': 97 }, - * { 'dir': 'right', 'code': 100 } - * ]; - * - * _.indexBy(keyData, 'dir'); - * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } - * - * _.indexBy(keyData, function(object) { - * return String.fromCharCode(object.code); - * }); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - * - * _.indexBy(keyData, function(object) { - * return this.fromCharCode(object.code); - * }, String); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - */ - var indexBy = createAggregator(function(result, value, key) { - result[key] = value; - }); - - /** - * Invokes the method at `path` of each element in `collection`, returning - * an array of the results of each invoked method. Any additional arguments - * are provided to each invoked method. If `methodName` is a function it is - * invoked for, and `this` bound to, each element in `collection`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Array|Function|string} path The path of the method to invoke or - * the function invoked per iteration. - * @param {...*} [args] The arguments to invoke the method with. - * @returns {Array} Returns the array of results. - * @example - * - * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invoke([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ - var invoke = restParam(function(collection, path, args) { - var index = -1, - isFunc = typeof path == 'function', - isProp = isKey(path), - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value) { - var func = isFunc ? path : ((isProp && value != null) ? value[path] : undefined); - result[++index] = func ? func.apply(value, args) : invokePath(value, path, args); - }); - return result; - }); - - /** - * Creates an array of values by running each element in `collection` through - * `iteratee`. The `iteratee` is bound to `thisArg` and invoked with three - * arguments: (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`, - * `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`, - * `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`, - * `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`, - * `sum`, `uniq`, and `words` - * - * @static - * @memberOf _ - * @alias collect - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new mapped array. - * @example - * - * function timesThree(n) { - * return n * 3; - * } - * - * _.map([1, 2], timesThree); - * // => [3, 6] - * - * _.map({ 'a': 1, 'b': 2 }, timesThree); - * // => [3, 6] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // using the `_.property` callback shorthand - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */ - function map(collection, iteratee, thisArg) { - var func = isArray(collection) ? arrayMap : baseMap; - iteratee = getCallback(iteratee, thisArg, 3); - return func(collection, iteratee); - } - - /** - * Creates an array of elements split into two groups, the first of which - * contains elements `predicate` returns truthy for, while the second of which - * contains elements `predicate` returns falsey for. The predicate is bound - * to `thisArg` and invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the array of grouped elements. - * @example - * - * _.partition([1, 2, 3], function(n) { - * return n % 2; - * }); - * // => [[1, 3], [2]] - * - * _.partition([1.2, 2.3, 3.4], function(n) { - * return this.floor(n) % 2; - * }, Math); - * // => [[1.2, 3.4], [2.3]] - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true }, - * { 'user': 'pebbles', 'age': 1, 'active': false } - * ]; - * - * var mapper = function(array) { - * return _.pluck(array, 'user'); - * }; - * - * // using the `_.matches` callback shorthand - * _.map(_.partition(users, { 'age': 1, 'active': false }), mapper); - * // => [['pebbles'], ['barney', 'fred']] - * - * // using the `_.matchesProperty` callback shorthand - * _.map(_.partition(users, 'active', false), mapper); - * // => [['barney', 'pebbles'], ['fred']] - * - * // using the `_.property` callback shorthand - * _.map(_.partition(users, 'active'), mapper); - * // => [['fred'], ['barney', 'pebbles']] - */ - var partition = createAggregator(function(result, value, key) { - result[key ? 0 : 1].push(value); - }, function() { return [[], []]; }); - - /** - * Gets the property value of `path` from all elements in `collection`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Array|string} path The path of the property to pluck. - * @returns {Array} Returns the property values. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * _.pluck(users, 'user'); - * // => ['barney', 'fred'] - * - * var userIndex = _.indexBy(users, 'user'); - * _.pluck(userIndex, 'age'); - * // => [36, 40] (iteration order is not guaranteed) - */ - function pluck(collection, path) { - return map(collection, property(path)); - } - - /** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` through `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not provided the first element of `collection` is used as the initial - * value. The `iteratee` is bound to `thisArg` and invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `sortByAll`, - * and `sortByOrder` - * - * @static - * @memberOf _ - * @alias foldl, inject - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {*} Returns the accumulated value. - * @example - * - * _.reduce([1, 2], function(total, n) { - * return total + n; - * }); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2 }, function(result, n, key) { - * result[key] = n * 3; - * return result; - * }, {}); - * // => { 'a': 3, 'b': 6 } (iteration order is not guaranteed) - */ - var reduce = createReduce(arrayReduce, baseEach); - - /** - * This method is like `_.reduce` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @alias foldr - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {*} Returns the accumulated value. - * @example - * - * var array = [[0, 1], [2, 3], [4, 5]]; - * - * _.reduceRight(array, function(flattened, other) { - * return flattened.concat(other); - * }, []); - * // => [4, 5, 2, 3, 0, 1] - */ - var reduceRight = createReduce(arrayReduceRight, baseEachRight); - - /** - * The opposite of `_.filter`; this method returns the elements of `collection` - * that `predicate` does **not** return truthy for. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the new filtered array. - * @example - * - * _.reject([1, 2, 3, 4], function(n) { - * return n % 2 == 0; - * }); - * // => [1, 3] - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.reject(users, { 'age': 40, 'active': true }), 'user'); - * // => ['barney'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.reject(users, 'active', false), 'user'); - * // => ['fred'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.reject(users, 'active'), 'user'); - * // => ['barney'] - */ - function reject(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayFilter : baseFilter; - predicate = getCallback(predicate, thisArg, 3); - return func(collection, function(value, index, collection) { - return !predicate(value, index, collection); - }); - } - - /** - * Gets a random element or `n` random elements from a collection. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to sample. - * @param {number} [n] The number of elements to sample. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {*} Returns the random sample(s). - * @example - * - * _.sample([1, 2, 3, 4]); - * // => 2 - * - * _.sample([1, 2, 3, 4], 2); - * // => [3, 1] - */ - function sample(collection, n, guard) { - if (guard ? isIterateeCall(collection, n, guard) : n == null) { - collection = toIterable(collection); - var length = collection.length; - return length > 0 ? collection[baseRandom(0, length - 1)] : undefined; - } - var index = -1, - result = toArray(collection), - length = result.length, - lastIndex = length - 1; - - n = nativeMin(n < 0 ? 0 : (+n || 0), length); - while (++index < n) { - var rand = baseRandom(index, lastIndex), - value = result[rand]; - - result[rand] = result[index]; - result[index] = value; - } - result.length = n; - return result; - } - - /** - * Creates an array of shuffled values, using a version of the - * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - * @example - * - * _.shuffle([1, 2, 3, 4]); - * // => [4, 1, 3, 2] - */ - function shuffle(collection) { - return sample(collection, POSITIVE_INFINITY); - } - - /** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable properties for objects. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the size of `collection`. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */ - function size(collection) { - var length = collection ? getLength(collection) : 0; - return isLength(length) ? length : keys(collection).length; - } - - /** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * The function returns as soon as it finds a passing value and does not iterate - * over the entire collection. The predicate is bound to `thisArg` and invoked - * with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias any - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // using the `_.matchesProperty` callback shorthand - * _.some(users, 'active', false); - * // => true - * - * // using the `_.property` callback shorthand - * _.some(users, 'active'); - * // => true - */ - function some(collection, predicate, thisArg) { - var func = isArray(collection) ? arraySome : baseSome; - if (thisArg && isIterateeCall(collection, predicate, thisArg)) { - predicate = undefined; - } - if (typeof predicate != 'function' || thisArg !== undefined) { - predicate = getCallback(predicate, thisArg, 3); - } - return func(collection, predicate); - } - - /** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection through `iteratee`. This method performs - * a stable sort, that is, it preserves the original sort order of equal elements. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new sorted array. - * @example - * - * _.sortBy([1, 2, 3], function(n) { - * return Math.sin(n); - * }); - * // => [3, 1, 2] - * - * _.sortBy([1, 2, 3], function(n) { - * return this.sin(n); - * }, Math); - * // => [3, 1, 2] - * - * var users = [ - * { 'user': 'fred' }, - * { 'user': 'pebbles' }, - * { 'user': 'barney' } - * ]; - * - * // using the `_.property` callback shorthand - * _.pluck(_.sortBy(users, 'user'), 'user'); - * // => ['barney', 'fred', 'pebbles'] - */ - function sortBy(collection, iteratee, thisArg) { - if (collection == null) { - return []; - } - if (thisArg && isIterateeCall(collection, iteratee, thisArg)) { - iteratee = undefined; - } - var index = -1; - iteratee = getCallback(iteratee, thisArg, 3); - - var result = baseMap(collection, function(value, key, collection) { - return { 'criteria': iteratee(value, key, collection), 'index': ++index, 'value': value }; - }); - return baseSortBy(result, compareAscending); - } - - /** - * This method is like `_.sortBy` except that it can sort by multiple iteratees - * or property names. - * - * If a property name is provided for an iteratee the created `_.property` - * style callback returns the property value of the given element. - * - * If an object is provided for an iteratee the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {...(Function|Function[]|Object|Object[]|string|string[])} iteratees - * The iteratees to sort by, specified as individual values or arrays of values. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 42 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.map(_.sortByAll(users, ['user', 'age']), _.values); - * // => [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]] - * - * _.map(_.sortByAll(users, 'user', function(chr) { - * return Math.floor(chr.age / 10); - * }), _.values); - * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] - */ - var sortByAll = restParam(function(collection, iteratees) { - if (collection == null) { - return []; - } - var guard = iteratees[2]; - if (guard && isIterateeCall(iteratees[0], iteratees[1], guard)) { - iteratees.length = 1; - } - return baseSortByOrder(collection, baseFlatten(iteratees), []); - }); - - /** - * This method is like `_.sortByAll` except that it allows specifying the - * sort orders of the iteratees to sort by. If `orders` is unspecified, all - * values are sorted in ascending order. Otherwise, a value is sorted in - * ascending order if its corresponding order is "asc", and descending if "desc". - * - * If a property name is provided for an iteratee the created `_.property` - * style callback returns the property value of the given element. - * - * If an object is provided for an iteratee the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {boolean[]} [orders] The sort orders of `iteratees`. - * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 34 }, - * { 'user': 'fred', 'age': 42 }, - * { 'user': 'barney', 'age': 36 } - * ]; - * - * // sort by `user` in ascending order and by `age` in descending order - * _.map(_.sortByOrder(users, ['user', 'age'], ['asc', 'desc']), _.values); - * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] - */ - function sortByOrder(collection, iteratees, orders, guard) { - if (collection == null) { - return []; - } - if (guard && isIterateeCall(iteratees, orders, guard)) { - orders = undefined; - } - if (!isArray(iteratees)) { - iteratees = iteratees == null ? [] : [iteratees]; - } - if (!isArray(orders)) { - orders = orders == null ? [] : [orders]; - } - return baseSortByOrder(collection, iteratees, orders); - } - - /** - * Performs a deep comparison between each element in `collection` and the - * source object, returning an array of all elements that have equivalent - * property values. - * - * **Note:** This method supports comparing arrays, booleans, `Date` objects, - * numbers, `Object` objects, regexes, and strings. Objects are compared by - * their own, not inherited, enumerable properties. For comparing a single - * own or inherited property value see `_.matchesProperty`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Object} source The object of property values to match. - * @returns {Array} Returns the new filtered array. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false, 'pets': ['hoppy'] }, - * { 'user': 'fred', 'age': 40, 'active': true, 'pets': ['baby puss', 'dino'] } - * ]; - * - * _.pluck(_.where(users, { 'age': 36, 'active': false }), 'user'); - * // => ['barney'] - * - * _.pluck(_.where(users, { 'pets': ['dino'] }), 'user'); - * // => ['fred'] - */ - function where(collection, source) { - return filter(collection, baseMatches(source)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Gets the number of milliseconds that have elapsed since the Unix epoch - * (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @category Date - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => logs the number of milliseconds it took for the deferred function to be invoked - */ - var now = nativeNow || function() { - return new Date().getTime(); - }; - - /*------------------------------------------------------------------------*/ - - /** - * The opposite of `_.before`; this method creates a function that invokes - * `func` once it is called `n` or more times. - * - * @static - * @memberOf _ - * @category Function - * @param {number} n The number of calls before `func` is invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var saves = ['profile', 'settings']; - * - * var done = _.after(saves.length, function() { - * console.log('done saving!'); - * }); - * - * _.forEach(saves, function(type) { - * asyncSave({ 'type': type, 'complete': done }); - * }); - * // => logs 'done saving!' after the two async saves have completed - */ - function after(n, func) { - if (typeof func != 'function') { - if (typeof n == 'function') { - var temp = n; - n = func; - func = temp; - } else { - throw new TypeError(FUNC_ERROR_TEXT); - } - } - n = nativeIsFinite(n = +n) ? n : 0; - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; - } - - /** - * Creates a function that accepts up to `n` arguments ignoring any - * additional arguments. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to cap arguments for. - * @param {number} [n=func.length] The arity cap. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Function} Returns the new function. - * @example - * - * _.map(['6', '8', '10'], _.ary(parseInt, 1)); - * // => [6, 8, 10] - */ - function ary(func, n, guard) { - if (guard && isIterateeCall(func, n, guard)) { - n = undefined; - } - n = (func && n == null) ? func.length : nativeMax(+n || 0, 0); - return createWrapper(func, ARY_FLAG, undefined, undefined, undefined, undefined, n); - } - - /** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it is called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery('#add').on('click', _.before(5, addContactToList)); - * // => allows adding up to 4 contacts to the list - */ - function before(n, func) { - var result; - if (typeof func != 'function') { - if (typeof n == 'function') { - var temp = n; - n = func; - func = temp; - } else { - throw new TypeError(FUNC_ERROR_TEXT); - } - } - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and prepends any additional `_.bind` arguments to those provided to the - * bound function. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind` this method does not set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var greet = function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * }; - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // using placeholders - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ - var bind = restParam(function(func, thisArg, partials) { - var bitmask = BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, bind.placeholder); - bitmask |= PARTIAL_FLAG; - } - return createWrapper(func, bitmask, thisArg, partials, holders); - }); - - /** - * Binds methods of an object to the object itself, overwriting the existing - * method. Method names may be specified as individual arguments or as arrays - * of method names. If no method names are provided all enumerable function - * properties, own and inherited, of `object` are bound. - * - * **Note:** This method does not set the "length" property of bound functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Object} object The object to bind and assign the bound methods to. - * @param {...(string|string[])} [methodNames] The object method names to bind, - * specified as individual method names or arrays of method names. - * @returns {Object} Returns `object`. - * @example - * - * var view = { - * 'label': 'docs', - * 'onClick': function() { - * console.log('clicked ' + this.label); - * } - * }; - * - * _.bindAll(view); - * jQuery('#docs').on('click', view.onClick); - * // => logs 'clicked docs' when the element is clicked - */ - var bindAll = restParam(function(object, methodNames) { - methodNames = methodNames.length ? baseFlatten(methodNames) : functions(object); - - var index = -1, - length = methodNames.length; - - while (++index < length) { - var key = methodNames[index]; - object[key] = createWrapper(object[key], BIND_FLAG, object); - } - return object; - }); - - /** - * Creates a function that invokes the method at `object[key]` and prepends - * any additional `_.bindKey` arguments to those provided to the bound function. - * - * This method differs from `_.bind` by allowing bound functions to reference - * methods that may be redefined or don't yet exist. - * See [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) - * for more details. - * - * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * @static - * @memberOf _ - * @category Function - * @param {Object} object The object the method belongs to. - * @param {string} key The key of the method. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'user': 'fred', - * 'greet': function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * }; - * - * var bound = _.bindKey(object, 'greet', 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * object.greet = function(greeting, punctuation) { - * return greeting + 'ya ' + this.user + punctuation; - * }; - * - * bound('!'); - * // => 'hiya fred!' - * - * // using placeholders - * var bound = _.bindKey(object, 'greet', _, '!'); - * bound('hi'); - * // => 'hiya fred!' - */ - var bindKey = restParam(function(object, key, partials) { - var bitmask = BIND_FLAG | BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, bindKey.placeholder); - bitmask |= PARTIAL_FLAG; - } - return createWrapper(key, bitmask, object, partials, holders); - }); - - /** - * Creates a function that accepts one or more arguments of `func` that when - * called either invokes `func` returning its result, if all `func` arguments - * have been provided, or returns a function that accepts one or more of the - * remaining `func` arguments, and so on. The arity of `func` may be specified - * if `func.length` is not sufficient. - * - * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for provided arguments. - * - * **Note:** This method does not set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curry(abc); - * - * curried(1)(2)(3); - * // => [1, 2, 3] - * - * curried(1, 2)(3); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // using placeholders - * curried(1)(_, 3)(2); - * // => [1, 2, 3] - */ - var curry = createCurry(CURRY_FLAG); - - /** - * This method is like `_.curry` except that arguments are applied to `func` - * in the manner of `_.partialRight` instead of `_.partial`. - * - * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for provided arguments. - * - * **Note:** This method does not set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curryRight(abc); - * - * curried(3)(2)(1); - * // => [1, 2, 3] - * - * curried(2, 3)(1); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // using placeholders - * curried(3)(1, _)(2); - * // => [1, 2, 3] - */ - var curryRight = createCurry(CURRY_RIGHT_FLAG); - - /** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed invocations. Provide an options object to indicate that `func` - * should be invoked on the leading and/or trailing edge of the `wait` timeout. - * Subsequent calls to the debounced function return the result of the last - * `func` invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked - * on the trailing edge of the timeout only if the the debounced function is - * invoked more than once during the `wait` timeout. - * - * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options] The options object. - * @param {boolean} [options.leading=false] Specify invoking on the leading - * edge of the timeout. - * @param {number} [options.maxWait] The maximum time `func` is allowed to be - * delayed before it is invoked. - * @param {boolean} [options.trailing=true] Specify invoking on the trailing - * edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // avoid costly calculations while the window size is in flux - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // invoke `sendMail` when the click event is fired, debouncing subsequent calls - * jQuery('#postbox').on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // ensure `batchLog` is invoked once after 1 second of debounced calls - * var source = new EventSource('/stream'); - * jQuery(source).on('message', _.debounce(batchLog, 250, { - * 'maxWait': 1000 - * })); - * - * // cancel a debounced call - * var todoChanges = _.debounce(batchLog, 1000); - * Object.observe(models.todo, todoChanges); - * - * Object.observe(models, function(changes) { - * if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) { - * todoChanges.cancel(); - * } - * }, ['delete']); - * - * // ...at some point `models.todo` is changed - * models.todo.completed = true; - * - * // ...before 1 second has passed `models.todo` is deleted - * // which cancels the debounced `todoChanges` call - * delete models.todo; - */ - function debounce(func, wait, options) { - var args, - maxTimeoutId, - result, - stamp, - thisArg, - timeoutId, - trailingCall, - lastCalled = 0, - maxWait = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = wait < 0 ? 0 : (+wait || 0); - if (options === true) { - var leading = true; - trailing = false; - } else if (isObject(options)) { - leading = !!options.leading; - maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait); - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function cancel() { - if (timeoutId) { - clearTimeout(timeoutId); - } - if (maxTimeoutId) { - clearTimeout(maxTimeoutId); - } - lastCalled = 0; - maxTimeoutId = timeoutId = trailingCall = undefined; - } - - function complete(isCalled, id) { - if (id) { - clearTimeout(id); - } - maxTimeoutId = timeoutId = trailingCall = undefined; - if (isCalled) { - lastCalled = now(); - result = func.apply(thisArg, args); - if (!timeoutId && !maxTimeoutId) { - args = thisArg = undefined; - } - } - } - - function delayed() { - var remaining = wait - (now() - stamp); - if (remaining <= 0 || remaining > wait) { - complete(trailingCall, maxTimeoutId); - } else { - timeoutId = setTimeout(delayed, remaining); - } - } - - function maxDelayed() { - complete(trailing, timeoutId); - } - - function debounced() { - args = arguments; - stamp = now(); - thisArg = this; - trailingCall = trailing && (timeoutId || !leading); - - if (maxWait === false) { - var leadingCall = leading && !timeoutId; - } else { - if (!maxTimeoutId && !leading) { - lastCalled = stamp; - } - var remaining = maxWait - (stamp - lastCalled), - isCalled = remaining <= 0 || remaining > maxWait; - - if (isCalled) { - if (maxTimeoutId) { - maxTimeoutId = clearTimeout(maxTimeoutId); - } - lastCalled = stamp; - result = func.apply(thisArg, args); - } - else if (!maxTimeoutId) { - maxTimeoutId = setTimeout(maxDelayed, remaining); - } - } - if (isCalled && timeoutId) { - timeoutId = clearTimeout(timeoutId); - } - else if (!timeoutId && wait !== maxWait) { - timeoutId = setTimeout(delayed, wait); - } - if (leadingCall) { - isCalled = true; - result = func.apply(thisArg, args); - } - if (isCalled && !timeoutId && !maxTimeoutId) { - args = thisArg = undefined; - } - return result; - } - debounced.cancel = cancel; - return debounced; - } - - /** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it is invoked. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke the function with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // logs 'deferred' after one or more milliseconds - */ - var defer = restParam(function(func, args) { - return baseDelay(func, 1, args); - }); - - /** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it is invoked. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke the function with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => logs 'later' after one second - */ - var delay = restParam(function(func, wait, args) { - return baseDelay(func, wait, args); - }); - - /** - * Creates a function that returns the result of invoking the provided - * functions with the `this` binding of the created function, where each - * successive invocation is supplied the return value of the previous. - * - * @static - * @memberOf _ - * @category Function - * @param {...Function} [funcs] Functions to invoke. - * @returns {Function} Returns the new function. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flow(_.add, square); - * addSquare(1, 2); - * // => 9 - */ - var flow = createFlow(); - - /** - * This method is like `_.flow` except that it creates a function that - * invokes the provided functions from right to left. - * - * @static - * @memberOf _ - * @alias backflow, compose - * @category Function - * @param {...Function} [funcs] Functions to invoke. - * @returns {Function} Returns the new function. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flowRight(square, _.add); - * addSquare(1, 2); - * // => 9 - */ - var flowRight = createFlow(true); - - /** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is coerced to a string and used as the - * cache key. The `func` is invoked with the `this` binding of the memoized - * function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object) - * method interface of `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoizing function. - * @example - * - * var upperCase = _.memoize(function(string) { - * return string.toUpperCase(); - * }); - * - * upperCase('fred'); - * // => 'FRED' - * - * // modifying the result cache - * upperCase.cache.set('fred', 'BARNEY'); - * upperCase('fred'); - * // => 'BARNEY' - * - * // replacing `_.memoize.Cache` - * var object = { 'user': 'fred' }; - * var other = { 'user': 'barney' }; - * var identity = _.memoize(_.identity); - * - * identity(object); - * // => { 'user': 'fred' } - * identity(other); - * // => { 'user': 'fred' } - * - * _.memoize.Cache = WeakMap; - * var identity = _.memoize(_.identity); - * - * identity(object); - * // => { 'user': 'fred' } - * identity(other); - * // => { 'user': 'barney' } - */ - function memoize(func, resolver) { - if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result); - return result; - }; - memoized.cache = new memoize.Cache; - return memoized; - } - - /** - * Creates a function that runs each argument through a corresponding - * transform function. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to wrap. - * @param {...(Function|Function[])} [transforms] The functions to transform - * arguments, specified as individual functions or arrays of functions. - * @returns {Function} Returns the new function. - * @example - * - * function doubled(n) { - * return n * 2; - * } - * - * function square(n) { - * return n * n; - * } - * - * var modded = _.modArgs(function(x, y) { - * return [x, y]; - * }, square, doubled); - * - * modded(1, 2); - * // => [1, 4] - * - * modded(5, 10); - * // => [25, 20] - */ - var modArgs = restParam(function(func, transforms) { - transforms = baseFlatten(transforms); - if (typeof func != 'function' || !arrayEvery(transforms, baseIsFunction)) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = transforms.length; - return restParam(function(args) { - var index = nativeMin(args.length, length); - while (index--) { - args[index] = transforms[index](args[index]); - } - return func.apply(this, args); - }); - }); - - /** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ - function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function() { - return !predicate.apply(this, arguments); - }; - } - - /** - * Creates a function that is restricted to invoking `func` once. Repeat calls - * to the function return the value of the first call. The `func` is invoked - * with the `this` binding and arguments of the created function. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // `initialize` invokes `createApplication` once - */ - function once(func) { - return before(2, func); - } - - /** - * Creates a function that invokes `func` with `partial` arguments prepended - * to those provided to the new function. This method is like `_.bind` except - * it does **not** alter the `this` binding. - * - * The `_.partial.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method does not set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * var greet = function(greeting, name) { - * return greeting + ' ' + name; - * }; - * - * var sayHelloTo = _.partial(greet, 'hello'); - * sayHelloTo('fred'); - * // => 'hello fred' - * - * // using placeholders - * var greetFred = _.partial(greet, _, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - */ - var partial = createPartial(PARTIAL_FLAG); - - /** - * This method is like `_.partial` except that partially applied arguments - * are appended to those provided to the new function. - * - * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method does not set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * var greet = function(greeting, name) { - * return greeting + ' ' + name; - * }; - * - * var greetFred = _.partialRight(greet, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - * - * // using placeholders - * var sayHelloTo = _.partialRight(greet, 'hello', _); - * sayHelloTo('fred'); - * // => 'hello fred' - */ - var partialRight = createPartial(PARTIAL_RIGHT_FLAG); - - /** - * Creates a function that invokes `func` with arguments arranged according - * to the specified indexes where the argument value at the first index is - * provided as the first argument, the argument value at the second index is - * provided as the second argument, and so on. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to rearrange arguments for. - * @param {...(number|number[])} indexes The arranged argument indexes, - * specified as individual indexes or arrays of indexes. - * @returns {Function} Returns the new function. - * @example - * - * var rearged = _.rearg(function(a, b, c) { - * return [a, b, c]; - * }, 2, 0, 1); - * - * rearged('b', 'c', 'a') - * // => ['a', 'b', 'c'] - * - * var map = _.rearg(_.map, [1, 0]); - * map(function(n) { - * return n * 3; - * }, [1, 2, 3]); - * // => [3, 6, 9] - */ - var rearg = restParam(function(func, indexes) { - return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes)); - }); - - /** - * Creates a function that invokes `func` with the `this` binding of the - * created function and arguments from `start` and beyond provided as an array. - * - * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters). - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.restParam(function(what, names) { - * return what + ' ' + _.initial(names).join(', ') + - * (_.size(names) > 1 ? ', & ' : '') + _.last(names); - * }); - * - * say('hello', 'fred', 'barney', 'pebbles'); - * // => 'hello fred, barney, & pebbles' - */ - function restParam(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - rest = Array(length); - - while (++index < length) { - rest[index] = args[start + index]; - } - switch (start) { - case 0: return func.call(this, rest); - case 1: return func.call(this, args[0], rest); - case 2: return func.call(this, args[0], args[1], rest); - } - var otherArgs = Array(start + 1); - index = -1; - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = rest; - return func.apply(this, otherArgs); - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of the created - * function and an array of arguments much like [`Function#apply`](https://es5.github.io/#x15.3.4.3). - * - * **Note:** This method is based on the [spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator). - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to spread arguments over. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.spread(function(who, what) { - * return who + ' says ' + what; - * }); - * - * say(['fred', 'hello']); - * // => 'fred says hello' - * - * // with a Promise - * var numbers = Promise.all([ - * Promise.resolve(40), - * Promise.resolve(36) - * ]); - * - * numbers.then(_.spread(function(x, y) { - * return x + y; - * })); - * // => a Promise of 76 - */ - function spread(func) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function(array) { - return func.apply(this, array); - }; - } - - /** - * Creates a throttled function that only invokes `func` at most once per - * every `wait` milliseconds. The throttled function comes with a `cancel` - * method to cancel delayed invocations. Provide an options object to indicate - * that `func` should be invoked on the leading and/or trailing edge of the - * `wait` timeout. Subsequent calls to the throttled function return the - * result of the last `func` call. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked - * on the trailing edge of the timeout only if the the throttled function is - * invoked more than once during the `wait` timeout. - * - * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation) - * for details over the differences between `_.throttle` and `_.debounce`. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to throttle. - * @param {number} [wait=0] The number of milliseconds to throttle invocations to. - * @param {Object} [options] The options object. - * @param {boolean} [options.leading=true] Specify invoking on the leading - * edge of the timeout. - * @param {boolean} [options.trailing=true] Specify invoking on the trailing - * edge of the timeout. - * @returns {Function} Returns the new throttled function. - * @example - * - * // avoid excessively updating the position while scrolling - * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); - * - * // invoke `renewToken` when the click event is fired, but not more than once every 5 minutes - * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, { - * 'trailing': false - * })); - * - * // cancel a trailing throttled call - * jQuery(window).on('popstate', throttled.cancel); - */ - function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (options === false) { - leading = false; - } else if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { 'leading': leading, 'maxWait': +wait, 'trailing': trailing }); - } - - /** - * Creates a function that provides `value` to the wrapper function as its - * first argument. Any additional arguments provided to the function are - * appended to those provided to the wrapper function. The wrapper is invoked - * with the `this` binding of the created function. - * - * @static - * @memberOf _ - * @category Function - * @param {*} value The value to wrap. - * @param {Function} wrapper The wrapper function. - * @returns {Function} Returns the new function. - * @example - * - * var p = _.wrap(_.escape, function(func, text) { - * return '

    ' + func(text) + '

    '; - * }); - * - * p('fred, barney, & pebbles'); - * // => '

    fred, barney, & pebbles

    ' - */ - function wrap(value, wrapper) { - wrapper = wrapper == null ? identity : wrapper; - return createWrapper(wrapper, PARTIAL_FLAG, undefined, [value], []); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned, - * otherwise they are assigned by reference. If `customizer` is provided it is - * invoked to produce the cloned values. If `customizer` returns `undefined` - * cloning is handled by the method instead. The `customizer` is bound to - * `thisArg` and invoked with two argument; (value [, index|key, object]). - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm). - * The enumerable properties of `arguments` objects and objects created by - * constructors other than `Object` are cloned to plain `Object` objects. An - * empty object is returned for uncloneable values such as functions, DOM nodes, - * Maps, Sets, and WeakMaps. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @param {Function} [customizer] The function to customize cloning values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {*} Returns the cloned value. - * @example - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * var shallow = _.clone(users); - * shallow[0] === users[0]; - * // => true - * - * var deep = _.clone(users, true); - * deep[0] === users[0]; - * // => false - * - * // using a customizer callback - * var el = _.clone(document.body, function(value) { - * if (_.isElement(value)) { - * return value.cloneNode(false); - * } - * }); - * - * el === document.body - * // => false - * el.nodeName - * // => BODY - * el.childNodes.length; - * // => 0 - */ - function clone(value, isDeep, customizer, thisArg) { - if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) { - isDeep = false; - } - else if (typeof isDeep == 'function') { - thisArg = customizer; - customizer = isDeep; - isDeep = false; - } - return typeof customizer == 'function' - ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 1)) - : baseClone(value, isDeep); - } - - /** - * Creates a deep clone of `value`. If `customizer` is provided it is invoked - * to produce the cloned values. If `customizer` returns `undefined` cloning - * is handled by the method instead. The `customizer` is bound to `thisArg` - * and invoked with two argument; (value [, index|key, object]). - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm). - * The enumerable properties of `arguments` objects and objects created by - * constructors other than `Object` are cloned to plain `Object` objects. An - * empty object is returned for uncloneable values such as functions, DOM nodes, - * Maps, Sets, and WeakMaps. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to deep clone. - * @param {Function} [customizer] The function to customize cloning values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {*} Returns the deep cloned value. - * @example - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * var deep = _.cloneDeep(users); - * deep[0] === users[0]; - * // => false - * - * // using a customizer callback - * var el = _.cloneDeep(document.body, function(value) { - * if (_.isElement(value)) { - * return value.cloneNode(true); - * } - * }); - * - * el === document.body - * // => false - * el.nodeName - * // => BODY - * el.childNodes.length; - * // => 20 - */ - function cloneDeep(value, customizer, thisArg) { - return typeof customizer == 'function' - ? baseClone(value, true, bindCallback(customizer, thisArg, 1)) - : baseClone(value, true); - } - - /** - * Checks if `value` is greater than `other`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, else `false`. - * @example - * - * _.gt(3, 1); - * // => true - * - * _.gt(3, 3); - * // => false - * - * _.gt(1, 3); - * // => false - */ - function gt(value, other) { - return value > other; - } - - /** - * Checks if `value` is greater than or equal to `other`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than or equal to `other`, else `false`. - * @example - * - * _.gte(3, 1); - * // => true - * - * _.gte(3, 3); - * // => true - * - * _.gte(1, 3); - * // => false - */ - function gte(value, other) { - return value >= other; - } - - /** - * Checks if `value` is classified as an `arguments` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - function isArguments(value) { - return isObjectLike(value) && isArrayLike(value) && - hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); - } - - /** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(function() { return arguments; }()); - * // => false - */ - var isArray = nativeIsArray || function(value) { - return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag; - }; - - /** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ - function isBoolean(value) { - return value === true || value === false || (isObjectLike(value) && objToString.call(value) == boolTag); - } - - /** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ - function isDate(value) { - return isObjectLike(value) && objToString.call(value) == dateTag; - } - - /** - * Checks if `value` is a DOM element. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. - * @example - * - * _.isElement(document.body); - * // => true - * - * _.isElement(''); - * // => false - */ - function isElement(value) { - return !!value && value.nodeType === 1 && isObjectLike(value) && !isPlainObject(value); - } - - /** - * Checks if `value` is empty. A value is considered empty unless it is an - * `arguments` object, array, string, or jQuery-like collection with a length - * greater than `0` or an object with own enumerable properties. - * - * @static - * @memberOf _ - * @category Lang - * @param {Array|Object|string} value The value to inspect. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ - function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && (isArray(value) || isString(value) || isArguments(value) || - (isObjectLike(value) && isFunction(value.splice)))) { - return !value.length; - } - return !keys(value).length; - } - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. If `customizer` is provided it is invoked to compare values. - * If `customizer` returns `undefined` comparisons are handled by the method - * instead. The `customizer` is bound to `thisArg` and invoked with three - * arguments: (value, other [, index|key]). - * - * **Note:** This method supports comparing arrays, booleans, `Date` objects, - * numbers, `Object` objects, regexes, and strings. Objects are compared by - * their own, not inherited, enumerable properties. Functions and DOM nodes - * are **not** supported. Provide a customizer function to extend support - * for comparing other values. - * - * @static - * @memberOf _ - * @alias eq - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize value comparisons. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'user': 'fred' }; - * var other = { 'user': 'fred' }; - * - * object == other; - * // => false - * - * _.isEqual(object, other); - * // => true - * - * // using a customizer callback - * var array = ['hello', 'goodbye']; - * var other = ['hi', 'goodbye']; - * - * _.isEqual(array, other, function(value, other) { - * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) { - * return true; - * } - * }); - * // => true - */ - function isEqual(value, other, customizer, thisArg) { - customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined; - var result = customizer ? customizer(value, other) : undefined; - return result === undefined ? baseIsEqual(value, other, customizer) : !!result; - } - - /** - * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, - * `SyntaxError`, `TypeError`, or `URIError` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an error object, else `false`. - * @example - * - * _.isError(new Error); - * // => true - * - * _.isError(Error); - * // => false - */ - function isError(value) { - return isObjectLike(value) && typeof value.message == 'string' && objToString.call(value) == errorTag; - } - - /** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on [`Number.isFinite`](http://ecma-international.org/ecma-262/6.0/#sec-number.isfinite). - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(10); - * // => true - * - * _.isFinite('10'); - * // => false - * - * _.isFinite(true); - * // => false - * - * _.isFinite(Object(10)); - * // => false - * - * _.isFinite(Infinity); - * // => false - */ - function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); - } - - /** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - function isFunction(value) { - // The use of `Object#toString` avoids issues with the `typeof` operator - // in older versions of Chrome and Safari which return 'function' for regexes - // and Safari 8 equivalents which return 'object' for typed array constructors. - return isObject(value) && objToString.call(value) == funcTag; - } - - /** - * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. - * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(1); - * // => false - */ - function isObject(value) { - // Avoid a V8 JIT bug in Chrome 19-20. - // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); - } - - /** - * Performs a deep comparison between `object` and `source` to determine if - * `object` contains equivalent property values. If `customizer` is provided - * it is invoked to compare values. If `customizer` returns `undefined` - * comparisons are handled by the method instead. The `customizer` is bound - * to `thisArg` and invoked with three arguments: (value, other, index|key). - * - * **Note:** This method supports comparing properties of arrays, booleans, - * `Date` objects, numbers, `Object` objects, regexes, and strings. Functions - * and DOM nodes are **not** supported. Provide a customizer function to extend - * support for comparing other values. - * - * @static - * @memberOf _ - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Function} [customizer] The function to customize value comparisons. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * var object = { 'user': 'fred', 'age': 40 }; - * - * _.isMatch(object, { 'age': 40 }); - * // => true - * - * _.isMatch(object, { 'age': 36 }); - * // => false - * - * // using a customizer callback - * var object = { 'greeting': 'hello' }; - * var source = { 'greeting': 'hi' }; - * - * _.isMatch(object, source, function(value, other) { - * return _.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/) || undefined; - * }); - * // => true - */ - function isMatch(object, source, customizer, thisArg) { - customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined; - return baseIsMatch(object, getMatchData(source), customizer); - } - - /** - * Checks if `value` is `NaN`. - * - * **Note:** This method is not the same as [`isNaN`](https://es5.github.io/#x15.1.2.4) - * which returns `true` for `undefined` and other non-numeric values. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some host objects in IE. - return isNumber(value) && value != +value; - } - - /** - * Checks if `value` is a native function. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ - function isNative(value) { - if (value == null) { - return false; - } - if (isFunction(value)) { - return reIsNative.test(fnToString.call(value)); - } - return isObjectLike(value) && reIsHostCtor.test(value); - } - - /** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ - function isNull(value) { - return value === null; - } - - /** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified - * as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isNumber(8.4); - * // => true - * - * _.isNumber(NaN); - * // => true - * - * _.isNumber('8.4'); - * // => false - */ - function isNumber(value) { - return typeof value == 'number' || (isObjectLike(value) && objToString.call(value) == numberTag); - } - - /** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * **Note:** This method assumes objects created by the `Object` constructor - * have no inherited enumerable properties. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ - function isPlainObject(value) { - var Ctor; - - // Exit early for non `Object` objects. - if (!(isObjectLike(value) && objToString.call(value) == objectTag && !isArguments(value)) || - (!hasOwnProperty.call(value, 'constructor') && (Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor)))) { - return false; - } - // IE < 9 iterates inherited properties before own properties. If the first - // iterated property is an object's own property then there are no inherited - // enumerable properties. - var result; - // In most environments an object's own properties are iterated before - // its inherited properties. If the last iterated property is an object's - // own property then there are no inherited enumerable properties. - baseForIn(value, function(subValue, key) { - result = key; - }); - return result === undefined || hasOwnProperty.call(value, result); - } - - /** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ - function isRegExp(value) { - return isObject(value) && objToString.call(value) == regexpTag; - } - - /** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag); - } - - /** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ - function isTypedArray(value) { - return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)]; - } - - /** - * Checks if `value` is `undefined`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { - return value === undefined; - } - - /** - * Checks if `value` is less than `other`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, else `false`. - * @example - * - * _.lt(1, 3); - * // => true - * - * _.lt(3, 3); - * // => false - * - * _.lt(3, 1); - * // => false - */ - function lt(value, other) { - return value < other; - } - - /** - * Checks if `value` is less than or equal to `other`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than or equal to `other`, else `false`. - * @example - * - * _.lte(1, 3); - * // => true - * - * _.lte(3, 3); - * // => true - * - * _.lte(3, 1); - * // => false - */ - function lte(value, other) { - return value <= other; - } - - /** - * Converts `value` to an array. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Array} Returns the converted array. - * @example - * - * (function() { - * return _.toArray(arguments).slice(1); - * }(1, 2, 3)); - * // => [2, 3] - */ - function toArray(value) { - var length = value ? getLength(value) : 0; - if (!isLength(length)) { - return values(value); - } - if (!length) { - return []; - } - return arrayCopy(value); - } - - /** - * Converts `value` to a plain object flattening inherited enumerable - * properties of `value` to own properties of the plain object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Object} Returns the converted plain object. - * @example - * - * function Foo() { - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.assign({ 'a': 1 }, new Foo); - * // => { 'a': 1, 'b': 2 } - * - * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); - * // => { 'a': 1, 'b': 2, 'c': 3 } - */ - function toPlainObject(value) { - return baseCopy(value, keysIn(value)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Recursively merges own enumerable properties of the source object(s), that - * don't resolve to `undefined` into the destination object. Subsequent sources - * overwrite property assignments of previous sources. If `customizer` is - * provided it is invoked to produce the merged values of the destination and - * source properties. If `customizer` returns `undefined` merging is handled - * by the method instead. The `customizer` is bound to `thisArg` and invoked - * with five arguments: (objectValue, sourceValue, key, object, source). - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {Object} Returns `object`. - * @example - * - * var users = { - * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] - * }; - * - * var ages = { - * 'data': [{ 'age': 36 }, { 'age': 40 }] - * }; - * - * _.merge(users, ages); - * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] } - * - * // using a customizer callback - * var object = { - * 'fruits': ['apple'], - * 'vegetables': ['beet'] - * }; - * - * var other = { - * 'fruits': ['banana'], - * 'vegetables': ['carrot'] - * }; - * - * _.merge(object, other, function(a, b) { - * if (_.isArray(a)) { - * return a.concat(b); - * } - * }); - * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] } - */ - var merge = createAssigner(baseMerge); - - /** - * Assigns own enumerable properties of source object(s) to the destination - * object. Subsequent sources overwrite property assignments of previous sources. - * If `customizer` is provided it is invoked to produce the assigned values. - * The `customizer` is bound to `thisArg` and invoked with five arguments: - * (objectValue, sourceValue, key, object, source). - * - * **Note:** This method mutates `object` and is based on - * [`Object.assign`](http://ecma-international.org/ecma-262/6.0/#sec-object.assign). - * - * @static - * @memberOf _ - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {Object} Returns `object`. - * @example - * - * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' }); - * // => { 'user': 'fred', 'age': 40 } - * - * // using a customizer callback - * var defaults = _.partialRight(_.assign, function(value, other) { - * return _.isUndefined(value) ? other : value; - * }); - * - * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' }); - * // => { 'user': 'barney', 'age': 36 } - */ - var assign = createAssigner(function(object, source, customizer) { - return customizer - ? assignWith(object, source, customizer) - : baseAssign(object, source); - }); - - /** - * Creates an object that inherits from the given `prototype` object. If a - * `properties` object is provided its own enumerable properties are assigned - * to the created object. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ - function create(prototype, properties, guard) { - var result = baseCreate(prototype); - if (guard && isIterateeCall(prototype, properties, guard)) { - properties = undefined; - } - return properties ? baseAssign(result, properties) : result; - } - - /** - * Assigns own enumerable properties of source object(s) to the destination - * object for all destination properties that resolve to `undefined`. Once a - * property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' }); - * // => { 'user': 'barney', 'age': 36 } - */ - var defaults = createDefaults(assign, assignDefaults); - - /** - * This method is like `_.defaults` except that it recursively assigns - * default properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * _.defaultsDeep({ 'user': { 'name': 'barney' } }, { 'user': { 'name': 'fred', 'age': 36 } }); - * // => { 'user': { 'name': 'barney', 'age': 36 } } - * - */ - var defaultsDeep = createDefaults(merge, mergeDefaults); - - /** - * This method is like `_.find` except that it returns the key of the first - * element `predicate` returns truthy for instead of the element itself. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {string|undefined} Returns the key of the matched element, else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findKey(users, function(chr) { - * return chr.age < 40; - * }); - * // => 'barney' (iteration order is not guaranteed) - * - * // using the `_.matches` callback shorthand - * _.findKey(users, { 'age': 1, 'active': true }); - * // => 'pebbles' - * - * // using the `_.matchesProperty` callback shorthand - * _.findKey(users, 'active', false); - * // => 'fred' - * - * // using the `_.property` callback shorthand - * _.findKey(users, 'active'); - * // => 'barney' - */ - var findKey = createFindKey(baseForOwn); - - /** - * This method is like `_.findKey` except that it iterates over elements of - * a collection in the opposite order. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {string|undefined} Returns the key of the matched element, else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findLastKey(users, function(chr) { - * return chr.age < 40; - * }); - * // => returns `pebbles` assuming `_.findKey` returns `barney` - * - * // using the `_.matches` callback shorthand - * _.findLastKey(users, { 'age': 36, 'active': true }); - * // => 'barney' - * - * // using the `_.matchesProperty` callback shorthand - * _.findLastKey(users, 'active', false); - * // => 'fred' - * - * // using the `_.property` callback shorthand - * _.findLastKey(users, 'active'); - * // => 'pebbles' - */ - var findLastKey = createFindKey(baseForOwnRight); - - /** - * Iterates over own and inherited enumerable properties of an object invoking - * `iteratee` for each property. The `iteratee` is bound to `thisArg` and invoked - * with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns `object`. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forIn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => logs 'a', 'b', and 'c' (iteration order is not guaranteed) - */ - var forIn = createForIn(baseFor); - - /** - * This method is like `_.forIn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns `object`. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forInRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => logs 'c', 'b', and 'a' assuming `_.forIn ` logs 'a', 'b', and 'c' - */ - var forInRight = createForIn(baseForRight); - - /** - * Iterates over own enumerable properties of an object invoking `iteratee` - * for each property. The `iteratee` is bound to `thisArg` and invoked with - * three arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns `object`. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => logs 'a' and 'b' (iteration order is not guaranteed) - */ - var forOwn = createForOwn(baseForOwn); - - /** - * This method is like `_.forOwn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns `object`. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwnRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => logs 'b' and 'a' assuming `_.forOwn` logs 'a' and 'b' - */ - var forOwnRight = createForOwn(baseForOwnRight); - - /** - * Creates an array of function property names from all enumerable properties, - * own and inherited, of `object`. - * - * @static - * @memberOf _ - * @alias methods - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the new array of property names. - * @example - * - * _.functions(_); - * // => ['after', 'ary', 'assign', ...] - */ - function functions(object) { - return baseFunctions(object, keysIn(object)); - } - - /** - * Gets the property value at `path` of `object`. If the resolved value is - * `undefined` the `defaultValue` is used in its place. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned if the resolved value is `undefined`. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ - function get(object, path, defaultValue) { - var result = object == null ? undefined : baseGet(object, toPath(path), path + ''); - return result === undefined ? defaultValue : result; - } - - /** - * Checks if `path` is a direct property. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` is a direct property, else `false`. - * @example - * - * var object = { 'a': { 'b': { 'c': 3 } } }; - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b.c'); - * // => true - * - * _.has(object, ['a', 'b', 'c']); - * // => true - */ - function has(object, path) { - if (object == null) { - return false; - } - var result = hasOwnProperty.call(object, path); - if (!result && !isKey(path)) { - path = toPath(path); - object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); - if (object == null) { - return false; - } - path = last(path); - result = hasOwnProperty.call(object, path); - } - return result || (isLength(object.length) && isIndex(path, object.length) && - (isArray(object) || isArguments(object))); - } - - /** - * Creates an object composed of the inverted keys and values of `object`. - * If `object` contains duplicate values, subsequent values overwrite property - * assignments of previous values unless `multiValue` is `true`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to invert. - * @param {boolean} [multiValue] Allow multiple values per key. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invert(object); - * // => { '1': 'c', '2': 'b' } - * - * // with `multiValue` - * _.invert(object, true); - * // => { '1': ['a', 'c'], '2': ['b'] } - */ - function invert(object, multiValue, guard) { - if (guard && isIterateeCall(object, multiValue, guard)) { - multiValue = undefined; - } - var index = -1, - props = keys(object), - length = props.length, - result = {}; - - while (++index < length) { - var key = props[index], - value = object[key]; - - if (multiValue) { - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } - } - else { - result[value] = key; - } - } - return result; - } - - /** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys) - * for more details. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - var keys = !nativeKeys ? shimKeys : function(object) { - var Ctor = object == null ? undefined : object.constructor; - if ((typeof Ctor == 'function' && Ctor.prototype === object) || - (typeof object != 'function' && isArrayLike(object))) { - return shimKeys(object); - } - return isObject(object) ? nativeKeys(object) : []; - }; - - /** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ - function keysIn(object) { - if (object == null) { - return []; - } - if (!isObject(object)) { - object = Object(object); - } - var length = object.length; - length = (length && isLength(length) && - (isArray(object) || isArguments(object)) && length) || 0; - - var Ctor = object.constructor, - index = -1, - isProto = typeof Ctor == 'function' && Ctor.prototype === object, - result = Array(length), - skipIndexes = length > 0; - - while (++index < length) { - result[index] = (index + ''); - } - for (var key in object) { - if (!(skipIndexes && isIndex(key, length)) && - !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; - } - - /** - * The opposite of `_.mapValues`; this method creates an object with the - * same values as `object` and keys generated by running each own enumerable - * property of `object` through `iteratee`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the new mapped object. - * @example - * - * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { - * return key + value; - * }); - * // => { 'a1': 1, 'b2': 2 } - */ - var mapKeys = createObjectMapper(true); - - /** - * Creates an object with the same keys as `object` and values generated by - * running each own enumerable property of `object` through `iteratee`. The - * iteratee function is bound to `thisArg` and invoked with three arguments: - * (value, key, object). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the new mapped object. - * @example - * - * _.mapValues({ 'a': 1, 'b': 2 }, function(n) { - * return n * 3; - * }); - * // => { 'a': 3, 'b': 6 } - * - * var users = { - * 'fred': { 'user': 'fred', 'age': 40 }, - * 'pebbles': { 'user': 'pebbles', 'age': 1 } - * }; - * - * // using the `_.property` callback shorthand - * _.mapValues(users, 'age'); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - */ - var mapValues = createObjectMapper(); - - /** - * The opposite of `_.pick`; this method creates an object composed of the - * own and inherited enumerable properties of `object` that are not omitted. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {Function|...(string|string[])} [predicate] The function invoked per - * iteration or property names to omit, specified as individual property - * names or arrays of property names. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'user': 'fred', 'age': 40 }; - * - * _.omit(object, 'age'); - * // => { 'user': 'fred' } - * - * _.omit(object, _.isNumber); - * // => { 'user': 'fred' } - */ - var omit = restParam(function(object, props) { - if (object == null) { - return {}; - } - if (typeof props[0] != 'function') { - var props = arrayMap(baseFlatten(props), String); - return pickByArray(object, baseDifference(keysIn(object), props)); - } - var predicate = bindCallback(props[0], props[1], 3); - return pickByCallback(object, function(value, key, object) { - return !predicate(value, key, object); - }); - }); - - /** - * Creates a two dimensional array of the key-value pairs for `object`, - * e.g. `[[key1, value1], [key2, value2]]`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the new array of key-value pairs. - * @example - * - * _.pairs({ 'barney': 36, 'fred': 40 }); - * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed) - */ - function pairs(object) { - object = toObject(object); - - var index = -1, - props = keys(object), - length = props.length, - result = Array(length); - - while (++index < length) { - var key = props[index]; - result[index] = [key, object[key]]; - } - return result; - } - - /** - * Creates an object composed of the picked `object` properties. Property - * names may be specified as individual arguments or as arrays of property - * names. If `predicate` is provided it is invoked for each property of `object` - * picking the properties `predicate` returns truthy for. The predicate is - * bound to `thisArg` and invoked with three arguments: (value, key, object). - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {Function|...(string|string[])} [predicate] The function invoked per - * iteration or property names to pick, specified as individual property - * names or arrays of property names. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'user': 'fred', 'age': 40 }; - * - * _.pick(object, 'user'); - * // => { 'user': 'fred' } - * - * _.pick(object, _.isString); - * // => { 'user': 'fred' } - */ - var pick = restParam(function(object, props) { - if (object == null) { - return {}; - } - return typeof props[0] == 'function' - ? pickByCallback(object, bindCallback(props[0], props[1], 3)) - : pickByArray(object, baseFlatten(props)); - }); - - /** - * This method is like `_.get` except that if the resolved value is a function - * it is invoked with the `this` binding of its parent object and its result - * is returned. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to resolve. - * @param {*} [defaultValue] The value returned if the resolved value is `undefined`. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; - * - * _.result(object, 'a[0].b.c1'); - * // => 3 - * - * _.result(object, 'a[0].b.c2'); - * // => 4 - * - * _.result(object, 'a.b.c', 'default'); - * // => 'default' - * - * _.result(object, 'a.b.c', _.constant('default')); - * // => 'default' - */ - function result(object, path, defaultValue) { - var result = object == null ? undefined : object[path]; - if (result === undefined) { - if (object != null && !isKey(path, object)) { - path = toPath(path); - object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); - result = object == null ? undefined : object[last(path)]; - } - result = result === undefined ? defaultValue : result; - } - return isFunction(result) ? result.call(object) : result; - } - - /** - * Sets the property value of `path` on `object`. If a portion of `path` - * does not exist it is created. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to augment. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.set(object, 'a[0].b.c', 4); - * console.log(object.a[0].b.c); - * // => 4 - * - * _.set(object, 'x[0].y.z', 5); - * console.log(object.x[0].y.z); - * // => 5 - */ - function set(object, path, value) { - if (object == null) { - return object; - } - var pathKey = (path + ''); - path = (object[pathKey] != null || isKey(path, object)) ? [pathKey] : toPath(path); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = path[index]; - if (isObject(nested)) { - if (index == lastIndex) { - nested[key] = value; - } else if (nested[key] == null) { - nested[key] = isIndex(path[index + 1]) ? [] : {}; - } - } - nested = nested[key]; - } - return object; - } - - /** - * An alternative to `_.reduce`; this method transforms `object` to a new - * `accumulator` object which is the result of running each of its own enumerable - * properties through `iteratee`, with each invocation potentially mutating - * the `accumulator` object. The `iteratee` is bound to `thisArg` and invoked - * with four arguments: (accumulator, value, key, object). Iteratee functions - * may exit iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Array|Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The custom accumulator value. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {*} Returns the accumulated value. - * @example - * - * _.transform([2, 3, 4], function(result, n) { - * result.push(n *= n); - * return n % 2 == 0; - * }); - * // => [4, 9] - * - * _.transform({ 'a': 1, 'b': 2 }, function(result, n, key) { - * result[key] = n * 3; - * }); - * // => { 'a': 3, 'b': 6 } - */ - function transform(object, iteratee, accumulator, thisArg) { - var isArr = isArray(object) || isTypedArray(object); - iteratee = getCallback(iteratee, thisArg, 4); - - if (accumulator == null) { - if (isArr || isObject(object)) { - var Ctor = object.constructor; - if (isArr) { - accumulator = isArray(object) ? new Ctor : []; - } else { - accumulator = baseCreate(isFunction(Ctor) ? Ctor.prototype : undefined); - } - } else { - accumulator = {}; - } - } - (isArr ? arrayEach : baseForOwn)(object, function(value, index, object) { - return iteratee(accumulator, value, index, object); - }); - return accumulator; - } - - /** - * Creates an array of the own enumerable property values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.values(new Foo); - * // => [1, 2] (iteration order is not guaranteed) - * - * _.values('hi'); - * // => ['h', 'i'] - */ - function values(object) { - return baseValues(object, keys(object)); - } - - /** - * Creates an array of the own and inherited enumerable property values - * of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.valuesIn(new Foo); - * // => [1, 2, 3] (iteration order is not guaranteed) - */ - function valuesIn(object) { - return baseValues(object, keysIn(object)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Checks if `n` is between `start` and up to but not including, `end`. If - * `end` is not specified it is set to `start` with `start` then set to `0`. - * - * @static - * @memberOf _ - * @category Number - * @param {number} n The number to check. - * @param {number} [start=0] The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `n` is in the range, else `false`. - * @example - * - * _.inRange(3, 2, 4); - * // => true - * - * _.inRange(4, 8); - * // => true - * - * _.inRange(4, 2); - * // => false - * - * _.inRange(2, 2); - * // => false - * - * _.inRange(1.2, 2); - * // => true - * - * _.inRange(5.2, 4); - * // => false - */ - function inRange(value, start, end) { - start = +start || 0; - if (end === undefined) { - end = start; - start = 0; - } else { - end = +end || 0; - } - return value >= nativeMin(start, end) && value < nativeMax(start, end); - } - - /** - * Produces a random number between `min` and `max` (inclusive). If only one - * argument is provided a number between `0` and the given number is returned. - * If `floating` is `true`, or either `min` or `max` are floats, a floating-point - * number is returned instead of an integer. - * - * @static - * @memberOf _ - * @category Number - * @param {number} [min=0] The minimum possible value. - * @param {number} [max=1] The maximum possible value. - * @param {boolean} [floating] Specify returning a floating-point number. - * @returns {number} Returns the random number. - * @example - * - * _.random(0, 5); - * // => an integer between 0 and 5 - * - * _.random(5); - * // => also an integer between 0 and 5 - * - * _.random(5, true); - * // => a floating-point number between 0 and 5 - * - * _.random(1.2, 5.2); - * // => a floating-point number between 1.2 and 5.2 - */ - function random(min, max, floating) { - if (floating && isIterateeCall(min, max, floating)) { - max = floating = undefined; - } - var noMin = min == null, - noMax = max == null; - - if (floating == null) { - if (noMax && typeof min == 'boolean') { - floating = min; - min = 1; - } - else if (typeof max == 'boolean') { - floating = max; - noMax = true; - } - } - if (noMin && noMax) { - max = 1; - noMax = false; - } - min = +min || 0; - if (noMax) { - max = min; - min = 0; - } else { - max = +max || 0; - } - if (floating || min % 1 || max % 1) { - var rand = nativeRandom(); - return nativeMin(min + (rand * (max - min + parseFloat('1e-' + ((rand + '').length - 1)))), max); - } - return baseRandom(min, max); - } - - /*------------------------------------------------------------------------*/ - - /** - * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the camel cased string. - * @example - * - * _.camelCase('Foo Bar'); - * // => 'fooBar' - * - * _.camelCase('--foo-bar'); - * // => 'fooBar' - * - * _.camelCase('__foo_bar__'); - * // => 'fooBar' - */ - var camelCase = createCompounder(function(result, word, index) { - word = word.toLowerCase(); - return result + (index ? (word.charAt(0).toUpperCase() + word.slice(1)) : word); - }); - - /** - * Capitalizes the first character of `string`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to capitalize. - * @returns {string} Returns the capitalized string. - * @example - * - * _.capitalize('fred'); - * // => 'Fred' - */ - function capitalize(string) { - string = baseToString(string); - return string && (string.charAt(0).toUpperCase() + string.slice(1)); - } - - /** - * Deburrs `string` by converting [latin-1 supplementary letters](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) - * to basic latin letters and removing [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to deburr. - * @returns {string} Returns the deburred string. - * @example - * - * _.deburr('déjà vu'); - * // => 'deja vu' - */ - function deburr(string) { - string = baseToString(string); - return string && string.replace(reLatin1, deburrLetter).replace(reComboMark, ''); - } - - /** - * Checks if `string` ends with the given target string. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to search. - * @param {string} [target] The string to search for. - * @param {number} [position=string.length] The position to search from. - * @returns {boolean} Returns `true` if `string` ends with `target`, else `false`. - * @example - * - * _.endsWith('abc', 'c'); - * // => true - * - * _.endsWith('abc', 'b'); - * // => false - * - * _.endsWith('abc', 'b', 2); - * // => true - */ - function endsWith(string, target, position) { - string = baseToString(string); - target = (target + ''); - - var length = string.length; - position = position === undefined - ? length - : nativeMin(position < 0 ? 0 : (+position || 0), length); - - position -= target.length; - return position >= 0 && string.indexOf(target, position) == position; - } - - /** - * Converts the characters "&", "<", ">", '"', "'", and "\`", in `string` to - * their corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional characters - * use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. - * See [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * Backticks are escaped because in Internet Explorer < 9, they can break out - * of attribute values or HTML comments. See [#59](https://html5sec.org/#59), - * [#102](https://html5sec.org/#102), [#108](https://html5sec.org/#108), and - * [#133](https://html5sec.org/#133) of the [HTML5 Security Cheatsheet](https://html5sec.org/) - * for more details. - * - * When working with HTML you should always [quote attribute values](http://wonko.com/post/html-escaping) - * to reduce XSS vectors. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ - function escape(string) { - // Reset `lastIndex` because in IE < 9 `String#replace` does not. - string = baseToString(string); - return (string && reHasUnescapedHtml.test(string)) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; - } - - /** - * Escapes the `RegExp` special characters "\", "/", "^", "$", ".", "|", "?", - * "*", "+", "(", ")", "[", "]", "{" and "}" in `string`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escapeRegExp('[lodash](https://lodash.com/)'); - * // => '\[lodash\]\(https:\/\/lodash\.com\/\)' - */ - function escapeRegExp(string) { - string = baseToString(string); - return (string && reHasRegExpChars.test(string)) - ? string.replace(reRegExpChars, escapeRegExpChar) - : (string || '(?:)'); - } - - /** - * Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the kebab cased string. - * @example - * - * _.kebabCase('Foo Bar'); - * // => 'foo-bar' - * - * _.kebabCase('fooBar'); - * // => 'foo-bar' - * - * _.kebabCase('__foo_bar__'); - * // => 'foo-bar' - */ - var kebabCase = createCompounder(function(result, word, index) { - return result + (index ? '-' : '') + word.toLowerCase(); - }); - - /** - * Pads `string` on the left and right sides if it's shorter than `length`. - * Padding characters are truncated if they can't be evenly divided by `length`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.pad('abc', 8); - * // => ' abc ' - * - * _.pad('abc', 8, '_-'); - * // => '_-abc_-_' - * - * _.pad('abc', 3); - * // => 'abc' - */ - function pad(string, length, chars) { - string = baseToString(string); - length = +length; - - var strLength = string.length; - if (strLength >= length || !nativeIsFinite(length)) { - return string; - } - var mid = (length - strLength) / 2, - leftLength = nativeFloor(mid), - rightLength = nativeCeil(mid); - - chars = createPadding('', rightLength, chars); - return chars.slice(0, leftLength) + string + chars; - } - - /** - * Pads `string` on the left side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padLeft('abc', 6); - * // => ' abc' - * - * _.padLeft('abc', 6, '_-'); - * // => '_-_abc' - * - * _.padLeft('abc', 3); - * // => 'abc' - */ - var padLeft = createPadDir(); - - /** - * Pads `string` on the right side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padRight('abc', 6); - * // => 'abc ' - * - * _.padRight('abc', 6, '_-'); - * // => 'abc_-_' - * - * _.padRight('abc', 3); - * // => 'abc' - */ - var padRight = createPadDir(true); - - /** - * Converts `string` to an integer of the specified radix. If `radix` is - * `undefined` or `0`, a `radix` of `10` is used unless `value` is a hexadecimal, - * in which case a `radix` of `16` is used. - * - * **Note:** This method aligns with the [ES5 implementation](https://es5.github.io/#E) - * of `parseInt`. - * - * @static - * @memberOf _ - * @category String - * @param {string} string The string to convert. - * @param {number} [radix] The radix to interpret `value` by. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {number} Returns the converted integer. - * @example - * - * _.parseInt('08'); - * // => 8 - * - * _.map(['6', '08', '10'], _.parseInt); - * // => [6, 8, 10] - */ - function parseInt(string, radix, guard) { - // Firefox < 21 and Opera < 15 follow ES3 for `parseInt`. - // Chrome fails to trim leading whitespace characters. - // See https://code.google.com/p/v8/issues/detail?id=3109 for more details. - if (guard ? isIterateeCall(string, radix, guard) : radix == null) { - radix = 0; - } else if (radix) { - radix = +radix; - } - string = trim(string); - return nativeParseInt(string, radix || (reHasHexPrefix.test(string) ? 16 : 10)); - } - - /** - * Repeats the given string `n` times. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to repeat. - * @param {number} [n=0] The number of times to repeat the string. - * @returns {string} Returns the repeated string. - * @example - * - * _.repeat('*', 3); - * // => '***' - * - * _.repeat('abc', 2); - * // => 'abcabc' - * - * _.repeat('abc', 0); - * // => '' - */ - function repeat(string, n) { - var result = ''; - string = baseToString(string); - n = +n; - if (n < 1 || !string || !nativeIsFinite(n)) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - string += string; - } while (n); - - return result; - } - - /** - * Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the snake cased string. - * @example - * - * _.snakeCase('Foo Bar'); - * // => 'foo_bar' - * - * _.snakeCase('fooBar'); - * // => 'foo_bar' - * - * _.snakeCase('--foo-bar'); - * // => 'foo_bar' - */ - var snakeCase = createCompounder(function(result, word, index) { - return result + (index ? '_' : '') + word.toLowerCase(); - }); - - /** - * Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the start cased string. - * @example - * - * _.startCase('--foo-bar'); - * // => 'Foo Bar' - * - * _.startCase('fooBar'); - * // => 'Foo Bar' - * - * _.startCase('__foo_bar__'); - * // => 'Foo Bar' - */ - var startCase = createCompounder(function(result, word, index) { - return result + (index ? ' ' : '') + (word.charAt(0).toUpperCase() + word.slice(1)); - }); - - /** - * Checks if `string` starts with the given target string. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to search. - * @param {string} [target] The string to search for. - * @param {number} [position=0] The position to search from. - * @returns {boolean} Returns `true` if `string` starts with `target`, else `false`. - * @example - * - * _.startsWith('abc', 'a'); - * // => true - * - * _.startsWith('abc', 'b'); - * // => false - * - * _.startsWith('abc', 'b', 1); - * // => true - */ - function startsWith(string, target, position) { - string = baseToString(string); - position = position == null - ? 0 - : nativeMin(position < 0 ? 0 : (+position || 0), string.length); - - return string.lastIndexOf(target, position) == position; - } - - /** - * Creates a compiled template function that can interpolate data properties - * in "interpolate" delimiters, HTML-escape interpolated data properties in - * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data - * properties may be accessed as free variables in the template. If a setting - * object is provided it takes precedence over `_.templateSettings` values. - * - * **Note:** In the development build `_.template` utilizes - * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) - * for easier debugging. - * - * For more information on precompiling templates see - * [lodash's custom builds documentation](https://lodash.com/custom-builds). - * - * For more information on Chrome extension sandboxes see - * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The template string. - * @param {Object} [options] The options object. - * @param {RegExp} [options.escape] The HTML "escape" delimiter. - * @param {RegExp} [options.evaluate] The "evaluate" delimiter. - * @param {Object} [options.imports] An object to import into the template as free variables. - * @param {RegExp} [options.interpolate] The "interpolate" delimiter. - * @param {string} [options.sourceURL] The sourceURL of the template's compiled source. - * @param {string} [options.variable] The data object variable name. - * @param- {Object} [otherOptions] Enables the legacy `options` param signature. - * @returns {Function} Returns the compiled template function. - * @example - * - * // using the "interpolate" delimiter to create a compiled template - * var compiled = _.template('hello <%= user %>!'); - * compiled({ 'user': 'fred' }); - * // => 'hello fred!' - * - * // using the HTML "escape" delimiter to escape data property values - * var compiled = _.template('<%- value %>'); - * compiled({ 'value': ' - -``` - - -## API - -### Parsing - -Parsing a plist from filename: - -``` javascript -var fs = require('fs'); -var plist = require('plist'); - -var obj = plist.parse(fs.readFileSync('myPlist.plist', 'utf8')); -console.log(JSON.stringify(obj)); -``` - -Parsing a plist from string payload: - -``` javascript -var plist = require('plist'); - -var obj = plist.parse('Hello World!'); -console.log(obj); // Hello World! -``` - -### Building - -Given an existing JavaScript Object, you can turn it into an XML document -that complies with the plist DTD: - -``` javascript -var plist = require('plist'); - -console.log(plist.build({ foo: 'bar' })); -``` - - -## License - -(The MIT License) - -Copyright (c) 2010-2014 Nathan Rajlich - -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/demo/platforms/android/cordova/node_modules/plist/dist/plist-build.js b/demo/platforms/android/cordova/node_modules/plist/dist/plist-build.js deleted file mode 100644 index 4fcd378..0000000 --- a/demo/platforms/android/cordova/node_modules/plist/dist/plist-build.js +++ /dev/null @@ -1,3982 +0,0 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.plist = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // the number of equal signs (place holders) - // if there are two placeholders, than the two characters before it - // represent one byte - // if there is only one, then the three characters before it represent 2 bytes - // this is just a cheap hack to not do indexOf twice - var len = b64.length - placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0 - - // base64 is 4/3 + up to two characters of the original data - arr = new Arr(b64.length * 3 / 4 - placeHolders) - - // if there are placeholders, only get up to the last complete 4 chars - l = placeHolders > 0 ? b64.length - 4 : b64.length - - var L = 0 - - function push (v) { - arr[L++] = v - } - - for (i = 0, j = 0; i < l; i += 4, j += 3) { - tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3)) - push((tmp & 0xFF0000) >> 16) - push((tmp & 0xFF00) >> 8) - push(tmp & 0xFF) - } - - if (placeHolders === 2) { - tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4) - push(tmp & 0xFF) - } else if (placeHolders === 1) { - tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2) - push((tmp >> 8) & 0xFF) - push(tmp & 0xFF) - } - - return arr - } - - function uint8ToBase64 (uint8) { - var i, - extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes - output = "", - temp, length - - function encode (num) { - return lookup.charAt(num) - } - - function tripletToBase64 (num) { - return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F) - } - - // go through the array every three bytes, we'll deal with trailing stuff later - for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) { - temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) - output += tripletToBase64(temp) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - switch (extraBytes) { - case 1: - temp = uint8[uint8.length - 1] - output += encode(temp >> 2) - output += encode((temp << 4) & 0x3F) - output += '==' - break - case 2: - temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1]) - output += encode(temp >> 10) - output += encode((temp >> 4) & 0x3F) - output += encode((temp << 2) & 0x3F) - output += '=' - break - } - - return output - } - - exports.toByteArray = b64ToByteArray - exports.fromByteArray = uint8ToBase64 -}(typeof exports === 'undefined' ? (this.base64js = {}) : exports)) - -},{}],3:[function(require,module,exports){ -/** - * Determine if an object is Buffer - * - * Author: Feross Aboukhadijeh - * License: MIT - * - * `npm install is-buffer` - */ - -module.exports = function (obj) { - return !!(obj != null && - (obj._isBuffer || // For Safari 5-7 (missing Object.prototype.constructor) - (obj.constructor && - typeof obj.constructor.isBuffer === 'function' && - obj.constructor.isBuffer(obj)) - )) -} - -},{}],4:[function(require,module,exports){ -/** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ -function last(array) { - var length = array ? array.length : 0; - return length ? array[length - 1] : undefined; -} - -module.exports = last; - -},{}],5:[function(require,module,exports){ -var arrayEvery = require('../internal/arrayEvery'), - baseCallback = require('../internal/baseCallback'), - baseEvery = require('../internal/baseEvery'), - isArray = require('../lang/isArray'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * The predicate is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias all - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // using the `_.matchesProperty` callback shorthand - * _.every(users, 'active', false); - * // => true - * - * // using the `_.property` callback shorthand - * _.every(users, 'active'); - * // => false - */ -function every(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (thisArg && isIterateeCall(collection, predicate, thisArg)) { - predicate = undefined; - } - if (typeof predicate != 'function' || thisArg !== undefined) { - predicate = baseCallback(predicate, thisArg, 3); - } - return func(collection, predicate); -} - -module.exports = every; - -},{"../internal/arrayEvery":7,"../internal/baseCallback":11,"../internal/baseEvery":15,"../internal/isIterateeCall":40,"../lang/isArray":49}],6:[function(require,module,exports){ -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates a function that invokes `func` with the `this` binding of the - * created function and arguments from `start` and beyond provided as an array. - * - * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/Web/JavaScript/Reference/Functions/rest_parameters). - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.restParam(function(what, names) { - * return what + ' ' + _.initial(names).join(', ') + - * (_.size(names) > 1 ? ', & ' : '') + _.last(names); - * }); - * - * say('hello', 'fred', 'barney', 'pebbles'); - * // => 'hello fred, barney, & pebbles' - */ -function restParam(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - rest = Array(length); - - while (++index < length) { - rest[index] = args[start + index]; - } - switch (start) { - case 0: return func.call(this, rest); - case 1: return func.call(this, args[0], rest); - case 2: return func.call(this, args[0], args[1], rest); - } - var otherArgs = Array(start + 1); - index = -1; - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = rest; - return func.apply(this, otherArgs); - }; -} - -module.exports = restParam; - -},{}],7:[function(require,module,exports){ -/** - * A specialized version of `_.every` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ -function arrayEvery(array, predicate) { - var index = -1, - length = array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; -} - -module.exports = arrayEvery; - -},{}],8:[function(require,module,exports){ -/** - * A specialized version of `_.some` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ -function arraySome(array, predicate) { - var index = -1, - length = array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; -} - -module.exports = arraySome; - -},{}],9:[function(require,module,exports){ -var keys = require('../object/keys'); - -/** - * A specialized version of `_.assign` for customizing assigned values without - * support for argument juggling, multiple sources, and `this` binding `customizer` - * functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {Function} customizer The function to customize assigned values. - * @returns {Object} Returns `object`. - */ -function assignWith(object, source, customizer) { - var index = -1, - props = keys(source), - length = props.length; - - while (++index < length) { - var key = props[index], - value = object[key], - result = customizer(value, source[key], key, object, source); - - if ((result === result ? (result !== value) : (value === value)) || - (value === undefined && !(key in object))) { - object[key] = result; - } - } - return object; -} - -module.exports = assignWith; - -},{"../object/keys":58}],10:[function(require,module,exports){ -var baseCopy = require('./baseCopy'), - keys = require('../object/keys'); - -/** - * The base implementation of `_.assign` without support for argument juggling, - * multiple sources, and `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ -function baseAssign(object, source) { - return source == null - ? object - : baseCopy(source, keys(source), object); -} - -module.exports = baseAssign; - -},{"../object/keys":58,"./baseCopy":12}],11:[function(require,module,exports){ -var baseMatches = require('./baseMatches'), - baseMatchesProperty = require('./baseMatchesProperty'), - bindCallback = require('./bindCallback'), - identity = require('../utility/identity'), - property = require('../utility/property'); - -/** - * The base implementation of `_.callback` which supports specifying the - * number of arguments to provide to `func`. - * - * @private - * @param {*} [func=_.identity] The value to convert to a callback. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {number} [argCount] The number of arguments to provide to `func`. - * @returns {Function} Returns the callback. - */ -function baseCallback(func, thisArg, argCount) { - var type = typeof func; - if (type == 'function') { - return thisArg === undefined - ? func - : bindCallback(func, thisArg, argCount); - } - if (func == null) { - return identity; - } - if (type == 'object') { - return baseMatches(func); - } - return thisArg === undefined - ? property(func) - : baseMatchesProperty(func, thisArg); -} - -module.exports = baseCallback; - -},{"../utility/identity":61,"../utility/property":62,"./baseMatches":22,"./baseMatchesProperty":23,"./bindCallback":28}],12:[function(require,module,exports){ -/** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property names to copy. - * @param {Object} [object={}] The object to copy properties to. - * @returns {Object} Returns `object`. - */ -function baseCopy(source, props, object) { - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - object[key] = source[key]; - } - return object; -} - -module.exports = baseCopy; - -},{}],13:[function(require,module,exports){ -var isObject = require('../lang/isObject'); - -/** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} prototype The object to inherit from. - * @returns {Object} Returns the new object. - */ -var baseCreate = (function() { - function object() {} - return function(prototype) { - if (isObject(prototype)) { - object.prototype = prototype; - var result = new object; - object.prototype = undefined; - } - return result || {}; - }; -}()); - -module.exports = baseCreate; - -},{"../lang/isObject":53}],14:[function(require,module,exports){ -var baseForOwn = require('./baseForOwn'), - createBaseEach = require('./createBaseEach'); - -/** - * The base implementation of `_.forEach` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object|string} Returns `collection`. - */ -var baseEach = createBaseEach(baseForOwn); - -module.exports = baseEach; - -},{"./baseForOwn":17,"./createBaseEach":30}],15:[function(require,module,exports){ -var baseEach = require('./baseEach'); - -/** - * The base implementation of `_.every` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ -function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; -} - -module.exports = baseEvery; - -},{"./baseEach":14}],16:[function(require,module,exports){ -var createBaseFor = require('./createBaseFor'); - -/** - * The base implementation of `baseForIn` and `baseForOwn` which iterates - * over `object` properties returned by `keysFunc` invoking `iteratee` for - * each property. Iteratee functions may exit iteration early by explicitly - * returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ -var baseFor = createBaseFor(); - -module.exports = baseFor; - -},{"./createBaseFor":31}],17:[function(require,module,exports){ -var baseFor = require('./baseFor'), - keys = require('../object/keys'); - -/** - * The base implementation of `_.forOwn` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ -function baseForOwn(object, iteratee) { - return baseFor(object, iteratee, keys); -} - -module.exports = baseForOwn; - -},{"../object/keys":58,"./baseFor":16}],18:[function(require,module,exports){ -var toObject = require('./toObject'); - -/** - * The base implementation of `get` without support for string paths - * and default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path of the property to get. - * @param {string} [pathKey] The key representation of path. - * @returns {*} Returns the resolved value. - */ -function baseGet(object, path, pathKey) { - if (object == null) { - return; - } - if (pathKey !== undefined && pathKey in toObject(object)) { - path = [pathKey]; - } - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[path[index++]]; - } - return (index && index == length) ? object : undefined; -} - -module.exports = baseGet; - -},{"./toObject":46}],19:[function(require,module,exports){ -var baseIsEqualDeep = require('./baseIsEqualDeep'), - isObject = require('../lang/isObject'), - isObjectLike = require('./isObjectLike'); - -/** - * The base implementation of `_.isEqual` without support for `this` binding - * `customizer` functions. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparing values. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ -function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB); -} - -module.exports = baseIsEqual; - -},{"../lang/isObject":53,"./baseIsEqualDeep":20,"./isObjectLike":43}],20:[function(require,module,exports){ -var equalArrays = require('./equalArrays'), - equalByTag = require('./equalByTag'), - equalObjects = require('./equalObjects'), - isArray = require('../lang/isArray'), - isTypedArray = require('../lang/isTypedArray'); - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - objectTag = '[object Object]'; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing objects. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA=[]] Tracks traversed `value` objects. - * @param {Array} [stackB=[]] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = arrayTag, - othTag = arrayTag; - - if (!objIsArr) { - objTag = objToString.call(object); - if (objTag == argsTag) { - objTag = objectTag; - } else if (objTag != objectTag) { - objIsArr = isTypedArray(object); - } - } - if (!othIsArr) { - othTag = objToString.call(other); - if (othTag == argsTag) { - othTag = objectTag; - } else if (othTag != objectTag) { - othIsArr = isTypedArray(other); - } - } - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && !(objIsArr || objIsObj)) { - return equalByTag(object, other, objTag); - } - if (!isLoose) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB); - } - } - if (!isSameTag) { - return false; - } - // Assume cyclic values are equal. - // For more information on detecting circular references see https://es5.github.io/#JO. - stackA || (stackA = []); - stackB || (stackB = []); - - var length = stackA.length; - while (length--) { - if (stackA[length] == object) { - return stackB[length] == other; - } - } - // Add `object` and `other` to the stack of traversed objects. - stackA.push(object); - stackB.push(other); - - var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB); - - stackA.pop(); - stackB.pop(); - - return result; -} - -module.exports = baseIsEqualDeep; - -},{"../lang/isArray":49,"../lang/isTypedArray":55,"./equalArrays":32,"./equalByTag":33,"./equalObjects":34}],21:[function(require,module,exports){ -var baseIsEqual = require('./baseIsEqual'), - toObject = require('./toObject'); - -/** - * The base implementation of `_.isMatch` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} matchData The propery names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparing objects. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ -function baseIsMatch(object, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = toObject(object); - while (index--) { - var data = matchData[index]; - if ((noCustomizer && data[2]) - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var result = customizer ? customizer(objValue, srcValue, key) : undefined; - if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) { - return false; - } - } - } - return true; -} - -module.exports = baseIsMatch; - -},{"./baseIsEqual":19,"./toObject":46}],22:[function(require,module,exports){ -var baseIsMatch = require('./baseIsMatch'), - getMatchData = require('./getMatchData'), - toObject = require('./toObject'); - -/** - * The base implementation of `_.matches` which does not clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new function. - */ -function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - var key = matchData[0][0], - value = matchData[0][1]; - - return function(object) { - if (object == null) { - return false; - } - return object[key] === value && (value !== undefined || (key in toObject(object))); - }; - } - return function(object) { - return baseIsMatch(object, matchData); - }; -} - -module.exports = baseMatches; - -},{"./baseIsMatch":21,"./getMatchData":36,"./toObject":46}],23:[function(require,module,exports){ -var baseGet = require('./baseGet'), - baseIsEqual = require('./baseIsEqual'), - baseSlice = require('./baseSlice'), - isArray = require('../lang/isArray'), - isKey = require('./isKey'), - isStrictComparable = require('./isStrictComparable'), - last = require('../array/last'), - toObject = require('./toObject'), - toPath = require('./toPath'); - -/** - * The base implementation of `_.matchesProperty` which does not clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to compare. - * @returns {Function} Returns the new function. - */ -function baseMatchesProperty(path, srcValue) { - var isArr = isArray(path), - isCommon = isKey(path) && isStrictComparable(srcValue), - pathKey = (path + ''); - - path = toPath(path); - return function(object) { - if (object == null) { - return false; - } - var key = pathKey; - object = toObject(object); - if ((isArr || !isCommon) && !(key in object)) { - object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); - if (object == null) { - return false; - } - key = last(path); - object = toObject(object); - } - return object[key] === srcValue - ? (srcValue !== undefined || (key in object)) - : baseIsEqual(srcValue, object[key], undefined, true); - }; -} - -module.exports = baseMatchesProperty; - -},{"../array/last":4,"../lang/isArray":49,"./baseGet":18,"./baseIsEqual":19,"./baseSlice":26,"./isKey":41,"./isStrictComparable":44,"./toObject":46,"./toPath":47}],24:[function(require,module,exports){ -/** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new function. - */ -function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; -} - -module.exports = baseProperty; - -},{}],25:[function(require,module,exports){ -var baseGet = require('./baseGet'), - toPath = require('./toPath'); - -/** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new function. - */ -function basePropertyDeep(path) { - var pathKey = (path + ''); - path = toPath(path); - return function(object) { - return baseGet(object, path, pathKey); - }; -} - -module.exports = basePropertyDeep; - -},{"./baseGet":18,"./toPath":47}],26:[function(require,module,exports){ -/** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ -function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - start = start == null ? 0 : (+start || 0); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : (+end || 0); - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; -} - -module.exports = baseSlice; - -},{}],27:[function(require,module,exports){ -/** - * Converts `value` to a string if it's not one. An empty string is returned - * for `null` or `undefined` values. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ -function baseToString(value) { - return value == null ? '' : (value + ''); -} - -module.exports = baseToString; - -},{}],28:[function(require,module,exports){ -var identity = require('../utility/identity'); - -/** - * A specialized version of `baseCallback` which only supports `this` binding - * and specifying the number of arguments to provide to `func`. - * - * @private - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {number} [argCount] The number of arguments to provide to `func`. - * @returns {Function} Returns the callback. - */ -function bindCallback(func, thisArg, argCount) { - if (typeof func != 'function') { - return identity; - } - if (thisArg === undefined) { - return func; - } - switch (argCount) { - case 1: return function(value) { - return func.call(thisArg, value); - }; - case 3: return function(value, index, collection) { - return func.call(thisArg, value, index, collection); - }; - case 4: return function(accumulator, value, index, collection) { - return func.call(thisArg, accumulator, value, index, collection); - }; - case 5: return function(value, other, key, object, source) { - return func.call(thisArg, value, other, key, object, source); - }; - } - return function() { - return func.apply(thisArg, arguments); - }; -} - -module.exports = bindCallback; - -},{"../utility/identity":61}],29:[function(require,module,exports){ -var bindCallback = require('./bindCallback'), - isIterateeCall = require('./isIterateeCall'), - restParam = require('../function/restParam'); - -/** - * Creates a `_.assign`, `_.defaults`, or `_.merge` function. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ -function createAssigner(assigner) { - return restParam(function(object, sources) { - var index = -1, - length = object == null ? 0 : sources.length, - customizer = length > 2 ? sources[length - 2] : undefined, - guard = length > 2 ? sources[2] : undefined, - thisArg = length > 1 ? sources[length - 1] : undefined; - - if (typeof customizer == 'function') { - customizer = bindCallback(customizer, thisArg, 5); - length -= 2; - } else { - customizer = typeof thisArg == 'function' ? thisArg : undefined; - length -= (customizer ? 1 : 0); - } - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, customizer); - } - } - return object; - }); -} - -module.exports = createAssigner; - -},{"../function/restParam":6,"./bindCallback":28,"./isIterateeCall":40}],30:[function(require,module,exports){ -var getLength = require('./getLength'), - isLength = require('./isLength'), - toObject = require('./toObject'); - -/** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - var length = collection ? getLength(collection) : 0; - if (!isLength(length)) { - return eachFunc(collection, iteratee); - } - var index = fromRight ? length : -1, - iterable = toObject(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; -} - -module.exports = createBaseEach; - -},{"./getLength":35,"./isLength":42,"./toObject":46}],31:[function(require,module,exports){ -var toObject = require('./toObject'); - -/** - * Creates a base function for `_.forIn` or `_.forInRight`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var iterable = toObject(object), - props = keysFunc(object), - length = props.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length)) { - var key = props[index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; -} - -module.exports = createBaseFor; - -},{"./toObject":46}],32:[function(require,module,exports){ -var arraySome = require('./arraySome'); - -/** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing arrays. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ -function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) { - var index = -1, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isLoose && othLength > arrLength)) { - return false; - } - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index], - result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined; - - if (result !== undefined) { - if (result) { - continue; - } - return false; - } - // Recursively compare arrays (susceptible to call stack limits). - if (isLoose) { - if (!arraySome(other, function(othValue) { - return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB); - })) { - return false; - } - } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) { - return false; - } - } - return true; -} - -module.exports = equalArrays; - -},{"./arraySome":8}],33:[function(require,module,exports){ -/** `Object#toString` result references. */ -var boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - numberTag = '[object Number]', - regexpTag = '[object RegExp]', - stringTag = '[object String]'; - -/** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function equalByTag(object, other, tag) { - switch (tag) { - case boolTag: - case dateTag: - // Coerce dates and booleans to numbers, dates to milliseconds and booleans - // to `1` or `0` treating invalid dates coerced to `NaN` as not equal. - return +object == +other; - - case errorTag: - return object.name == other.name && object.message == other.message; - - case numberTag: - // Treat `NaN` vs. `NaN` as equal. - return (object != +object) - ? other != +other - : object == +other; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings primitives and string - // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details. - return object == (other + ''); - } - return false; -} - -module.exports = equalByTag; - -},{}],34:[function(require,module,exports){ -var keys = require('../object/keys'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing values. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) { - var objProps = keys(object), - objLength = objProps.length, - othProps = keys(other), - othLength = othProps.length; - - if (objLength != othLength && !isLoose) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - var skipCtor = isLoose; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key], - result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined; - - // Recursively compare objects (susceptible to call stack limits). - if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) { - return false; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (!skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - return false; - } - } - return true; -} - -module.exports = equalObjects; - -},{"../object/keys":58}],35:[function(require,module,exports){ -var baseProperty = require('./baseProperty'); - -/** - * Gets the "length" property value of `object`. - * - * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) - * that affects Safari on at least iOS 8.1-8.3 ARM64. - * - * @private - * @param {Object} object The object to query. - * @returns {*} Returns the "length" value. - */ -var getLength = baseProperty('length'); - -module.exports = getLength; - -},{"./baseProperty":24}],36:[function(require,module,exports){ -var isStrictComparable = require('./isStrictComparable'), - pairs = require('../object/pairs'); - -/** - * Gets the propery names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ -function getMatchData(object) { - var result = pairs(object), - length = result.length; - - while (length--) { - result[length][2] = isStrictComparable(result[length][1]); - } - return result; -} - -module.exports = getMatchData; - -},{"../object/pairs":60,"./isStrictComparable":44}],37:[function(require,module,exports){ -var isNative = require('../lang/isNative'); - -/** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ -function getNative(object, key) { - var value = object == null ? undefined : object[key]; - return isNative(value) ? value : undefined; -} - -module.exports = getNative; - -},{"../lang/isNative":52}],38:[function(require,module,exports){ -var getLength = require('./getLength'), - isLength = require('./isLength'); - -/** - * Checks if `value` is array-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - */ -function isArrayLike(value) { - return value != null && isLength(getLength(value)); -} - -module.exports = isArrayLike; - -},{"./getLength":35,"./isLength":42}],39:[function(require,module,exports){ -/** Used to detect unsigned integer values. */ -var reIsUint = /^\d+$/; - -/** - * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) - * of an array-like value. - */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ -function isIndex(value, length) { - value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1; - length = length == null ? MAX_SAFE_INTEGER : length; - return value > -1 && value % 1 == 0 && value < length; -} - -module.exports = isIndex; - -},{}],40:[function(require,module,exports){ -var isArrayLike = require('./isArrayLike'), - isIndex = require('./isIndex'), - isObject = require('../lang/isObject'); - -/** - * Checks if the provided arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`. - */ -function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object)) { - var other = object[index]; - return value === value ? (value === other) : (other !== other); - } - return false; -} - -module.exports = isIterateeCall; - -},{"../lang/isObject":53,"./isArrayLike":38,"./isIndex":39}],41:[function(require,module,exports){ -var isArray = require('../lang/isArray'), - toObject = require('./toObject'); - -/** Used to match property names within property paths. */ -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/; - -/** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ -function isKey(value, object) { - var type = typeof value; - if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') { - return true; - } - if (isArray(value)) { - return false; - } - var result = !reIsDeepProp.test(value); - return result || (object != null && value in toObject(object)); -} - -module.exports = isKey; - -},{"../lang/isArray":49,"./toObject":46}],42:[function(require,module,exports){ -/** - * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) - * of an array-like value. - */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - */ -function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -module.exports = isLength; - -},{}],43:[function(require,module,exports){ -/** - * Checks if `value` is object-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; -} - -module.exports = isObjectLike; - -},{}],44:[function(require,module,exports){ -var isObject = require('../lang/isObject'); - -/** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ -function isStrictComparable(value) { - return value === value && !isObject(value); -} - -module.exports = isStrictComparable; - -},{"../lang/isObject":53}],45:[function(require,module,exports){ -var isArguments = require('../lang/isArguments'), - isArray = require('../lang/isArray'), - isIndex = require('./isIndex'), - isLength = require('./isLength'), - keysIn = require('../object/keysIn'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * A fallback implementation of `Object.keys` which creates an array of the - * own enumerable property names of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function shimKeys(object) { - var props = keysIn(object), - propsLength = props.length, - length = propsLength && object.length; - - var allowIndexes = !!length && isLength(length) && - (isArray(object) || isArguments(object)); - - var index = -1, - result = []; - - while (++index < propsLength) { - var key = props[index]; - if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) { - result.push(key); - } - } - return result; -} - -module.exports = shimKeys; - -},{"../lang/isArguments":48,"../lang/isArray":49,"../object/keysIn":59,"./isIndex":39,"./isLength":42}],46:[function(require,module,exports){ -var isObject = require('../lang/isObject'); - -/** - * Converts `value` to an object if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Object} Returns the object. - */ -function toObject(value) { - return isObject(value) ? value : Object(value); -} - -module.exports = toObject; - -},{"../lang/isObject":53}],47:[function(require,module,exports){ -var baseToString = require('./baseToString'), - isArray = require('../lang/isArray'); - -/** Used to match property names within property paths. */ -var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g; - -/** Used to match backslashes in property paths. */ -var reEscapeChar = /\\(\\)?/g; - -/** - * Converts `value` to property path array if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Array} Returns the property path array. - */ -function toPath(value) { - if (isArray(value)) { - return value; - } - var result = []; - baseToString(value).replace(rePropName, function(match, number, quote, string) { - result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; -} - -module.exports = toPath; - -},{"../lang/isArray":49,"./baseToString":27}],48:[function(require,module,exports){ -var isArrayLike = require('../internal/isArrayLike'), - isObjectLike = require('../internal/isObjectLike'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Native method references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; - -/** - * Checks if `value` is classified as an `arguments` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ -function isArguments(value) { - return isObjectLike(value) && isArrayLike(value) && - hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); -} - -module.exports = isArguments; - -},{"../internal/isArrayLike":38,"../internal/isObjectLike":43}],49:[function(require,module,exports){ -var getNative = require('../internal/getNative'), - isLength = require('../internal/isLength'), - isObjectLike = require('../internal/isObjectLike'); - -/** `Object#toString` result references. */ -var arrayTag = '[object Array]'; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeIsArray = getNative(Array, 'isArray'); - -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(function() { return arguments; }()); - * // => false - */ -var isArray = nativeIsArray || function(value) { - return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag; -}; - -module.exports = isArray; - -},{"../internal/getNative":37,"../internal/isLength":42,"../internal/isObjectLike":43}],50:[function(require,module,exports){ -var isArguments = require('./isArguments'), - isArray = require('./isArray'), - isArrayLike = require('../internal/isArrayLike'), - isFunction = require('./isFunction'), - isObjectLike = require('../internal/isObjectLike'), - isString = require('./isString'), - keys = require('../object/keys'); - -/** - * Checks if `value` is empty. A value is considered empty unless it's an - * `arguments` object, array, string, or jQuery-like collection with a length - * greater than `0` or an object with own enumerable properties. - * - * @static - * @memberOf _ - * @category Lang - * @param {Array|Object|string} value The value to inspect. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ -function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && (isArray(value) || isString(value) || isArguments(value) || - (isObjectLike(value) && isFunction(value.splice)))) { - return !value.length; - } - return !keys(value).length; -} - -module.exports = isEmpty; - -},{"../internal/isArrayLike":38,"../internal/isObjectLike":43,"../object/keys":58,"./isArguments":48,"./isArray":49,"./isFunction":51,"./isString":54}],51:[function(require,module,exports){ -var isObject = require('./isObject'); - -/** `Object#toString` result references. */ -var funcTag = '[object Function]'; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ -function isFunction(value) { - // The use of `Object#toString` avoids issues with the `typeof` operator - // in older versions of Chrome and Safari which return 'function' for regexes - // and Safari 8 which returns 'object' for typed array constructors. - return isObject(value) && objToString.call(value) == funcTag; -} - -module.exports = isFunction; - -},{"./isObject":53}],52:[function(require,module,exports){ -var isFunction = require('./isFunction'), - isObjectLike = require('../internal/isObjectLike'); - -/** Used to detect host constructors (Safari > 5). */ -var reIsHostCtor = /^\[object .+?Constructor\]$/; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var fnToString = Function.prototype.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Used to detect if a method is native. */ -var reIsNative = RegExp('^' + - fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' -); - -/** - * Checks if `value` is a native function. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ -function isNative(value) { - if (value == null) { - return false; - } - if (isFunction(value)) { - return reIsNative.test(fnToString.call(value)); - } - return isObjectLike(value) && reIsHostCtor.test(value); -} - -module.exports = isNative; - -},{"../internal/isObjectLike":43,"./isFunction":51}],53:[function(require,module,exports){ -/** - * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. - * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(1); - * // => false - */ -function isObject(value) { - // Avoid a V8 JIT bug in Chrome 19-20. - // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); -} - -module.exports = isObject; - -},{}],54:[function(require,module,exports){ -var isObjectLike = require('../internal/isObjectLike'); - -/** `Object#toString` result references. */ -var stringTag = '[object String]'; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ -function isString(value) { - return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag); -} - -module.exports = isString; - -},{"../internal/isObjectLike":43}],55:[function(require,module,exports){ -var isLength = require('../internal/isLength'), - isObjectLike = require('../internal/isObjectLike'); - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; - -var arrayBufferTag = '[object ArrayBuffer]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -/** Used to identify `toStringTag` values of typed arrays. */ -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = -typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = -typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = -typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = -typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag] = typedArrayTags[arrayTag] = -typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = -typedArrayTags[dateTag] = typedArrayTags[errorTag] = -typedArrayTags[funcTag] = typedArrayTags[mapTag] = -typedArrayTags[numberTag] = typedArrayTags[objectTag] = -typedArrayTags[regexpTag] = typedArrayTags[setTag] = -typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ -function isTypedArray(value) { - return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)]; -} - -module.exports = isTypedArray; - -},{"../internal/isLength":42,"../internal/isObjectLike":43}],56:[function(require,module,exports){ -var assignWith = require('../internal/assignWith'), - baseAssign = require('../internal/baseAssign'), - createAssigner = require('../internal/createAssigner'); - -/** - * Assigns own enumerable properties of source object(s) to the destination - * object. Subsequent sources overwrite property assignments of previous sources. - * If `customizer` is provided it's invoked to produce the assigned values. - * The `customizer` is bound to `thisArg` and invoked with five arguments: - * (objectValue, sourceValue, key, object, source). - * - * **Note:** This method mutates `object` and is based on - * [`Object.assign`](http://ecma-international.org/ecma-262/6.0/#sec-object.assign). - * - * @static - * @memberOf _ - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {Object} Returns `object`. - * @example - * - * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' }); - * // => { 'user': 'fred', 'age': 40 } - * - * // using a customizer callback - * var defaults = _.partialRight(_.assign, function(value, other) { - * return _.isUndefined(value) ? other : value; - * }); - * - * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' }); - * // => { 'user': 'barney', 'age': 36 } - */ -var assign = createAssigner(function(object, source, customizer) { - return customizer - ? assignWith(object, source, customizer) - : baseAssign(object, source); -}); - -module.exports = assign; - -},{"../internal/assignWith":9,"../internal/baseAssign":10,"../internal/createAssigner":29}],57:[function(require,module,exports){ -var baseAssign = require('../internal/baseAssign'), - baseCreate = require('../internal/baseCreate'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Creates an object that inherits from the given `prototype` object. If a - * `properties` object is provided its own enumerable properties are assigned - * to the created object. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ -function create(prototype, properties, guard) { - var result = baseCreate(prototype); - if (guard && isIterateeCall(prototype, properties, guard)) { - properties = undefined; - } - return properties ? baseAssign(result, properties) : result; -} - -module.exports = create; - -},{"../internal/baseAssign":10,"../internal/baseCreate":13,"../internal/isIterateeCall":40}],58:[function(require,module,exports){ -var getNative = require('../internal/getNative'), - isArrayLike = require('../internal/isArrayLike'), - isObject = require('../lang/isObject'), - shimKeys = require('../internal/shimKeys'); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeKeys = getNative(Object, 'keys'); - -/** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys) - * for more details. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ -var keys = !nativeKeys ? shimKeys : function(object) { - var Ctor = object == null ? undefined : object.constructor; - if ((typeof Ctor == 'function' && Ctor.prototype === object) || - (typeof object != 'function' && isArrayLike(object))) { - return shimKeys(object); - } - return isObject(object) ? nativeKeys(object) : []; -}; - -module.exports = keys; - -},{"../internal/getNative":37,"../internal/isArrayLike":38,"../internal/shimKeys":45,"../lang/isObject":53}],59:[function(require,module,exports){ -var isArguments = require('../lang/isArguments'), - isArray = require('../lang/isArray'), - isIndex = require('../internal/isIndex'), - isLength = require('../internal/isLength'), - isObject = require('../lang/isObject'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ -function keysIn(object) { - if (object == null) { - return []; - } - if (!isObject(object)) { - object = Object(object); - } - var length = object.length; - length = (length && isLength(length) && - (isArray(object) || isArguments(object)) && length) || 0; - - var Ctor = object.constructor, - index = -1, - isProto = typeof Ctor == 'function' && Ctor.prototype === object, - result = Array(length), - skipIndexes = length > 0; - - while (++index < length) { - result[index] = (index + ''); - } - for (var key in object) { - if (!(skipIndexes && isIndex(key, length)) && - !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; -} - -module.exports = keysIn; - -},{"../internal/isIndex":39,"../internal/isLength":42,"../lang/isArguments":48,"../lang/isArray":49,"../lang/isObject":53}],60:[function(require,module,exports){ -var keys = require('./keys'), - toObject = require('../internal/toObject'); - -/** - * Creates a two dimensional array of the key-value pairs for `object`, - * e.g. `[[key1, value1], [key2, value2]]`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the new array of key-value pairs. - * @example - * - * _.pairs({ 'barney': 36, 'fred': 40 }); - * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed) - */ -function pairs(object) { - object = toObject(object); - - var index = -1, - props = keys(object), - length = props.length, - result = Array(length); - - while (++index < length) { - var key = props[index]; - result[index] = [key, object[key]]; - } - return result; -} - -module.exports = pairs; - -},{"../internal/toObject":46,"./keys":58}],61:[function(require,module,exports){ -/** - * This method returns the first argument provided to it. - * - * @static - * @memberOf _ - * @category Utility - * @param {*} value Any value. - * @returns {*} Returns `value`. - * @example - * - * var object = { 'user': 'fred' }; - * - * _.identity(object) === object; - * // => true - */ -function identity(value) { - return value; -} - -module.exports = identity; - -},{}],62:[function(require,module,exports){ -var baseProperty = require('../internal/baseProperty'), - basePropertyDeep = require('../internal/basePropertyDeep'), - isKey = require('../internal/isKey'); - -/** - * Creates a function that returns the property value at `path` on a - * given object. - * - * @static - * @memberOf _ - * @category Utility - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new function. - * @example - * - * var objects = [ - * { 'a': { 'b': { 'c': 2 } } }, - * { 'a': { 'b': { 'c': 1 } } } - * ]; - * - * _.map(objects, _.property('a.b.c')); - * // => [2, 1] - * - * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c'); - * // => [1, 2] - */ -function property(path) { - return isKey(path) ? baseProperty(path) : basePropertyDeep(path); -} - -module.exports = property; - -},{"../internal/baseProperty":24,"../internal/basePropertyDeep":25,"../internal/isKey":41}],63:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLAttribute, create; - - create = require('lodash/object/create'); - - module.exports = XMLAttribute = (function() { - function XMLAttribute(parent, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing attribute name of element " + parent.name); - } - if (value == null) { - throw new Error("Missing attribute value for attribute " + name + " of element " + parent.name); - } - this.name = this.stringify.attName(name); - this.value = this.stringify.attValue(value); - } - - XMLAttribute.prototype.clone = function() { - return create(XMLAttribute.prototype, this); - }; - - XMLAttribute.prototype.toString = function(options, level) { - return ' ' + this.name + '="' + this.value + '"'; - }; - - return XMLAttribute; - - })(); - -}).call(this); - -},{"lodash/object/create":57}],64:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier; - - XMLStringifier = require('./XMLStringifier'); - - XMLDeclaration = require('./XMLDeclaration'); - - XMLDocType = require('./XMLDocType'); - - XMLElement = require('./XMLElement'); - - module.exports = XMLBuilder = (function() { - function XMLBuilder(name, options) { - var root, temp; - if (name == null) { - throw new Error("Root element needs a name"); - } - if (options == null) { - options = {}; - } - this.options = options; - this.stringify = new XMLStringifier(options); - temp = new XMLElement(this, 'doc'); - root = temp.element(name); - root.isRoot = true; - root.documentObject = this; - this.rootObject = root; - if (!options.headless) { - root.declaration(options); - if ((options.pubID != null) || (options.sysID != null)) { - root.doctype(options); - } - } - } - - XMLBuilder.prototype.root = function() { - return this.rootObject; - }; - - XMLBuilder.prototype.end = function(options) { - return this.toString(options); - }; - - XMLBuilder.prototype.toString = function(options) { - var indent, newline, offset, pretty, r, ref, ref1, ref2; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - r = ''; - if (this.xmldec != null) { - r += this.xmldec.toString(options); - } - if (this.doctype != null) { - r += this.doctype.toString(options); - } - r += this.rootObject.toString(options); - if (pretty && r.slice(-newline.length) === newline) { - r = r.slice(0, -newline.length); - } - return r; - }; - - return XMLBuilder; - - })(); - -}).call(this); - -},{"./XMLDeclaration":71,"./XMLDocType":72,"./XMLElement":73,"./XMLStringifier":77}],65:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLCData, XMLNode, create, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLCData = (function(superClass) { - extend(XMLCData, superClass); - - function XMLCData(parent, text) { - XMLCData.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing CDATA text"); - } - this.text = this.stringify.cdata(text); - } - - XMLCData.prototype.clone = function() { - return create(XMLCData.prototype, this); - }; - - XMLCData.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLCData; - - })(XMLNode); - -}).call(this); - -},{"./XMLNode":74,"lodash/object/create":57}],66:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLComment, XMLNode, create, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLComment = (function(superClass) { - extend(XMLComment, superClass); - - function XMLComment(parent, text) { - XMLComment.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing comment text"); - } - this.text = this.stringify.comment(text); - } - - XMLComment.prototype.clone = function() { - return create(XMLComment.prototype, this); - }; - - XMLComment.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLComment; - - })(XMLNode); - -}).call(this); - -},{"./XMLNode":74,"lodash/object/create":57}],67:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDAttList, create; - - create = require('lodash/object/create'); - - module.exports = XMLDTDAttList = (function() { - function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) { - this.stringify = parent.stringify; - if (elementName == null) { - throw new Error("Missing DTD element name"); - } - if (attributeName == null) { - throw new Error("Missing DTD attribute name"); - } - if (!attributeType) { - throw new Error("Missing DTD attribute type"); - } - if (!defaultValueType) { - throw new Error("Missing DTD attribute default"); - } - if (defaultValueType.indexOf('#') !== 0) { - defaultValueType = '#' + defaultValueType; - } - if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) { - throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT"); - } - if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) { - throw new Error("Default value only applies to #FIXED or #DEFAULT"); - } - this.elementName = this.stringify.eleName(elementName); - this.attributeName = this.stringify.attName(attributeName); - this.attributeType = this.stringify.dtdAttType(attributeType); - this.defaultValue = this.stringify.dtdAttDefault(defaultValue); - this.defaultValueType = defaultValueType; - } - - XMLDTDAttList.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDAttList; - - })(); - -}).call(this); - -},{"lodash/object/create":57}],68:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDElement, create; - - create = require('lodash/object/create'); - - module.exports = XMLDTDElement = (function() { - function XMLDTDElement(parent, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing DTD element name"); - } - if (!value) { - value = '(#PCDATA)'; - } - if (Array.isArray(value)) { - value = '(' + value.join(',') + ')'; - } - this.name = this.stringify.eleName(name); - this.value = this.stringify.dtdElementValue(value); - } - - XMLDTDElement.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDElement; - - })(); - -}).call(this); - -},{"lodash/object/create":57}],69:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDEntity, create, isObject; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - module.exports = XMLDTDEntity = (function() { - function XMLDTDEntity(parent, pe, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing entity name"); - } - if (value == null) { - throw new Error("Missing entity value"); - } - this.pe = !!pe; - this.name = this.stringify.eleName(name); - if (!isObject(value)) { - this.value = this.stringify.dtdEntityValue(value); - } else { - if (!value.pubID && !value.sysID) { - throw new Error("Public and/or system identifiers are required for an external entity"); - } - if (value.pubID && !value.sysID) { - throw new Error("System identifier is required for a public external entity"); - } - if (value.pubID != null) { - this.pubID = this.stringify.dtdPubID(value.pubID); - } - if (value.sysID != null) { - this.sysID = this.stringify.dtdSysID(value.sysID); - } - if (value.nData != null) { - this.nData = this.stringify.dtdNData(value.nData); - } - if (this.pe && this.nData) { - throw new Error("Notation declaration is not allowed in a parameter entity"); - } - } - } - - XMLDTDEntity.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDEntity; - - })(); - -}).call(this); - -},{"lodash/lang/isObject":53,"lodash/object/create":57}],70:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDNotation, create; - - create = require('lodash/object/create'); - - module.exports = XMLDTDNotation = (function() { - function XMLDTDNotation(parent, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing notation name"); - } - if (!value.pubID && !value.sysID) { - throw new Error("Public or system identifiers are required for an external entity"); - } - this.name = this.stringify.eleName(name); - if (value.pubID != null) { - this.pubID = this.stringify.dtdPubID(value.pubID); - } - if (value.sysID != null) { - this.sysID = this.stringify.dtdSysID(value.sysID); - } - } - - XMLDTDNotation.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDNotation; - - })(); - -}).call(this); - -},{"lodash/object/create":57}],71:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDeclaration, XMLNode, create, isObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLDeclaration = (function(superClass) { - extend(XMLDeclaration, superClass); - - function XMLDeclaration(parent, version, encoding, standalone) { - var ref; - XMLDeclaration.__super__.constructor.call(this, parent); - if (isObject(version)) { - ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone; - } - if (!version) { - version = '1.0'; - } - this.version = this.stringify.xmlVersion(version); - if (encoding != null) { - this.encoding = this.stringify.xmlEncoding(encoding); - } - if (standalone != null) { - this.standalone = this.stringify.xmlStandalone(standalone); - } - } - - XMLDeclaration.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDeclaration; - - })(XMLNode); - -}).call(this); - -},{"./XMLNode":74,"lodash/lang/isObject":53,"lodash/object/create":57}],72:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLProcessingInstruction, create, isObject; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - XMLCData = require('./XMLCData'); - - XMLComment = require('./XMLComment'); - - XMLDTDAttList = require('./XMLDTDAttList'); - - XMLDTDEntity = require('./XMLDTDEntity'); - - XMLDTDElement = require('./XMLDTDElement'); - - XMLDTDNotation = require('./XMLDTDNotation'); - - XMLProcessingInstruction = require('./XMLProcessingInstruction'); - - module.exports = XMLDocType = (function() { - function XMLDocType(parent, pubID, sysID) { - var ref, ref1; - this.documentObject = parent; - this.stringify = this.documentObject.stringify; - this.children = []; - if (isObject(pubID)) { - ref = pubID, pubID = ref.pubID, sysID = ref.sysID; - } - if (sysID == null) { - ref1 = [pubID, sysID], sysID = ref1[0], pubID = ref1[1]; - } - if (pubID != null) { - this.pubID = this.stringify.dtdPubID(pubID); - } - if (sysID != null) { - this.sysID = this.stringify.dtdSysID(sysID); - } - } - - XMLDocType.prototype.element = function(name, value) { - var child; - child = new XMLDTDElement(this, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { - var child; - child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.entity = function(name, value) { - var child; - child = new XMLDTDEntity(this, false, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.pEntity = function(name, value) { - var child; - child = new XMLDTDEntity(this, true, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.notation = function(name, value) { - var child; - child = new XMLDTDNotation(this, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.cdata = function(value) { - var child; - child = new XMLCData(this, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.comment = function(value) { - var child; - child = new XMLComment(this, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.instruction = function(target, value) { - var child; - child = new XMLProcessingInstruction(this, target, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.root = function() { - return this.documentObject.root(); - }; - - XMLDocType.prototype.document = function() { - return this.documentObject; - }; - - XMLDocType.prototype.toString = function(options, level) { - var child, i, indent, len, newline, offset, pretty, r, ref, ref1, ref2, ref3, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ' 0) { - r += ' ['; - if (pretty) { - r += newline; - } - ref3 = this.children; - for (i = 0, len = ref3.length; i < len; i++) { - child = ref3[i]; - r += child.toString(options, level + 1); - } - r += ']'; - } - r += '>'; - if (pretty) { - r += newline; - } - return r; - }; - - XMLDocType.prototype.ele = function(name, value) { - return this.element(name, value); - }; - - XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { - return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue); - }; - - XMLDocType.prototype.ent = function(name, value) { - return this.entity(name, value); - }; - - XMLDocType.prototype.pent = function(name, value) { - return this.pEntity(name, value); - }; - - XMLDocType.prototype.not = function(name, value) { - return this.notation(name, value); - }; - - XMLDocType.prototype.dat = function(value) { - return this.cdata(value); - }; - - XMLDocType.prototype.com = function(value) { - return this.comment(value); - }; - - XMLDocType.prototype.ins = function(target, value) { - return this.instruction(target, value); - }; - - XMLDocType.prototype.up = function() { - return this.root(); - }; - - XMLDocType.prototype.doc = function() { - return this.document(); - }; - - return XMLDocType; - - })(); - -}).call(this); - -},{"./XMLCData":65,"./XMLComment":66,"./XMLDTDAttList":67,"./XMLDTDElement":68,"./XMLDTDEntity":69,"./XMLDTDNotation":70,"./XMLProcessingInstruction":75,"lodash/lang/isObject":53,"lodash/object/create":57}],73:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLAttribute, XMLElement, XMLNode, XMLProcessingInstruction, create, every, isFunction, isObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - isFunction = require('lodash/lang/isFunction'); - - every = require('lodash/collection/every'); - - XMLNode = require('./XMLNode'); - - XMLAttribute = require('./XMLAttribute'); - - XMLProcessingInstruction = require('./XMLProcessingInstruction'); - - module.exports = XMLElement = (function(superClass) { - extend(XMLElement, superClass); - - function XMLElement(parent, name, attributes) { - XMLElement.__super__.constructor.call(this, parent); - if (name == null) { - throw new Error("Missing element name"); - } - this.name = this.stringify.eleName(name); - this.children = []; - this.instructions = []; - this.attributes = {}; - if (attributes != null) { - this.attribute(attributes); - } - } - - XMLElement.prototype.clone = function() { - var att, attName, clonedSelf, i, len, pi, ref, ref1; - clonedSelf = create(XMLElement.prototype, this); - if (clonedSelf.isRoot) { - clonedSelf.documentObject = null; - } - clonedSelf.attributes = {}; - ref = this.attributes; - for (attName in ref) { - if (!hasProp.call(ref, attName)) continue; - att = ref[attName]; - clonedSelf.attributes[attName] = att.clone(); - } - clonedSelf.instructions = []; - ref1 = this.instructions; - for (i = 0, len = ref1.length; i < len; i++) { - pi = ref1[i]; - clonedSelf.instructions.push(pi.clone()); - } - clonedSelf.children = []; - this.children.forEach(function(child) { - var clonedChild; - clonedChild = child.clone(); - clonedChild.parent = clonedSelf; - return clonedSelf.children.push(clonedChild); - }); - return clonedSelf; - }; - - XMLElement.prototype.attribute = function(name, value) { - var attName, attValue; - if (name != null) { - name = name.valueOf(); - } - if (isObject(name)) { - for (attName in name) { - if (!hasProp.call(name, attName)) continue; - attValue = name[attName]; - this.attribute(attName, attValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - if (!this.options.skipNullAttributes || (value != null)) { - this.attributes[name] = new XMLAttribute(this, name, value); - } - } - return this; - }; - - XMLElement.prototype.removeAttribute = function(name) { - var attName, i, len; - if (name == null) { - throw new Error("Missing attribute name"); - } - name = name.valueOf(); - if (Array.isArray(name)) { - for (i = 0, len = name.length; i < len; i++) { - attName = name[i]; - delete this.attributes[attName]; - } - } else { - delete this.attributes[name]; - } - return this; - }; - - XMLElement.prototype.instruction = function(target, value) { - var i, insTarget, insValue, instruction, len; - if (target != null) { - target = target.valueOf(); - } - if (value != null) { - value = value.valueOf(); - } - if (Array.isArray(target)) { - for (i = 0, len = target.length; i < len; i++) { - insTarget = target[i]; - this.instruction(insTarget); - } - } else if (isObject(target)) { - for (insTarget in target) { - if (!hasProp.call(target, insTarget)) continue; - insValue = target[insTarget]; - this.instruction(insTarget, insValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - instruction = new XMLProcessingInstruction(this, target, value); - this.instructions.push(instruction); - } - return this; - }; - - XMLElement.prototype.toString = function(options, level) { - var att, child, i, indent, instruction, j, len, len1, name, newline, offset, pretty, r, ref, ref1, ref2, ref3, ref4, ref5, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - ref3 = this.instructions; - for (i = 0, len = ref3.length; i < len; i++) { - instruction = ref3[i]; - r += instruction.toString(options, level); - } - if (pretty) { - r += space; - } - r += '<' + this.name; - ref4 = this.attributes; - for (name in ref4) { - if (!hasProp.call(ref4, name)) continue; - att = ref4[name]; - r += att.toString(options); - } - if (this.children.length === 0 || every(this.children, function(e) { - return e.value === ''; - })) { - r += '/>'; - if (pretty) { - r += newline; - } - } else if (pretty && this.children.length === 1 && (this.children[0].value != null)) { - r += '>'; - r += this.children[0].value; - r += ''; - r += newline; - } else { - r += '>'; - if (pretty) { - r += newline; - } - ref5 = this.children; - for (j = 0, len1 = ref5.length; j < len1; j++) { - child = ref5[j]; - r += child.toString(options, level + 1); - } - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - } - return r; - }; - - XMLElement.prototype.att = function(name, value) { - return this.attribute(name, value); - }; - - XMLElement.prototype.ins = function(target, value) { - return this.instruction(target, value); - }; - - XMLElement.prototype.a = function(name, value) { - return this.attribute(name, value); - }; - - XMLElement.prototype.i = function(target, value) { - return this.instruction(target, value); - }; - - return XMLElement; - - })(XMLNode); - -}).call(this); - -},{"./XMLAttribute":63,"./XMLNode":74,"./XMLProcessingInstruction":75,"lodash/collection/every":5,"lodash/lang/isFunction":51,"lodash/lang/isObject":53,"lodash/object/create":57}],74:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLElement, XMLNode, XMLRaw, XMLText, isEmpty, isFunction, isObject, - hasProp = {}.hasOwnProperty; - - isObject = require('lodash/lang/isObject'); - - isFunction = require('lodash/lang/isFunction'); - - isEmpty = require('lodash/lang/isEmpty'); - - XMLElement = null; - - XMLCData = null; - - XMLComment = null; - - XMLDeclaration = null; - - XMLDocType = null; - - XMLRaw = null; - - XMLText = null; - - module.exports = XMLNode = (function() { - function XMLNode(parent) { - this.parent = parent; - this.options = this.parent.options; - this.stringify = this.parent.stringify; - if (XMLElement === null) { - XMLElement = require('./XMLElement'); - XMLCData = require('./XMLCData'); - XMLComment = require('./XMLComment'); - XMLDeclaration = require('./XMLDeclaration'); - XMLDocType = require('./XMLDocType'); - XMLRaw = require('./XMLRaw'); - XMLText = require('./XMLText'); - } - } - - XMLNode.prototype.element = function(name, attributes, text) { - var childNode, item, j, k, key, lastChild, len, len1, ref, val; - lastChild = null; - if (attributes == null) { - attributes = {}; - } - attributes = attributes.valueOf(); - if (!isObject(attributes)) { - ref = [attributes, text], text = ref[0], attributes = ref[1]; - } - if (name != null) { - name = name.valueOf(); - } - if (Array.isArray(name)) { - for (j = 0, len = name.length; j < len; j++) { - item = name[j]; - lastChild = this.element(item); - } - } else if (isFunction(name)) { - lastChild = this.element(name.apply()); - } else if (isObject(name)) { - for (key in name) { - if (!hasProp.call(name, key)) continue; - val = name[key]; - if (isFunction(val)) { - val = val.apply(); - } - if ((isObject(val)) && (isEmpty(val))) { - val = null; - } - if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) { - lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val); - } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && key.indexOf(this.stringify.convertPIKey) === 0) { - lastChild = this.instruction(key.substr(this.stringify.convertPIKey.length), val); - } else if (Array.isArray(val)) { - for (k = 0, len1 = val.length; k < len1; k++) { - item = val[k]; - childNode = {}; - childNode[key] = item; - lastChild = this.element(childNode); - } - } else if (isObject(val)) { - lastChild = this.element(key); - lastChild.element(val); - } else { - lastChild = this.element(key, val); - } - } - } else { - if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) { - lastChild = this.text(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) { - lastChild = this.cdata(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) { - lastChild = this.comment(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) { - lastChild = this.raw(text); - } else { - lastChild = this.node(name, attributes, text); - } - } - if (lastChild == null) { - throw new Error("Could not create any elements with: " + name); - } - return lastChild; - }; - - XMLNode.prototype.insertBefore = function(name, attributes, text) { - var child, i, removed; - if (this.isRoot) { - throw new Error("Cannot insert elements at root level"); - } - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i); - child = this.parent.element(name, attributes, text); - Array.prototype.push.apply(this.parent.children, removed); - return child; - }; - - XMLNode.prototype.insertAfter = function(name, attributes, text) { - var child, i, removed; - if (this.isRoot) { - throw new Error("Cannot insert elements at root level"); - } - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i + 1); - child = this.parent.element(name, attributes, text); - Array.prototype.push.apply(this.parent.children, removed); - return child; - }; - - XMLNode.prototype.remove = function() { - var i, ref; - if (this.isRoot) { - throw new Error("Cannot remove the root element"); - } - i = this.parent.children.indexOf(this); - [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref = [])), ref; - return this.parent; - }; - - XMLNode.prototype.node = function(name, attributes, text) { - var child, ref; - if (name != null) { - name = name.valueOf(); - } - if (attributes == null) { - attributes = {}; - } - attributes = attributes.valueOf(); - if (!isObject(attributes)) { - ref = [attributes, text], text = ref[0], attributes = ref[1]; - } - child = new XMLElement(this, name, attributes); - if (text != null) { - child.text(text); - } - this.children.push(child); - return child; - }; - - XMLNode.prototype.text = function(value) { - var child; - child = new XMLText(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.cdata = function(value) { - var child; - child = new XMLCData(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.comment = function(value) { - var child; - child = new XMLComment(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.raw = function(value) { - var child; - child = new XMLRaw(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.declaration = function(version, encoding, standalone) { - var doc, xmldec; - doc = this.document(); - xmldec = new XMLDeclaration(doc, version, encoding, standalone); - doc.xmldec = xmldec; - return doc.root(); - }; - - XMLNode.prototype.doctype = function(pubID, sysID) { - var doc, doctype; - doc = this.document(); - doctype = new XMLDocType(doc, pubID, sysID); - doc.doctype = doctype; - return doctype; - }; - - XMLNode.prototype.up = function() { - if (this.isRoot) { - throw new Error("The root node has no parent. Use doc() if you need to get the document object."); - } - return this.parent; - }; - - XMLNode.prototype.root = function() { - var child; - if (this.isRoot) { - return this; - } - child = this.parent; - while (!child.isRoot) { - child = child.parent; - } - return child; - }; - - XMLNode.prototype.document = function() { - return this.root().documentObject; - }; - - XMLNode.prototype.end = function(options) { - return this.document().toString(options); - }; - - XMLNode.prototype.prev = function() { - var i; - if (this.isRoot) { - throw new Error("Root node has no siblings"); - } - i = this.parent.children.indexOf(this); - if (i < 1) { - throw new Error("Already at the first node"); - } - return this.parent.children[i - 1]; - }; - - XMLNode.prototype.next = function() { - var i; - if (this.isRoot) { - throw new Error("Root node has no siblings"); - } - i = this.parent.children.indexOf(this); - if (i === -1 || i === this.parent.children.length - 1) { - throw new Error("Already at the last node"); - } - return this.parent.children[i + 1]; - }; - - XMLNode.prototype.importXMLBuilder = function(xmlbuilder) { - var clonedRoot; - clonedRoot = xmlbuilder.root().clone(); - clonedRoot.parent = this; - clonedRoot.isRoot = false; - this.children.push(clonedRoot); - return this; - }; - - XMLNode.prototype.ele = function(name, attributes, text) { - return this.element(name, attributes, text); - }; - - XMLNode.prototype.nod = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLNode.prototype.txt = function(value) { - return this.text(value); - }; - - XMLNode.prototype.dat = function(value) { - return this.cdata(value); - }; - - XMLNode.prototype.com = function(value) { - return this.comment(value); - }; - - XMLNode.prototype.doc = function() { - return this.document(); - }; - - XMLNode.prototype.dec = function(version, encoding, standalone) { - return this.declaration(version, encoding, standalone); - }; - - XMLNode.prototype.dtd = function(pubID, sysID) { - return this.doctype(pubID, sysID); - }; - - XMLNode.prototype.e = function(name, attributes, text) { - return this.element(name, attributes, text); - }; - - XMLNode.prototype.n = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLNode.prototype.t = function(value) { - return this.text(value); - }; - - XMLNode.prototype.d = function(value) { - return this.cdata(value); - }; - - XMLNode.prototype.c = function(value) { - return this.comment(value); - }; - - XMLNode.prototype.r = function(value) { - return this.raw(value); - }; - - XMLNode.prototype.u = function() { - return this.up(); - }; - - return XMLNode; - - })(); - -}).call(this); - -},{"./XMLCData":65,"./XMLComment":66,"./XMLDeclaration":71,"./XMLDocType":72,"./XMLElement":73,"./XMLRaw":76,"./XMLText":78,"lodash/lang/isEmpty":50,"lodash/lang/isFunction":51,"lodash/lang/isObject":53}],75:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLProcessingInstruction, create; - - create = require('lodash/object/create'); - - module.exports = XMLProcessingInstruction = (function() { - function XMLProcessingInstruction(parent, target, value) { - this.stringify = parent.stringify; - if (target == null) { - throw new Error("Missing instruction target"); - } - this.target = this.stringify.insTarget(target); - if (value) { - this.value = this.stringify.insValue(value); - } - } - - XMLProcessingInstruction.prototype.clone = function() { - return create(XMLProcessingInstruction.prototype, this); - }; - - XMLProcessingInstruction.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLProcessingInstruction; - - })(); - -}).call(this); - -},{"lodash/object/create":57}],76:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLNode, XMLRaw, create, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLRaw = (function(superClass) { - extend(XMLRaw, superClass); - - function XMLRaw(parent, text) { - XMLRaw.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing raw text"); - } - this.value = this.stringify.raw(text); - } - - XMLRaw.prototype.clone = function() { - return create(XMLRaw.prototype, this); - }; - - XMLRaw.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += this.value; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLRaw; - - })(XMLNode); - -}).call(this); - -},{"./XMLNode":74,"lodash/object/create":57}],77:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLStringifier, - bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - hasProp = {}.hasOwnProperty; - - module.exports = XMLStringifier = (function() { - function XMLStringifier(options) { - this.assertLegalChar = bind(this.assertLegalChar, this); - var key, ref, value; - this.allowSurrogateChars = options != null ? options.allowSurrogateChars : void 0; - ref = (options != null ? options.stringify : void 0) || {}; - for (key in ref) { - if (!hasProp.call(ref, key)) continue; - value = ref[key]; - this[key] = value; - } - } - - XMLStringifier.prototype.eleName = function(val) { - val = '' + val || ''; - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.eleText = function(val) { - val = '' + val || ''; - return this.assertLegalChar(this.elEscape(val)); - }; - - XMLStringifier.prototype.cdata = function(val) { - val = '' + val || ''; - if (val.match(/]]>/)) { - throw new Error("Invalid CDATA text: " + val); - } - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.comment = function(val) { - val = '' + val || ''; - if (val.match(/--/)) { - throw new Error("Comment text cannot contain double-hypen: " + val); - } - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.raw = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.attName = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.attValue = function(val) { - val = '' + val || ''; - return this.attEscape(val); - }; - - XMLStringifier.prototype.insTarget = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.insValue = function(val) { - val = '' + val || ''; - if (val.match(/\?>/)) { - throw new Error("Invalid processing instruction value: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlVersion = function(val) { - val = '' + val || ''; - if (!val.match(/1\.[0-9]+/)) { - throw new Error("Invalid version number: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlEncoding = function(val) { - val = '' + val || ''; - if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-]|-)*$/)) { - throw new Error("Invalid encoding: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlStandalone = function(val) { - if (val) { - return "yes"; - } else { - return "no"; - } - }; - - XMLStringifier.prototype.dtdPubID = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdSysID = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdElementValue = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdAttType = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdAttDefault = function(val) { - if (val != null) { - return '' + val || ''; - } else { - return val; - } - }; - - XMLStringifier.prototype.dtdEntityValue = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdNData = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.convertAttKey = '@'; - - XMLStringifier.prototype.convertPIKey = '?'; - - XMLStringifier.prototype.convertTextKey = '#text'; - - XMLStringifier.prototype.convertCDataKey = '#cdata'; - - XMLStringifier.prototype.convertCommentKey = '#comment'; - - XMLStringifier.prototype.convertRawKey = '#raw'; - - XMLStringifier.prototype.assertLegalChar = function(str) { - var chars, chr; - if (this.allowSurrogateChars) { - chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uFFFE-\uFFFF]/; - } else { - chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uD800-\uDFFF\uFFFE-\uFFFF]/; - } - chr = str.match(chars); - if (chr) { - throw new Error("Invalid character (" + chr + ") in string: " + str + " at index " + chr.index); - } - return str; - }; - - XMLStringifier.prototype.elEscape = function(str) { - return str.replace(/&/g, '&').replace(//g, '>').replace(/\r/g, ' '); - }; - - XMLStringifier.prototype.attEscape = function(str) { - return str.replace(/&/g, '&').replace(/, - * and raw CDATA nodes. - * - * @param {Element} node - * @returns {Boolean} - * @api private - */ - -function shouldIgnoreNode (node) { - return node.nodeType === 3 // text - || node.nodeType === 8 // comment - || node.nodeType === 4; // cdata -} - - -/** - * Parses a Plist XML string. Returns an Object. - * - * @param {String} xml - the XML String to decode - * @returns {Mixed} the decoded value from the Plist XML - * @api public - */ - -function parse (xml) { - var doc = new DOMParser().parseFromString(xml); - if (doc.documentElement.nodeName !== 'plist') { - throw new Error('malformed document. First element should be '); - } - var plist = parsePlistXML(doc.documentElement); - - // the root node gets interpreted as an Array, - // so pull out the inner data first - if (plist.length == 1) plist = plist[0]; - - return plist; -} - -/** - * Parses a Plist XML string. Returns an Object. Takes a `callback` function. - * - * @param {String} xml - the XML String to decode - * @param {Function} callback - callback function - * @returns {Mixed} the decoded value from the Plist XML - * @api public - * @deprecated not actually async. use parse() instead - */ - -function parseString (xml, callback) { - var doc, error, plist; - try { - doc = new DOMParser().parseFromString(xml); - plist = parsePlistXML(doc.documentElement); - } catch(e) { - error = e; - } - callback(error, plist); -} - -/** - * Parses a Plist XML string. Returns an Object. - * - * @param {String} xml - the XML String to decode - * @param {Function} callback - callback function - * @returns {Mixed} the decoded value from the Plist XML - * @api public - * @deprecated use parse() instead - */ - -function parseStringSync (xml) { - var doc = new DOMParser().parseFromString(xml); - var plist; - if (doc.documentElement.nodeName !== 'plist') { - throw new Error('malformed document. First element should be '); - } - plist = parsePlistXML(doc.documentElement); - - // if the plist is an array with 1 element, pull it out of the array - if (plist.length == 1) { - plist = plist[0]; - } - return plist; -} - -/** - * Convert an XML based plist document into a JSON representation. - * - * @param {Object} xml_node - current XML node in the plist - * @returns {Mixed} built up JSON object - * @api private - */ - -function parsePlistXML (node) { - var i, new_obj, key, val, new_arr, res, d; - - if (!node) - return null; - - if (node.nodeName === 'plist') { - new_arr = []; - for (i=0; i < node.childNodes.length; i++) { - // ignore comment nodes (text) - if (!shouldIgnoreNode(node.childNodes[i])) { - new_arr.push( parsePlistXML(node.childNodes[i])); - } - } - return new_arr; - - } else if (node.nodeName === 'dict') { - new_obj = {}; - key = null; - for (i=0; i < node.childNodes.length; i++) { - // ignore comment nodes (text) - if (!shouldIgnoreNode(node.childNodes[i])) { - if (key === null) { - key = parsePlistXML(node.childNodes[i]); - } else { - new_obj[key] = parsePlistXML(node.childNodes[i]); - key = null; - } - } - } - return new_obj; - - } else if (node.nodeName === 'array') { - new_arr = []; - for (i=0; i < node.childNodes.length; i++) { - // ignore comment nodes (text) - if (!shouldIgnoreNode(node.childNodes[i])) { - res = parsePlistXML(node.childNodes[i]); - if (null != res) new_arr.push(res); - } - } - return new_arr; - - } else if (node.nodeName === '#text') { - // TODO: what should we do with text types? (CDATA sections) - - } else if (node.nodeName === 'key') { - return node.childNodes[0].nodeValue; - - } else if (node.nodeName === 'string') { - res = ''; - for (d=0; d < node.childNodes.length; d++) { - res += node.childNodes[d].nodeValue; - } - return res; - - } else if (node.nodeName === 'integer') { - // parse as base 10 integer - return parseInt(node.childNodes[0].nodeValue, 10); - - } else if (node.nodeName === 'real') { - res = ''; - for (d=0; d < node.childNodes.length; d++) { - if (node.childNodes[d].nodeType === 3) { - res += node.childNodes[d].nodeValue; - } - } - return parseFloat(res); - - } else if (node.nodeName === 'data') { - res = ''; - for (d=0; d < node.childNodes.length; d++) { - if (node.childNodes[d].nodeType === 3) { - res += node.childNodes[d].nodeValue.replace(/\s+/g, ''); - } - } - - // decode base64 data to a Buffer instance - return new Buffer(res, 'base64'); - - } else if (node.nodeName === 'date') { - return new Date(node.childNodes[0].nodeValue); - - } else if (node.nodeName === 'true') { - return true; - - } else if (node.nodeName === 'false') { - return false; - } -} - -}).call(this,require("buffer").Buffer) -},{"buffer":3,"util-deprecate":6,"xmldom":7}],2:[function(require,module,exports){ -var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - -;(function (exports) { - 'use strict'; - - var Arr = (typeof Uint8Array !== 'undefined') - ? Uint8Array - : Array - - var PLUS = '+'.charCodeAt(0) - var SLASH = '/'.charCodeAt(0) - var NUMBER = '0'.charCodeAt(0) - var LOWER = 'a'.charCodeAt(0) - var UPPER = 'A'.charCodeAt(0) - var PLUS_URL_SAFE = '-'.charCodeAt(0) - var SLASH_URL_SAFE = '_'.charCodeAt(0) - - function decode (elt) { - var code = elt.charCodeAt(0) - if (code === PLUS || - code === PLUS_URL_SAFE) - return 62 // '+' - if (code === SLASH || - code === SLASH_URL_SAFE) - return 63 // '/' - if (code < NUMBER) - return -1 //no match - if (code < NUMBER + 10) - return code - NUMBER + 26 + 26 - if (code < UPPER + 26) - return code - UPPER - if (code < LOWER + 26) - return code - LOWER + 26 - } - - function b64ToByteArray (b64) { - var i, j, l, tmp, placeHolders, arr - - if (b64.length % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // the number of equal signs (place holders) - // if there are two placeholders, than the two characters before it - // represent one byte - // if there is only one, then the three characters before it represent 2 bytes - // this is just a cheap hack to not do indexOf twice - var len = b64.length - placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0 - - // base64 is 4/3 + up to two characters of the original data - arr = new Arr(b64.length * 3 / 4 - placeHolders) - - // if there are placeholders, only get up to the last complete 4 chars - l = placeHolders > 0 ? b64.length - 4 : b64.length - - var L = 0 - - function push (v) { - arr[L++] = v - } - - for (i = 0, j = 0; i < l; i += 4, j += 3) { - tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3)) - push((tmp & 0xFF0000) >> 16) - push((tmp & 0xFF00) >> 8) - push(tmp & 0xFF) - } - - if (placeHolders === 2) { - tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4) - push(tmp & 0xFF) - } else if (placeHolders === 1) { - tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2) - push((tmp >> 8) & 0xFF) - push(tmp & 0xFF) - } - - return arr - } - - function uint8ToBase64 (uint8) { - var i, - extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes - output = "", - temp, length - - function encode (num) { - return lookup.charAt(num) - } - - function tripletToBase64 (num) { - return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F) - } - - // go through the array every three bytes, we'll deal with trailing stuff later - for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) { - temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) - output += tripletToBase64(temp) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - switch (extraBytes) { - case 1: - temp = uint8[uint8.length - 1] - output += encode(temp >> 2) - output += encode((temp << 4) & 0x3F) - output += '==' - break - case 2: - temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1]) - output += encode(temp >> 10) - output += encode((temp >> 4) & 0x3F) - output += encode((temp << 2) & 0x3F) - output += '=' - break - } - - return output - } - - exports.toByteArray = b64ToByteArray - exports.fromByteArray = uint8ToBase64 -}(typeof exports === 'undefined' ? (this.base64js = {}) : exports)) - -},{}],3:[function(require,module,exports){ -(function (global){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -/* eslint-disable no-proto */ - -var base64 = require('base64-js') -var ieee754 = require('ieee754') -var isArray = require('is-array') - -exports.Buffer = Buffer -exports.SlowBuffer = SlowBuffer -exports.INSPECT_MAX_BYTES = 50 -Buffer.poolSize = 8192 // not used by this implementation - -var rootParent = {} - -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Use Object implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * Due to various browser bugs, sometimes the Object implementation will be used even - * when the browser supports typed arrays. - * - * Note: - * - * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, - * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. - * - * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property - * on objects. - * - * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. - * - * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of - * incorrect length in some situations. - - * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they - * get the Object implementation, which is slower but behaves correctly. - */ -Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined - ? global.TYPED_ARRAY_SUPPORT - : typedArraySupport() - -function typedArraySupport () { - function Bar () {} - try { - var arr = new Uint8Array(1) - arr.foo = function () { return 42 } - arr.constructor = Bar - return arr.foo() === 42 && // typed array instances can be augmented - arr.constructor === Bar && // constructor can be set - typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` - arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` - } catch (e) { - return false - } -} - -function kMaxLength () { - return Buffer.TYPED_ARRAY_SUPPORT - ? 0x7fffffff - : 0x3fffffff -} - -/** - * Class: Buffer - * ============= - * - * The Buffer constructor returns instances of `Uint8Array` that are augmented - * with function properties for all the node `Buffer` API functions. We use - * `Uint8Array` so that square bracket notation works as expected -- it returns - * a single octet. - * - * By augmenting the instances, we can avoid modifying the `Uint8Array` - * prototype. - */ -function Buffer (arg) { - if (!(this instanceof Buffer)) { - // Avoid going through an ArgumentsAdaptorTrampoline in the common case. - if (arguments.length > 1) return new Buffer(arg, arguments[1]) - return new Buffer(arg) - } - - this.length = 0 - this.parent = undefined - - // Common case. - if (typeof arg === 'number') { - return fromNumber(this, arg) - } - - // Slightly less common case. - if (typeof arg === 'string') { - return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8') - } - - // Unusual. - return fromObject(this, arg) -} - -function fromNumber (that, length) { - that = allocate(that, length < 0 ? 0 : checked(length) | 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) { - for (var i = 0; i < length; i++) { - that[i] = 0 - } - } - return that -} - -function fromString (that, string, encoding) { - if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8' - - // Assumption: byteLength() return value is always < kMaxLength. - var length = byteLength(string, encoding) | 0 - that = allocate(that, length) - - that.write(string, encoding) - return that -} - -function fromObject (that, object) { - if (Buffer.isBuffer(object)) return fromBuffer(that, object) - - if (isArray(object)) return fromArray(that, object) - - if (object == null) { - throw new TypeError('must start with number, buffer, array or string') - } - - if (typeof ArrayBuffer !== 'undefined') { - if (object.buffer instanceof ArrayBuffer) { - return fromTypedArray(that, object) - } - if (object instanceof ArrayBuffer) { - return fromArrayBuffer(that, object) - } - } - - if (object.length) return fromArrayLike(that, object) - - return fromJsonObject(that, object) -} - -function fromBuffer (that, buffer) { - var length = checked(buffer.length) | 0 - that = allocate(that, length) - buffer.copy(that, 0, 0, length) - return that -} - -function fromArray (that, array) { - var length = checked(array.length) | 0 - that = allocate(that, length) - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -// Duplicate of fromArray() to keep fromArray() monomorphic. -function fromTypedArray (that, array) { - var length = checked(array.length) | 0 - that = allocate(that, length) - // Truncating the elements is probably not what people expect from typed - // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior - // of the old Buffer constructor. - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -function fromArrayBuffer (that, array) { - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - array.byteLength - that = Buffer._augment(new Uint8Array(array)) - } else { - // Fallback: Return an object instance of the Buffer class - that = fromTypedArray(that, new Uint8Array(array)) - } - return that -} - -function fromArrayLike (that, array) { - var length = checked(array.length) | 0 - that = allocate(that, length) - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object. -// Returns a zero-length buffer for inputs that don't conform to the spec. -function fromJsonObject (that, object) { - var array - var length = 0 - - if (object.type === 'Buffer' && isArray(object.data)) { - array = object.data - length = checked(array.length) | 0 - } - that = allocate(that, length) - - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -if (Buffer.TYPED_ARRAY_SUPPORT) { - Buffer.prototype.__proto__ = Uint8Array.prototype - Buffer.__proto__ = Uint8Array -} - -function allocate (that, length) { - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = Buffer._augment(new Uint8Array(length)) - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - that.length = length - that._isBuffer = true - } - - var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1 - if (fromPool) that.parent = rootParent - - return that -} - -function checked (length) { - // Note: cannot use `length < kMaxLength` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= kMaxLength()) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + kMaxLength().toString(16) + ' bytes') - } - return length | 0 -} - -function SlowBuffer (subject, encoding) { - if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding) - - var buf = new Buffer(subject, encoding) - delete buf.parent - return buf -} - -Buffer.isBuffer = function isBuffer (b) { - return !!(b != null && b._isBuffer) -} - -Buffer.compare = function compare (a, b) { - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError('Arguments must be Buffers') - } - - if (a === b) return 0 - - var x = a.length - var y = b.length - - var i = 0 - var len = Math.min(x, y) - while (i < len) { - if (a[i] !== b[i]) break - - ++i - } - - if (i !== len) { - x = a[i] - y = b[i] - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -Buffer.isEncoding = function isEncoding (encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'binary': - case 'base64': - case 'raw': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } -} - -Buffer.concat = function concat (list, length) { - if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.') - - if (list.length === 0) { - return new Buffer(0) - } - - var i - if (length === undefined) { - length = 0 - for (i = 0; i < list.length; i++) { - length += list[i].length - } - } - - var buf = new Buffer(length) - var pos = 0 - for (i = 0; i < list.length; i++) { - var item = list[i] - item.copy(buf, pos) - pos += item.length - } - return buf -} - -function byteLength (string, encoding) { - if (typeof string !== 'string') string = '' + string - - var len = string.length - if (len === 0) return 0 - - // Use a for loop to avoid recursion - var loweredCase = false - for (;;) { - switch (encoding) { - case 'ascii': - case 'binary': - // Deprecated - case 'raw': - case 'raws': - return len - case 'utf8': - case 'utf-8': - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) return utf8ToBytes(string).length // assume utf8 - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} -Buffer.byteLength = byteLength - -// pre-set for values that may exist in the future -Buffer.prototype.length = undefined -Buffer.prototype.parent = undefined - -function slowToString (encoding, start, end) { - var loweredCase = false - - start = start | 0 - end = end === undefined || end === Infinity ? this.length : end | 0 - - if (!encoding) encoding = 'utf8' - if (start < 0) start = 0 - if (end > this.length) end = this.length - if (end <= start) return '' - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) - - case 'ascii': - return asciiSlice(this, start, end) - - case 'binary': - return binarySlice(this, start, end) - - case 'base64': - return base64Slice(this, start, end) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase() - loweredCase = true - } - } -} - -Buffer.prototype.toString = function toString () { - var length = this.length | 0 - if (length === 0) return '' - if (arguments.length === 0) return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) -} - -Buffer.prototype.equals = function equals (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return true - return Buffer.compare(this, b) === 0 -} - -Buffer.prototype.inspect = function inspect () { - var str = '' - var max = exports.INSPECT_MAX_BYTES - if (this.length > 0) { - str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') - if (this.length > max) str += ' ... ' - } - return '' -} - -Buffer.prototype.compare = function compare (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return 0 - return Buffer.compare(this, b) -} - -Buffer.prototype.indexOf = function indexOf (val, byteOffset) { - if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff - else if (byteOffset < -0x80000000) byteOffset = -0x80000000 - byteOffset >>= 0 - - if (this.length === 0) return -1 - if (byteOffset >= this.length) return -1 - - // Negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0) - - if (typeof val === 'string') { - if (val.length === 0) return -1 // special case: looking for empty string always fails - return String.prototype.indexOf.call(this, val, byteOffset) - } - if (Buffer.isBuffer(val)) { - return arrayIndexOf(this, val, byteOffset) - } - if (typeof val === 'number') { - if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') { - return Uint8Array.prototype.indexOf.call(this, val, byteOffset) - } - return arrayIndexOf(this, [ val ], byteOffset) - } - - function arrayIndexOf (arr, val, byteOffset) { - var foundIndex = -1 - for (var i = 0; byteOffset + i < arr.length; i++) { - if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) { - if (foundIndex === -1) foundIndex = i - if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex - } else { - foundIndex = -1 - } - } - return -1 - } - - throw new TypeError('val must be string, number or Buffer') -} - -// `get` is deprecated -Buffer.prototype.get = function get (offset) { - console.log('.get() is deprecated. Access using array indexes instead.') - return this.readUInt8(offset) -} - -// `set` is deprecated -Buffer.prototype.set = function set (v, offset) { - console.log('.set() is deprecated. Access using array indexes instead.') - return this.writeUInt8(v, offset) -} - -function hexWrite (buf, string, offset, length) { - offset = Number(offset) || 0 - var remaining = buf.length - offset - if (!length) { - length = remaining - } else { - length = Number(length) - if (length > remaining) { - length = remaining - } - } - - // must be an even number of digits - var strLen = string.length - if (strLen % 2 !== 0) throw new Error('Invalid hex string') - - if (length > strLen / 2) { - length = strLen / 2 - } - for (var i = 0; i < length; i++) { - var parsed = parseInt(string.substr(i * 2, 2), 16) - if (isNaN(parsed)) throw new Error('Invalid hex string') - buf[offset + i] = parsed - } - return i -} - -function utf8Write (buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) -} - -function asciiWrite (buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) -} - -function binaryWrite (buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) -} - -function base64Write (buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) -} - -function ucs2Write (buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) -} - -Buffer.prototype.write = function write (string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8' - length = this.length - offset = 0 - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset - length = this.length - offset = 0 - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset | 0 - if (isFinite(length)) { - length = length | 0 - if (encoding === undefined) encoding = 'utf8' - } else { - encoding = length - length = undefined - } - // legacy write(string, encoding, offset, length) - remove in v0.13 - } else { - var swap = encoding - encoding = offset - offset = length | 0 - length = swap - } - - var remaining = this.length - offset - if (length === undefined || length > remaining) length = remaining - - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('attempt to write outside buffer bounds') - } - - if (!encoding) encoding = 'utf8' - - var loweredCase = false - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) - - case 'ascii': - return asciiWrite(this, string, offset, length) - - case 'binary': - return binaryWrite(this, string, offset, length) - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} - -Buffer.prototype.toJSON = function toJSON () { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } -} - -function base64Slice (buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf) - } else { - return base64.fromByteArray(buf.slice(start, end)) - } -} - -function utf8Slice (buf, start, end) { - end = Math.min(buf.length, end) - var res = [] - - var i = start - while (i < end) { - var firstByte = buf[i] - var codePoint = null - var bytesPerSequence = (firstByte > 0xEF) ? 4 - : (firstByte > 0xDF) ? 3 - : (firstByte > 0xBF) ? 2 - : 1 - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte - } - break - case 2: - secondByte = buf[i + 1] - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint - } - } - break - case 3: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint - } - } - break - case 4: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - fourthByte = buf[i + 3] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint - } - } - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD - bytesPerSequence = 1 - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000 - res.push(codePoint >>> 10 & 0x3FF | 0xD800) - codePoint = 0xDC00 | codePoint & 0x3FF - } - - res.push(codePoint) - i += bytesPerSequence - } - - return decodeCodePointsArray(res) -} - -// Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety -var MAX_ARGUMENTS_LENGTH = 0x1000 - -function decodeCodePointsArray (codePoints) { - var len = codePoints.length - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) // avoid extra slice() - } - - // Decode in chunks to avoid "call stack size exceeded". - var res = '' - var i = 0 - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ) - } - return res -} - -function asciiSlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; i++) { - ret += String.fromCharCode(buf[i] & 0x7F) - } - return ret -} - -function binarySlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; i++) { - ret += String.fromCharCode(buf[i]) - } - return ret -} - -function hexSlice (buf, start, end) { - var len = buf.length - - if (!start || start < 0) start = 0 - if (!end || end < 0 || end > len) end = len - - var out = '' - for (var i = start; i < end; i++) { - out += toHex(buf[i]) - } - return out -} - -function utf16leSlice (buf, start, end) { - var bytes = buf.slice(start, end) - var res = '' - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) - } - return res -} - -Buffer.prototype.slice = function slice (start, end) { - var len = this.length - start = ~~start - end = end === undefined ? len : ~~end - - if (start < 0) { - start += len - if (start < 0) start = 0 - } else if (start > len) { - start = len - } - - if (end < 0) { - end += len - if (end < 0) end = 0 - } else if (end > len) { - end = len - } - - if (end < start) end = start - - var newBuf - if (Buffer.TYPED_ARRAY_SUPPORT) { - newBuf = Buffer._augment(this.subarray(start, end)) - } else { - var sliceLen = end - start - newBuf = new Buffer(sliceLen, undefined) - for (var i = 0; i < sliceLen; i++) { - newBuf[i] = this[i + start] - } - } - - if (newBuf.length) newBuf.parent = this.parent || this - - return newBuf -} - -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ -function checkOffset (offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') -} - -Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - - return val -} - -Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - checkOffset(offset, byteLength, this.length) - } - - var val = this[offset + --byteLength] - var mul = 1 - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul - } - - return val -} - -Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - return this[offset] -} - -Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return this[offset] | (this[offset + 1] << 8) -} - -Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return (this[offset] << 8) | this[offset + 1] -} - -Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return ((this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16)) + - (this[offset + 3] * 0x1000000) -} - -Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] * 0x1000000) + - ((this[offset + 1] << 16) | - (this[offset + 2] << 8) | - this[offset + 3]) -} - -Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var i = byteLength - var mul = 1 - var val = this[offset + --i] - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - if (!(this[offset] & 0x80)) return (this[offset]) - return ((0xff - this[offset] + 1) * -1) -} - -Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset] | (this[offset + 1] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset + 1] | (this[offset] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16) | - (this[offset + 3] << 24) -} - -Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] << 24) | - (this[offset + 1] << 16) | - (this[offset + 2] << 8) | - (this[offset + 3]) -} - -Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, true, 23, 4) -} - -Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, false, 23, 4) -} - -Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, true, 52, 8) -} - -Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, false, 52, 8) -} - -function checkInt (buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance') - if (value > max || value < min) throw new RangeError('value is out of bounds') - if (offset + ext > buf.length) throw new RangeError('index out of range') -} - -Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0) - - var mul = 1 - var i = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0) - - var i = byteLength - 1 - var mul = 1 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - this[offset] = (value & 0xff) - return offset + 1 -} - -function objectWriteUInt16 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) { - buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> - (littleEndian ? i : 1 - i) * 8 - } -} - -Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -function objectWriteUInt32 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffffffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) { - buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff - } -} - -Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset + 3] = (value >>> 24) - this[offset + 2] = (value >>> 16) - this[offset + 1] = (value >>> 8) - this[offset] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = 0 - var mul = 1 - var sub = value < 0 ? 1 : 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = byteLength - 1 - var mul = 1 - var sub = value < 0 ? 1 : 0 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - if (value < 0) value = 0xff + value + 1 - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - this[offset + 2] = (value >>> 16) - this[offset + 3] = (value >>> 24) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (value < 0) value = 0xffffffff + value + 1 - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -function checkIEEE754 (buf, value, offset, ext, max, min) { - if (value > max || value < min) throw new RangeError('value is out of bounds') - if (offset + ext > buf.length) throw new RangeError('index out of range') - if (offset < 0) throw new RangeError('index out of range') -} - -function writeFloat (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) - } - ieee754.write(buf, value, offset, littleEndian, 23, 4) - return offset + 4 -} - -Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) -} - -function writeDouble (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) - } - ieee754.write(buf, value, offset, littleEndian, 52, 8) - return offset + 8 -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) -} - -// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) -Buffer.prototype.copy = function copy (target, targetStart, start, end) { - if (!start) start = 0 - if (!end && end !== 0) end = this.length - if (targetStart >= target.length) targetStart = target.length - if (!targetStart) targetStart = 0 - if (end > 0 && end < start) end = start - - // Copy 0 bytes; we're done - if (end === start) return 0 - if (target.length === 0 || this.length === 0) return 0 - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') - if (end < 0) throw new RangeError('sourceEnd out of bounds') - - // Are we oob? - if (end > this.length) end = this.length - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start - } - - var len = end - start - var i - - if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (i = len - 1; i >= 0; i--) { - target[i + targetStart] = this[i + start] - } - } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { - // ascending copy from start - for (i = 0; i < len; i++) { - target[i + targetStart] = this[i + start] - } - } else { - target._set(this.subarray(start, start + len), targetStart) - } - - return len -} - -// fill(value, start=0, end=buffer.length) -Buffer.prototype.fill = function fill (value, start, end) { - if (!value) value = 0 - if (!start) start = 0 - if (!end) end = this.length - - if (end < start) throw new RangeError('end < start') - - // Fill 0 bytes; we're done - if (end === start) return - if (this.length === 0) return - - if (start < 0 || start >= this.length) throw new RangeError('start out of bounds') - if (end < 0 || end > this.length) throw new RangeError('end out of bounds') - - var i - if (typeof value === 'number') { - for (i = start; i < end; i++) { - this[i] = value - } - } else { - var bytes = utf8ToBytes(value.toString()) - var len = bytes.length - for (i = start; i < end; i++) { - this[i] = bytes[i % len] - } - } - - return this -} - -/** - * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance. - * Added in Node 0.12. Only available in browsers that support ArrayBuffer. - */ -Buffer.prototype.toArrayBuffer = function toArrayBuffer () { - if (typeof Uint8Array !== 'undefined') { - if (Buffer.TYPED_ARRAY_SUPPORT) { - return (new Buffer(this)).buffer - } else { - var buf = new Uint8Array(this.length) - for (var i = 0, len = buf.length; i < len; i += 1) { - buf[i] = this[i] - } - return buf.buffer - } - } else { - throw new TypeError('Buffer.toArrayBuffer not supported in this browser') - } -} - -// HELPER FUNCTIONS -// ================ - -var BP = Buffer.prototype - -/** - * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods - */ -Buffer._augment = function _augment (arr) { - arr.constructor = Buffer - arr._isBuffer = true - - // save reference to original Uint8Array set method before overwriting - arr._set = arr.set - - // deprecated - arr.get = BP.get - arr.set = BP.set - - arr.write = BP.write - arr.toString = BP.toString - arr.toLocaleString = BP.toString - arr.toJSON = BP.toJSON - arr.equals = BP.equals - arr.compare = BP.compare - arr.indexOf = BP.indexOf - arr.copy = BP.copy - arr.slice = BP.slice - arr.readUIntLE = BP.readUIntLE - arr.readUIntBE = BP.readUIntBE - arr.readUInt8 = BP.readUInt8 - arr.readUInt16LE = BP.readUInt16LE - arr.readUInt16BE = BP.readUInt16BE - arr.readUInt32LE = BP.readUInt32LE - arr.readUInt32BE = BP.readUInt32BE - arr.readIntLE = BP.readIntLE - arr.readIntBE = BP.readIntBE - arr.readInt8 = BP.readInt8 - arr.readInt16LE = BP.readInt16LE - arr.readInt16BE = BP.readInt16BE - arr.readInt32LE = BP.readInt32LE - arr.readInt32BE = BP.readInt32BE - arr.readFloatLE = BP.readFloatLE - arr.readFloatBE = BP.readFloatBE - arr.readDoubleLE = BP.readDoubleLE - arr.readDoubleBE = BP.readDoubleBE - arr.writeUInt8 = BP.writeUInt8 - arr.writeUIntLE = BP.writeUIntLE - arr.writeUIntBE = BP.writeUIntBE - arr.writeUInt16LE = BP.writeUInt16LE - arr.writeUInt16BE = BP.writeUInt16BE - arr.writeUInt32LE = BP.writeUInt32LE - arr.writeUInt32BE = BP.writeUInt32BE - arr.writeIntLE = BP.writeIntLE - arr.writeIntBE = BP.writeIntBE - arr.writeInt8 = BP.writeInt8 - arr.writeInt16LE = BP.writeInt16LE - arr.writeInt16BE = BP.writeInt16BE - arr.writeInt32LE = BP.writeInt32LE - arr.writeInt32BE = BP.writeInt32BE - arr.writeFloatLE = BP.writeFloatLE - arr.writeFloatBE = BP.writeFloatBE - arr.writeDoubleLE = BP.writeDoubleLE - arr.writeDoubleBE = BP.writeDoubleBE - arr.fill = BP.fill - arr.inspect = BP.inspect - arr.toArrayBuffer = BP.toArrayBuffer - - return arr -} - -var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g - -function base64clean (str) { - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = stringtrim(str).replace(INVALID_BASE64_RE, '') - // Node converts strings with length < 2 to '' - if (str.length < 2) return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '=' - } - return str -} - -function stringtrim (str) { - if (str.trim) return str.trim() - return str.replace(/^\s+|\s+$/g, '') -} - -function toHex (n) { - if (n < 16) return '0' + n.toString(16) - return n.toString(16) -} - -function utf8ToBytes (string, units) { - units = units || Infinity - var codePoint - var length = string.length - var leadSurrogate = null - var bytes = [] - - for (var i = 0; i < length; i++) { - codePoint = string.charCodeAt(i) - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } - - // valid lead - leadSurrogate = codePoint - - continue - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - leadSurrogate = codePoint - continue - } - - // valid surrogate pair - codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000 - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - } - - leadSurrogate = null - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break - bytes.push(codePoint) - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else { - throw new Error('Invalid code point') - } - } - - return bytes -} - -function asciiToBytes (str) { - var byteArray = [] - for (var i = 0; i < str.length; i++) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF) - } - return byteArray -} - -function utf16leToBytes (str, units) { - var c, hi, lo - var byteArray = [] - for (var i = 0; i < str.length; i++) { - if ((units -= 2) < 0) break - - c = str.charCodeAt(i) - hi = c >> 8 - lo = c % 256 - byteArray.push(lo) - byteArray.push(hi) - } - - return byteArray -} - -function base64ToBytes (str) { - return base64.toByteArray(base64clean(str)) -} - -function blitBuffer (src, dst, offset, length) { - for (var i = 0; i < length; i++) { - if ((i + offset >= dst.length) || (i >= src.length)) break - dst[i + offset] = src[i] - } - return i -} - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"base64-js":2,"ieee754":4,"is-array":5}],4:[function(require,module,exports){ -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var nBits = -7 - var i = isLE ? (nBytes - 1) : 0 - var d = isLE ? -1 : 1 - var s = buffer[offset + i] - - i += d - - e = s & ((1 << (-nBits)) - 1) - s >>= (-nBits) - nBits += eLen - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1) - e >>= (-nBits) - nBits += mLen - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen) - e = e - eBias - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) -} - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) - var i = isLE ? 0 : (nBytes - 1) - var d = isLE ? 1 : -1 - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 - - value = Math.abs(value) - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0 - e = eMax - } else { - e = Math.floor(Math.log(value) / Math.LN2) - if (value * (c = Math.pow(2, -e)) < 1) { - e-- - c *= 2 - } - if (e + eBias >= 1) { - value += rt / c - } else { - value += rt * Math.pow(2, 1 - eBias) - } - if (value * c >= 2) { - e++ - c /= 2 - } - - if (e + eBias >= eMax) { - m = 0 - e = eMax - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen) - e = e + eBias - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) - e = 0 - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m - eLen += mLen - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128 -} - -},{}],5:[function(require,module,exports){ - -/** - * isArray - */ - -var isArray = Array.isArray; - -/** - * toString - */ - -var str = Object.prototype.toString; - -/** - * Whether or not the given `val` - * is an array. - * - * example: - * - * isArray([]); - * // > true - * isArray(arguments); - * // > false - * isArray(''); - * // > false - * - * @param {mixed} val - * @return {bool} - */ - -module.exports = isArray || function (val) { - return !! val && '[object Array]' == str.call(val); -}; - -},{}],6:[function(require,module,exports){ -(function (global){ - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate (fn, msg) { - if (config('noDeprecation')) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config (name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],7:[function(require,module,exports){ -function DOMParser(options){ - this.options = options ||{locator:{}}; - -} -DOMParser.prototype.parseFromString = function(source,mimeType){ - var options = this.options; - var sax = new XMLReader(); - var domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler - var errorHandler = options.errorHandler; - var locator = options.locator; - var defaultNSMap = options.xmlns||{}; - var entityMap = {'lt':'<','gt':'>','amp':'&','quot':'"','apos':"'"} - if(locator){ - domBuilder.setDocumentLocator(locator) - } - - sax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator); - sax.domBuilder = options.domBuilder || domBuilder; - if(/\/x?html?$/.test(mimeType)){ - entityMap.nbsp = '\xa0'; - entityMap.copy = '\xa9'; - defaultNSMap['']= 'http://www.w3.org/1999/xhtml'; - } - if(source){ - sax.parse(source,defaultNSMap,entityMap); - }else{ - sax.errorHandler.error("invalid document source"); - } - return domBuilder.document; -} -function buildErrorHandler(errorImpl,domBuilder,locator){ - if(!errorImpl){ - if(domBuilder instanceof DOMHandler){ - return domBuilder; - } - errorImpl = domBuilder ; - } - var errorHandler = {} - var isCallback = errorImpl instanceof Function; - locator = locator||{} - function build(key){ - var fn = errorImpl[key]; - if(!fn){ - if(isCallback){ - fn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl; - }else{ - var i=arguments.length; - while(--i){ - if(fn = errorImpl[arguments[i]]){ - break; - } - } - } - } - errorHandler[key] = fn && function(msg){ - fn(msg+_locator(locator)); - }||function(){}; - } - build('warning','warn'); - build('error','warn','warning'); - build('fatalError','warn','warning','error'); - return errorHandler; -} -/** - * +ContentHandler+ErrorHandler - * +LexicalHandler+EntityResolver2 - * -DeclHandler-DTDHandler - * - * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler - * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2 - * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html - */ -function DOMHandler() { - this.cdata = false; -} -function position(locator,node){ - node.lineNumber = locator.lineNumber; - node.columnNumber = locator.columnNumber; -} -/** - * @see org.xml.sax.ContentHandler#startDocument - * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html - */ -DOMHandler.prototype = { - startDocument : function() { - this.document = new DOMImplementation().createDocument(null, null, null); - if (this.locator) { - this.document.documentURI = this.locator.systemId; - } - }, - startElement:function(namespaceURI, localName, qName, attrs) { - var doc = this.document; - var el = doc.createElementNS(namespaceURI, qName||localName); - var len = attrs.length; - appendElement(this, el); - this.currentElement = el; - - this.locator && position(this.locator,el) - for (var i = 0 ; i < len; i++) { - var namespaceURI = attrs.getURI(i); - var value = attrs.getValue(i); - var qName = attrs.getQName(i); - var attr = doc.createAttributeNS(namespaceURI, qName); - if( attr.getOffset){ - position(attr.getOffset(1),attr) - } - attr.value = attr.nodeValue = value; - el.setAttributeNode(attr) - } - }, - endElement:function(namespaceURI, localName, qName) { - var current = this.currentElement - var tagName = current.tagName; - this.currentElement = current.parentNode; - }, - startPrefixMapping:function(prefix, uri) { - }, - endPrefixMapping:function(prefix) { - }, - processingInstruction:function(target, data) { - var ins = this.document.createProcessingInstruction(target, data); - this.locator && position(this.locator,ins) - appendElement(this, ins); - }, - ignorableWhitespace:function(ch, start, length) { - }, - characters:function(chars, start, length) { - chars = _toString.apply(this,arguments) - //console.log(chars) - if(this.currentElement && chars){ - if (this.cdata) { - var charNode = this.document.createCDATASection(chars); - this.currentElement.appendChild(charNode); - } else { - var charNode = this.document.createTextNode(chars); - this.currentElement.appendChild(charNode); - } - this.locator && position(this.locator,charNode) - } - }, - skippedEntity:function(name) { - }, - endDocument:function() { - this.document.normalize(); - }, - setDocumentLocator:function (locator) { - if(this.locator = locator){// && !('lineNumber' in locator)){ - locator.lineNumber = 0; - } - }, - //LexicalHandler - comment:function(chars, start, length) { - chars = _toString.apply(this,arguments) - var comm = this.document.createComment(chars); - this.locator && position(this.locator,comm) - appendElement(this, comm); - }, - - startCDATA:function() { - //used in characters() methods - this.cdata = true; - }, - endCDATA:function() { - this.cdata = false; - }, - - startDTD:function(name, publicId, systemId) { - var impl = this.document.implementation; - if (impl && impl.createDocumentType) { - var dt = impl.createDocumentType(name, publicId, systemId); - this.locator && position(this.locator,dt) - appendElement(this, dt); - } - }, - /** - * @see org.xml.sax.ErrorHandler - * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html - */ - warning:function(error) { - console.warn(error,_locator(this.locator)); - }, - error:function(error) { - console.error(error,_locator(this.locator)); - }, - fatalError:function(error) { - console.error(error,_locator(this.locator)); - throw error; - } -} -function _locator(l){ - if(l){ - return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']' - } -} -function _toString(chars,start,length){ - if(typeof chars == 'string'){ - return chars.substr(start,length) - }else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)") - if(chars.length >= start+length || start){ - return new java.lang.String(chars,start,length)+''; - } - return chars; - } -} - -/* - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html - * used method of org.xml.sax.ext.LexicalHandler: - * #comment(chars, start, length) - * #startCDATA() - * #endCDATA() - * #startDTD(name, publicId, systemId) - * - * - * IGNORED method of org.xml.sax.ext.LexicalHandler: - * #endDTD() - * #startEntity(name) - * #endEntity(name) - * - * - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html - * IGNORED method of org.xml.sax.ext.DeclHandler - * #attributeDecl(eName, aName, type, mode, value) - * #elementDecl(name, model) - * #externalEntityDecl(name, publicId, systemId) - * #internalEntityDecl(name, value) - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html - * IGNORED method of org.xml.sax.EntityResolver2 - * #resolveEntity(String name,String publicId,String baseURI,String systemId) - * #resolveEntity(publicId, systemId) - * #getExternalSubset(name, baseURI) - * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html - * IGNORED method of org.xml.sax.DTDHandler - * #notationDecl(name, publicId, systemId) {}; - * #unparsedEntityDecl(name, publicId, systemId, notationName) {}; - */ -"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){ - DOMHandler.prototype[key] = function(){return null} -}) - -/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */ -function appendElement (hander,node) { - if (!hander.currentElement) { - hander.document.appendChild(node); - } else { - hander.currentElement.appendChild(node); - } -}//appendChild and setAttributeNS are preformance key - -if(typeof require == 'function'){ - var XMLReader = require('./sax').XMLReader; - var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation; - exports.XMLSerializer = require('./dom').XMLSerializer ; - exports.DOMParser = DOMParser; -} - -},{"./dom":8,"./sax":9}],8:[function(require,module,exports){ -/* - * DOM Level 2 - * Object DOMException - * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - */ - -function copy(src,dest){ - for(var p in src){ - dest[p] = src[p]; - } -} -/** -^\w+\.prototype\.([_\w]+)\s*=\s*((?:.*\{\s*?[\r\n][\s\S]*?^})|\S.*?(?=[;\r\n]));? -^\w+\.prototype\.([_\w]+)\s*=\s*(\S.*?(?=[;\r\n]));? - */ -function _extends(Class,Super){ - var pt = Class.prototype; - if(Object.create){ - var ppt = Object.create(Super.prototype) - pt.__proto__ = ppt; - } - if(!(pt instanceof Super)){ - function t(){}; - t.prototype = Super.prototype; - t = new t(); - copy(pt,t); - Class.prototype = pt = t; - } - if(pt.constructor != Class){ - if(typeof Class != 'function'){ - console.error("unknow Class:"+Class) - } - pt.constructor = Class - } -} -var htmlns = 'http://www.w3.org/1999/xhtml' ; -// Node Types -var NodeType = {} -var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1; -var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2; -var TEXT_NODE = NodeType.TEXT_NODE = 3; -var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4; -var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5; -var ENTITY_NODE = NodeType.ENTITY_NODE = 6; -var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7; -var COMMENT_NODE = NodeType.COMMENT_NODE = 8; -var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9; -var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10; -var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11; -var NOTATION_NODE = NodeType.NOTATION_NODE = 12; - -// ExceptionCode -var ExceptionCode = {} -var ExceptionMessage = {}; -var INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]="Index size error"),1); -var DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2); -var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3); -var WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4); -var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5); -var NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6); -var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7); -var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8); -var NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]="Not supported"),9); -var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]="Attribute in use"),10); -//level2 -var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = ((ExceptionMessage[11]="Invalid state"),11); -var SYNTAX_ERR = ExceptionCode.SYNTAX_ERR = ((ExceptionMessage[12]="Syntax error"),12); -var INVALID_MODIFICATION_ERR = ExceptionCode.INVALID_MODIFICATION_ERR = ((ExceptionMessage[13]="Invalid modification"),13); -var NAMESPACE_ERR = ExceptionCode.NAMESPACE_ERR = ((ExceptionMessage[14]="Invalid namespace"),14); -var INVALID_ACCESS_ERR = ExceptionCode.INVALID_ACCESS_ERR = ((ExceptionMessage[15]="Invalid access"),15); - - -function DOMException(code, message) { - if(message instanceof Error){ - var error = message; - }else{ - error = this; - Error.call(this, ExceptionMessage[code]); - this.message = ExceptionMessage[code]; - if(Error.captureStackTrace) Error.captureStackTrace(this, DOMException); - } - error.code = code; - if(message) this.message = this.message + ": " + message; - return error; -}; -DOMException.prototype = Error.prototype; -copy(ExceptionCode,DOMException) -/** - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177 - * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live. - * The items in the NodeList are accessible via an integral index, starting from 0. - */ -function NodeList() { -}; -NodeList.prototype = { - /** - * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive. - * @standard level1 - */ - length:0, - /** - * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null. - * @standard level1 - * @param index unsigned long - * Index into the collection. - * @return Node - * The node at the indexth position in the NodeList, or null if that is not a valid index. - */ - item: function(index) { - return this[index] || null; - } -}; -function LiveNodeList(node,refresh){ - this._node = node; - this._refresh = refresh - _updateLiveList(this); -} -function _updateLiveList(list){ - var inc = list._node._inc || list._node.ownerDocument._inc; - if(list._inc != inc){ - var ls = list._refresh(list._node); - //console.log(ls.length) - __set__(list,'length',ls.length); - copy(ls,list); - list._inc = inc; - } -} -LiveNodeList.prototype.item = function(i){ - _updateLiveList(this); - return this[i]; -} - -_extends(LiveNodeList,NodeList); -/** - * - * Objects implementing the NamedNodeMap interface are used to represent collections of nodes that can be accessed by name. Note that NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not maintained in any particular order. Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents of a NamedNodeMap, and does not imply that the DOM specifies an order to these Nodes. - * NamedNodeMap objects in the DOM are live. - * used for attributes or DocumentType entities - */ -function NamedNodeMap() { -}; - -function _findNodeIndex(list,node){ - var i = list.length; - while(i--){ - if(list[i] === node){return i} - } -} - -function _addNamedNode(el,list,newAttr,oldAttr){ - if(oldAttr){ - list[_findNodeIndex(list,oldAttr)] = newAttr; - }else{ - list[list.length++] = newAttr; - } - if(el){ - newAttr.ownerElement = el; - var doc = el.ownerDocument; - if(doc){ - oldAttr && _onRemoveAttribute(doc,el,oldAttr); - _onAddAttribute(doc,el,newAttr); - } - } -} -function _removeNamedNode(el,list,attr){ - var i = _findNodeIndex(list,attr); - if(i>=0){ - var lastIndex = list.length-1 - while(i0 || key == 'xmlns'){ -// return null; -// } - var i = this.length; - while(i--){ - var attr = this[i]; - if(attr.nodeName == key){ - return attr; - } - } - }, - setNamedItem: function(attr) { - var el = attr.ownerElement; - if(el && el!=this._ownerElement){ - throw new DOMException(INUSE_ATTRIBUTE_ERR); - } - var oldAttr = this.getNamedItem(attr.nodeName); - _addNamedNode(this._ownerElement,this,attr,oldAttr); - return oldAttr; - }, - /* returns Node */ - setNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR - var el = attr.ownerElement, oldAttr; - if(el && el!=this._ownerElement){ - throw new DOMException(INUSE_ATTRIBUTE_ERR); - } - oldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName); - _addNamedNode(this._ownerElement,this,attr,oldAttr); - return oldAttr; - }, - - /* returns Node */ - removeNamedItem: function(key) { - var attr = this.getNamedItem(key); - _removeNamedNode(this._ownerElement,this,attr); - return attr; - - - },// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR - - //for level2 - removeNamedItemNS:function(namespaceURI,localName){ - var attr = this.getNamedItemNS(namespaceURI,localName); - _removeNamedNode(this._ownerElement,this,attr); - return attr; - }, - getNamedItemNS: function(namespaceURI, localName) { - var i = this.length; - while(i--){ - var node = this[i]; - if(node.localName == localName && node.namespaceURI == namespaceURI){ - return node; - } - } - return null; - } -}; -/** - * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 - */ -function DOMImplementation(/* Object */ features) { - this._features = {}; - if (features) { - for (var feature in features) { - this._features = features[feature]; - } - } -}; - -DOMImplementation.prototype = { - hasFeature: function(/* string */ feature, /* string */ version) { - var versions = this._features[feature.toLowerCase()]; - if (versions && (!version || version in versions)) { - return true; - } else { - return false; - } - }, - // Introduced in DOM Level 2: - createDocument:function(namespaceURI, qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR - var doc = new Document(); - doc.doctype = doctype; - if(doctype){ - doc.appendChild(doctype); - } - doc.implementation = this; - doc.childNodes = new NodeList(); - if(qualifiedName){ - var root = doc.createElementNS(namespaceURI,qualifiedName); - doc.appendChild(root); - } - return doc; - }, - // Introduced in DOM Level 2: - createDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR - var node = new DocumentType(); - node.name = qualifiedName; - node.nodeName = qualifiedName; - node.publicId = publicId; - node.systemId = systemId; - // Introduced in DOM Level 2: - //readonly attribute DOMString internalSubset; - - //TODO:.. - // readonly attribute NamedNodeMap entities; - // readonly attribute NamedNodeMap notations; - return node; - } -}; - - -/** - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247 - */ - -function Node() { -}; - -Node.prototype = { - firstChild : null, - lastChild : null, - previousSibling : null, - nextSibling : null, - attributes : null, - parentNode : null, - childNodes : null, - ownerDocument : null, - nodeValue : null, - namespaceURI : null, - prefix : null, - localName : null, - // Modified in DOM Level 2: - insertBefore:function(newChild, refChild){//raises - return _insertBefore(this,newChild,refChild); - }, - replaceChild:function(newChild, oldChild){//raises - this.insertBefore(newChild,oldChild); - if(oldChild){ - this.removeChild(oldChild); - } - }, - removeChild:function(oldChild){ - return _removeChild(this,oldChild); - }, - appendChild:function(newChild){ - return this.insertBefore(newChild,null); - }, - hasChildNodes:function(){ - return this.firstChild != null; - }, - cloneNode:function(deep){ - return cloneNode(this.ownerDocument||this,this,deep); - }, - // Modified in DOM Level 2: - normalize:function(){ - var child = this.firstChild; - while(child){ - var next = child.nextSibling; - if(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){ - this.removeChild(next); - child.appendData(next.data); - }else{ - child.normalize(); - child = next; - } - } - }, - // Introduced in DOM Level 2: - isSupported:function(feature, version){ - return this.ownerDocument.implementation.hasFeature(feature,version); - }, - // Introduced in DOM Level 2: - hasAttributes:function(){ - return this.attributes.length>0; - }, - lookupPrefix:function(namespaceURI){ - var el = this; - while(el){ - var map = el._nsMap; - //console.dir(map) - if(map){ - for(var n in map){ - if(map[n] == namespaceURI){ - return n; - } - } - } - el = el.nodeType == 2?el.ownerDocument : el.parentNode; - } - return null; - }, - // Introduced in DOM Level 3: - lookupNamespaceURI:function(prefix){ - var el = this; - while(el){ - var map = el._nsMap; - //console.dir(map) - if(map){ - if(prefix in map){ - return map[prefix] ; - } - } - el = el.nodeType == 2?el.ownerDocument : el.parentNode; - } - return null; - }, - // Introduced in DOM Level 3: - isDefaultNamespace:function(namespaceURI){ - var prefix = this.lookupPrefix(namespaceURI); - return prefix == null; - } -}; - - -function _xmlEncoder(c){ - return c == '<' && '<' || - c == '>' && '>' || - c == '&' && '&' || - c == '"' && '"' || - '&#'+c.charCodeAt()+';' -} - - -copy(NodeType,Node); -copy(NodeType,Node.prototype); - -/** - * @param callback return true for continue,false for break - * @return boolean true: break visit; - */ -function _visitNode(node,callback){ - if(callback(node)){ - return true; - } - if(node = node.firstChild){ - do{ - if(_visitNode(node,callback)){return true} - }while(node=node.nextSibling) - } -} - - - -function Document(){ -} -function _onAddAttribute(doc,el,newAttr){ - doc && doc._inc++; - var ns = newAttr.namespaceURI ; - if(ns == 'http://www.w3.org/2000/xmlns/'){ - //update namespace - el._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value - } -} -function _onRemoveAttribute(doc,el,newAttr,remove){ - doc && doc._inc++; - var ns = newAttr.namespaceURI ; - if(ns == 'http://www.w3.org/2000/xmlns/'){ - //update namespace - delete el._nsMap[newAttr.prefix?newAttr.localName:''] - } -} -function _onUpdateChild(doc,el,newChild){ - if(doc && doc._inc){ - doc._inc++; - //update childNodes - var cs = el.childNodes; - if(newChild){ - cs[cs.length++] = newChild; - }else{ - //console.log(1) - var child = el.firstChild; - var i = 0; - while(child){ - cs[i++] = child; - child =child.nextSibling; - } - cs.length = i; - } - } -} - -/** - * attributes; - * children; - * - * writeable properties: - * nodeValue,Attr:value,CharacterData:data - * prefix - */ -function _removeChild(parentNode,child){ - var previous = child.previousSibling; - var next = child.nextSibling; - if(previous){ - previous.nextSibling = next; - }else{ - parentNode.firstChild = next - } - if(next){ - next.previousSibling = previous; - }else{ - parentNode.lastChild = previous; - } - _onUpdateChild(parentNode.ownerDocument,parentNode); - return child; -} -/** - * preformance key(refChild == null) - */ -function _insertBefore(parentNode,newChild,nextChild){ - var cp = newChild.parentNode; - if(cp){ - cp.removeChild(newChild);//remove and update - } - if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){ - var newFirst = newChild.firstChild; - if (newFirst == null) { - return newChild; - } - var newLast = newChild.lastChild; - }else{ - newFirst = newLast = newChild; - } - var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild; - - newFirst.previousSibling = pre; - newLast.nextSibling = nextChild; - - - if(pre){ - pre.nextSibling = newFirst; - }else{ - parentNode.firstChild = newFirst; - } - if(nextChild == null){ - parentNode.lastChild = newLast; - }else{ - nextChild.previousSibling = newLast; - } - do{ - newFirst.parentNode = parentNode; - }while(newFirst !== newLast && (newFirst= newFirst.nextSibling)) - _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode); - //console.log(parentNode.lastChild.nextSibling == null) - if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) { - newChild.firstChild = newChild.lastChild = null; - } - return newChild; -} -function _appendSingleChild(parentNode,newChild){ - var cp = newChild.parentNode; - if(cp){ - var pre = parentNode.lastChild; - cp.removeChild(newChild);//remove and update - var pre = parentNode.lastChild; - } - var pre = parentNode.lastChild; - newChild.parentNode = parentNode; - newChild.previousSibling = pre; - newChild.nextSibling = null; - if(pre){ - pre.nextSibling = newChild; - }else{ - parentNode.firstChild = newChild; - } - parentNode.lastChild = newChild; - _onUpdateChild(parentNode.ownerDocument,parentNode,newChild); - return newChild; - //console.log("__aa",parentNode.lastChild.nextSibling == null) -} -Document.prototype = { - //implementation : null, - nodeName : '#document', - nodeType : DOCUMENT_NODE, - doctype : null, - documentElement : null, - _inc : 1, - - insertBefore : function(newChild, refChild){//raises - if(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){ - var child = newChild.firstChild; - while(child){ - var next = child.nextSibling; - this.insertBefore(child,refChild); - child = next; - } - return newChild; - } - if(this.documentElement == null && newChild.nodeType == 1){ - this.documentElement = newChild; - } - - return _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild; - }, - removeChild : function(oldChild){ - if(this.documentElement == oldChild){ - this.documentElement = null; - } - return _removeChild(this,oldChild); - }, - // Introduced in DOM Level 2: - importNode : function(importedNode,deep){ - return importNode(this,importedNode,deep); - }, - // Introduced in DOM Level 2: - getElementById : function(id){ - var rtv = null; - _visitNode(this.documentElement,function(node){ - if(node.nodeType == 1){ - if(node.getAttribute('id') == id){ - rtv = node; - return true; - } - } - }) - return rtv; - }, - - //document factory method: - createElement : function(tagName){ - var node = new Element(); - node.ownerDocument = this; - node.nodeName = tagName; - node.tagName = tagName; - node.childNodes = new NodeList(); - var attrs = node.attributes = new NamedNodeMap(); - attrs._ownerElement = node; - return node; - }, - createDocumentFragment : function(){ - var node = new DocumentFragment(); - node.ownerDocument = this; - node.childNodes = new NodeList(); - return node; - }, - createTextNode : function(data){ - var node = new Text(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createComment : function(data){ - var node = new Comment(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createCDATASection : function(data){ - var node = new CDATASection(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createProcessingInstruction : function(target,data){ - var node = new ProcessingInstruction(); - node.ownerDocument = this; - node.tagName = node.target = target; - node.nodeValue= node.data = data; - return node; - }, - createAttribute : function(name){ - var node = new Attr(); - node.ownerDocument = this; - node.name = name; - node.nodeName = name; - node.localName = name; - node.specified = true; - return node; - }, - createEntityReference : function(name){ - var node = new EntityReference(); - node.ownerDocument = this; - node.nodeName = name; - return node; - }, - // Introduced in DOM Level 2: - createElementNS : function(namespaceURI,qualifiedName){ - var node = new Element(); - var pl = qualifiedName.split(':'); - var attrs = node.attributes = new NamedNodeMap(); - node.childNodes = new NodeList(); - node.ownerDocument = this; - node.nodeName = qualifiedName; - node.tagName = qualifiedName; - node.namespaceURI = namespaceURI; - if(pl.length == 2){ - node.prefix = pl[0]; - node.localName = pl[1]; - }else{ - //el.prefix = null; - node.localName = qualifiedName; - } - attrs._ownerElement = node; - return node; - }, - // Introduced in DOM Level 2: - createAttributeNS : function(namespaceURI,qualifiedName){ - var node = new Attr(); - var pl = qualifiedName.split(':'); - node.ownerDocument = this; - node.nodeName = qualifiedName; - node.name = qualifiedName; - node.namespaceURI = namespaceURI; - node.specified = true; - if(pl.length == 2){ - node.prefix = pl[0]; - node.localName = pl[1]; - }else{ - //el.prefix = null; - node.localName = qualifiedName; - } - return node; - } -}; -_extends(Document,Node); - - -function Element() { - this._nsMap = {}; -}; -Element.prototype = { - nodeType : ELEMENT_NODE, - hasAttribute : function(name){ - return this.getAttributeNode(name)!=null; - }, - getAttribute : function(name){ - var attr = this.getAttributeNode(name); - return attr && attr.value || ''; - }, - getAttributeNode : function(name){ - return this.attributes.getNamedItem(name); - }, - setAttribute : function(name, value){ - var attr = this.ownerDocument.createAttribute(name); - attr.value = attr.nodeValue = "" + value; - this.setAttributeNode(attr) - }, - removeAttribute : function(name){ - var attr = this.getAttributeNode(name) - attr && this.removeAttributeNode(attr); - }, - - //four real opeartion method - appendChild:function(newChild){ - if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){ - return this.insertBefore(newChild,null); - }else{ - return _appendSingleChild(this,newChild); - } - }, - setAttributeNode : function(newAttr){ - return this.attributes.setNamedItem(newAttr); - }, - setAttributeNodeNS : function(newAttr){ - return this.attributes.setNamedItemNS(newAttr); - }, - removeAttributeNode : function(oldAttr){ - return this.attributes.removeNamedItem(oldAttr.nodeName); - }, - //get real attribute name,and remove it by removeAttributeNode - removeAttributeNS : function(namespaceURI, localName){ - var old = this.getAttributeNodeNS(namespaceURI, localName); - old && this.removeAttributeNode(old); - }, - - hasAttributeNS : function(namespaceURI, localName){ - return this.getAttributeNodeNS(namespaceURI, localName)!=null; - }, - getAttributeNS : function(namespaceURI, localName){ - var attr = this.getAttributeNodeNS(namespaceURI, localName); - return attr && attr.value || ''; - }, - setAttributeNS : function(namespaceURI, qualifiedName, value){ - var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); - attr.value = attr.nodeValue = value; - this.setAttributeNode(attr) - }, - getAttributeNodeNS : function(namespaceURI, localName){ - return this.attributes.getNamedItemNS(namespaceURI, localName); - }, - - getElementsByTagName : function(tagName){ - return new LiveNodeList(this,function(base){ - var ls = []; - _visitNode(base,function(node){ - if(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){ - ls.push(node); - } - }); - return ls; - }); - }, - getElementsByTagNameNS : function(namespaceURI, localName){ - return new LiveNodeList(this,function(base){ - var ls = []; - _visitNode(base,function(node){ - if(node !== base && node.nodeType === ELEMENT_NODE && node.namespaceURI === namespaceURI && (localName === '*' || node.localName == localName)){ - ls.push(node); - } - }); - return ls; - }); - } -}; -Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName; -Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS; - - -_extends(Element,Node); -function Attr() { -}; -Attr.prototype.nodeType = ATTRIBUTE_NODE; -_extends(Attr,Node); - - -function CharacterData() { -}; -CharacterData.prototype = { - data : '', - substringData : function(offset, count) { - return this.data.substring(offset, offset+count); - }, - appendData: function(text) { - text = this.data+text; - this.nodeValue = this.data = text; - this.length = text.length; - }, - insertData: function(offset,text) { - this.replaceData(offset,0,text); - - }, - appendChild:function(newChild){ - //if(!(newChild instanceof CharacterData)){ - throw new Error(ExceptionMessage[3]) - //} - return Node.prototype.appendChild.apply(this,arguments) - }, - deleteData: function(offset, count) { - this.replaceData(offset,count,""); - }, - replaceData: function(offset, count, text) { - var start = this.data.substring(0,offset); - var end = this.data.substring(offset+count); - text = start + text + end; - this.nodeValue = this.data = text; - this.length = text.length; - } -} -_extends(CharacterData,Node); -function Text() { -}; -Text.prototype = { - nodeName : "#text", - nodeType : TEXT_NODE, - splitText : function(offset) { - var text = this.data; - var newText = text.substring(offset); - text = text.substring(0, offset); - this.data = this.nodeValue = text; - this.length = text.length; - var newNode = this.ownerDocument.createTextNode(newText); - if(this.parentNode){ - this.parentNode.insertBefore(newNode, this.nextSibling); - } - return newNode; - } -} -_extends(Text,CharacterData); -function Comment() { -}; -Comment.prototype = { - nodeName : "#comment", - nodeType : COMMENT_NODE -} -_extends(Comment,CharacterData); - -function CDATASection() { -}; -CDATASection.prototype = { - nodeName : "#cdata-section", - nodeType : CDATA_SECTION_NODE -} -_extends(CDATASection,CharacterData); - - -function DocumentType() { -}; -DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE; -_extends(DocumentType,Node); - -function Notation() { -}; -Notation.prototype.nodeType = NOTATION_NODE; -_extends(Notation,Node); - -function Entity() { -}; -Entity.prototype.nodeType = ENTITY_NODE; -_extends(Entity,Node); - -function EntityReference() { -}; -EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE; -_extends(EntityReference,Node); - -function DocumentFragment() { -}; -DocumentFragment.prototype.nodeName = "#document-fragment"; -DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE; -_extends(DocumentFragment,Node); - - -function ProcessingInstruction() { -} -ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE; -_extends(ProcessingInstruction,Node); -function XMLSerializer(){} -XMLSerializer.prototype.serializeToString = function(node){ - var buf = []; - serializeToString(node,buf); - return buf.join(''); -} -Node.prototype.toString =function(){ - return XMLSerializer.prototype.serializeToString(this); -} -function serializeToString(node,buf){ - switch(node.nodeType){ - case ELEMENT_NODE: - var attrs = node.attributes; - var len = attrs.length; - var child = node.firstChild; - var nodeName = node.tagName; - var isHTML = htmlns === node.namespaceURI - buf.push('<',nodeName); - for(var i=0;i'); - //if is cdata child node - if(isHTML && /^script$/i.test(nodeName)){ - if(child){ - buf.push(child.data); - } - }else{ - while(child){ - serializeToString(child,buf); - child = child.nextSibling; - } - } - buf.push(''); - }else{ - buf.push('/>'); - } - return; - case DOCUMENT_NODE: - case DOCUMENT_FRAGMENT_NODE: - var child = node.firstChild; - while(child){ - serializeToString(child,buf); - child = child.nextSibling; - } - return; - case ATTRIBUTE_NODE: - return buf.push(' ',node.name,'="',node.value.replace(/[<&"]/g,_xmlEncoder),'"'); - case TEXT_NODE: - return buf.push(node.data.replace(/[<&]/g,_xmlEncoder)); - case CDATA_SECTION_NODE: - return buf.push( ''); - case COMMENT_NODE: - return buf.push( ""); - case DOCUMENT_TYPE_NODE: - var pubid = node.publicId; - var sysid = node.systemId; - buf.push(''); - }else if(sysid && sysid!='.'){ - buf.push(' SYSTEM "',sysid,'">'); - }else{ - var sub = node.internalSubset; - if(sub){ - buf.push(" [",sub,"]"); - } - buf.push(">"); - } - return; - case PROCESSING_INSTRUCTION_NODE: - return buf.push( ""); - case ENTITY_REFERENCE_NODE: - return buf.push( '&',node.nodeName,';'); - //case ENTITY_NODE: - //case NOTATION_NODE: - default: - buf.push('??',node.nodeName); - } -} -function importNode(doc,node,deep){ - var node2; - switch (node.nodeType) { - case ELEMENT_NODE: - node2 = node.cloneNode(false); - node2.ownerDocument = doc; - //var attrs = node2.attributes; - //var len = attrs.length; - //for(var i=0;i - -function XMLReader(){ - -} - -XMLReader.prototype = { - parse:function(source,defaultNSMap,entityMap){ - var domBuilder = this.domBuilder; - domBuilder.startDocument(); - _copy(defaultNSMap ,defaultNSMap = {}) - parse(source,defaultNSMap,entityMap, - domBuilder,this.errorHandler); - domBuilder.endDocument(); - } -} -function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ - function fixedFromCharCode(code) { - // String.prototype.fromCharCode does not supports - // > 2 bytes unicode chars directly - if (code > 0xffff) { - code -= 0x10000; - var surrogate1 = 0xd800 + (code >> 10) - , surrogate2 = 0xdc00 + (code & 0x3ff); - - return String.fromCharCode(surrogate1, surrogate2); - } else { - return String.fromCharCode(code); - } - } - function entityReplacer(a){ - var k = a.slice(1,-1); - if(k in entityMap){ - return entityMap[k]; - }else if(k.charAt(0) === '#'){ - return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x'))) - }else{ - errorHandler.error('entity not found:'+a); - return a; - } - } - function appendText(end){//has some bugs - var xt = source.substring(start,end).replace(/&#?\w+;/g,entityReplacer); - locator&&position(start); - domBuilder.characters(xt,0,end-start); - start = end - } - function position(start,m){ - while(start>=endPos && (m = linePattern.exec(source))){ - startPos = m.index; - endPos = startPos + m[0].length; - locator.lineNumber++; - //console.log('line++:',locator,startPos,endPos) - } - locator.columnNumber = start-startPos+1; - } - var startPos = 0; - var endPos = 0; - var linePattern = /.+(?:\r\n?|\n)|.*$/g - var locator = domBuilder.locator; - - var parseStack = [{currentNSMap:defaultNSMapCopy}] - var closeMap = {}; - var start = 0; - while(true){ - var i = source.indexOf('<',start); - if(i<0){ - if(!source.substr(start).match(/^\s*$/)){ - var doc = domBuilder.document; - var text = doc.createTextNode(source.substr(start)); - doc.appendChild(text); - domBuilder.currentElement = text; - } - return; - } - if(i>start){ - appendText(i); - } - switch(source.charAt(i+1)){ - case '/': - var end = source.indexOf('>',i+3); - var tagName = source.substring(i+2,end); - var config = parseStack.pop(); - var localNSMap = config.localNSMap; - - if(config.tagName != tagName){ - errorHandler.fatalError("end tag name: "+tagName+' is not match the current start tagName:'+config.tagName ); - } - domBuilder.endElement(config.uri,config.localName,tagName); - if(localNSMap){ - for(var prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) ; - } - } - end++; - break; - // end elment - case '?':// - locator&&position(i); - end = parseInstruction(source,i,domBuilder); - break; - case '!':// 0){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - el.add(attrName,value,start-1); - s = S_E; - }else{ - //fatalError: no end quot match - throw new Error('attribute value no end \''+c+'\' match'); - } - }else if(s == S_V){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - //console.log(attrName,value,start,p) - el.add(attrName,value,start); - //console.dir(el) - errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!'); - start = p+1; - s = S_E - }else{ - //fatalError: no equal before - throw new Error('attribute value must after "="'); - } - break; - case '/': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_E: - case S_S: - case S_C: - s = S_C; - el.closed = true; - case S_V: - case S_ATTR: - case S_ATTR_S: - break; - //case S_EQ: - default: - throw new Error("attribute invalid close char('/')") - } - break; - case ''://end document - //throw new Error('unexpected end of input') - errorHandler.error('unexpected end of input'); - case '>': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_E: - case S_S: - case S_C: - break;//normal - case S_V://Compatible state - case S_ATTR: - value = source.slice(start,p); - if(value.slice(-1) === '/'){ - el.closed = true; - value = value.slice(0,-1) - } - case S_ATTR_S: - if(s === S_ATTR_S){ - value = attrName; - } - if(s == S_V){ - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start) - }else{ - errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!') - el.add(value,value,start) - } - break; - case S_EQ: - throw new Error('attribute value missed!!'); - } -// console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) - return p; - /*xml space '\x20' | #x9 | #xD | #xA; */ - case '\u0080': - c = ' '; - default: - if(c<= ' '){//space - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p));//tagName - s = S_S; - break; - case S_ATTR: - attrName = source.slice(start,p) - s = S_ATTR_S; - break; - case S_V: - var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value,start) - case S_E: - s = S_S; - break; - //case S_S: - //case S_EQ: - //case S_ATTR_S: - // void();break; - //case S_C: - //ignore warning - } - }else{//not space -//S_TAG, S_ATTR, S_EQ, S_V -//S_ATTR_S, S_E, S_S, S_C - switch(s){ - //case S_TAG:void();break; - //case S_ATTR:void();break; - //case S_V:void();break; - case S_ATTR_S: - errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead!!') - el.add(attrName,attrName,start); - start = p; - s = S_ATTR; - break; - case S_E: - errorHandler.warning('attribute space is required"'+attrName+'"!!') - case S_S: - s = S_ATTR; - start = p; - break; - case S_EQ: - s = S_V; - start = p; - break; - case S_C: - throw new Error("elements closed character '/' and '>' must be connected to"); - } - } - } - p++; - } -} -/** - * @return end of the elementStartPart(end of elementEndPart for selfClosed el) - */ -function appendElement(el,domBuilder,parseStack){ - var tagName = el.tagName; - var localNSMap = null; - var currentNSMap = parseStack[parseStack.length-1].currentNSMap; - var i = el.length; - while(i--){ - var a = el[i]; - var qName = a.qName; - var value = a.value; - var nsp = qName.indexOf(':'); - if(nsp>0){ - var prefix = a.prefix = qName.slice(0,nsp); - var localName = qName.slice(nsp+1); - var nsPrefix = prefix === 'xmlns' && localName - }else{ - localName = qName; - prefix = null - nsPrefix = qName === 'xmlns' && '' - } - //can not set prefix,because prefix !== '' - a.localName = localName ; - //prefix == null for no ns prefix attribute - if(nsPrefix !== false){//hack!! - if(localNSMap == null){ - localNSMap = {} - //console.log(currentNSMap,0) - _copy(currentNSMap,currentNSMap={}) - //console.log(currentNSMap,1) - } - currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; - a.uri = 'http://www.w3.org/2000/xmlns/' - domBuilder.startPrefixMapping(nsPrefix, value) - } - } - var i = el.length; - while(i--){ - a = el[i]; - var prefix = a.prefix; - if(prefix){//no prefix attribute has no namespace - if(prefix === 'xml'){ - a.uri = 'http://www.w3.org/XML/1998/namespace'; - }if(prefix !== 'xmlns'){ - a.uri = currentNSMap[prefix] - - //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} - } - } - } - var nsp = tagName.indexOf(':'); - if(nsp>0){ - prefix = el.prefix = tagName.slice(0,nsp); - localName = el.localName = tagName.slice(nsp+1); - }else{ - prefix = null;//important!! - localName = el.localName = tagName; - } - //no prefix element has default namespace - var ns = el.uri = currentNSMap[prefix || '']; - domBuilder.startElement(ns,localName,tagName,el); - //endPrefixMapping and startPrefixMapping have not any help for dom builder - //localNSMap = null - if(el.closed){ - domBuilder.endElement(ns,localName,tagName); - if(localNSMap){ - for(prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) - } - } - }else{ - el.currentNSMap = currentNSMap; - el.localNSMap = localNSMap; - parseStack.push(el); - } -} -function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){ - if(/^(?:script|textarea)$/i.test(tagName)){ - var elEndStart = source.indexOf('',elStartEnd); - var text = source.substring(elStartEnd+1,elEndStart); - if(/[&<]/.test(text)){ - if(/^script$/i.test(tagName)){ - //if(!/\]\]>/.test(text)){ - //lexHandler.startCDATA(); - domBuilder.characters(text,0,text.length); - //lexHandler.endCDATA(); - return elEndStart; - //} - }//}else{//text area - text = text.replace(/&#?\w+;/g,entityReplacer); - domBuilder.characters(text,0,text.length); - return elEndStart; - //} - - } - } - return elStartEnd+1; -} -function fixSelfClosed(source,elStartEnd,tagName,closeMap){ - //if(tagName in closeMap){ - var pos = closeMap[tagName]; - if(pos == null){ - //console.log(tagName) - pos = closeMap[tagName] = source.lastIndexOf('') - } - return pos',start+4); - //append comment source.substring(4,end)//, - * and raw CDATA nodes. - * - * @param {Element} node - * @returns {Boolean} - * @api private - */ - -function shouldIgnoreNode (node) { - return node.nodeType === 3 // text - || node.nodeType === 8 // comment - || node.nodeType === 4; // cdata -} - - -/** - * Parses a Plist XML string. Returns an Object. - * - * @param {String} xml - the XML String to decode - * @returns {Mixed} the decoded value from the Plist XML - * @api public - */ - -function parse (xml) { - var doc = new DOMParser().parseFromString(xml); - if (doc.documentElement.nodeName !== 'plist') { - throw new Error('malformed document. First element should be '); - } - var plist = parsePlistXML(doc.documentElement); - - // the root node gets interpreted as an Array, - // so pull out the inner data first - if (plist.length == 1) plist = plist[0]; - - return plist; -} - -/** - * Parses a Plist XML string. Returns an Object. Takes a `callback` function. - * - * @param {String} xml - the XML String to decode - * @param {Function} callback - callback function - * @returns {Mixed} the decoded value from the Plist XML - * @api public - * @deprecated not actually async. use parse() instead - */ - -function parseString (xml, callback) { - var doc, error, plist; - try { - doc = new DOMParser().parseFromString(xml); - plist = parsePlistXML(doc.documentElement); - } catch(e) { - error = e; - } - callback(error, plist); -} - -/** - * Parses a Plist XML string. Returns an Object. - * - * @param {String} xml - the XML String to decode - * @param {Function} callback - callback function - * @returns {Mixed} the decoded value from the Plist XML - * @api public - * @deprecated use parse() instead - */ - -function parseStringSync (xml) { - var doc = new DOMParser().parseFromString(xml); - var plist; - if (doc.documentElement.nodeName !== 'plist') { - throw new Error('malformed document. First element should be '); - } - plist = parsePlistXML(doc.documentElement); - - // if the plist is an array with 1 element, pull it out of the array - if (plist.length == 1) { - plist = plist[0]; - } - return plist; -} - -/** - * Convert an XML based plist document into a JSON representation. - * - * @param {Object} xml_node - current XML node in the plist - * @returns {Mixed} built up JSON object - * @api private - */ - -function parsePlistXML (node) { - var i, new_obj, key, val, new_arr, res, d; - - if (!node) - return null; - - if (node.nodeName === 'plist') { - new_arr = []; - for (i=0; i < node.childNodes.length; i++) { - // ignore comment nodes (text) - if (!shouldIgnoreNode(node.childNodes[i])) { - new_arr.push( parsePlistXML(node.childNodes[i])); - } - } - return new_arr; - - } else if (node.nodeName === 'dict') { - new_obj = {}; - key = null; - for (i=0; i < node.childNodes.length; i++) { - // ignore comment nodes (text) - if (!shouldIgnoreNode(node.childNodes[i])) { - if (key === null) { - key = parsePlistXML(node.childNodes[i]); - } else { - new_obj[key] = parsePlistXML(node.childNodes[i]); - key = null; - } - } - } - return new_obj; - - } else if (node.nodeName === 'array') { - new_arr = []; - for (i=0; i < node.childNodes.length; i++) { - // ignore comment nodes (text) - if (!shouldIgnoreNode(node.childNodes[i])) { - res = parsePlistXML(node.childNodes[i]); - if (null != res) new_arr.push(res); - } - } - return new_arr; - - } else if (node.nodeName === '#text') { - // TODO: what should we do with text types? (CDATA sections) - - } else if (node.nodeName === 'key') { - return node.childNodes[0].nodeValue; - - } else if (node.nodeName === 'string') { - res = ''; - for (d=0; d < node.childNodes.length; d++) { - res += node.childNodes[d].nodeValue; - } - return res; - - } else if (node.nodeName === 'integer') { - // parse as base 10 integer - return parseInt(node.childNodes[0].nodeValue, 10); - - } else if (node.nodeName === 'real') { - res = ''; - for (d=0; d < node.childNodes.length; d++) { - if (node.childNodes[d].nodeType === 3) { - res += node.childNodes[d].nodeValue; - } - } - return parseFloat(res); - - } else if (node.nodeName === 'data') { - res = ''; - for (d=0; d < node.childNodes.length; d++) { - if (node.childNodes[d].nodeType === 3) { - res += node.childNodes[d].nodeValue.replace(/\s+/g, ''); - } - } - - // decode base64 data to a Buffer instance - return new Buffer(res, 'base64'); - - } else if (node.nodeName === 'date') { - return new Date(node.childNodes[0].nodeValue); - - } else if (node.nodeName === 'true') { - return true; - - } else if (node.nodeName === 'false') { - return false; - } -} - -}).call(this,require("buffer").Buffer) -},{"buffer":7,"util-deprecate":70,"xmldom":88}],4:[function(require,module,exports){ - -var i; - -/** - * Parser functions. - */ - -var parserFunctions = require('./parse'); -for (i in parserFunctions) exports[i] = parserFunctions[i]; - -/** - * Builder functions. - */ - -var builderFunctions = require('./build'); -for (i in builderFunctions) exports[i] = builderFunctions[i]; - -/** - * Add Node.js-specific functions (they're deprecated…). - */ - -var nodeFunctions = require('./node'); -for (i in nodeFunctions) exports[i] = nodeFunctions[i]; - -},{"./build":1,"./node":2,"./parse":3}],5:[function(require,module,exports){ -var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - -;(function (exports) { - 'use strict'; - - var Arr = (typeof Uint8Array !== 'undefined') - ? Uint8Array - : Array - - var PLUS = '+'.charCodeAt(0) - var SLASH = '/'.charCodeAt(0) - var NUMBER = '0'.charCodeAt(0) - var LOWER = 'a'.charCodeAt(0) - var UPPER = 'A'.charCodeAt(0) - var PLUS_URL_SAFE = '-'.charCodeAt(0) - var SLASH_URL_SAFE = '_'.charCodeAt(0) - - function decode (elt) { - var code = elt.charCodeAt(0) - if (code === PLUS || - code === PLUS_URL_SAFE) - return 62 // '+' - if (code === SLASH || - code === SLASH_URL_SAFE) - return 63 // '/' - if (code < NUMBER) - return -1 //no match - if (code < NUMBER + 10) - return code - NUMBER + 26 + 26 - if (code < UPPER + 26) - return code - UPPER - if (code < LOWER + 26) - return code - LOWER + 26 - } - - function b64ToByteArray (b64) { - var i, j, l, tmp, placeHolders, arr - - if (b64.length % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // the number of equal signs (place holders) - // if there are two placeholders, than the two characters before it - // represent one byte - // if there is only one, then the three characters before it represent 2 bytes - // this is just a cheap hack to not do indexOf twice - var len = b64.length - placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0 - - // base64 is 4/3 + up to two characters of the original data - arr = new Arr(b64.length * 3 / 4 - placeHolders) - - // if there are placeholders, only get up to the last complete 4 chars - l = placeHolders > 0 ? b64.length - 4 : b64.length - - var L = 0 - - function push (v) { - arr[L++] = v - } - - for (i = 0, j = 0; i < l; i += 4, j += 3) { - tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3)) - push((tmp & 0xFF0000) >> 16) - push((tmp & 0xFF00) >> 8) - push(tmp & 0xFF) - } - - if (placeHolders === 2) { - tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4) - push(tmp & 0xFF) - } else if (placeHolders === 1) { - tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2) - push((tmp >> 8) & 0xFF) - push(tmp & 0xFF) - } - - return arr - } - - function uint8ToBase64 (uint8) { - var i, - extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes - output = "", - temp, length - - function encode (num) { - return lookup.charAt(num) - } - - function tripletToBase64 (num) { - return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F) - } - - // go through the array every three bytes, we'll deal with trailing stuff later - for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) { - temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) - output += tripletToBase64(temp) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - switch (extraBytes) { - case 1: - temp = uint8[uint8.length - 1] - output += encode(temp >> 2) - output += encode((temp << 4) & 0x3F) - output += '==' - break - case 2: - temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1]) - output += encode(temp >> 10) - output += encode((temp >> 4) & 0x3F) - output += encode((temp << 2) & 0x3F) - output += '=' - break - } - - return output - } - - exports.toByteArray = b64ToByteArray - exports.fromByteArray = uint8ToBase64 -}(typeof exports === 'undefined' ? (this.base64js = {}) : exports)) - -},{}],6:[function(require,module,exports){ - -},{}],7:[function(require,module,exports){ -(function (global){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -/* eslint-disable no-proto */ - -var base64 = require('base64-js') -var ieee754 = require('ieee754') -var isArray = require('is-array') - -exports.Buffer = Buffer -exports.SlowBuffer = SlowBuffer -exports.INSPECT_MAX_BYTES = 50 -Buffer.poolSize = 8192 // not used by this implementation - -var rootParent = {} - -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Use Object implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * Due to various browser bugs, sometimes the Object implementation will be used even - * when the browser supports typed arrays. - * - * Note: - * - * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, - * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. - * - * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property - * on objects. - * - * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. - * - * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of - * incorrect length in some situations. - - * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they - * get the Object implementation, which is slower but behaves correctly. - */ -Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined - ? global.TYPED_ARRAY_SUPPORT - : typedArraySupport() - -function typedArraySupport () { - function Bar () {} - try { - var arr = new Uint8Array(1) - arr.foo = function () { return 42 } - arr.constructor = Bar - return arr.foo() === 42 && // typed array instances can be augmented - arr.constructor === Bar && // constructor can be set - typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` - arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` - } catch (e) { - return false - } -} - -function kMaxLength () { - return Buffer.TYPED_ARRAY_SUPPORT - ? 0x7fffffff - : 0x3fffffff -} - -/** - * Class: Buffer - * ============= - * - * The Buffer constructor returns instances of `Uint8Array` that are augmented - * with function properties for all the node `Buffer` API functions. We use - * `Uint8Array` so that square bracket notation works as expected -- it returns - * a single octet. - * - * By augmenting the instances, we can avoid modifying the `Uint8Array` - * prototype. - */ -function Buffer (arg) { - if (!(this instanceof Buffer)) { - // Avoid going through an ArgumentsAdaptorTrampoline in the common case. - if (arguments.length > 1) return new Buffer(arg, arguments[1]) - return new Buffer(arg) - } - - this.length = 0 - this.parent = undefined - - // Common case. - if (typeof arg === 'number') { - return fromNumber(this, arg) - } - - // Slightly less common case. - if (typeof arg === 'string') { - return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8') - } - - // Unusual. - return fromObject(this, arg) -} - -function fromNumber (that, length) { - that = allocate(that, length < 0 ? 0 : checked(length) | 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) { - for (var i = 0; i < length; i++) { - that[i] = 0 - } - } - return that -} - -function fromString (that, string, encoding) { - if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8' - - // Assumption: byteLength() return value is always < kMaxLength. - var length = byteLength(string, encoding) | 0 - that = allocate(that, length) - - that.write(string, encoding) - return that -} - -function fromObject (that, object) { - if (Buffer.isBuffer(object)) return fromBuffer(that, object) - - if (isArray(object)) return fromArray(that, object) - - if (object == null) { - throw new TypeError('must start with number, buffer, array or string') - } - - if (typeof ArrayBuffer !== 'undefined') { - if (object.buffer instanceof ArrayBuffer) { - return fromTypedArray(that, object) - } - if (object instanceof ArrayBuffer) { - return fromArrayBuffer(that, object) - } - } - - if (object.length) return fromArrayLike(that, object) - - return fromJsonObject(that, object) -} - -function fromBuffer (that, buffer) { - var length = checked(buffer.length) | 0 - that = allocate(that, length) - buffer.copy(that, 0, 0, length) - return that -} - -function fromArray (that, array) { - var length = checked(array.length) | 0 - that = allocate(that, length) - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -// Duplicate of fromArray() to keep fromArray() monomorphic. -function fromTypedArray (that, array) { - var length = checked(array.length) | 0 - that = allocate(that, length) - // Truncating the elements is probably not what people expect from typed - // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior - // of the old Buffer constructor. - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -function fromArrayBuffer (that, array) { - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - array.byteLength - that = Buffer._augment(new Uint8Array(array)) - } else { - // Fallback: Return an object instance of the Buffer class - that = fromTypedArray(that, new Uint8Array(array)) - } - return that -} - -function fromArrayLike (that, array) { - var length = checked(array.length) | 0 - that = allocate(that, length) - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object. -// Returns a zero-length buffer for inputs that don't conform to the spec. -function fromJsonObject (that, object) { - var array - var length = 0 - - if (object.type === 'Buffer' && isArray(object.data)) { - array = object.data - length = checked(array.length) | 0 - } - that = allocate(that, length) - - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -if (Buffer.TYPED_ARRAY_SUPPORT) { - Buffer.prototype.__proto__ = Uint8Array.prototype - Buffer.__proto__ = Uint8Array -} - -function allocate (that, length) { - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = Buffer._augment(new Uint8Array(length)) - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - that.length = length - that._isBuffer = true - } - - var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1 - if (fromPool) that.parent = rootParent - - return that -} - -function checked (length) { - // Note: cannot use `length < kMaxLength` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= kMaxLength()) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + kMaxLength().toString(16) + ' bytes') - } - return length | 0 -} - -function SlowBuffer (subject, encoding) { - if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding) - - var buf = new Buffer(subject, encoding) - delete buf.parent - return buf -} - -Buffer.isBuffer = function isBuffer (b) { - return !!(b != null && b._isBuffer) -} - -Buffer.compare = function compare (a, b) { - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError('Arguments must be Buffers') - } - - if (a === b) return 0 - - var x = a.length - var y = b.length - - var i = 0 - var len = Math.min(x, y) - while (i < len) { - if (a[i] !== b[i]) break - - ++i - } - - if (i !== len) { - x = a[i] - y = b[i] - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -Buffer.isEncoding = function isEncoding (encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'binary': - case 'base64': - case 'raw': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } -} - -Buffer.concat = function concat (list, length) { - if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.') - - if (list.length === 0) { - return new Buffer(0) - } - - var i - if (length === undefined) { - length = 0 - for (i = 0; i < list.length; i++) { - length += list[i].length - } - } - - var buf = new Buffer(length) - var pos = 0 - for (i = 0; i < list.length; i++) { - var item = list[i] - item.copy(buf, pos) - pos += item.length - } - return buf -} - -function byteLength (string, encoding) { - if (typeof string !== 'string') string = '' + string - - var len = string.length - if (len === 0) return 0 - - // Use a for loop to avoid recursion - var loweredCase = false - for (;;) { - switch (encoding) { - case 'ascii': - case 'binary': - // Deprecated - case 'raw': - case 'raws': - return len - case 'utf8': - case 'utf-8': - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) return utf8ToBytes(string).length // assume utf8 - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} -Buffer.byteLength = byteLength - -// pre-set for values that may exist in the future -Buffer.prototype.length = undefined -Buffer.prototype.parent = undefined - -function slowToString (encoding, start, end) { - var loweredCase = false - - start = start | 0 - end = end === undefined || end === Infinity ? this.length : end | 0 - - if (!encoding) encoding = 'utf8' - if (start < 0) start = 0 - if (end > this.length) end = this.length - if (end <= start) return '' - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) - - case 'ascii': - return asciiSlice(this, start, end) - - case 'binary': - return binarySlice(this, start, end) - - case 'base64': - return base64Slice(this, start, end) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase() - loweredCase = true - } - } -} - -Buffer.prototype.toString = function toString () { - var length = this.length | 0 - if (length === 0) return '' - if (arguments.length === 0) return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) -} - -Buffer.prototype.equals = function equals (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return true - return Buffer.compare(this, b) === 0 -} - -Buffer.prototype.inspect = function inspect () { - var str = '' - var max = exports.INSPECT_MAX_BYTES - if (this.length > 0) { - str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') - if (this.length > max) str += ' ... ' - } - return '' -} - -Buffer.prototype.compare = function compare (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return 0 - return Buffer.compare(this, b) -} - -Buffer.prototype.indexOf = function indexOf (val, byteOffset) { - if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff - else if (byteOffset < -0x80000000) byteOffset = -0x80000000 - byteOffset >>= 0 - - if (this.length === 0) return -1 - if (byteOffset >= this.length) return -1 - - // Negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0) - - if (typeof val === 'string') { - if (val.length === 0) return -1 // special case: looking for empty string always fails - return String.prototype.indexOf.call(this, val, byteOffset) - } - if (Buffer.isBuffer(val)) { - return arrayIndexOf(this, val, byteOffset) - } - if (typeof val === 'number') { - if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') { - return Uint8Array.prototype.indexOf.call(this, val, byteOffset) - } - return arrayIndexOf(this, [ val ], byteOffset) - } - - function arrayIndexOf (arr, val, byteOffset) { - var foundIndex = -1 - for (var i = 0; byteOffset + i < arr.length; i++) { - if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) { - if (foundIndex === -1) foundIndex = i - if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex - } else { - foundIndex = -1 - } - } - return -1 - } - - throw new TypeError('val must be string, number or Buffer') -} - -// `get` is deprecated -Buffer.prototype.get = function get (offset) { - console.log('.get() is deprecated. Access using array indexes instead.') - return this.readUInt8(offset) -} - -// `set` is deprecated -Buffer.prototype.set = function set (v, offset) { - console.log('.set() is deprecated. Access using array indexes instead.') - return this.writeUInt8(v, offset) -} - -function hexWrite (buf, string, offset, length) { - offset = Number(offset) || 0 - var remaining = buf.length - offset - if (!length) { - length = remaining - } else { - length = Number(length) - if (length > remaining) { - length = remaining - } - } - - // must be an even number of digits - var strLen = string.length - if (strLen % 2 !== 0) throw new Error('Invalid hex string') - - if (length > strLen / 2) { - length = strLen / 2 - } - for (var i = 0; i < length; i++) { - var parsed = parseInt(string.substr(i * 2, 2), 16) - if (isNaN(parsed)) throw new Error('Invalid hex string') - buf[offset + i] = parsed - } - return i -} - -function utf8Write (buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) -} - -function asciiWrite (buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) -} - -function binaryWrite (buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) -} - -function base64Write (buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) -} - -function ucs2Write (buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) -} - -Buffer.prototype.write = function write (string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8' - length = this.length - offset = 0 - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset - length = this.length - offset = 0 - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset | 0 - if (isFinite(length)) { - length = length | 0 - if (encoding === undefined) encoding = 'utf8' - } else { - encoding = length - length = undefined - } - // legacy write(string, encoding, offset, length) - remove in v0.13 - } else { - var swap = encoding - encoding = offset - offset = length | 0 - length = swap - } - - var remaining = this.length - offset - if (length === undefined || length > remaining) length = remaining - - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('attempt to write outside buffer bounds') - } - - if (!encoding) encoding = 'utf8' - - var loweredCase = false - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) - - case 'ascii': - return asciiWrite(this, string, offset, length) - - case 'binary': - return binaryWrite(this, string, offset, length) - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} - -Buffer.prototype.toJSON = function toJSON () { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } -} - -function base64Slice (buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf) - } else { - return base64.fromByteArray(buf.slice(start, end)) - } -} - -function utf8Slice (buf, start, end) { - end = Math.min(buf.length, end) - var res = [] - - var i = start - while (i < end) { - var firstByte = buf[i] - var codePoint = null - var bytesPerSequence = (firstByte > 0xEF) ? 4 - : (firstByte > 0xDF) ? 3 - : (firstByte > 0xBF) ? 2 - : 1 - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte - } - break - case 2: - secondByte = buf[i + 1] - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint - } - } - break - case 3: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint - } - } - break - case 4: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - fourthByte = buf[i + 3] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint - } - } - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD - bytesPerSequence = 1 - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000 - res.push(codePoint >>> 10 & 0x3FF | 0xD800) - codePoint = 0xDC00 | codePoint & 0x3FF - } - - res.push(codePoint) - i += bytesPerSequence - } - - return decodeCodePointsArray(res) -} - -// Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety -var MAX_ARGUMENTS_LENGTH = 0x1000 - -function decodeCodePointsArray (codePoints) { - var len = codePoints.length - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) // avoid extra slice() - } - - // Decode in chunks to avoid "call stack size exceeded". - var res = '' - var i = 0 - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ) - } - return res -} - -function asciiSlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; i++) { - ret += String.fromCharCode(buf[i] & 0x7F) - } - return ret -} - -function binarySlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; i++) { - ret += String.fromCharCode(buf[i]) - } - return ret -} - -function hexSlice (buf, start, end) { - var len = buf.length - - if (!start || start < 0) start = 0 - if (!end || end < 0 || end > len) end = len - - var out = '' - for (var i = start; i < end; i++) { - out += toHex(buf[i]) - } - return out -} - -function utf16leSlice (buf, start, end) { - var bytes = buf.slice(start, end) - var res = '' - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) - } - return res -} - -Buffer.prototype.slice = function slice (start, end) { - var len = this.length - start = ~~start - end = end === undefined ? len : ~~end - - if (start < 0) { - start += len - if (start < 0) start = 0 - } else if (start > len) { - start = len - } - - if (end < 0) { - end += len - if (end < 0) end = 0 - } else if (end > len) { - end = len - } - - if (end < start) end = start - - var newBuf - if (Buffer.TYPED_ARRAY_SUPPORT) { - newBuf = Buffer._augment(this.subarray(start, end)) - } else { - var sliceLen = end - start - newBuf = new Buffer(sliceLen, undefined) - for (var i = 0; i < sliceLen; i++) { - newBuf[i] = this[i + start] - } - } - - if (newBuf.length) newBuf.parent = this.parent || this - - return newBuf -} - -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ -function checkOffset (offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') -} - -Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - - return val -} - -Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - checkOffset(offset, byteLength, this.length) - } - - var val = this[offset + --byteLength] - var mul = 1 - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul - } - - return val -} - -Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - return this[offset] -} - -Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return this[offset] | (this[offset + 1] << 8) -} - -Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return (this[offset] << 8) | this[offset + 1] -} - -Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return ((this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16)) + - (this[offset + 3] * 0x1000000) -} - -Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] * 0x1000000) + - ((this[offset + 1] << 16) | - (this[offset + 2] << 8) | - this[offset + 3]) -} - -Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var i = byteLength - var mul = 1 - var val = this[offset + --i] - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - if (!(this[offset] & 0x80)) return (this[offset]) - return ((0xff - this[offset] + 1) * -1) -} - -Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset] | (this[offset + 1] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset + 1] | (this[offset] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16) | - (this[offset + 3] << 24) -} - -Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] << 24) | - (this[offset + 1] << 16) | - (this[offset + 2] << 8) | - (this[offset + 3]) -} - -Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, true, 23, 4) -} - -Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, false, 23, 4) -} - -Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, true, 52, 8) -} - -Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, false, 52, 8) -} - -function checkInt (buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance') - if (value > max || value < min) throw new RangeError('value is out of bounds') - if (offset + ext > buf.length) throw new RangeError('index out of range') -} - -Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0) - - var mul = 1 - var i = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0) - - var i = byteLength - 1 - var mul = 1 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - this[offset] = (value & 0xff) - return offset + 1 -} - -function objectWriteUInt16 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) { - buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> - (littleEndian ? i : 1 - i) * 8 - } -} - -Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -function objectWriteUInt32 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffffffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) { - buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff - } -} - -Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset + 3] = (value >>> 24) - this[offset + 2] = (value >>> 16) - this[offset + 1] = (value >>> 8) - this[offset] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = 0 - var mul = 1 - var sub = value < 0 ? 1 : 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = byteLength - 1 - var mul = 1 - var sub = value < 0 ? 1 : 0 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - if (value < 0) value = 0xff + value + 1 - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - this[offset + 2] = (value >>> 16) - this[offset + 3] = (value >>> 24) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (value < 0) value = 0xffffffff + value + 1 - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -function checkIEEE754 (buf, value, offset, ext, max, min) { - if (value > max || value < min) throw new RangeError('value is out of bounds') - if (offset + ext > buf.length) throw new RangeError('index out of range') - if (offset < 0) throw new RangeError('index out of range') -} - -function writeFloat (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) - } - ieee754.write(buf, value, offset, littleEndian, 23, 4) - return offset + 4 -} - -Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) -} - -function writeDouble (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) - } - ieee754.write(buf, value, offset, littleEndian, 52, 8) - return offset + 8 -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) -} - -// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) -Buffer.prototype.copy = function copy (target, targetStart, start, end) { - if (!start) start = 0 - if (!end && end !== 0) end = this.length - if (targetStart >= target.length) targetStart = target.length - if (!targetStart) targetStart = 0 - if (end > 0 && end < start) end = start - - // Copy 0 bytes; we're done - if (end === start) return 0 - if (target.length === 0 || this.length === 0) return 0 - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') - if (end < 0) throw new RangeError('sourceEnd out of bounds') - - // Are we oob? - if (end > this.length) end = this.length - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start - } - - var len = end - start - var i - - if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (i = len - 1; i >= 0; i--) { - target[i + targetStart] = this[i + start] - } - } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { - // ascending copy from start - for (i = 0; i < len; i++) { - target[i + targetStart] = this[i + start] - } - } else { - target._set(this.subarray(start, start + len), targetStart) - } - - return len -} - -// fill(value, start=0, end=buffer.length) -Buffer.prototype.fill = function fill (value, start, end) { - if (!value) value = 0 - if (!start) start = 0 - if (!end) end = this.length - - if (end < start) throw new RangeError('end < start') - - // Fill 0 bytes; we're done - if (end === start) return - if (this.length === 0) return - - if (start < 0 || start >= this.length) throw new RangeError('start out of bounds') - if (end < 0 || end > this.length) throw new RangeError('end out of bounds') - - var i - if (typeof value === 'number') { - for (i = start; i < end; i++) { - this[i] = value - } - } else { - var bytes = utf8ToBytes(value.toString()) - var len = bytes.length - for (i = start; i < end; i++) { - this[i] = bytes[i % len] - } - } - - return this -} - -/** - * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance. - * Added in Node 0.12. Only available in browsers that support ArrayBuffer. - */ -Buffer.prototype.toArrayBuffer = function toArrayBuffer () { - if (typeof Uint8Array !== 'undefined') { - if (Buffer.TYPED_ARRAY_SUPPORT) { - return (new Buffer(this)).buffer - } else { - var buf = new Uint8Array(this.length) - for (var i = 0, len = buf.length; i < len; i += 1) { - buf[i] = this[i] - } - return buf.buffer - } - } else { - throw new TypeError('Buffer.toArrayBuffer not supported in this browser') - } -} - -// HELPER FUNCTIONS -// ================ - -var BP = Buffer.prototype - -/** - * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods - */ -Buffer._augment = function _augment (arr) { - arr.constructor = Buffer - arr._isBuffer = true - - // save reference to original Uint8Array set method before overwriting - arr._set = arr.set - - // deprecated - arr.get = BP.get - arr.set = BP.set - - arr.write = BP.write - arr.toString = BP.toString - arr.toLocaleString = BP.toString - arr.toJSON = BP.toJSON - arr.equals = BP.equals - arr.compare = BP.compare - arr.indexOf = BP.indexOf - arr.copy = BP.copy - arr.slice = BP.slice - arr.readUIntLE = BP.readUIntLE - arr.readUIntBE = BP.readUIntBE - arr.readUInt8 = BP.readUInt8 - arr.readUInt16LE = BP.readUInt16LE - arr.readUInt16BE = BP.readUInt16BE - arr.readUInt32LE = BP.readUInt32LE - arr.readUInt32BE = BP.readUInt32BE - arr.readIntLE = BP.readIntLE - arr.readIntBE = BP.readIntBE - arr.readInt8 = BP.readInt8 - arr.readInt16LE = BP.readInt16LE - arr.readInt16BE = BP.readInt16BE - arr.readInt32LE = BP.readInt32LE - arr.readInt32BE = BP.readInt32BE - arr.readFloatLE = BP.readFloatLE - arr.readFloatBE = BP.readFloatBE - arr.readDoubleLE = BP.readDoubleLE - arr.readDoubleBE = BP.readDoubleBE - arr.writeUInt8 = BP.writeUInt8 - arr.writeUIntLE = BP.writeUIntLE - arr.writeUIntBE = BP.writeUIntBE - arr.writeUInt16LE = BP.writeUInt16LE - arr.writeUInt16BE = BP.writeUInt16BE - arr.writeUInt32LE = BP.writeUInt32LE - arr.writeUInt32BE = BP.writeUInt32BE - arr.writeIntLE = BP.writeIntLE - arr.writeIntBE = BP.writeIntBE - arr.writeInt8 = BP.writeInt8 - arr.writeInt16LE = BP.writeInt16LE - arr.writeInt16BE = BP.writeInt16BE - arr.writeInt32LE = BP.writeInt32LE - arr.writeInt32BE = BP.writeInt32BE - arr.writeFloatLE = BP.writeFloatLE - arr.writeFloatBE = BP.writeFloatBE - arr.writeDoubleLE = BP.writeDoubleLE - arr.writeDoubleBE = BP.writeDoubleBE - arr.fill = BP.fill - arr.inspect = BP.inspect - arr.toArrayBuffer = BP.toArrayBuffer - - return arr -} - -var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g - -function base64clean (str) { - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = stringtrim(str).replace(INVALID_BASE64_RE, '') - // Node converts strings with length < 2 to '' - if (str.length < 2) return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '=' - } - return str -} - -function stringtrim (str) { - if (str.trim) return str.trim() - return str.replace(/^\s+|\s+$/g, '') -} - -function toHex (n) { - if (n < 16) return '0' + n.toString(16) - return n.toString(16) -} - -function utf8ToBytes (string, units) { - units = units || Infinity - var codePoint - var length = string.length - var leadSurrogate = null - var bytes = [] - - for (var i = 0; i < length; i++) { - codePoint = string.charCodeAt(i) - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } - - // valid lead - leadSurrogate = codePoint - - continue - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - leadSurrogate = codePoint - continue - } - - // valid surrogate pair - codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000 - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - } - - leadSurrogate = null - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break - bytes.push(codePoint) - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else { - throw new Error('Invalid code point') - } - } - - return bytes -} - -function asciiToBytes (str) { - var byteArray = [] - for (var i = 0; i < str.length; i++) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF) - } - return byteArray -} - -function utf16leToBytes (str, units) { - var c, hi, lo - var byteArray = [] - for (var i = 0; i < str.length; i++) { - if ((units -= 2) < 0) break - - c = str.charCodeAt(i) - hi = c >> 8 - lo = c % 256 - byteArray.push(lo) - byteArray.push(hi) - } - - return byteArray -} - -function base64ToBytes (str) { - return base64.toByteArray(base64clean(str)) -} - -function blitBuffer (src, dst, offset, length) { - for (var i = 0; i < length; i++) { - if ((i + offset >= dst.length) || (i >= src.length)) break - dst[i + offset] = src[i] - } - return i -} - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"base64-js":5,"ieee754":8,"is-array":9}],8:[function(require,module,exports){ -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var nBits = -7 - var i = isLE ? (nBytes - 1) : 0 - var d = isLE ? -1 : 1 - var s = buffer[offset + i] - - i += d - - e = s & ((1 << (-nBits)) - 1) - s >>= (-nBits) - nBits += eLen - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1) - e >>= (-nBits) - nBits += mLen - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen) - e = e - eBias - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) -} - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) - var i = isLE ? 0 : (nBytes - 1) - var d = isLE ? 1 : -1 - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 - - value = Math.abs(value) - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0 - e = eMax - } else { - e = Math.floor(Math.log(value) / Math.LN2) - if (value * (c = Math.pow(2, -e)) < 1) { - e-- - c *= 2 - } - if (e + eBias >= 1) { - value += rt / c - } else { - value += rt * Math.pow(2, 1 - eBias) - } - if (value * c >= 2) { - e++ - c /= 2 - } - - if (e + eBias >= eMax) { - m = 0 - e = eMax - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen) - e = e + eBias - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) - e = 0 - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m - eLen += mLen - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128 -} - -},{}],9:[function(require,module,exports){ - -/** - * isArray - */ - -var isArray = Array.isArray; - -/** - * toString - */ - -var str = Object.prototype.toString; - -/** - * Whether or not the given `val` - * is an array. - * - * example: - * - * isArray([]); - * // > true - * isArray(arguments); - * // > false - * isArray(''); - * // > false - * - * @param {mixed} val - * @return {bool} - */ - -module.exports = isArray || function (val) { - return !! val && '[object Array]' == str.call(val); -}; - -},{}],10:[function(require,module,exports){ -/** - * Determine if an object is Buffer - * - * Author: Feross Aboukhadijeh - * License: MIT - * - * `npm install is-buffer` - */ - -module.exports = function (obj) { - return !!(obj != null && - (obj._isBuffer || // For Safari 5-7 (missing Object.prototype.constructor) - (obj.constructor && - typeof obj.constructor.isBuffer === 'function' && - obj.constructor.isBuffer(obj)) - )) -} - -},{}],11:[function(require,module,exports){ -/** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ -function last(array) { - var length = array ? array.length : 0; - return length ? array[length - 1] : undefined; -} - -module.exports = last; - -},{}],12:[function(require,module,exports){ -var arrayEvery = require('../internal/arrayEvery'), - baseCallback = require('../internal/baseCallback'), - baseEvery = require('../internal/baseEvery'), - isArray = require('../lang/isArray'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * The predicate is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias all - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // using the `_.matchesProperty` callback shorthand - * _.every(users, 'active', false); - * // => true - * - * // using the `_.property` callback shorthand - * _.every(users, 'active'); - * // => false - */ -function every(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (thisArg && isIterateeCall(collection, predicate, thisArg)) { - predicate = undefined; - } - if (typeof predicate != 'function' || thisArg !== undefined) { - predicate = baseCallback(predicate, thisArg, 3); - } - return func(collection, predicate); -} - -module.exports = every; - -},{"../internal/arrayEvery":14,"../internal/baseCallback":18,"../internal/baseEvery":22,"../internal/isIterateeCall":47,"../lang/isArray":56}],13:[function(require,module,exports){ -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates a function that invokes `func` with the `this` binding of the - * created function and arguments from `start` and beyond provided as an array. - * - * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/Web/JavaScript/Reference/Functions/rest_parameters). - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.restParam(function(what, names) { - * return what + ' ' + _.initial(names).join(', ') + - * (_.size(names) > 1 ? ', & ' : '') + _.last(names); - * }); - * - * say('hello', 'fred', 'barney', 'pebbles'); - * // => 'hello fred, barney, & pebbles' - */ -function restParam(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - rest = Array(length); - - while (++index < length) { - rest[index] = args[start + index]; - } - switch (start) { - case 0: return func.call(this, rest); - case 1: return func.call(this, args[0], rest); - case 2: return func.call(this, args[0], args[1], rest); - } - var otherArgs = Array(start + 1); - index = -1; - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = rest; - return func.apply(this, otherArgs); - }; -} - -module.exports = restParam; - -},{}],14:[function(require,module,exports){ -/** - * A specialized version of `_.every` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ -function arrayEvery(array, predicate) { - var index = -1, - length = array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; -} - -module.exports = arrayEvery; - -},{}],15:[function(require,module,exports){ -/** - * A specialized version of `_.some` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ -function arraySome(array, predicate) { - var index = -1, - length = array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; -} - -module.exports = arraySome; - -},{}],16:[function(require,module,exports){ -var keys = require('../object/keys'); - -/** - * A specialized version of `_.assign` for customizing assigned values without - * support for argument juggling, multiple sources, and `this` binding `customizer` - * functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {Function} customizer The function to customize assigned values. - * @returns {Object} Returns `object`. - */ -function assignWith(object, source, customizer) { - var index = -1, - props = keys(source), - length = props.length; - - while (++index < length) { - var key = props[index], - value = object[key], - result = customizer(value, source[key], key, object, source); - - if ((result === result ? (result !== value) : (value === value)) || - (value === undefined && !(key in object))) { - object[key] = result; - } - } - return object; -} - -module.exports = assignWith; - -},{"../object/keys":65}],17:[function(require,module,exports){ -var baseCopy = require('./baseCopy'), - keys = require('../object/keys'); - -/** - * The base implementation of `_.assign` without support for argument juggling, - * multiple sources, and `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ -function baseAssign(object, source) { - return source == null - ? object - : baseCopy(source, keys(source), object); -} - -module.exports = baseAssign; - -},{"../object/keys":65,"./baseCopy":19}],18:[function(require,module,exports){ -var baseMatches = require('./baseMatches'), - baseMatchesProperty = require('./baseMatchesProperty'), - bindCallback = require('./bindCallback'), - identity = require('../utility/identity'), - property = require('../utility/property'); - -/** - * The base implementation of `_.callback` which supports specifying the - * number of arguments to provide to `func`. - * - * @private - * @param {*} [func=_.identity] The value to convert to a callback. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {number} [argCount] The number of arguments to provide to `func`. - * @returns {Function} Returns the callback. - */ -function baseCallback(func, thisArg, argCount) { - var type = typeof func; - if (type == 'function') { - return thisArg === undefined - ? func - : bindCallback(func, thisArg, argCount); - } - if (func == null) { - return identity; - } - if (type == 'object') { - return baseMatches(func); - } - return thisArg === undefined - ? property(func) - : baseMatchesProperty(func, thisArg); -} - -module.exports = baseCallback; - -},{"../utility/identity":68,"../utility/property":69,"./baseMatches":29,"./baseMatchesProperty":30,"./bindCallback":35}],19:[function(require,module,exports){ -/** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property names to copy. - * @param {Object} [object={}] The object to copy properties to. - * @returns {Object} Returns `object`. - */ -function baseCopy(source, props, object) { - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - object[key] = source[key]; - } - return object; -} - -module.exports = baseCopy; - -},{}],20:[function(require,module,exports){ -var isObject = require('../lang/isObject'); - -/** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} prototype The object to inherit from. - * @returns {Object} Returns the new object. - */ -var baseCreate = (function() { - function object() {} - return function(prototype) { - if (isObject(prototype)) { - object.prototype = prototype; - var result = new object; - object.prototype = undefined; - } - return result || {}; - }; -}()); - -module.exports = baseCreate; - -},{"../lang/isObject":60}],21:[function(require,module,exports){ -var baseForOwn = require('./baseForOwn'), - createBaseEach = require('./createBaseEach'); - -/** - * The base implementation of `_.forEach` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object|string} Returns `collection`. - */ -var baseEach = createBaseEach(baseForOwn); - -module.exports = baseEach; - -},{"./baseForOwn":24,"./createBaseEach":37}],22:[function(require,module,exports){ -var baseEach = require('./baseEach'); - -/** - * The base implementation of `_.every` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ -function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; -} - -module.exports = baseEvery; - -},{"./baseEach":21}],23:[function(require,module,exports){ -var createBaseFor = require('./createBaseFor'); - -/** - * The base implementation of `baseForIn` and `baseForOwn` which iterates - * over `object` properties returned by `keysFunc` invoking `iteratee` for - * each property. Iteratee functions may exit iteration early by explicitly - * returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ -var baseFor = createBaseFor(); - -module.exports = baseFor; - -},{"./createBaseFor":38}],24:[function(require,module,exports){ -var baseFor = require('./baseFor'), - keys = require('../object/keys'); - -/** - * The base implementation of `_.forOwn` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ -function baseForOwn(object, iteratee) { - return baseFor(object, iteratee, keys); -} - -module.exports = baseForOwn; - -},{"../object/keys":65,"./baseFor":23}],25:[function(require,module,exports){ -var toObject = require('./toObject'); - -/** - * The base implementation of `get` without support for string paths - * and default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path of the property to get. - * @param {string} [pathKey] The key representation of path. - * @returns {*} Returns the resolved value. - */ -function baseGet(object, path, pathKey) { - if (object == null) { - return; - } - if (pathKey !== undefined && pathKey in toObject(object)) { - path = [pathKey]; - } - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[path[index++]]; - } - return (index && index == length) ? object : undefined; -} - -module.exports = baseGet; - -},{"./toObject":53}],26:[function(require,module,exports){ -var baseIsEqualDeep = require('./baseIsEqualDeep'), - isObject = require('../lang/isObject'), - isObjectLike = require('./isObjectLike'); - -/** - * The base implementation of `_.isEqual` without support for `this` binding - * `customizer` functions. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparing values. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ -function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB); -} - -module.exports = baseIsEqual; - -},{"../lang/isObject":60,"./baseIsEqualDeep":27,"./isObjectLike":50}],27:[function(require,module,exports){ -var equalArrays = require('./equalArrays'), - equalByTag = require('./equalByTag'), - equalObjects = require('./equalObjects'), - isArray = require('../lang/isArray'), - isTypedArray = require('../lang/isTypedArray'); - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - objectTag = '[object Object]'; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing objects. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA=[]] Tracks traversed `value` objects. - * @param {Array} [stackB=[]] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = arrayTag, - othTag = arrayTag; - - if (!objIsArr) { - objTag = objToString.call(object); - if (objTag == argsTag) { - objTag = objectTag; - } else if (objTag != objectTag) { - objIsArr = isTypedArray(object); - } - } - if (!othIsArr) { - othTag = objToString.call(other); - if (othTag == argsTag) { - othTag = objectTag; - } else if (othTag != objectTag) { - othIsArr = isTypedArray(other); - } - } - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && !(objIsArr || objIsObj)) { - return equalByTag(object, other, objTag); - } - if (!isLoose) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB); - } - } - if (!isSameTag) { - return false; - } - // Assume cyclic values are equal. - // For more information on detecting circular references see https://es5.github.io/#JO. - stackA || (stackA = []); - stackB || (stackB = []); - - var length = stackA.length; - while (length--) { - if (stackA[length] == object) { - return stackB[length] == other; - } - } - // Add `object` and `other` to the stack of traversed objects. - stackA.push(object); - stackB.push(other); - - var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB); - - stackA.pop(); - stackB.pop(); - - return result; -} - -module.exports = baseIsEqualDeep; - -},{"../lang/isArray":56,"../lang/isTypedArray":62,"./equalArrays":39,"./equalByTag":40,"./equalObjects":41}],28:[function(require,module,exports){ -var baseIsEqual = require('./baseIsEqual'), - toObject = require('./toObject'); - -/** - * The base implementation of `_.isMatch` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} matchData The propery names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparing objects. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ -function baseIsMatch(object, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = toObject(object); - while (index--) { - var data = matchData[index]; - if ((noCustomizer && data[2]) - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var result = customizer ? customizer(objValue, srcValue, key) : undefined; - if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) { - return false; - } - } - } - return true; -} - -module.exports = baseIsMatch; - -},{"./baseIsEqual":26,"./toObject":53}],29:[function(require,module,exports){ -var baseIsMatch = require('./baseIsMatch'), - getMatchData = require('./getMatchData'), - toObject = require('./toObject'); - -/** - * The base implementation of `_.matches` which does not clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new function. - */ -function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - var key = matchData[0][0], - value = matchData[0][1]; - - return function(object) { - if (object == null) { - return false; - } - return object[key] === value && (value !== undefined || (key in toObject(object))); - }; - } - return function(object) { - return baseIsMatch(object, matchData); - }; -} - -module.exports = baseMatches; - -},{"./baseIsMatch":28,"./getMatchData":43,"./toObject":53}],30:[function(require,module,exports){ -var baseGet = require('./baseGet'), - baseIsEqual = require('./baseIsEqual'), - baseSlice = require('./baseSlice'), - isArray = require('../lang/isArray'), - isKey = require('./isKey'), - isStrictComparable = require('./isStrictComparable'), - last = require('../array/last'), - toObject = require('./toObject'), - toPath = require('./toPath'); - -/** - * The base implementation of `_.matchesProperty` which does not clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to compare. - * @returns {Function} Returns the new function. - */ -function baseMatchesProperty(path, srcValue) { - var isArr = isArray(path), - isCommon = isKey(path) && isStrictComparable(srcValue), - pathKey = (path + ''); - - path = toPath(path); - return function(object) { - if (object == null) { - return false; - } - var key = pathKey; - object = toObject(object); - if ((isArr || !isCommon) && !(key in object)) { - object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); - if (object == null) { - return false; - } - key = last(path); - object = toObject(object); - } - return object[key] === srcValue - ? (srcValue !== undefined || (key in object)) - : baseIsEqual(srcValue, object[key], undefined, true); - }; -} - -module.exports = baseMatchesProperty; - -},{"../array/last":11,"../lang/isArray":56,"./baseGet":25,"./baseIsEqual":26,"./baseSlice":33,"./isKey":48,"./isStrictComparable":51,"./toObject":53,"./toPath":54}],31:[function(require,module,exports){ -/** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new function. - */ -function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; -} - -module.exports = baseProperty; - -},{}],32:[function(require,module,exports){ -var baseGet = require('./baseGet'), - toPath = require('./toPath'); - -/** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new function. - */ -function basePropertyDeep(path) { - var pathKey = (path + ''); - path = toPath(path); - return function(object) { - return baseGet(object, path, pathKey); - }; -} - -module.exports = basePropertyDeep; - -},{"./baseGet":25,"./toPath":54}],33:[function(require,module,exports){ -/** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ -function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - start = start == null ? 0 : (+start || 0); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : (+end || 0); - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; -} - -module.exports = baseSlice; - -},{}],34:[function(require,module,exports){ -/** - * Converts `value` to a string if it's not one. An empty string is returned - * for `null` or `undefined` values. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ -function baseToString(value) { - return value == null ? '' : (value + ''); -} - -module.exports = baseToString; - -},{}],35:[function(require,module,exports){ -var identity = require('../utility/identity'); - -/** - * A specialized version of `baseCallback` which only supports `this` binding - * and specifying the number of arguments to provide to `func`. - * - * @private - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {number} [argCount] The number of arguments to provide to `func`. - * @returns {Function} Returns the callback. - */ -function bindCallback(func, thisArg, argCount) { - if (typeof func != 'function') { - return identity; - } - if (thisArg === undefined) { - return func; - } - switch (argCount) { - case 1: return function(value) { - return func.call(thisArg, value); - }; - case 3: return function(value, index, collection) { - return func.call(thisArg, value, index, collection); - }; - case 4: return function(accumulator, value, index, collection) { - return func.call(thisArg, accumulator, value, index, collection); - }; - case 5: return function(value, other, key, object, source) { - return func.call(thisArg, value, other, key, object, source); - }; - } - return function() { - return func.apply(thisArg, arguments); - }; -} - -module.exports = bindCallback; - -},{"../utility/identity":68}],36:[function(require,module,exports){ -var bindCallback = require('./bindCallback'), - isIterateeCall = require('./isIterateeCall'), - restParam = require('../function/restParam'); - -/** - * Creates a `_.assign`, `_.defaults`, or `_.merge` function. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ -function createAssigner(assigner) { - return restParam(function(object, sources) { - var index = -1, - length = object == null ? 0 : sources.length, - customizer = length > 2 ? sources[length - 2] : undefined, - guard = length > 2 ? sources[2] : undefined, - thisArg = length > 1 ? sources[length - 1] : undefined; - - if (typeof customizer == 'function') { - customizer = bindCallback(customizer, thisArg, 5); - length -= 2; - } else { - customizer = typeof thisArg == 'function' ? thisArg : undefined; - length -= (customizer ? 1 : 0); - } - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, customizer); - } - } - return object; - }); -} - -module.exports = createAssigner; - -},{"../function/restParam":13,"./bindCallback":35,"./isIterateeCall":47}],37:[function(require,module,exports){ -var getLength = require('./getLength'), - isLength = require('./isLength'), - toObject = require('./toObject'); - -/** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - var length = collection ? getLength(collection) : 0; - if (!isLength(length)) { - return eachFunc(collection, iteratee); - } - var index = fromRight ? length : -1, - iterable = toObject(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; -} - -module.exports = createBaseEach; - -},{"./getLength":42,"./isLength":49,"./toObject":53}],38:[function(require,module,exports){ -var toObject = require('./toObject'); - -/** - * Creates a base function for `_.forIn` or `_.forInRight`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var iterable = toObject(object), - props = keysFunc(object), - length = props.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length)) { - var key = props[index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; -} - -module.exports = createBaseFor; - -},{"./toObject":53}],39:[function(require,module,exports){ -var arraySome = require('./arraySome'); - -/** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing arrays. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ -function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) { - var index = -1, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isLoose && othLength > arrLength)) { - return false; - } - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index], - result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined; - - if (result !== undefined) { - if (result) { - continue; - } - return false; - } - // Recursively compare arrays (susceptible to call stack limits). - if (isLoose) { - if (!arraySome(other, function(othValue) { - return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB); - })) { - return false; - } - } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) { - return false; - } - } - return true; -} - -module.exports = equalArrays; - -},{"./arraySome":15}],40:[function(require,module,exports){ -/** `Object#toString` result references. */ -var boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - numberTag = '[object Number]', - regexpTag = '[object RegExp]', - stringTag = '[object String]'; - -/** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function equalByTag(object, other, tag) { - switch (tag) { - case boolTag: - case dateTag: - // Coerce dates and booleans to numbers, dates to milliseconds and booleans - // to `1` or `0` treating invalid dates coerced to `NaN` as not equal. - return +object == +other; - - case errorTag: - return object.name == other.name && object.message == other.message; - - case numberTag: - // Treat `NaN` vs. `NaN` as equal. - return (object != +object) - ? other != +other - : object == +other; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings primitives and string - // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details. - return object == (other + ''); - } - return false; -} - -module.exports = equalByTag; - -},{}],41:[function(require,module,exports){ -var keys = require('../object/keys'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing values. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) { - var objProps = keys(object), - objLength = objProps.length, - othProps = keys(other), - othLength = othProps.length; - - if (objLength != othLength && !isLoose) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - var skipCtor = isLoose; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key], - result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined; - - // Recursively compare objects (susceptible to call stack limits). - if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) { - return false; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (!skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - return false; - } - } - return true; -} - -module.exports = equalObjects; - -},{"../object/keys":65}],42:[function(require,module,exports){ -var baseProperty = require('./baseProperty'); - -/** - * Gets the "length" property value of `object`. - * - * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) - * that affects Safari on at least iOS 8.1-8.3 ARM64. - * - * @private - * @param {Object} object The object to query. - * @returns {*} Returns the "length" value. - */ -var getLength = baseProperty('length'); - -module.exports = getLength; - -},{"./baseProperty":31}],43:[function(require,module,exports){ -var isStrictComparable = require('./isStrictComparable'), - pairs = require('../object/pairs'); - -/** - * Gets the propery names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ -function getMatchData(object) { - var result = pairs(object), - length = result.length; - - while (length--) { - result[length][2] = isStrictComparable(result[length][1]); - } - return result; -} - -module.exports = getMatchData; - -},{"../object/pairs":67,"./isStrictComparable":51}],44:[function(require,module,exports){ -var isNative = require('../lang/isNative'); - -/** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ -function getNative(object, key) { - var value = object == null ? undefined : object[key]; - return isNative(value) ? value : undefined; -} - -module.exports = getNative; - -},{"../lang/isNative":59}],45:[function(require,module,exports){ -var getLength = require('./getLength'), - isLength = require('./isLength'); - -/** - * Checks if `value` is array-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - */ -function isArrayLike(value) { - return value != null && isLength(getLength(value)); -} - -module.exports = isArrayLike; - -},{"./getLength":42,"./isLength":49}],46:[function(require,module,exports){ -/** Used to detect unsigned integer values. */ -var reIsUint = /^\d+$/; - -/** - * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) - * of an array-like value. - */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ -function isIndex(value, length) { - value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1; - length = length == null ? MAX_SAFE_INTEGER : length; - return value > -1 && value % 1 == 0 && value < length; -} - -module.exports = isIndex; - -},{}],47:[function(require,module,exports){ -var isArrayLike = require('./isArrayLike'), - isIndex = require('./isIndex'), - isObject = require('../lang/isObject'); - -/** - * Checks if the provided arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`. - */ -function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object)) { - var other = object[index]; - return value === value ? (value === other) : (other !== other); - } - return false; -} - -module.exports = isIterateeCall; - -},{"../lang/isObject":60,"./isArrayLike":45,"./isIndex":46}],48:[function(require,module,exports){ -var isArray = require('../lang/isArray'), - toObject = require('./toObject'); - -/** Used to match property names within property paths. */ -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/; - -/** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ -function isKey(value, object) { - var type = typeof value; - if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') { - return true; - } - if (isArray(value)) { - return false; - } - var result = !reIsDeepProp.test(value); - return result || (object != null && value in toObject(object)); -} - -module.exports = isKey; - -},{"../lang/isArray":56,"./toObject":53}],49:[function(require,module,exports){ -/** - * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) - * of an array-like value. - */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - */ -function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -module.exports = isLength; - -},{}],50:[function(require,module,exports){ -/** - * Checks if `value` is object-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; -} - -module.exports = isObjectLike; - -},{}],51:[function(require,module,exports){ -var isObject = require('../lang/isObject'); - -/** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ -function isStrictComparable(value) { - return value === value && !isObject(value); -} - -module.exports = isStrictComparable; - -},{"../lang/isObject":60}],52:[function(require,module,exports){ -var isArguments = require('../lang/isArguments'), - isArray = require('../lang/isArray'), - isIndex = require('./isIndex'), - isLength = require('./isLength'), - keysIn = require('../object/keysIn'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * A fallback implementation of `Object.keys` which creates an array of the - * own enumerable property names of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function shimKeys(object) { - var props = keysIn(object), - propsLength = props.length, - length = propsLength && object.length; - - var allowIndexes = !!length && isLength(length) && - (isArray(object) || isArguments(object)); - - var index = -1, - result = []; - - while (++index < propsLength) { - var key = props[index]; - if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) { - result.push(key); - } - } - return result; -} - -module.exports = shimKeys; - -},{"../lang/isArguments":55,"../lang/isArray":56,"../object/keysIn":66,"./isIndex":46,"./isLength":49}],53:[function(require,module,exports){ -var isObject = require('../lang/isObject'); - -/** - * Converts `value` to an object if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Object} Returns the object. - */ -function toObject(value) { - return isObject(value) ? value : Object(value); -} - -module.exports = toObject; - -},{"../lang/isObject":60}],54:[function(require,module,exports){ -var baseToString = require('./baseToString'), - isArray = require('../lang/isArray'); - -/** Used to match property names within property paths. */ -var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g; - -/** Used to match backslashes in property paths. */ -var reEscapeChar = /\\(\\)?/g; - -/** - * Converts `value` to property path array if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Array} Returns the property path array. - */ -function toPath(value) { - if (isArray(value)) { - return value; - } - var result = []; - baseToString(value).replace(rePropName, function(match, number, quote, string) { - result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; -} - -module.exports = toPath; - -},{"../lang/isArray":56,"./baseToString":34}],55:[function(require,module,exports){ -var isArrayLike = require('../internal/isArrayLike'), - isObjectLike = require('../internal/isObjectLike'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Native method references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; - -/** - * Checks if `value` is classified as an `arguments` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ -function isArguments(value) { - return isObjectLike(value) && isArrayLike(value) && - hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); -} - -module.exports = isArguments; - -},{"../internal/isArrayLike":45,"../internal/isObjectLike":50}],56:[function(require,module,exports){ -var getNative = require('../internal/getNative'), - isLength = require('../internal/isLength'), - isObjectLike = require('../internal/isObjectLike'); - -/** `Object#toString` result references. */ -var arrayTag = '[object Array]'; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeIsArray = getNative(Array, 'isArray'); - -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(function() { return arguments; }()); - * // => false - */ -var isArray = nativeIsArray || function(value) { - return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag; -}; - -module.exports = isArray; - -},{"../internal/getNative":44,"../internal/isLength":49,"../internal/isObjectLike":50}],57:[function(require,module,exports){ -var isArguments = require('./isArguments'), - isArray = require('./isArray'), - isArrayLike = require('../internal/isArrayLike'), - isFunction = require('./isFunction'), - isObjectLike = require('../internal/isObjectLike'), - isString = require('./isString'), - keys = require('../object/keys'); - -/** - * Checks if `value` is empty. A value is considered empty unless it's an - * `arguments` object, array, string, or jQuery-like collection with a length - * greater than `0` or an object with own enumerable properties. - * - * @static - * @memberOf _ - * @category Lang - * @param {Array|Object|string} value The value to inspect. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ -function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && (isArray(value) || isString(value) || isArguments(value) || - (isObjectLike(value) && isFunction(value.splice)))) { - return !value.length; - } - return !keys(value).length; -} - -module.exports = isEmpty; - -},{"../internal/isArrayLike":45,"../internal/isObjectLike":50,"../object/keys":65,"./isArguments":55,"./isArray":56,"./isFunction":58,"./isString":61}],58:[function(require,module,exports){ -var isObject = require('./isObject'); - -/** `Object#toString` result references. */ -var funcTag = '[object Function]'; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ -function isFunction(value) { - // The use of `Object#toString` avoids issues with the `typeof` operator - // in older versions of Chrome and Safari which return 'function' for regexes - // and Safari 8 which returns 'object' for typed array constructors. - return isObject(value) && objToString.call(value) == funcTag; -} - -module.exports = isFunction; - -},{"./isObject":60}],59:[function(require,module,exports){ -var isFunction = require('./isFunction'), - isObjectLike = require('../internal/isObjectLike'); - -/** Used to detect host constructors (Safari > 5). */ -var reIsHostCtor = /^\[object .+?Constructor\]$/; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var fnToString = Function.prototype.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Used to detect if a method is native. */ -var reIsNative = RegExp('^' + - fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' -); - -/** - * Checks if `value` is a native function. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ -function isNative(value) { - if (value == null) { - return false; - } - if (isFunction(value)) { - return reIsNative.test(fnToString.call(value)); - } - return isObjectLike(value) && reIsHostCtor.test(value); -} - -module.exports = isNative; - -},{"../internal/isObjectLike":50,"./isFunction":58}],60:[function(require,module,exports){ -/** - * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. - * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(1); - * // => false - */ -function isObject(value) { - // Avoid a V8 JIT bug in Chrome 19-20. - // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); -} - -module.exports = isObject; - -},{}],61:[function(require,module,exports){ -var isObjectLike = require('../internal/isObjectLike'); - -/** `Object#toString` result references. */ -var stringTag = '[object String]'; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ -function isString(value) { - return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag); -} - -module.exports = isString; - -},{"../internal/isObjectLike":50}],62:[function(require,module,exports){ -var isLength = require('../internal/isLength'), - isObjectLike = require('../internal/isObjectLike'); - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; - -var arrayBufferTag = '[object ArrayBuffer]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -/** Used to identify `toStringTag` values of typed arrays. */ -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = -typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = -typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = -typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = -typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag] = typedArrayTags[arrayTag] = -typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = -typedArrayTags[dateTag] = typedArrayTags[errorTag] = -typedArrayTags[funcTag] = typedArrayTags[mapTag] = -typedArrayTags[numberTag] = typedArrayTags[objectTag] = -typedArrayTags[regexpTag] = typedArrayTags[setTag] = -typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ -function isTypedArray(value) { - return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)]; -} - -module.exports = isTypedArray; - -},{"../internal/isLength":49,"../internal/isObjectLike":50}],63:[function(require,module,exports){ -var assignWith = require('../internal/assignWith'), - baseAssign = require('../internal/baseAssign'), - createAssigner = require('../internal/createAssigner'); - -/** - * Assigns own enumerable properties of source object(s) to the destination - * object. Subsequent sources overwrite property assignments of previous sources. - * If `customizer` is provided it's invoked to produce the assigned values. - * The `customizer` is bound to `thisArg` and invoked with five arguments: - * (objectValue, sourceValue, key, object, source). - * - * **Note:** This method mutates `object` and is based on - * [`Object.assign`](http://ecma-international.org/ecma-262/6.0/#sec-object.assign). - * - * @static - * @memberOf _ - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {Object} Returns `object`. - * @example - * - * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' }); - * // => { 'user': 'fred', 'age': 40 } - * - * // using a customizer callback - * var defaults = _.partialRight(_.assign, function(value, other) { - * return _.isUndefined(value) ? other : value; - * }); - * - * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' }); - * // => { 'user': 'barney', 'age': 36 } - */ -var assign = createAssigner(function(object, source, customizer) { - return customizer - ? assignWith(object, source, customizer) - : baseAssign(object, source); -}); - -module.exports = assign; - -},{"../internal/assignWith":16,"../internal/baseAssign":17,"../internal/createAssigner":36}],64:[function(require,module,exports){ -var baseAssign = require('../internal/baseAssign'), - baseCreate = require('../internal/baseCreate'), - isIterateeCall = require('../internal/isIterateeCall'); - -/** - * Creates an object that inherits from the given `prototype` object. If a - * `properties` object is provided its own enumerable properties are assigned - * to the created object. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ -function create(prototype, properties, guard) { - var result = baseCreate(prototype); - if (guard && isIterateeCall(prototype, properties, guard)) { - properties = undefined; - } - return properties ? baseAssign(result, properties) : result; -} - -module.exports = create; - -},{"../internal/baseAssign":17,"../internal/baseCreate":20,"../internal/isIterateeCall":47}],65:[function(require,module,exports){ -var getNative = require('../internal/getNative'), - isArrayLike = require('../internal/isArrayLike'), - isObject = require('../lang/isObject'), - shimKeys = require('../internal/shimKeys'); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeKeys = getNative(Object, 'keys'); - -/** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys) - * for more details. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ -var keys = !nativeKeys ? shimKeys : function(object) { - var Ctor = object == null ? undefined : object.constructor; - if ((typeof Ctor == 'function' && Ctor.prototype === object) || - (typeof object != 'function' && isArrayLike(object))) { - return shimKeys(object); - } - return isObject(object) ? nativeKeys(object) : []; -}; - -module.exports = keys; - -},{"../internal/getNative":44,"../internal/isArrayLike":45,"../internal/shimKeys":52,"../lang/isObject":60}],66:[function(require,module,exports){ -var isArguments = require('../lang/isArguments'), - isArray = require('../lang/isArray'), - isIndex = require('../internal/isIndex'), - isLength = require('../internal/isLength'), - isObject = require('../lang/isObject'); - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ -function keysIn(object) { - if (object == null) { - return []; - } - if (!isObject(object)) { - object = Object(object); - } - var length = object.length; - length = (length && isLength(length) && - (isArray(object) || isArguments(object)) && length) || 0; - - var Ctor = object.constructor, - index = -1, - isProto = typeof Ctor == 'function' && Ctor.prototype === object, - result = Array(length), - skipIndexes = length > 0; - - while (++index < length) { - result[index] = (index + ''); - } - for (var key in object) { - if (!(skipIndexes && isIndex(key, length)) && - !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; -} - -module.exports = keysIn; - -},{"../internal/isIndex":46,"../internal/isLength":49,"../lang/isArguments":55,"../lang/isArray":56,"../lang/isObject":60}],67:[function(require,module,exports){ -var keys = require('./keys'), - toObject = require('../internal/toObject'); - -/** - * Creates a two dimensional array of the key-value pairs for `object`, - * e.g. `[[key1, value1], [key2, value2]]`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the new array of key-value pairs. - * @example - * - * _.pairs({ 'barney': 36, 'fred': 40 }); - * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed) - */ -function pairs(object) { - object = toObject(object); - - var index = -1, - props = keys(object), - length = props.length, - result = Array(length); - - while (++index < length) { - var key = props[index]; - result[index] = [key, object[key]]; - } - return result; -} - -module.exports = pairs; - -},{"../internal/toObject":53,"./keys":65}],68:[function(require,module,exports){ -/** - * This method returns the first argument provided to it. - * - * @static - * @memberOf _ - * @category Utility - * @param {*} value Any value. - * @returns {*} Returns `value`. - * @example - * - * var object = { 'user': 'fred' }; - * - * _.identity(object) === object; - * // => true - */ -function identity(value) { - return value; -} - -module.exports = identity; - -},{}],69:[function(require,module,exports){ -var baseProperty = require('../internal/baseProperty'), - basePropertyDeep = require('../internal/basePropertyDeep'), - isKey = require('../internal/isKey'); - -/** - * Creates a function that returns the property value at `path` on a - * given object. - * - * @static - * @memberOf _ - * @category Utility - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new function. - * @example - * - * var objects = [ - * { 'a': { 'b': { 'c': 2 } } }, - * { 'a': { 'b': { 'c': 1 } } } - * ]; - * - * _.map(objects, _.property('a.b.c')); - * // => [2, 1] - * - * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c'); - * // => [1, 2] - */ -function property(path) { - return isKey(path) ? baseProperty(path) : basePropertyDeep(path); -} - -module.exports = property; - -},{"../internal/baseProperty":31,"../internal/basePropertyDeep":32,"../internal/isKey":48}],70:[function(require,module,exports){ -(function (global){ - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate (fn, msg) { - if (config('noDeprecation')) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config (name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],71:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLAttribute, create; - - create = require('lodash/object/create'); - - module.exports = XMLAttribute = (function() { - function XMLAttribute(parent, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing attribute name of element " + parent.name); - } - if (value == null) { - throw new Error("Missing attribute value for attribute " + name + " of element " + parent.name); - } - this.name = this.stringify.attName(name); - this.value = this.stringify.attValue(value); - } - - XMLAttribute.prototype.clone = function() { - return create(XMLAttribute.prototype, this); - }; - - XMLAttribute.prototype.toString = function(options, level) { - return ' ' + this.name + '="' + this.value + '"'; - }; - - return XMLAttribute; - - })(); - -}).call(this); - -},{"lodash/object/create":64}],72:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier; - - XMLStringifier = require('./XMLStringifier'); - - XMLDeclaration = require('./XMLDeclaration'); - - XMLDocType = require('./XMLDocType'); - - XMLElement = require('./XMLElement'); - - module.exports = XMLBuilder = (function() { - function XMLBuilder(name, options) { - var root, temp; - if (name == null) { - throw new Error("Root element needs a name"); - } - if (options == null) { - options = {}; - } - this.options = options; - this.stringify = new XMLStringifier(options); - temp = new XMLElement(this, 'doc'); - root = temp.element(name); - root.isRoot = true; - root.documentObject = this; - this.rootObject = root; - if (!options.headless) { - root.declaration(options); - if ((options.pubID != null) || (options.sysID != null)) { - root.doctype(options); - } - } - } - - XMLBuilder.prototype.root = function() { - return this.rootObject; - }; - - XMLBuilder.prototype.end = function(options) { - return this.toString(options); - }; - - XMLBuilder.prototype.toString = function(options) { - var indent, newline, offset, pretty, r, ref, ref1, ref2; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - r = ''; - if (this.xmldec != null) { - r += this.xmldec.toString(options); - } - if (this.doctype != null) { - r += this.doctype.toString(options); - } - r += this.rootObject.toString(options); - if (pretty && r.slice(-newline.length) === newline) { - r = r.slice(0, -newline.length); - } - return r; - }; - - return XMLBuilder; - - })(); - -}).call(this); - -},{"./XMLDeclaration":79,"./XMLDocType":80,"./XMLElement":81,"./XMLStringifier":85}],73:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLCData, XMLNode, create, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLCData = (function(superClass) { - extend(XMLCData, superClass); - - function XMLCData(parent, text) { - XMLCData.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing CDATA text"); - } - this.text = this.stringify.cdata(text); - } - - XMLCData.prototype.clone = function() { - return create(XMLCData.prototype, this); - }; - - XMLCData.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLCData; - - })(XMLNode); - -}).call(this); - -},{"./XMLNode":82,"lodash/object/create":64}],74:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLComment, XMLNode, create, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLComment = (function(superClass) { - extend(XMLComment, superClass); - - function XMLComment(parent, text) { - XMLComment.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing comment text"); - } - this.text = this.stringify.comment(text); - } - - XMLComment.prototype.clone = function() { - return create(XMLComment.prototype, this); - }; - - XMLComment.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLComment; - - })(XMLNode); - -}).call(this); - -},{"./XMLNode":82,"lodash/object/create":64}],75:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDAttList, create; - - create = require('lodash/object/create'); - - module.exports = XMLDTDAttList = (function() { - function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) { - this.stringify = parent.stringify; - if (elementName == null) { - throw new Error("Missing DTD element name"); - } - if (attributeName == null) { - throw new Error("Missing DTD attribute name"); - } - if (!attributeType) { - throw new Error("Missing DTD attribute type"); - } - if (!defaultValueType) { - throw new Error("Missing DTD attribute default"); - } - if (defaultValueType.indexOf('#') !== 0) { - defaultValueType = '#' + defaultValueType; - } - if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) { - throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT"); - } - if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) { - throw new Error("Default value only applies to #FIXED or #DEFAULT"); - } - this.elementName = this.stringify.eleName(elementName); - this.attributeName = this.stringify.attName(attributeName); - this.attributeType = this.stringify.dtdAttType(attributeType); - this.defaultValue = this.stringify.dtdAttDefault(defaultValue); - this.defaultValueType = defaultValueType; - } - - XMLDTDAttList.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDAttList; - - })(); - -}).call(this); - -},{"lodash/object/create":64}],76:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDElement, create; - - create = require('lodash/object/create'); - - module.exports = XMLDTDElement = (function() { - function XMLDTDElement(parent, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing DTD element name"); - } - if (!value) { - value = '(#PCDATA)'; - } - if (Array.isArray(value)) { - value = '(' + value.join(',') + ')'; - } - this.name = this.stringify.eleName(name); - this.value = this.stringify.dtdElementValue(value); - } - - XMLDTDElement.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDElement; - - })(); - -}).call(this); - -},{"lodash/object/create":64}],77:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDEntity, create, isObject; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - module.exports = XMLDTDEntity = (function() { - function XMLDTDEntity(parent, pe, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing entity name"); - } - if (value == null) { - throw new Error("Missing entity value"); - } - this.pe = !!pe; - this.name = this.stringify.eleName(name); - if (!isObject(value)) { - this.value = this.stringify.dtdEntityValue(value); - } else { - if (!value.pubID && !value.sysID) { - throw new Error("Public and/or system identifiers are required for an external entity"); - } - if (value.pubID && !value.sysID) { - throw new Error("System identifier is required for a public external entity"); - } - if (value.pubID != null) { - this.pubID = this.stringify.dtdPubID(value.pubID); - } - if (value.sysID != null) { - this.sysID = this.stringify.dtdSysID(value.sysID); - } - if (value.nData != null) { - this.nData = this.stringify.dtdNData(value.nData); - } - if (this.pe && this.nData) { - throw new Error("Notation declaration is not allowed in a parameter entity"); - } - } - } - - XMLDTDEntity.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDEntity; - - })(); - -}).call(this); - -},{"lodash/lang/isObject":60,"lodash/object/create":64}],78:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDNotation, create; - - create = require('lodash/object/create'); - - module.exports = XMLDTDNotation = (function() { - function XMLDTDNotation(parent, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing notation name"); - } - if (!value.pubID && !value.sysID) { - throw new Error("Public or system identifiers are required for an external entity"); - } - this.name = this.stringify.eleName(name); - if (value.pubID != null) { - this.pubID = this.stringify.dtdPubID(value.pubID); - } - if (value.sysID != null) { - this.sysID = this.stringify.dtdSysID(value.sysID); - } - } - - XMLDTDNotation.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDNotation; - - })(); - -}).call(this); - -},{"lodash/object/create":64}],79:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDeclaration, XMLNode, create, isObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLDeclaration = (function(superClass) { - extend(XMLDeclaration, superClass); - - function XMLDeclaration(parent, version, encoding, standalone) { - var ref; - XMLDeclaration.__super__.constructor.call(this, parent); - if (isObject(version)) { - ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone; - } - if (!version) { - version = '1.0'; - } - this.version = this.stringify.xmlVersion(version); - if (encoding != null) { - this.encoding = this.stringify.xmlEncoding(encoding); - } - if (standalone != null) { - this.standalone = this.stringify.xmlStandalone(standalone); - } - } - - XMLDeclaration.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDeclaration; - - })(XMLNode); - -}).call(this); - -},{"./XMLNode":82,"lodash/lang/isObject":60,"lodash/object/create":64}],80:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLProcessingInstruction, create, isObject; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - XMLCData = require('./XMLCData'); - - XMLComment = require('./XMLComment'); - - XMLDTDAttList = require('./XMLDTDAttList'); - - XMLDTDEntity = require('./XMLDTDEntity'); - - XMLDTDElement = require('./XMLDTDElement'); - - XMLDTDNotation = require('./XMLDTDNotation'); - - XMLProcessingInstruction = require('./XMLProcessingInstruction'); - - module.exports = XMLDocType = (function() { - function XMLDocType(parent, pubID, sysID) { - var ref, ref1; - this.documentObject = parent; - this.stringify = this.documentObject.stringify; - this.children = []; - if (isObject(pubID)) { - ref = pubID, pubID = ref.pubID, sysID = ref.sysID; - } - if (sysID == null) { - ref1 = [pubID, sysID], sysID = ref1[0], pubID = ref1[1]; - } - if (pubID != null) { - this.pubID = this.stringify.dtdPubID(pubID); - } - if (sysID != null) { - this.sysID = this.stringify.dtdSysID(sysID); - } - } - - XMLDocType.prototype.element = function(name, value) { - var child; - child = new XMLDTDElement(this, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { - var child; - child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.entity = function(name, value) { - var child; - child = new XMLDTDEntity(this, false, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.pEntity = function(name, value) { - var child; - child = new XMLDTDEntity(this, true, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.notation = function(name, value) { - var child; - child = new XMLDTDNotation(this, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.cdata = function(value) { - var child; - child = new XMLCData(this, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.comment = function(value) { - var child; - child = new XMLComment(this, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.instruction = function(target, value) { - var child; - child = new XMLProcessingInstruction(this, target, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.root = function() { - return this.documentObject.root(); - }; - - XMLDocType.prototype.document = function() { - return this.documentObject; - }; - - XMLDocType.prototype.toString = function(options, level) { - var child, i, indent, len, newline, offset, pretty, r, ref, ref1, ref2, ref3, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ' 0) { - r += ' ['; - if (pretty) { - r += newline; - } - ref3 = this.children; - for (i = 0, len = ref3.length; i < len; i++) { - child = ref3[i]; - r += child.toString(options, level + 1); - } - r += ']'; - } - r += '>'; - if (pretty) { - r += newline; - } - return r; - }; - - XMLDocType.prototype.ele = function(name, value) { - return this.element(name, value); - }; - - XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { - return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue); - }; - - XMLDocType.prototype.ent = function(name, value) { - return this.entity(name, value); - }; - - XMLDocType.prototype.pent = function(name, value) { - return this.pEntity(name, value); - }; - - XMLDocType.prototype.not = function(name, value) { - return this.notation(name, value); - }; - - XMLDocType.prototype.dat = function(value) { - return this.cdata(value); - }; - - XMLDocType.prototype.com = function(value) { - return this.comment(value); - }; - - XMLDocType.prototype.ins = function(target, value) { - return this.instruction(target, value); - }; - - XMLDocType.prototype.up = function() { - return this.root(); - }; - - XMLDocType.prototype.doc = function() { - return this.document(); - }; - - return XMLDocType; - - })(); - -}).call(this); - -},{"./XMLCData":73,"./XMLComment":74,"./XMLDTDAttList":75,"./XMLDTDElement":76,"./XMLDTDEntity":77,"./XMLDTDNotation":78,"./XMLProcessingInstruction":83,"lodash/lang/isObject":60,"lodash/object/create":64}],81:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLAttribute, XMLElement, XMLNode, XMLProcessingInstruction, create, every, isFunction, isObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - isFunction = require('lodash/lang/isFunction'); - - every = require('lodash/collection/every'); - - XMLNode = require('./XMLNode'); - - XMLAttribute = require('./XMLAttribute'); - - XMLProcessingInstruction = require('./XMLProcessingInstruction'); - - module.exports = XMLElement = (function(superClass) { - extend(XMLElement, superClass); - - function XMLElement(parent, name, attributes) { - XMLElement.__super__.constructor.call(this, parent); - if (name == null) { - throw new Error("Missing element name"); - } - this.name = this.stringify.eleName(name); - this.children = []; - this.instructions = []; - this.attributes = {}; - if (attributes != null) { - this.attribute(attributes); - } - } - - XMLElement.prototype.clone = function() { - var att, attName, clonedSelf, i, len, pi, ref, ref1; - clonedSelf = create(XMLElement.prototype, this); - if (clonedSelf.isRoot) { - clonedSelf.documentObject = null; - } - clonedSelf.attributes = {}; - ref = this.attributes; - for (attName in ref) { - if (!hasProp.call(ref, attName)) continue; - att = ref[attName]; - clonedSelf.attributes[attName] = att.clone(); - } - clonedSelf.instructions = []; - ref1 = this.instructions; - for (i = 0, len = ref1.length; i < len; i++) { - pi = ref1[i]; - clonedSelf.instructions.push(pi.clone()); - } - clonedSelf.children = []; - this.children.forEach(function(child) { - var clonedChild; - clonedChild = child.clone(); - clonedChild.parent = clonedSelf; - return clonedSelf.children.push(clonedChild); - }); - return clonedSelf; - }; - - XMLElement.prototype.attribute = function(name, value) { - var attName, attValue; - if (name != null) { - name = name.valueOf(); - } - if (isObject(name)) { - for (attName in name) { - if (!hasProp.call(name, attName)) continue; - attValue = name[attName]; - this.attribute(attName, attValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - if (!this.options.skipNullAttributes || (value != null)) { - this.attributes[name] = new XMLAttribute(this, name, value); - } - } - return this; - }; - - XMLElement.prototype.removeAttribute = function(name) { - var attName, i, len; - if (name == null) { - throw new Error("Missing attribute name"); - } - name = name.valueOf(); - if (Array.isArray(name)) { - for (i = 0, len = name.length; i < len; i++) { - attName = name[i]; - delete this.attributes[attName]; - } - } else { - delete this.attributes[name]; - } - return this; - }; - - XMLElement.prototype.instruction = function(target, value) { - var i, insTarget, insValue, instruction, len; - if (target != null) { - target = target.valueOf(); - } - if (value != null) { - value = value.valueOf(); - } - if (Array.isArray(target)) { - for (i = 0, len = target.length; i < len; i++) { - insTarget = target[i]; - this.instruction(insTarget); - } - } else if (isObject(target)) { - for (insTarget in target) { - if (!hasProp.call(target, insTarget)) continue; - insValue = target[insTarget]; - this.instruction(insTarget, insValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - instruction = new XMLProcessingInstruction(this, target, value); - this.instructions.push(instruction); - } - return this; - }; - - XMLElement.prototype.toString = function(options, level) { - var att, child, i, indent, instruction, j, len, len1, name, newline, offset, pretty, r, ref, ref1, ref2, ref3, ref4, ref5, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - ref3 = this.instructions; - for (i = 0, len = ref3.length; i < len; i++) { - instruction = ref3[i]; - r += instruction.toString(options, level); - } - if (pretty) { - r += space; - } - r += '<' + this.name; - ref4 = this.attributes; - for (name in ref4) { - if (!hasProp.call(ref4, name)) continue; - att = ref4[name]; - r += att.toString(options); - } - if (this.children.length === 0 || every(this.children, function(e) { - return e.value === ''; - })) { - r += '/>'; - if (pretty) { - r += newline; - } - } else if (pretty && this.children.length === 1 && (this.children[0].value != null)) { - r += '>'; - r += this.children[0].value; - r += ''; - r += newline; - } else { - r += '>'; - if (pretty) { - r += newline; - } - ref5 = this.children; - for (j = 0, len1 = ref5.length; j < len1; j++) { - child = ref5[j]; - r += child.toString(options, level + 1); - } - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - } - return r; - }; - - XMLElement.prototype.att = function(name, value) { - return this.attribute(name, value); - }; - - XMLElement.prototype.ins = function(target, value) { - return this.instruction(target, value); - }; - - XMLElement.prototype.a = function(name, value) { - return this.attribute(name, value); - }; - - XMLElement.prototype.i = function(target, value) { - return this.instruction(target, value); - }; - - return XMLElement; - - })(XMLNode); - -}).call(this); - -},{"./XMLAttribute":71,"./XMLNode":82,"./XMLProcessingInstruction":83,"lodash/collection/every":12,"lodash/lang/isFunction":58,"lodash/lang/isObject":60,"lodash/object/create":64}],82:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLElement, XMLNode, XMLRaw, XMLText, isEmpty, isFunction, isObject, - hasProp = {}.hasOwnProperty; - - isObject = require('lodash/lang/isObject'); - - isFunction = require('lodash/lang/isFunction'); - - isEmpty = require('lodash/lang/isEmpty'); - - XMLElement = null; - - XMLCData = null; - - XMLComment = null; - - XMLDeclaration = null; - - XMLDocType = null; - - XMLRaw = null; - - XMLText = null; - - module.exports = XMLNode = (function() { - function XMLNode(parent) { - this.parent = parent; - this.options = this.parent.options; - this.stringify = this.parent.stringify; - if (XMLElement === null) { - XMLElement = require('./XMLElement'); - XMLCData = require('./XMLCData'); - XMLComment = require('./XMLComment'); - XMLDeclaration = require('./XMLDeclaration'); - XMLDocType = require('./XMLDocType'); - XMLRaw = require('./XMLRaw'); - XMLText = require('./XMLText'); - } - } - - XMLNode.prototype.element = function(name, attributes, text) { - var childNode, item, j, k, key, lastChild, len, len1, ref, val; - lastChild = null; - if (attributes == null) { - attributes = {}; - } - attributes = attributes.valueOf(); - if (!isObject(attributes)) { - ref = [attributes, text], text = ref[0], attributes = ref[1]; - } - if (name != null) { - name = name.valueOf(); - } - if (Array.isArray(name)) { - for (j = 0, len = name.length; j < len; j++) { - item = name[j]; - lastChild = this.element(item); - } - } else if (isFunction(name)) { - lastChild = this.element(name.apply()); - } else if (isObject(name)) { - for (key in name) { - if (!hasProp.call(name, key)) continue; - val = name[key]; - if (isFunction(val)) { - val = val.apply(); - } - if ((isObject(val)) && (isEmpty(val))) { - val = null; - } - if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) { - lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val); - } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && key.indexOf(this.stringify.convertPIKey) === 0) { - lastChild = this.instruction(key.substr(this.stringify.convertPIKey.length), val); - } else if (Array.isArray(val)) { - for (k = 0, len1 = val.length; k < len1; k++) { - item = val[k]; - childNode = {}; - childNode[key] = item; - lastChild = this.element(childNode); - } - } else if (isObject(val)) { - lastChild = this.element(key); - lastChild.element(val); - } else { - lastChild = this.element(key, val); - } - } - } else { - if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) { - lastChild = this.text(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) { - lastChild = this.cdata(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) { - lastChild = this.comment(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) { - lastChild = this.raw(text); - } else { - lastChild = this.node(name, attributes, text); - } - } - if (lastChild == null) { - throw new Error("Could not create any elements with: " + name); - } - return lastChild; - }; - - XMLNode.prototype.insertBefore = function(name, attributes, text) { - var child, i, removed; - if (this.isRoot) { - throw new Error("Cannot insert elements at root level"); - } - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i); - child = this.parent.element(name, attributes, text); - Array.prototype.push.apply(this.parent.children, removed); - return child; - }; - - XMLNode.prototype.insertAfter = function(name, attributes, text) { - var child, i, removed; - if (this.isRoot) { - throw new Error("Cannot insert elements at root level"); - } - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i + 1); - child = this.parent.element(name, attributes, text); - Array.prototype.push.apply(this.parent.children, removed); - return child; - }; - - XMLNode.prototype.remove = function() { - var i, ref; - if (this.isRoot) { - throw new Error("Cannot remove the root element"); - } - i = this.parent.children.indexOf(this); - [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref = [])), ref; - return this.parent; - }; - - XMLNode.prototype.node = function(name, attributes, text) { - var child, ref; - if (name != null) { - name = name.valueOf(); - } - if (attributes == null) { - attributes = {}; - } - attributes = attributes.valueOf(); - if (!isObject(attributes)) { - ref = [attributes, text], text = ref[0], attributes = ref[1]; - } - child = new XMLElement(this, name, attributes); - if (text != null) { - child.text(text); - } - this.children.push(child); - return child; - }; - - XMLNode.prototype.text = function(value) { - var child; - child = new XMLText(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.cdata = function(value) { - var child; - child = new XMLCData(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.comment = function(value) { - var child; - child = new XMLComment(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.raw = function(value) { - var child; - child = new XMLRaw(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.declaration = function(version, encoding, standalone) { - var doc, xmldec; - doc = this.document(); - xmldec = new XMLDeclaration(doc, version, encoding, standalone); - doc.xmldec = xmldec; - return doc.root(); - }; - - XMLNode.prototype.doctype = function(pubID, sysID) { - var doc, doctype; - doc = this.document(); - doctype = new XMLDocType(doc, pubID, sysID); - doc.doctype = doctype; - return doctype; - }; - - XMLNode.prototype.up = function() { - if (this.isRoot) { - throw new Error("The root node has no parent. Use doc() if you need to get the document object."); - } - return this.parent; - }; - - XMLNode.prototype.root = function() { - var child; - if (this.isRoot) { - return this; - } - child = this.parent; - while (!child.isRoot) { - child = child.parent; - } - return child; - }; - - XMLNode.prototype.document = function() { - return this.root().documentObject; - }; - - XMLNode.prototype.end = function(options) { - return this.document().toString(options); - }; - - XMLNode.prototype.prev = function() { - var i; - if (this.isRoot) { - throw new Error("Root node has no siblings"); - } - i = this.parent.children.indexOf(this); - if (i < 1) { - throw new Error("Already at the first node"); - } - return this.parent.children[i - 1]; - }; - - XMLNode.prototype.next = function() { - var i; - if (this.isRoot) { - throw new Error("Root node has no siblings"); - } - i = this.parent.children.indexOf(this); - if (i === -1 || i === this.parent.children.length - 1) { - throw new Error("Already at the last node"); - } - return this.parent.children[i + 1]; - }; - - XMLNode.prototype.importXMLBuilder = function(xmlbuilder) { - var clonedRoot; - clonedRoot = xmlbuilder.root().clone(); - clonedRoot.parent = this; - clonedRoot.isRoot = false; - this.children.push(clonedRoot); - return this; - }; - - XMLNode.prototype.ele = function(name, attributes, text) { - return this.element(name, attributes, text); - }; - - XMLNode.prototype.nod = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLNode.prototype.txt = function(value) { - return this.text(value); - }; - - XMLNode.prototype.dat = function(value) { - return this.cdata(value); - }; - - XMLNode.prototype.com = function(value) { - return this.comment(value); - }; - - XMLNode.prototype.doc = function() { - return this.document(); - }; - - XMLNode.prototype.dec = function(version, encoding, standalone) { - return this.declaration(version, encoding, standalone); - }; - - XMLNode.prototype.dtd = function(pubID, sysID) { - return this.doctype(pubID, sysID); - }; - - XMLNode.prototype.e = function(name, attributes, text) { - return this.element(name, attributes, text); - }; - - XMLNode.prototype.n = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLNode.prototype.t = function(value) { - return this.text(value); - }; - - XMLNode.prototype.d = function(value) { - return this.cdata(value); - }; - - XMLNode.prototype.c = function(value) { - return this.comment(value); - }; - - XMLNode.prototype.r = function(value) { - return this.raw(value); - }; - - XMLNode.prototype.u = function() { - return this.up(); - }; - - return XMLNode; - - })(); - -}).call(this); - -},{"./XMLCData":73,"./XMLComment":74,"./XMLDeclaration":79,"./XMLDocType":80,"./XMLElement":81,"./XMLRaw":84,"./XMLText":86,"lodash/lang/isEmpty":57,"lodash/lang/isFunction":58,"lodash/lang/isObject":60}],83:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLProcessingInstruction, create; - - create = require('lodash/object/create'); - - module.exports = XMLProcessingInstruction = (function() { - function XMLProcessingInstruction(parent, target, value) { - this.stringify = parent.stringify; - if (target == null) { - throw new Error("Missing instruction target"); - } - this.target = this.stringify.insTarget(target); - if (value) { - this.value = this.stringify.insValue(value); - } - } - - XMLProcessingInstruction.prototype.clone = function() { - return create(XMLProcessingInstruction.prototype, this); - }; - - XMLProcessingInstruction.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLProcessingInstruction; - - })(); - -}).call(this); - -},{"lodash/object/create":64}],84:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLNode, XMLRaw, create, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLRaw = (function(superClass) { - extend(XMLRaw, superClass); - - function XMLRaw(parent, text) { - XMLRaw.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing raw text"); - } - this.value = this.stringify.raw(text); - } - - XMLRaw.prototype.clone = function() { - return create(XMLRaw.prototype, this); - }; - - XMLRaw.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += this.value; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLRaw; - - })(XMLNode); - -}).call(this); - -},{"./XMLNode":82,"lodash/object/create":64}],85:[function(require,module,exports){ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLStringifier, - bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - hasProp = {}.hasOwnProperty; - - module.exports = XMLStringifier = (function() { - function XMLStringifier(options) { - this.assertLegalChar = bind(this.assertLegalChar, this); - var key, ref, value; - this.allowSurrogateChars = options != null ? options.allowSurrogateChars : void 0; - ref = (options != null ? options.stringify : void 0) || {}; - for (key in ref) { - if (!hasProp.call(ref, key)) continue; - value = ref[key]; - this[key] = value; - } - } - - XMLStringifier.prototype.eleName = function(val) { - val = '' + val || ''; - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.eleText = function(val) { - val = '' + val || ''; - return this.assertLegalChar(this.elEscape(val)); - }; - - XMLStringifier.prototype.cdata = function(val) { - val = '' + val || ''; - if (val.match(/]]>/)) { - throw new Error("Invalid CDATA text: " + val); - } - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.comment = function(val) { - val = '' + val || ''; - if (val.match(/--/)) { - throw new Error("Comment text cannot contain double-hypen: " + val); - } - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.raw = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.attName = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.attValue = function(val) { - val = '' + val || ''; - return this.attEscape(val); - }; - - XMLStringifier.prototype.insTarget = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.insValue = function(val) { - val = '' + val || ''; - if (val.match(/\?>/)) { - throw new Error("Invalid processing instruction value: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlVersion = function(val) { - val = '' + val || ''; - if (!val.match(/1\.[0-9]+/)) { - throw new Error("Invalid version number: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlEncoding = function(val) { - val = '' + val || ''; - if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-]|-)*$/)) { - throw new Error("Invalid encoding: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlStandalone = function(val) { - if (val) { - return "yes"; - } else { - return "no"; - } - }; - - XMLStringifier.prototype.dtdPubID = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdSysID = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdElementValue = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdAttType = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdAttDefault = function(val) { - if (val != null) { - return '' + val || ''; - } else { - return val; - } - }; - - XMLStringifier.prototype.dtdEntityValue = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdNData = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.convertAttKey = '@'; - - XMLStringifier.prototype.convertPIKey = '?'; - - XMLStringifier.prototype.convertTextKey = '#text'; - - XMLStringifier.prototype.convertCDataKey = '#cdata'; - - XMLStringifier.prototype.convertCommentKey = '#comment'; - - XMLStringifier.prototype.convertRawKey = '#raw'; - - XMLStringifier.prototype.assertLegalChar = function(str) { - var chars, chr; - if (this.allowSurrogateChars) { - chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uFFFE-\uFFFF]/; - } else { - chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uD800-\uDFFF\uFFFE-\uFFFF]/; - } - chr = str.match(chars); - if (chr) { - throw new Error("Invalid character (" + chr + ") in string: " + str + " at index " + chr.index); - } - return str; - }; - - XMLStringifier.prototype.elEscape = function(str) { - return str.replace(/&/g, '&').replace(//g, '>').replace(/\r/g, ' '); - }; - - XMLStringifier.prototype.attEscape = function(str) { - return str.replace(/&/g, '&').replace(/','amp':'&','quot':'"','apos':"'"} - if(locator){ - domBuilder.setDocumentLocator(locator) - } - - sax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator); - sax.domBuilder = options.domBuilder || domBuilder; - if(/\/x?html?$/.test(mimeType)){ - entityMap.nbsp = '\xa0'; - entityMap.copy = '\xa9'; - defaultNSMap['']= 'http://www.w3.org/1999/xhtml'; - } - if(source){ - sax.parse(source,defaultNSMap,entityMap); - }else{ - sax.errorHandler.error("invalid document source"); - } - return domBuilder.document; -} -function buildErrorHandler(errorImpl,domBuilder,locator){ - if(!errorImpl){ - if(domBuilder instanceof DOMHandler){ - return domBuilder; - } - errorImpl = domBuilder ; - } - var errorHandler = {} - var isCallback = errorImpl instanceof Function; - locator = locator||{} - function build(key){ - var fn = errorImpl[key]; - if(!fn){ - if(isCallback){ - fn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl; - }else{ - var i=arguments.length; - while(--i){ - if(fn = errorImpl[arguments[i]]){ - break; - } - } - } - } - errorHandler[key] = fn && function(msg){ - fn(msg+_locator(locator)); - }||function(){}; - } - build('warning','warn'); - build('error','warn','warning'); - build('fatalError','warn','warning','error'); - return errorHandler; -} -/** - * +ContentHandler+ErrorHandler - * +LexicalHandler+EntityResolver2 - * -DeclHandler-DTDHandler - * - * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler - * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2 - * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html - */ -function DOMHandler() { - this.cdata = false; -} -function position(locator,node){ - node.lineNumber = locator.lineNumber; - node.columnNumber = locator.columnNumber; -} -/** - * @see org.xml.sax.ContentHandler#startDocument - * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html - */ -DOMHandler.prototype = { - startDocument : function() { - this.document = new DOMImplementation().createDocument(null, null, null); - if (this.locator) { - this.document.documentURI = this.locator.systemId; - } - }, - startElement:function(namespaceURI, localName, qName, attrs) { - var doc = this.document; - var el = doc.createElementNS(namespaceURI, qName||localName); - var len = attrs.length; - appendElement(this, el); - this.currentElement = el; - - this.locator && position(this.locator,el) - for (var i = 0 ; i < len; i++) { - var namespaceURI = attrs.getURI(i); - var value = attrs.getValue(i); - var qName = attrs.getQName(i); - var attr = doc.createAttributeNS(namespaceURI, qName); - if( attr.getOffset){ - position(attr.getOffset(1),attr) - } - attr.value = attr.nodeValue = value; - el.setAttributeNode(attr) - } - }, - endElement:function(namespaceURI, localName, qName) { - var current = this.currentElement - var tagName = current.tagName; - this.currentElement = current.parentNode; - }, - startPrefixMapping:function(prefix, uri) { - }, - endPrefixMapping:function(prefix) { - }, - processingInstruction:function(target, data) { - var ins = this.document.createProcessingInstruction(target, data); - this.locator && position(this.locator,ins) - appendElement(this, ins); - }, - ignorableWhitespace:function(ch, start, length) { - }, - characters:function(chars, start, length) { - chars = _toString.apply(this,arguments) - //console.log(chars) - if(this.currentElement && chars){ - if (this.cdata) { - var charNode = this.document.createCDATASection(chars); - this.currentElement.appendChild(charNode); - } else { - var charNode = this.document.createTextNode(chars); - this.currentElement.appendChild(charNode); - } - this.locator && position(this.locator,charNode) - } - }, - skippedEntity:function(name) { - }, - endDocument:function() { - this.document.normalize(); - }, - setDocumentLocator:function (locator) { - if(this.locator = locator){// && !('lineNumber' in locator)){ - locator.lineNumber = 0; - } - }, - //LexicalHandler - comment:function(chars, start, length) { - chars = _toString.apply(this,arguments) - var comm = this.document.createComment(chars); - this.locator && position(this.locator,comm) - appendElement(this, comm); - }, - - startCDATA:function() { - //used in characters() methods - this.cdata = true; - }, - endCDATA:function() { - this.cdata = false; - }, - - startDTD:function(name, publicId, systemId) { - var impl = this.document.implementation; - if (impl && impl.createDocumentType) { - var dt = impl.createDocumentType(name, publicId, systemId); - this.locator && position(this.locator,dt) - appendElement(this, dt); - } - }, - /** - * @see org.xml.sax.ErrorHandler - * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html - */ - warning:function(error) { - console.warn(error,_locator(this.locator)); - }, - error:function(error) { - console.error(error,_locator(this.locator)); - }, - fatalError:function(error) { - console.error(error,_locator(this.locator)); - throw error; - } -} -function _locator(l){ - if(l){ - return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']' - } -} -function _toString(chars,start,length){ - if(typeof chars == 'string'){ - return chars.substr(start,length) - }else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)") - if(chars.length >= start+length || start){ - return new java.lang.String(chars,start,length)+''; - } - return chars; - } -} - -/* - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html - * used method of org.xml.sax.ext.LexicalHandler: - * #comment(chars, start, length) - * #startCDATA() - * #endCDATA() - * #startDTD(name, publicId, systemId) - * - * - * IGNORED method of org.xml.sax.ext.LexicalHandler: - * #endDTD() - * #startEntity(name) - * #endEntity(name) - * - * - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html - * IGNORED method of org.xml.sax.ext.DeclHandler - * #attributeDecl(eName, aName, type, mode, value) - * #elementDecl(name, model) - * #externalEntityDecl(name, publicId, systemId) - * #internalEntityDecl(name, value) - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html - * IGNORED method of org.xml.sax.EntityResolver2 - * #resolveEntity(String name,String publicId,String baseURI,String systemId) - * #resolveEntity(publicId, systemId) - * #getExternalSubset(name, baseURI) - * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html - * IGNORED method of org.xml.sax.DTDHandler - * #notationDecl(name, publicId, systemId) {}; - * #unparsedEntityDecl(name, publicId, systemId, notationName) {}; - */ -"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){ - DOMHandler.prototype[key] = function(){return null} -}) - -/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */ -function appendElement (hander,node) { - if (!hander.currentElement) { - hander.document.appendChild(node); - } else { - hander.currentElement.appendChild(node); - } -}//appendChild and setAttributeNS are preformance key - -if(typeof require == 'function'){ - var XMLReader = require('./sax').XMLReader; - var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation; - exports.XMLSerializer = require('./dom').XMLSerializer ; - exports.DOMParser = DOMParser; -} - -},{"./dom":89,"./sax":90}],89:[function(require,module,exports){ -/* - * DOM Level 2 - * Object DOMException - * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - */ - -function copy(src,dest){ - for(var p in src){ - dest[p] = src[p]; - } -} -/** -^\w+\.prototype\.([_\w]+)\s*=\s*((?:.*\{\s*?[\r\n][\s\S]*?^})|\S.*?(?=[;\r\n]));? -^\w+\.prototype\.([_\w]+)\s*=\s*(\S.*?(?=[;\r\n]));? - */ -function _extends(Class,Super){ - var pt = Class.prototype; - if(Object.create){ - var ppt = Object.create(Super.prototype) - pt.__proto__ = ppt; - } - if(!(pt instanceof Super)){ - function t(){}; - t.prototype = Super.prototype; - t = new t(); - copy(pt,t); - Class.prototype = pt = t; - } - if(pt.constructor != Class){ - if(typeof Class != 'function'){ - console.error("unknow Class:"+Class) - } - pt.constructor = Class - } -} -var htmlns = 'http://www.w3.org/1999/xhtml' ; -// Node Types -var NodeType = {} -var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1; -var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2; -var TEXT_NODE = NodeType.TEXT_NODE = 3; -var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4; -var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5; -var ENTITY_NODE = NodeType.ENTITY_NODE = 6; -var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7; -var COMMENT_NODE = NodeType.COMMENT_NODE = 8; -var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9; -var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10; -var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11; -var NOTATION_NODE = NodeType.NOTATION_NODE = 12; - -// ExceptionCode -var ExceptionCode = {} -var ExceptionMessage = {}; -var INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]="Index size error"),1); -var DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2); -var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3); -var WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4); -var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5); -var NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6); -var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7); -var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8); -var NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]="Not supported"),9); -var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]="Attribute in use"),10); -//level2 -var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = ((ExceptionMessage[11]="Invalid state"),11); -var SYNTAX_ERR = ExceptionCode.SYNTAX_ERR = ((ExceptionMessage[12]="Syntax error"),12); -var INVALID_MODIFICATION_ERR = ExceptionCode.INVALID_MODIFICATION_ERR = ((ExceptionMessage[13]="Invalid modification"),13); -var NAMESPACE_ERR = ExceptionCode.NAMESPACE_ERR = ((ExceptionMessage[14]="Invalid namespace"),14); -var INVALID_ACCESS_ERR = ExceptionCode.INVALID_ACCESS_ERR = ((ExceptionMessage[15]="Invalid access"),15); - - -function DOMException(code, message) { - if(message instanceof Error){ - var error = message; - }else{ - error = this; - Error.call(this, ExceptionMessage[code]); - this.message = ExceptionMessage[code]; - if(Error.captureStackTrace) Error.captureStackTrace(this, DOMException); - } - error.code = code; - if(message) this.message = this.message + ": " + message; - return error; -}; -DOMException.prototype = Error.prototype; -copy(ExceptionCode,DOMException) -/** - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177 - * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live. - * The items in the NodeList are accessible via an integral index, starting from 0. - */ -function NodeList() { -}; -NodeList.prototype = { - /** - * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive. - * @standard level1 - */ - length:0, - /** - * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null. - * @standard level1 - * @param index unsigned long - * Index into the collection. - * @return Node - * The node at the indexth position in the NodeList, or null if that is not a valid index. - */ - item: function(index) { - return this[index] || null; - } -}; -function LiveNodeList(node,refresh){ - this._node = node; - this._refresh = refresh - _updateLiveList(this); -} -function _updateLiveList(list){ - var inc = list._node._inc || list._node.ownerDocument._inc; - if(list._inc != inc){ - var ls = list._refresh(list._node); - //console.log(ls.length) - __set__(list,'length',ls.length); - copy(ls,list); - list._inc = inc; - } -} -LiveNodeList.prototype.item = function(i){ - _updateLiveList(this); - return this[i]; -} - -_extends(LiveNodeList,NodeList); -/** - * - * Objects implementing the NamedNodeMap interface are used to represent collections of nodes that can be accessed by name. Note that NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not maintained in any particular order. Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents of a NamedNodeMap, and does not imply that the DOM specifies an order to these Nodes. - * NamedNodeMap objects in the DOM are live. - * used for attributes or DocumentType entities - */ -function NamedNodeMap() { -}; - -function _findNodeIndex(list,node){ - var i = list.length; - while(i--){ - if(list[i] === node){return i} - } -} - -function _addNamedNode(el,list,newAttr,oldAttr){ - if(oldAttr){ - list[_findNodeIndex(list,oldAttr)] = newAttr; - }else{ - list[list.length++] = newAttr; - } - if(el){ - newAttr.ownerElement = el; - var doc = el.ownerDocument; - if(doc){ - oldAttr && _onRemoveAttribute(doc,el,oldAttr); - _onAddAttribute(doc,el,newAttr); - } - } -} -function _removeNamedNode(el,list,attr){ - var i = _findNodeIndex(list,attr); - if(i>=0){ - var lastIndex = list.length-1 - while(i0 || key == 'xmlns'){ -// return null; -// } - var i = this.length; - while(i--){ - var attr = this[i]; - if(attr.nodeName == key){ - return attr; - } - } - }, - setNamedItem: function(attr) { - var el = attr.ownerElement; - if(el && el!=this._ownerElement){ - throw new DOMException(INUSE_ATTRIBUTE_ERR); - } - var oldAttr = this.getNamedItem(attr.nodeName); - _addNamedNode(this._ownerElement,this,attr,oldAttr); - return oldAttr; - }, - /* returns Node */ - setNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR - var el = attr.ownerElement, oldAttr; - if(el && el!=this._ownerElement){ - throw new DOMException(INUSE_ATTRIBUTE_ERR); - } - oldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName); - _addNamedNode(this._ownerElement,this,attr,oldAttr); - return oldAttr; - }, - - /* returns Node */ - removeNamedItem: function(key) { - var attr = this.getNamedItem(key); - _removeNamedNode(this._ownerElement,this,attr); - return attr; - - - },// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR - - //for level2 - removeNamedItemNS:function(namespaceURI,localName){ - var attr = this.getNamedItemNS(namespaceURI,localName); - _removeNamedNode(this._ownerElement,this,attr); - return attr; - }, - getNamedItemNS: function(namespaceURI, localName) { - var i = this.length; - while(i--){ - var node = this[i]; - if(node.localName == localName && node.namespaceURI == namespaceURI){ - return node; - } - } - return null; - } -}; -/** - * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 - */ -function DOMImplementation(/* Object */ features) { - this._features = {}; - if (features) { - for (var feature in features) { - this._features = features[feature]; - } - } -}; - -DOMImplementation.prototype = { - hasFeature: function(/* string */ feature, /* string */ version) { - var versions = this._features[feature.toLowerCase()]; - if (versions && (!version || version in versions)) { - return true; - } else { - return false; - } - }, - // Introduced in DOM Level 2: - createDocument:function(namespaceURI, qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR - var doc = new Document(); - doc.doctype = doctype; - if(doctype){ - doc.appendChild(doctype); - } - doc.implementation = this; - doc.childNodes = new NodeList(); - if(qualifiedName){ - var root = doc.createElementNS(namespaceURI,qualifiedName); - doc.appendChild(root); - } - return doc; - }, - // Introduced in DOM Level 2: - createDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR - var node = new DocumentType(); - node.name = qualifiedName; - node.nodeName = qualifiedName; - node.publicId = publicId; - node.systemId = systemId; - // Introduced in DOM Level 2: - //readonly attribute DOMString internalSubset; - - //TODO:.. - // readonly attribute NamedNodeMap entities; - // readonly attribute NamedNodeMap notations; - return node; - } -}; - - -/** - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247 - */ - -function Node() { -}; - -Node.prototype = { - firstChild : null, - lastChild : null, - previousSibling : null, - nextSibling : null, - attributes : null, - parentNode : null, - childNodes : null, - ownerDocument : null, - nodeValue : null, - namespaceURI : null, - prefix : null, - localName : null, - // Modified in DOM Level 2: - insertBefore:function(newChild, refChild){//raises - return _insertBefore(this,newChild,refChild); - }, - replaceChild:function(newChild, oldChild){//raises - this.insertBefore(newChild,oldChild); - if(oldChild){ - this.removeChild(oldChild); - } - }, - removeChild:function(oldChild){ - return _removeChild(this,oldChild); - }, - appendChild:function(newChild){ - return this.insertBefore(newChild,null); - }, - hasChildNodes:function(){ - return this.firstChild != null; - }, - cloneNode:function(deep){ - return cloneNode(this.ownerDocument||this,this,deep); - }, - // Modified in DOM Level 2: - normalize:function(){ - var child = this.firstChild; - while(child){ - var next = child.nextSibling; - if(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){ - this.removeChild(next); - child.appendData(next.data); - }else{ - child.normalize(); - child = next; - } - } - }, - // Introduced in DOM Level 2: - isSupported:function(feature, version){ - return this.ownerDocument.implementation.hasFeature(feature,version); - }, - // Introduced in DOM Level 2: - hasAttributes:function(){ - return this.attributes.length>0; - }, - lookupPrefix:function(namespaceURI){ - var el = this; - while(el){ - var map = el._nsMap; - //console.dir(map) - if(map){ - for(var n in map){ - if(map[n] == namespaceURI){ - return n; - } - } - } - el = el.nodeType == 2?el.ownerDocument : el.parentNode; - } - return null; - }, - // Introduced in DOM Level 3: - lookupNamespaceURI:function(prefix){ - var el = this; - while(el){ - var map = el._nsMap; - //console.dir(map) - if(map){ - if(prefix in map){ - return map[prefix] ; - } - } - el = el.nodeType == 2?el.ownerDocument : el.parentNode; - } - return null; - }, - // Introduced in DOM Level 3: - isDefaultNamespace:function(namespaceURI){ - var prefix = this.lookupPrefix(namespaceURI); - return prefix == null; - } -}; - - -function _xmlEncoder(c){ - return c == '<' && '<' || - c == '>' && '>' || - c == '&' && '&' || - c == '"' && '"' || - '&#'+c.charCodeAt()+';' -} - - -copy(NodeType,Node); -copy(NodeType,Node.prototype); - -/** - * @param callback return true for continue,false for break - * @return boolean true: break visit; - */ -function _visitNode(node,callback){ - if(callback(node)){ - return true; - } - if(node = node.firstChild){ - do{ - if(_visitNode(node,callback)){return true} - }while(node=node.nextSibling) - } -} - - - -function Document(){ -} -function _onAddAttribute(doc,el,newAttr){ - doc && doc._inc++; - var ns = newAttr.namespaceURI ; - if(ns == 'http://www.w3.org/2000/xmlns/'){ - //update namespace - el._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value - } -} -function _onRemoveAttribute(doc,el,newAttr,remove){ - doc && doc._inc++; - var ns = newAttr.namespaceURI ; - if(ns == 'http://www.w3.org/2000/xmlns/'){ - //update namespace - delete el._nsMap[newAttr.prefix?newAttr.localName:''] - } -} -function _onUpdateChild(doc,el,newChild){ - if(doc && doc._inc){ - doc._inc++; - //update childNodes - var cs = el.childNodes; - if(newChild){ - cs[cs.length++] = newChild; - }else{ - //console.log(1) - var child = el.firstChild; - var i = 0; - while(child){ - cs[i++] = child; - child =child.nextSibling; - } - cs.length = i; - } - } -} - -/** - * attributes; - * children; - * - * writeable properties: - * nodeValue,Attr:value,CharacterData:data - * prefix - */ -function _removeChild(parentNode,child){ - var previous = child.previousSibling; - var next = child.nextSibling; - if(previous){ - previous.nextSibling = next; - }else{ - parentNode.firstChild = next - } - if(next){ - next.previousSibling = previous; - }else{ - parentNode.lastChild = previous; - } - _onUpdateChild(parentNode.ownerDocument,parentNode); - return child; -} -/** - * preformance key(refChild == null) - */ -function _insertBefore(parentNode,newChild,nextChild){ - var cp = newChild.parentNode; - if(cp){ - cp.removeChild(newChild);//remove and update - } - if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){ - var newFirst = newChild.firstChild; - if (newFirst == null) { - return newChild; - } - var newLast = newChild.lastChild; - }else{ - newFirst = newLast = newChild; - } - var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild; - - newFirst.previousSibling = pre; - newLast.nextSibling = nextChild; - - - if(pre){ - pre.nextSibling = newFirst; - }else{ - parentNode.firstChild = newFirst; - } - if(nextChild == null){ - parentNode.lastChild = newLast; - }else{ - nextChild.previousSibling = newLast; - } - do{ - newFirst.parentNode = parentNode; - }while(newFirst !== newLast && (newFirst= newFirst.nextSibling)) - _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode); - //console.log(parentNode.lastChild.nextSibling == null) - if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) { - newChild.firstChild = newChild.lastChild = null; - } - return newChild; -} -function _appendSingleChild(parentNode,newChild){ - var cp = newChild.parentNode; - if(cp){ - var pre = parentNode.lastChild; - cp.removeChild(newChild);//remove and update - var pre = parentNode.lastChild; - } - var pre = parentNode.lastChild; - newChild.parentNode = parentNode; - newChild.previousSibling = pre; - newChild.nextSibling = null; - if(pre){ - pre.nextSibling = newChild; - }else{ - parentNode.firstChild = newChild; - } - parentNode.lastChild = newChild; - _onUpdateChild(parentNode.ownerDocument,parentNode,newChild); - return newChild; - //console.log("__aa",parentNode.lastChild.nextSibling == null) -} -Document.prototype = { - //implementation : null, - nodeName : '#document', - nodeType : DOCUMENT_NODE, - doctype : null, - documentElement : null, - _inc : 1, - - insertBefore : function(newChild, refChild){//raises - if(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){ - var child = newChild.firstChild; - while(child){ - var next = child.nextSibling; - this.insertBefore(child,refChild); - child = next; - } - return newChild; - } - if(this.documentElement == null && newChild.nodeType == 1){ - this.documentElement = newChild; - } - - return _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild; - }, - removeChild : function(oldChild){ - if(this.documentElement == oldChild){ - this.documentElement = null; - } - return _removeChild(this,oldChild); - }, - // Introduced in DOM Level 2: - importNode : function(importedNode,deep){ - return importNode(this,importedNode,deep); - }, - // Introduced in DOM Level 2: - getElementById : function(id){ - var rtv = null; - _visitNode(this.documentElement,function(node){ - if(node.nodeType == 1){ - if(node.getAttribute('id') == id){ - rtv = node; - return true; - } - } - }) - return rtv; - }, - - //document factory method: - createElement : function(tagName){ - var node = new Element(); - node.ownerDocument = this; - node.nodeName = tagName; - node.tagName = tagName; - node.childNodes = new NodeList(); - var attrs = node.attributes = new NamedNodeMap(); - attrs._ownerElement = node; - return node; - }, - createDocumentFragment : function(){ - var node = new DocumentFragment(); - node.ownerDocument = this; - node.childNodes = new NodeList(); - return node; - }, - createTextNode : function(data){ - var node = new Text(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createComment : function(data){ - var node = new Comment(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createCDATASection : function(data){ - var node = new CDATASection(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createProcessingInstruction : function(target,data){ - var node = new ProcessingInstruction(); - node.ownerDocument = this; - node.tagName = node.target = target; - node.nodeValue= node.data = data; - return node; - }, - createAttribute : function(name){ - var node = new Attr(); - node.ownerDocument = this; - node.name = name; - node.nodeName = name; - node.localName = name; - node.specified = true; - return node; - }, - createEntityReference : function(name){ - var node = new EntityReference(); - node.ownerDocument = this; - node.nodeName = name; - return node; - }, - // Introduced in DOM Level 2: - createElementNS : function(namespaceURI,qualifiedName){ - var node = new Element(); - var pl = qualifiedName.split(':'); - var attrs = node.attributes = new NamedNodeMap(); - node.childNodes = new NodeList(); - node.ownerDocument = this; - node.nodeName = qualifiedName; - node.tagName = qualifiedName; - node.namespaceURI = namespaceURI; - if(pl.length == 2){ - node.prefix = pl[0]; - node.localName = pl[1]; - }else{ - //el.prefix = null; - node.localName = qualifiedName; - } - attrs._ownerElement = node; - return node; - }, - // Introduced in DOM Level 2: - createAttributeNS : function(namespaceURI,qualifiedName){ - var node = new Attr(); - var pl = qualifiedName.split(':'); - node.ownerDocument = this; - node.nodeName = qualifiedName; - node.name = qualifiedName; - node.namespaceURI = namespaceURI; - node.specified = true; - if(pl.length == 2){ - node.prefix = pl[0]; - node.localName = pl[1]; - }else{ - //el.prefix = null; - node.localName = qualifiedName; - } - return node; - } -}; -_extends(Document,Node); - - -function Element() { - this._nsMap = {}; -}; -Element.prototype = { - nodeType : ELEMENT_NODE, - hasAttribute : function(name){ - return this.getAttributeNode(name)!=null; - }, - getAttribute : function(name){ - var attr = this.getAttributeNode(name); - return attr && attr.value || ''; - }, - getAttributeNode : function(name){ - return this.attributes.getNamedItem(name); - }, - setAttribute : function(name, value){ - var attr = this.ownerDocument.createAttribute(name); - attr.value = attr.nodeValue = "" + value; - this.setAttributeNode(attr) - }, - removeAttribute : function(name){ - var attr = this.getAttributeNode(name) - attr && this.removeAttributeNode(attr); - }, - - //four real opeartion method - appendChild:function(newChild){ - if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){ - return this.insertBefore(newChild,null); - }else{ - return _appendSingleChild(this,newChild); - } - }, - setAttributeNode : function(newAttr){ - return this.attributes.setNamedItem(newAttr); - }, - setAttributeNodeNS : function(newAttr){ - return this.attributes.setNamedItemNS(newAttr); - }, - removeAttributeNode : function(oldAttr){ - return this.attributes.removeNamedItem(oldAttr.nodeName); - }, - //get real attribute name,and remove it by removeAttributeNode - removeAttributeNS : function(namespaceURI, localName){ - var old = this.getAttributeNodeNS(namespaceURI, localName); - old && this.removeAttributeNode(old); - }, - - hasAttributeNS : function(namespaceURI, localName){ - return this.getAttributeNodeNS(namespaceURI, localName)!=null; - }, - getAttributeNS : function(namespaceURI, localName){ - var attr = this.getAttributeNodeNS(namespaceURI, localName); - return attr && attr.value || ''; - }, - setAttributeNS : function(namespaceURI, qualifiedName, value){ - var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); - attr.value = attr.nodeValue = value; - this.setAttributeNode(attr) - }, - getAttributeNodeNS : function(namespaceURI, localName){ - return this.attributes.getNamedItemNS(namespaceURI, localName); - }, - - getElementsByTagName : function(tagName){ - return new LiveNodeList(this,function(base){ - var ls = []; - _visitNode(base,function(node){ - if(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){ - ls.push(node); - } - }); - return ls; - }); - }, - getElementsByTagNameNS : function(namespaceURI, localName){ - return new LiveNodeList(this,function(base){ - var ls = []; - _visitNode(base,function(node){ - if(node !== base && node.nodeType === ELEMENT_NODE && node.namespaceURI === namespaceURI && (localName === '*' || node.localName == localName)){ - ls.push(node); - } - }); - return ls; - }); - } -}; -Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName; -Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS; - - -_extends(Element,Node); -function Attr() { -}; -Attr.prototype.nodeType = ATTRIBUTE_NODE; -_extends(Attr,Node); - - -function CharacterData() { -}; -CharacterData.prototype = { - data : '', - substringData : function(offset, count) { - return this.data.substring(offset, offset+count); - }, - appendData: function(text) { - text = this.data+text; - this.nodeValue = this.data = text; - this.length = text.length; - }, - insertData: function(offset,text) { - this.replaceData(offset,0,text); - - }, - appendChild:function(newChild){ - //if(!(newChild instanceof CharacterData)){ - throw new Error(ExceptionMessage[3]) - //} - return Node.prototype.appendChild.apply(this,arguments) - }, - deleteData: function(offset, count) { - this.replaceData(offset,count,""); - }, - replaceData: function(offset, count, text) { - var start = this.data.substring(0,offset); - var end = this.data.substring(offset+count); - text = start + text + end; - this.nodeValue = this.data = text; - this.length = text.length; - } -} -_extends(CharacterData,Node); -function Text() { -}; -Text.prototype = { - nodeName : "#text", - nodeType : TEXT_NODE, - splitText : function(offset) { - var text = this.data; - var newText = text.substring(offset); - text = text.substring(0, offset); - this.data = this.nodeValue = text; - this.length = text.length; - var newNode = this.ownerDocument.createTextNode(newText); - if(this.parentNode){ - this.parentNode.insertBefore(newNode, this.nextSibling); - } - return newNode; - } -} -_extends(Text,CharacterData); -function Comment() { -}; -Comment.prototype = { - nodeName : "#comment", - nodeType : COMMENT_NODE -} -_extends(Comment,CharacterData); - -function CDATASection() { -}; -CDATASection.prototype = { - nodeName : "#cdata-section", - nodeType : CDATA_SECTION_NODE -} -_extends(CDATASection,CharacterData); - - -function DocumentType() { -}; -DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE; -_extends(DocumentType,Node); - -function Notation() { -}; -Notation.prototype.nodeType = NOTATION_NODE; -_extends(Notation,Node); - -function Entity() { -}; -Entity.prototype.nodeType = ENTITY_NODE; -_extends(Entity,Node); - -function EntityReference() { -}; -EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE; -_extends(EntityReference,Node); - -function DocumentFragment() { -}; -DocumentFragment.prototype.nodeName = "#document-fragment"; -DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE; -_extends(DocumentFragment,Node); - - -function ProcessingInstruction() { -} -ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE; -_extends(ProcessingInstruction,Node); -function XMLSerializer(){} -XMLSerializer.prototype.serializeToString = function(node){ - var buf = []; - serializeToString(node,buf); - return buf.join(''); -} -Node.prototype.toString =function(){ - return XMLSerializer.prototype.serializeToString(this); -} -function serializeToString(node,buf){ - switch(node.nodeType){ - case ELEMENT_NODE: - var attrs = node.attributes; - var len = attrs.length; - var child = node.firstChild; - var nodeName = node.tagName; - var isHTML = htmlns === node.namespaceURI - buf.push('<',nodeName); - for(var i=0;i'); - //if is cdata child node - if(isHTML && /^script$/i.test(nodeName)){ - if(child){ - buf.push(child.data); - } - }else{ - while(child){ - serializeToString(child,buf); - child = child.nextSibling; - } - } - buf.push(''); - }else{ - buf.push('/>'); - } - return; - case DOCUMENT_NODE: - case DOCUMENT_FRAGMENT_NODE: - var child = node.firstChild; - while(child){ - serializeToString(child,buf); - child = child.nextSibling; - } - return; - case ATTRIBUTE_NODE: - return buf.push(' ',node.name,'="',node.value.replace(/[<&"]/g,_xmlEncoder),'"'); - case TEXT_NODE: - return buf.push(node.data.replace(/[<&]/g,_xmlEncoder)); - case CDATA_SECTION_NODE: - return buf.push( ''); - case COMMENT_NODE: - return buf.push( ""); - case DOCUMENT_TYPE_NODE: - var pubid = node.publicId; - var sysid = node.systemId; - buf.push(''); - }else if(sysid && sysid!='.'){ - buf.push(' SYSTEM "',sysid,'">'); - }else{ - var sub = node.internalSubset; - if(sub){ - buf.push(" [",sub,"]"); - } - buf.push(">"); - } - return; - case PROCESSING_INSTRUCTION_NODE: - return buf.push( ""); - case ENTITY_REFERENCE_NODE: - return buf.push( '&',node.nodeName,';'); - //case ENTITY_NODE: - //case NOTATION_NODE: - default: - buf.push('??',node.nodeName); - } -} -function importNode(doc,node,deep){ - var node2; - switch (node.nodeType) { - case ELEMENT_NODE: - node2 = node.cloneNode(false); - node2.ownerDocument = doc; - //var attrs = node2.attributes; - //var len = attrs.length; - //for(var i=0;i - -function XMLReader(){ - -} - -XMLReader.prototype = { - parse:function(source,defaultNSMap,entityMap){ - var domBuilder = this.domBuilder; - domBuilder.startDocument(); - _copy(defaultNSMap ,defaultNSMap = {}) - parse(source,defaultNSMap,entityMap, - domBuilder,this.errorHandler); - domBuilder.endDocument(); - } -} -function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ - function fixedFromCharCode(code) { - // String.prototype.fromCharCode does not supports - // > 2 bytes unicode chars directly - if (code > 0xffff) { - code -= 0x10000; - var surrogate1 = 0xd800 + (code >> 10) - , surrogate2 = 0xdc00 + (code & 0x3ff); - - return String.fromCharCode(surrogate1, surrogate2); - } else { - return String.fromCharCode(code); - } - } - function entityReplacer(a){ - var k = a.slice(1,-1); - if(k in entityMap){ - return entityMap[k]; - }else if(k.charAt(0) === '#'){ - return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x'))) - }else{ - errorHandler.error('entity not found:'+a); - return a; - } - } - function appendText(end){//has some bugs - var xt = source.substring(start,end).replace(/&#?\w+;/g,entityReplacer); - locator&&position(start); - domBuilder.characters(xt,0,end-start); - start = end - } - function position(start,m){ - while(start>=endPos && (m = linePattern.exec(source))){ - startPos = m.index; - endPos = startPos + m[0].length; - locator.lineNumber++; - //console.log('line++:',locator,startPos,endPos) - } - locator.columnNumber = start-startPos+1; - } - var startPos = 0; - var endPos = 0; - var linePattern = /.+(?:\r\n?|\n)|.*$/g - var locator = domBuilder.locator; - - var parseStack = [{currentNSMap:defaultNSMapCopy}] - var closeMap = {}; - var start = 0; - while(true){ - var i = source.indexOf('<',start); - if(i<0){ - if(!source.substr(start).match(/^\s*$/)){ - var doc = domBuilder.document; - var text = doc.createTextNode(source.substr(start)); - doc.appendChild(text); - domBuilder.currentElement = text; - } - return; - } - if(i>start){ - appendText(i); - } - switch(source.charAt(i+1)){ - case '/': - var end = source.indexOf('>',i+3); - var tagName = source.substring(i+2,end); - var config = parseStack.pop(); - var localNSMap = config.localNSMap; - - if(config.tagName != tagName){ - errorHandler.fatalError("end tag name: "+tagName+' is not match the current start tagName:'+config.tagName ); - } - domBuilder.endElement(config.uri,config.localName,tagName); - if(localNSMap){ - for(var prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) ; - } - } - end++; - break; - // end elment - case '?':// - locator&&position(i); - end = parseInstruction(source,i,domBuilder); - break; - case '!':// 0){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - el.add(attrName,value,start-1); - s = S_E; - }else{ - //fatalError: no end quot match - throw new Error('attribute value no end \''+c+'\' match'); - } - }else if(s == S_V){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - //console.log(attrName,value,start,p) - el.add(attrName,value,start); - //console.dir(el) - errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!'); - start = p+1; - s = S_E - }else{ - //fatalError: no equal before - throw new Error('attribute value must after "="'); - } - break; - case '/': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_E: - case S_S: - case S_C: - s = S_C; - el.closed = true; - case S_V: - case S_ATTR: - case S_ATTR_S: - break; - //case S_EQ: - default: - throw new Error("attribute invalid close char('/')") - } - break; - case ''://end document - //throw new Error('unexpected end of input') - errorHandler.error('unexpected end of input'); - case '>': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_E: - case S_S: - case S_C: - break;//normal - case S_V://Compatible state - case S_ATTR: - value = source.slice(start,p); - if(value.slice(-1) === '/'){ - el.closed = true; - value = value.slice(0,-1) - } - case S_ATTR_S: - if(s === S_ATTR_S){ - value = attrName; - } - if(s == S_V){ - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start) - }else{ - errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!') - el.add(value,value,start) - } - break; - case S_EQ: - throw new Error('attribute value missed!!'); - } -// console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) - return p; - /*xml space '\x20' | #x9 | #xD | #xA; */ - case '\u0080': - c = ' '; - default: - if(c<= ' '){//space - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p));//tagName - s = S_S; - break; - case S_ATTR: - attrName = source.slice(start,p) - s = S_ATTR_S; - break; - case S_V: - var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value,start) - case S_E: - s = S_S; - break; - //case S_S: - //case S_EQ: - //case S_ATTR_S: - // void();break; - //case S_C: - //ignore warning - } - }else{//not space -//S_TAG, S_ATTR, S_EQ, S_V -//S_ATTR_S, S_E, S_S, S_C - switch(s){ - //case S_TAG:void();break; - //case S_ATTR:void();break; - //case S_V:void();break; - case S_ATTR_S: - errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead!!') - el.add(attrName,attrName,start); - start = p; - s = S_ATTR; - break; - case S_E: - errorHandler.warning('attribute space is required"'+attrName+'"!!') - case S_S: - s = S_ATTR; - start = p; - break; - case S_EQ: - s = S_V; - start = p; - break; - case S_C: - throw new Error("elements closed character '/' and '>' must be connected to"); - } - } - } - p++; - } -} -/** - * @return end of the elementStartPart(end of elementEndPart for selfClosed el) - */ -function appendElement(el,domBuilder,parseStack){ - var tagName = el.tagName; - var localNSMap = null; - var currentNSMap = parseStack[parseStack.length-1].currentNSMap; - var i = el.length; - while(i--){ - var a = el[i]; - var qName = a.qName; - var value = a.value; - var nsp = qName.indexOf(':'); - if(nsp>0){ - var prefix = a.prefix = qName.slice(0,nsp); - var localName = qName.slice(nsp+1); - var nsPrefix = prefix === 'xmlns' && localName - }else{ - localName = qName; - prefix = null - nsPrefix = qName === 'xmlns' && '' - } - //can not set prefix,because prefix !== '' - a.localName = localName ; - //prefix == null for no ns prefix attribute - if(nsPrefix !== false){//hack!! - if(localNSMap == null){ - localNSMap = {} - //console.log(currentNSMap,0) - _copy(currentNSMap,currentNSMap={}) - //console.log(currentNSMap,1) - } - currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; - a.uri = 'http://www.w3.org/2000/xmlns/' - domBuilder.startPrefixMapping(nsPrefix, value) - } - } - var i = el.length; - while(i--){ - a = el[i]; - var prefix = a.prefix; - if(prefix){//no prefix attribute has no namespace - if(prefix === 'xml'){ - a.uri = 'http://www.w3.org/XML/1998/namespace'; - }if(prefix !== 'xmlns'){ - a.uri = currentNSMap[prefix] - - //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} - } - } - } - var nsp = tagName.indexOf(':'); - if(nsp>0){ - prefix = el.prefix = tagName.slice(0,nsp); - localName = el.localName = tagName.slice(nsp+1); - }else{ - prefix = null;//important!! - localName = el.localName = tagName; - } - //no prefix element has default namespace - var ns = el.uri = currentNSMap[prefix || '']; - domBuilder.startElement(ns,localName,tagName,el); - //endPrefixMapping and startPrefixMapping have not any help for dom builder - //localNSMap = null - if(el.closed){ - domBuilder.endElement(ns,localName,tagName); - if(localNSMap){ - for(prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) - } - } - }else{ - el.currentNSMap = currentNSMap; - el.localNSMap = localNSMap; - parseStack.push(el); - } -} -function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){ - if(/^(?:script|textarea)$/i.test(tagName)){ - var elEndStart = source.indexOf('',elStartEnd); - var text = source.substring(elStartEnd+1,elEndStart); - if(/[&<]/.test(text)){ - if(/^script$/i.test(tagName)){ - //if(!/\]\]>/.test(text)){ - //lexHandler.startCDATA(); - domBuilder.characters(text,0,text.length); - //lexHandler.endCDATA(); - return elEndStart; - //} - }//}else{//text area - text = text.replace(/&#?\w+;/g,entityReplacer); - domBuilder.characters(text,0,text.length); - return elEndStart; - //} - - } - } - return elStartEnd+1; -} -function fixSelfClosed(source,elStartEnd,tagName,closeMap){ - //if(tagName in closeMap){ - var pos = closeMap[tagName]; - if(pos == null){ - //console.log(tagName) - pos = closeMap[tagName] = source.lastIndexOf('') - } - return pos',start+4); - //append comment source.substring(4,end)//, - * and raw CDATA nodes. - * - * @param {Element} node - * @returns {Boolean} - * @api private - */ - -function shouldIgnoreNode (node) { - return node.nodeType === 3 // text - || node.nodeType === 8 // comment - || node.nodeType === 4; // cdata -} - - -/** - * Parses a Plist XML string. Returns an Object. - * - * @param {String} xml - the XML String to decode - * @returns {Mixed} the decoded value from the Plist XML - * @api public - */ - -function parse (xml) { - var doc = new DOMParser().parseFromString(xml); - if (doc.documentElement.nodeName !== 'plist') { - throw new Error('malformed document. First element should be '); - } - var plist = parsePlistXML(doc.documentElement); - - // the root node gets interpreted as an Array, - // so pull out the inner data first - if (plist.length == 1) plist = plist[0]; - - return plist; -} - -/** - * Parses a Plist XML string. Returns an Object. Takes a `callback` function. - * - * @param {String} xml - the XML String to decode - * @param {Function} callback - callback function - * @returns {Mixed} the decoded value from the Plist XML - * @api public - * @deprecated not actually async. use parse() instead - */ - -function parseString (xml, callback) { - var doc, error, plist; - try { - doc = new DOMParser().parseFromString(xml); - plist = parsePlistXML(doc.documentElement); - } catch(e) { - error = e; - } - callback(error, plist); -} - -/** - * Parses a Plist XML string. Returns an Object. - * - * @param {String} xml - the XML String to decode - * @param {Function} callback - callback function - * @returns {Mixed} the decoded value from the Plist XML - * @api public - * @deprecated use parse() instead - */ - -function parseStringSync (xml) { - var doc = new DOMParser().parseFromString(xml); - var plist; - if (doc.documentElement.nodeName !== 'plist') { - throw new Error('malformed document. First element should be '); - } - plist = parsePlistXML(doc.documentElement); - - // if the plist is an array with 1 element, pull it out of the array - if (plist.length == 1) { - plist = plist[0]; - } - return plist; -} - -/** - * Convert an XML based plist document into a JSON representation. - * - * @param {Object} xml_node - current XML node in the plist - * @returns {Mixed} built up JSON object - * @api private - */ - -function parsePlistXML (node) { - var i, new_obj, key, val, new_arr, res, d; - - if (!node) - return null; - - if (node.nodeName === 'plist') { - new_arr = []; - for (i=0; i < node.childNodes.length; i++) { - // ignore comment nodes (text) - if (!shouldIgnoreNode(node.childNodes[i])) { - new_arr.push( parsePlistXML(node.childNodes[i])); - } - } - return new_arr; - - } else if (node.nodeName === 'dict') { - new_obj = {}; - key = null; - for (i=0; i < node.childNodes.length; i++) { - // ignore comment nodes (text) - if (!shouldIgnoreNode(node.childNodes[i])) { - if (key === null) { - key = parsePlistXML(node.childNodes[i]); - } else { - new_obj[key] = parsePlistXML(node.childNodes[i]); - key = null; - } - } - } - return new_obj; - - } else if (node.nodeName === 'array') { - new_arr = []; - for (i=0; i < node.childNodes.length; i++) { - // ignore comment nodes (text) - if (!shouldIgnoreNode(node.childNodes[i])) { - res = parsePlistXML(node.childNodes[i]); - if (null != res) new_arr.push(res); - } - } - return new_arr; - - } else if (node.nodeName === '#text') { - // TODO: what should we do with text types? (CDATA sections) - - } else if (node.nodeName === 'key') { - return node.childNodes[0].nodeValue; - - } else if (node.nodeName === 'string') { - res = ''; - for (d=0; d < node.childNodes.length; d++) { - res += node.childNodes[d].nodeValue; - } - return res; - - } else if (node.nodeName === 'integer') { - // parse as base 10 integer - return parseInt(node.childNodes[0].nodeValue, 10); - - } else if (node.nodeName === 'real') { - res = ''; - for (d=0; d < node.childNodes.length; d++) { - if (node.childNodes[d].nodeType === 3) { - res += node.childNodes[d].nodeValue; - } - } - return parseFloat(res); - - } else if (node.nodeName === 'data') { - res = ''; - for (d=0; d < node.childNodes.length; d++) { - if (node.childNodes[d].nodeType === 3) { - res += node.childNodes[d].nodeValue.replace(/\s+/g, ''); - } - } - - // decode base64 data to a Buffer instance - return new Buffer(res, 'base64'); - - } else if (node.nodeName === 'date') { - return new Date(node.childNodes[0].nodeValue); - - } else if (node.nodeName === 'true') { - return true; - - } else if (node.nodeName === 'false') { - return false; - } -} diff --git a/demo/platforms/android/cordova/node_modules/plist/lib/plist.js b/demo/platforms/android/cordova/node_modules/plist/lib/plist.js deleted file mode 100644 index 00a4167..0000000 --- a/demo/platforms/android/cordova/node_modules/plist/lib/plist.js +++ /dev/null @@ -1,23 +0,0 @@ - -var i; - -/** - * Parser functions. - */ - -var parserFunctions = require('./parse'); -for (i in parserFunctions) exports[i] = parserFunctions[i]; - -/** - * Builder functions. - */ - -var builderFunctions = require('./build'); -for (i in builderFunctions) exports[i] = builderFunctions[i]; - -/** - * Add Node.js-specific functions (they're deprecated…). - */ - -var nodeFunctions = require('./node'); -for (i in nodeFunctions) exports[i] = nodeFunctions[i]; diff --git a/demo/platforms/android/cordova/node_modules/plist/package.json b/demo/platforms/android/cordova/node_modules/plist/package.json deleted file mode 100644 index ded9c47..0000000 --- a/demo/platforms/android/cordova/node_modules/plist/package.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "plist@^1.2.0", - "scope": null, - "escapedName": "plist", - "name": "plist", - "rawSpec": "^1.2.0", - "spec": ">=1.2.0 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common" - ] - ], - "_from": "plist@>=1.2.0 <2.0.0", - "_id": "plist@1.2.0", - "_inCache": true, - "_location": "/cordova-android/plist", - "_nodeVersion": "5.0.0", - "_npmUser": { - "name": "mreinstein", - "email": "reinstein.mike@gmail.com" - }, - "_npmVersion": "3.3.11", - "_phantomChildren": {}, - "_requested": { - "raw": "plist@^1.2.0", - "scope": null, - "escapedName": "plist", - "name": "plist", - "rawSpec": "^1.2.0", - "spec": ">=1.2.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz", - "_shasum": "084b5093ddc92506e259f874b8d9b1afb8c79593", - "_shrinkwrap": null, - "_spec": "plist@^1.2.0", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common", - "author": { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net" - }, - "bugs": { - "url": "https://github.com/TooTallNate/node-plist/issues" - }, - "contributors": [ - { - "name": "Hans Huebner", - "email": "hans.huebner@gmail.com" - }, - { - "name": "Pierre Metrailler" - }, - { - "name": "Mike Reinstein", - "email": "reinstein.mike@gmail.com" - }, - { - "name": "Vladimir Tsvang" - }, - { - "name": "Mathieu D'Amours" - } - ], - "dependencies": { - "base64-js": "0.0.8", - "util-deprecate": "1.0.2", - "xmlbuilder": "4.0.0", - "xmldom": "0.1.x" - }, - "description": "Mac OS X Plist parser/builder for Node.js and browsers", - "devDependencies": { - "browserify": "12.0.1", - "mocha": "2.3.3", - "multiline": "1.0.2", - "zuul": "3.7.2" - }, - "directories": {}, - "dist": { - "shasum": "084b5093ddc92506e259f874b8d9b1afb8c79593", - "tarball": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz" - }, - "gitHead": "69520574f27864145192338b72e608fbe1bda6f7", - "homepage": "https://github.com/TooTallNate/node-plist#readme", - "keywords": [ - "apple", - "browser", - "mac", - "plist", - "parser", - "xml" - ], - "license": "MIT", - "main": "lib/plist.js", - "maintainers": [ - { - "name": "TooTallNate", - "email": "nathan@tootallnate.net" - }, - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - { - "name": "mreinstein", - "email": "reinstein.mike@gmail.com" - } - ], - "name": "plist", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/TooTallNate/node-plist.git" - }, - "scripts": { - "test": "make test" - }, - "version": "1.2.0" -} diff --git a/demo/platforms/android/cordova/node_modules/properties-parser/README.markdown b/demo/platforms/android/cordova/node_modules/properties-parser/README.markdown deleted file mode 100644 index 3a808ba..0000000 --- a/demo/platforms/android/cordova/node_modules/properties-parser/README.markdown +++ /dev/null @@ -1,48 +0,0 @@ -# node-properties-parser - -A parser for [.properties](http://en.wikipedia.org/wiki/.properties) files written in javascript. Properties files store key-value pairs. They are typically used for configuration and internationalization in Java applications as well as in Actionscript projects. Here's an example of the format: - - # You are reading the ".properties" entry. - ! The exclamation mark can also mark text as comments. - website = http://en.wikipedia.org/ - language = English - # The backslash below tells the application to continue reading - # the value onto the next line. - message = Welcome to \ - Wikipedia! - # Add spaces to the key - key\ with\ spaces = This is the value that could be looked up with the key "key with spaces". - # Unicode - tab : \u0009 -*(taken from [Wikipedia](http://en.wikipedia.org/wiki/.properties#Format))* - -Currently works with any version of node.js. - -## The API - -- `parse(text)`: Parses `text` into key-value pairs. Returns an object containing the key-value pairs. -- `read(path[, callback])`: Opens the file specified by `path` and calls `parse` on its content. If the optional `callback` parameter is provided, the result is then passed to it as the second parameter. If an error occurs, the error object is passed to `callback` as the first parameter. If `callback` is not provided, the file specified by `path` is synchronously read and calls `parse` on its contents. The resulting object is immediately returned. -- `createEditor([path[, callback]])`: If neither `path` or `callback` are provided an empty editor object is returned synchronously. If only `path` is provided, the file specified by `path` is synchronously read and parsed. An editor object with the results in then immediately returned. If both `path` and `callback` are provided, the file specified by `path` is read and parsed asynchronously. An editor object with the results are then passed to `callback` as the second parameters. If an error occurs, the error object is passed to `callback` as the first parameter. -- `Editor`: The editor object is returned by `createEditor`. Has the following API: - - `get(key)`: Returns the value currently associated with `key`. - - `set(key, [value[, comment]])`: Associates `key` with `value`. An optional comment can be provided. If `value` is not specified or is `null`, then `key` is unset. - - `unset(key)`: Unsets the specified `key`. - - `save([path][, callback]])`: Writes the current contents of this editor object to a file specified by `path`. If `path` is not provided, then it'll be defaulted to the `path` value passed to `createEditor`. The `callback` parameter is called when the file has been written to disk. - - `addHeadComment`: Added a comment to the head of the file. - - `toString`: Returns the string representation of this properties editor object. This string will be written to a file if `save` is called. - -## Getting node-properties-parser - -The easiest way to get node-properties-parser is with [npm](http://npmjs.org/): - - npm install properties-parser - -Alternatively you can clone this git repository: - - git://github.com/xavi-/node-properties-parser.git - -## Developed by -* Xavi Ramirez - -## License -This project is released under [The MIT License](http://www.opensource.org/licenses/mit-license.php). \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/properties-parser/index.js b/demo/platforms/android/cordova/node_modules/properties-parser/index.js deleted file mode 100644 index b103ad0..0000000 --- a/demo/platforms/android/cordova/node_modules/properties-parser/index.js +++ /dev/null @@ -1,354 +0,0 @@ -var fs = require("fs"); - -function Iterator(text) { - var pos = 0, length = text.length; - - this.peek = function(num) { - num = num || 0; - if(pos + num >= length) { return null; } - - return text.charAt(pos + num); - }; - this.next = function(inc) { - inc = inc || 1; - - if(pos >= length) { return null; } - - return text.charAt((pos += inc) - inc); - }; - this.pos = function() { - return pos; - }; -} - -var rWhitespace = /\s/; -function isWhitespace(chr) { - return rWhitespace.test(chr); -} -function consumeWhiteSpace(iter) { - var start = iter.pos(); - - while(isWhitespace(iter.peek())) { iter.next(); } - - return { type: "whitespace", start: start, end: iter.pos() }; -} - -function startsComment(chr) { - return chr === "!" || chr === "#"; -} -function isEOL(chr) { - return chr == null || chr === "\n" || chr === "\r"; -} -function consumeComment(iter) { - var start = iter.pos(); - - while(!isEOL(iter.peek())) { iter.next(); } - - return { type: "comment", start: start, end: iter.pos() }; -} - -function startsKeyVal(chr) { - return !isWhitespace(chr) && !startsComment(chr); -} -function startsSeparator(chr) { - return chr === "=" || chr === ":" || isWhitespace(chr); -} -function startsEscapedVal(chr) { - return chr === "\\"; -} -function consumeEscapedVal(iter) { - var start = iter.pos(); - - iter.next(); // move past "\" - var curChar = iter.next(); - if(curChar === "u") { // encoded unicode char - iter.next(4); // Read in the 4 hex values - } - - return { type: "escaped-value", start: start, end: iter.pos() }; -} -function consumeKey(iter) { - var start = iter.pos(), children = []; - - var curChar; - while((curChar = iter.peek()) !== null) { - if(startsSeparator(curChar)) { break; } - if(startsEscapedVal(curChar)) { children.push(consumeEscapedVal(iter)); continue; } - - iter.next(); - } - - return { type: "key", start: start, end: iter.pos(), children: children }; -} -function consumeKeyValSeparator(iter) { - var start = iter.pos(); - - var seenHardSep = false, curChar; - while((curChar = iter.peek()) !== null) { - if(isEOL(curChar)) { break; } - - if(isWhitespace(curChar)) { iter.next(); continue; } - - if(seenHardSep) { break; } - - seenHardSep = (curChar === ":" || curChar === "="); - if(seenHardSep) { iter.next(); continue; } - - break; // curChar is a non-separtor char - } - - return { type: "key-value-separator", start: start, end: iter.pos() }; -} -function startsLineBreak(iter) { - return iter.peek() === "\\" && isEOL(iter.peek(1)); -} -function consumeLineBreak(iter) { - var start = iter.pos(); - - iter.next(); // consume \ - if(iter.peek() === "\r") { iter.next(); } - iter.next(); // consume \n - - var curChar; - while((curChar = iter.peek()) !== null) { - if(isEOL(curChar)) { break; } - if(!isWhitespace(curChar)) { break; } - - iter.next(); - } - - return { type: "line-break", start: start, end: iter.pos() }; -} -function consumeVal(iter) { - var start = iter.pos(), children = []; - - var curChar; - while((curChar = iter.peek()) !== null) { - if(startsLineBreak(iter)) { children.push(consumeLineBreak(iter)); continue; } - if(startsEscapedVal(curChar)) { children.push(consumeEscapedVal(iter)); continue; } - if(isEOL(curChar)) { break; } - - iter.next(); - } - - return { type: "value", start: start, end: iter.pos(), children: children }; -} -function consumeKeyVal(iter) { - return { - type: "key-value", - start: iter.pos(), - children: [ - consumeKey(iter), - consumeKeyValSeparator(iter), - consumeVal(iter) - ], - end: iter.pos() - }; -} - -var renderChild = { - "escaped-value": function(child, text) { - var type = text.charAt(child.start + 1); - - if(type === "t") { return "\t"; } - if(type === "r") { return "\r"; } - if(type === "n") { return "\n"; } - if(type === "f") { return "\f"; } - if(type !== "u") { return type; } - - return String.fromCharCode(parseInt(text.substr(child.start + 2, 4), 16)); - }, - "line-break": function (child, text) { - return ""; - } -}; -function rangeToBuffer(range, text) { - var start = range.start, buffer = []; - - for(var i = 0; i < range.children.length; i++) { - var child = range.children[i]; - - buffer.push(text.substring(start, child.start)); - buffer.push(renderChild[child.type](child, text)); - start = child.end; - } - buffer.push(text.substring(start, range.end)); - - return buffer; -} -function rangesToObject(ranges, text) { - var obj = Object.create(null); // Creates to a true hash map - - for(var i = 0; i < ranges.length; i++) { - var range = ranges[i]; - - if(range.type !== "key-value") { continue; } - - var key = rangeToBuffer(range.children[0], text).join(""); - var val = rangeToBuffer(range.children[2], text).join(""); - obj[key] = val; - } - - return obj; -} - -function stringToRanges(text) { - var iter = new Iterator(text), ranges = []; - - var curChar; - while((curChar = iter.peek()) !== null) { - if(isWhitespace(curChar)) { ranges.push(consumeWhiteSpace(iter)); continue; } - if(startsComment(curChar)) { ranges.push(consumeComment(iter)); continue; } - if(startsKeyVal(curChar)) { ranges.push(consumeKeyVal(iter)); continue; } - - throw Error("Something crazy happened. text: '" + text + "'; curChar: '" + curChar + "'"); - } - - return ranges; -} - -function isNewLineRange(range) { - if(!range) { return false; } - - if(range.type === "whitespace") { return true; } - - if(range.type === "literal") { - return isWhitespace(range.text) && range.text.indexOf("\n") > -1; - } - - return false; -} - -function Editor(text, path) { - text = text || ""; - - var ranges = stringToRanges(text); - var obj = rangesToObject(ranges, text); - var keyRange = Object.create(null); // Creates to a true hash map - - for(var i = 0; i < ranges.length; i++) { - var range = ranges[i]; - - if(range.type !== "key-value") { continue; } - - var key = rangeToBuffer(range.children[0], text).join(""); - keyRange[key] = range; - } - - this.addHeadComment = function(comment) { - if(comment == null) { return; } - - ranges.unshift({ type: "literal", text: "# " + comment.replace(/\n/g, "\n# ") + "\n" }); - }; - - this.get = function(key) { return obj[key]; }; - this.set = function(key, val, comment) { - if(val == null) { this.unset(key); return; } - - obj[key] = val; - - var range = keyRange[key]; - if(!range) { - keyRange[key] = range = { type: "literal", text: key + "=" + val }; - - var prevRange = ranges[ranges.length - 1]; - if(prevRange != null && !isNewLineRange(prevRange)) { - ranges.push({ type: "literal", text: "\n" }); - } - ranges.push(range); - } - - // comment === null deletes comment. if comment === undefined, it's left alone - if(comment !== undefined) { - range.comment = comment && "# " + comment.replace(/\n/g, "\n# ") + "\n"; - } - - if(range.type === "literal") { - range.text = key + "=" + val; - if(range.comment != null) { range.text = range.comment + range.text; } - } else if(range.type === "key-value") { - range.children[2] = { type: "literal", text: val }; - } else { - throw "Unknown node type: " + range.type; - } - }; - this.unset = function(key) { - if(!(key in obj)) { return; } - - var range = keyRange[key]; - var idx = ranges.indexOf(range); - - ranges.splice(idx, (isNewLineRange(ranges[idx + 1]) ? 2 : 1)); - - delete keyRange[key]; - delete obj[key]; - }; - this.valueOf = this.toString = function() { - var buffer = [], stack = [].concat(ranges); - - var node; - while((node = stack.shift()) != null) { - switch(node.type) { - case "literal": - buffer.push(node.text); - break; - case "key": - case "value": - case "comment": - case "whitespace": - case "key-value-separator": - case "escaped-value": - case "line-break": - buffer.push(text.substring(node.start, node.end)); - break; - case "key-value": - Array.prototype.unshift.apply(stack, node.children); - if(node.comment) { stack.unshift({ type: "literal", text: node.comment }); } - break; - } - } - - return buffer.join(""); - }; - this.save = function(newPath, callback) { - if(typeof newPath === 'function') { - callback = newPath; - newPath = path; - } - newPath = newPath || path; - - if(!newPath) { callback("Unknown path"); } - - fs.writeFile(newPath, this.toString(), callback || function() {}); - }; -} -function createEditor(path, callback) { - if(!path) { return new Editor(); } - - if(!callback) { return new Editor(fs.readFileSync(path).toString(), path); } - - return fs.readFile(path, function(err, text) { - if(err) { return callback(err, null); } - - text = text.toString(); - return callback(null, new Editor(text, path)); - }); -} - -function parse(text) { - text = text.toString(); - var ranges = stringToRanges(text); - return rangesToObject(ranges, text); -} - -function read(path, callback) { - if(!callback) { return parse(fs.readFileSync(path)); } - - return fs.readFile(path, function(err, data) { - if(err) { return callback(err, null); } - - return callback(null, parse(data)); - }); -} - -module.exports = { parse: parse, read: read, createEditor: createEditor }; diff --git a/demo/platforms/android/cordova/node_modules/properties-parser/package.json b/demo/platforms/android/cordova/node_modules/properties-parser/package.json deleted file mode 100644 index 5fa5c31..0000000 --- a/demo/platforms/android/cordova/node_modules/properties-parser/package.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "properties-parser@^0.2.3", - "scope": null, - "escapedName": "properties-parser", - "name": "properties-parser", - "rawSpec": "^0.2.3", - "spec": ">=0.2.3 <0.3.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android" - ] - ], - "_from": "properties-parser@>=0.2.3 <0.3.0", - "_id": "properties-parser@0.2.3", - "_inCache": true, - "_location": "/cordova-android/properties-parser", - "_npmUser": { - "name": "xavi", - "email": "xavi.rmz@gmail.com" - }, - "_npmVersion": "1.3.23", - "_phantomChildren": {}, - "_requested": { - "raw": "properties-parser@^0.2.3", - "scope": null, - "escapedName": "properties-parser", - "name": "properties-parser", - "rawSpec": "^0.2.3", - "spec": ">=0.2.3 <0.3.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android" - ], - "_resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz", - "_shasum": "f7591255f707abbff227c7b56b637dbb0373a10f", - "_shrinkwrap": null, - "_spec": "properties-parser@^0.2.3", - "_where": "/Users/jbowser/cordova/cordova-android", - "bugs": { - "url": "https://github.com/xavi-/node-properties-parser/issues" - }, - "dependencies": {}, - "description": "A parser for .properties files written in javascript", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "f7591255f707abbff227c7b56b637dbb0373a10f", - "tarball": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz" - }, - "engines": { - "node": ">= 0.3.1" - }, - "homepage": "https://github.com/xavi-/node-properties-parser", - "keywords": [ - "parser", - ".properties", - "properties", - "java", - "file parser", - "actionscript" - ], - "main": "./index.js", - "maintainers": [ - { - "name": "xavi", - "email": "xavi.rmz@gmail.com" - } - ], - "name": "properties-parser", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/xavi-/node-properties-parser.git" - }, - "version": "0.2.3" -} diff --git a/demo/platforms/android/cordova/node_modules/properties-parser/play-ground.js b/demo/platforms/android/cordova/node_modules/properties-parser/play-ground.js deleted file mode 100644 index ffbcf62..0000000 --- a/demo/platforms/android/cordova/node_modules/properties-parser/play-ground.js +++ /dev/null @@ -1,17 +0,0 @@ -var parser = require("./"); -var editor = parser.createEditor(); - -editor.set("ok", "hi"); -editor.set("hi", "ok"); - -console.log(editor.toString()); - -editor.unset("hi"); - -console.log("==================="); -console.log(editor.toString()); - -editor.unset("ok"); - -console.log("==================="); -console.log(editor.toString()); diff --git a/demo/platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.class b/demo/platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.class deleted file mode 100644 index f40792b4b73dd1f8c4411ab3a0f79e38035f29da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2613 zcmZuzZFdtz6n>^nvfItJG+SCI5E?2%+Y~Awphc=sKq}=$3e-Xsx5>5*q`NWMKv5Av z6cu~{#dk#kt%@(;@dS`_IDYmgcsxhH;YZKWPblCso0PV+J-st`X71d%_j&Hj=9im4 zT?McZ7c?wIdkNNKgNltBHsMhPn>F~+A)74J(+UQ6GRO0AT0FCrcXg4i0Mcw7?8cK!cmdZumn%3NUO*wa5cOr^!}B<(;*hj>L7E?y8bf?h!Ak;x2NHI| zZ4oH0tKTNzYjxt5z@+wsZEeU7^jPUFW>1ncz5z2~3slwZXy0Y-F`JU6-PhFNrW1DG zGP$v|!!={O*PAKNo)8fO1xJ_-6H)N8fVO%tW~JPOV>5+Uc(Rp=nJK!SQ#XOj@l(v3 zPCA@yI%cg&$e1cNTV{My+DTbyH(_Pw%fNKphx--0s^ch*34}H{kzN`{QfX&TB5uX! zD|k)E>v%&z_Yz4sP12j(_lAx)aa>@^of)poCX#V0El@5^Bevs4dY!BtZ;t3Vfwy$L zjgtbCy=_@Hk!%_XYS>%hm^M3=bqSkg4#*SV(eWCp)$tjQ>o|=w3eFOVk)uh$?A5lL-Y4KM^m?0ZTj|!MnaNlg z9iQV2Gr2QI9bd?K(MYM)@i5l1CTg2&Iowa)?=)YT?d`SFI)?D2j<4{wKv6fhoxnM% zb<3tlHodZ8;S_ZfzM^hYSk&F5;2Ry^;yXFW%1z(vI4>bA8_VdJFgNz>vSQqCjO5zp zT4~dD=(%EovK)qm(6?>8U3_DFcI?Zz)&LWAvh-Y;FFM+9VqF(#S~kkfsA&NuC5@8I zt#YCQ=A8&wgNclr@$S}k4$V}`vf~2tCbAz_@P(q|`Ks&WZyIZ?u6~>$EkXs4g(~xI zq%Y~1JZ$R7(x~F|EP@%!EmSJ2<-Q4`8h_U4y` z(h=r78#Qs8zp63j!@P2j(r;!qScCNFv%PLC0=GjL<(oHvVE0+>I*VzkRJNJPEZ>Vj z(z5&9evgkf4rBdhdWG~{*H+&u&^Q4AqtnfEkS~0R`N)-Mvt6rCz7IjyS!)drlT}H- z;}H~?Ue`K){vls0B4HqFUP!U+hHsDSA zP=W`r97WPp?1hitB;e16s~Gt%a;L9FdacZ%sxgNtmob$w`l@}GQ7!n0 z?ULFwfuAwG*TAjLn9_SR`HX&31#R)Id*V81_Ost!H0h`pV%rs zj#KzDRpU2I!|(k5Uc(Hu(8~e@%KpPV1rOfD0tF8V1uJf1iGr01TIK&On)no~qJ>=M zmemv=30cGA`J7Udbo|WV0_XqERvwosyuGQub47DeEXrl;f0c%GRh+mqUH$5Wb2UJVa`zq6Ybv+R3OvzNB_E zYRt=P2cyRPytX%LH08B{sBuqTixr2@pd?&ga~3np4^Y>_A)GpkP$&Y9TEd~otut5} zzJvwMzNo?asqd`zF}WrFO22X%<)7K6ts!|&?QO=f0|x;0~I7!T!(QT`gQpE W&#)fxf?J2(>^1T_9sSr9DES|c>uZYu diff --git a/demo/platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.java b/demo/platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.java deleted file mode 100644 index 12e4472..0000000 --- a/demo/platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.java +++ /dev/null @@ -1,61 +0,0 @@ -import java.io.*; -import java.util.*; - -public class ReadProperties { - public static void main(String[] args) throws IOException { - if(args.length <= 0) { System.out.println("No file provided."); return; } - - File f = new File(args[0]); - - if(!f.exists()) { System.out.println("File not found: " + args[0]); return; } - - Properties prop = new Properties(); - prop.load(new FileInputStream(f)); - - boolean isFirst = true; // I fucking hate java, why don't they have a native string join function? - System.out.print("{"); - for (Map.Entry item : prop.entrySet()) { - String key = (String) item.getKey(); - String value = (String) item.getValue(); - - if(isFirst) { isFirst = false; } - else { System.out.print(","); } - - System.out.print("\"" + escape(key) + "\":\"" + escape(value) + "\""); - } - System.out.print("}"); - } - - static String escape(String s) { // Taken from http://code.google.com/p/json-simple/ - StringBuffer sb = new StringBuffer(); - for(int i = 0; i < s.length(); i++) { - char ch = s.charAt(i); - switch(ch) { - case '"': sb.append("\\\""); break; - case '\\': sb.append("\\\\"); break; - case '\b': sb.append("\\b"); break; - case '\f': sb.append("\\f"); break; - case '\n': sb.append("\\n"); break; - case '\r': sb.append("\\r"); break; - case '\t': sb.append("\\t"); break; - case '/': sb.append("\\/"); break; - default: - //Reference: http://www.unicode.org/versions/Unicode5.1.0/ - if (('\u0000' <= ch && ch <= '\u001F') - || ('\u007F' <= ch && ch <= '\u009F') - || ('\u2000' <= ch && ch <= '\u20FF')) { - String ss = Integer.toHexString(ch); - sb.append("\\u"); - for(int k = ss.length(); k < 4; k++) { - sb.append('0'); - } - sb.append(ss.toUpperCase()); - } else { - sb.append(ch); - } - } - } - - return sb.toString(); - } -} \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/properties-parser/test/test-cases-copy.properties b/demo/platforms/android/cordova/node_modules/properties-parser/test/test-cases-copy.properties deleted file mode 100644 index 04b8ecd..0000000 --- a/demo/platforms/android/cordova/node_modules/properties-parser/test/test-cases-copy.properties +++ /dev/null @@ -1,16 +0,0 @@ -# You are reading the ".properties" entry. -! The exclamation mark can also mark text as comments. -lala=whatever -website = whatever -language = whatever -# The backslash below tells the application to continue reading -# the value onto the next line. -message = whatever -# Add spaces to the key -key\ with\ spaces = whatever -# Unicode -tab : whatever -long-unicode : whatever -space\ separator key val \n three -another-test :whatever - null-prop \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/properties-parser/test/test-cases.properties b/demo/platforms/android/cordova/node_modules/properties-parser/test/test-cases.properties deleted file mode 100644 index 5fc5bb7..0000000 --- a/demo/platforms/android/cordova/node_modules/properties-parser/test/test-cases.properties +++ /dev/null @@ -1,18 +0,0 @@ -# You are reading the ".properties" entry. -! The exclamation mark can also mark text as comments. -lala=\u210A the foo foo \ - lalala; -website = http://en.wikipedia.org/ -language = English -# The backslash below tells the application to continue reading -# the value onto the next line. -message = Welcome to \ - Wikipedia! -# Add spaces to the key -key\ with\ spaces = This is the value that could be looked up with the key "key with spaces". -# Unicode -tab : \u0009 -long-unicode : \u00000009 -space\ separator key val \n three -another-test ::: hihi - null-prop \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/properties-parser/test/test.js b/demo/platforms/android/cordova/node_modules/properties-parser/test/test.js deleted file mode 100644 index 4b7b531..0000000 --- a/demo/platforms/android/cordova/node_modules/properties-parser/test/test.js +++ /dev/null @@ -1,123 +0,0 @@ -var fs = require("fs"); -var assert = require("assert"); -var prop = require("../index.js"); - -var syncData = prop.read("./test-cases.properties"); -prop.read("./test-cases.properties", function(err, data) { - assert.deepEqual(data, syncData); - assert.equal(data["lala"], 'ℊ the foo foo lalala;'); - assert.equal(data["website"], 'http://en.wikipedia.org/'); - assert.equal(data["language"], 'English'); - assert.equal(data["message"], 'Welcome to Wikipedia!'); - assert.equal(data["key with spaces"], 'This is the value that could be looked up with the key "key with spaces".'); - assert.equal(data["tab"], '\t'); - assert.equal(data["long-unicode"], '\u00000009'); - assert.equal(data["space separator"], 'key val \n three'); - assert.equal(data["another-test"], ':: hihi'); - assert.equal(data["null-prop"], ''); - assert.ok(data["valueOf"] == null, "Properties are set that shouldn't be (valueOf)"); - assert.ok(data["toString"] == null, "Properties are set that shouldn't be (toString)"); - - console.log("Tests all passed..."); - - if(process.argv[2] === "repl") { - var repl = require("repl").start("test-repl> "); - repl.context.data = data; - repl.context.prop = prop; - } -}); - -var editor1 = prop.createEditor(); -editor1.set("basic", "prop1"); -assert.equal(editor1.toString(), "basic=prop1"); -editor1.set("basic", "prop2", "A comment\nmulti-line1"); -assert.equal(editor1.toString(), "# A comment\n# multi-line1\nbasic=prop2"); -editor1.set("basic", "prop3", "A comment\nmulti-line2"); -assert.equal(editor1.toString(), "# A comment\n# multi-line2\nbasic=prop3"); -editor1.set("basic", "prop4"); -assert.equal(editor1.toString(), "# A comment\n# multi-line2\nbasic=prop4"); -editor1.set("basic", "prop5", null); // Delete's comment -assert.equal(editor1.toString(), "basic=prop5"); -editor1.set("basic1", "prop6"); -assert.equal(editor1.toString(), "basic=prop5\nbasic1=prop6"); -editor1.addHeadComment("Head Comment"); -assert.equal(editor1.toString(), "# Head Comment\nbasic=prop5\nbasic1=prop6"); -assert.ok(editor1.get("valueOf") == null); -assert.ok(editor1.get("toString") == null); - -var editor2 = prop.createEditor("./test-cases.properties"); -assert.equal(fs.readFileSync("./test-cases.properties").toString(), editor2.toString()); -editor2.set("lala", "prop1"); -assert.ok(editor2.toString().indexOf("lala=prop1") > -1); -editor2.set("lala", "prop2", "A comment\nmulti-line1"); -assert.ok(editor2.toString().indexOf("# A comment\n# multi-line1\nlala=prop2") > -1); -editor2.set("lala", "prop3", "A comment\nmulti-line2"); -assert.ok(editor2.toString().indexOf("# A comment\n# multi-line2\nlala=prop3") > -1); -editor2.set("lala", "prop4"); -assert.ok(editor2.toString().indexOf("# A comment\n# multi-line2\nlala=prop4") > -1); -editor2.set("lala", "prop5", null); // Delete's comment -assert.ok(editor2.toString().indexOf("! The exclamation mark can also mark text as comments.\nlala=prop5") > -1); -editor2.set("basic-non-existing", "prop6"); -assert.ok(editor2.toString().indexOf("\nbasic-non-existing=prop6") > -1); -editor2.addHeadComment("Head Comment"); -assert.equal(editor2.toString().indexOf("# Head Comment\n"), 0); -assert.ok(editor2.get("valueOf") == null); -assert.ok(editor2.get("toString") == null); - -var editor3 = prop.createEditor(); -editor3.set("stay", "ok"); - -editor3.unset("key"); -editor3.unset("key", null); -editor3.unset("key", undefined); -assert.equal(editor3.toString().trim(), "stay=ok"); - -editor3.set("key", "val"); -editor3.unset("key"); -assert.equal(editor3.toString().trim(), "stay=ok"); - -editor3.set("key", "val"); -editor3.set("key", null); -assert.equal(editor3.toString().trim(), "stay=ok"); - -editor3.set("key", "val"); -editor3.set("key", undefined); -assert.equal(editor3.toString().trim(), "stay=ok"); - -prop.createEditor("./test-cases.properties", function(err, editor) { - var properties = {}; - properties.lala = 'whatever'; - properties.website = 'whatever'; - properties.language = 'whatever'; - properties.message = 'whatever'; - properties['key with spaces'] = 'whatever'; - properties.tab = 'whatever'; - properties['long-unicode'] = 'whatever'; - properties['another-test'] = 'whatever'; - for (var item in properties) { - editor.set(item, properties[item]); - } - - assert.equal( - editor.toString(), - '# You are reading the ".properties" entry.\n' + - '! The exclamation mark can also mark text as comments.\n' + - 'lala=whatever\n' + - 'website = whatever\n' + - 'language = whatever\n' + - '# The backslash below tells the application to continue reading\n' + - '# the value onto the next line.\n' + - 'message = whatever\n' + - '# Add spaces to the key\n' + - 'key\\ with\\ spaces = whatever\n' + - '# Unicode\n' + - 'tab : whatever\n' + - 'long-unicode : whatever\n' + - 'space\\ separator key val \\n three\n' + - 'another-test :whatever\n' + - ' null-prop' - ); -}); - -// java ReadProperties test-cases.properties -// javac ReadProperties.java \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/q/CHANGES.md b/demo/platforms/android/cordova/node_modules/q/CHANGES.md deleted file mode 100644 index 2d845a3..0000000 --- a/demo/platforms/android/cordova/node_modules/q/CHANGES.md +++ /dev/null @@ -1,792 +0,0 @@ -## 1.5.0 - - - Q.any gives an error message from the last rejected promise - - Throw if callback supplied to "finally" is invalid (@grahamrhay) - - Long stack trace improvements, can now construct long stack traces - across rethrows. - -## 1.4.1 - - - Address an issue that prevented Q from being used as a ` - - diff --git a/demo/platforms/android/cordova/node_modules/sax/examples/test.xml b/demo/platforms/android/cordova/node_modules/sax/examples/test.xml deleted file mode 100644 index 801292d..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/examples/test.xml +++ /dev/null @@ -1,1254 +0,0 @@ - - -]> - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - - Some Text - - - - - - - are ok in here. ]]> - - Pre-Text & Inlined text Post-text. -  - - \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/sax/lib/sax.js b/demo/platforms/android/cordova/node_modules/sax/lib/sax.js deleted file mode 100644 index 17fb08e..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/lib/sax.js +++ /dev/null @@ -1,1006 +0,0 @@ -// wrapper for non-node envs -;(function (sax) { - -sax.parser = function (strict, opt) { return new SAXParser(strict, opt) } -sax.SAXParser = SAXParser -sax.SAXStream = SAXStream -sax.createStream = createStream - -// When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns. -// When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)), -// since that's the earliest that a buffer overrun could occur. This way, checks are -// as rare as required, but as often as necessary to ensure never crossing this bound. -// Furthermore, buffers are only tested at most once per write(), so passing a very -// large string into write() might have undesirable effects, but this is manageable by -// the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme -// edge case, result in creating at most one complete copy of the string passed in. -// Set to Infinity to have unlimited buffers. -sax.MAX_BUFFER_LENGTH = 64 * 1024 - -var buffers = [ - "comment", "sgmlDecl", "textNode", "tagName", "doctype", - "procInstName", "procInstBody", "entity", "attribName", - "attribValue", "cdata", "script" -] - -sax.EVENTS = // for discoverability. - [ "text" - , "processinginstruction" - , "sgmldeclaration" - , "doctype" - , "comment" - , "attribute" - , "opentag" - , "closetag" - , "opencdata" - , "cdata" - , "closecdata" - , "error" - , "end" - , "ready" - , "script" - , "opennamespace" - , "closenamespace" - ] - -function SAXParser (strict, opt) { - if (!(this instanceof SAXParser)) return new SAXParser(strict, opt) - - var parser = this - clearBuffers(parser) - parser.q = parser.c = "" - parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH - parser.opt = opt || {} - parser.tagCase = parser.opt.lowercasetags ? "toLowerCase" : "toUpperCase" - parser.tags = [] - parser.closed = parser.closedRoot = parser.sawRoot = false - parser.tag = parser.error = null - parser.strict = !!strict - parser.noscript = !!(strict || parser.opt.noscript) - parser.state = S.BEGIN - parser.ENTITIES = Object.create(sax.ENTITIES) - parser.attribList = [] - - // namespaces form a prototype chain. - // it always points at the current tag, - // which protos to its parent tag. - if (parser.opt.xmlns) parser.ns = Object.create(rootNS) - - // mostly just for error reporting - parser.position = parser.line = parser.column = 0 - emit(parser, "onready") -} - -if (!Object.create) Object.create = function (o) { - function f () { this.__proto__ = o } - f.prototype = o - return new f -} - -if (!Object.getPrototypeOf) Object.getPrototypeOf = function (o) { - return o.__proto__ -} - -if (!Object.keys) Object.keys = function (o) { - var a = [] - for (var i in o) if (o.hasOwnProperty(i)) a.push(i) - return a -} - -function checkBufferLength (parser) { - var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10) - , maxActual = 0 - for (var i = 0, l = buffers.length; i < l; i ++) { - var len = parser[buffers[i]].length - if (len > maxAllowed) { - // Text/cdata nodes can get big, and since they're buffered, - // we can get here under normal conditions. - // Avoid issues by emitting the text node now, - // so at least it won't get any bigger. - switch (buffers[i]) { - case "textNode": - closeText(parser) - break - - case "cdata": - emitNode(parser, "oncdata", parser.cdata) - parser.cdata = "" - break - - case "script": - emitNode(parser, "onscript", parser.script) - parser.script = "" - break - - default: - error(parser, "Max buffer length exceeded: "+buffers[i]) - } - } - maxActual = Math.max(maxActual, len) - } - // schedule the next check for the earliest possible buffer overrun. - parser.bufferCheckPosition = (sax.MAX_BUFFER_LENGTH - maxActual) - + parser.position -} - -function clearBuffers (parser) { - for (var i = 0, l = buffers.length; i < l; i ++) { - parser[buffers[i]] = "" - } -} - -SAXParser.prototype = - { end: function () { end(this) } - , write: write - , resume: function () { this.error = null; return this } - , close: function () { return this.write(null) } - , end: function () { return this.write(null) } - } - -try { - var Stream = require("stream").Stream -} catch (ex) { - var Stream = function () {} -} - - -var streamWraps = sax.EVENTS.filter(function (ev) { - return ev !== "error" && ev !== "end" -}) - -function createStream (strict, opt) { - return new SAXStream(strict, opt) -} - -function SAXStream (strict, opt) { - if (!(this instanceof SAXStream)) return new SAXStream(strict, opt) - - Stream.apply(me) - - this._parser = new SAXParser(strict, opt) - this.writable = true - this.readable = true - - - var me = this - - this._parser.onend = function () { - me.emit("end") - } - - this._parser.onerror = function (er) { - me.emit("error", er) - - // if didn't throw, then means error was handled. - // go ahead and clear error, so we can write again. - me._parser.error = null - } - - streamWraps.forEach(function (ev) { - Object.defineProperty(me, "on" + ev, { - get: function () { return me._parser["on" + ev] }, - set: function (h) { - if (!h) { - me.removeAllListeners(ev) - return me._parser["on"+ev] = h - } - me.on(ev, h) - }, - enumerable: true, - configurable: false - }) - }) -} - -SAXStream.prototype = Object.create(Stream.prototype, - { constructor: { value: SAXStream } }) - -SAXStream.prototype.write = function (data) { - this._parser.write(data.toString()) - this.emit("data", data) - return true -} - -SAXStream.prototype.end = function (chunk) { - if (chunk && chunk.length) this._parser.write(chunk.toString()) - this._parser.end() - return true -} - -SAXStream.prototype.on = function (ev, handler) { - var me = this - if (!me._parser["on"+ev] && streamWraps.indexOf(ev) !== -1) { - me._parser["on"+ev] = function () { - var args = arguments.length === 1 ? [arguments[0]] - : Array.apply(null, arguments) - args.splice(0, 0, ev) - me.emit.apply(me, args) - } - } - - return Stream.prototype.on.call(me, ev, handler) -} - - - -// character classes and tokens -var whitespace = "\r\n\t " - // this really needs to be replaced with character classes. - // XML allows all manner of ridiculous numbers and digits. - , number = "0124356789" - , letter = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - // (Letter | "_" | ":") - , nameStart = letter+"_:" - , nameBody = nameStart+number+"-." - , quote = "'\"" - , entity = number+letter+"#" - , attribEnd = whitespace + ">" - , CDATA = "[CDATA[" - , DOCTYPE = "DOCTYPE" - , XML_NAMESPACE = "http://www.w3.org/XML/1998/namespace" - , XMLNS_NAMESPACE = "http://www.w3.org/2000/xmlns/" - , rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE } - -// turn all the string character sets into character class objects. -whitespace = charClass(whitespace) -number = charClass(number) -letter = charClass(letter) -nameStart = charClass(nameStart) -nameBody = charClass(nameBody) -quote = charClass(quote) -entity = charClass(entity) -attribEnd = charClass(attribEnd) - -function charClass (str) { - return str.split("").reduce(function (s, c) { - s[c] = true - return s - }, {}) -} - -function is (charclass, c) { - return charclass[c] -} - -function not (charclass, c) { - return !charclass[c] -} - -var S = 0 -sax.STATE = -{ BEGIN : S++ -, TEXT : S++ // general stuff -, TEXT_ENTITY : S++ // & and such. -, OPEN_WAKA : S++ // < -, SGML_DECL : S++ // -, SCRIPT : S++ // " - , expect : - [ [ "opentag", { name: "xml", attributes: {} } ] - , [ "opentag", { name: "script", attributes: {} } ] - , [ "text", "hello world" ] - , [ "closetag", "script" ] - , [ "closetag", "xml" ] - ] - , strict : false - , opt : { lowercasetags: true, noscript: true } - } - ) - -require(__dirname).test - ( { xml : "" - , expect : - [ [ "opentag", { name: "xml", attributes: {} } ] - , [ "opentag", { name: "script", attributes: {} } ] - , [ "opencdata", undefined ] - , [ "cdata", "hello world" ] - , [ "closecdata", undefined ] - , [ "closetag", "script" ] - , [ "closetag", "xml" ] - ] - , strict : false - , opt : { lowercasetags: true, noscript: true } - } - ) - diff --git a/demo/platforms/android/cordova/node_modules/sax/test/parser-position.js b/demo/platforms/android/cordova/node_modules/sax/test/parser-position.js deleted file mode 100644 index e4a68b1..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/parser-position.js +++ /dev/null @@ -1,28 +0,0 @@ -var sax = require("../lib/sax"), - assert = require("assert") - -function testPosition(chunks, expectedEvents) { - var parser = sax.parser(); - expectedEvents.forEach(function(expectation) { - parser['on' + expectation[0]] = function() { - for (var prop in expectation[1]) { - assert.equal(parser[prop], expectation[1][prop]); - } - } - }); - chunks.forEach(function(chunk) { - parser.write(chunk); - }); -}; - -testPosition(['
    abcdefgh
    '], - [ ['opentag', { position: 5, startTagPosition: 1 }] - , ['text', { position: 19, startTagPosition: 14 }] - , ['closetag', { position: 19, startTagPosition: 14 }] - ]); - -testPosition(['
    abcde','fgh
    '], - [ ['opentag', { position: 5, startTagPosition: 1 }] - , ['text', { position: 19, startTagPosition: 14 }] - , ['closetag', { position: 19, startTagPosition: 14 }] - ]); diff --git a/demo/platforms/android/cordova/node_modules/sax/test/script.js b/demo/platforms/android/cordova/node_modules/sax/test/script.js deleted file mode 100644 index 464c051..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/script.js +++ /dev/null @@ -1,12 +0,0 @@ -require(__dirname).test({ - xml : "", - expect : [ - ["opentag", {"name": "HTML","attributes": {}}], - ["opentag", {"name": "HEAD","attributes": {}}], - ["opentag", {"name": "SCRIPT","attributes": {}}], - ["script", "if (1 < 0) { console.log('elo there'); }"], - ["closetag", "SCRIPT"], - ["closetag", "HEAD"], - ["closetag", "HTML"] - ] -}); diff --git a/demo/platforms/android/cordova/node_modules/sax/test/self-closing-child-strict.js b/demo/platforms/android/cordova/node_modules/sax/test/self-closing-child-strict.js deleted file mode 100644 index ce9c045..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/self-closing-child-strict.js +++ /dev/null @@ -1,40 +0,0 @@ - -require(__dirname).test({ - xml : - ""+ - "" + - "" + - "" + - "" + - "=(|)" + - "" + - "", - expect : [ - ["opentag", { - "name": "root", - "attributes": {} - }], - ["opentag", { - "name": "child", - "attributes": {} - }], - ["opentag", { - "name": "haha", - "attributes": {} - }], - ["closetag", "haha"], - ["closetag", "child"], - ["opentag", { - "name": "monkey", - "attributes": {} - }], - ["text", "=(|)"], - ["closetag", "monkey"], - ["closetag", "root"], - ["end"], - ["ready"] - ], - strict : true, - opt : {} -}); - diff --git a/demo/platforms/android/cordova/node_modules/sax/test/self-closing-child.js b/demo/platforms/android/cordova/node_modules/sax/test/self-closing-child.js deleted file mode 100644 index bc6b52b..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/self-closing-child.js +++ /dev/null @@ -1,40 +0,0 @@ - -require(__dirname).test({ - xml : - ""+ - "" + - "" + - "" + - "" + - "=(|)" + - "" + - "", - expect : [ - ["opentag", { - "name": "ROOT", - "attributes": {} - }], - ["opentag", { - "name": "CHILD", - "attributes": {} - }], - ["opentag", { - "name": "HAHA", - "attributes": {} - }], - ["closetag", "HAHA"], - ["closetag", "CHILD"], - ["opentag", { - "name": "MONKEY", - "attributes": {} - }], - ["text", "=(|)"], - ["closetag", "MONKEY"], - ["closetag", "ROOT"], - ["end"], - ["ready"] - ], - strict : false, - opt : {} -}); - diff --git a/demo/platforms/android/cordova/node_modules/sax/test/self-closing-tag.js b/demo/platforms/android/cordova/node_modules/sax/test/self-closing-tag.js deleted file mode 100644 index b2c5736..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/self-closing-tag.js +++ /dev/null @@ -1,25 +0,0 @@ - -require(__dirname).test({ - xml : - " "+ - " "+ - " "+ - " "+ - "=(|) "+ - ""+ - " ", - expect : [ - ["opentag", {name:"ROOT", attributes:{}}], - ["opentag", {name:"HAHA", attributes:{}}], - ["closetag", "HAHA"], - ["opentag", {name:"HAHA", attributes:{}}], - ["closetag", "HAHA"], - // ["opentag", {name:"HAHA", attributes:{}}], - // ["closetag", "HAHA"], - ["opentag", {name:"MONKEY", attributes:{}}], - ["text", "=(|)"], - ["closetag", "MONKEY"], - ["closetag", "ROOT"] - ], - opt : { trim : true } -}); \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/sax/test/stray-ending.js b/demo/platforms/android/cordova/node_modules/sax/test/stray-ending.js deleted file mode 100644 index 6b0aa7f..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/stray-ending.js +++ /dev/null @@ -1,17 +0,0 @@ -// stray ending tags should just be ignored in non-strict mode. -// https://github.com/isaacs/sax-js/issues/32 -require(__dirname).test - ( { xml : - "" - , expect : - [ [ "opentag", { name: "A", attributes: {} } ] - , [ "opentag", { name: "B", attributes: {} } ] - , [ "text", "" ] - , [ "closetag", "B" ] - , [ "closetag", "A" ] - ] - , strict : false - , opt : {} - } - ) - diff --git a/demo/platforms/android/cordova/node_modules/sax/test/trailing-non-whitespace.js b/demo/platforms/android/cordova/node_modules/sax/test/trailing-non-whitespace.js deleted file mode 100644 index 3e1fb2e..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/trailing-non-whitespace.js +++ /dev/null @@ -1,17 +0,0 @@ - -require(__dirname).test({ - xml : "Welcome, to monkey land", - expect : [ - ["opentag", { - "name": "SPAN", - "attributes": {} - }], - ["text", "Welcome,"], - ["closetag", "SPAN"], - ["text", " to monkey land"], - ["end"], - ["ready"] - ], - strict : false, - opt : {} -}); diff --git a/demo/platforms/android/cordova/node_modules/sax/test/unquoted.js b/demo/platforms/android/cordova/node_modules/sax/test/unquoted.js deleted file mode 100644 index 79f1d0b..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/unquoted.js +++ /dev/null @@ -1,17 +0,0 @@ -// unquoted attributes should be ok in non-strict mode -// https://github.com/isaacs/sax-js/issues/31 -require(__dirname).test - ( { xml : - "" - , expect : - [ [ "attribute", { name: "class", value: "test" } ] - , [ "attribute", { name: "hello", value: "world" } ] - , [ "opentag", { name: "SPAN", - attributes: { class: "test", hello: "world" } } ] - , [ "closetag", "SPAN" ] - ] - , strict : false - , opt : {} - } - ) - diff --git a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-issue-41.js b/demo/platforms/android/cordova/node_modules/sax/test/xmlns-issue-41.js deleted file mode 100644 index 596d82b..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-issue-41.js +++ /dev/null @@ -1,67 +0,0 @@ -var t = require(__dirname) - - , xmls = // should be the same both ways. - [ "" - , "" ] - - , ex1 = - [ [ "opennamespace" - , { prefix: "a" - , uri: "http://ATTRIBUTE" - } - ] - , [ "attribute" - , { name: "xmlns:a" - , value: "http://ATTRIBUTE" - , prefix: "xmlns" - , local: "a" - , uri: "http://www.w3.org/2000/xmlns/" - } - ] - , [ "attribute" - , { name: "a:attr" - , local: "attr" - , prefix: "a" - , uri: "http://ATTRIBUTE" - , value: "value" - } - ] - , [ "opentag" - , { name: "parent" - , uri: "" - , prefix: "" - , local: "parent" - , attributes: - { "a:attr": - { name: "a:attr" - , local: "attr" - , prefix: "a" - , uri: "http://ATTRIBUTE" - , value: "value" - } - , "xmlns:a": - { name: "xmlns:a" - , local: "a" - , prefix: "xmlns" - , uri: "http://www.w3.org/2000/xmlns/" - , value: "http://ATTRIBUTE" - } - } - , ns: {"a": "http://ATTRIBUTE"} - } - ] - , ["closetag", "parent"] - , ["closenamespace", { prefix: "a", uri: "http://ATTRIBUTE" }] - ] - - // swap the order of elements 2 and 1 - , ex2 = [ex1[0], ex1[2], ex1[1]].concat(ex1.slice(3)) - , expected = [ex1, ex2] - -xmls.forEach(function (x, i) { - t.test({ xml: x - , expect: expected[i] - , strict: true - , opt: { xmlns: true } - }) -}) diff --git a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-rebinding.js b/demo/platforms/android/cordova/node_modules/sax/test/xmlns-rebinding.js deleted file mode 100644 index f464876..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-rebinding.js +++ /dev/null @@ -1,59 +0,0 @@ - -require(__dirname).test - ( { xml : - ""+ - ""+ - ""+ - ""+ - ""+ - "" - - , expect : - [ [ "opennamespace", { prefix: "x", uri: "x1" } ] - , [ "opennamespace", { prefix: "y", uri: "y1" } ] - , [ "attribute", { name: "xmlns:x", value: "x1", uri: "http://www.w3.org/2000/xmlns/", prefix: "xmlns", local: "x" } ] - , [ "attribute", { name: "xmlns:y", value: "y1", uri: "http://www.w3.org/2000/xmlns/", prefix: "xmlns", local: "y" } ] - , [ "attribute", { name: "x:a", value: "x1", uri: "x1", prefix: "x", local: "a" } ] - , [ "attribute", { name: "y:a", value: "y1", uri: "y1", prefix: "y", local: "a" } ] - , [ "opentag", { name: "root", uri: "", prefix: "", local: "root", - attributes: { "xmlns:x": { name: "xmlns:x", value: "x1", uri: "http://www.w3.org/2000/xmlns/", prefix: "xmlns", local: "x" } - , "xmlns:y": { name: "xmlns:y", value: "y1", uri: "http://www.w3.org/2000/xmlns/", prefix: "xmlns", local: "y" } - , "x:a": { name: "x:a", value: "x1", uri: "x1", prefix: "x", local: "a" } - , "y:a": { name: "y:a", value: "y1", uri: "y1", prefix: "y", local: "a" } }, - ns: { x: 'x1', y: 'y1' } } ] - - , [ "opennamespace", { prefix: "x", uri: "x2" } ] - , [ "attribute", { name: "xmlns:x", value: "x2", uri: "http://www.w3.org/2000/xmlns/", prefix: "xmlns", local: "x" } ] - , [ "opentag", { name: "rebind", uri: "", prefix: "", local: "rebind", - attributes: { "xmlns:x": { name: "xmlns:x", value: "x2", uri: "http://www.w3.org/2000/xmlns/", prefix: "xmlns", local: "x" } }, - ns: { x: 'x2' } } ] - - , [ "attribute", { name: "x:a", value: "x2", uri: "x2", prefix: "x", local: "a" } ] - , [ "attribute", { name: "y:a", value: "y1", uri: "y1", prefix: "y", local: "a" } ] - , [ "opentag", { name: "check", uri: "", prefix: "", local: "check", - attributes: { "x:a": { name: "x:a", value: "x2", uri: "x2", prefix: "x", local: "a" } - , "y:a": { name: "y:a", value: "y1", uri: "y1", prefix: "y", local: "a" } }, - ns: { x: 'x2' } } ] - - , [ "closetag", "check" ] - - , [ "closetag", "rebind" ] - , [ "closenamespace", { prefix: "x", uri: "x2" } ] - - , [ "attribute", { name: "x:a", value: "x1", uri: "x1", prefix: "x", local: "a" } ] - , [ "attribute", { name: "y:a", value: "y1", uri: "y1", prefix: "y", local: "a" } ] - , [ "opentag", { name: "check", uri: "", prefix: "", local: "check", - attributes: { "x:a": { name: "x:a", value: "x1", uri: "x1", prefix: "x", local: "a" } - , "y:a": { name: "y:a", value: "y1", uri: "y1", prefix: "y", local: "a" } }, - ns: { x: 'x1', y: 'y1' } } ] - , [ "closetag", "check" ] - - , [ "closetag", "root" ] - , [ "closenamespace", { prefix: "x", uri: "x1" } ] - , [ "closenamespace", { prefix: "y", uri: "y1" } ] - ] - , strict : true - , opt : { xmlns: true } - } - ) - diff --git a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-strict.js b/demo/platforms/android/cordova/node_modules/sax/test/xmlns-strict.js deleted file mode 100644 index 4ad615b..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-strict.js +++ /dev/null @@ -1,71 +0,0 @@ - -require(__dirname).test - ( { xml : - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "" - - , expect : - [ [ "opentag", { name: "root", prefix: "", local: "root", uri: "", - attributes: {}, ns: {} } ] - - , [ "attribute", { name: "attr", value: "normal", prefix: "", local: "attr", uri: "" } ] - , [ "opentag", { name: "plain", prefix: "", local: "plain", uri: "", - attributes: { "attr": { name: "attr", value: "normal", uri: "", prefix: "", local: "attr", uri: "" } }, - ns: {} } ] - , [ "closetag", "plain" ] - - , [ "opennamespace", { prefix: "", uri: "uri:default" } ] - - , [ "attribute", { name: "xmlns", value: "uri:default", prefix: "xmlns", local: "", uri: "http://www.w3.org/2000/xmlns/" } ] - , [ "opentag", { name: "ns1", prefix: "", local: "ns1", uri: "uri:default", - attributes: { "xmlns": { name: "xmlns", value: "uri:default", prefix: "xmlns", local: "", uri: "http://www.w3.org/2000/xmlns/" } }, - ns: { "": "uri:default" } } ] - - , [ "attribute", { name: "attr", value: "normal", prefix: "", local: "attr", uri: "uri:default" } ] - , [ "opentag", { name: "plain", prefix: "", local: "plain", uri: "uri:default", ns: { '': 'uri:default' }, - attributes: { "attr": { name: "attr", value: "normal", prefix: "", local: "attr", uri: "uri:default" } } } ] - , [ "closetag", "plain" ] - - , [ "closetag", "ns1" ] - - , [ "closenamespace", { prefix: "", uri: "uri:default" } ] - - , [ "opennamespace", { prefix: "a", uri: "uri:nsa" } ] - - , [ "attribute", { name: "xmlns:a", value: "uri:nsa", prefix: "xmlns", local: "a", uri: "http://www.w3.org/2000/xmlns/" } ] - - , [ "opentag", { name: "ns2", prefix: "", local: "ns2", uri: "", - attributes: { "xmlns:a": { name: "xmlns:a", value: "uri:nsa", prefix: "xmlns", local: "a", uri: "http://www.w3.org/2000/xmlns/" } }, - ns: { a: "uri:nsa" } } ] - - , [ "attribute", { name: "attr", value: "normal", prefix: "", local: "attr", uri: "" } ] - , [ "opentag", { name: "plain", prefix: "", local: "plain", uri: "", - attributes: { "attr": { name: "attr", value: "normal", prefix: "", local: "attr", uri: "" } }, - ns: { a: 'uri:nsa' } } ] - , [ "closetag", "plain" ] - - , [ "attribute", { name: "a:attr", value: "namespaced", prefix: "a", local: "attr", uri: "uri:nsa" } ] - , [ "opentag", { name: "a:ns", prefix: "a", local: "ns", uri: "uri:nsa", - attributes: { "a:attr": { name: "a:attr", value: "namespaced", prefix: "a", local: "attr", uri: "uri:nsa" } }, - ns: { a: 'uri:nsa' } } ] - , [ "closetag", "a:ns" ] - - , [ "closetag", "ns2" ] - - , [ "closenamespace", { prefix: "a", uri: "uri:nsa" } ] - - , [ "closetag", "root" ] - ] - , strict : true - , opt : { xmlns: true } - } - ) - diff --git a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-unbound.js b/demo/platforms/android/cordova/node_modules/sax/test/xmlns-unbound.js deleted file mode 100644 index 2944b87..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-unbound.js +++ /dev/null @@ -1,15 +0,0 @@ - -require(__dirname).test( - { strict : true - , opt : { xmlns: true } - , expect : - [ ["error", "Unbound namespace prefix: \"unbound\"\nLine: 0\nColumn: 28\nChar: >"] - - , [ "attribute", { name: "unbound:attr", value: "value", uri: "unbound", prefix: "unbound", local: "attr" } ] - , [ "opentag", { name: "root", uri: "", prefix: "", local: "root", - attributes: { "unbound:attr": { name: "unbound:attr", value: "value", uri: "unbound", prefix: "unbound", local: "attr" } }, - ns: {} } ] - , [ "closetag", "root" ] - ] - } -).write("") diff --git a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js b/demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js deleted file mode 100644 index 16da771..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js +++ /dev/null @@ -1,35 +0,0 @@ -require(__dirname).test( - { xml : "" - , expect : - [ [ "attribute" - , { name: "xml:lang" - , local: "lang" - , prefix: "xml" - , uri: "http://www.w3.org/XML/1998/namespace" - , value: "en" - } - ] - , [ "opentag" - , { name: "root" - , uri: "" - , prefix: "" - , local: "root" - , attributes: - { "xml:lang": - { name: "xml:lang" - , local: "lang" - , prefix: "xml" - , uri: "http://www.w3.org/XML/1998/namespace" - , value: "en" - } - } - , ns: {} - } - ] - , ["closetag", "root"] - ] - , strict : true - , opt : { xmlns: true } - } -) - diff --git a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix.js b/demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix.js deleted file mode 100644 index 9a1ce1b..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix.js +++ /dev/null @@ -1,20 +0,0 @@ -require(__dirname).test( - { xml : "" - , expect : - [ - [ "opentag" - , { name: "xml:root" - , uri: "http://www.w3.org/XML/1998/namespace" - , prefix: "xml" - , local: "root" - , attributes: {} - , ns: {} - } - ] - , ["closetag", "xml:root"] - ] - , strict : true - , opt : { xmlns: true } - } -) - diff --git a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-redefine.js b/demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-redefine.js deleted file mode 100644 index 1eba9c7..0000000 --- a/demo/platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-redefine.js +++ /dev/null @@ -1,40 +0,0 @@ -require(__dirname).test( - { xml : "" - , expect : - [ ["error" - , "xml: prefix must be bound to http://www.w3.org/XML/1998/namespace\n" - + "Actual: ERROR\n" - + "Line: 0\nColumn: 27\nChar: '" - ] - , [ "attribute" - , { name: "xmlns:xml" - , local: "xml" - , prefix: "xmlns" - , uri: "http://www.w3.org/2000/xmlns/" - , value: "ERROR" - } - ] - , [ "opentag" - , { name: "xml:root" - , uri: "http://www.w3.org/XML/1998/namespace" - , prefix: "xml" - , local: "root" - , attributes: - { "xmlns:xml": - { name: "xmlns:xml" - , local: "xml" - , prefix: "xmlns" - , uri: "http://www.w3.org/2000/xmlns/" - , value: "ERROR" - } - } - , ns: {} - } - ] - , ["closetag", "xml:root"] - ] - , strict : true - , opt : { xmlns: true } - } -) - diff --git a/demo/platforms/android/cordova/node_modules/semver/LICENSE b/demo/platforms/android/cordova/node_modules/semver/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/demo/platforms/android/cordova/node_modules/semver/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/demo/platforms/android/cordova/node_modules/semver/README.md b/demo/platforms/android/cordova/node_modules/semver/README.md deleted file mode 100644 index fd5151a..0000000 --- a/demo/platforms/android/cordova/node_modules/semver/README.md +++ /dev/null @@ -1,366 +0,0 @@ -semver(1) -- The semantic versioner for npm -=========================================== - -## Install - -```bash -npm install --save semver -```` - -## Usage - -As a node module: - -```js -const semver = require('semver') - -semver.valid('1.2.3') // '1.2.3' -semver.valid('a.b.c') // null -semver.clean(' =v1.2.3 ') // '1.2.3' -semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true -semver.gt('1.2.3', '9.8.7') // false -semver.lt('1.2.3', '9.8.7') // true -``` - -As a command-line utility: - -``` -$ semver -h - -SemVer 5.3.0 - -A JavaScript implementation of the http://semver.org/ specification -Copyright Isaac Z. Schlueter - -Usage: semver [options] [ [...]] -Prints valid versions sorted by SemVer precedence - -Options: --r --range - Print versions that match the specified range. - --i --increment [] - Increment a version by the specified level. Level can - be one of: major, minor, patch, premajor, preminor, - prepatch, or prerelease. Default level is 'patch'. - Only one version may be specified. - ---preid - Identifier to be used to prefix premajor, preminor, - prepatch or prerelease version increments. - --l --loose - Interpret versions and ranges loosely - -Program exits successfully if any valid version satisfies -all supplied ranges, and prints all satisfying versions. - -If no satisfying versions are found, then exits failure. - -Versions are printed in ascending order, so supplying -multiple versions to the utility will just sort them. -``` - -## Versions - -A "version" is described by the `v2.0.0` specification found at -. - -A leading `"="` or `"v"` character is stripped off and ignored. - -## Ranges - -A `version range` is a set of `comparators` which specify versions -that satisfy the range. - -A `comparator` is composed of an `operator` and a `version`. The set -of primitive `operators` is: - -* `<` Less than -* `<=` Less than or equal to -* `>` Greater than -* `>=` Greater than or equal to -* `=` Equal. If no operator is specified, then equality is assumed, - so this operator is optional, but MAY be included. - -For example, the comparator `>=1.2.7` would match the versions -`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` -or `1.1.0`. - -Comparators can be joined by whitespace to form a `comparator set`, -which is satisfied by the **intersection** of all of the comparators -it includes. - -A range is composed of one or more comparator sets, joined by `||`. A -version matches a range if and only if every comparator in at least -one of the `||`-separated comparator sets is satisfied by the version. - -For example, the range `>=1.2.7 <1.3.0` would match the versions -`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, -or `1.1.0`. - -The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, -`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. - -### Prerelease Tags - -If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then -it will only be allowed to satisfy comparator sets if at least one -comparator with the same `[major, minor, patch]` tuple also has a -prerelease tag. - -For example, the range `>1.2.3-alpha.3` would be allowed to match the -version `1.2.3-alpha.7`, but it would *not* be satisfied by -`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater -than" `1.2.3-alpha.3` according to the SemVer sort rules. The version -range only accepts prerelease tags on the `1.2.3` version. The -version `3.4.5` *would* satisfy the range, because it does not have a -prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. - -The purpose for this behavior is twofold. First, prerelease versions -frequently are updated very quickly, and contain many breaking changes -that are (by the author's design) not yet fit for public consumption. -Therefore, by default, they are excluded from range matching -semantics. - -Second, a user who has opted into using a prerelease version has -clearly indicated the intent to use *that specific* set of -alpha/beta/rc versions. By including a prerelease tag in the range, -the user is indicating that they are aware of the risk. However, it -is still not appropriate to assume that they have opted into taking a -similar risk on the *next* set of prerelease versions. - -#### Prerelease Identifiers - -The method `.inc` takes an additional `identifier` string argument that -will append the value of the string as a prerelease identifier: - -```javascript -semver.inc('1.2.3', 'prerelease', 'beta') -// '1.2.4-beta.0' -``` - -command-line example: - -```bash -$ semver 1.2.3 -i prerelease --preid beta -1.2.4-beta.0 -``` - -Which then can be used to increment further: - -```bash -$ semver 1.2.4-beta.0 -i prerelease -1.2.4-beta.1 -``` - -### Advanced Range Syntax - -Advanced range syntax desugars to primitive comparators in -deterministic ways. - -Advanced ranges may be combined in the same way as primitive -comparators using white space or `||`. - -#### Hyphen Ranges `X.Y.Z - A.B.C` - -Specifies an inclusive set. - -* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` - -If a partial version is provided as the first version in the inclusive -range, then the missing pieces are replaced with zeroes. - -* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` - -If a partial version is provided as the second version in the -inclusive range, then all versions that start with the supplied parts -of the tuple are accepted, but nothing that would be greater than the -provided tuple parts. - -* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0` -* `1.2.3 - 2` := `>=1.2.3 <3.0.0` - -#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` - -Any of `X`, `x`, or `*` may be used to "stand in" for one of the -numeric values in the `[major, minor, patch]` tuple. - -* `*` := `>=0.0.0` (Any version satisfies) -* `1.x` := `>=1.0.0 <2.0.0` (Matching major version) -* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions) - -A partial version range is treated as an X-Range, so the special -character is in fact optional. - -* `""` (empty string) := `*` := `>=0.0.0` -* `1` := `1.x.x` := `>=1.0.0 <2.0.0` -* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0` - -#### Tilde Ranges `~1.2.3` `~1.2` `~1` - -Allows patch-level changes if a minor version is specified on the -comparator. Allows minor-level changes if not. - -* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0` -* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`) -* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`) -* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0` -* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`) -* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`) -* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in - the `1.2.3` version will be allowed, if they are greater than or - equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but - `1.2.4-beta.2` would not, because it is a prerelease of a - different `[major, minor, patch]` tuple. - -#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` - -Allows changes that do not modify the left-most non-zero digit in the -`[major, minor, patch]` tuple. In other words, this allows patch and -minor updates for versions `1.0.0` and above, patch updates for -versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. - -Many authors treat a `0.x` version as if the `x` were the major -"breaking-change" indicator. - -Caret ranges are ideal when an author may make breaking changes -between `0.2.4` and `0.3.0` releases, which is a common practice. -However, it presumes that there will *not* be breaking changes between -`0.2.4` and `0.2.5`. It allows for changes that are presumed to be -additive (but non-breaking), according to commonly observed practices. - -* `^1.2.3` := `>=1.2.3 <2.0.0` -* `^0.2.3` := `>=0.2.3 <0.3.0` -* `^0.0.3` := `>=0.0.3 <0.0.4` -* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in - the `1.2.3` version will be allowed, if they are greater than or - equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but - `1.2.4-beta.2` would not, because it is a prerelease of a - different `[major, minor, patch]` tuple. -* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the - `0.0.3` version *only* will be allowed, if they are greater than or - equal to `beta`. So, `0.0.3-pr.2` would be allowed. - -When parsing caret ranges, a missing `patch` value desugars to the -number `0`, but will allow flexibility within that value, even if the -major and minor versions are both `0`. - -* `^1.2.x` := `>=1.2.0 <2.0.0` -* `^0.0.x` := `>=0.0.0 <0.1.0` -* `^0.0` := `>=0.0.0 <0.1.0` - -A missing `minor` and `patch` values will desugar to zero, but also -allow flexibility within those values, even if the major version is -zero. - -* `^1.x` := `>=1.0.0 <2.0.0` -* `^0.x` := `>=0.0.0 <1.0.0` - -### Range Grammar - -Putting all this together, here is a Backus-Naur grammar for ranges, -for the benefit of parser authors: - -```bnf -range-set ::= range ( logical-or range ) * -logical-or ::= ( ' ' ) * '||' ( ' ' ) * -range ::= hyphen | simple ( ' ' simple ) * | '' -hyphen ::= partial ' - ' partial -simple ::= primitive | partial | tilde | caret -primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial -partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? -xr ::= 'x' | 'X' | '*' | nr -nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * -tilde ::= '~' partial -caret ::= '^' partial -qualifier ::= ( '-' pre )? ( '+' build )? -pre ::= parts -build ::= parts -parts ::= part ( '.' part ) * -part ::= nr | [-0-9A-Za-z]+ -``` - -## Functions - -All methods and classes take a final `loose` boolean argument that, if -true, will be more forgiving about not-quite-valid semver strings. -The resulting output will always be 100% strict, of course. - -Strict-mode Comparators and Ranges will be strict about the SemVer -strings that they parse. - -* `valid(v)`: Return the parsed version, or null if it's not valid. -* `inc(v, release)`: Return the version incremented by the release - type (`major`, `premajor`, `minor`, `preminor`, `patch`, - `prepatch`, or `prerelease`), or null if it's not valid - * `premajor` in one call will bump the version up to the next major - version and down to a prerelease of that major version. - `preminor`, and `prepatch` work the same way. - * If called from a non-prerelease version, the `prerelease` will work the - same as `prepatch`. It increments the patch version, then makes a - prerelease. If the input version is already a prerelease it simply - increments it. -* `prerelease(v)`: Returns an array of prerelease components, or null - if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` -* `major(v)`: Return the major version number. -* `minor(v)`: Return the minor version number. -* `patch(v)`: Return the patch version number. -* `intersects(r1, r2, loose)`: Return true if the two supplied ranges - or comparators intersect. - -### Comparison - -* `gt(v1, v2)`: `v1 > v2` -* `gte(v1, v2)`: `v1 >= v2` -* `lt(v1, v2)`: `v1 < v2` -* `lte(v1, v2)`: `v1 <= v2` -* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, - even if they're not the exact same string. You already know how to - compare strings. -* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. -* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call - the corresponding function above. `"==="` and `"!=="` do simple - string comparison, but are included for completeness. Throws if an - invalid comparison string is provided. -* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if - `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. -* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions - in descending order when passed to `Array.sort()`. -* `diff(v1, v2)`: Returns difference between two versions by the release type - (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), - or null if the versions are the same. - -### Comparators - -* `intersects(comparator)`: Return true if the comparators intersect - -### Ranges - -* `validRange(range)`: Return the valid range or null if it's not valid -* `satisfies(version, range)`: Return true if the version satisfies the - range. -* `maxSatisfying(versions, range)`: Return the highest version in the list - that satisfies the range, or `null` if none of them do. -* `minSatisfying(versions, range)`: Return the lowest version in the list - that satisfies the range, or `null` if none of them do. -* `gtr(version, range)`: Return `true` if version is greater than all the - versions possible in the range. -* `ltr(version, range)`: Return `true` if version is less than all the - versions possible in the range. -* `outside(version, range, hilo)`: Return true if the version is outside - the bounds of the range in either the high or low direction. The - `hilo` argument must be either the string `'>'` or `'<'`. (This is - the function called by `gtr` and `ltr`.) -* `intersects(range)`: Return true if any of the ranges comparators intersect - -Note that, since ranges may be non-contiguous, a version might not be -greater than a range, less than a range, *or* satisfy a range! For -example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` -until `2.0.0`, so the version `1.2.10` would not be greater than the -range (because `2.0.1` satisfies, which is higher), nor less than the -range (since `1.2.8` satisfies, which is lower), and it also does not -satisfy the range. - -If you want to know if a version satisfies or does not satisfy a -range, use the `satisfies(version, range)` function. diff --git a/demo/platforms/android/cordova/node_modules/semver/bin/semver b/demo/platforms/android/cordova/node_modules/semver/bin/semver deleted file mode 100644 index c5f2e85..0000000 --- a/demo/platforms/android/cordova/node_modules/semver/bin/semver +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env node -// Standalone semver comparison program. -// Exits successfully and prints matching version(s) if -// any supplied version is valid and passes all tests. - -var argv = process.argv.slice(2) - , versions = [] - , range = [] - , gt = [] - , lt = [] - , eq = [] - , inc = null - , version = require("../package.json").version - , loose = false - , identifier = undefined - , semver = require("../semver") - , reverse = false - -main() - -function main () { - if (!argv.length) return help() - while (argv.length) { - var a = argv.shift() - var i = a.indexOf('=') - if (i !== -1) { - a = a.slice(0, i) - argv.unshift(a.slice(i + 1)) - } - switch (a) { - case "-rv": case "-rev": case "--rev": case "--reverse": - reverse = true - break - case "-l": case "--loose": - loose = true - break - case "-v": case "--version": - versions.push(argv.shift()) - break - case "-i": case "--inc": case "--increment": - switch (argv[0]) { - case "major": case "minor": case "patch": case "prerelease": - case "premajor": case "preminor": case "prepatch": - inc = argv.shift() - break - default: - inc = "patch" - break - } - break - case "--preid": - identifier = argv.shift() - break - case "-r": case "--range": - range.push(argv.shift()) - break - case "-h": case "--help": case "-?": - return help() - default: - versions.push(a) - break - } - } - - versions = versions.filter(function (v) { - return semver.valid(v, loose) - }) - if (!versions.length) return fail() - if (inc && (versions.length !== 1 || range.length)) - return failInc() - - for (var i = 0, l = range.length; i < l ; i ++) { - versions = versions.filter(function (v) { - return semver.satisfies(v, range[i], loose) - }) - if (!versions.length) return fail() - } - return success(versions) -} - -function failInc () { - console.error("--inc can only be used on a single version with no range") - fail() -} - -function fail () { process.exit(1) } - -function success () { - var compare = reverse ? "rcompare" : "compare" - versions.sort(function (a, b) { - return semver[compare](a, b, loose) - }).map(function (v) { - return semver.clean(v, loose) - }).map(function (v) { - return inc ? semver.inc(v, inc, loose, identifier) : v - }).forEach(function (v,i,_) { console.log(v) }) -} - -function help () { - console.log(["SemVer " + version - ,"" - ,"A JavaScript implementation of the http://semver.org/ specification" - ,"Copyright Isaac Z. Schlueter" - ,"" - ,"Usage: semver [options] [ [...]]" - ,"Prints valid versions sorted by SemVer precedence" - ,"" - ,"Options:" - ,"-r --range " - ," Print versions that match the specified range." - ,"" - ,"-i --increment []" - ," Increment a version by the specified level. Level can" - ," be one of: major, minor, patch, premajor, preminor," - ," prepatch, or prerelease. Default level is 'patch'." - ," Only one version may be specified." - ,"" - ,"--preid " - ," Identifier to be used to prefix premajor, preminor," - ," prepatch or prerelease version increments." - ,"" - ,"-l --loose" - ," Interpret versions and ranges loosely" - ,"" - ,"Program exits successfully if any valid version satisfies" - ,"all supplied ranges, and prints all satisfying versions." - ,"" - ,"If no satisfying versions are found, then exits failure." - ,"" - ,"Versions are printed in ascending order, so supplying" - ,"multiple versions to the utility will just sort them." - ].join("\n")) -} diff --git a/demo/platforms/android/cordova/node_modules/semver/package.json b/demo/platforms/android/cordova/node_modules/semver/package.json deleted file mode 100644 index 4f33372..0000000 --- a/demo/platforms/android/cordova/node_modules/semver/package.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "semver@^5.0.1", - "scope": null, - "escapedName": "semver", - "name": "semver", - "rawSpec": "^5.0.1", - "spec": ">=5.0.1 <6.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common" - ] - ], - "_from": "semver@>=5.0.1 <6.0.0", - "_id": "semver@5.4.1", - "_inCache": true, - "_location": "/cordova-android/semver", - "_nodeVersion": "8.2.1", - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/semver-5.4.1.tgz_1500922107643_0.5125251261051744" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "5.3.0", - "_phantomChildren": {}, - "_requested": { - "raw": "semver@^5.0.1", - "scope": null, - "escapedName": "semver", - "name": "semver", - "rawSpec": "^5.0.1", - "spec": ">=5.0.1 <6.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "_shasum": "e059c09d8571f0540823733433505d3a2f00b18e", - "_shrinkwrap": null, - "_spec": "semver@^5.0.1", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common", - "bin": { - "semver": "./bin/semver" - }, - "bugs": { - "url": "https://github.com/npm/node-semver/issues" - }, - "dependencies": {}, - "description": "The semantic version parser used by npm.", - "devDependencies": { - "tap": "^10.7.0" - }, - "directories": {}, - "dist": { - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "shasum": "e059c09d8571f0540823733433505d3a2f00b18e", - "tarball": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz" - }, - "files": [ - "bin", - "range.bnf", - "semver.js" - ], - "gitHead": "0877c942a6af00edcda5c16fdd934684e1b20a1c", - "homepage": "https://github.com/npm/node-semver#readme", - "license": "ISC", - "main": "semver.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - }, - { - "name": "othiym23", - "email": "ogd@aoaioxxysz.net" - } - ], - "name": "semver", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/node-semver.git" - }, - "scripts": { - "test": "tap test/*.js --cov -J" - }, - "version": "5.4.1" -} diff --git a/demo/platforms/android/cordova/node_modules/semver/range.bnf b/demo/platforms/android/cordova/node_modules/semver/range.bnf deleted file mode 100644 index 25ebd5c..0000000 --- a/demo/platforms/android/cordova/node_modules/semver/range.bnf +++ /dev/null @@ -1,16 +0,0 @@ -range-set ::= range ( logical-or range ) * -logical-or ::= ( ' ' ) * '||' ( ' ' ) * -range ::= hyphen | simple ( ' ' simple ) * | '' -hyphen ::= partial ' - ' partial -simple ::= primitive | partial | tilde | caret -primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial -partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? -xr ::= 'x' | 'X' | '*' | nr -nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * -tilde ::= '~' partial -caret ::= '^' partial -qualifier ::= ( '-' pre )? ( '+' build )? -pre ::= parts -build ::= parts -parts ::= part ( '.' part ) * -part ::= nr | [-0-9A-Za-z]+ diff --git a/demo/platforms/android/cordova/node_modules/semver/semver.js b/demo/platforms/android/cordova/node_modules/semver/semver.js deleted file mode 100644 index 389cb44..0000000 --- a/demo/platforms/android/cordova/node_modules/semver/semver.js +++ /dev/null @@ -1,1296 +0,0 @@ -exports = module.exports = SemVer; - -// The debug function is excluded entirely from the minified version. -/* nomin */ var debug; -/* nomin */ if (typeof process === 'object' && - /* nomin */ process.env && - /* nomin */ process.env.NODE_DEBUG && - /* nomin */ /\bsemver\b/i.test(process.env.NODE_DEBUG)) - /* nomin */ debug = function() { - /* nomin */ var args = Array.prototype.slice.call(arguments, 0); - /* nomin */ args.unshift('SEMVER'); - /* nomin */ console.log.apply(console, args); - /* nomin */ }; -/* nomin */ else - /* nomin */ debug = function() {}; - -// Note: this is the semver.org version of the spec that it implements -// Not necessarily the package version of this code. -exports.SEMVER_SPEC_VERSION = '2.0.0'; - -var MAX_LENGTH = 256; -var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; - -// The actual regexps go on exports.re -var re = exports.re = []; -var src = exports.src = []; -var R = 0; - -// The following Regular Expressions can be used for tokenizing, -// validating, and parsing SemVer version strings. - -// ## Numeric Identifier -// A single `0`, or a non-zero digit followed by zero or more digits. - -var NUMERICIDENTIFIER = R++; -src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'; -var NUMERICIDENTIFIERLOOSE = R++; -src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'; - - -// ## Non-numeric Identifier -// Zero or more digits, followed by a letter or hyphen, and then zero or -// more letters, digits, or hyphens. - -var NONNUMERICIDENTIFIER = R++; -src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'; - - -// ## Main Version -// Three dot-separated numeric identifiers. - -var MAINVERSION = R++; -src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')'; - -var MAINVERSIONLOOSE = R++; -src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')'; - -// ## Pre-release Version Identifier -// A numeric identifier, or a non-numeric identifier. - -var PRERELEASEIDENTIFIER = R++; -src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - -var PRERELEASEIDENTIFIERLOOSE = R++; -src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - - -// ## Pre-release Version -// Hyphen, followed by one or more dot-separated pre-release version -// identifiers. - -var PRERELEASE = R++; -src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] + - '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'; - -var PRERELEASELOOSE = R++; -src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + - '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'; - -// ## Build Metadata Identifier -// Any combination of digits, letters, or hyphens. - -var BUILDIDENTIFIER = R++; -src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'; - -// ## Build Metadata -// Plus sign, followed by one or more period-separated build metadata -// identifiers. - -var BUILD = R++; -src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] + - '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'; - - -// ## Full Version String -// A main version, followed optionally by a pre-release version and -// build metadata. - -// Note that the only major, minor, patch, and pre-release sections of -// the version string are capturing groups. The build metadata is not a -// capturing group, because it should not ever be used in version -// comparison. - -var FULL = R++; -var FULLPLAIN = 'v?' + src[MAINVERSION] + - src[PRERELEASE] + '?' + - src[BUILD] + '?'; - -src[FULL] = '^' + FULLPLAIN + '$'; - -// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. -// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty -// common in the npm registry. -var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] + - src[PRERELEASELOOSE] + '?' + - src[BUILD] + '?'; - -var LOOSE = R++; -src[LOOSE] = '^' + LOOSEPLAIN + '$'; - -var GTLT = R++; -src[GTLT] = '((?:<|>)?=?)'; - -// Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" -// Only the first item is strictly required. -var XRANGEIDENTIFIERLOOSE = R++; -src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'; -var XRANGEIDENTIFIER = R++; -src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'; - -var XRANGEPLAIN = R++; -src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:' + src[PRERELEASE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGEPLAINLOOSE = R++; -src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:' + src[PRERELEASELOOSE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGE = R++; -src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'; -var XRANGELOOSE = R++; -src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'; - -// Tilde ranges. -// Meaning is "reasonably at or greater than" -var LONETILDE = R++; -src[LONETILDE] = '(?:~>?)'; - -var TILDETRIM = R++; -src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'; -re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g'); -var tildeTrimReplace = '$1~'; - -var TILDE = R++; -src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'; -var TILDELOOSE = R++; -src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'; - -// Caret ranges. -// Meaning is "at least and backwards compatible with" -var LONECARET = R++; -src[LONECARET] = '(?:\\^)'; - -var CARETTRIM = R++; -src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'; -re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g'); -var caretTrimReplace = '$1^'; - -var CARET = R++; -src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'; -var CARETLOOSE = R++; -src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'; - -// A simple gt/lt/eq thing, or just "" to indicate "any version" -var COMPARATORLOOSE = R++; -src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'; -var COMPARATOR = R++; -src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'; - - -// An expression to strip any whitespace between the gtlt and the thing -// it modifies, so that `> 1.2.3` ==> `>1.2.3` -var COMPARATORTRIM = R++; -src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + - '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'; - -// this one has to use the /g flag -re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g'); -var comparatorTrimReplace = '$1$2$3'; - - -// Something like `1.2.3 - 1.2.4` -// Note that these all use the loose form, because they'll be -// checked against either the strict or loose comparator form -// later. -var HYPHENRANGE = R++; -src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAIN] + ')' + - '\\s*$'; - -var HYPHENRANGELOOSE = R++; -src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s*$'; - -// Star ranges basically just allow anything at all. -var STAR = R++; -src[STAR] = '(<|>)?=?\\s*\\*'; - -// Compile to actual regexp objects. -// All are flag-free, unless they were created above with a flag. -for (var i = 0; i < R; i++) { - debug(i, src[i]); - if (!re[i]) - re[i] = new RegExp(src[i]); -} - -exports.parse = parse; -function parse(version, loose) { - if (version instanceof SemVer) - return version; - - if (typeof version !== 'string') - return null; - - if (version.length > MAX_LENGTH) - return null; - - var r = loose ? re[LOOSE] : re[FULL]; - if (!r.test(version)) - return null; - - try { - return new SemVer(version, loose); - } catch (er) { - return null; - } -} - -exports.valid = valid; -function valid(version, loose) { - var v = parse(version, loose); - return v ? v.version : null; -} - - -exports.clean = clean; -function clean(version, loose) { - var s = parse(version.trim().replace(/^[=v]+/, ''), loose); - return s ? s.version : null; -} - -exports.SemVer = SemVer; - -function SemVer(version, loose) { - if (version instanceof SemVer) { - if (version.loose === loose) - return version; - else - version = version.version; - } else if (typeof version !== 'string') { - throw new TypeError('Invalid Version: ' + version); - } - - if (version.length > MAX_LENGTH) - throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') - - if (!(this instanceof SemVer)) - return new SemVer(version, loose); - - debug('SemVer', version, loose); - this.loose = loose; - var m = version.trim().match(loose ? re[LOOSE] : re[FULL]); - - if (!m) - throw new TypeError('Invalid Version: ' + version); - - this.raw = version; - - // these are actually numbers - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - - if (this.major > MAX_SAFE_INTEGER || this.major < 0) - throw new TypeError('Invalid major version') - - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) - throw new TypeError('Invalid minor version') - - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) - throw new TypeError('Invalid patch version') - - // numberify any prerelease numeric ids - if (!m[4]) - this.prerelease = []; - else - this.prerelease = m[4].split('.').map(function(id) { - if (/^[0-9]+$/.test(id)) { - var num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) - return num; - } - return id; - }); - - this.build = m[5] ? m[5].split('.') : []; - this.format(); -} - -SemVer.prototype.format = function() { - this.version = this.major + '.' + this.minor + '.' + this.patch; - if (this.prerelease.length) - this.version += '-' + this.prerelease.join('.'); - return this.version; -}; - -SemVer.prototype.toString = function() { - return this.version; -}; - -SemVer.prototype.compare = function(other) { - debug('SemVer.compare', this.version, this.loose, other); - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return this.compareMain(other) || this.comparePre(other); -}; - -SemVer.prototype.compareMain = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return compareIdentifiers(this.major, other.major) || - compareIdentifiers(this.minor, other.minor) || - compareIdentifiers(this.patch, other.patch); -}; - -SemVer.prototype.comparePre = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - // NOT having a prerelease is > having one - if (this.prerelease.length && !other.prerelease.length) - return -1; - else if (!this.prerelease.length && other.prerelease.length) - return 1; - else if (!this.prerelease.length && !other.prerelease.length) - return 0; - - var i = 0; - do { - var a = this.prerelease[i]; - var b = other.prerelease[i]; - debug('prerelease compare', i, a, b); - if (a === undefined && b === undefined) - return 0; - else if (b === undefined) - return 1; - else if (a === undefined) - return -1; - else if (a === b) - continue; - else - return compareIdentifiers(a, b); - } while (++i); -}; - -// preminor will bump the version up to the next minor release, and immediately -// down to pre-release. premajor and prepatch work the same way. -SemVer.prototype.inc = function(release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc('pre', identifier); - break; - case 'preminor': - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc('pre', identifier); - break; - case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0; - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - // If the input is a non-prerelease version, this acts the same as - // prepatch. - case 'prerelease': - if (this.prerelease.length === 0) - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - - case 'major': - // If this is a pre-major version, bump up to the same major version. - // Otherwise increment major. - // 1.0.0-5 bumps to 1.0.0 - // 1.1.0 bumps to 2.0.0 - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) - this.major++; - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case 'minor': - // If this is a pre-minor version, bump up to the same minor version. - // Otherwise increment minor. - // 1.2.0-5 bumps to 1.2.0 - // 1.2.1 bumps to 1.3.0 - if (this.patch !== 0 || this.prerelease.length === 0) - this.minor++; - this.patch = 0; - this.prerelease = []; - break; - case 'patch': - // If this is not a pre-release version, it will increment the patch. - // If it is a pre-release it will bump up to the same patch version. - // 1.2.0-5 patches to 1.2.0 - // 1.2.0 patches to 1.2.1 - if (this.prerelease.length === 0) - this.patch++; - this.prerelease = []; - break; - // This probably shouldn't be used publicly. - // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. - case 'pre': - if (this.prerelease.length === 0) - this.prerelease = [0]; - else { - var i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) // didn't increment anything - this.prerelease.push(0); - } - if (identifier) { - // 1.2.0-beta.1 bumps to 1.2.0-beta.2, - // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) - this.prerelease = [identifier, 0]; - } else - this.prerelease = [identifier, 0]; - } - break; - - default: - throw new Error('invalid increment argument: ' + release); - } - this.format(); - this.raw = this.version; - return this; -}; - -exports.inc = inc; -function inc(version, release, loose, identifier) { - if (typeof(loose) === 'string') { - identifier = loose; - loose = undefined; - } - - try { - return new SemVer(version, loose).inc(release, identifier).version; - } catch (er) { - return null; - } -} - -exports.diff = diff; -function diff(version1, version2) { - if (eq(version1, version2)) { - return null; - } else { - var v1 = parse(version1); - var v2 = parse(version2); - if (v1.prerelease.length || v2.prerelease.length) { - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return 'pre'+key; - } - } - } - return 'prerelease'; - } - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return key; - } - } - } - } -} - -exports.compareIdentifiers = compareIdentifiers; - -var numeric = /^[0-9]+$/; -function compareIdentifiers(a, b) { - var anum = numeric.test(a); - var bnum = numeric.test(b); - - if (anum && bnum) { - a = +a; - b = +b; - } - - return (anum && !bnum) ? -1 : - (bnum && !anum) ? 1 : - a < b ? -1 : - a > b ? 1 : - 0; -} - -exports.rcompareIdentifiers = rcompareIdentifiers; -function rcompareIdentifiers(a, b) { - return compareIdentifiers(b, a); -} - -exports.major = major; -function major(a, loose) { - return new SemVer(a, loose).major; -} - -exports.minor = minor; -function minor(a, loose) { - return new SemVer(a, loose).minor; -} - -exports.patch = patch; -function patch(a, loose) { - return new SemVer(a, loose).patch; -} - -exports.compare = compare; -function compare(a, b, loose) { - return new SemVer(a, loose).compare(new SemVer(b, loose)); -} - -exports.compareLoose = compareLoose; -function compareLoose(a, b) { - return compare(a, b, true); -} - -exports.rcompare = rcompare; -function rcompare(a, b, loose) { - return compare(b, a, loose); -} - -exports.sort = sort; -function sort(list, loose) { - return list.sort(function(a, b) { - return exports.compare(a, b, loose); - }); -} - -exports.rsort = rsort; -function rsort(list, loose) { - return list.sort(function(a, b) { - return exports.rcompare(a, b, loose); - }); -} - -exports.gt = gt; -function gt(a, b, loose) { - return compare(a, b, loose) > 0; -} - -exports.lt = lt; -function lt(a, b, loose) { - return compare(a, b, loose) < 0; -} - -exports.eq = eq; -function eq(a, b, loose) { - return compare(a, b, loose) === 0; -} - -exports.neq = neq; -function neq(a, b, loose) { - return compare(a, b, loose) !== 0; -} - -exports.gte = gte; -function gte(a, b, loose) { - return compare(a, b, loose) >= 0; -} - -exports.lte = lte; -function lte(a, b, loose) { - return compare(a, b, loose) <= 0; -} - -exports.cmp = cmp; -function cmp(a, op, b, loose) { - var ret; - switch (op) { - case '===': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a === b; - break; - case '!==': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a !== b; - break; - case '': case '=': case '==': ret = eq(a, b, loose); break; - case '!=': ret = neq(a, b, loose); break; - case '>': ret = gt(a, b, loose); break; - case '>=': ret = gte(a, b, loose); break; - case '<': ret = lt(a, b, loose); break; - case '<=': ret = lte(a, b, loose); break; - default: throw new TypeError('Invalid operator: ' + op); - } - return ret; -} - -exports.Comparator = Comparator; -function Comparator(comp, loose) { - if (comp instanceof Comparator) { - if (comp.loose === loose) - return comp; - else - comp = comp.value; - } - - if (!(this instanceof Comparator)) - return new Comparator(comp, loose); - - debug('comparator', comp, loose); - this.loose = loose; - this.parse(comp); - - if (this.semver === ANY) - this.value = ''; - else - this.value = this.operator + this.semver.version; - - debug('comp', this); -} - -var ANY = {}; -Comparator.prototype.parse = function(comp) { - var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var m = comp.match(r); - - if (!m) - throw new TypeError('Invalid comparator: ' + comp); - - this.operator = m[1]; - if (this.operator === '=') - this.operator = ''; - - // if it literally is just '>' or '' then allow anything. - if (!m[2]) - this.semver = ANY; - else - this.semver = new SemVer(m[2], this.loose); -}; - -Comparator.prototype.toString = function() { - return this.value; -}; - -Comparator.prototype.test = function(version) { - debug('Comparator.test', version, this.loose); - - if (this.semver === ANY) - return true; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - return cmp(version, this.operator, this.semver, this.loose); -}; - -Comparator.prototype.intersects = function(comp, loose) { - if (!(comp instanceof Comparator)) { - throw new TypeError('a Comparator is required'); - } - - var rangeTmp; - - if (this.operator === '') { - rangeTmp = new Range(comp.value, loose); - return satisfies(this.value, rangeTmp, loose); - } else if (comp.operator === '') { - rangeTmp = new Range(this.value, loose); - return satisfies(comp.semver, rangeTmp, loose); - } - - var sameDirectionIncreasing = - (this.operator === '>=' || this.operator === '>') && - (comp.operator === '>=' || comp.operator === '>'); - var sameDirectionDecreasing = - (this.operator === '<=' || this.operator === '<') && - (comp.operator === '<=' || comp.operator === '<'); - var sameSemVer = this.semver.version === comp.semver.version; - var differentDirectionsInclusive = - (this.operator === '>=' || this.operator === '<=') && - (comp.operator === '>=' || comp.operator === '<='); - var oppositeDirectionsLessThan = - cmp(this.semver, '<', comp.semver, loose) && - ((this.operator === '>=' || this.operator === '>') && - (comp.operator === '<=' || comp.operator === '<')); - var oppositeDirectionsGreaterThan = - cmp(this.semver, '>', comp.semver, loose) && - ((this.operator === '<=' || this.operator === '<') && - (comp.operator === '>=' || comp.operator === '>')); - - return sameDirectionIncreasing || sameDirectionDecreasing || - (sameSemVer && differentDirectionsInclusive) || - oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; -}; - - -exports.Range = Range; -function Range(range, loose) { - if (range instanceof Range) { - if (range.loose === loose) { - return range; - } else { - return new Range(range.raw, loose); - } - } - - if (range instanceof Comparator) { - return new Range(range.value, loose); - } - - if (!(this instanceof Range)) - return new Range(range, loose); - - this.loose = loose; - - // First, split based on boolean or || - this.raw = range; - this.set = range.split(/\s*\|\|\s*/).map(function(range) { - return this.parseRange(range.trim()); - }, this).filter(function(c) { - // throw out any that are not relevant for whatever reason - return c.length; - }); - - if (!this.set.length) { - throw new TypeError('Invalid SemVer Range: ' + range); - } - - this.format(); -} - -Range.prototype.format = function() { - this.range = this.set.map(function(comps) { - return comps.join(' ').trim(); - }).join('||').trim(); - return this.range; -}; - -Range.prototype.toString = function() { - return this.range; -}; - -Range.prototype.parseRange = function(range) { - var loose = this.loose; - range = range.trim(); - debug('range', range, loose); - // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` - var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]; - range = range.replace(hr, hyphenReplace); - debug('hyphen replace', range); - // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` - range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace); - debug('comparator trim', range, re[COMPARATORTRIM]); - - // `~ 1.2.3` => `~1.2.3` - range = range.replace(re[TILDETRIM], tildeTrimReplace); - - // `^ 1.2.3` => `^1.2.3` - range = range.replace(re[CARETTRIM], caretTrimReplace); - - // normalize spaces - range = range.split(/\s+/).join(' '); - - // At this point, the range is completely trimmed and - // ready to be split into comparators. - - var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var set = range.split(' ').map(function(comp) { - return parseComparator(comp, loose); - }).join(' ').split(/\s+/); - if (this.loose) { - // in loose mode, throw out any that are not valid comparators - set = set.filter(function(comp) { - return !!comp.match(compRe); - }); - } - set = set.map(function(comp) { - return new Comparator(comp, loose); - }); - - return set; -}; - -Range.prototype.intersects = function(range, loose) { - if (!(range instanceof Range)) { - throw new TypeError('a Range is required'); - } - - return this.set.some(function(thisComparators) { - return thisComparators.every(function(thisComparator) { - return range.set.some(function(rangeComparators) { - return rangeComparators.every(function(rangeComparator) { - return thisComparator.intersects(rangeComparator, loose); - }); - }); - }); - }); -}; - -// Mostly just for testing and legacy API reasons -exports.toComparators = toComparators; -function toComparators(range, loose) { - return new Range(range, loose).set.map(function(comp) { - return comp.map(function(c) { - return c.value; - }).join(' ').trim().split(' '); - }); -} - -// comprised of xranges, tildes, stars, and gtlt's at this point. -// already replaced the hyphen ranges -// turn into a set of JUST comparators. -function parseComparator(comp, loose) { - debug('comp', comp); - comp = replaceCarets(comp, loose); - debug('caret', comp); - comp = replaceTildes(comp, loose); - debug('tildes', comp); - comp = replaceXRanges(comp, loose); - debug('xrange', comp); - comp = replaceStars(comp, loose); - debug('stars', comp); - return comp; -} - -function isX(id) { - return !id || id.toLowerCase() === 'x' || id === '*'; -} - -// ~, ~> --> * (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) - continue; - - 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) { - var max = null; - var maxSV = null; - try { - var rangeObj = new Range(range, loose); - } catch (er) { - return null; - } - versions.forEach(function (v) { - if (rangeObj.test(v)) { // satisfies(v, range, loose) - if (!max || maxSV.compare(v) === -1) { // compare(max, v, true) - max = v; - maxSV = new SemVer(max, loose); - } - } - }) - return max; -} - -exports.minSatisfying = minSatisfying; -function minSatisfying(versions, range, loose) { - var min = null; - var minSV = null; - try { - var rangeObj = new Range(range, loose); - } catch (er) { - return null; - } - versions.forEach(function (v) { - if (rangeObj.test(v)) { // satisfies(v, range, loose) - if (!min || minSV.compare(v) === 1) { // compare(min, v, true) - min = v; - minSV = new SemVer(min, loose); - } - } - }) - return min; -} - -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) { - if (comparator.semver === ANY) { - comparator = new Comparator('>=0.0.0') - } - 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; -} - -exports.prerelease = prerelease; -function prerelease(version, loose) { - var parsed = parse(version, loose); - return (parsed && parsed.prerelease.length) ? parsed.prerelease : null; -} - -exports.intersects = intersects; -function intersects(r1, r2, loose) { - r1 = new Range(r1, loose) - r2 = new Range(r2, loose) - return r1.intersects(r2) -} diff --git a/demo/platforms/android/cordova/node_modules/shelljs/.documentup.json b/demo/platforms/android/cordova/node_modules/shelljs/.documentup.json deleted file mode 100644 index 57fe301..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/.documentup.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ShellJS", - "twitter": [ - "r2r" - ] -} diff --git a/demo/platforms/android/cordova/node_modules/shelljs/.jshintrc b/demo/platforms/android/cordova/node_modules/shelljs/.jshintrc deleted file mode 100644 index a80c559..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/.jshintrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "loopfunc": true, - "sub": true, - "undef": true, - "unused": true, - "node": true -} \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/shelljs/.npmignore b/demo/platforms/android/cordova/node_modules/shelljs/.npmignore deleted file mode 100644 index 6b20c38..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -test/ -tmp/ \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/shelljs/.travis.yml b/demo/platforms/android/cordova/node_modules/shelljs/.travis.yml deleted file mode 100644 index 1b3280a..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: node_js -node_js: - - "0.10" - - "0.11" - - "0.12" - diff --git a/demo/platforms/android/cordova/node_modules/shelljs/LICENSE b/demo/platforms/android/cordova/node_modules/shelljs/LICENSE deleted file mode 100644 index 1b35ee9..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/LICENSE +++ /dev/null @@ -1,26 +0,0 @@ -Copyright (c) 2012, Artur Adib -All rights reserved. - -You may use this project under the terms of the New BSD license as follows: - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of Artur Adib nor the - names of the contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL ARTUR ADIB BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/demo/platforms/android/cordova/node_modules/shelljs/README.md b/demo/platforms/android/cordova/node_modules/shelljs/README.md deleted file mode 100644 index d08d13e..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/README.md +++ /dev/null @@ -1,579 +0,0 @@ -# ShellJS - Unix shell commands for Node.js [![Build Status](https://secure.travis-ci.org/arturadib/shelljs.png)](http://travis-ci.org/arturadib/shelljs) - -ShellJS is a portable **(Windows/Linux/OS X)** implementation of Unix shell commands on top of the Node.js API. You can use it to eliminate your shell script's dependency on Unix while still keeping its familiar and powerful commands. You can also install it globally so you can run it from outside Node projects - say goodbye to those gnarly Bash scripts! - -The project is [unit-tested](http://travis-ci.org/arturadib/shelljs) and battled-tested in projects like: - -+ [PDF.js](http://github.com/mozilla/pdf.js) - Firefox's next-gen PDF reader -+ [Firebug](http://getfirebug.com/) - Firefox's infamous debugger -+ [JSHint](http://jshint.com) - Most popular JavaScript linter -+ [Zepto](http://zeptojs.com) - jQuery-compatible JavaScript library for modern browsers -+ [Yeoman](http://yeoman.io/) - Web application stack and development tool -+ [Deployd.com](http://deployd.com) - Open source PaaS for quick API backend generation - -and [many more](https://npmjs.org/browse/depended/shelljs). - -Connect with [@r2r](http://twitter.com/r2r) on Twitter for questions, suggestions, etc. - -## Installing - -Via npm: - -```bash -$ npm install [-g] shelljs -``` - -If the global option `-g` is specified, the binary `shjs` will be installed. This makes it possible to -run ShellJS scripts much like any shell script from the command line, i.e. without requiring a `node_modules` folder: - -```bash -$ shjs my_script -``` - -You can also just copy `shell.js` into your project's directory, and `require()` accordingly. - - -## Examples - -### JavaScript - -```javascript -require('shelljs/global'); - -if (!which('git')) { - echo('Sorry, this script requires git'); - exit(1); -} - -// Copy files to release dir -mkdir('-p', 'out/Release'); -cp('-R', 'stuff/*', 'out/Release'); - -// Replace macros in each .js file -cd('lib'); -ls('*.js').forEach(function(file) { - sed('-i', 'BUILD_VERSION', 'v0.1.2', file); - sed('-i', /.*REMOVE_THIS_LINE.*\n/, '', file); - sed('-i', /.*REPLACE_LINE_WITH_MACRO.*\n/, cat('macro.js'), file); -}); -cd('..'); - -// Run external tool synchronously -if (exec('git commit -am "Auto-commit"').code !== 0) { - echo('Error: Git commit failed'); - exit(1); -} -``` - -### CoffeeScript - -```coffeescript -require 'shelljs/global' - -if not which 'git' - echo 'Sorry, this script requires git' - exit 1 - -# Copy files to release dir -mkdir '-p', 'out/Release' -cp '-R', 'stuff/*', 'out/Release' - -# Replace macros in each .js file -cd 'lib' -for file in ls '*.js' - sed '-i', 'BUILD_VERSION', 'v0.1.2', file - sed '-i', /.*REMOVE_THIS_LINE.*\n/, '', file - sed '-i', /.*REPLACE_LINE_WITH_MACRO.*\n/, cat 'macro.js', file -cd '..' - -# Run external tool synchronously -if (exec 'git commit -am "Auto-commit"').code != 0 - echo 'Error: Git commit failed' - exit 1 -``` - -## Global vs. Local - -The example above uses the convenience script `shelljs/global` to reduce verbosity. If polluting your global namespace is not desirable, simply require `shelljs`. - -Example: - -```javascript -var shell = require('shelljs'); -shell.echo('hello world'); -``` - -## Make tool - -A convenience script `shelljs/make` is also provided to mimic the behavior of a Unix Makefile. In this case all shell objects are global, and command line arguments will cause the script to execute only the corresponding function in the global `target` object. To avoid redundant calls, target functions are executed only once per script. - -Example (CoffeeScript): - -```coffeescript -require 'shelljs/make' - -target.all = -> - target.bundle() - target.docs() - -target.bundle = -> - cd __dirname - mkdir 'build' - cd 'lib' - (cat '*.js').to '../build/output.js' - -target.docs = -> - cd __dirname - mkdir 'docs' - cd 'lib' - for file in ls '*.js' - text = grep '//@', file # extract special comments - text.replace '//@', '' # remove comment tags - text.to 'docs/my_docs.md' -``` - -To run the target `all`, call the above script without arguments: `$ node make`. To run the target `docs`: `$ node make docs`. - -You can also pass arguments to your targets by using the `--` separator. For example, to pass `arg1` and `arg2` to a target `bundle`, do `$ node make bundle -- arg1 arg2`: - -```javascript -require('shelljs/make'); - -target.bundle = function(argsArray) { - // argsArray = ['arg1', 'arg2'] - /* ... */ -} -``` - - - - - -## Command reference - - -All commands run synchronously, unless otherwise stated. - - -### cd('dir') -Changes to directory `dir` for the duration of the script - - -### pwd() -Returns the current directory. - - -### ls([options ,] path [,path ...]) -### ls([options ,] path_array) -Available options: - -+ `-R`: recursive -+ `-A`: all files (include files beginning with `.`, except for `.` and `..`) - -Examples: - -```javascript -ls('projs/*.js'); -ls('-R', '/users/me', '/tmp'); -ls('-R', ['/users/me', '/tmp']); // same as above -``` - -Returns array of files in the given path, or in current directory if no path provided. - - -### find(path [,path ...]) -### find(path_array) -Examples: - -```javascript -find('src', 'lib'); -find(['src', 'lib']); // same as above -find('.').filter(function(file) { return file.match(/\.js$/); }); -``` - -Returns array of all files (however deep) in the given paths. - -The main difference from `ls('-R', path)` is that the resulting file names -include the base directories, e.g. `lib/resources/file1` instead of just `file1`. - - -### cp([options ,] source [,source ...], dest) -### cp([options ,] source_array, dest) -Available options: - -+ `-f`: force -+ `-r, -R`: recursive - -Examples: - -```javascript -cp('file1', 'dir1'); -cp('-Rf', '/tmp/*', '/usr/local/*', '/home/tmp'); -cp('-Rf', ['/tmp/*', '/usr/local/*'], '/home/tmp'); // same as above -``` - -Copies files. The wildcard `*` is accepted. - - -### rm([options ,] file [, file ...]) -### rm([options ,] file_array) -Available options: - -+ `-f`: force -+ `-r, -R`: recursive - -Examples: - -```javascript -rm('-rf', '/tmp/*'); -rm('some_file.txt', 'another_file.txt'); -rm(['some_file.txt', 'another_file.txt']); // same as above -``` - -Removes files. The wildcard `*` is accepted. - - -### mv(source [, source ...], dest') -### mv(source_array, dest') -Available options: - -+ `f`: force - -Examples: - -```javascript -mv('-f', 'file', 'dir/'); -mv('file1', 'file2', 'dir/'); -mv(['file1', 'file2'], 'dir/'); // same as above -``` - -Moves files. The wildcard `*` is accepted. - - -### mkdir([options ,] dir [, dir ...]) -### mkdir([options ,] dir_array) -Available options: - -+ `p`: full path (will create intermediate dirs if necessary) - -Examples: - -```javascript -mkdir('-p', '/tmp/a/b/c/d', '/tmp/e/f/g'); -mkdir('-p', ['/tmp/a/b/c/d', '/tmp/e/f/g']); // same as above -``` - -Creates directories. - - -### test(expression) -Available expression primaries: - -+ `'-b', 'path'`: true if path is a block device -+ `'-c', 'path'`: true if path is a character device -+ `'-d', 'path'`: true if path is a directory -+ `'-e', 'path'`: true if path exists -+ `'-f', 'path'`: true if path is a regular file -+ `'-L', 'path'`: true if path is a symbolic link -+ `'-p', 'path'`: true if path is a pipe (FIFO) -+ `'-S', 'path'`: true if path is a socket - -Examples: - -```javascript -if (test('-d', path)) { /* do something with dir */ }; -if (!test('-f', path)) continue; // skip if it's a regular file -``` - -Evaluates expression using the available primaries and returns corresponding value. - - -### cat(file [, file ...]) -### cat(file_array) - -Examples: - -```javascript -var str = cat('file*.txt'); -var str = cat('file1', 'file2'); -var str = cat(['file1', 'file2']); // same as above -``` - -Returns a string containing the given file, or a concatenated string -containing the files if more than one file is given (a new line character is -introduced between each file). Wildcard `*` accepted. - - -### 'string'.to(file) - -Examples: - -```javascript -cat('input.txt').to('output.txt'); -``` - -Analogous to the redirection operator `>` in Unix, but works with JavaScript strings (such as -those returned by `cat`, `grep`, etc). _Like Unix redirections, `to()` will overwrite any existing file!_ - - -### 'string'.toEnd(file) - -Examples: - -```javascript -cat('input.txt').toEnd('output.txt'); -``` - -Analogous to the redirect-and-append operator `>>` in Unix, but works with JavaScript strings (such as -those returned by `cat`, `grep`, etc). - - -### sed([options ,] search_regex, replacement, file) -Available options: - -+ `-i`: Replace contents of 'file' in-place. _Note that no backups will be created!_ - -Examples: - -```javascript -sed('-i', 'PROGRAM_VERSION', 'v0.1.3', 'source.js'); -sed(/.*DELETE_THIS_LINE.*\n/, '', 'source.js'); -``` - -Reads an input string from `file` and performs a JavaScript `replace()` on the input -using the given search regex and replacement string or function. Returns the new string after replacement. - - -### grep([options ,] regex_filter, file [, file ...]) -### grep([options ,] regex_filter, file_array) -Available options: - -+ `-v`: Inverse the sense of the regex and print the lines not matching the criteria. - -Examples: - -```javascript -grep('-v', 'GLOBAL_VARIABLE', '*.js'); -grep('GLOBAL_VARIABLE', '*.js'); -``` - -Reads input string from given files and returns a string containing all lines of the -file that match the given `regex_filter`. Wildcard `*` accepted. - - -### which(command) - -Examples: - -```javascript -var nodeExec = which('node'); -``` - -Searches for `command` in the system's PATH. On Windows looks for `.exe`, `.cmd`, and `.bat` extensions. -Returns string containing the absolute path to the command. - - -### echo(string [,string ...]) - -Examples: - -```javascript -echo('hello world'); -var str = echo('hello world'); -``` - -Prints string to stdout, and returns string with additional utility methods -like `.to()`. - - -### pushd([options,] [dir | '-N' | '+N']) - -Available options: - -+ `-n`: Suppresses the normal change of directory when adding directories to the stack, so that only the stack is manipulated. - -Arguments: - -+ `dir`: Makes the current working directory be the top of the stack, and then executes the equivalent of `cd dir`. -+ `+N`: Brings the Nth directory (counting from the left of the list printed by dirs, starting with zero) to the top of the list by rotating the stack. -+ `-N`: Brings the Nth directory (counting from the right of the list printed by dirs, starting with zero) to the top of the list by rotating the stack. - -Examples: - -```javascript -// process.cwd() === '/usr' -pushd('/etc'); // Returns /etc /usr -pushd('+1'); // Returns /usr /etc -``` - -Save the current directory on the top of the directory stack and then cd to `dir`. With no arguments, pushd exchanges the top two directories. Returns an array of paths in the stack. - -### popd([options,] ['-N' | '+N']) - -Available options: - -+ `-n`: Suppresses the normal change of directory when removing directories from the stack, so that only the stack is manipulated. - -Arguments: - -+ `+N`: Removes the Nth directory (counting from the left of the list printed by dirs), starting with zero. -+ `-N`: Removes the Nth directory (counting from the right of the list printed by dirs), starting with zero. - -Examples: - -```javascript -echo(process.cwd()); // '/usr' -pushd('/etc'); // '/etc /usr' -echo(process.cwd()); // '/etc' -popd(); // '/usr' -echo(process.cwd()); // '/usr' -``` - -When no arguments are given, popd removes the top directory from the stack and performs a cd to the new top directory. The elements are numbered from 0 starting at the first directory listed with dirs; i.e., popd is equivalent to popd +0. Returns an array of paths in the stack. - -### dirs([options | '+N' | '-N']) - -Available options: - -+ `-c`: Clears the directory stack by deleting all of the elements. - -Arguments: - -+ `+N`: Displays the Nth directory (counting from the left of the list printed by dirs when invoked without options), starting with zero. -+ `-N`: Displays the Nth directory (counting from the right of the list printed by dirs when invoked without options), starting with zero. - -Display the list of currently remembered directories. Returns an array of paths in the stack, or a single path if +N or -N was specified. - -See also: pushd, popd - - -### ln(options, source, dest) -### ln(source, dest) -Available options: - -+ `s`: symlink -+ `f`: force - -Examples: - -```javascript -ln('file', 'newlink'); -ln('-sf', 'file', 'existing'); -``` - -Links source to dest. Use -f to force the link, should dest already exist. - - -### exit(code) -Exits the current process with the given exit code. - -### env['VAR_NAME'] -Object containing environment variables (both getter and setter). Shortcut to process.env. - -### exec(command [, options] [, callback]) -Available options (all `false` by default): - -+ `async`: Asynchronous execution. Defaults to true if a callback is provided. -+ `silent`: Do not echo program output to console. - -Examples: - -```javascript -var version = exec('node --version', {silent:true}).output; - -var child = exec('some_long_running_process', {async:true}); -child.stdout.on('data', function(data) { - /* ... do something with data ... */ -}); - -exec('some_long_running_process', function(code, output) { - console.log('Exit code:', code); - console.log('Program output:', output); -}); -``` - -Executes the given `command` _synchronously_, unless otherwise specified. -When in synchronous mode returns the object `{ code:..., output:... }`, containing the program's -`output` (stdout + stderr) and its exit `code`. Otherwise returns the child process object, and -the `callback` gets the arguments `(code, output)`. - -**Note:** For long-lived processes, it's best to run `exec()` asynchronously as -the current synchronous implementation uses a lot of CPU. This should be getting -fixed soon. - - -### chmod(octal_mode || octal_string, file) -### chmod(symbolic_mode, file) - -Available options: - -+ `-v`: output a diagnostic for every file processed -+ `-c`: like verbose but report only when a change is made -+ `-R`: change files and directories recursively - -Examples: - -```javascript -chmod(755, '/Users/brandon'); -chmod('755', '/Users/brandon'); // same as above -chmod('u+x', '/Users/brandon'); -``` - -Alters the permissions of a file or directory by either specifying the -absolute permissions in octal form or expressing the changes in symbols. -This command tries to mimic the POSIX behavior as much as possible. -Notable exceptions: - -+ In symbolic modes, 'a-r' and '-r' are identical. No consideration is - given to the umask. -+ There is no "quiet" option since default behavior is to run silent. - - -## Non-Unix commands - - -### tempdir() - -Examples: - -```javascript -var tmp = tempdir(); // "/tmp" for most *nix platforms -``` - -Searches and returns string containing a writeable, platform-dependent temporary directory. -Follows Python's [tempfile algorithm](http://docs.python.org/library/tempfile.html#tempfile.tempdir). - - -### error() -Tests if error occurred in the last command. Returns `null` if no error occurred, -otherwise returns string explaining the error - - -## Configuration - - -### config.silent -Example: - -```javascript -var sh = require('shelljs'); -var silentState = sh.config.silent; // save old silent state -sh.config.silent = true; -/* ... */ -sh.config.silent = silentState; // restore old silent state -``` - -Suppresses all command output if `true`, except for `echo()` calls. -Default is `false`. - -### config.fatal -Example: - -```javascript -require('shelljs/global'); -config.fatal = true; -cp('this_file_does_not_exist', '/dev/null'); // dies here -/* more commands... */ -``` - -If `true` the script will die on errors. Default is `false`. diff --git a/demo/platforms/android/cordova/node_modules/shelljs/RELEASE.md b/demo/platforms/android/cordova/node_modules/shelljs/RELEASE.md deleted file mode 100644 index 69ef3fb..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/RELEASE.md +++ /dev/null @@ -1,9 +0,0 @@ -# Release steps - -* Ensure master passes CI tests -* Bump version in package.json. Any breaking change or new feature should bump minor (or even major). Non-breaking changes or fixes can just bump patch. -* Update README manually if the changes are not documented in-code. If so, run `scripts/generate-docs.js` -* Commit -* `$ git tag ` (see `git tag -l` for latest) -* `$ git push origin master --tags` -* `$ npm publish .` diff --git a/demo/platforms/android/cordova/node_modules/shelljs/bin/shjs b/demo/platforms/android/cordova/node_modules/shelljs/bin/shjs deleted file mode 100644 index d239a7a..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/bin/shjs +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env node -require('../global'); - -if (process.argv.length < 3) { - console.log('ShellJS: missing argument (script name)'); - console.log(); - process.exit(1); -} - -var args, - scriptName = process.argv[2]; -env['NODE_PATH'] = __dirname + '/../..'; - -if (!scriptName.match(/\.js/) && !scriptName.match(/\.coffee/)) { - if (test('-f', scriptName + '.js')) - scriptName += '.js'; - if (test('-f', scriptName + '.coffee')) - scriptName += '.coffee'; -} - -if (!test('-f', scriptName)) { - console.log('ShellJS: script not found ('+scriptName+')'); - console.log(); - process.exit(1); -} - -args = process.argv.slice(3); - -for (var i = 0, l = args.length; i < l; i++) { - if (args[i][0] !== "-"){ - args[i] = '"' + args[i] + '"'; // fixes arguments with multiple words - } -} - -if (scriptName.match(/\.coffee$/)) { - // - // CoffeeScript - // - if (which('coffee')) { - exec('coffee ' + scriptName + ' ' + args.join(' '), { async: true }); - } else { - console.log('ShellJS: CoffeeScript interpreter not found'); - console.log(); - process.exit(1); - } -} else { - // - // JavaScript - // - exec('node ' + scriptName + ' ' + args.join(' '), { async: true }); -} diff --git a/demo/platforms/android/cordova/node_modules/shelljs/global.js b/demo/platforms/android/cordova/node_modules/shelljs/global.js deleted file mode 100644 index 97f0033..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/global.js +++ /dev/null @@ -1,3 +0,0 @@ -var shell = require('./shell.js'); -for (var cmd in shell) - global[cmd] = shell[cmd]; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/make.js b/demo/platforms/android/cordova/node_modules/shelljs/make.js deleted file mode 100644 index f78b4cf..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/make.js +++ /dev/null @@ -1,56 +0,0 @@ -require('./global'); - -global.config.fatal = true; -global.target = {}; - -var args = process.argv.slice(2), - targetArgs, - dashesLoc = args.indexOf('--'); - -// split args, everything after -- if only for targets -if (dashesLoc > -1) { - targetArgs = args.slice(dashesLoc + 1, args.length); - args = args.slice(0, dashesLoc); -} - -// This ensures we only execute the script targets after the entire script has -// been evaluated -setTimeout(function() { - var t; - - if (args.length === 1 && args[0] === '--help') { - console.log('Available targets:'); - for (t in global.target) - console.log(' ' + t); - return; - } - - // Wrap targets to prevent duplicate execution - for (t in global.target) { - (function(t, oldTarget){ - - // Wrap it - global.target[t] = function() { - if (oldTarget.done) - return; - oldTarget.done = true; - return oldTarget.apply(oldTarget, arguments); - }; - - })(t, global.target[t]); - } - - // Execute desired targets - if (args.length > 0) { - args.forEach(function(arg) { - if (arg in global.target) - global.target[arg](targetArgs); - else { - console.log('no such target: ' + arg); - } - }); - } else if ('all' in global.target) { - global.target.all(targetArgs); - } - -}, 0); diff --git a/demo/platforms/android/cordova/node_modules/shelljs/package.json b/demo/platforms/android/cordova/node_modules/shelljs/package.json deleted file mode 100644 index 2b46793..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "shelljs@^0.5.3", - "scope": null, - "escapedName": "shelljs", - "name": "shelljs", - "rawSpec": "^0.5.3", - "spec": ">=0.5.3 <0.6.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android" - ] - ], - "_from": "shelljs@>=0.5.3 <0.6.0", - "_id": "shelljs@0.5.3", - "_inCache": true, - "_location": "/cordova-android/shelljs", - "_nodeVersion": "1.2.0", - "_npmUser": { - "name": "artur", - "email": "arturadib@gmail.com" - }, - "_npmVersion": "2.5.1", - "_phantomChildren": {}, - "_requested": { - "raw": "shelljs@^0.5.3", - "scope": null, - "escapedName": "shelljs", - "name": "shelljs", - "rawSpec": "^0.5.3", - "spec": ">=0.5.3 <0.6.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android", - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", - "_shasum": "c54982b996c76ef0c1e6b59fbdc5825f5b713113", - "_shrinkwrap": null, - "_spec": "shelljs@^0.5.3", - "_where": "/Users/jbowser/cordova/cordova-android", - "author": { - "name": "Artur Adib", - "email": "arturadib@gmail.com" - }, - "bin": { - "shjs": "./bin/shjs" - }, - "bugs": { - "url": "https://github.com/arturadib/shelljs/issues" - }, - "dependencies": {}, - "description": "Portable Unix shell commands for Node.js", - "devDependencies": { - "jshint": "~2.1.11" - }, - "directories": {}, - "dist": { - "shasum": "c54982b996c76ef0c1e6b59fbdc5825f5b713113", - "tarball": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz" - }, - "engines": { - "node": ">=0.8.0" - }, - "gitHead": "22d0975040b9b8234755dc6e692d6869436e8485", - "homepage": "http://github.com/arturadib/shelljs", - "keywords": [ - "unix", - "shell", - "makefile", - "make", - "jake", - "synchronous" - ], - "license": "BSD*", - "main": "./shell.js", - "maintainers": [ - { - "name": "artur", - "email": "arturadib@gmail.com" - } - ], - "name": "shelljs", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/arturadib/shelljs.git" - }, - "scripts": { - "test": "node scripts/run-tests" - }, - "version": "0.5.3" -} diff --git a/demo/platforms/android/cordova/node_modules/shelljs/scripts/generate-docs.js b/demo/platforms/android/cordova/node_modules/shelljs/scripts/generate-docs.js deleted file mode 100644 index 532fed9..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/scripts/generate-docs.js +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env node -require('../global'); - -echo('Appending docs to README.md'); - -cd(__dirname + '/..'); - -// Extract docs from shell.js -var docs = grep('//@', 'shell.js'); - -docs = docs.replace(/\/\/\@include (.+)/g, function(match, path) { - var file = path.match('.js$') ? path : path+'.js'; - return grep('//@', file); -}); - -// Remove '//@' -docs = docs.replace(/\/\/\@ ?/g, ''); -// Append docs to README -sed('-i', /## Command reference(.|\n)*/, '## Command reference\n\n' + docs, 'README.md'); - -echo('All done.'); diff --git a/demo/platforms/android/cordova/node_modules/shelljs/scripts/run-tests.js b/demo/platforms/android/cordova/node_modules/shelljs/scripts/run-tests.js deleted file mode 100644 index f9d31e0..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/scripts/run-tests.js +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env node -require('../global'); - -var path = require('path'); - -var failed = false; - -// -// Lint -// -JSHINT_BIN = './node_modules/jshint/bin/jshint'; -cd(__dirname + '/..'); - -if (!test('-f', JSHINT_BIN)) { - echo('JSHint not found. Run `npm install` in the root dir first.'); - exit(1); -} - -if (exec(JSHINT_BIN + ' *.js test/*.js').code !== 0) { - failed = true; - echo('*** JSHINT FAILED! (return code != 0)'); - echo(); -} else { - echo('All JSHint tests passed'); - echo(); -} - -// -// Unit tests -// -cd(__dirname + '/../test'); -ls('*.js').forEach(function(file) { - echo('Running test:', file); - if (exec('node ' + file).code !== 123) { // 123 avoids false positives (e.g. premature exit) - failed = true; - echo('*** TEST FAILED! (missing exit code "123")'); - echo(); - } -}); - -if (failed) { - echo(); - echo('*******************************************************'); - echo('WARNING: Some tests did not pass!'); - echo('*******************************************************'); - exit(1); -} else { - echo(); - echo('All tests passed.'); -} diff --git a/demo/platforms/android/cordova/node_modules/shelljs/shell.js b/demo/platforms/android/cordova/node_modules/shelljs/shell.js deleted file mode 100644 index bdeb559..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/shell.js +++ /dev/null @@ -1,159 +0,0 @@ -// -// ShellJS -// Unix shell commands on top of Node's API -// -// Copyright (c) 2012 Artur Adib -// http://github.com/arturadib/shelljs -// - -var common = require('./src/common'); - - -//@ -//@ All commands run synchronously, unless otherwise stated. -//@ - -//@include ./src/cd -var _cd = require('./src/cd'); -exports.cd = common.wrap('cd', _cd); - -//@include ./src/pwd -var _pwd = require('./src/pwd'); -exports.pwd = common.wrap('pwd', _pwd); - -//@include ./src/ls -var _ls = require('./src/ls'); -exports.ls = common.wrap('ls', _ls); - -//@include ./src/find -var _find = require('./src/find'); -exports.find = common.wrap('find', _find); - -//@include ./src/cp -var _cp = require('./src/cp'); -exports.cp = common.wrap('cp', _cp); - -//@include ./src/rm -var _rm = require('./src/rm'); -exports.rm = common.wrap('rm', _rm); - -//@include ./src/mv -var _mv = require('./src/mv'); -exports.mv = common.wrap('mv', _mv); - -//@include ./src/mkdir -var _mkdir = require('./src/mkdir'); -exports.mkdir = common.wrap('mkdir', _mkdir); - -//@include ./src/test -var _test = require('./src/test'); -exports.test = common.wrap('test', _test); - -//@include ./src/cat -var _cat = require('./src/cat'); -exports.cat = common.wrap('cat', _cat); - -//@include ./src/to -var _to = require('./src/to'); -String.prototype.to = common.wrap('to', _to); - -//@include ./src/toEnd -var _toEnd = require('./src/toEnd'); -String.prototype.toEnd = common.wrap('toEnd', _toEnd); - -//@include ./src/sed -var _sed = require('./src/sed'); -exports.sed = common.wrap('sed', _sed); - -//@include ./src/grep -var _grep = require('./src/grep'); -exports.grep = common.wrap('grep', _grep); - -//@include ./src/which -var _which = require('./src/which'); -exports.which = common.wrap('which', _which); - -//@include ./src/echo -var _echo = require('./src/echo'); -exports.echo = _echo; // don't common.wrap() as it could parse '-options' - -//@include ./src/dirs -var _dirs = require('./src/dirs').dirs; -exports.dirs = common.wrap("dirs", _dirs); -var _pushd = require('./src/dirs').pushd; -exports.pushd = common.wrap('pushd', _pushd); -var _popd = require('./src/dirs').popd; -exports.popd = common.wrap("popd", _popd); - -//@include ./src/ln -var _ln = require('./src/ln'); -exports.ln = common.wrap('ln', _ln); - -//@ -//@ ### exit(code) -//@ Exits the current process with the given exit code. -exports.exit = process.exit; - -//@ -//@ ### env['VAR_NAME'] -//@ Object containing environment variables (both getter and setter). Shortcut to process.env. -exports.env = process.env; - -//@include ./src/exec -var _exec = require('./src/exec'); -exports.exec = common.wrap('exec', _exec, {notUnix:true}); - -//@include ./src/chmod -var _chmod = require('./src/chmod'); -exports.chmod = common.wrap('chmod', _chmod); - - - -//@ -//@ ## Non-Unix commands -//@ - -//@include ./src/tempdir -var _tempDir = require('./src/tempdir'); -exports.tempdir = common.wrap('tempdir', _tempDir); - - -//@include ./src/error -var _error = require('./src/error'); -exports.error = _error; - - - -//@ -//@ ## Configuration -//@ - -exports.config = common.config; - -//@ -//@ ### config.silent -//@ Example: -//@ -//@ ```javascript -//@ var sh = require('shelljs'); -//@ var silentState = sh.config.silent; // save old silent state -//@ sh.config.silent = true; -//@ /* ... */ -//@ sh.config.silent = silentState; // restore old silent state -//@ ``` -//@ -//@ Suppresses all command output if `true`, except for `echo()` calls. -//@ Default is `false`. - -//@ -//@ ### config.fatal -//@ Example: -//@ -//@ ```javascript -//@ require('shelljs/global'); -//@ config.fatal = true; -//@ cp('this_file_does_not_exist', '/dev/null'); // dies here -//@ /* more commands... */ -//@ ``` -//@ -//@ If `true` the script will die on errors. Default is `false`. diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/cat.js b/demo/platforms/android/cordova/node_modules/shelljs/src/cat.js deleted file mode 100644 index f6f4d25..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/cat.js +++ /dev/null @@ -1,43 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); - -//@ -//@ ### cat(file [, file ...]) -//@ ### cat(file_array) -//@ -//@ Examples: -//@ -//@ ```javascript -//@ var str = cat('file*.txt'); -//@ var str = cat('file1', 'file2'); -//@ var str = cat(['file1', 'file2']); // same as above -//@ ``` -//@ -//@ Returns a string containing the given file, or a concatenated string -//@ containing the files if more than one file is given (a new line character is -//@ introduced between each file). Wildcard `*` accepted. -function _cat(options, files) { - var cat = ''; - - if (!files) - common.error('no paths given'); - - if (typeof files === 'string') - files = [].slice.call(arguments, 1); - // if it's array leave it as it is - - files = common.expand(files); - - files.forEach(function(file) { - if (!fs.existsSync(file)) - common.error('no such file or directory: ' + file); - - cat += fs.readFileSync(file, 'utf8') + '\n'; - }); - - if (cat[cat.length-1] === '\n') - cat = cat.substring(0, cat.length-1); - - return common.ShellString(cat); -} -module.exports = _cat; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/cd.js b/demo/platforms/android/cordova/node_modules/shelljs/src/cd.js deleted file mode 100644 index 230f432..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/cd.js +++ /dev/null @@ -1,19 +0,0 @@ -var fs = require('fs'); -var common = require('./common'); - -//@ -//@ ### cd('dir') -//@ Changes to directory `dir` for the duration of the script -function _cd(options, dir) { - if (!dir) - common.error('directory not specified'); - - if (!fs.existsSync(dir)) - common.error('no such file or directory: ' + dir); - - if (!fs.statSync(dir).isDirectory()) - common.error('not a directory: ' + dir); - - process.chdir(dir); -} -module.exports = _cd; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/chmod.js b/demo/platforms/android/cordova/node_modules/shelljs/src/chmod.js deleted file mode 100644 index f288893..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/chmod.js +++ /dev/null @@ -1,208 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); -var path = require('path'); - -var PERMS = (function (base) { - return { - OTHER_EXEC : base.EXEC, - OTHER_WRITE : base.WRITE, - OTHER_READ : base.READ, - - GROUP_EXEC : base.EXEC << 3, - GROUP_WRITE : base.WRITE << 3, - GROUP_READ : base.READ << 3, - - OWNER_EXEC : base.EXEC << 6, - OWNER_WRITE : base.WRITE << 6, - OWNER_READ : base.READ << 6, - - // Literal octal numbers are apparently not allowed in "strict" javascript. Using parseInt is - // the preferred way, else a jshint warning is thrown. - STICKY : parseInt('01000', 8), - SETGID : parseInt('02000', 8), - SETUID : parseInt('04000', 8), - - TYPE_MASK : parseInt('0770000', 8) - }; -})({ - EXEC : 1, - WRITE : 2, - READ : 4 -}); - -//@ -//@ ### chmod(octal_mode || octal_string, file) -//@ ### chmod(symbolic_mode, file) -//@ -//@ Available options: -//@ -//@ + `-v`: output a diagnostic for every file processed//@ -//@ + `-c`: like verbose but report only when a change is made//@ -//@ + `-R`: change files and directories recursively//@ -//@ -//@ Examples: -//@ -//@ ```javascript -//@ chmod(755, '/Users/brandon'); -//@ chmod('755', '/Users/brandon'); // same as above -//@ chmod('u+x', '/Users/brandon'); -//@ ``` -//@ -//@ Alters the permissions of a file or directory by either specifying the -//@ absolute permissions in octal form or expressing the changes in symbols. -//@ This command tries to mimic the POSIX behavior as much as possible. -//@ Notable exceptions: -//@ -//@ + In symbolic modes, 'a-r' and '-r' are identical. No consideration is -//@ given to the umask. -//@ + There is no "quiet" option since default behavior is to run silent. -function _chmod(options, mode, filePattern) { - if (!filePattern) { - if (options.length > 0 && options.charAt(0) === '-') { - // Special case where the specified file permissions started with - to subtract perms, which - // get picked up by the option parser as command flags. - // If we are down by one argument and options starts with -, shift everything over. - filePattern = mode; - mode = options; - options = ''; - } - else { - common.error('You must specify a file.'); - } - } - - options = common.parseOptions(options, { - 'R': 'recursive', - 'c': 'changes', - 'v': 'verbose' - }); - - if (typeof filePattern === 'string') { - filePattern = [ filePattern ]; - } - - var files; - - if (options.recursive) { - files = []; - common.expand(filePattern).forEach(function addFile(expandedFile) { - var stat = fs.lstatSync(expandedFile); - - if (!stat.isSymbolicLink()) { - files.push(expandedFile); - - if (stat.isDirectory()) { // intentionally does not follow symlinks. - fs.readdirSync(expandedFile).forEach(function (child) { - addFile(expandedFile + '/' + child); - }); - } - } - }); - } - else { - files = common.expand(filePattern); - } - - files.forEach(function innerChmod(file) { - file = path.resolve(file); - if (!fs.existsSync(file)) { - common.error('File not found: ' + file); - } - - // When recursing, don't follow symlinks. - if (options.recursive && fs.lstatSync(file).isSymbolicLink()) { - return; - } - - var perms = fs.statSync(file).mode; - var type = perms & PERMS.TYPE_MASK; - - var newPerms = perms; - - if (isNaN(parseInt(mode, 8))) { - // parse options - mode.split(',').forEach(function (symbolicMode) { - /*jshint regexdash:true */ - var pattern = /([ugoa]*)([=\+-])([rwxXst]*)/i; - var matches = pattern.exec(symbolicMode); - - if (matches) { - var applyTo = matches[1]; - var operator = matches[2]; - var change = matches[3]; - - var changeOwner = applyTo.indexOf('u') != -1 || applyTo === 'a' || applyTo === ''; - var changeGroup = applyTo.indexOf('g') != -1 || applyTo === 'a' || applyTo === ''; - var changeOther = applyTo.indexOf('o') != -1 || applyTo === 'a' || applyTo === ''; - - var changeRead = change.indexOf('r') != -1; - var changeWrite = change.indexOf('w') != -1; - var changeExec = change.indexOf('x') != -1; - var changeSticky = change.indexOf('t') != -1; - var changeSetuid = change.indexOf('s') != -1; - - var mask = 0; - if (changeOwner) { - mask |= (changeRead ? PERMS.OWNER_READ : 0) + (changeWrite ? PERMS.OWNER_WRITE : 0) + (changeExec ? PERMS.OWNER_EXEC : 0) + (changeSetuid ? PERMS.SETUID : 0); - } - if (changeGroup) { - mask |= (changeRead ? PERMS.GROUP_READ : 0) + (changeWrite ? PERMS.GROUP_WRITE : 0) + (changeExec ? PERMS.GROUP_EXEC : 0) + (changeSetuid ? PERMS.SETGID : 0); - } - if (changeOther) { - mask |= (changeRead ? PERMS.OTHER_READ : 0) + (changeWrite ? PERMS.OTHER_WRITE : 0) + (changeExec ? PERMS.OTHER_EXEC : 0); - } - - // Sticky bit is special - it's not tied to user, group or other. - if (changeSticky) { - mask |= PERMS.STICKY; - } - - switch (operator) { - case '+': - newPerms |= mask; - break; - - case '-': - newPerms &= ~mask; - break; - - case '=': - newPerms = type + mask; - - // According to POSIX, when using = to explicitly set the permissions, setuid and setgid can never be cleared. - if (fs.statSync(file).isDirectory()) { - newPerms |= (PERMS.SETUID + PERMS.SETGID) & perms; - } - break; - } - - if (options.verbose) { - log(file + ' -> ' + newPerms.toString(8)); - } - - if (perms != newPerms) { - if (!options.verbose && options.changes) { - log(file + ' -> ' + newPerms.toString(8)); - } - fs.chmodSync(file, newPerms); - } - } - else { - common.error('Invalid symbolic mode change: ' + symbolicMode); - } - }); - } - else { - // they gave us a full number - newPerms = type + parseInt(mode, 8); - - // POSIX rules are that setuid and setgid can only be added using numeric form, but not cleared. - if (fs.statSync(file).isDirectory()) { - newPerms |= (PERMS.SETUID + PERMS.SETGID) & perms; - } - - fs.chmodSync(file, newPerms); - } - }); -} -module.exports = _chmod; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/common.js b/demo/platforms/android/cordova/node_modules/shelljs/src/common.js deleted file mode 100644 index d8c2312..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/common.js +++ /dev/null @@ -1,203 +0,0 @@ -var os = require('os'); -var fs = require('fs'); -var _ls = require('./ls'); - -// Module globals -var config = { - silent: false, - fatal: false -}; -exports.config = config; - -var state = { - error: null, - currentCmd: 'shell.js', - tempDir: null -}; -exports.state = state; - -var platform = os.type().match(/^Win/) ? 'win' : 'unix'; -exports.platform = platform; - -function log() { - if (!config.silent) - console.log.apply(this, arguments); -} -exports.log = log; - -// Shows error message. Throws unless _continue or config.fatal are true -function error(msg, _continue) { - if (state.error === null) - state.error = ''; - state.error += state.currentCmd + ': ' + msg + '\n'; - - if (msg.length > 0) - log(state.error); - - if (config.fatal) - process.exit(1); - - if (!_continue) - throw ''; -} -exports.error = error; - -// In the future, when Proxies are default, we can add methods like `.to()` to primitive strings. -// For now, this is a dummy function to bookmark places we need such strings -function ShellString(str) { - return str; -} -exports.ShellString = ShellString; - -// Returns {'alice': true, 'bob': false} when passed a dictionary, e.g.: -// parseOptions('-a', {'a':'alice', 'b':'bob'}); -function parseOptions(str, map) { - if (!map) - error('parseOptions() internal error: no map given'); - - // All options are false by default - var options = {}; - for (var letter in map) - options[map[letter]] = false; - - if (!str) - return options; // defaults - - if (typeof str !== 'string') - error('parseOptions() internal error: wrong str'); - - // e.g. match[1] = 'Rf' for str = '-Rf' - var match = str.match(/^\-(.+)/); - if (!match) - return options; - - // e.g. chars = ['R', 'f'] - var chars = match[1].split(''); - - chars.forEach(function(c) { - if (c in map) - options[map[c]] = true; - else - error('option not recognized: '+c); - }); - - return options; -} -exports.parseOptions = parseOptions; - -// Expands wildcards with matching (ie. existing) file names. -// For example: -// expand(['file*.js']) = ['file1.js', 'file2.js', ...] -// (if the files 'file1.js', 'file2.js', etc, exist in the current dir) -function expand(list) { - var expanded = []; - list.forEach(function(listEl) { - // Wildcard present on directory names ? - if(listEl.search(/\*[^\/]*\//) > -1 || listEl.search(/\*\*[^\/]*\//) > -1) { - var match = listEl.match(/^([^*]+\/|)(.*)/); - var root = match[1]; - var rest = match[2]; - var restRegex = rest.replace(/\*\*/g, ".*").replace(/\*/g, "[^\\/]*"); - restRegex = new RegExp(restRegex); - - _ls('-R', root).filter(function (e) { - return restRegex.test(e); - }).forEach(function(file) { - expanded.push(file); - }); - } - // Wildcard present on file names ? - else if (listEl.search(/\*/) > -1) { - _ls('', listEl).forEach(function(file) { - expanded.push(file); - }); - } else { - expanded.push(listEl); - } - }); - return expanded; -} -exports.expand = expand; - -// Normalizes _unlinkSync() across platforms to match Unix behavior, i.e. -// file can be unlinked even if it's read-only, see https://github.com/joyent/node/issues/3006 -function unlinkSync(file) { - try { - fs.unlinkSync(file); - } catch(e) { - // Try to override file permission - if (e.code === 'EPERM') { - fs.chmodSync(file, '0666'); - fs.unlinkSync(file); - } else { - throw e; - } - } -} -exports.unlinkSync = unlinkSync; - -// e.g. 'shelljs_a5f185d0443ca...' -function randomFileName() { - function randomHash(count) { - if (count === 1) - return parseInt(16*Math.random(), 10).toString(16); - else { - var hash = ''; - for (var i=0; i and/or '); - } else if (arguments.length > 3) { - sources = [].slice.call(arguments, 1, arguments.length - 1); - dest = arguments[arguments.length - 1]; - } else if (typeof sources === 'string') { - sources = [sources]; - } else if ('length' in sources) { - sources = sources; // no-op for array - } else { - common.error('invalid arguments'); - } - - var exists = fs.existsSync(dest), - stats = exists && fs.statSync(dest); - - // Dest is not existing dir, but multiple sources given - if ((!exists || !stats.isDirectory()) && sources.length > 1) - common.error('dest is not a directory (too many sources)'); - - // Dest is an existing file, but no -f given - if (exists && stats.isFile() && !options.force) - common.error('dest file already exists: ' + dest); - - if (options.recursive) { - // Recursive allows the shortcut syntax "sourcedir/" for "sourcedir/*" - // (see Github issue #15) - sources.forEach(function(src, i) { - if (src[src.length - 1] === '/') - sources[i] += '*'; - }); - - // Create dest - try { - fs.mkdirSync(dest, parseInt('0777', 8)); - } catch (e) { - // like Unix's cp, keep going even if we can't create dest dir - } - } - - sources = common.expand(sources); - - sources.forEach(function(src) { - if (!fs.existsSync(src)) { - common.error('no such file or directory: '+src, true); - return; // skip file - } - - // If here, src exists - if (fs.statSync(src).isDirectory()) { - if (!options.recursive) { - // Non-Recursive - common.log(src + ' is a directory (not copied)'); - } else { - // Recursive - // 'cp /a/source dest' should create 'source' in 'dest' - var newDest = path.join(dest, path.basename(src)), - checkDir = fs.statSync(src); - try { - fs.mkdirSync(newDest, checkDir.mode); - } catch (e) { - //if the directory already exists, that's okay - if (e.code !== 'EEXIST') { - common.error('dest file no such file or directory: ' + newDest, true); - throw e; - } - } - - cpdirSyncRecursive(src, newDest, {force: options.force}); - } - return; // done with dir - } - - // If here, src is a file - - // When copying to '/path/dir': - // thisDest = '/path/dir/file1' - var thisDest = dest; - if (fs.existsSync(dest) && fs.statSync(dest).isDirectory()) - thisDest = path.normalize(dest + '/' + path.basename(src)); - - if (fs.existsSync(thisDest) && !options.force) { - common.error('dest file already exists: ' + thisDest, true); - return; // skip file - } - - copyFileSync(src, thisDest); - }); // forEach(src) -} -module.exports = _cp; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/dirs.js b/demo/platforms/android/cordova/node_modules/shelljs/src/dirs.js deleted file mode 100644 index 58fae8b..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/dirs.js +++ /dev/null @@ -1,191 +0,0 @@ -var common = require('./common'); -var _cd = require('./cd'); -var path = require('path'); - -// Pushd/popd/dirs internals -var _dirStack = []; - -function _isStackIndex(index) { - return (/^[\-+]\d+$/).test(index); -} - -function _parseStackIndex(index) { - if (_isStackIndex(index)) { - if (Math.abs(index) < _dirStack.length + 1) { // +1 for pwd - return (/^-/).test(index) ? Number(index) - 1 : Number(index); - } else { - common.error(index + ': directory stack index out of range'); - } - } else { - common.error(index + ': invalid number'); - } -} - -function _actualDirStack() { - return [process.cwd()].concat(_dirStack); -} - -//@ -//@ ### pushd([options,] [dir | '-N' | '+N']) -//@ -//@ Available options: -//@ -//@ + `-n`: Suppresses the normal change of directory when adding directories to the stack, so that only the stack is manipulated. -//@ -//@ Arguments: -//@ -//@ + `dir`: Makes the current working directory be the top of the stack, and then executes the equivalent of `cd dir`. -//@ + `+N`: Brings the Nth directory (counting from the left of the list printed by dirs, starting with zero) to the top of the list by rotating the stack. -//@ + `-N`: Brings the Nth directory (counting from the right of the list printed by dirs, starting with zero) to the top of the list by rotating the stack. -//@ -//@ Examples: -//@ -//@ ```javascript -//@ // process.cwd() === '/usr' -//@ pushd('/etc'); // Returns /etc /usr -//@ pushd('+1'); // Returns /usr /etc -//@ ``` -//@ -//@ Save the current directory on the top of the directory stack and then cd to `dir`. With no arguments, pushd exchanges the top two directories. Returns an array of paths in the stack. -function _pushd(options, dir) { - if (_isStackIndex(options)) { - dir = options; - options = ''; - } - - options = common.parseOptions(options, { - 'n' : 'no-cd' - }); - - var dirs = _actualDirStack(); - - if (dir === '+0') { - return dirs; // +0 is a noop - } else if (!dir) { - if (dirs.length > 1) { - dirs = dirs.splice(1, 1).concat(dirs); - } else { - return common.error('no other directory'); - } - } else if (_isStackIndex(dir)) { - var n = _parseStackIndex(dir); - dirs = dirs.slice(n).concat(dirs.slice(0, n)); - } else { - if (options['no-cd']) { - dirs.splice(1, 0, dir); - } else { - dirs.unshift(dir); - } - } - - if (options['no-cd']) { - dirs = dirs.slice(1); - } else { - dir = path.resolve(dirs.shift()); - _cd('', dir); - } - - _dirStack = dirs; - return _dirs(''); -} -exports.pushd = _pushd; - -//@ -//@ ### popd([options,] ['-N' | '+N']) -//@ -//@ Available options: -//@ -//@ + `-n`: Suppresses the normal change of directory when removing directories from the stack, so that only the stack is manipulated. -//@ -//@ Arguments: -//@ -//@ + `+N`: Removes the Nth directory (counting from the left of the list printed by dirs), starting with zero. -//@ + `-N`: Removes the Nth directory (counting from the right of the list printed by dirs), starting with zero. -//@ -//@ Examples: -//@ -//@ ```javascript -//@ echo(process.cwd()); // '/usr' -//@ pushd('/etc'); // '/etc /usr' -//@ echo(process.cwd()); // '/etc' -//@ popd(); // '/usr' -//@ echo(process.cwd()); // '/usr' -//@ ``` -//@ -//@ When no arguments are given, popd removes the top directory from the stack and performs a cd to the new top directory. The elements are numbered from 0 starting at the first directory listed with dirs; i.e., popd is equivalent to popd +0. Returns an array of paths in the stack. -function _popd(options, index) { - if (_isStackIndex(options)) { - index = options; - options = ''; - } - - options = common.parseOptions(options, { - 'n' : 'no-cd' - }); - - if (!_dirStack.length) { - return common.error('directory stack empty'); - } - - index = _parseStackIndex(index || '+0'); - - if (options['no-cd'] || index > 0 || _dirStack.length + index === 0) { - index = index > 0 ? index - 1 : index; - _dirStack.splice(index, 1); - } else { - var dir = path.resolve(_dirStack.shift()); - _cd('', dir); - } - - return _dirs(''); -} -exports.popd = _popd; - -//@ -//@ ### dirs([options | '+N' | '-N']) -//@ -//@ Available options: -//@ -//@ + `-c`: Clears the directory stack by deleting all of the elements. -//@ -//@ Arguments: -//@ -//@ + `+N`: Displays the Nth directory (counting from the left of the list printed by dirs when invoked without options), starting with zero. -//@ + `-N`: Displays the Nth directory (counting from the right of the list printed by dirs when invoked without options), starting with zero. -//@ -//@ Display the list of currently remembered directories. Returns an array of paths in the stack, or a single path if +N or -N was specified. -//@ -//@ See also: pushd, popd -function _dirs(options, index) { - if (_isStackIndex(options)) { - index = options; - options = ''; - } - - options = common.parseOptions(options, { - 'c' : 'clear' - }); - - if (options['clear']) { - _dirStack = []; - return _dirStack; - } - - var stack = _actualDirStack(); - - if (index) { - index = _parseStackIndex(index); - - if (index < 0) { - index = stack.length + index; - } - - common.log(stack[index]); - return stack[index]; - } - - common.log(stack.join(' ')); - - return stack; -} -exports.dirs = _dirs; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/echo.js b/demo/platforms/android/cordova/node_modules/shelljs/src/echo.js deleted file mode 100644 index 760ea84..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/echo.js +++ /dev/null @@ -1,20 +0,0 @@ -var common = require('./common'); - -//@ -//@ ### echo(string [,string ...]) -//@ -//@ Examples: -//@ -//@ ```javascript -//@ echo('hello world'); -//@ var str = echo('hello world'); -//@ ``` -//@ -//@ Prints string to stdout, and returns string with additional utility methods -//@ like `.to()`. -function _echo() { - var messages = [].slice.call(arguments, 0); - console.log.apply(this, messages); - return common.ShellString(messages.join(' ')); -} -module.exports = _echo; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/error.js b/demo/platforms/android/cordova/node_modules/shelljs/src/error.js deleted file mode 100644 index cca3efb..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/error.js +++ /dev/null @@ -1,10 +0,0 @@ -var common = require('./common'); - -//@ -//@ ### error() -//@ Tests if error occurred in the last command. Returns `null` if no error occurred, -//@ otherwise returns string explaining the error -function error() { - return common.state.error; -}; -module.exports = error; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/exec.js b/demo/platforms/android/cordova/node_modules/shelljs/src/exec.js deleted file mode 100644 index d259a9f..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/exec.js +++ /dev/null @@ -1,216 +0,0 @@ -var common = require('./common'); -var _tempDir = require('./tempdir'); -var _pwd = require('./pwd'); -var path = require('path'); -var fs = require('fs'); -var child = require('child_process'); - -// Hack to run child_process.exec() synchronously (sync avoids callback hell) -// Uses a custom wait loop that checks for a flag file, created when the child process is done. -// (Can't do a wait loop that checks for internal Node variables/messages as -// Node is single-threaded; callbacks and other internal state changes are done in the -// event loop). -function execSync(cmd, opts) { - var tempDir = _tempDir(); - var stdoutFile = path.resolve(tempDir+'/'+common.randomFileName()), - codeFile = path.resolve(tempDir+'/'+common.randomFileName()), - scriptFile = path.resolve(tempDir+'/'+common.randomFileName()), - sleepFile = path.resolve(tempDir+'/'+common.randomFileName()); - - var options = common.extend({ - silent: common.config.silent - }, opts); - - var previousStdoutContent = ''; - // Echoes stdout changes from running process, if not silent - function updateStdout() { - if (options.silent || !fs.existsSync(stdoutFile)) - return; - - var stdoutContent = fs.readFileSync(stdoutFile, 'utf8'); - // No changes since last time? - if (stdoutContent.length <= previousStdoutContent.length) - return; - - process.stdout.write(stdoutContent.substr(previousStdoutContent.length)); - previousStdoutContent = stdoutContent; - } - - function escape(str) { - return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0"); - } - - if (fs.existsSync(scriptFile)) common.unlinkSync(scriptFile); - if (fs.existsSync(stdoutFile)) common.unlinkSync(stdoutFile); - if (fs.existsSync(codeFile)) common.unlinkSync(codeFile); - - var execCommand = '"'+process.execPath+'" '+scriptFile; - var execOptions = { - env: process.env, - cwd: _pwd(), - maxBuffer: 20*1024*1024 - }; - - if (typeof child.execSync === 'function') { - var script = [ - "var child = require('child_process')", - " , fs = require('fs');", - "var childProcess = child.exec('"+escape(cmd)+"', {env: process.env, maxBuffer: 20*1024*1024}, function(err) {", - " fs.writeFileSync('"+escape(codeFile)+"', err ? err.code.toString() : '0');", - "});", - "var stdoutStream = fs.createWriteStream('"+escape(stdoutFile)+"');", - "childProcess.stdout.pipe(stdoutStream, {end: false});", - "childProcess.stderr.pipe(stdoutStream, {end: false});", - "childProcess.stdout.pipe(process.stdout);", - "childProcess.stderr.pipe(process.stderr);", - "var stdoutEnded = false, stderrEnded = false;", - "function tryClosing(){ if(stdoutEnded && stderrEnded){ stdoutStream.end(); } }", - "childProcess.stdout.on('end', function(){ stdoutEnded = true; tryClosing(); });", - "childProcess.stderr.on('end', function(){ stderrEnded = true; tryClosing(); });" - ].join('\n'); - - fs.writeFileSync(scriptFile, script); - - if (options.silent) { - execOptions.stdio = 'ignore'; - } else { - execOptions.stdio = [0, 1, 2]; - } - - // Welcome to the future - child.execSync(execCommand, execOptions); - } else { - cmd += ' > '+stdoutFile+' 2>&1'; // works on both win/unix - - var script = [ - "var child = require('child_process')", - " , fs = require('fs');", - "var childProcess = child.exec('"+escape(cmd)+"', {env: process.env, maxBuffer: 20*1024*1024}, function(err) {", - " fs.writeFileSync('"+escape(codeFile)+"', err ? err.code.toString() : '0');", - "});" - ].join('\n'); - - fs.writeFileSync(scriptFile, script); - - child.exec(execCommand, execOptions); - - // The wait loop - // sleepFile is used as a dummy I/O op to mitigate unnecessary CPU usage - // (tried many I/O sync ops, writeFileSync() seems to be only one that is effective in reducing - // CPU usage, though apparently not so much on Windows) - while (!fs.existsSync(codeFile)) { updateStdout(); fs.writeFileSync(sleepFile, 'a'); } - while (!fs.existsSync(stdoutFile)) { updateStdout(); fs.writeFileSync(sleepFile, 'a'); } - } - - // At this point codeFile exists, but it's not necessarily flushed yet. - // Keep reading it until it is. - var code = parseInt('', 10); - while (isNaN(code)) { - code = parseInt(fs.readFileSync(codeFile, 'utf8'), 10); - } - - var stdout = fs.readFileSync(stdoutFile, 'utf8'); - - // No biggie if we can't erase the files now -- they're in a temp dir anyway - try { common.unlinkSync(scriptFile); } catch(e) {} - try { common.unlinkSync(stdoutFile); } catch(e) {} - try { common.unlinkSync(codeFile); } catch(e) {} - try { common.unlinkSync(sleepFile); } catch(e) {} - - // some shell return codes are defined as errors, per http://tldp.org/LDP/abs/html/exitcodes.html - if (code === 1 || code === 2 || code >= 126) { - common.error('', true); // unix/shell doesn't really give an error message after non-zero exit codes - } - // True if successful, false if not - var obj = { - code: code, - output: stdout - }; - return obj; -} // execSync() - -// Wrapper around exec() to enable echoing output to console in real time -function execAsync(cmd, opts, callback) { - var output = ''; - - var options = common.extend({ - silent: common.config.silent - }, opts); - - var c = child.exec(cmd, {env: process.env, maxBuffer: 20*1024*1024}, function(err) { - if (callback) - callback(err ? err.code : 0, output); - }); - - c.stdout.on('data', function(data) { - output += data; - if (!options.silent) - process.stdout.write(data); - }); - - c.stderr.on('data', function(data) { - output += data; - if (!options.silent) - process.stdout.write(data); - }); - - return c; -} - -//@ -//@ ### exec(command [, options] [, callback]) -//@ Available options (all `false` by default): -//@ -//@ + `async`: Asynchronous execution. Defaults to true if a callback is provided. -//@ + `silent`: Do not echo program output to console. -//@ -//@ Examples: -//@ -//@ ```javascript -//@ var version = exec('node --version', {silent:true}).output; -//@ -//@ var child = exec('some_long_running_process', {async:true}); -//@ child.stdout.on('data', function(data) { -//@ /* ... do something with data ... */ -//@ }); -//@ -//@ exec('some_long_running_process', function(code, output) { -//@ console.log('Exit code:', code); -//@ console.log('Program output:', output); -//@ }); -//@ ``` -//@ -//@ Executes the given `command` _synchronously_, unless otherwise specified. -//@ When in synchronous mode returns the object `{ code:..., output:... }`, containing the program's -//@ `output` (stdout + stderr) and its exit `code`. Otherwise returns the child process object, and -//@ the `callback` gets the arguments `(code, output)`. -//@ -//@ **Note:** For long-lived processes, it's best to run `exec()` asynchronously as -//@ the current synchronous implementation uses a lot of CPU. This should be getting -//@ fixed soon. -function _exec(command, options, callback) { - if (!command) - common.error('must specify command'); - - // Callback is defined instead of options. - if (typeof options === 'function') { - callback = options; - options = { async: true }; - } - - // Callback is defined with options. - if (typeof options === 'object' && typeof callback === 'function') { - options.async = true; - } - - options = common.extend({ - silent: common.config.silent, - async: false - }, options); - - if (options.async) - return execAsync(command, options, callback); - else - return execSync(command, options); -} -module.exports = _exec; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/find.js b/demo/platforms/android/cordova/node_modules/shelljs/src/find.js deleted file mode 100644 index d9eeec2..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/find.js +++ /dev/null @@ -1,51 +0,0 @@ -var fs = require('fs'); -var common = require('./common'); -var _ls = require('./ls'); - -//@ -//@ ### find(path [,path ...]) -//@ ### find(path_array) -//@ Examples: -//@ -//@ ```javascript -//@ find('src', 'lib'); -//@ find(['src', 'lib']); // same as above -//@ find('.').filter(function(file) { return file.match(/\.js$/); }); -//@ ``` -//@ -//@ Returns array of all files (however deep) in the given paths. -//@ -//@ The main difference from `ls('-R', path)` is that the resulting file names -//@ include the base directories, e.g. `lib/resources/file1` instead of just `file1`. -function _find(options, paths) { - if (!paths) - common.error('no path specified'); - else if (typeof paths === 'object') - paths = paths; // assume array - else if (typeof paths === 'string') - paths = [].slice.call(arguments, 1); - - var list = []; - - function pushFile(file) { - if (common.platform === 'win') - file = file.replace(/\\/g, '/'); - list.push(file); - } - - // why not simply do ls('-R', paths)? because the output wouldn't give the base dirs - // to get the base dir in the output, we need instead ls('-R', 'dir/*') for every directory - - paths.forEach(function(file) { - pushFile(file); - - if (fs.statSync(file).isDirectory()) { - _ls('-RA', file+'/*').forEach(function(subfile) { - pushFile(subfile); - }); - } - }); - - return list; -} -module.exports = _find; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/grep.js b/demo/platforms/android/cordova/node_modules/shelljs/src/grep.js deleted file mode 100644 index 00c7d6a..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/grep.js +++ /dev/null @@ -1,52 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); - -//@ -//@ ### grep([options ,] regex_filter, file [, file ...]) -//@ ### grep([options ,] regex_filter, file_array) -//@ Available options: -//@ -//@ + `-v`: Inverse the sense of the regex and print the lines not matching the criteria. -//@ -//@ Examples: -//@ -//@ ```javascript -//@ grep('-v', 'GLOBAL_VARIABLE', '*.js'); -//@ grep('GLOBAL_VARIABLE', '*.js'); -//@ ``` -//@ -//@ Reads input string from given files and returns a string containing all lines of the -//@ file that match the given `regex_filter`. Wildcard `*` accepted. -function _grep(options, regex, files) { - options = common.parseOptions(options, { - 'v': 'inverse' - }); - - if (!files) - common.error('no paths given'); - - if (typeof files === 'string') - files = [].slice.call(arguments, 2); - // if it's array leave it as it is - - files = common.expand(files); - - var grep = ''; - files.forEach(function(file) { - if (!fs.existsSync(file)) { - common.error('no such file or directory: ' + file, true); - return; - } - - var contents = fs.readFileSync(file, 'utf8'), - lines = contents.split(/\r*\n/); - lines.forEach(function(line) { - var matched = line.match(regex); - if ((options.inverse && !matched) || (!options.inverse && matched)) - grep += line + '\n'; - }); - }); - - return common.ShellString(grep); -} -module.exports = _grep; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/ln.js b/demo/platforms/android/cordova/node_modules/shelljs/src/ln.js deleted file mode 100644 index a7b9701..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/ln.js +++ /dev/null @@ -1,53 +0,0 @@ -var fs = require('fs'); -var path = require('path'); -var common = require('./common'); -var os = require('os'); - -//@ -//@ ### ln(options, source, dest) -//@ ### ln(source, dest) -//@ Available options: -//@ -//@ + `s`: symlink -//@ + `f`: force -//@ -//@ Examples: -//@ -//@ ```javascript -//@ ln('file', 'newlink'); -//@ ln('-sf', 'file', 'existing'); -//@ ``` -//@ -//@ Links source to dest. Use -f to force the link, should dest already exist. -function _ln(options, source, dest) { - options = common.parseOptions(options, { - 's': 'symlink', - 'f': 'force' - }); - - if (!source || !dest) { - common.error('Missing and/or '); - } - - source = path.resolve(process.cwd(), String(source)); - dest = path.resolve(process.cwd(), String(dest)); - - if (!fs.existsSync(source)) { - common.error('Source file does not exist', true); - } - - if (fs.existsSync(dest)) { - if (!options.force) { - common.error('Destination file exists', true); - } - - fs.unlinkSync(dest); - } - - if (options.symlink) { - fs.symlinkSync(source, dest, os.platform() === "win32" ? "junction" : null); - } else { - fs.linkSync(source, dest, os.platform() === "win32" ? "junction" : null); - } -} -module.exports = _ln; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/ls.js b/demo/platforms/android/cordova/node_modules/shelljs/src/ls.js deleted file mode 100644 index 3345db4..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/ls.js +++ /dev/null @@ -1,126 +0,0 @@ -var path = require('path'); -var fs = require('fs'); -var common = require('./common'); -var _cd = require('./cd'); -var _pwd = require('./pwd'); - -//@ -//@ ### ls([options ,] path [,path ...]) -//@ ### ls([options ,] path_array) -//@ Available options: -//@ -//@ + `-R`: recursive -//@ + `-A`: all files (include files beginning with `.`, except for `.` and `..`) -//@ -//@ Examples: -//@ -//@ ```javascript -//@ ls('projs/*.js'); -//@ ls('-R', '/users/me', '/tmp'); -//@ ls('-R', ['/users/me', '/tmp']); // same as above -//@ ``` -//@ -//@ Returns array of files in the given path, or in current directory if no path provided. -function _ls(options, paths) { - options = common.parseOptions(options, { - 'R': 'recursive', - 'A': 'all', - 'a': 'all_deprecated' - }); - - if (options.all_deprecated) { - // We won't support the -a option as it's hard to image why it's useful - // (it includes '.' and '..' in addition to '.*' files) - // For backwards compatibility we'll dump a deprecated message and proceed as before - common.log('ls: Option -a is deprecated. Use -A instead'); - options.all = true; - } - - if (!paths) - paths = ['.']; - else if (typeof paths === 'object') - paths = paths; // assume array - else if (typeof paths === 'string') - paths = [].slice.call(arguments, 1); - - var list = []; - - // Conditionally pushes file to list - returns true if pushed, false otherwise - // (e.g. prevents hidden files to be included unless explicitly told so) - function pushFile(file, query) { - // hidden file? - if (path.basename(file)[0] === '.') { - // not explicitly asking for hidden files? - if (!options.all && !(path.basename(query)[0] === '.' && path.basename(query).length > 1)) - return false; - } - - if (common.platform === 'win') - file = file.replace(/\\/g, '/'); - - list.push(file); - return true; - } - - paths.forEach(function(p) { - if (fs.existsSync(p)) { - var stats = fs.statSync(p); - // Simple file? - if (stats.isFile()) { - pushFile(p, p); - return; // continue - } - - // Simple dir? - if (stats.isDirectory()) { - // Iterate over p contents - fs.readdirSync(p).forEach(function(file) { - if (!pushFile(file, p)) - return; - - // Recursive? - if (options.recursive) { - var oldDir = _pwd(); - _cd('', p); - if (fs.statSync(file).isDirectory()) - list = list.concat(_ls('-R'+(options.all?'A':''), file+'/*')); - _cd('', oldDir); - } - }); - return; // continue - } - } - - // p does not exist - possible wildcard present - - var basename = path.basename(p); - var dirname = path.dirname(p); - // Wildcard present on an existing dir? (e.g. '/tmp/*.js') - if (basename.search(/\*/) > -1 && fs.existsSync(dirname) && fs.statSync(dirname).isDirectory) { - // Escape special regular expression chars - var regexp = basename.replace(/(\^|\$|\(|\)|<|>|\[|\]|\{|\}|\.|\+|\?)/g, '\\$1'); - // Translates wildcard into regex - regexp = '^' + regexp.replace(/\*/g, '.*') + '$'; - // Iterate over directory contents - fs.readdirSync(dirname).forEach(function(file) { - if (file.match(new RegExp(regexp))) { - if (!pushFile(path.normalize(dirname+'/'+file), basename)) - return; - - // Recursive? - if (options.recursive) { - var pp = dirname + '/' + file; - if (fs.lstatSync(pp).isDirectory()) - list = list.concat(_ls('-R'+(options.all?'A':''), pp+'/*')); - } // recursive - } // if file matches - }); // forEach - return; - } - - common.error('no such file or directory: ' + p, true); - }); - - return list; -} -module.exports = _ls; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/mkdir.js b/demo/platforms/android/cordova/node_modules/shelljs/src/mkdir.js deleted file mode 100644 index 5a7088f..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/mkdir.js +++ /dev/null @@ -1,68 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); -var path = require('path'); - -// Recursively creates 'dir' -function mkdirSyncRecursive(dir) { - var baseDir = path.dirname(dir); - - // Base dir exists, no recursion necessary - if (fs.existsSync(baseDir)) { - fs.mkdirSync(dir, parseInt('0777', 8)); - return; - } - - // Base dir does not exist, go recursive - mkdirSyncRecursive(baseDir); - - // Base dir created, can create dir - fs.mkdirSync(dir, parseInt('0777', 8)); -} - -//@ -//@ ### mkdir([options ,] dir [, dir ...]) -//@ ### mkdir([options ,] dir_array) -//@ Available options: -//@ -//@ + `p`: full path (will create intermediate dirs if necessary) -//@ -//@ Examples: -//@ -//@ ```javascript -//@ mkdir('-p', '/tmp/a/b/c/d', '/tmp/e/f/g'); -//@ mkdir('-p', ['/tmp/a/b/c/d', '/tmp/e/f/g']); // same as above -//@ ``` -//@ -//@ Creates directories. -function _mkdir(options, dirs) { - options = common.parseOptions(options, { - 'p': 'fullpath' - }); - if (!dirs) - common.error('no paths given'); - - if (typeof dirs === 'string') - dirs = [].slice.call(arguments, 1); - // if it's array leave it as it is - - dirs.forEach(function(dir) { - if (fs.existsSync(dir)) { - if (!options.fullpath) - common.error('path already exists: ' + dir, true); - return; // skip dir - } - - // Base dir does not exist, and no -p option given - var baseDir = path.dirname(dir); - if (!fs.existsSync(baseDir) && !options.fullpath) { - common.error('no such file or directory: ' + baseDir, true); - return; // skip dir - } - - if (options.fullpath) - mkdirSyncRecursive(dir); - else - fs.mkdirSync(dir, parseInt('0777', 8)); - }); -} // mkdir -module.exports = _mkdir; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/mv.js b/demo/platforms/android/cordova/node_modules/shelljs/src/mv.js deleted file mode 100644 index 11f9607..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/mv.js +++ /dev/null @@ -1,80 +0,0 @@ -var fs = require('fs'); -var path = require('path'); -var common = require('./common'); - -//@ -//@ ### mv(source [, source ...], dest') -//@ ### mv(source_array, dest') -//@ Available options: -//@ -//@ + `f`: force -//@ -//@ Examples: -//@ -//@ ```javascript -//@ mv('-f', 'file', 'dir/'); -//@ mv('file1', 'file2', 'dir/'); -//@ mv(['file1', 'file2'], 'dir/'); // same as above -//@ ``` -//@ -//@ Moves files. The wildcard `*` is accepted. -function _mv(options, sources, dest) { - options = common.parseOptions(options, { - 'f': 'force' - }); - - // Get sources, dest - if (arguments.length < 3) { - common.error('missing and/or '); - } else if (arguments.length > 3) { - sources = [].slice.call(arguments, 1, arguments.length - 1); - dest = arguments[arguments.length - 1]; - } else if (typeof sources === 'string') { - sources = [sources]; - } else if ('length' in sources) { - sources = sources; // no-op for array - } else { - common.error('invalid arguments'); - } - - sources = common.expand(sources); - - var exists = fs.existsSync(dest), - stats = exists && fs.statSync(dest); - - // Dest is not existing dir, but multiple sources given - if ((!exists || !stats.isDirectory()) && sources.length > 1) - common.error('dest is not a directory (too many sources)'); - - // Dest is an existing file, but no -f given - if (exists && stats.isFile() && !options.force) - common.error('dest file already exists: ' + dest); - - sources.forEach(function(src) { - if (!fs.existsSync(src)) { - common.error('no such file or directory: '+src, true); - return; // skip file - } - - // If here, src exists - - // When copying to '/path/dir': - // thisDest = '/path/dir/file1' - var thisDest = dest; - if (fs.existsSync(dest) && fs.statSync(dest).isDirectory()) - thisDest = path.normalize(dest + '/' + path.basename(src)); - - if (fs.existsSync(thisDest) && !options.force) { - common.error('dest file already exists: ' + thisDest, true); - return; // skip file - } - - if (path.resolve(src) === path.dirname(path.resolve(thisDest))) { - common.error('cannot move to self: '+src, true); - return; // skip file - } - - fs.renameSync(src, thisDest); - }); // forEach(src) -} // mv -module.exports = _mv; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/popd.js b/demo/platforms/android/cordova/node_modules/shelljs/src/popd.js deleted file mode 100644 index 11ea24f..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/popd.js +++ /dev/null @@ -1 +0,0 @@ -// see dirs.js \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/pushd.js b/demo/platforms/android/cordova/node_modules/shelljs/src/pushd.js deleted file mode 100644 index 11ea24f..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/pushd.js +++ /dev/null @@ -1 +0,0 @@ -// see dirs.js \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/pwd.js b/demo/platforms/android/cordova/node_modules/shelljs/src/pwd.js deleted file mode 100644 index 41727bb..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/pwd.js +++ /dev/null @@ -1,11 +0,0 @@ -var path = require('path'); -var common = require('./common'); - -//@ -//@ ### pwd() -//@ Returns the current directory. -function _pwd(options) { - var pwd = path.resolve(process.cwd()); - return common.ShellString(pwd); -} -module.exports = _pwd; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/rm.js b/demo/platforms/android/cordova/node_modules/shelljs/src/rm.js deleted file mode 100644 index bd608cb..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/rm.js +++ /dev/null @@ -1,163 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); - -// Recursively removes 'dir' -// Adapted from https://github.com/ryanmcgrath/wrench-js -// -// Copyright (c) 2010 Ryan McGrath -// Copyright (c) 2012 Artur Adib -// -// Licensed under the MIT License -// http://www.opensource.org/licenses/mit-license.php -function rmdirSyncRecursive(dir, force) { - var files; - - files = fs.readdirSync(dir); - - // Loop through and delete everything in the sub-tree after checking it - for(var i = 0; i < files.length; i++) { - var file = dir + "/" + files[i], - currFile = fs.lstatSync(file); - - if(currFile.isDirectory()) { // Recursive function back to the beginning - rmdirSyncRecursive(file, force); - } - - else if(currFile.isSymbolicLink()) { // Unlink symlinks - if (force || isWriteable(file)) { - try { - common.unlinkSync(file); - } catch (e) { - common.error('could not remove file (code '+e.code+'): ' + file, true); - } - } - } - - else // Assume it's a file - perhaps a try/catch belongs here? - if (force || isWriteable(file)) { - try { - common.unlinkSync(file); - } catch (e) { - common.error('could not remove file (code '+e.code+'): ' + file, true); - } - } - } - - // Now that we know everything in the sub-tree has been deleted, we can delete the main directory. - // Huzzah for the shopkeep. - - var result; - try { - // Retry on windows, sometimes it takes a little time before all the files in the directory are gone - var start = Date.now(); - while (true) { - try { - result = fs.rmdirSync(dir); - if (fs.existsSync(dir)) throw { code: "EAGAIN" } - break; - } catch(er) { - // In addition to error codes, also check if the directory still exists and loop again if true - if (process.platform === "win32" && (er.code === "ENOTEMPTY" || er.code === "EBUSY" || er.code === "EPERM" || er.code === "EAGAIN")) { - if (Date.now() - start > 1000) throw er; - } else if (er.code === "ENOENT") { - // Directory did not exist, deletion was successful - break; - } else { - throw er; - } - } - } - } catch(e) { - common.error('could not remove directory (code '+e.code+'): ' + dir, true); - } - - return result; -} // rmdirSyncRecursive - -// Hack to determine if file has write permissions for current user -// Avoids having to check user, group, etc, but it's probably slow -function isWriteable(file) { - var writePermission = true; - try { - var __fd = fs.openSync(file, 'a'); - fs.closeSync(__fd); - } catch(e) { - writePermission = false; - } - - return writePermission; -} - -//@ -//@ ### rm([options ,] file [, file ...]) -//@ ### rm([options ,] file_array) -//@ Available options: -//@ -//@ + `-f`: force -//@ + `-r, -R`: recursive -//@ -//@ Examples: -//@ -//@ ```javascript -//@ rm('-rf', '/tmp/*'); -//@ rm('some_file.txt', 'another_file.txt'); -//@ rm(['some_file.txt', 'another_file.txt']); // same as above -//@ ``` -//@ -//@ Removes files. The wildcard `*` is accepted. -function _rm(options, files) { - options = common.parseOptions(options, { - 'f': 'force', - 'r': 'recursive', - 'R': 'recursive' - }); - if (!files) - common.error('no paths given'); - - if (typeof files === 'string') - files = [].slice.call(arguments, 1); - // if it's array leave it as it is - - files = common.expand(files); - - files.forEach(function(file) { - if (!fs.existsSync(file)) { - // Path does not exist, no force flag given - if (!options.force) - common.error('no such file or directory: '+file, true); - - return; // skip file - } - - // If here, path exists - - var stats = fs.lstatSync(file); - if (stats.isFile() || stats.isSymbolicLink()) { - - // Do not check for file writing permissions - if (options.force) { - common.unlinkSync(file); - return; - } - - if (isWriteable(file)) - common.unlinkSync(file); - else - common.error('permission denied: '+file, true); - - return; - } // simple file - - // Path is an existing directory, but no -r flag given - if (stats.isDirectory() && !options.recursive) { - common.error('path is a directory', true); - return; // skip path - } - - // Recursively remove existing directory - if (stats.isDirectory() && options.recursive) { - rmdirSyncRecursive(file, options.force); - } - }); // forEach(file) -} // rm -module.exports = _rm; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/sed.js b/demo/platforms/android/cordova/node_modules/shelljs/src/sed.js deleted file mode 100644 index 65f7cb4..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/sed.js +++ /dev/null @@ -1,43 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); - -//@ -//@ ### sed([options ,] search_regex, replacement, file) -//@ Available options: -//@ -//@ + `-i`: Replace contents of 'file' in-place. _Note that no backups will be created!_ -//@ -//@ Examples: -//@ -//@ ```javascript -//@ sed('-i', 'PROGRAM_VERSION', 'v0.1.3', 'source.js'); -//@ sed(/.*DELETE_THIS_LINE.*\n/, '', 'source.js'); -//@ ``` -//@ -//@ Reads an input string from `file` and performs a JavaScript `replace()` on the input -//@ using the given search regex and replacement string or function. Returns the new string after replacement. -function _sed(options, regex, replacement, file) { - options = common.parseOptions(options, { - 'i': 'inplace' - }); - - if (typeof replacement === 'string' || typeof replacement === 'function') - replacement = replacement; // no-op - else if (typeof replacement === 'number') - replacement = replacement.toString(); // fallback - else - common.error('invalid replacement string'); - - if (!file) - common.error('no file given'); - - if (!fs.existsSync(file)) - common.error('no such file or directory: ' + file); - - var result = fs.readFileSync(file, 'utf8').replace(regex, replacement); - if (options.inplace) - fs.writeFileSync(file, result, 'utf8'); - - return common.ShellString(result); -} -module.exports = _sed; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/tempdir.js b/demo/platforms/android/cordova/node_modules/shelljs/src/tempdir.js deleted file mode 100644 index 45953c2..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/tempdir.js +++ /dev/null @@ -1,56 +0,0 @@ -var common = require('./common'); -var os = require('os'); -var fs = require('fs'); - -// Returns false if 'dir' is not a writeable directory, 'dir' otherwise -function writeableDir(dir) { - if (!dir || !fs.existsSync(dir)) - return false; - - if (!fs.statSync(dir).isDirectory()) - return false; - - var testFile = dir+'/'+common.randomFileName(); - try { - fs.writeFileSync(testFile, ' '); - common.unlinkSync(testFile); - return dir; - } catch (e) { - return false; - } -} - - -//@ -//@ ### tempdir() -//@ -//@ Examples: -//@ -//@ ```javascript -//@ var tmp = tempdir(); // "/tmp" for most *nix platforms -//@ ``` -//@ -//@ Searches and returns string containing a writeable, platform-dependent temporary directory. -//@ Follows Python's [tempfile algorithm](http://docs.python.org/library/tempfile.html#tempfile.tempdir). -function _tempDir() { - var state = common.state; - if (state.tempDir) - return state.tempDir; // from cache - - state.tempDir = writeableDir(os.tempDir && os.tempDir()) || // node 0.8+ - writeableDir(process.env['TMPDIR']) || - writeableDir(process.env['TEMP']) || - writeableDir(process.env['TMP']) || - writeableDir(process.env['Wimp$ScrapDir']) || // RiscOS - writeableDir('C:\\TEMP') || // Windows - writeableDir('C:\\TMP') || // Windows - writeableDir('\\TEMP') || // Windows - writeableDir('\\TMP') || // Windows - writeableDir('/tmp') || - writeableDir('/var/tmp') || - writeableDir('/usr/tmp') || - writeableDir('.'); // last resort - - return state.tempDir; -} -module.exports = _tempDir; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/test.js b/demo/platforms/android/cordova/node_modules/shelljs/src/test.js deleted file mode 100644 index 8a4ac7d..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/test.js +++ /dev/null @@ -1,85 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); - -//@ -//@ ### test(expression) -//@ Available expression primaries: -//@ -//@ + `'-b', 'path'`: true if path is a block device -//@ + `'-c', 'path'`: true if path is a character device -//@ + `'-d', 'path'`: true if path is a directory -//@ + `'-e', 'path'`: true if path exists -//@ + `'-f', 'path'`: true if path is a regular file -//@ + `'-L', 'path'`: true if path is a symboilc link -//@ + `'-p', 'path'`: true if path is a pipe (FIFO) -//@ + `'-S', 'path'`: true if path is a socket -//@ -//@ Examples: -//@ -//@ ```javascript -//@ if (test('-d', path)) { /* do something with dir */ }; -//@ if (!test('-f', path)) continue; // skip if it's a regular file -//@ ``` -//@ -//@ Evaluates expression using the available primaries and returns corresponding value. -function _test(options, path) { - if (!path) - common.error('no path given'); - - // hack - only works with unary primaries - options = common.parseOptions(options, { - 'b': 'block', - 'c': 'character', - 'd': 'directory', - 'e': 'exists', - 'f': 'file', - 'L': 'link', - 'p': 'pipe', - 'S': 'socket' - }); - - var canInterpret = false; - for (var key in options) - if (options[key] === true) { - canInterpret = true; - break; - } - - if (!canInterpret) - common.error('could not interpret expression'); - - if (options.link) { - try { - return fs.lstatSync(path).isSymbolicLink(); - } catch(e) { - return false; - } - } - - if (!fs.existsSync(path)) - return false; - - if (options.exists) - return true; - - var stats = fs.statSync(path); - - if (options.block) - return stats.isBlockDevice(); - - if (options.character) - return stats.isCharacterDevice(); - - if (options.directory) - return stats.isDirectory(); - - if (options.file) - return stats.isFile(); - - if (options.pipe) - return stats.isFIFO(); - - if (options.socket) - return stats.isSocket(); -} // test -module.exports = _test; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/to.js b/demo/platforms/android/cordova/node_modules/shelljs/src/to.js deleted file mode 100644 index f029999..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/to.js +++ /dev/null @@ -1,29 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); -var path = require('path'); - -//@ -//@ ### 'string'.to(file) -//@ -//@ Examples: -//@ -//@ ```javascript -//@ cat('input.txt').to('output.txt'); -//@ ``` -//@ -//@ Analogous to the redirection operator `>` in Unix, but works with JavaScript strings (such as -//@ those returned by `cat`, `grep`, etc). _Like Unix redirections, `to()` will overwrite any existing file!_ -function _to(options, file) { - if (!file) - common.error('wrong arguments'); - - if (!fs.existsSync( path.dirname(file) )) - common.error('no such file or directory: ' + path.dirname(file)); - - try { - fs.writeFileSync(file, this.toString(), 'utf8'); - } catch(e) { - common.error('could not write to file (code '+e.code+'): '+file, true); - } -} -module.exports = _to; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/toEnd.js b/demo/platforms/android/cordova/node_modules/shelljs/src/toEnd.js deleted file mode 100644 index f6d099d..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/toEnd.js +++ /dev/null @@ -1,29 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); -var path = require('path'); - -//@ -//@ ### 'string'.toEnd(file) -//@ -//@ Examples: -//@ -//@ ```javascript -//@ cat('input.txt').toEnd('output.txt'); -//@ ``` -//@ -//@ Analogous to the redirect-and-append operator `>>` in Unix, but works with JavaScript strings (such as -//@ those returned by `cat`, `grep`, etc). -function _toEnd(options, file) { - if (!file) - common.error('wrong arguments'); - - if (!fs.existsSync( path.dirname(file) )) - common.error('no such file or directory: ' + path.dirname(file)); - - try { - fs.appendFileSync(file, this.toString(), 'utf8'); - } catch(e) { - common.error('could not append to file (code '+e.code+'): '+file, true); - } -} -module.exports = _toEnd; diff --git a/demo/platforms/android/cordova/node_modules/shelljs/src/which.js b/demo/platforms/android/cordova/node_modules/shelljs/src/which.js deleted file mode 100644 index 2822ecf..0000000 --- a/demo/platforms/android/cordova/node_modules/shelljs/src/which.js +++ /dev/null @@ -1,83 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); -var path = require('path'); - -// Cross-platform method for splitting environment PATH variables -function splitPath(p) { - for (i=1;i<2;i++) {} - - if (!p) - return []; - - if (common.platform === 'win') - return p.split(';'); - else - return p.split(':'); -} - -function checkPath(path) { - return fs.existsSync(path) && fs.statSync(path).isDirectory() == false; -} - -//@ -//@ ### which(command) -//@ -//@ Examples: -//@ -//@ ```javascript -//@ var nodeExec = which('node'); -//@ ``` -//@ -//@ Searches for `command` in the system's PATH. On Windows looks for `.exe`, `.cmd`, and `.bat` extensions. -//@ Returns string containing the absolute path to the command. -function _which(options, cmd) { - if (!cmd) - common.error('must specify command'); - - var pathEnv = process.env.path || process.env.Path || process.env.PATH, - pathArray = splitPath(pathEnv), - where = null; - - // No relative/absolute paths provided? - if (cmd.search(/\//) === -1) { - // Search for command in PATH - pathArray.forEach(function(dir) { - if (where) - return; // already found it - - var attempt = path.resolve(dir + '/' + cmd); - if (checkPath(attempt)) { - where = attempt; - return; - } - - if (common.platform === 'win') { - var baseAttempt = attempt; - attempt = baseAttempt + '.exe'; - if (checkPath(attempt)) { - where = attempt; - return; - } - attempt = baseAttempt + '.cmd'; - if (checkPath(attempt)) { - where = attempt; - return; - } - attempt = baseAttempt + '.bat'; - if (checkPath(attempt)) { - where = attempt; - return; - } - } // if 'win' - }); - } - - // Command not found anywhere? - if (!checkPath(cmd) && !where) - return null; - - where = where || path.resolve(cmd); - - return common.ShellString(where); -} -module.exports = _which; diff --git a/demo/platforms/android/cordova/node_modules/underscore/LICENSE b/demo/platforms/android/cordova/node_modules/underscore/LICENSE deleted file mode 100644 index ad0e71b..0000000 --- a/demo/platforms/android/cordova/node_modules/underscore/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative -Reporters & Editors - -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/demo/platforms/android/cordova/node_modules/underscore/README.md b/demo/platforms/android/cordova/node_modules/underscore/README.md deleted file mode 100644 index c2ba259..0000000 --- a/demo/platforms/android/cordova/node_modules/underscore/README.md +++ /dev/null @@ -1,22 +0,0 @@ - __ - /\ \ __ - __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____ - /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\ - \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\ - \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/ - \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/ - \ \____/ - \/___/ - -Underscore.js is a utility-belt library for JavaScript that provides -support for the usual functional suspects (each, map, reduce, filter...) -without extending any core JavaScript objects. - -For Docs, License, Tests, and pre-packed downloads, see: -http://underscorejs.org - -Underscore is an open-sourced component of DocumentCloud: -https://github.com/documentcloud - -Many thanks to our contributors: -https://github.com/jashkenas/underscore/contributors diff --git a/demo/platforms/android/cordova/node_modules/underscore/package.json b/demo/platforms/android/cordova/node_modules/underscore/package.json deleted file mode 100644 index 2852a9e..0000000 --- a/demo/platforms/android/cordova/node_modules/underscore/package.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "underscore@^1.8.3", - "scope": null, - "escapedName": "underscore", - "name": "underscore", - "rawSpec": "^1.8.3", - "spec": ">=1.8.3 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common" - ] - ], - "_from": "underscore@>=1.8.3 <2.0.0", - "_id": "underscore@1.8.3", - "_inCache": true, - "_location": "/cordova-android/underscore", - "_npmUser": { - "name": "jashkenas", - "email": "jashkenas@gmail.com" - }, - "_npmVersion": "1.4.28", - "_phantomChildren": {}, - "_requested": { - "raw": "underscore@^1.8.3", - "scope": null, - "escapedName": "underscore", - "name": "underscore", - "rawSpec": "^1.8.3", - "spec": ">=1.8.3 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", - "_shrinkwrap": null, - "_spec": "underscore@^1.8.3", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common", - "author": { - "name": "Jeremy Ashkenas", - "email": "jeremy@documentcloud.org" - }, - "bugs": { - "url": "https://github.com/jashkenas/underscore/issues" - }, - "dependencies": {}, - "description": "JavaScript's functional programming helper library.", - "devDependencies": { - "docco": "*", - "eslint": "0.6.x", - "karma": "~0.12.31", - "karma-qunit": "~0.1.4", - "qunit-cli": "~0.2.0", - "uglify-js": "2.4.x" - }, - "directories": {}, - "dist": { - "shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", - "tarball": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz" - }, - "files": [ - "underscore.js", - "underscore-min.js", - "underscore-min.map", - "LICENSE" - ], - "gitHead": "e4743ab712b8ab42ad4ccb48b155034d02394e4d", - "homepage": "http://underscorejs.org", - "keywords": [ - "util", - "functional", - "server", - "client", - "browser" - ], - "license": "MIT", - "main": "underscore.js", - "maintainers": [ - { - "name": "jashkenas", - "email": "jashkenas@gmail.com" - } - ], - "name": "underscore", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/jashkenas/underscore.git" - }, - "scripts": { - "build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js", - "doc": "docco underscore.js", - "lint": "eslint underscore.js test/*.js", - "test": "npm run test-node && npm run lint", - "test-browser": "npm i karma-phantomjs-launcher && ./node_modules/karma/bin/karma start", - "test-node": "qunit-cli test/*.js" - }, - "version": "1.8.3" -} diff --git a/demo/platforms/android/cordova/node_modules/underscore/underscore-min.js b/demo/platforms/android/cordova/node_modules/underscore/underscore-min.js deleted file mode 100644 index f01025b..0000000 --- a/demo/platforms/android/cordova/node_modules/underscore/underscore-min.js +++ /dev/null @@ -1,6 +0,0 @@ -// Underscore.js 1.8.3 -// http://underscorejs.org -// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -// Underscore may be freely distributed under the MIT license. -(function(){function n(n){function t(t,r,e,u,i,o){for(;i>=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a=O(e);if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype,c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f=o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t];return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n):k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length-t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n,function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this,r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+(t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o),o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[];if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n,t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n,t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f=l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined=function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0:n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source=i,a}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this); -//# sourceMappingURL=underscore-min.map \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/underscore/underscore-min.map b/demo/platforms/android/cordova/node_modules/underscore/underscore-min.map deleted file mode 100644 index cf356bf..0000000 --- a/demo/platforms/android/cordova/node_modules/underscore/underscore-min.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"underscore-min.js","sources":["underscore.js"],"names":["createReduce","dir","iterator","obj","iteratee","memo","keys","index","length","currentKey","context","optimizeCb","isArrayLike","_","arguments","createPredicateIndexFinder","array","predicate","cb","getLength","createIndexFinder","predicateFind","sortedIndex","item","idx","i","Math","max","min","slice","call","isNaN","collectNonEnumProps","nonEnumIdx","nonEnumerableProps","constructor","proto","isFunction","prototype","ObjProto","prop","has","contains","push","root","this","previousUnderscore","ArrayProto","Array","Object","FuncProto","Function","toString","hasOwnProperty","nativeIsArray","isArray","nativeKeys","nativeBind","bind","nativeCreate","create","Ctor","_wrapped","exports","module","VERSION","func","argCount","value","other","collection","accumulator","apply","identity","isObject","matcher","property","Infinity","createAssigner","keysFunc","undefinedOnly","source","l","key","baseCreate","result","MAX_ARRAY_INDEX","pow","each","forEach","map","collect","results","reduce","foldl","inject","reduceRight","foldr","find","detect","findIndex","findKey","filter","select","list","reject","negate","every","all","some","any","includes","include","fromIndex","guard","values","indexOf","invoke","method","args","isFunc","pluck","where","attrs","findWhere","computed","lastComputed","shuffle","rand","set","shuffled","random","sample","n","sortBy","criteria","sort","left","right","a","b","group","behavior","groupBy","indexBy","countBy","toArray","size","partition","pass","fail","first","head","take","initial","last","rest","tail","drop","compact","flatten","input","shallow","strict","startIndex","output","isArguments","j","len","without","difference","uniq","unique","isSorted","isBoolean","seen","union","intersection","argsLength","zip","unzip","object","findLastIndex","low","high","mid","floor","lastIndexOf","range","start","stop","step","ceil","executeBound","sourceFunc","boundFunc","callingContext","self","TypeError","bound","concat","partial","boundArgs","position","bindAll","Error","memoize","hasher","cache","address","delay","wait","setTimeout","defer","throttle","options","timeout","previous","later","leading","now","remaining","clearTimeout","trailing","debounce","immediate","timestamp","callNow","wrap","wrapper","compose","after","times","before","once","hasEnumBug","propertyIsEnumerable","allKeys","mapObject","pairs","invert","functions","methods","names","extend","extendOwn","assign","pick","oiteratee","omit","String","defaults","props","clone","tap","interceptor","isMatch","eq","aStack","bStack","className","areArrays","aCtor","bCtor","pop","isEqual","isEmpty","isString","isElement","nodeType","type","name","Int8Array","isFinite","parseFloat","isNumber","isNull","isUndefined","noConflict","constant","noop","propertyOf","matches","accum","Date","getTime","escapeMap","&","<",">","\"","'","`","unescapeMap","createEscaper","escaper","match","join","testRegexp","RegExp","replaceRegexp","string","test","replace","escape","unescape","fallback","idCounter","uniqueId","prefix","id","templateSettings","evaluate","interpolate","noMatch","escapes","\\","\r","\n","
","
","escapeChar","template","text","settings","oldSettings","offset","variable","render","e","data","argument","chain","instance","_chain","mixin","valueOf","toJSON","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/underscore/underscore.js b/demo/platforms/android/cordova/node_modules/underscore/underscore.js deleted file mode 100644 index b29332f..0000000 --- a/demo/platforms/android/cordova/node_modules/underscore/underscore.js +++ /dev/null @@ -1,1548 +0,0 @@ -// Underscore.js 1.8.3 -// http://underscorejs.org -// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -// Underscore may be freely distributed under the MIT license. - -(function() { - - // Baseline setup - // -------------- - - // Establish the root object, `window` in the browser, or `exports` on the server. - var root = this; - - // Save the previous value of the `_` variable. - var previousUnderscore = root._; - - // Save bytes in the minified (but not gzipped) version: - var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; - - // Create quick reference variables for speed access to core prototypes. - var - push = ArrayProto.push, - slice = ArrayProto.slice, - toString = ObjProto.toString, - hasOwnProperty = ObjProto.hasOwnProperty; - - // All **ECMAScript 5** native function implementations that we hope to use - // are declared here. - var - nativeIsArray = Array.isArray, - nativeKeys = Object.keys, - nativeBind = FuncProto.bind, - nativeCreate = Object.create; - - // Naked function reference for surrogate-prototype-swapping. - var Ctor = function(){}; - - // Create a safe reference to the Underscore object for use below. - var _ = function(obj) { - if (obj instanceof _) return obj; - if (!(this instanceof _)) return new _(obj); - this._wrapped = obj; - }; - - // Export the Underscore object for **Node.js**, with - // backwards-compatibility for the old `require()` API. If we're in - // the browser, add `_` as a global object. - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = _; - } - exports._ = _; - } else { - root._ = _; - } - - // Current version. - _.VERSION = '1.8.3'; - - // Internal function that returns an efficient (for current engines) version - // of the passed-in callback, to be repeatedly applied in other Underscore - // functions. - var optimizeCb = function(func, context, argCount) { - if (context === void 0) return func; - switch (argCount == null ? 3 : argCount) { - case 1: return function(value) { - return func.call(context, value); - }; - case 2: return function(value, other) { - return func.call(context, value, other); - }; - case 3: return function(value, index, collection) { - return func.call(context, value, index, collection); - }; - case 4: return function(accumulator, value, index, collection) { - return func.call(context, accumulator, value, index, collection); - }; - } - return function() { - return func.apply(context, arguments); - }; - }; - - // A mostly-internal function to generate callbacks that can be applied - // to each element in a collection, returning the desired result — either - // identity, an arbitrary callback, a property matcher, or a property accessor. - var cb = function(value, context, argCount) { - if (value == null) return _.identity; - if (_.isFunction(value)) return optimizeCb(value, context, argCount); - if (_.isObject(value)) return _.matcher(value); - return _.property(value); - }; - _.iteratee = function(value, context) { - return cb(value, context, Infinity); - }; - - // An internal function for creating assigner functions. - var createAssigner = function(keysFunc, undefinedOnly) { - return function(obj) { - var length = arguments.length; - if (length < 2 || obj == null) return obj; - for (var index = 1; index < length; index++) { - var source = arguments[index], - keys = keysFunc(source), - l = keys.length; - for (var i = 0; i < l; i++) { - var key = keys[i]; - if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key]; - } - } - return obj; - }; - }; - - // An internal function for creating a new object that inherits from another. - var baseCreate = function(prototype) { - if (!_.isObject(prototype)) return {}; - if (nativeCreate) return nativeCreate(prototype); - Ctor.prototype = prototype; - var result = new Ctor; - Ctor.prototype = null; - return result; - }; - - var property = function(key) { - return function(obj) { - return obj == null ? void 0 : obj[key]; - }; - }; - - // Helper for collection methods to determine whether a collection - // should be iterated as an array or as an object - // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength - // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 - var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; - var getLength = property('length'); - var isArrayLike = function(collection) { - var length = getLength(collection); - return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX; - }; - - // Collection Functions - // -------------------- - - // The cornerstone, an `each` implementation, aka `forEach`. - // Handles raw objects in addition to array-likes. Treats all - // sparse array-likes as if they were dense. - _.each = _.forEach = function(obj, iteratee, context) { - iteratee = optimizeCb(iteratee, context); - var i, length; - if (isArrayLike(obj)) { - for (i = 0, length = obj.length; i < length; i++) { - iteratee(obj[i], i, obj); - } - } else { - var keys = _.keys(obj); - for (i = 0, length = keys.length; i < length; i++) { - iteratee(obj[keys[i]], keys[i], obj); - } - } - return obj; - }; - - // Return the results of applying the iteratee to each element. - _.map = _.collect = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length, - results = Array(length); - for (var index = 0; index < length; index++) { - var currentKey = keys ? keys[index] : index; - results[index] = iteratee(obj[currentKey], currentKey, obj); - } - return results; - }; - - // Create a reducing function iterating left or right. - function createReduce(dir) { - // Optimized iterator function as using arguments.length - // in the main function will deoptimize the, see #1991. - function iterator(obj, iteratee, memo, keys, index, length) { - for (; index >= 0 && index < length; index += dir) { - var currentKey = keys ? keys[index] : index; - memo = iteratee(memo, obj[currentKey], currentKey, obj); - } - return memo; - } - - return function(obj, iteratee, memo, context) { - iteratee = optimizeCb(iteratee, context, 4); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length, - index = dir > 0 ? 0 : length - 1; - // Determine the initial value if none is provided. - if (arguments.length < 3) { - memo = obj[keys ? keys[index] : index]; - index += dir; - } - return iterator(obj, iteratee, memo, keys, index, length); - }; - } - - // **Reduce** builds up a single result from a list of values, aka `inject`, - // or `foldl`. - _.reduce = _.foldl = _.inject = createReduce(1); - - // The right-associative version of reduce, also known as `foldr`. - _.reduceRight = _.foldr = createReduce(-1); - - // Return the first value which passes a truth test. Aliased as `detect`. - _.find = _.detect = function(obj, predicate, context) { - var key; - if (isArrayLike(obj)) { - key = _.findIndex(obj, predicate, context); - } else { - key = _.findKey(obj, predicate, context); - } - if (key !== void 0 && key !== -1) return obj[key]; - }; - - // Return all the elements that pass a truth test. - // Aliased as `select`. - _.filter = _.select = function(obj, predicate, context) { - var results = []; - predicate = cb(predicate, context); - _.each(obj, function(value, index, list) { - if (predicate(value, index, list)) results.push(value); - }); - return results; - }; - - // Return all the elements for which a truth test fails. - _.reject = function(obj, predicate, context) { - return _.filter(obj, _.negate(cb(predicate)), context); - }; - - // Determine whether all of the elements match a truth test. - // Aliased as `all`. - _.every = _.all = function(obj, predicate, context) { - predicate = cb(predicate, context); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length; - for (var index = 0; index < length; index++) { - var currentKey = keys ? keys[index] : index; - if (!predicate(obj[currentKey], currentKey, obj)) return false; - } - return true; - }; - - // Determine if at least one element in the object matches a truth test. - // Aliased as `any`. - _.some = _.any = function(obj, predicate, context) { - predicate = cb(predicate, context); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length; - for (var index = 0; index < length; index++) { - var currentKey = keys ? keys[index] : index; - if (predicate(obj[currentKey], currentKey, obj)) return true; - } - return false; - }; - - // Determine if the array or object contains a given item (using `===`). - // Aliased as `includes` and `include`. - _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) { - if (!isArrayLike(obj)) obj = _.values(obj); - if (typeof fromIndex != 'number' || guard) fromIndex = 0; - return _.indexOf(obj, item, fromIndex) >= 0; - }; - - // Invoke a method (with arguments) on every item in a collection. - _.invoke = function(obj, method) { - var args = slice.call(arguments, 2); - var isFunc = _.isFunction(method); - return _.map(obj, function(value) { - var func = isFunc ? method : value[method]; - return func == null ? func : func.apply(value, args); - }); - }; - - // Convenience version of a common use case of `map`: fetching a property. - _.pluck = function(obj, key) { - return _.map(obj, _.property(key)); - }; - - // Convenience version of a common use case of `filter`: selecting only objects - // containing specific `key:value` pairs. - _.where = function(obj, attrs) { - return _.filter(obj, _.matcher(attrs)); - }; - - // Convenience version of a common use case of `find`: getting the first object - // containing specific `key:value` pairs. - _.findWhere = function(obj, attrs) { - return _.find(obj, _.matcher(attrs)); - }; - - // Return the maximum element (or element-based computation). - _.max = function(obj, iteratee, context) { - var result = -Infinity, lastComputed = -Infinity, - value, computed; - if (iteratee == null && obj != null) { - obj = isArrayLike(obj) ? obj : _.values(obj); - for (var i = 0, length = obj.length; i < length; i++) { - value = obj[i]; - if (value > result) { - result = value; - } - } - } else { - iteratee = cb(iteratee, context); - _.each(obj, function(value, index, list) { - computed = iteratee(value, index, list); - if (computed > lastComputed || computed === -Infinity && result === -Infinity) { - result = value; - lastComputed = computed; - } - }); - } - return result; - }; - - // Return the minimum element (or element-based computation). - _.min = function(obj, iteratee, context) { - var result = Infinity, lastComputed = Infinity, - value, computed; - if (iteratee == null && obj != null) { - obj = isArrayLike(obj) ? obj : _.values(obj); - for (var i = 0, length = obj.length; i < length; i++) { - value = obj[i]; - if (value < result) { - result = value; - } - } - } else { - iteratee = cb(iteratee, context); - _.each(obj, function(value, index, list) { - computed = iteratee(value, index, list); - if (computed < lastComputed || computed === Infinity && result === Infinity) { - result = value; - lastComputed = computed; - } - }); - } - return result; - }; - - // Shuffle a collection, using the modern version of the - // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle). - _.shuffle = function(obj) { - var set = isArrayLike(obj) ? obj : _.values(obj); - var length = set.length; - var shuffled = Array(length); - for (var index = 0, rand; index < length; index++) { - rand = _.random(0, index); - if (rand !== index) shuffled[index] = shuffled[rand]; - shuffled[rand] = set[index]; - } - return shuffled; - }; - - // Sample **n** random values from a collection. - // If **n** is not specified, returns a single random element. - // The internal `guard` argument allows it to work with `map`. - _.sample = function(obj, n, guard) { - if (n == null || guard) { - if (!isArrayLike(obj)) obj = _.values(obj); - return obj[_.random(obj.length - 1)]; - } - return _.shuffle(obj).slice(0, Math.max(0, n)); - }; - - // Sort the object's values by a criterion produced by an iteratee. - _.sortBy = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - return _.pluck(_.map(obj, function(value, index, list) { - return { - value: value, - index: index, - criteria: iteratee(value, index, list) - }; - }).sort(function(left, right) { - var a = left.criteria; - var b = right.criteria; - if (a !== b) { - if (a > b || a === void 0) return 1; - if (a < b || b === void 0) return -1; - } - return left.index - right.index; - }), 'value'); - }; - - // An internal function used for aggregate "group by" operations. - var group = function(behavior) { - return function(obj, iteratee, context) { - var result = {}; - iteratee = cb(iteratee, context); - _.each(obj, function(value, index) { - var key = iteratee(value, index, obj); - behavior(result, value, key); - }); - return result; - }; - }; - - // Groups the object's values by a criterion. Pass either a string attribute - // to group by, or a function that returns the criterion. - _.groupBy = group(function(result, value, key) { - if (_.has(result, key)) result[key].push(value); else result[key] = [value]; - }); - - // Indexes the object's values by a criterion, similar to `groupBy`, but for - // when you know that your index values will be unique. - _.indexBy = group(function(result, value, key) { - result[key] = value; - }); - - // Counts instances of an object that group by a certain criterion. Pass - // either a string attribute to count by, or a function that returns the - // criterion. - _.countBy = group(function(result, value, key) { - if (_.has(result, key)) result[key]++; else result[key] = 1; - }); - - // Safely create a real, live array from anything iterable. - _.toArray = function(obj) { - if (!obj) return []; - if (_.isArray(obj)) return slice.call(obj); - if (isArrayLike(obj)) return _.map(obj, _.identity); - return _.values(obj); - }; - - // Return the number of elements in an object. - _.size = function(obj) { - if (obj == null) return 0; - return isArrayLike(obj) ? obj.length : _.keys(obj).length; - }; - - // Split a collection into two arrays: one whose elements all satisfy the given - // predicate, and one whose elements all do not satisfy the predicate. - _.partition = function(obj, predicate, context) { - predicate = cb(predicate, context); - var pass = [], fail = []; - _.each(obj, function(value, key, obj) { - (predicate(value, key, obj) ? pass : fail).push(value); - }); - return [pass, fail]; - }; - - // Array Functions - // --------------- - - // Get the first element of an array. Passing **n** will return the first N - // values in the array. Aliased as `head` and `take`. The **guard** check - // allows it to work with `_.map`. - _.first = _.head = _.take = function(array, n, guard) { - if (array == null) return void 0; - if (n == null || guard) return array[0]; - return _.initial(array, array.length - n); - }; - - // Returns everything but the last entry of the array. Especially useful on - // the arguments object. Passing **n** will return all the values in - // the array, excluding the last N. - _.initial = function(array, n, guard) { - return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); - }; - - // Get the last element of an array. Passing **n** will return the last N - // values in the array. - _.last = function(array, n, guard) { - if (array == null) return void 0; - if (n == null || guard) return array[array.length - 1]; - return _.rest(array, Math.max(0, array.length - n)); - }; - - // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. - // Especially useful on the arguments object. Passing an **n** will return - // the rest N values in the array. - _.rest = _.tail = _.drop = function(array, n, guard) { - return slice.call(array, n == null || guard ? 1 : n); - }; - - // Trim out all falsy values from an array. - _.compact = function(array) { - return _.filter(array, _.identity); - }; - - // Internal implementation of a recursive `flatten` function. - var flatten = function(input, shallow, strict, startIndex) { - var output = [], idx = 0; - for (var i = startIndex || 0, length = getLength(input); i < length; i++) { - var value = input[i]; - if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) { - //flatten current level of array or arguments object - if (!shallow) value = flatten(value, shallow, strict); - var j = 0, len = value.length; - output.length += len; - while (j < len) { - output[idx++] = value[j++]; - } - } else if (!strict) { - output[idx++] = value; - } - } - return output; - }; - - // Flatten out an array, either recursively (by default), or just one level. - _.flatten = function(array, shallow) { - return flatten(array, shallow, false); - }; - - // Return a version of the array that does not contain the specified value(s). - _.without = function(array) { - return _.difference(array, slice.call(arguments, 1)); - }; - - // Produce a duplicate-free version of the array. If the array has already - // been sorted, you have the option of using a faster algorithm. - // Aliased as `unique`. - _.uniq = _.unique = function(array, isSorted, iteratee, context) { - if (!_.isBoolean(isSorted)) { - context = iteratee; - iteratee = isSorted; - isSorted = false; - } - if (iteratee != null) iteratee = cb(iteratee, context); - var result = []; - var seen = []; - for (var i = 0, length = getLength(array); i < length; i++) { - var value = array[i], - computed = iteratee ? iteratee(value, i, array) : value; - if (isSorted) { - if (!i || seen !== computed) result.push(value); - seen = computed; - } else if (iteratee) { - if (!_.contains(seen, computed)) { - seen.push(computed); - result.push(value); - } - } else if (!_.contains(result, value)) { - result.push(value); - } - } - return result; - }; - - // Produce an array that contains the union: each distinct element from all of - // the passed-in arrays. - _.union = function() { - return _.uniq(flatten(arguments, true, true)); - }; - - // Produce an array that contains every item shared between all the - // passed-in arrays. - _.intersection = function(array) { - var result = []; - var argsLength = arguments.length; - for (var i = 0, length = getLength(array); i < length; i++) { - var item = array[i]; - if (_.contains(result, item)) continue; - for (var j = 1; j < argsLength; j++) { - if (!_.contains(arguments[j], item)) break; - } - if (j === argsLength) result.push(item); - } - return result; - }; - - // Take the difference between one array and a number of other arrays. - // Only the elements present in just the first array will remain. - _.difference = function(array) { - var rest = flatten(arguments, true, true, 1); - return _.filter(array, function(value){ - return !_.contains(rest, value); - }); - }; - - // Zip together multiple lists into a single array -- elements that share - // an index go together. - _.zip = function() { - return _.unzip(arguments); - }; - - // Complement of _.zip. Unzip accepts an array of arrays and groups - // each array's elements on shared indices - _.unzip = function(array) { - var length = array && _.max(array, getLength).length || 0; - var result = Array(length); - - for (var index = 0; index < length; index++) { - result[index] = _.pluck(array, index); - } - return result; - }; - - // Converts lists into objects. Pass either a single array of `[key, value]` - // pairs, or two parallel arrays of the same length -- one of keys, and one of - // the corresponding values. - _.object = function(list, values) { - var result = {}; - for (var i = 0, length = getLength(list); i < length; i++) { - if (values) { - result[list[i]] = values[i]; - } else { - result[list[i][0]] = list[i][1]; - } - } - return result; - }; - - // Generator function to create the findIndex and findLastIndex functions - function createPredicateIndexFinder(dir) { - return function(array, predicate, context) { - predicate = cb(predicate, context); - var length = getLength(array); - var index = dir > 0 ? 0 : length - 1; - for (; index >= 0 && index < length; index += dir) { - if (predicate(array[index], index, array)) return index; - } - return -1; - }; - } - - // Returns the first index on an array-like that passes a predicate test - _.findIndex = createPredicateIndexFinder(1); - _.findLastIndex = createPredicateIndexFinder(-1); - - // Use a comparator function to figure out the smallest index at which - // an object should be inserted so as to maintain order. Uses binary search. - _.sortedIndex = function(array, obj, iteratee, context) { - iteratee = cb(iteratee, context, 1); - var value = iteratee(obj); - var low = 0, high = getLength(array); - while (low < high) { - var mid = Math.floor((low + high) / 2); - if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; - } - return low; - }; - - // Generator function to create the indexOf and lastIndexOf functions - function createIndexFinder(dir, predicateFind, sortedIndex) { - return function(array, item, idx) { - var i = 0, length = getLength(array); - if (typeof idx == 'number') { - if (dir > 0) { - i = idx >= 0 ? idx : Math.max(idx + length, i); - } else { - length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; - } - } else if (sortedIndex && idx && length) { - idx = sortedIndex(array, item); - return array[idx] === item ? idx : -1; - } - if (item !== item) { - idx = predicateFind(slice.call(array, i, length), _.isNaN); - return idx >= 0 ? idx + i : -1; - } - for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { - if (array[idx] === item) return idx; - } - return -1; - }; - } - - // Return the position of the first occurrence of an item in an array, - // or -1 if the item is not included in the array. - // If the array is large and already in sort order, pass `true` - // for **isSorted** to use binary search. - _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex); - _.lastIndexOf = createIndexFinder(-1, _.findLastIndex); - - // Generate an integer Array containing an arithmetic progression. A port of - // the native Python `range()` function. See - // [the Python documentation](http://docs.python.org/library/functions.html#range). - _.range = function(start, stop, step) { - if (stop == null) { - stop = start || 0; - start = 0; - } - step = step || 1; - - var length = Math.max(Math.ceil((stop - start) / step), 0); - var range = Array(length); - - for (var idx = 0; idx < length; idx++, start += step) { - range[idx] = start; - } - - return range; - }; - - // Function (ahem) Functions - // ------------------ - - // Determines whether to execute a function as a constructor - // or a normal function with the provided arguments - var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) { - if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); - var self = baseCreate(sourceFunc.prototype); - var result = sourceFunc.apply(self, args); - if (_.isObject(result)) return result; - return self; - }; - - // Create a function bound to a given object (assigning `this`, and arguments, - // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if - // available. - _.bind = function(func, context) { - if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); - if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function'); - var args = slice.call(arguments, 2); - var bound = function() { - return executeBound(func, bound, context, this, args.concat(slice.call(arguments))); - }; - return bound; - }; - - // Partially apply a function by creating a version that has had some of its - // arguments pre-filled, without changing its dynamic `this` context. _ acts - // as a placeholder, allowing any combination of arguments to be pre-filled. - _.partial = function(func) { - var boundArgs = slice.call(arguments, 1); - var bound = function() { - var position = 0, length = boundArgs.length; - var args = Array(length); - for (var i = 0; i < length; i++) { - args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i]; - } - while (position < arguments.length) args.push(arguments[position++]); - return executeBound(func, bound, this, this, args); - }; - return bound; - }; - - // Bind a number of an object's methods to that object. Remaining arguments - // are the method names to be bound. Useful for ensuring that all callbacks - // defined on an object belong to it. - _.bindAll = function(obj) { - var i, length = arguments.length, key; - if (length <= 1) throw new Error('bindAll must be passed function names'); - for (i = 1; i < length; i++) { - key = arguments[i]; - obj[key] = _.bind(obj[key], obj); - } - return obj; - }; - - // Memoize an expensive function by storing its results. - _.memoize = function(func, hasher) { - var memoize = function(key) { - var cache = memoize.cache; - var address = '' + (hasher ? hasher.apply(this, arguments) : key); - if (!_.has(cache, address)) cache[address] = func.apply(this, arguments); - return cache[address]; - }; - memoize.cache = {}; - return memoize; - }; - - // Delays a function for the given number of milliseconds, and then calls - // it with the arguments supplied. - _.delay = function(func, wait) { - var args = slice.call(arguments, 2); - return setTimeout(function(){ - return func.apply(null, args); - }, wait); - }; - - // Defers a function, scheduling it to run after the current call stack has - // cleared. - _.defer = _.partial(_.delay, _, 1); - - // Returns a function, that, when invoked, will only be triggered at most once - // during a given window of time. Normally, the throttled function will run - // as much as it can, without ever going more than once per `wait` duration; - // but if you'd like to disable the execution on the leading edge, pass - // `{leading: false}`. To disable execution on the trailing edge, ditto. - _.throttle = function(func, wait, options) { - var context, args, result; - var timeout = null; - var previous = 0; - if (!options) options = {}; - var later = function() { - previous = options.leading === false ? 0 : _.now(); - timeout = null; - result = func.apply(context, args); - if (!timeout) context = args = null; - }; - return function() { - var now = _.now(); - if (!previous && options.leading === false) previous = now; - var remaining = wait - (now - previous); - context = this; - args = arguments; - if (remaining <= 0 || remaining > wait) { - if (timeout) { - clearTimeout(timeout); - timeout = null; - } - previous = now; - result = func.apply(context, args); - if (!timeout) context = args = null; - } else if (!timeout && options.trailing !== false) { - timeout = setTimeout(later, remaining); - } - return result; - }; - }; - - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. If `immediate` is passed, trigger the function on the - // leading edge, instead of the trailing. - _.debounce = function(func, wait, immediate) { - var timeout, args, context, timestamp, result; - - var later = function() { - var last = _.now() - timestamp; - - if (last < wait && last >= 0) { - timeout = setTimeout(later, wait - last); - } else { - timeout = null; - if (!immediate) { - result = func.apply(context, args); - if (!timeout) context = args = null; - } - } - }; - - return function() { - context = this; - args = arguments; - timestamp = _.now(); - var callNow = immediate && !timeout; - if (!timeout) timeout = setTimeout(later, wait); - if (callNow) { - result = func.apply(context, args); - context = args = null; - } - - return result; - }; - }; - - // Returns the first function passed as an argument to the second, - // allowing you to adjust arguments, run code before and after, and - // conditionally execute the original function. - _.wrap = function(func, wrapper) { - return _.partial(wrapper, func); - }; - - // Returns a negated version of the passed-in predicate. - _.negate = function(predicate) { - return function() { - return !predicate.apply(this, arguments); - }; - }; - - // Returns a function that is the composition of a list of functions, each - // consuming the return value of the function that follows. - _.compose = function() { - var args = arguments; - var start = args.length - 1; - return function() { - var i = start; - var result = args[start].apply(this, arguments); - while (i--) result = args[i].call(this, result); - return result; - }; - }; - - // Returns a function that will only be executed on and after the Nth call. - _.after = function(times, func) { - return function() { - if (--times < 1) { - return func.apply(this, arguments); - } - }; - }; - - // Returns a function that will only be executed up to (but not including) the Nth call. - _.before = function(times, func) { - var memo; - return function() { - if (--times > 0) { - memo = func.apply(this, arguments); - } - if (times <= 1) func = null; - return memo; - }; - }; - - // Returns a function that will be executed at most one time, no matter how - // often you call it. Useful for lazy initialization. - _.once = _.partial(_.before, 2); - - // Object Functions - // ---------------- - - // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. - var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); - var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', - 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; - - function collectNonEnumProps(obj, keys) { - var nonEnumIdx = nonEnumerableProps.length; - var constructor = obj.constructor; - var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto; - - // Constructor is a special case. - var prop = 'constructor'; - if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop); - - while (nonEnumIdx--) { - prop = nonEnumerableProps[nonEnumIdx]; - if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) { - keys.push(prop); - } - } - } - - // Retrieve the names of an object's own properties. - // Delegates to **ECMAScript 5**'s native `Object.keys` - _.keys = function(obj) { - if (!_.isObject(obj)) return []; - if (nativeKeys) return nativeKeys(obj); - var keys = []; - for (var key in obj) if (_.has(obj, key)) keys.push(key); - // Ahem, IE < 9. - if (hasEnumBug) collectNonEnumProps(obj, keys); - return keys; - }; - - // Retrieve all the property names of an object. - _.allKeys = function(obj) { - if (!_.isObject(obj)) return []; - var keys = []; - for (var key in obj) keys.push(key); - // Ahem, IE < 9. - if (hasEnumBug) collectNonEnumProps(obj, keys); - return keys; - }; - - // Retrieve the values of an object's properties. - _.values = function(obj) { - var keys = _.keys(obj); - var length = keys.length; - var values = Array(length); - for (var i = 0; i < length; i++) { - values[i] = obj[keys[i]]; - } - return values; - }; - - // Returns the results of applying the iteratee to each element of the object - // In contrast to _.map it returns an object - _.mapObject = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - var keys = _.keys(obj), - length = keys.length, - results = {}, - currentKey; - for (var index = 0; index < length; index++) { - currentKey = keys[index]; - results[currentKey] = iteratee(obj[currentKey], currentKey, obj); - } - return results; - }; - - // Convert an object into a list of `[key, value]` pairs. - _.pairs = function(obj) { - var keys = _.keys(obj); - var length = keys.length; - var pairs = Array(length); - for (var i = 0; i < length; i++) { - pairs[i] = [keys[i], obj[keys[i]]]; - } - return pairs; - }; - - // Invert the keys and values of an object. The values must be serializable. - _.invert = function(obj) { - var result = {}; - var keys = _.keys(obj); - for (var i = 0, length = keys.length; i < length; i++) { - result[obj[keys[i]]] = keys[i]; - } - return result; - }; - - // Return a sorted list of the function names available on the object. - // Aliased as `methods` - _.functions = _.methods = function(obj) { - var names = []; - for (var key in obj) { - if (_.isFunction(obj[key])) names.push(key); - } - return names.sort(); - }; - - // Extend a given object with all the properties in passed-in object(s). - _.extend = createAssigner(_.allKeys); - - // Assigns a given object with all the own properties in the passed-in object(s) - // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) - _.extendOwn = _.assign = createAssigner(_.keys); - - // Returns the first key on an object that passes a predicate test - _.findKey = function(obj, predicate, context) { - predicate = cb(predicate, context); - var keys = _.keys(obj), key; - for (var i = 0, length = keys.length; i < length; i++) { - key = keys[i]; - if (predicate(obj[key], key, obj)) return key; - } - }; - - // Return a copy of the object only containing the whitelisted properties. - _.pick = function(object, oiteratee, context) { - var result = {}, obj = object, iteratee, keys; - if (obj == null) return result; - if (_.isFunction(oiteratee)) { - keys = _.allKeys(obj); - iteratee = optimizeCb(oiteratee, context); - } else { - keys = flatten(arguments, false, false, 1); - iteratee = function(value, key, obj) { return key in obj; }; - obj = Object(obj); - } - for (var i = 0, length = keys.length; i < length; i++) { - var key = keys[i]; - var value = obj[key]; - if (iteratee(value, key, obj)) result[key] = value; - } - return result; - }; - - // Return a copy of the object without the blacklisted properties. - _.omit = function(obj, iteratee, context) { - if (_.isFunction(iteratee)) { - iteratee = _.negate(iteratee); - } else { - var keys = _.map(flatten(arguments, false, false, 1), String); - iteratee = function(value, key) { - return !_.contains(keys, key); - }; - } - return _.pick(obj, iteratee, context); - }; - - // Fill in a given object with default properties. - _.defaults = createAssigner(_.allKeys, true); - - // Creates an object that inherits from the given prototype object. - // If additional properties are provided then they will be added to the - // created object. - _.create = function(prototype, props) { - var result = baseCreate(prototype); - if (props) _.extendOwn(result, props); - return result; - }; - - // Create a (shallow-cloned) duplicate of an object. - _.clone = function(obj) { - if (!_.isObject(obj)) return obj; - return _.isArray(obj) ? obj.slice() : _.extend({}, obj); - }; - - // Invokes interceptor with the obj, and then returns obj. - // The primary purpose of this method is to "tap into" a method chain, in - // order to perform operations on intermediate results within the chain. - _.tap = function(obj, interceptor) { - interceptor(obj); - return obj; - }; - - // Returns whether an object has a given set of `key:value` pairs. - _.isMatch = function(object, attrs) { - var keys = _.keys(attrs), length = keys.length; - if (object == null) return !length; - var obj = Object(object); - for (var i = 0; i < length; i++) { - var key = keys[i]; - if (attrs[key] !== obj[key] || !(key in obj)) return false; - } - return true; - }; - - - // Internal recursive comparison function for `isEqual`. - var eq = function(a, b, aStack, bStack) { - // Identical objects are equal. `0 === -0`, but they aren't identical. - // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). - if (a === b) return a !== 0 || 1 / a === 1 / b; - // A strict comparison is necessary because `null == undefined`. - if (a == null || b == null) return a === b; - // Unwrap any wrapped objects. - if (a instanceof _) a = a._wrapped; - if (b instanceof _) b = b._wrapped; - // Compare `[[Class]]` names. - var className = toString.call(a); - if (className !== toString.call(b)) return false; - switch (className) { - // Strings, numbers, regular expressions, dates, and booleans are compared by value. - case '[object RegExp]': - // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') - case '[object String]': - // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is - // equivalent to `new String("5")`. - return '' + a === '' + b; - case '[object Number]': - // `NaN`s are equivalent, but non-reflexive. - // Object(NaN) is equivalent to NaN - if (+a !== +a) return +b !== +b; - // An `egal` comparison is performed for other numeric values. - return +a === 0 ? 1 / +a === 1 / b : +a === +b; - case '[object Date]': - case '[object Boolean]': - // Coerce dates and booleans to numeric primitive values. Dates are compared by their - // millisecond representations. Note that invalid dates with millisecond representations - // of `NaN` are not equivalent. - return +a === +b; - } - - var areArrays = className === '[object Array]'; - if (!areArrays) { - if (typeof a != 'object' || typeof b != 'object') return false; - - // Objects with different constructors are not equivalent, but `Object`s or `Array`s - // from different frames are. - var aCtor = a.constructor, bCtor = b.constructor; - if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor && - _.isFunction(bCtor) && bCtor instanceof bCtor) - && ('constructor' in a && 'constructor' in b)) { - return false; - } - } - // Assume equality for cyclic structures. The algorithm for detecting cyclic - // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. - - // Initializing stack of traversed objects. - // It's done here since we only need them for objects and arrays comparison. - aStack = aStack || []; - bStack = bStack || []; - var length = aStack.length; - while (length--) { - // Linear search. Performance is inversely proportional to the number of - // unique nested structures. - if (aStack[length] === a) return bStack[length] === b; - } - - // Add the first object to the stack of traversed objects. - aStack.push(a); - bStack.push(b); - - // Recursively compare objects and arrays. - if (areArrays) { - // Compare array lengths to determine if a deep comparison is necessary. - length = a.length; - if (length !== b.length) return false; - // Deep compare the contents, ignoring non-numeric properties. - while (length--) { - if (!eq(a[length], b[length], aStack, bStack)) return false; - } - } else { - // Deep compare objects. - var keys = _.keys(a), key; - length = keys.length; - // Ensure that both objects contain the same number of properties before comparing deep equality. - if (_.keys(b).length !== length) return false; - while (length--) { - // Deep compare each member - key = keys[length]; - if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; - } - } - // Remove the first object from the stack of traversed objects. - aStack.pop(); - bStack.pop(); - return true; - }; - - // Perform a deep comparison to check if two objects are equal. - _.isEqual = function(a, b) { - return eq(a, b); - }; - - // Is a given array, string, or object empty? - // An "empty" object has no enumerable own-properties. - _.isEmpty = function(obj) { - if (obj == null) return true; - if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0; - return _.keys(obj).length === 0; - }; - - // Is a given value a DOM element? - _.isElement = function(obj) { - return !!(obj && obj.nodeType === 1); - }; - - // Is a given value an array? - // Delegates to ECMA5's native Array.isArray - _.isArray = nativeIsArray || function(obj) { - return toString.call(obj) === '[object Array]'; - }; - - // Is a given variable an object? - _.isObject = function(obj) { - var type = typeof obj; - return type === 'function' || type === 'object' && !!obj; - }; - - // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError. - _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) { - _['is' + name] = function(obj) { - return toString.call(obj) === '[object ' + name + ']'; - }; - }); - - // Define a fallback version of the method in browsers (ahem, IE < 9), where - // there isn't any inspectable "Arguments" type. - if (!_.isArguments(arguments)) { - _.isArguments = function(obj) { - return _.has(obj, 'callee'); - }; - } - - // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8, - // IE 11 (#1621), and in Safari 8 (#1929). - if (typeof /./ != 'function' && typeof Int8Array != 'object') { - _.isFunction = function(obj) { - return typeof obj == 'function' || false; - }; - } - - // Is a given object a finite number? - _.isFinite = function(obj) { - return isFinite(obj) && !isNaN(parseFloat(obj)); - }; - - // Is the given value `NaN`? (NaN is the only number which does not equal itself). - _.isNaN = function(obj) { - return _.isNumber(obj) && obj !== +obj; - }; - - // Is a given value a boolean? - _.isBoolean = function(obj) { - return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; - }; - - // Is a given value equal to null? - _.isNull = function(obj) { - return obj === null; - }; - - // Is a given variable undefined? - _.isUndefined = function(obj) { - return obj === void 0; - }; - - // Shortcut function for checking if an object has a given property directly - // on itself (in other words, not on a prototype). - _.has = function(obj, key) { - return obj != null && hasOwnProperty.call(obj, key); - }; - - // Utility Functions - // ----------------- - - // Run Underscore.js in *noConflict* mode, returning the `_` variable to its - // previous owner. Returns a reference to the Underscore object. - _.noConflict = function() { - root._ = previousUnderscore; - return this; - }; - - // Keep the identity function around for default iteratees. - _.identity = function(value) { - return value; - }; - - // Predicate-generating functions. Often useful outside of Underscore. - _.constant = function(value) { - return function() { - return value; - }; - }; - - _.noop = function(){}; - - _.property = property; - - // Generates a function for a given object that returns a given property. - _.propertyOf = function(obj) { - return obj == null ? function(){} : function(key) { - return obj[key]; - }; - }; - - // Returns a predicate for checking whether an object has a given set of - // `key:value` pairs. - _.matcher = _.matches = function(attrs) { - attrs = _.extendOwn({}, attrs); - return function(obj) { - return _.isMatch(obj, attrs); - }; - }; - - // Run a function **n** times. - _.times = function(n, iteratee, context) { - var accum = Array(Math.max(0, n)); - iteratee = optimizeCb(iteratee, context, 1); - for (var i = 0; i < n; i++) accum[i] = iteratee(i); - return accum; - }; - - // Return a random integer between min and max (inclusive). - _.random = function(min, max) { - if (max == null) { - max = min; - min = 0; - } - return min + Math.floor(Math.random() * (max - min + 1)); - }; - - // A (possibly faster) way to get the current timestamp as an integer. - _.now = Date.now || function() { - return new Date().getTime(); - }; - - // List of HTML entities for escaping. - var escapeMap = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '`': '`' - }; - var unescapeMap = _.invert(escapeMap); - - // Functions for escaping and unescaping strings to/from HTML interpolation. - var createEscaper = function(map) { - var escaper = function(match) { - return map[match]; - }; - // Regexes for identifying a key that needs to be escaped - var source = '(?:' + _.keys(map).join('|') + ')'; - var testRegexp = RegExp(source); - var replaceRegexp = RegExp(source, 'g'); - return function(string) { - string = string == null ? '' : '' + string; - return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; - }; - }; - _.escape = createEscaper(escapeMap); - _.unescape = createEscaper(unescapeMap); - - // If the value of the named `property` is a function then invoke it with the - // `object` as context; otherwise, return it. - _.result = function(object, property, fallback) { - var value = object == null ? void 0 : object[property]; - if (value === void 0) { - value = fallback; - } - return _.isFunction(value) ? value.call(object) : value; - }; - - // Generate a unique integer id (unique within the entire client session). - // Useful for temporary DOM ids. - var idCounter = 0; - _.uniqueId = function(prefix) { - var id = ++idCounter + ''; - return prefix ? prefix + id : id; - }; - - // By default, Underscore uses ERB-style template delimiters, change the - // following template settings to use alternative delimiters. - _.templateSettings = { - evaluate : /<%([\s\S]+?)%>/g, - interpolate : /<%=([\s\S]+?)%>/g, - escape : /<%-([\s\S]+?)%>/g - }; - - // When customizing `templateSettings`, if you don't want to define an - // interpolation, evaluation or escaping regex, we need one that is - // guaranteed not to match. - var noMatch = /(.)^/; - - // Certain characters need to be escaped so that they can be put into a - // string literal. - var escapes = { - "'": "'", - '\\': '\\', - '\r': 'r', - '\n': 'n', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - var escaper = /\\|'|\r|\n|\u2028|\u2029/g; - - var escapeChar = function(match) { - return '\\' + escapes[match]; - }; - - // JavaScript micro-templating, similar to John Resig's implementation. - // Underscore templating handles arbitrary delimiters, preserves whitespace, - // and correctly escapes quotes within interpolated code. - // NB: `oldSettings` only exists for backwards compatibility. - _.template = function(text, settings, oldSettings) { - if (!settings && oldSettings) settings = oldSettings; - settings = _.defaults({}, settings, _.templateSettings); - - // Combine delimiters into one regular expression via alternation. - var matcher = RegExp([ - (settings.escape || noMatch).source, - (settings.interpolate || noMatch).source, - (settings.evaluate || noMatch).source - ].join('|') + '|$', 'g'); - - // Compile the template source, escaping string literals appropriately. - var index = 0; - var source = "__p+='"; - text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { - source += text.slice(index, offset).replace(escaper, escapeChar); - index = offset + match.length; - - if (escape) { - source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; - } else if (interpolate) { - source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; - } else if (evaluate) { - source += "';\n" + evaluate + "\n__p+='"; - } - - // Adobe VMs need the match returned to produce the correct offest. - return match; - }); - source += "';\n"; - - // If a variable is not specified, place data values in local scope. - if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; - - source = "var __t,__p='',__j=Array.prototype.join," + - "print=function(){__p+=__j.call(arguments,'');};\n" + - source + 'return __p;\n'; - - try { - var render = new Function(settings.variable || 'obj', '_', source); - } catch (e) { - e.source = source; - throw e; - } - - var template = function(data) { - return render.call(this, data, _); - }; - - // Provide the compiled source as a convenience for precompilation. - var argument = settings.variable || 'obj'; - template.source = 'function(' + argument + '){\n' + source + '}'; - - return template; - }; - - // Add a "chain" function. Start chaining a wrapped Underscore object. - _.chain = function(obj) { - var instance = _(obj); - instance._chain = true; - return instance; - }; - - // OOP - // --------------- - // If Underscore is called as a function, it returns a wrapped object that - // can be used OO-style. This wrapper holds altered versions of all the - // underscore functions. Wrapped objects may be chained. - - // Helper function to continue chaining intermediate results. - var result = function(instance, obj) { - return instance._chain ? _(obj).chain() : obj; - }; - - // Add your own custom functions to the Underscore object. - _.mixin = function(obj) { - _.each(_.functions(obj), function(name) { - var func = _[name] = obj[name]; - _.prototype[name] = function() { - var args = [this._wrapped]; - push.apply(args, arguments); - return result(this, func.apply(_, args)); - }; - }); - }; - - // Add all of the Underscore functions to the wrapper object. - _.mixin(_); - - // Add all mutator Array functions to the wrapper. - _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - var obj = this._wrapped; - method.apply(obj, arguments); - if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0]; - return result(this, obj); - }; - }); - - // Add all accessor Array functions to the wrapper. - _.each(['concat', 'join', 'slice'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - return result(this, method.apply(this._wrapped, arguments)); - }; - }); - - // Extracts the result from a wrapped and chained object. - _.prototype.value = function() { - return this._wrapped; - }; - - // Provide unwrapping proxy for some methods used in engine operations - // such as arithmetic and JSON stringification. - _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; - - _.prototype.toString = function() { - return '' + this._wrapped; - }; - - // AMD registration happens at the end for compatibility with AMD loaders - // that may not enforce next-turn semantics on modules. Even though general - // practice for AMD registration is to be anonymous, underscore registers - // as a named module because, like jQuery, it is a base library that is - // popular enough to be bundled in a third party lib, but not be part of - // an AMD load request. Those cases could generate an error when an - // anonymous define() is called outside of a loader request. - if (typeof define === 'function' && define.amd) { - define('underscore', [], function() { - return _; - }); - } -}.call(this)); diff --git a/demo/platforms/android/cordova/node_modules/unorm/LICENSE.md b/demo/platforms/android/cordova/node_modules/unorm/LICENSE.md deleted file mode 100644 index ed1d4f3..0000000 --- a/demo/platforms/android/cordova/node_modules/unorm/LICENSE.md +++ /dev/null @@ -1,42 +0,0 @@ -The software dual licensed under the MIT and GPL licenses. MIT license: - - Copyright (c) 2008-2013 Matsuza , Bjarke Walling - - 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. - -GPL notice (please read the [full GPL license] online): - - Copyright (C) 2008-2013 Matsuza , Bjarke Walling - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -[full GPL license]: http://www.gnu.org/licenses/gpl-2.0-standalone.html diff --git a/demo/platforms/android/cordova/node_modules/unorm/README.md b/demo/platforms/android/cordova/node_modules/unorm/README.md deleted file mode 100644 index 6ff6420..0000000 --- a/demo/platforms/android/cordova/node_modules/unorm/README.md +++ /dev/null @@ -1,118 +0,0 @@ -This is [Unicode Normalizer] in a Common JS module. I'm not affiliated with Matsuza, the original author of Unicode Normalizer. - -[![Build Status](https://travis-ci.org/walling/unorm.png?branch=master)](https://travis-ci.org/walling/unorm) - - -Installation ------------- - -```bash -npm install unorm -``` - -Polyfill --------- - -You can use this module as a polyfill for [String.prototype.normalize], for example: - -```javascript -console.log('æøåäüö'.normalize('NFKD')); -``` - -The module uses some [EcmaScript 5](http://kangax.github.io/es5-compat-table/) features. Other browsers should use a compability shim, e.g. [es5-shim](https://github.com/kriskowal/es5-shim). - -Functions ---------- - -This module exports four functions: `nfc`, `nfd`, `nfkc`, and `nfkd`; one for each Unicode normalization. In the browser the functions are exported in the `unorm` global. In CommonJS environments you just require the module. Functions: - - * `unorm.nfd(str)` – Canonical Decomposition - * `unorm.nfc(str)` – Canonical Decomposition, followed by Canonical Composition - * `unorm.nfkd(str)` – Compatibility Decomposition - * `unorm.nfkc(str)` – Compatibility Decomposition, followed by Canonical Composition - - -Node.JS example ---------------- - -For a longer example, see `examples` directory. - -```javascript -var unorm = require('unorm'); - -var text = - 'The \u212B symbol invented by A. J. \u00C5ngstr\u00F6m ' + - '(1814, L\u00F6gd\u00F6, \u2013 1874) denotes the length ' + - '10\u207B\u00B9\u2070 m.'; - -var combining = /[\u0300-\u036F]/g; // Use XRegExp('\\p{M}', 'g'); see example.js. - -console.log('Regular: ' + text); -console.log('NFC: ' + unorm.nfc(text)); -console.log('NFD: ' + unorm.nfd(text)); -console.log('NFKC: ' + unorm.nfkc(text)); -console.log('NFKD: * ' + unorm.nfkd(text).replace(combining, '')); -console.log(' * = Combining characters removed from decomposed form.'); -``` - - -Road map --------- - -As of November 2013. Longer term: - -- Look at possible optimizations (speed primarely, module size secondarily) -- Adding functions to quick check normalizations: `is_nfc`, `is_nfd`, etc. - - -Contributers ------------- - - - **Oleg Grenrus** is helping to maintain this library. He cleaned up the code base, fixed JSHint errors, created a test suite and updated the normalization data to Unicode 6.3. - - -Development notes ------------------ - -- [Unicode normalization forms report](http://www.unicode.org/reports/tr15/) -- Unicode data can be found from http://www.unicode.org/Public/UCD/latest/ucd - -To generate new unicode data, run: -```sh -cd src/data/src -javac UnormNormalizerBuilder.java -java UnormNormalizerBuilder -``` -produced `unormdata.js` contains needed table - -Execute `node benchmark/benchmark.js` to run simple benchmarks, if you do any changes which may affect performance. - -License -------- - -This project includes the software package **Unicode Normalizer 1.0.0**. The -software dual licensed under the MIT and GPL licenses. Here is the MIT license: - - Copyright (c) 2008-2013 Matsuza , Bjarke Walling - - 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. - - -[Unicode Normalizer]: http://coderepos.org/share/browser/lang/javascript/UnicodeNormalizer -[String.prototype.normalize]: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-15.5.3.26 diff --git a/demo/platforms/android/cordova/node_modules/unorm/lib/unorm.js b/demo/platforms/android/cordova/node_modules/unorm/lib/unorm.js deleted file mode 100644 index 92d3699..0000000 --- a/demo/platforms/android/cordova/node_modules/unorm/lib/unorm.js +++ /dev/null @@ -1,442 +0,0 @@ -(function (root) { - "use strict"; - -/***** unorm.js *****/ - -/* - * UnicodeNormalizer 1.0.0 - * Copyright (c) 2008 Matsuza - * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. - * $Date: 2008-06-05 16:44:17 +0200 (Thu, 05 Jun 2008) $ - * $Rev: 13309 $ - */ - - var DEFAULT_FEATURE = [null, 0, {}]; - var CACHE_THRESHOLD = 10; - var SBase = 0xAC00, LBase = 0x1100, VBase = 0x1161, TBase = 0x11A7, LCount = 19, VCount = 21, TCount = 28; - var NCount = VCount * TCount; // 588 - var SCount = LCount * NCount; // 11172 - - var UChar = function(cp, feature){ - this.codepoint = cp; - this.feature = feature; - }; - - // Strategies - var cache = {}; - var cacheCounter = []; - for (var i = 0; i <= 0xFF; ++i){ - cacheCounter[i] = 0; - } - - function fromCache(next, cp, needFeature){ - var ret = cache[cp]; - if(!ret){ - ret = next(cp, needFeature); - if(!!ret.feature && ++cacheCounter[(cp >> 8) & 0xFF] > CACHE_THRESHOLD){ - cache[cp] = ret; - } - } - return ret; - } - - function fromData(next, cp, needFeature){ - var hash = cp & 0xFF00; - var dunit = UChar.udata[hash] || {}; - var f = dunit[cp]; - return f ? new UChar(cp, f) : new UChar(cp, DEFAULT_FEATURE); - } - function fromCpOnly(next, cp, needFeature){ - return !!needFeature ? next(cp, needFeature) : new UChar(cp, null); - } - function fromRuleBasedJamo(next, cp, needFeature){ - var j; - if(cp < LBase || (LBase + LCount <= cp && cp < SBase) || (SBase + SCount < cp)){ - return next(cp, needFeature); - } - if(LBase <= cp && cp < LBase + LCount){ - var c = {}; - var base = (cp - LBase) * VCount; - for (j = 0; j < VCount; ++j){ - c[VBase + j] = SBase + TCount * (j + base); - } - return new UChar(cp, [,,c]); - } - - var SIndex = cp - SBase; - var TIndex = SIndex % TCount; - var feature = []; - if(TIndex !== 0){ - feature[0] = [SBase + SIndex - TIndex, TBase + TIndex]; - } else { - feature[0] = [LBase + Math.floor(SIndex / NCount), VBase + Math.floor((SIndex % NCount) / TCount)]; - feature[2] = {}; - for (j = 1; j < TCount; ++j){ - feature[2][TBase + j] = cp + j; - } - } - return new UChar(cp, feature); - } - function fromCpFilter(next, cp, needFeature){ - return cp < 60 || 13311 < cp && cp < 42607 ? new UChar(cp, DEFAULT_FEATURE) : next(cp, needFeature); - } - - var strategies = [fromCpFilter, fromCache, fromCpOnly, fromRuleBasedJamo, fromData]; - - UChar.fromCharCode = strategies.reduceRight(function (next, strategy) { - return function (cp, needFeature) { - return strategy(next, cp, needFeature); - }; - }, null); - - UChar.isHighSurrogate = function(cp){ - return cp >= 0xD800 && cp <= 0xDBFF; - }; - UChar.isLowSurrogate = function(cp){ - return cp >= 0xDC00 && cp <= 0xDFFF; - }; - - UChar.prototype.prepFeature = function(){ - if(!this.feature){ - this.feature = UChar.fromCharCode(this.codepoint, true).feature; - } - }; - - UChar.prototype.toString = function(){ - if(this.codepoint < 0x10000){ - return String.fromCharCode(this.codepoint); - } else { - var x = this.codepoint - 0x10000; - return String.fromCharCode(Math.floor(x / 0x400) + 0xD800, x % 0x400 + 0xDC00); - } - }; - - UChar.prototype.getDecomp = function(){ - this.prepFeature(); - return this.feature[0] || null; - }; - - UChar.prototype.isCompatibility = function(){ - this.prepFeature(); - return !!this.feature[1] && (this.feature[1] & (1 << 8)); - }; - UChar.prototype.isExclude = function(){ - this.prepFeature(); - return !!this.feature[1] && (this.feature[1] & (1 << 9)); - }; - UChar.prototype.getCanonicalClass = function(){ - this.prepFeature(); - return !!this.feature[1] ? (this.feature[1] & 0xff) : 0; - }; - UChar.prototype.getComposite = function(following){ - this.prepFeature(); - if(!this.feature[2]){ - return null; - } - var cp = this.feature[2][following.codepoint]; - return cp ? UChar.fromCharCode(cp) : null; - }; - - var UCharIterator = function(str){ - this.str = str; - this.cursor = 0; - }; - UCharIterator.prototype.next = function(){ - if(!!this.str && this.cursor < this.str.length){ - var cp = this.str.charCodeAt(this.cursor++); - var d; - if(UChar.isHighSurrogate(cp) && this.cursor < this.str.length && UChar.isLowSurrogate((d = this.str.charCodeAt(this.cursor)))){ - cp = (cp - 0xD800) * 0x400 + (d -0xDC00) + 0x10000; - ++this.cursor; - } - return UChar.fromCharCode(cp); - } else { - this.str = null; - return null; - } - }; - - var RecursDecompIterator = function(it, cano){ - this.it = it; - this.canonical = cano; - this.resBuf = []; - }; - - RecursDecompIterator.prototype.next = function(){ - function recursiveDecomp(cano, uchar){ - var decomp = uchar.getDecomp(); - if(!!decomp && !(cano && uchar.isCompatibility())){ - var ret = []; - for(var i = 0; i < decomp.length; ++i){ - var a = recursiveDecomp(cano, UChar.fromCharCode(decomp[i])); - ret = ret.concat(a); - } - return ret; - } else { - return [uchar]; - } - } - if(this.resBuf.length === 0){ - var uchar = this.it.next(); - if(!uchar){ - return null; - } - this.resBuf = recursiveDecomp(this.canonical, uchar); - } - return this.resBuf.shift(); - }; - - var DecompIterator = function(it){ - this.it = it; - this.resBuf = []; - }; - - DecompIterator.prototype.next = function(){ - var cc; - if(this.resBuf.length === 0){ - do{ - var uchar = this.it.next(); - if(!uchar){ - break; - } - cc = uchar.getCanonicalClass(); - var inspt = this.resBuf.length; - if(cc !== 0){ - for(; inspt > 0; --inspt){ - var uchar2 = this.resBuf[inspt - 1]; - var cc2 = uchar2.getCanonicalClass(); - if(cc2 <= cc){ - break; - } - } - } - this.resBuf.splice(inspt, 0, uchar); - } while(cc !== 0); - } - return this.resBuf.shift(); - }; - - var CompIterator = function(it){ - this.it = it; - this.procBuf = []; - this.resBuf = []; - this.lastClass = null; - }; - - CompIterator.prototype.next = function(){ - while(this.resBuf.length === 0){ - var uchar = this.it.next(); - if(!uchar){ - this.resBuf = this.procBuf; - this.procBuf = []; - break; - } - if(this.procBuf.length === 0){ - this.lastClass = uchar.getCanonicalClass(); - this.procBuf.push(uchar); - } else { - var starter = this.procBuf[0]; - var composite = starter.getComposite(uchar); - var cc = uchar.getCanonicalClass(); - if(!!composite && (this.lastClass < cc || this.lastClass === 0)){ - this.procBuf[0] = composite; - } else { - if(cc === 0){ - this.resBuf = this.procBuf; - this.procBuf = []; - } - this.lastClass = cc; - this.procBuf.push(uchar); - } - } - } - return this.resBuf.shift(); - }; - - var createIterator = function(mode, str){ - switch(mode){ - case "NFD": - return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true)); - case "NFKD": - return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false)); - case "NFC": - return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true))); - case "NFKC": - return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false))); - } - throw mode + " is invalid"; - }; - var normalize = function(mode, str){ - var it = createIterator(mode, str); - var ret = ""; - var uchar; - while(!!(uchar = it.next())){ - ret += uchar.toString(); - } - return ret; - }; - - /* API functions */ - function nfd(str){ - return normalize("NFD", str); - } - - function nfkd(str){ - return normalize("NFKD", str); - } - - function nfc(str){ - return normalize("NFC", str); - } - - function nfkc(str){ - return normalize("NFKC", str); - } - -/* Unicode data */ -UChar.udata={ -0:{60:[,,{824:8814}],61:[,,{824:8800}],62:[,,{824:8815}],65:[,,{768:192,769:193,770:194,771:195,772:256,774:258,775:550,776:196,777:7842,778:197,780:461,783:512,785:514,803:7840,805:7680,808:260}],66:[,,{775:7682,803:7684,817:7686}],67:[,,{769:262,770:264,775:266,780:268,807:199}],68:[,,{775:7690,780:270,803:7692,807:7696,813:7698,817:7694}],69:[,,{768:200,769:201,770:202,771:7868,772:274,774:276,775:278,776:203,777:7866,780:282,783:516,785:518,803:7864,807:552,808:280,813:7704,816:7706}],70:[,,{775:7710}],71:[,,{769:500,770:284,772:7712,774:286,775:288,780:486,807:290}],72:[,,{770:292,775:7714,776:7718,780:542,803:7716,807:7720,814:7722}],73:[,,{768:204,769:205,770:206,771:296,772:298,774:300,775:304,776:207,777:7880,780:463,783:520,785:522,803:7882,808:302,816:7724}],74:[,,{770:308}],75:[,,{769:7728,780:488,803:7730,807:310,817:7732}],76:[,,{769:313,780:317,803:7734,807:315,813:7740,817:7738}],77:[,,{769:7742,775:7744,803:7746}],78:[,,{768:504,769:323,771:209,775:7748,780:327,803:7750,807:325,813:7754,817:7752}],79:[,,{768:210,769:211,770:212,771:213,772:332,774:334,775:558,776:214,777:7886,779:336,780:465,783:524,785:526,795:416,803:7884,808:490}],80:[,,{769:7764,775:7766}],82:[,,{769:340,775:7768,780:344,783:528,785:530,803:7770,807:342,817:7774}],83:[,,{769:346,770:348,775:7776,780:352,803:7778,806:536,807:350}],84:[,,{775:7786,780:356,803:7788,806:538,807:354,813:7792,817:7790}],85:[,,{768:217,769:218,770:219,771:360,772:362,774:364,776:220,777:7910,778:366,779:368,780:467,783:532,785:534,795:431,803:7908,804:7794,808:370,813:7798,816:7796}],86:[,,{771:7804,803:7806}],87:[,,{768:7808,769:7810,770:372,775:7814,776:7812,803:7816}],88:[,,{775:7818,776:7820}],89:[,,{768:7922,769:221,770:374,771:7928,772:562,775:7822,776:376,777:7926,803:7924}],90:[,,{769:377,770:7824,775:379,780:381,803:7826,817:7828}],97:[,,{768:224,769:225,770:226,771:227,772:257,774:259,775:551,776:228,777:7843,778:229,780:462,783:513,785:515,803:7841,805:7681,808:261}],98:[,,{775:7683,803:7685,817:7687}],99:[,,{769:263,770:265,775:267,780:269,807:231}],100:[,,{775:7691,780:271,803:7693,807:7697,813:7699,817:7695}],101:[,,{768:232,769:233,770:234,771:7869,772:275,774:277,775:279,776:235,777:7867,780:283,783:517,785:519,803:7865,807:553,808:281,813:7705,816:7707}],102:[,,{775:7711}],103:[,,{769:501,770:285,772:7713,774:287,775:289,780:487,807:291}],104:[,,{770:293,775:7715,776:7719,780:543,803:7717,807:7721,814:7723,817:7830}],105:[,,{768:236,769:237,770:238,771:297,772:299,774:301,776:239,777:7881,780:464,783:521,785:523,803:7883,808:303,816:7725}],106:[,,{770:309,780:496}],107:[,,{769:7729,780:489,803:7731,807:311,817:7733}],108:[,,{769:314,780:318,803:7735,807:316,813:7741,817:7739}],109:[,,{769:7743,775:7745,803:7747}],110:[,,{768:505,769:324,771:241,775:7749,780:328,803:7751,807:326,813:7755,817:7753}],111:[,,{768:242,769:243,770:244,771:245,772:333,774:335,775:559,776:246,777:7887,779:337,780:466,783:525,785:527,795:417,803:7885,808:491}],112:[,,{769:7765,775:7767}],114:[,,{769:341,775:7769,780:345,783:529,785:531,803:7771,807:343,817:7775}],115:[,,{769:347,770:349,775:7777,780:353,803:7779,806:537,807:351}],116:[,,{775:7787,776:7831,780:357,803:7789,806:539,807:355,813:7793,817:7791}],117:[,,{768:249,769:250,770:251,771:361,772:363,774:365,776:252,777:7911,778:367,779:369,780:468,783:533,785:535,795:432,803:7909,804:7795,808:371,813:7799,816:7797}],118:[,,{771:7805,803:7807}],119:[,,{768:7809,769:7811,770:373,775:7815,776:7813,778:7832,803:7817}],120:[,,{775:7819,776:7821}],121:[,,{768:7923,769:253,770:375,771:7929,772:563,775:7823,776:255,777:7927,778:7833,803:7925}],122:[,,{769:378,770:7825,775:380,780:382,803:7827,817:7829}],160:[[32],256],168:[[32,776],256,{768:8173,769:901,834:8129}],170:[[97],256],175:[[32,772],256],178:[[50],256],179:[[51],256],180:[[32,769],256],181:[[956],256],184:[[32,807],256],185:[[49],256],186:[[111],256],188:[[49,8260,52],256],189:[[49,8260,50],256],190:[[51,8260,52],256],192:[[65,768]],193:[[65,769]],194:[[65,770],,{768:7846,769:7844,771:7850,777:7848}],195:[[65,771]],196:[[65,776],,{772:478}],197:[[65,778],,{769:506}],198:[,,{769:508,772:482}],199:[[67,807],,{769:7688}],200:[[69,768]],201:[[69,769]],202:[[69,770],,{768:7872,769:7870,771:7876,777:7874}],203:[[69,776]],204:[[73,768]],205:[[73,769]],206:[[73,770]],207:[[73,776],,{769:7726}],209:[[78,771]],210:[[79,768]],211:[[79,769]],212:[[79,770],,{768:7890,769:7888,771:7894,777:7892}],213:[[79,771],,{769:7756,772:556,776:7758}],214:[[79,776],,{772:554}],216:[,,{769:510}],217:[[85,768]],218:[[85,769]],219:[[85,770]],220:[[85,776],,{768:475,769:471,772:469,780:473}],221:[[89,769]],224:[[97,768]],225:[[97,769]],226:[[97,770],,{768:7847,769:7845,771:7851,777:7849}],227:[[97,771]],228:[[97,776],,{772:479}],229:[[97,778],,{769:507}],230:[,,{769:509,772:483}],231:[[99,807],,{769:7689}],232:[[101,768]],233:[[101,769]],234:[[101,770],,{768:7873,769:7871,771:7877,777:7875}],235:[[101,776]],236:[[105,768]],237:[[105,769]],238:[[105,770]],239:[[105,776],,{769:7727}],241:[[110,771]],242:[[111,768]],243:[[111,769]],244:[[111,770],,{768:7891,769:7889,771:7895,777:7893}],245:[[111,771],,{769:7757,772:557,776:7759}],246:[[111,776],,{772:555}],248:[,,{769:511}],249:[[117,768]],250:[[117,769]],251:[[117,770]],252:[[117,776],,{768:476,769:472,772:470,780:474}],253:[[121,769]],255:[[121,776]]}, -256:{256:[[65,772]],257:[[97,772]],258:[[65,774],,{768:7856,769:7854,771:7860,777:7858}],259:[[97,774],,{768:7857,769:7855,771:7861,777:7859}],260:[[65,808]],261:[[97,808]],262:[[67,769]],263:[[99,769]],264:[[67,770]],265:[[99,770]],266:[[67,775]],267:[[99,775]],268:[[67,780]],269:[[99,780]],270:[[68,780]],271:[[100,780]],274:[[69,772],,{768:7700,769:7702}],275:[[101,772],,{768:7701,769:7703}],276:[[69,774]],277:[[101,774]],278:[[69,775]],279:[[101,775]],280:[[69,808]],281:[[101,808]],282:[[69,780]],283:[[101,780]],284:[[71,770]],285:[[103,770]],286:[[71,774]],287:[[103,774]],288:[[71,775]],289:[[103,775]],290:[[71,807]],291:[[103,807]],292:[[72,770]],293:[[104,770]],296:[[73,771]],297:[[105,771]],298:[[73,772]],299:[[105,772]],300:[[73,774]],301:[[105,774]],302:[[73,808]],303:[[105,808]],304:[[73,775]],306:[[73,74],256],307:[[105,106],256],308:[[74,770]],309:[[106,770]],310:[[75,807]],311:[[107,807]],313:[[76,769]],314:[[108,769]],315:[[76,807]],316:[[108,807]],317:[[76,780]],318:[[108,780]],319:[[76,183],256],320:[[108,183],256],323:[[78,769]],324:[[110,769]],325:[[78,807]],326:[[110,807]],327:[[78,780]],328:[[110,780]],329:[[700,110],256],332:[[79,772],,{768:7760,769:7762}],333:[[111,772],,{768:7761,769:7763}],334:[[79,774]],335:[[111,774]],336:[[79,779]],337:[[111,779]],340:[[82,769]],341:[[114,769]],342:[[82,807]],343:[[114,807]],344:[[82,780]],345:[[114,780]],346:[[83,769],,{775:7780}],347:[[115,769],,{775:7781}],348:[[83,770]],349:[[115,770]],350:[[83,807]],351:[[115,807]],352:[[83,780],,{775:7782}],353:[[115,780],,{775:7783}],354:[[84,807]],355:[[116,807]],356:[[84,780]],357:[[116,780]],360:[[85,771],,{769:7800}],361:[[117,771],,{769:7801}],362:[[85,772],,{776:7802}],363:[[117,772],,{776:7803}],364:[[85,774]],365:[[117,774]],366:[[85,778]],367:[[117,778]],368:[[85,779]],369:[[117,779]],370:[[85,808]],371:[[117,808]],372:[[87,770]],373:[[119,770]],374:[[89,770]],375:[[121,770]],376:[[89,776]],377:[[90,769]],378:[[122,769]],379:[[90,775]],380:[[122,775]],381:[[90,780]],382:[[122,780]],383:[[115],256,{775:7835}],416:[[79,795],,{768:7900,769:7898,771:7904,777:7902,803:7906}],417:[[111,795],,{768:7901,769:7899,771:7905,777:7903,803:7907}],431:[[85,795],,{768:7914,769:7912,771:7918,777:7916,803:7920}],432:[[117,795],,{768:7915,769:7913,771:7919,777:7917,803:7921}],439:[,,{780:494}],452:[[68,381],256],453:[[68,382],256],454:[[100,382],256],455:[[76,74],256],456:[[76,106],256],457:[[108,106],256],458:[[78,74],256],459:[[78,106],256],460:[[110,106],256],461:[[65,780]],462:[[97,780]],463:[[73,780]],464:[[105,780]],465:[[79,780]],466:[[111,780]],467:[[85,780]],468:[[117,780]],469:[[220,772]],470:[[252,772]],471:[[220,769]],472:[[252,769]],473:[[220,780]],474:[[252,780]],475:[[220,768]],476:[[252,768]],478:[[196,772]],479:[[228,772]],480:[[550,772]],481:[[551,772]],482:[[198,772]],483:[[230,772]],486:[[71,780]],487:[[103,780]],488:[[75,780]],489:[[107,780]],490:[[79,808],,{772:492}],491:[[111,808],,{772:493}],492:[[490,772]],493:[[491,772]],494:[[439,780]],495:[[658,780]],496:[[106,780]],497:[[68,90],256],498:[[68,122],256],499:[[100,122],256],500:[[71,769]],501:[[103,769]],504:[[78,768]],505:[[110,768]],506:[[197,769]],507:[[229,769]],508:[[198,769]],509:[[230,769]],510:[[216,769]],511:[[248,769]],66045:[,220]}, -512:{512:[[65,783]],513:[[97,783]],514:[[65,785]],515:[[97,785]],516:[[69,783]],517:[[101,783]],518:[[69,785]],519:[[101,785]],520:[[73,783]],521:[[105,783]],522:[[73,785]],523:[[105,785]],524:[[79,783]],525:[[111,783]],526:[[79,785]],527:[[111,785]],528:[[82,783]],529:[[114,783]],530:[[82,785]],531:[[114,785]],532:[[85,783]],533:[[117,783]],534:[[85,785]],535:[[117,785]],536:[[83,806]],537:[[115,806]],538:[[84,806]],539:[[116,806]],542:[[72,780]],543:[[104,780]],550:[[65,775],,{772:480}],551:[[97,775],,{772:481}],552:[[69,807],,{774:7708}],553:[[101,807],,{774:7709}],554:[[214,772]],555:[[246,772]],556:[[213,772]],557:[[245,772]],558:[[79,775],,{772:560}],559:[[111,775],,{772:561}],560:[[558,772]],561:[[559,772]],562:[[89,772]],563:[[121,772]],658:[,,{780:495}],688:[[104],256],689:[[614],256],690:[[106],256],691:[[114],256],692:[[633],256],693:[[635],256],694:[[641],256],695:[[119],256],696:[[121],256],728:[[32,774],256],729:[[32,775],256],730:[[32,778],256],731:[[32,808],256],732:[[32,771],256],733:[[32,779],256],736:[[611],256],737:[[108],256],738:[[115],256],739:[[120],256],740:[[661],256],66272:[,220]}, -768:{768:[,230],769:[,230],770:[,230],771:[,230],772:[,230],773:[,230],774:[,230],775:[,230],776:[,230,{769:836}],777:[,230],778:[,230],779:[,230],780:[,230],781:[,230],782:[,230],783:[,230],784:[,230],785:[,230],786:[,230],787:[,230],788:[,230],789:[,232],790:[,220],791:[,220],792:[,220],793:[,220],794:[,232],795:[,216],796:[,220],797:[,220],798:[,220],799:[,220],800:[,220],801:[,202],802:[,202],803:[,220],804:[,220],805:[,220],806:[,220],807:[,202],808:[,202],809:[,220],810:[,220],811:[,220],812:[,220],813:[,220],814:[,220],815:[,220],816:[,220],817:[,220],818:[,220],819:[,220],820:[,1],821:[,1],822:[,1],823:[,1],824:[,1],825:[,220],826:[,220],827:[,220],828:[,220],829:[,230],830:[,230],831:[,230],832:[[768],230],833:[[769],230],834:[,230],835:[[787],230],836:[[776,769],230],837:[,240],838:[,230],839:[,220],840:[,220],841:[,220],842:[,230],843:[,230],844:[,230],845:[,220],846:[,220],848:[,230],849:[,230],850:[,230],851:[,220],852:[,220],853:[,220],854:[,220],855:[,230],856:[,232],857:[,220],858:[,220],859:[,230],860:[,233],861:[,234],862:[,234],863:[,233],864:[,234],865:[,234],866:[,233],867:[,230],868:[,230],869:[,230],870:[,230],871:[,230],872:[,230],873:[,230],874:[,230],875:[,230],876:[,230],877:[,230],878:[,230],879:[,230],884:[[697]],890:[[32,837],256],894:[[59]],900:[[32,769],256],901:[[168,769]],902:[[913,769]],903:[[183]],904:[[917,769]],905:[[919,769]],906:[[921,769]],908:[[927,769]],910:[[933,769]],911:[[937,769]],912:[[970,769]],913:[,,{768:8122,769:902,772:8121,774:8120,787:7944,788:7945,837:8124}],917:[,,{768:8136,769:904,787:7960,788:7961}],919:[,,{768:8138,769:905,787:7976,788:7977,837:8140}],921:[,,{768:8154,769:906,772:8153,774:8152,776:938,787:7992,788:7993}],927:[,,{768:8184,769:908,787:8008,788:8009}],929:[,,{788:8172}],933:[,,{768:8170,769:910,772:8169,774:8168,776:939,788:8025}],937:[,,{768:8186,769:911,787:8040,788:8041,837:8188}],938:[[921,776]],939:[[933,776]],940:[[945,769],,{837:8116}],941:[[949,769]],942:[[951,769],,{837:8132}],943:[[953,769]],944:[[971,769]],945:[,,{768:8048,769:940,772:8113,774:8112,787:7936,788:7937,834:8118,837:8115}],949:[,,{768:8050,769:941,787:7952,788:7953}],951:[,,{768:8052,769:942,787:7968,788:7969,834:8134,837:8131}],953:[,,{768:8054,769:943,772:8145,774:8144,776:970,787:7984,788:7985,834:8150}],959:[,,{768:8056,769:972,787:8000,788:8001}],961:[,,{787:8164,788:8165}],965:[,,{768:8058,769:973,772:8161,774:8160,776:971,787:8016,788:8017,834:8166}],969:[,,{768:8060,769:974,787:8032,788:8033,834:8182,837:8179}],970:[[953,776],,{768:8146,769:912,834:8151}],971:[[965,776],,{768:8162,769:944,834:8167}],972:[[959,769]],973:[[965,769]],974:[[969,769],,{837:8180}],976:[[946],256],977:[[952],256],978:[[933],256,{769:979,776:980}],979:[[978,769]],980:[[978,776]],981:[[966],256],982:[[960],256],1008:[[954],256],1009:[[961],256],1010:[[962],256],1012:[[920],256],1013:[[949],256],1017:[[931],256],66422:[,230],66423:[,230],66424:[,230],66425:[,230],66426:[,230]}, -1024:{1024:[[1045,768]],1025:[[1045,776]],1027:[[1043,769]],1030:[,,{776:1031}],1031:[[1030,776]],1036:[[1050,769]],1037:[[1048,768]],1038:[[1059,774]],1040:[,,{774:1232,776:1234}],1043:[,,{769:1027}],1045:[,,{768:1024,774:1238,776:1025}],1046:[,,{774:1217,776:1244}],1047:[,,{776:1246}],1048:[,,{768:1037,772:1250,774:1049,776:1252}],1049:[[1048,774]],1050:[,,{769:1036}],1054:[,,{776:1254}],1059:[,,{772:1262,774:1038,776:1264,779:1266}],1063:[,,{776:1268}],1067:[,,{776:1272}],1069:[,,{776:1260}],1072:[,,{774:1233,776:1235}],1075:[,,{769:1107}],1077:[,,{768:1104,774:1239,776:1105}],1078:[,,{774:1218,776:1245}],1079:[,,{776:1247}],1080:[,,{768:1117,772:1251,774:1081,776:1253}],1081:[[1080,774]],1082:[,,{769:1116}],1086:[,,{776:1255}],1091:[,,{772:1263,774:1118,776:1265,779:1267}],1095:[,,{776:1269}],1099:[,,{776:1273}],1101:[,,{776:1261}],1104:[[1077,768]],1105:[[1077,776]],1107:[[1075,769]],1110:[,,{776:1111}],1111:[[1110,776]],1116:[[1082,769]],1117:[[1080,768]],1118:[[1091,774]],1140:[,,{783:1142}],1141:[,,{783:1143}],1142:[[1140,783]],1143:[[1141,783]],1155:[,230],1156:[,230],1157:[,230],1158:[,230],1159:[,230],1217:[[1046,774]],1218:[[1078,774]],1232:[[1040,774]],1233:[[1072,774]],1234:[[1040,776]],1235:[[1072,776]],1238:[[1045,774]],1239:[[1077,774]],1240:[,,{776:1242}],1241:[,,{776:1243}],1242:[[1240,776]],1243:[[1241,776]],1244:[[1046,776]],1245:[[1078,776]],1246:[[1047,776]],1247:[[1079,776]],1250:[[1048,772]],1251:[[1080,772]],1252:[[1048,776]],1253:[[1080,776]],1254:[[1054,776]],1255:[[1086,776]],1256:[,,{776:1258}],1257:[,,{776:1259}],1258:[[1256,776]],1259:[[1257,776]],1260:[[1069,776]],1261:[[1101,776]],1262:[[1059,772]],1263:[[1091,772]],1264:[[1059,776]],1265:[[1091,776]],1266:[[1059,779]],1267:[[1091,779]],1268:[[1063,776]],1269:[[1095,776]],1272:[[1067,776]],1273:[[1099,776]]}, -1280:{1415:[[1381,1410],256],1425:[,220],1426:[,230],1427:[,230],1428:[,230],1429:[,230],1430:[,220],1431:[,230],1432:[,230],1433:[,230],1434:[,222],1435:[,220],1436:[,230],1437:[,230],1438:[,230],1439:[,230],1440:[,230],1441:[,230],1442:[,220],1443:[,220],1444:[,220],1445:[,220],1446:[,220],1447:[,220],1448:[,230],1449:[,230],1450:[,220],1451:[,230],1452:[,230],1453:[,222],1454:[,228],1455:[,230],1456:[,10],1457:[,11],1458:[,12],1459:[,13],1460:[,14],1461:[,15],1462:[,16],1463:[,17],1464:[,18],1465:[,19],1466:[,19],1467:[,20],1468:[,21],1469:[,22],1471:[,23],1473:[,24],1474:[,25],1476:[,230],1477:[,220],1479:[,18]}, -1536:{1552:[,230],1553:[,230],1554:[,230],1555:[,230],1556:[,230],1557:[,230],1558:[,230],1559:[,230],1560:[,30],1561:[,31],1562:[,32],1570:[[1575,1619]],1571:[[1575,1620]],1572:[[1608,1620]],1573:[[1575,1621]],1574:[[1610,1620]],1575:[,,{1619:1570,1620:1571,1621:1573}],1608:[,,{1620:1572}],1610:[,,{1620:1574}],1611:[,27],1612:[,28],1613:[,29],1614:[,30],1615:[,31],1616:[,32],1617:[,33],1618:[,34],1619:[,230],1620:[,230],1621:[,220],1622:[,220],1623:[,230],1624:[,230],1625:[,230],1626:[,230],1627:[,230],1628:[,220],1629:[,230],1630:[,230],1631:[,220],1648:[,35],1653:[[1575,1652],256],1654:[[1608,1652],256],1655:[[1735,1652],256],1656:[[1610,1652],256],1728:[[1749,1620]],1729:[,,{1620:1730}],1730:[[1729,1620]],1746:[,,{1620:1747}],1747:[[1746,1620]],1749:[,,{1620:1728}],1750:[,230],1751:[,230],1752:[,230],1753:[,230],1754:[,230],1755:[,230],1756:[,230],1759:[,230],1760:[,230],1761:[,230],1762:[,230],1763:[,220],1764:[,230],1767:[,230],1768:[,230],1770:[,220],1771:[,230],1772:[,230],1773:[,220]}, -1792:{1809:[,36],1840:[,230],1841:[,220],1842:[,230],1843:[,230],1844:[,220],1845:[,230],1846:[,230],1847:[,220],1848:[,220],1849:[,220],1850:[,230],1851:[,220],1852:[,220],1853:[,230],1854:[,220],1855:[,230],1856:[,230],1857:[,230],1858:[,220],1859:[,230],1860:[,220],1861:[,230],1862:[,220],1863:[,230],1864:[,220],1865:[,230],1866:[,230],2027:[,230],2028:[,230],2029:[,230],2030:[,230],2031:[,230],2032:[,230],2033:[,230],2034:[,220],2035:[,230]}, -2048:{2070:[,230],2071:[,230],2072:[,230],2073:[,230],2075:[,230],2076:[,230],2077:[,230],2078:[,230],2079:[,230],2080:[,230],2081:[,230],2082:[,230],2083:[,230],2085:[,230],2086:[,230],2087:[,230],2089:[,230],2090:[,230],2091:[,230],2092:[,230],2093:[,230],2137:[,220],2138:[,220],2139:[,220],2276:[,230],2277:[,230],2278:[,220],2279:[,230],2280:[,230],2281:[,220],2282:[,230],2283:[,230],2284:[,230],2285:[,220],2286:[,220],2287:[,220],2288:[,27],2289:[,28],2290:[,29],2291:[,230],2292:[,230],2293:[,230],2294:[,220],2295:[,230],2296:[,230],2297:[,220],2298:[,220],2299:[,230],2300:[,230],2301:[,230],2302:[,230],2303:[,230]}, -2304:{2344:[,,{2364:2345}],2345:[[2344,2364]],2352:[,,{2364:2353}],2353:[[2352,2364]],2355:[,,{2364:2356}],2356:[[2355,2364]],2364:[,7],2381:[,9],2385:[,230],2386:[,220],2387:[,230],2388:[,230],2392:[[2325,2364],512],2393:[[2326,2364],512],2394:[[2327,2364],512],2395:[[2332,2364],512],2396:[[2337,2364],512],2397:[[2338,2364],512],2398:[[2347,2364],512],2399:[[2351,2364],512],2492:[,7],2503:[,,{2494:2507,2519:2508}],2507:[[2503,2494]],2508:[[2503,2519]],2509:[,9],2524:[[2465,2492],512],2525:[[2466,2492],512],2527:[[2479,2492],512]}, -2560:{2611:[[2610,2620],512],2614:[[2616,2620],512],2620:[,7],2637:[,9],2649:[[2582,2620],512],2650:[[2583,2620],512],2651:[[2588,2620],512],2654:[[2603,2620],512],2748:[,7],2765:[,9],68109:[,220],68111:[,230],68152:[,230],68153:[,1],68154:[,220],68159:[,9],68325:[,230],68326:[,220]}, -2816:{2876:[,7],2887:[,,{2878:2891,2902:2888,2903:2892}],2888:[[2887,2902]],2891:[[2887,2878]],2892:[[2887,2903]],2893:[,9],2908:[[2849,2876],512],2909:[[2850,2876],512],2962:[,,{3031:2964}],2964:[[2962,3031]],3014:[,,{3006:3018,3031:3020}],3015:[,,{3006:3019}],3018:[[3014,3006]],3019:[[3015,3006]],3020:[[3014,3031]],3021:[,9]}, -3072:{3142:[,,{3158:3144}],3144:[[3142,3158]],3149:[,9],3157:[,84],3158:[,91],3260:[,7],3263:[,,{3285:3264}],3264:[[3263,3285]],3270:[,,{3266:3274,3285:3271,3286:3272}],3271:[[3270,3285]],3272:[[3270,3286]],3274:[[3270,3266],,{3285:3275}],3275:[[3274,3285]],3277:[,9]}, -3328:{3398:[,,{3390:3402,3415:3404}],3399:[,,{3390:3403}],3402:[[3398,3390]],3403:[[3399,3390]],3404:[[3398,3415]],3405:[,9],3530:[,9],3545:[,,{3530:3546,3535:3548,3551:3550}],3546:[[3545,3530]],3548:[[3545,3535],,{3530:3549}],3549:[[3548,3530]],3550:[[3545,3551]]}, -3584:{3635:[[3661,3634],256],3640:[,103],3641:[,103],3642:[,9],3656:[,107],3657:[,107],3658:[,107],3659:[,107],3763:[[3789,3762],256],3768:[,118],3769:[,118],3784:[,122],3785:[,122],3786:[,122],3787:[,122],3804:[[3755,3737],256],3805:[[3755,3745],256]}, -3840:{3852:[[3851],256],3864:[,220],3865:[,220],3893:[,220],3895:[,220],3897:[,216],3907:[[3906,4023],512],3917:[[3916,4023],512],3922:[[3921,4023],512],3927:[[3926,4023],512],3932:[[3931,4023],512],3945:[[3904,4021],512],3953:[,129],3954:[,130],3955:[[3953,3954],512],3956:[,132],3957:[[3953,3956],512],3958:[[4018,3968],512],3959:[[4018,3969],256],3960:[[4019,3968],512],3961:[[4019,3969],256],3962:[,130],3963:[,130],3964:[,130],3965:[,130],3968:[,130],3969:[[3953,3968],512],3970:[,230],3971:[,230],3972:[,9],3974:[,230],3975:[,230],3987:[[3986,4023],512],3997:[[3996,4023],512],4002:[[4001,4023],512],4007:[[4006,4023],512],4012:[[4011,4023],512],4025:[[3984,4021],512],4038:[,220]}, -4096:{4133:[,,{4142:4134}],4134:[[4133,4142]],4151:[,7],4153:[,9],4154:[,9],4237:[,220],4348:[[4316],256],69702:[,9],69759:[,9],69785:[,,{69818:69786}],69786:[[69785,69818]],69787:[,,{69818:69788}],69788:[[69787,69818]],69797:[,,{69818:69803}],69803:[[69797,69818]],69817:[,9],69818:[,7]}, -4352:{69888:[,230],69889:[,230],69890:[,230],69934:[[69937,69927]],69935:[[69938,69927]],69937:[,,{69927:69934}],69938:[,,{69927:69935}],69939:[,9],69940:[,9],70003:[,7],70080:[,9]}, -4608:{70197:[,9],70198:[,7],70377:[,7],70378:[,9]}, -4864:{4957:[,230],4958:[,230],4959:[,230],70460:[,7],70471:[,,{70462:70475,70487:70476}],70475:[[70471,70462]],70476:[[70471,70487]],70477:[,9],70502:[,230],70503:[,230],70504:[,230],70505:[,230],70506:[,230],70507:[,230],70508:[,230],70512:[,230],70513:[,230],70514:[,230],70515:[,230],70516:[,230]}, -5120:{70841:[,,{70832:70844,70842:70843,70845:70846}],70843:[[70841,70842]],70844:[[70841,70832]],70846:[[70841,70845]],70850:[,9],70851:[,7]}, -5376:{71096:[,,{71087:71098}],71097:[,,{71087:71099}],71098:[[71096,71087]],71099:[[71097,71087]],71103:[,9],71104:[,7]}, -5632:{71231:[,9],71350:[,9],71351:[,7]}, -5888:{5908:[,9],5940:[,9],6098:[,9],6109:[,230]}, -6144:{6313:[,228]}, -6400:{6457:[,222],6458:[,230],6459:[,220]}, -6656:{6679:[,230],6680:[,220],6752:[,9],6773:[,230],6774:[,230],6775:[,230],6776:[,230],6777:[,230],6778:[,230],6779:[,230],6780:[,230],6783:[,220],6832:[,230],6833:[,230],6834:[,230],6835:[,230],6836:[,230],6837:[,220],6838:[,220],6839:[,220],6840:[,220],6841:[,220],6842:[,220],6843:[,230],6844:[,230],6845:[,220]}, -6912:{6917:[,,{6965:6918}],6918:[[6917,6965]],6919:[,,{6965:6920}],6920:[[6919,6965]],6921:[,,{6965:6922}],6922:[[6921,6965]],6923:[,,{6965:6924}],6924:[[6923,6965]],6925:[,,{6965:6926}],6926:[[6925,6965]],6929:[,,{6965:6930}],6930:[[6929,6965]],6964:[,7],6970:[,,{6965:6971}],6971:[[6970,6965]],6972:[,,{6965:6973}],6973:[[6972,6965]],6974:[,,{6965:6976}],6975:[,,{6965:6977}],6976:[[6974,6965]],6977:[[6975,6965]],6978:[,,{6965:6979}],6979:[[6978,6965]],6980:[,9],7019:[,230],7020:[,220],7021:[,230],7022:[,230],7023:[,230],7024:[,230],7025:[,230],7026:[,230],7027:[,230],7082:[,9],7083:[,9],7142:[,7],7154:[,9],7155:[,9]}, -7168:{7223:[,7],7376:[,230],7377:[,230],7378:[,230],7380:[,1],7381:[,220],7382:[,220],7383:[,220],7384:[,220],7385:[,220],7386:[,230],7387:[,230],7388:[,220],7389:[,220],7390:[,220],7391:[,220],7392:[,230],7394:[,1],7395:[,1],7396:[,1],7397:[,1],7398:[,1],7399:[,1],7400:[,1],7405:[,220],7412:[,230],7416:[,230],7417:[,230]}, -7424:{7468:[[65],256],7469:[[198],256],7470:[[66],256],7472:[[68],256],7473:[[69],256],7474:[[398],256],7475:[[71],256],7476:[[72],256],7477:[[73],256],7478:[[74],256],7479:[[75],256],7480:[[76],256],7481:[[77],256],7482:[[78],256],7484:[[79],256],7485:[[546],256],7486:[[80],256],7487:[[82],256],7488:[[84],256],7489:[[85],256],7490:[[87],256],7491:[[97],256],7492:[[592],256],7493:[[593],256],7494:[[7426],256],7495:[[98],256],7496:[[100],256],7497:[[101],256],7498:[[601],256],7499:[[603],256],7500:[[604],256],7501:[[103],256],7503:[[107],256],7504:[[109],256],7505:[[331],256],7506:[[111],256],7507:[[596],256],7508:[[7446],256],7509:[[7447],256],7510:[[112],256],7511:[[116],256],7512:[[117],256],7513:[[7453],256],7514:[[623],256],7515:[[118],256],7516:[[7461],256],7517:[[946],256],7518:[[947],256],7519:[[948],256],7520:[[966],256],7521:[[967],256],7522:[[105],256],7523:[[114],256],7524:[[117],256],7525:[[118],256],7526:[[946],256],7527:[[947],256],7528:[[961],256],7529:[[966],256],7530:[[967],256],7544:[[1085],256],7579:[[594],256],7580:[[99],256],7581:[[597],256],7582:[[240],256],7583:[[604],256],7584:[[102],256],7585:[[607],256],7586:[[609],256],7587:[[613],256],7588:[[616],256],7589:[[617],256],7590:[[618],256],7591:[[7547],256],7592:[[669],256],7593:[[621],256],7594:[[7557],256],7595:[[671],256],7596:[[625],256],7597:[[624],256],7598:[[626],256],7599:[[627],256],7600:[[628],256],7601:[[629],256],7602:[[632],256],7603:[[642],256],7604:[[643],256],7605:[[427],256],7606:[[649],256],7607:[[650],256],7608:[[7452],256],7609:[[651],256],7610:[[652],256],7611:[[122],256],7612:[[656],256],7613:[[657],256],7614:[[658],256],7615:[[952],256],7616:[,230],7617:[,230],7618:[,220],7619:[,230],7620:[,230],7621:[,230],7622:[,230],7623:[,230],7624:[,230],7625:[,230],7626:[,220],7627:[,230],7628:[,230],7629:[,234],7630:[,214],7631:[,220],7632:[,202],7633:[,230],7634:[,230],7635:[,230],7636:[,230],7637:[,230],7638:[,230],7639:[,230],7640:[,230],7641:[,230],7642:[,230],7643:[,230],7644:[,230],7645:[,230],7646:[,230],7647:[,230],7648:[,230],7649:[,230],7650:[,230],7651:[,230],7652:[,230],7653:[,230],7654:[,230],7655:[,230],7656:[,230],7657:[,230],7658:[,230],7659:[,230],7660:[,230],7661:[,230],7662:[,230],7663:[,230],7664:[,230],7665:[,230],7666:[,230],7667:[,230],7668:[,230],7669:[,230],7676:[,233],7677:[,220],7678:[,230],7679:[,220]}, -7680:{7680:[[65,805]],7681:[[97,805]],7682:[[66,775]],7683:[[98,775]],7684:[[66,803]],7685:[[98,803]],7686:[[66,817]],7687:[[98,817]],7688:[[199,769]],7689:[[231,769]],7690:[[68,775]],7691:[[100,775]],7692:[[68,803]],7693:[[100,803]],7694:[[68,817]],7695:[[100,817]],7696:[[68,807]],7697:[[100,807]],7698:[[68,813]],7699:[[100,813]],7700:[[274,768]],7701:[[275,768]],7702:[[274,769]],7703:[[275,769]],7704:[[69,813]],7705:[[101,813]],7706:[[69,816]],7707:[[101,816]],7708:[[552,774]],7709:[[553,774]],7710:[[70,775]],7711:[[102,775]],7712:[[71,772]],7713:[[103,772]],7714:[[72,775]],7715:[[104,775]],7716:[[72,803]],7717:[[104,803]],7718:[[72,776]],7719:[[104,776]],7720:[[72,807]],7721:[[104,807]],7722:[[72,814]],7723:[[104,814]],7724:[[73,816]],7725:[[105,816]],7726:[[207,769]],7727:[[239,769]],7728:[[75,769]],7729:[[107,769]],7730:[[75,803]],7731:[[107,803]],7732:[[75,817]],7733:[[107,817]],7734:[[76,803],,{772:7736}],7735:[[108,803],,{772:7737}],7736:[[7734,772]],7737:[[7735,772]],7738:[[76,817]],7739:[[108,817]],7740:[[76,813]],7741:[[108,813]],7742:[[77,769]],7743:[[109,769]],7744:[[77,775]],7745:[[109,775]],7746:[[77,803]],7747:[[109,803]],7748:[[78,775]],7749:[[110,775]],7750:[[78,803]],7751:[[110,803]],7752:[[78,817]],7753:[[110,817]],7754:[[78,813]],7755:[[110,813]],7756:[[213,769]],7757:[[245,769]],7758:[[213,776]],7759:[[245,776]],7760:[[332,768]],7761:[[333,768]],7762:[[332,769]],7763:[[333,769]],7764:[[80,769]],7765:[[112,769]],7766:[[80,775]],7767:[[112,775]],7768:[[82,775]],7769:[[114,775]],7770:[[82,803],,{772:7772}],7771:[[114,803],,{772:7773}],7772:[[7770,772]],7773:[[7771,772]],7774:[[82,817]],7775:[[114,817]],7776:[[83,775]],7777:[[115,775]],7778:[[83,803],,{775:7784}],7779:[[115,803],,{775:7785}],7780:[[346,775]],7781:[[347,775]],7782:[[352,775]],7783:[[353,775]],7784:[[7778,775]],7785:[[7779,775]],7786:[[84,775]],7787:[[116,775]],7788:[[84,803]],7789:[[116,803]],7790:[[84,817]],7791:[[116,817]],7792:[[84,813]],7793:[[116,813]],7794:[[85,804]],7795:[[117,804]],7796:[[85,816]],7797:[[117,816]],7798:[[85,813]],7799:[[117,813]],7800:[[360,769]],7801:[[361,769]],7802:[[362,776]],7803:[[363,776]],7804:[[86,771]],7805:[[118,771]],7806:[[86,803]],7807:[[118,803]],7808:[[87,768]],7809:[[119,768]],7810:[[87,769]],7811:[[119,769]],7812:[[87,776]],7813:[[119,776]],7814:[[87,775]],7815:[[119,775]],7816:[[87,803]],7817:[[119,803]],7818:[[88,775]],7819:[[120,775]],7820:[[88,776]],7821:[[120,776]],7822:[[89,775]],7823:[[121,775]],7824:[[90,770]],7825:[[122,770]],7826:[[90,803]],7827:[[122,803]],7828:[[90,817]],7829:[[122,817]],7830:[[104,817]],7831:[[116,776]],7832:[[119,778]],7833:[[121,778]],7834:[[97,702],256],7835:[[383,775]],7840:[[65,803],,{770:7852,774:7862}],7841:[[97,803],,{770:7853,774:7863}],7842:[[65,777]],7843:[[97,777]],7844:[[194,769]],7845:[[226,769]],7846:[[194,768]],7847:[[226,768]],7848:[[194,777]],7849:[[226,777]],7850:[[194,771]],7851:[[226,771]],7852:[[7840,770]],7853:[[7841,770]],7854:[[258,769]],7855:[[259,769]],7856:[[258,768]],7857:[[259,768]],7858:[[258,777]],7859:[[259,777]],7860:[[258,771]],7861:[[259,771]],7862:[[7840,774]],7863:[[7841,774]],7864:[[69,803],,{770:7878}],7865:[[101,803],,{770:7879}],7866:[[69,777]],7867:[[101,777]],7868:[[69,771]],7869:[[101,771]],7870:[[202,769]],7871:[[234,769]],7872:[[202,768]],7873:[[234,768]],7874:[[202,777]],7875:[[234,777]],7876:[[202,771]],7877:[[234,771]],7878:[[7864,770]],7879:[[7865,770]],7880:[[73,777]],7881:[[105,777]],7882:[[73,803]],7883:[[105,803]],7884:[[79,803],,{770:7896}],7885:[[111,803],,{770:7897}],7886:[[79,777]],7887:[[111,777]],7888:[[212,769]],7889:[[244,769]],7890:[[212,768]],7891:[[244,768]],7892:[[212,777]],7893:[[244,777]],7894:[[212,771]],7895:[[244,771]],7896:[[7884,770]],7897:[[7885,770]],7898:[[416,769]],7899:[[417,769]],7900:[[416,768]],7901:[[417,768]],7902:[[416,777]],7903:[[417,777]],7904:[[416,771]],7905:[[417,771]],7906:[[416,803]],7907:[[417,803]],7908:[[85,803]],7909:[[117,803]],7910:[[85,777]],7911:[[117,777]],7912:[[431,769]],7913:[[432,769]],7914:[[431,768]],7915:[[432,768]],7916:[[431,777]],7917:[[432,777]],7918:[[431,771]],7919:[[432,771]],7920:[[431,803]],7921:[[432,803]],7922:[[89,768]],7923:[[121,768]],7924:[[89,803]],7925:[[121,803]],7926:[[89,777]],7927:[[121,777]],7928:[[89,771]],7929:[[121,771]]}, -7936:{7936:[[945,787],,{768:7938,769:7940,834:7942,837:8064}],7937:[[945,788],,{768:7939,769:7941,834:7943,837:8065}],7938:[[7936,768],,{837:8066}],7939:[[7937,768],,{837:8067}],7940:[[7936,769],,{837:8068}],7941:[[7937,769],,{837:8069}],7942:[[7936,834],,{837:8070}],7943:[[7937,834],,{837:8071}],7944:[[913,787],,{768:7946,769:7948,834:7950,837:8072}],7945:[[913,788],,{768:7947,769:7949,834:7951,837:8073}],7946:[[7944,768],,{837:8074}],7947:[[7945,768],,{837:8075}],7948:[[7944,769],,{837:8076}],7949:[[7945,769],,{837:8077}],7950:[[7944,834],,{837:8078}],7951:[[7945,834],,{837:8079}],7952:[[949,787],,{768:7954,769:7956}],7953:[[949,788],,{768:7955,769:7957}],7954:[[7952,768]],7955:[[7953,768]],7956:[[7952,769]],7957:[[7953,769]],7960:[[917,787],,{768:7962,769:7964}],7961:[[917,788],,{768:7963,769:7965}],7962:[[7960,768]],7963:[[7961,768]],7964:[[7960,769]],7965:[[7961,769]],7968:[[951,787],,{768:7970,769:7972,834:7974,837:8080}],7969:[[951,788],,{768:7971,769:7973,834:7975,837:8081}],7970:[[7968,768],,{837:8082}],7971:[[7969,768],,{837:8083}],7972:[[7968,769],,{837:8084}],7973:[[7969,769],,{837:8085}],7974:[[7968,834],,{837:8086}],7975:[[7969,834],,{837:8087}],7976:[[919,787],,{768:7978,769:7980,834:7982,837:8088}],7977:[[919,788],,{768:7979,769:7981,834:7983,837:8089}],7978:[[7976,768],,{837:8090}],7979:[[7977,768],,{837:8091}],7980:[[7976,769],,{837:8092}],7981:[[7977,769],,{837:8093}],7982:[[7976,834],,{837:8094}],7983:[[7977,834],,{837:8095}],7984:[[953,787],,{768:7986,769:7988,834:7990}],7985:[[953,788],,{768:7987,769:7989,834:7991}],7986:[[7984,768]],7987:[[7985,768]],7988:[[7984,769]],7989:[[7985,769]],7990:[[7984,834]],7991:[[7985,834]],7992:[[921,787],,{768:7994,769:7996,834:7998}],7993:[[921,788],,{768:7995,769:7997,834:7999}],7994:[[7992,768]],7995:[[7993,768]],7996:[[7992,769]],7997:[[7993,769]],7998:[[7992,834]],7999:[[7993,834]],8000:[[959,787],,{768:8002,769:8004}],8001:[[959,788],,{768:8003,769:8005}],8002:[[8000,768]],8003:[[8001,768]],8004:[[8000,769]],8005:[[8001,769]],8008:[[927,787],,{768:8010,769:8012}],8009:[[927,788],,{768:8011,769:8013}],8010:[[8008,768]],8011:[[8009,768]],8012:[[8008,769]],8013:[[8009,769]],8016:[[965,787],,{768:8018,769:8020,834:8022}],8017:[[965,788],,{768:8019,769:8021,834:8023}],8018:[[8016,768]],8019:[[8017,768]],8020:[[8016,769]],8021:[[8017,769]],8022:[[8016,834]],8023:[[8017,834]],8025:[[933,788],,{768:8027,769:8029,834:8031}],8027:[[8025,768]],8029:[[8025,769]],8031:[[8025,834]],8032:[[969,787],,{768:8034,769:8036,834:8038,837:8096}],8033:[[969,788],,{768:8035,769:8037,834:8039,837:8097}],8034:[[8032,768],,{837:8098}],8035:[[8033,768],,{837:8099}],8036:[[8032,769],,{837:8100}],8037:[[8033,769],,{837:8101}],8038:[[8032,834],,{837:8102}],8039:[[8033,834],,{837:8103}],8040:[[937,787],,{768:8042,769:8044,834:8046,837:8104}],8041:[[937,788],,{768:8043,769:8045,834:8047,837:8105}],8042:[[8040,768],,{837:8106}],8043:[[8041,768],,{837:8107}],8044:[[8040,769],,{837:8108}],8045:[[8041,769],,{837:8109}],8046:[[8040,834],,{837:8110}],8047:[[8041,834],,{837:8111}],8048:[[945,768],,{837:8114}],8049:[[940]],8050:[[949,768]],8051:[[941]],8052:[[951,768],,{837:8130}],8053:[[942]],8054:[[953,768]],8055:[[943]],8056:[[959,768]],8057:[[972]],8058:[[965,768]],8059:[[973]],8060:[[969,768],,{837:8178}],8061:[[974]],8064:[[7936,837]],8065:[[7937,837]],8066:[[7938,837]],8067:[[7939,837]],8068:[[7940,837]],8069:[[7941,837]],8070:[[7942,837]],8071:[[7943,837]],8072:[[7944,837]],8073:[[7945,837]],8074:[[7946,837]],8075:[[7947,837]],8076:[[7948,837]],8077:[[7949,837]],8078:[[7950,837]],8079:[[7951,837]],8080:[[7968,837]],8081:[[7969,837]],8082:[[7970,837]],8083:[[7971,837]],8084:[[7972,837]],8085:[[7973,837]],8086:[[7974,837]],8087:[[7975,837]],8088:[[7976,837]],8089:[[7977,837]],8090:[[7978,837]],8091:[[7979,837]],8092:[[7980,837]],8093:[[7981,837]],8094:[[7982,837]],8095:[[7983,837]],8096:[[8032,837]],8097:[[8033,837]],8098:[[8034,837]],8099:[[8035,837]],8100:[[8036,837]],8101:[[8037,837]],8102:[[8038,837]],8103:[[8039,837]],8104:[[8040,837]],8105:[[8041,837]],8106:[[8042,837]],8107:[[8043,837]],8108:[[8044,837]],8109:[[8045,837]],8110:[[8046,837]],8111:[[8047,837]],8112:[[945,774]],8113:[[945,772]],8114:[[8048,837]],8115:[[945,837]],8116:[[940,837]],8118:[[945,834],,{837:8119}],8119:[[8118,837]],8120:[[913,774]],8121:[[913,772]],8122:[[913,768]],8123:[[902]],8124:[[913,837]],8125:[[32,787],256],8126:[[953]],8127:[[32,787],256,{768:8141,769:8142,834:8143}],8128:[[32,834],256],8129:[[168,834]],8130:[[8052,837]],8131:[[951,837]],8132:[[942,837]],8134:[[951,834],,{837:8135}],8135:[[8134,837]],8136:[[917,768]],8137:[[904]],8138:[[919,768]],8139:[[905]],8140:[[919,837]],8141:[[8127,768]],8142:[[8127,769]],8143:[[8127,834]],8144:[[953,774]],8145:[[953,772]],8146:[[970,768]],8147:[[912]],8150:[[953,834]],8151:[[970,834]],8152:[[921,774]],8153:[[921,772]],8154:[[921,768]],8155:[[906]],8157:[[8190,768]],8158:[[8190,769]],8159:[[8190,834]],8160:[[965,774]],8161:[[965,772]],8162:[[971,768]],8163:[[944]],8164:[[961,787]],8165:[[961,788]],8166:[[965,834]],8167:[[971,834]],8168:[[933,774]],8169:[[933,772]],8170:[[933,768]],8171:[[910]],8172:[[929,788]],8173:[[168,768]],8174:[[901]],8175:[[96]],8178:[[8060,837]],8179:[[969,837]],8180:[[974,837]],8182:[[969,834],,{837:8183}],8183:[[8182,837]],8184:[[927,768]],8185:[[908]],8186:[[937,768]],8187:[[911]],8188:[[937,837]],8189:[[180]],8190:[[32,788],256,{768:8157,769:8158,834:8159}]}, -8192:{8192:[[8194]],8193:[[8195]],8194:[[32],256],8195:[[32],256],8196:[[32],256],8197:[[32],256],8198:[[32],256],8199:[[32],256],8200:[[32],256],8201:[[32],256],8202:[[32],256],8209:[[8208],256],8215:[[32,819],256],8228:[[46],256],8229:[[46,46],256],8230:[[46,46,46],256],8239:[[32],256],8243:[[8242,8242],256],8244:[[8242,8242,8242],256],8246:[[8245,8245],256],8247:[[8245,8245,8245],256],8252:[[33,33],256],8254:[[32,773],256],8263:[[63,63],256],8264:[[63,33],256],8265:[[33,63],256],8279:[[8242,8242,8242,8242],256],8287:[[32],256],8304:[[48],256],8305:[[105],256],8308:[[52],256],8309:[[53],256],8310:[[54],256],8311:[[55],256],8312:[[56],256],8313:[[57],256],8314:[[43],256],8315:[[8722],256],8316:[[61],256],8317:[[40],256],8318:[[41],256],8319:[[110],256],8320:[[48],256],8321:[[49],256],8322:[[50],256],8323:[[51],256],8324:[[52],256],8325:[[53],256],8326:[[54],256],8327:[[55],256],8328:[[56],256],8329:[[57],256],8330:[[43],256],8331:[[8722],256],8332:[[61],256],8333:[[40],256],8334:[[41],256],8336:[[97],256],8337:[[101],256],8338:[[111],256],8339:[[120],256],8340:[[601],256],8341:[[104],256],8342:[[107],256],8343:[[108],256],8344:[[109],256],8345:[[110],256],8346:[[112],256],8347:[[115],256],8348:[[116],256],8360:[[82,115],256],8400:[,230],8401:[,230],8402:[,1],8403:[,1],8404:[,230],8405:[,230],8406:[,230],8407:[,230],8408:[,1],8409:[,1],8410:[,1],8411:[,230],8412:[,230],8417:[,230],8421:[,1],8422:[,1],8423:[,230],8424:[,220],8425:[,230],8426:[,1],8427:[,1],8428:[,220],8429:[,220],8430:[,220],8431:[,220],8432:[,230]}, -8448:{8448:[[97,47,99],256],8449:[[97,47,115],256],8450:[[67],256],8451:[[176,67],256],8453:[[99,47,111],256],8454:[[99,47,117],256],8455:[[400],256],8457:[[176,70],256],8458:[[103],256],8459:[[72],256],8460:[[72],256],8461:[[72],256],8462:[[104],256],8463:[[295],256],8464:[[73],256],8465:[[73],256],8466:[[76],256],8467:[[108],256],8469:[[78],256],8470:[[78,111],256],8473:[[80],256],8474:[[81],256],8475:[[82],256],8476:[[82],256],8477:[[82],256],8480:[[83,77],256],8481:[[84,69,76],256],8482:[[84,77],256],8484:[[90],256],8486:[[937]],8488:[[90],256],8490:[[75]],8491:[[197]],8492:[[66],256],8493:[[67],256],8495:[[101],256],8496:[[69],256],8497:[[70],256],8499:[[77],256],8500:[[111],256],8501:[[1488],256],8502:[[1489],256],8503:[[1490],256],8504:[[1491],256],8505:[[105],256],8507:[[70,65,88],256],8508:[[960],256],8509:[[947],256],8510:[[915],256],8511:[[928],256],8512:[[8721],256],8517:[[68],256],8518:[[100],256],8519:[[101],256],8520:[[105],256],8521:[[106],256],8528:[[49,8260,55],256],8529:[[49,8260,57],256],8530:[[49,8260,49,48],256],8531:[[49,8260,51],256],8532:[[50,8260,51],256],8533:[[49,8260,53],256],8534:[[50,8260,53],256],8535:[[51,8260,53],256],8536:[[52,8260,53],256],8537:[[49,8260,54],256],8538:[[53,8260,54],256],8539:[[49,8260,56],256],8540:[[51,8260,56],256],8541:[[53,8260,56],256],8542:[[55,8260,56],256],8543:[[49,8260],256],8544:[[73],256],8545:[[73,73],256],8546:[[73,73,73],256],8547:[[73,86],256],8548:[[86],256],8549:[[86,73],256],8550:[[86,73,73],256],8551:[[86,73,73,73],256],8552:[[73,88],256],8553:[[88],256],8554:[[88,73],256],8555:[[88,73,73],256],8556:[[76],256],8557:[[67],256],8558:[[68],256],8559:[[77],256],8560:[[105],256],8561:[[105,105],256],8562:[[105,105,105],256],8563:[[105,118],256],8564:[[118],256],8565:[[118,105],256],8566:[[118,105,105],256],8567:[[118,105,105,105],256],8568:[[105,120],256],8569:[[120],256],8570:[[120,105],256],8571:[[120,105,105],256],8572:[[108],256],8573:[[99],256],8574:[[100],256],8575:[[109],256],8585:[[48,8260,51],256],8592:[,,{824:8602}],8594:[,,{824:8603}],8596:[,,{824:8622}],8602:[[8592,824]],8603:[[8594,824]],8622:[[8596,824]],8653:[[8656,824]],8654:[[8660,824]],8655:[[8658,824]],8656:[,,{824:8653}],8658:[,,{824:8655}],8660:[,,{824:8654}]}, -8704:{8707:[,,{824:8708}],8708:[[8707,824]],8712:[,,{824:8713}],8713:[[8712,824]],8715:[,,{824:8716}],8716:[[8715,824]],8739:[,,{824:8740}],8740:[[8739,824]],8741:[,,{824:8742}],8742:[[8741,824]],8748:[[8747,8747],256],8749:[[8747,8747,8747],256],8751:[[8750,8750],256],8752:[[8750,8750,8750],256],8764:[,,{824:8769}],8769:[[8764,824]],8771:[,,{824:8772}],8772:[[8771,824]],8773:[,,{824:8775}],8775:[[8773,824]],8776:[,,{824:8777}],8777:[[8776,824]],8781:[,,{824:8813}],8800:[[61,824]],8801:[,,{824:8802}],8802:[[8801,824]],8804:[,,{824:8816}],8805:[,,{824:8817}],8813:[[8781,824]],8814:[[60,824]],8815:[[62,824]],8816:[[8804,824]],8817:[[8805,824]],8818:[,,{824:8820}],8819:[,,{824:8821}],8820:[[8818,824]],8821:[[8819,824]],8822:[,,{824:8824}],8823:[,,{824:8825}],8824:[[8822,824]],8825:[[8823,824]],8826:[,,{824:8832}],8827:[,,{824:8833}],8828:[,,{824:8928}],8829:[,,{824:8929}],8832:[[8826,824]],8833:[[8827,824]],8834:[,,{824:8836}],8835:[,,{824:8837}],8836:[[8834,824]],8837:[[8835,824]],8838:[,,{824:8840}],8839:[,,{824:8841}],8840:[[8838,824]],8841:[[8839,824]],8849:[,,{824:8930}],8850:[,,{824:8931}],8866:[,,{824:8876}],8872:[,,{824:8877}],8873:[,,{824:8878}],8875:[,,{824:8879}],8876:[[8866,824]],8877:[[8872,824]],8878:[[8873,824]],8879:[[8875,824]],8882:[,,{824:8938}],8883:[,,{824:8939}],8884:[,,{824:8940}],8885:[,,{824:8941}],8928:[[8828,824]],8929:[[8829,824]],8930:[[8849,824]],8931:[[8850,824]],8938:[[8882,824]],8939:[[8883,824]],8940:[[8884,824]],8941:[[8885,824]]}, -8960:{9001:[[12296]],9002:[[12297]]}, -9216:{9312:[[49],256],9313:[[50],256],9314:[[51],256],9315:[[52],256],9316:[[53],256],9317:[[54],256],9318:[[55],256],9319:[[56],256],9320:[[57],256],9321:[[49,48],256],9322:[[49,49],256],9323:[[49,50],256],9324:[[49,51],256],9325:[[49,52],256],9326:[[49,53],256],9327:[[49,54],256],9328:[[49,55],256],9329:[[49,56],256],9330:[[49,57],256],9331:[[50,48],256],9332:[[40,49,41],256],9333:[[40,50,41],256],9334:[[40,51,41],256],9335:[[40,52,41],256],9336:[[40,53,41],256],9337:[[40,54,41],256],9338:[[40,55,41],256],9339:[[40,56,41],256],9340:[[40,57,41],256],9341:[[40,49,48,41],256],9342:[[40,49,49,41],256],9343:[[40,49,50,41],256],9344:[[40,49,51,41],256],9345:[[40,49,52,41],256],9346:[[40,49,53,41],256],9347:[[40,49,54,41],256],9348:[[40,49,55,41],256],9349:[[40,49,56,41],256],9350:[[40,49,57,41],256],9351:[[40,50,48,41],256],9352:[[49,46],256],9353:[[50,46],256],9354:[[51,46],256],9355:[[52,46],256],9356:[[53,46],256],9357:[[54,46],256],9358:[[55,46],256],9359:[[56,46],256],9360:[[57,46],256],9361:[[49,48,46],256],9362:[[49,49,46],256],9363:[[49,50,46],256],9364:[[49,51,46],256],9365:[[49,52,46],256],9366:[[49,53,46],256],9367:[[49,54,46],256],9368:[[49,55,46],256],9369:[[49,56,46],256],9370:[[49,57,46],256],9371:[[50,48,46],256],9372:[[40,97,41],256],9373:[[40,98,41],256],9374:[[40,99,41],256],9375:[[40,100,41],256],9376:[[40,101,41],256],9377:[[40,102,41],256],9378:[[40,103,41],256],9379:[[40,104,41],256],9380:[[40,105,41],256],9381:[[40,106,41],256],9382:[[40,107,41],256],9383:[[40,108,41],256],9384:[[40,109,41],256],9385:[[40,110,41],256],9386:[[40,111,41],256],9387:[[40,112,41],256],9388:[[40,113,41],256],9389:[[40,114,41],256],9390:[[40,115,41],256],9391:[[40,116,41],256],9392:[[40,117,41],256],9393:[[40,118,41],256],9394:[[40,119,41],256],9395:[[40,120,41],256],9396:[[40,121,41],256],9397:[[40,122,41],256],9398:[[65],256],9399:[[66],256],9400:[[67],256],9401:[[68],256],9402:[[69],256],9403:[[70],256],9404:[[71],256],9405:[[72],256],9406:[[73],256],9407:[[74],256],9408:[[75],256],9409:[[76],256],9410:[[77],256],9411:[[78],256],9412:[[79],256],9413:[[80],256],9414:[[81],256],9415:[[82],256],9416:[[83],256],9417:[[84],256],9418:[[85],256],9419:[[86],256],9420:[[87],256],9421:[[88],256],9422:[[89],256],9423:[[90],256],9424:[[97],256],9425:[[98],256],9426:[[99],256],9427:[[100],256],9428:[[101],256],9429:[[102],256],9430:[[103],256],9431:[[104],256],9432:[[105],256],9433:[[106],256],9434:[[107],256],9435:[[108],256],9436:[[109],256],9437:[[110],256],9438:[[111],256],9439:[[112],256],9440:[[113],256],9441:[[114],256],9442:[[115],256],9443:[[116],256],9444:[[117],256],9445:[[118],256],9446:[[119],256],9447:[[120],256],9448:[[121],256],9449:[[122],256],9450:[[48],256]}, -10752:{10764:[[8747,8747,8747,8747],256],10868:[[58,58,61],256],10869:[[61,61],256],10870:[[61,61,61],256],10972:[[10973,824],512]}, -11264:{11388:[[106],256],11389:[[86],256],11503:[,230],11504:[,230],11505:[,230]}, -11520:{11631:[[11617],256],11647:[,9],11744:[,230],11745:[,230],11746:[,230],11747:[,230],11748:[,230],11749:[,230],11750:[,230],11751:[,230],11752:[,230],11753:[,230],11754:[,230],11755:[,230],11756:[,230],11757:[,230],11758:[,230],11759:[,230],11760:[,230],11761:[,230],11762:[,230],11763:[,230],11764:[,230],11765:[,230],11766:[,230],11767:[,230],11768:[,230],11769:[,230],11770:[,230],11771:[,230],11772:[,230],11773:[,230],11774:[,230],11775:[,230]}, -11776:{11935:[[27597],256],12019:[[40863],256]}, -12032:{12032:[[19968],256],12033:[[20008],256],12034:[[20022],256],12035:[[20031],256],12036:[[20057],256],12037:[[20101],256],12038:[[20108],256],12039:[[20128],256],12040:[[20154],256],12041:[[20799],256],12042:[[20837],256],12043:[[20843],256],12044:[[20866],256],12045:[[20886],256],12046:[[20907],256],12047:[[20960],256],12048:[[20981],256],12049:[[20992],256],12050:[[21147],256],12051:[[21241],256],12052:[[21269],256],12053:[[21274],256],12054:[[21304],256],12055:[[21313],256],12056:[[21340],256],12057:[[21353],256],12058:[[21378],256],12059:[[21430],256],12060:[[21448],256],12061:[[21475],256],12062:[[22231],256],12063:[[22303],256],12064:[[22763],256],12065:[[22786],256],12066:[[22794],256],12067:[[22805],256],12068:[[22823],256],12069:[[22899],256],12070:[[23376],256],12071:[[23424],256],12072:[[23544],256],12073:[[23567],256],12074:[[23586],256],12075:[[23608],256],12076:[[23662],256],12077:[[23665],256],12078:[[24027],256],12079:[[24037],256],12080:[[24049],256],12081:[[24062],256],12082:[[24178],256],12083:[[24186],256],12084:[[24191],256],12085:[[24308],256],12086:[[24318],256],12087:[[24331],256],12088:[[24339],256],12089:[[24400],256],12090:[[24417],256],12091:[[24435],256],12092:[[24515],256],12093:[[25096],256],12094:[[25142],256],12095:[[25163],256],12096:[[25903],256],12097:[[25908],256],12098:[[25991],256],12099:[[26007],256],12100:[[26020],256],12101:[[26041],256],12102:[[26080],256],12103:[[26085],256],12104:[[26352],256],12105:[[26376],256],12106:[[26408],256],12107:[[27424],256],12108:[[27490],256],12109:[[27513],256],12110:[[27571],256],12111:[[27595],256],12112:[[27604],256],12113:[[27611],256],12114:[[27663],256],12115:[[27668],256],12116:[[27700],256],12117:[[28779],256],12118:[[29226],256],12119:[[29238],256],12120:[[29243],256],12121:[[29247],256],12122:[[29255],256],12123:[[29273],256],12124:[[29275],256],12125:[[29356],256],12126:[[29572],256],12127:[[29577],256],12128:[[29916],256],12129:[[29926],256],12130:[[29976],256],12131:[[29983],256],12132:[[29992],256],12133:[[30000],256],12134:[[30091],256],12135:[[30098],256],12136:[[30326],256],12137:[[30333],256],12138:[[30382],256],12139:[[30399],256],12140:[[30446],256],12141:[[30683],256],12142:[[30690],256],12143:[[30707],256],12144:[[31034],256],12145:[[31160],256],12146:[[31166],256],12147:[[31348],256],12148:[[31435],256],12149:[[31481],256],12150:[[31859],256],12151:[[31992],256],12152:[[32566],256],12153:[[32593],256],12154:[[32650],256],12155:[[32701],256],12156:[[32769],256],12157:[[32780],256],12158:[[32786],256],12159:[[32819],256],12160:[[32895],256],12161:[[32905],256],12162:[[33251],256],12163:[[33258],256],12164:[[33267],256],12165:[[33276],256],12166:[[33292],256],12167:[[33307],256],12168:[[33311],256],12169:[[33390],256],12170:[[33394],256],12171:[[33400],256],12172:[[34381],256],12173:[[34411],256],12174:[[34880],256],12175:[[34892],256],12176:[[34915],256],12177:[[35198],256],12178:[[35211],256],12179:[[35282],256],12180:[[35328],256],12181:[[35895],256],12182:[[35910],256],12183:[[35925],256],12184:[[35960],256],12185:[[35997],256],12186:[[36196],256],12187:[[36208],256],12188:[[36275],256],12189:[[36523],256],12190:[[36554],256],12191:[[36763],256],12192:[[36784],256],12193:[[36789],256],12194:[[37009],256],12195:[[37193],256],12196:[[37318],256],12197:[[37324],256],12198:[[37329],256],12199:[[38263],256],12200:[[38272],256],12201:[[38428],256],12202:[[38582],256],12203:[[38585],256],12204:[[38632],256],12205:[[38737],256],12206:[[38750],256],12207:[[38754],256],12208:[[38761],256],12209:[[38859],256],12210:[[38893],256],12211:[[38899],256],12212:[[38913],256],12213:[[39080],256],12214:[[39131],256],12215:[[39135],256],12216:[[39318],256],12217:[[39321],256],12218:[[39340],256],12219:[[39592],256],12220:[[39640],256],12221:[[39647],256],12222:[[39717],256],12223:[[39727],256],12224:[[39730],256],12225:[[39740],256],12226:[[39770],256],12227:[[40165],256],12228:[[40565],256],12229:[[40575],256],12230:[[40613],256],12231:[[40635],256],12232:[[40643],256],12233:[[40653],256],12234:[[40657],256],12235:[[40697],256],12236:[[40701],256],12237:[[40718],256],12238:[[40723],256],12239:[[40736],256],12240:[[40763],256],12241:[[40778],256],12242:[[40786],256],12243:[[40845],256],12244:[[40860],256],12245:[[40864],256]}, -12288:{12288:[[32],256],12330:[,218],12331:[,228],12332:[,232],12333:[,222],12334:[,224],12335:[,224],12342:[[12306],256],12344:[[21313],256],12345:[[21316],256],12346:[[21317],256],12358:[,,{12441:12436}],12363:[,,{12441:12364}],12364:[[12363,12441]],12365:[,,{12441:12366}],12366:[[12365,12441]],12367:[,,{12441:12368}],12368:[[12367,12441]],12369:[,,{12441:12370}],12370:[[12369,12441]],12371:[,,{12441:12372}],12372:[[12371,12441]],12373:[,,{12441:12374}],12374:[[12373,12441]],12375:[,,{12441:12376}],12376:[[12375,12441]],12377:[,,{12441:12378}],12378:[[12377,12441]],12379:[,,{12441:12380}],12380:[[12379,12441]],12381:[,,{12441:12382}],12382:[[12381,12441]],12383:[,,{12441:12384}],12384:[[12383,12441]],12385:[,,{12441:12386}],12386:[[12385,12441]],12388:[,,{12441:12389}],12389:[[12388,12441]],12390:[,,{12441:12391}],12391:[[12390,12441]],12392:[,,{12441:12393}],12393:[[12392,12441]],12399:[,,{12441:12400,12442:12401}],12400:[[12399,12441]],12401:[[12399,12442]],12402:[,,{12441:12403,12442:12404}],12403:[[12402,12441]],12404:[[12402,12442]],12405:[,,{12441:12406,12442:12407}],12406:[[12405,12441]],12407:[[12405,12442]],12408:[,,{12441:12409,12442:12410}],12409:[[12408,12441]],12410:[[12408,12442]],12411:[,,{12441:12412,12442:12413}],12412:[[12411,12441]],12413:[[12411,12442]],12436:[[12358,12441]],12441:[,8],12442:[,8],12443:[[32,12441],256],12444:[[32,12442],256],12445:[,,{12441:12446}],12446:[[12445,12441]],12447:[[12424,12426],256],12454:[,,{12441:12532}],12459:[,,{12441:12460}],12460:[[12459,12441]],12461:[,,{12441:12462}],12462:[[12461,12441]],12463:[,,{12441:12464}],12464:[[12463,12441]],12465:[,,{12441:12466}],12466:[[12465,12441]],12467:[,,{12441:12468}],12468:[[12467,12441]],12469:[,,{12441:12470}],12470:[[12469,12441]],12471:[,,{12441:12472}],12472:[[12471,12441]],12473:[,,{12441:12474}],12474:[[12473,12441]],12475:[,,{12441:12476}],12476:[[12475,12441]],12477:[,,{12441:12478}],12478:[[12477,12441]],12479:[,,{12441:12480}],12480:[[12479,12441]],12481:[,,{12441:12482}],12482:[[12481,12441]],12484:[,,{12441:12485}],12485:[[12484,12441]],12486:[,,{12441:12487}],12487:[[12486,12441]],12488:[,,{12441:12489}],12489:[[12488,12441]],12495:[,,{12441:12496,12442:12497}],12496:[[12495,12441]],12497:[[12495,12442]],12498:[,,{12441:12499,12442:12500}],12499:[[12498,12441]],12500:[[12498,12442]],12501:[,,{12441:12502,12442:12503}],12502:[[12501,12441]],12503:[[12501,12442]],12504:[,,{12441:12505,12442:12506}],12505:[[12504,12441]],12506:[[12504,12442]],12507:[,,{12441:12508,12442:12509}],12508:[[12507,12441]],12509:[[12507,12442]],12527:[,,{12441:12535}],12528:[,,{12441:12536}],12529:[,,{12441:12537}],12530:[,,{12441:12538}],12532:[[12454,12441]],12535:[[12527,12441]],12536:[[12528,12441]],12537:[[12529,12441]],12538:[[12530,12441]],12541:[,,{12441:12542}],12542:[[12541,12441]],12543:[[12467,12488],256]}, -12544:{12593:[[4352],256],12594:[[4353],256],12595:[[4522],256],12596:[[4354],256],12597:[[4524],256],12598:[[4525],256],12599:[[4355],256],12600:[[4356],256],12601:[[4357],256],12602:[[4528],256],12603:[[4529],256],12604:[[4530],256],12605:[[4531],256],12606:[[4532],256],12607:[[4533],256],12608:[[4378],256],12609:[[4358],256],12610:[[4359],256],12611:[[4360],256],12612:[[4385],256],12613:[[4361],256],12614:[[4362],256],12615:[[4363],256],12616:[[4364],256],12617:[[4365],256],12618:[[4366],256],12619:[[4367],256],12620:[[4368],256],12621:[[4369],256],12622:[[4370],256],12623:[[4449],256],12624:[[4450],256],12625:[[4451],256],12626:[[4452],256],12627:[[4453],256],12628:[[4454],256],12629:[[4455],256],12630:[[4456],256],12631:[[4457],256],12632:[[4458],256],12633:[[4459],256],12634:[[4460],256],12635:[[4461],256],12636:[[4462],256],12637:[[4463],256],12638:[[4464],256],12639:[[4465],256],12640:[[4466],256],12641:[[4467],256],12642:[[4468],256],12643:[[4469],256],12644:[[4448],256],12645:[[4372],256],12646:[[4373],256],12647:[[4551],256],12648:[[4552],256],12649:[[4556],256],12650:[[4558],256],12651:[[4563],256],12652:[[4567],256],12653:[[4569],256],12654:[[4380],256],12655:[[4573],256],12656:[[4575],256],12657:[[4381],256],12658:[[4382],256],12659:[[4384],256],12660:[[4386],256],12661:[[4387],256],12662:[[4391],256],12663:[[4393],256],12664:[[4395],256],12665:[[4396],256],12666:[[4397],256],12667:[[4398],256],12668:[[4399],256],12669:[[4402],256],12670:[[4406],256],12671:[[4416],256],12672:[[4423],256],12673:[[4428],256],12674:[[4593],256],12675:[[4594],256],12676:[[4439],256],12677:[[4440],256],12678:[[4441],256],12679:[[4484],256],12680:[[4485],256],12681:[[4488],256],12682:[[4497],256],12683:[[4498],256],12684:[[4500],256],12685:[[4510],256],12686:[[4513],256],12690:[[19968],256],12691:[[20108],256],12692:[[19977],256],12693:[[22235],256],12694:[[19978],256],12695:[[20013],256],12696:[[19979],256],12697:[[30002],256],12698:[[20057],256],12699:[[19993],256],12700:[[19969],256],12701:[[22825],256],12702:[[22320],256],12703:[[20154],256]}, -12800:{12800:[[40,4352,41],256],12801:[[40,4354,41],256],12802:[[40,4355,41],256],12803:[[40,4357,41],256],12804:[[40,4358,41],256],12805:[[40,4359,41],256],12806:[[40,4361,41],256],12807:[[40,4363,41],256],12808:[[40,4364,41],256],12809:[[40,4366,41],256],12810:[[40,4367,41],256],12811:[[40,4368,41],256],12812:[[40,4369,41],256],12813:[[40,4370,41],256],12814:[[40,4352,4449,41],256],12815:[[40,4354,4449,41],256],12816:[[40,4355,4449,41],256],12817:[[40,4357,4449,41],256],12818:[[40,4358,4449,41],256],12819:[[40,4359,4449,41],256],12820:[[40,4361,4449,41],256],12821:[[40,4363,4449,41],256],12822:[[40,4364,4449,41],256],12823:[[40,4366,4449,41],256],12824:[[40,4367,4449,41],256],12825:[[40,4368,4449,41],256],12826:[[40,4369,4449,41],256],12827:[[40,4370,4449,41],256],12828:[[40,4364,4462,41],256],12829:[[40,4363,4457,4364,4453,4523,41],256],12830:[[40,4363,4457,4370,4462,41],256],12832:[[40,19968,41],256],12833:[[40,20108,41],256],12834:[[40,19977,41],256],12835:[[40,22235,41],256],12836:[[40,20116,41],256],12837:[[40,20845,41],256],12838:[[40,19971,41],256],12839:[[40,20843,41],256],12840:[[40,20061,41],256],12841:[[40,21313,41],256],12842:[[40,26376,41],256],12843:[[40,28779,41],256],12844:[[40,27700,41],256],12845:[[40,26408,41],256],12846:[[40,37329,41],256],12847:[[40,22303,41],256],12848:[[40,26085,41],256],12849:[[40,26666,41],256],12850:[[40,26377,41],256],12851:[[40,31038,41],256],12852:[[40,21517,41],256],12853:[[40,29305,41],256],12854:[[40,36001,41],256],12855:[[40,31069,41],256],12856:[[40,21172,41],256],12857:[[40,20195,41],256],12858:[[40,21628,41],256],12859:[[40,23398,41],256],12860:[[40,30435,41],256],12861:[[40,20225,41],256],12862:[[40,36039,41],256],12863:[[40,21332,41],256],12864:[[40,31085,41],256],12865:[[40,20241,41],256],12866:[[40,33258,41],256],12867:[[40,33267,41],256],12868:[[21839],256],12869:[[24188],256],12870:[[25991],256],12871:[[31631],256],12880:[[80,84,69],256],12881:[[50,49],256],12882:[[50,50],256],12883:[[50,51],256],12884:[[50,52],256],12885:[[50,53],256],12886:[[50,54],256],12887:[[50,55],256],12888:[[50,56],256],12889:[[50,57],256],12890:[[51,48],256],12891:[[51,49],256],12892:[[51,50],256],12893:[[51,51],256],12894:[[51,52],256],12895:[[51,53],256],12896:[[4352],256],12897:[[4354],256],12898:[[4355],256],12899:[[4357],256],12900:[[4358],256],12901:[[4359],256],12902:[[4361],256],12903:[[4363],256],12904:[[4364],256],12905:[[4366],256],12906:[[4367],256],12907:[[4368],256],12908:[[4369],256],12909:[[4370],256],12910:[[4352,4449],256],12911:[[4354,4449],256],12912:[[4355,4449],256],12913:[[4357,4449],256],12914:[[4358,4449],256],12915:[[4359,4449],256],12916:[[4361,4449],256],12917:[[4363,4449],256],12918:[[4364,4449],256],12919:[[4366,4449],256],12920:[[4367,4449],256],12921:[[4368,4449],256],12922:[[4369,4449],256],12923:[[4370,4449],256],12924:[[4366,4449,4535,4352,4457],256],12925:[[4364,4462,4363,4468],256],12926:[[4363,4462],256],12928:[[19968],256],12929:[[20108],256],12930:[[19977],256],12931:[[22235],256],12932:[[20116],256],12933:[[20845],256],12934:[[19971],256],12935:[[20843],256],12936:[[20061],256],12937:[[21313],256],12938:[[26376],256],12939:[[28779],256],12940:[[27700],256],12941:[[26408],256],12942:[[37329],256],12943:[[22303],256],12944:[[26085],256],12945:[[26666],256],12946:[[26377],256],12947:[[31038],256],12948:[[21517],256],12949:[[29305],256],12950:[[36001],256],12951:[[31069],256],12952:[[21172],256],12953:[[31192],256],12954:[[30007],256],12955:[[22899],256],12956:[[36969],256],12957:[[20778],256],12958:[[21360],256],12959:[[27880],256],12960:[[38917],256],12961:[[20241],256],12962:[[20889],256],12963:[[27491],256],12964:[[19978],256],12965:[[20013],256],12966:[[19979],256],12967:[[24038],256],12968:[[21491],256],12969:[[21307],256],12970:[[23447],256],12971:[[23398],256],12972:[[30435],256],12973:[[20225],256],12974:[[36039],256],12975:[[21332],256],12976:[[22812],256],12977:[[51,54],256],12978:[[51,55],256],12979:[[51,56],256],12980:[[51,57],256],12981:[[52,48],256],12982:[[52,49],256],12983:[[52,50],256],12984:[[52,51],256],12985:[[52,52],256],12986:[[52,53],256],12987:[[52,54],256],12988:[[52,55],256],12989:[[52,56],256],12990:[[52,57],256],12991:[[53,48],256],12992:[[49,26376],256],12993:[[50,26376],256],12994:[[51,26376],256],12995:[[52,26376],256],12996:[[53,26376],256],12997:[[54,26376],256],12998:[[55,26376],256],12999:[[56,26376],256],13000:[[57,26376],256],13001:[[49,48,26376],256],13002:[[49,49,26376],256],13003:[[49,50,26376],256],13004:[[72,103],256],13005:[[101,114,103],256],13006:[[101,86],256],13007:[[76,84,68],256],13008:[[12450],256],13009:[[12452],256],13010:[[12454],256],13011:[[12456],256],13012:[[12458],256],13013:[[12459],256],13014:[[12461],256],13015:[[12463],256],13016:[[12465],256],13017:[[12467],256],13018:[[12469],256],13019:[[12471],256],13020:[[12473],256],13021:[[12475],256],13022:[[12477],256],13023:[[12479],256],13024:[[12481],256],13025:[[12484],256],13026:[[12486],256],13027:[[12488],256],13028:[[12490],256],13029:[[12491],256],13030:[[12492],256],13031:[[12493],256],13032:[[12494],256],13033:[[12495],256],13034:[[12498],256],13035:[[12501],256],13036:[[12504],256],13037:[[12507],256],13038:[[12510],256],13039:[[12511],256],13040:[[12512],256],13041:[[12513],256],13042:[[12514],256],13043:[[12516],256],13044:[[12518],256],13045:[[12520],256],13046:[[12521],256],13047:[[12522],256],13048:[[12523],256],13049:[[12524],256],13050:[[12525],256],13051:[[12527],256],13052:[[12528],256],13053:[[12529],256],13054:[[12530],256]}, -13056:{13056:[[12450,12497,12540,12488],256],13057:[[12450,12523,12501,12449],256],13058:[[12450,12531,12506,12450],256],13059:[[12450,12540,12523],256],13060:[[12452,12491,12531,12464],256],13061:[[12452,12531,12481],256],13062:[[12454,12457,12531],256],13063:[[12456,12473,12463,12540,12489],256],13064:[[12456,12540,12459,12540],256],13065:[[12458,12531,12473],256],13066:[[12458,12540,12512],256],13067:[[12459,12452,12522],256],13068:[[12459,12521,12483,12488],256],13069:[[12459,12525,12522,12540],256],13070:[[12460,12525,12531],256],13071:[[12460,12531,12510],256],13072:[[12462,12460],256],13073:[[12462,12491,12540],256],13074:[[12461,12517,12522,12540],256],13075:[[12462,12523,12480,12540],256],13076:[[12461,12525],256],13077:[[12461,12525,12464,12521,12512],256],13078:[[12461,12525,12513,12540,12488,12523],256],13079:[[12461,12525,12527,12483,12488],256],13080:[[12464,12521,12512],256],13081:[[12464,12521,12512,12488,12531],256],13082:[[12463,12523,12476,12452,12525],256],13083:[[12463,12525,12540,12493],256],13084:[[12465,12540,12473],256],13085:[[12467,12523,12490],256],13086:[[12467,12540,12509],256],13087:[[12469,12452,12463,12523],256],13088:[[12469,12531,12481,12540,12512],256],13089:[[12471,12522,12531,12464],256],13090:[[12475,12531,12481],256],13091:[[12475,12531,12488],256],13092:[[12480,12540,12473],256],13093:[[12487,12471],256],13094:[[12489,12523],256],13095:[[12488,12531],256],13096:[[12490,12494],256],13097:[[12494,12483,12488],256],13098:[[12495,12452,12484],256],13099:[[12497,12540,12475,12531,12488],256],13100:[[12497,12540,12484],256],13101:[[12496,12540,12524,12523],256],13102:[[12500,12450,12473,12488,12523],256],13103:[[12500,12463,12523],256],13104:[[12500,12467],256],13105:[[12499,12523],256],13106:[[12501,12449,12521,12483,12489],256],13107:[[12501,12451,12540,12488],256],13108:[[12502,12483,12471,12455,12523],256],13109:[[12501,12521,12531],256],13110:[[12504,12463,12479,12540,12523],256],13111:[[12506,12477],256],13112:[[12506,12491,12498],256],13113:[[12504,12523,12484],256],13114:[[12506,12531,12473],256],13115:[[12506,12540,12472],256],13116:[[12505,12540,12479],256],13117:[[12509,12452,12531,12488],256],13118:[[12508,12523,12488],256],13119:[[12507,12531],256],13120:[[12509,12531,12489],256],13121:[[12507,12540,12523],256],13122:[[12507,12540,12531],256],13123:[[12510,12452,12463,12525],256],13124:[[12510,12452,12523],256],13125:[[12510,12483,12495],256],13126:[[12510,12523,12463],256],13127:[[12510,12531,12471,12519,12531],256],13128:[[12511,12463,12525,12531],256],13129:[[12511,12522],256],13130:[[12511,12522,12496,12540,12523],256],13131:[[12513,12460],256],13132:[[12513,12460,12488,12531],256],13133:[[12513,12540,12488,12523],256],13134:[[12516,12540,12489],256],13135:[[12516,12540,12523],256],13136:[[12518,12450,12531],256],13137:[[12522,12483,12488,12523],256],13138:[[12522,12521],256],13139:[[12523,12500,12540],256],13140:[[12523,12540,12502,12523],256],13141:[[12524,12512],256],13142:[[12524,12531,12488,12466,12531],256],13143:[[12527,12483,12488],256],13144:[[48,28857],256],13145:[[49,28857],256],13146:[[50,28857],256],13147:[[51,28857],256],13148:[[52,28857],256],13149:[[53,28857],256],13150:[[54,28857],256],13151:[[55,28857],256],13152:[[56,28857],256],13153:[[57,28857],256],13154:[[49,48,28857],256],13155:[[49,49,28857],256],13156:[[49,50,28857],256],13157:[[49,51,28857],256],13158:[[49,52,28857],256],13159:[[49,53,28857],256],13160:[[49,54,28857],256],13161:[[49,55,28857],256],13162:[[49,56,28857],256],13163:[[49,57,28857],256],13164:[[50,48,28857],256],13165:[[50,49,28857],256],13166:[[50,50,28857],256],13167:[[50,51,28857],256],13168:[[50,52,28857],256],13169:[[104,80,97],256],13170:[[100,97],256],13171:[[65,85],256],13172:[[98,97,114],256],13173:[[111,86],256],13174:[[112,99],256],13175:[[100,109],256],13176:[[100,109,178],256],13177:[[100,109,179],256],13178:[[73,85],256],13179:[[24179,25104],256],13180:[[26157,21644],256],13181:[[22823,27491],256],13182:[[26126,27835],256],13183:[[26666,24335,20250,31038],256],13184:[[112,65],256],13185:[[110,65],256],13186:[[956,65],256],13187:[[109,65],256],13188:[[107,65],256],13189:[[75,66],256],13190:[[77,66],256],13191:[[71,66],256],13192:[[99,97,108],256],13193:[[107,99,97,108],256],13194:[[112,70],256],13195:[[110,70],256],13196:[[956,70],256],13197:[[956,103],256],13198:[[109,103],256],13199:[[107,103],256],13200:[[72,122],256],13201:[[107,72,122],256],13202:[[77,72,122],256],13203:[[71,72,122],256],13204:[[84,72,122],256],13205:[[956,8467],256],13206:[[109,8467],256],13207:[[100,8467],256],13208:[[107,8467],256],13209:[[102,109],256],13210:[[110,109],256],13211:[[956,109],256],13212:[[109,109],256],13213:[[99,109],256],13214:[[107,109],256],13215:[[109,109,178],256],13216:[[99,109,178],256],13217:[[109,178],256],13218:[[107,109,178],256],13219:[[109,109,179],256],13220:[[99,109,179],256],13221:[[109,179],256],13222:[[107,109,179],256],13223:[[109,8725,115],256],13224:[[109,8725,115,178],256],13225:[[80,97],256],13226:[[107,80,97],256],13227:[[77,80,97],256],13228:[[71,80,97],256],13229:[[114,97,100],256],13230:[[114,97,100,8725,115],256],13231:[[114,97,100,8725,115,178],256],13232:[[112,115],256],13233:[[110,115],256],13234:[[956,115],256],13235:[[109,115],256],13236:[[112,86],256],13237:[[110,86],256],13238:[[956,86],256],13239:[[109,86],256],13240:[[107,86],256],13241:[[77,86],256],13242:[[112,87],256],13243:[[110,87],256],13244:[[956,87],256],13245:[[109,87],256],13246:[[107,87],256],13247:[[77,87],256],13248:[[107,937],256],13249:[[77,937],256],13250:[[97,46,109,46],256],13251:[[66,113],256],13252:[[99,99],256],13253:[[99,100],256],13254:[[67,8725,107,103],256],13255:[[67,111,46],256],13256:[[100,66],256],13257:[[71,121],256],13258:[[104,97],256],13259:[[72,80],256],13260:[[105,110],256],13261:[[75,75],256],13262:[[75,77],256],13263:[[107,116],256],13264:[[108,109],256],13265:[[108,110],256],13266:[[108,111,103],256],13267:[[108,120],256],13268:[[109,98],256],13269:[[109,105,108],256],13270:[[109,111,108],256],13271:[[80,72],256],13272:[[112,46,109,46],256],13273:[[80,80,77],256],13274:[[80,82],256],13275:[[115,114],256],13276:[[83,118],256],13277:[[87,98],256],13278:[[86,8725,109],256],13279:[[65,8725,109],256],13280:[[49,26085],256],13281:[[50,26085],256],13282:[[51,26085],256],13283:[[52,26085],256],13284:[[53,26085],256],13285:[[54,26085],256],13286:[[55,26085],256],13287:[[56,26085],256],13288:[[57,26085],256],13289:[[49,48,26085],256],13290:[[49,49,26085],256],13291:[[49,50,26085],256],13292:[[49,51,26085],256],13293:[[49,52,26085],256],13294:[[49,53,26085],256],13295:[[49,54,26085],256],13296:[[49,55,26085],256],13297:[[49,56,26085],256],13298:[[49,57,26085],256],13299:[[50,48,26085],256],13300:[[50,49,26085],256],13301:[[50,50,26085],256],13302:[[50,51,26085],256],13303:[[50,52,26085],256],13304:[[50,53,26085],256],13305:[[50,54,26085],256],13306:[[50,55,26085],256],13307:[[50,56,26085],256],13308:[[50,57,26085],256],13309:[[51,48,26085],256],13310:[[51,49,26085],256],13311:[[103,97,108],256]}, -27136:{92912:[,1],92913:[,1],92914:[,1],92915:[,1],92916:[,1]}, -27392:{92976:[,230],92977:[,230],92978:[,230],92979:[,230],92980:[,230],92981:[,230],92982:[,230]}, -42496:{42607:[,230],42612:[,230],42613:[,230],42614:[,230],42615:[,230],42616:[,230],42617:[,230],42618:[,230],42619:[,230],42620:[,230],42621:[,230],42652:[[1098],256],42653:[[1100],256],42655:[,230],42736:[,230],42737:[,230]}, -42752:{42864:[[42863],256],43000:[[294],256],43001:[[339],256]}, -43008:{43014:[,9],43204:[,9],43232:[,230],43233:[,230],43234:[,230],43235:[,230],43236:[,230],43237:[,230],43238:[,230],43239:[,230],43240:[,230],43241:[,230],43242:[,230],43243:[,230],43244:[,230],43245:[,230],43246:[,230],43247:[,230],43248:[,230],43249:[,230]}, -43264:{43307:[,220],43308:[,220],43309:[,220],43347:[,9],43443:[,7],43456:[,9]}, -43520:{43696:[,230],43698:[,230],43699:[,230],43700:[,220],43703:[,230],43704:[,230],43710:[,230],43711:[,230],43713:[,230],43766:[,9]}, -43776:{43868:[[42791],256],43869:[[43831],256],43870:[[619],256],43871:[[43858],256],44013:[,9]}, -48128:{113822:[,1]}, -53504:{119134:[[119127,119141],512],119135:[[119128,119141],512],119136:[[119135,119150],512],119137:[[119135,119151],512],119138:[[119135,119152],512],119139:[[119135,119153],512],119140:[[119135,119154],512],119141:[,216],119142:[,216],119143:[,1],119144:[,1],119145:[,1],119149:[,226],119150:[,216],119151:[,216],119152:[,216],119153:[,216],119154:[,216],119163:[,220],119164:[,220],119165:[,220],119166:[,220],119167:[,220],119168:[,220],119169:[,220],119170:[,220],119173:[,230],119174:[,230],119175:[,230],119176:[,230],119177:[,230],119178:[,220],119179:[,220],119210:[,230],119211:[,230],119212:[,230],119213:[,230],119227:[[119225,119141],512],119228:[[119226,119141],512],119229:[[119227,119150],512],119230:[[119228,119150],512],119231:[[119227,119151],512],119232:[[119228,119151],512]}, -53760:{119362:[,230],119363:[,230],119364:[,230]}, -54272:{119808:[[65],256],119809:[[66],256],119810:[[67],256],119811:[[68],256],119812:[[69],256],119813:[[70],256],119814:[[71],256],119815:[[72],256],119816:[[73],256],119817:[[74],256],119818:[[75],256],119819:[[76],256],119820:[[77],256],119821:[[78],256],119822:[[79],256],119823:[[80],256],119824:[[81],256],119825:[[82],256],119826:[[83],256],119827:[[84],256],119828:[[85],256],119829:[[86],256],119830:[[87],256],119831:[[88],256],119832:[[89],256],119833:[[90],256],119834:[[97],256],119835:[[98],256],119836:[[99],256],119837:[[100],256],119838:[[101],256],119839:[[102],256],119840:[[103],256],119841:[[104],256],119842:[[105],256],119843:[[106],256],119844:[[107],256],119845:[[108],256],119846:[[109],256],119847:[[110],256],119848:[[111],256],119849:[[112],256],119850:[[113],256],119851:[[114],256],119852:[[115],256],119853:[[116],256],119854:[[117],256],119855:[[118],256],119856:[[119],256],119857:[[120],256],119858:[[121],256],119859:[[122],256],119860:[[65],256],119861:[[66],256],119862:[[67],256],119863:[[68],256],119864:[[69],256],119865:[[70],256],119866:[[71],256],119867:[[72],256],119868:[[73],256],119869:[[74],256],119870:[[75],256],119871:[[76],256],119872:[[77],256],119873:[[78],256],119874:[[79],256],119875:[[80],256],119876:[[81],256],119877:[[82],256],119878:[[83],256],119879:[[84],256],119880:[[85],256],119881:[[86],256],119882:[[87],256],119883:[[88],256],119884:[[89],256],119885:[[90],256],119886:[[97],256],119887:[[98],256],119888:[[99],256],119889:[[100],256],119890:[[101],256],119891:[[102],256],119892:[[103],256],119894:[[105],256],119895:[[106],256],119896:[[107],256],119897:[[108],256],119898:[[109],256],119899:[[110],256],119900:[[111],256],119901:[[112],256],119902:[[113],256],119903:[[114],256],119904:[[115],256],119905:[[116],256],119906:[[117],256],119907:[[118],256],119908:[[119],256],119909:[[120],256],119910:[[121],256],119911:[[122],256],119912:[[65],256],119913:[[66],256],119914:[[67],256],119915:[[68],256],119916:[[69],256],119917:[[70],256],119918:[[71],256],119919:[[72],256],119920:[[73],256],119921:[[74],256],119922:[[75],256],119923:[[76],256],119924:[[77],256],119925:[[78],256],119926:[[79],256],119927:[[80],256],119928:[[81],256],119929:[[82],256],119930:[[83],256],119931:[[84],256],119932:[[85],256],119933:[[86],256],119934:[[87],256],119935:[[88],256],119936:[[89],256],119937:[[90],256],119938:[[97],256],119939:[[98],256],119940:[[99],256],119941:[[100],256],119942:[[101],256],119943:[[102],256],119944:[[103],256],119945:[[104],256],119946:[[105],256],119947:[[106],256],119948:[[107],256],119949:[[108],256],119950:[[109],256],119951:[[110],256],119952:[[111],256],119953:[[112],256],119954:[[113],256],119955:[[114],256],119956:[[115],256],119957:[[116],256],119958:[[117],256],119959:[[118],256],119960:[[119],256],119961:[[120],256],119962:[[121],256],119963:[[122],256],119964:[[65],256],119966:[[67],256],119967:[[68],256],119970:[[71],256],119973:[[74],256],119974:[[75],256],119977:[[78],256],119978:[[79],256],119979:[[80],256],119980:[[81],256],119982:[[83],256],119983:[[84],256],119984:[[85],256],119985:[[86],256],119986:[[87],256],119987:[[88],256],119988:[[89],256],119989:[[90],256],119990:[[97],256],119991:[[98],256],119992:[[99],256],119993:[[100],256],119995:[[102],256],119997:[[104],256],119998:[[105],256],119999:[[106],256],120000:[[107],256],120001:[[108],256],120002:[[109],256],120003:[[110],256],120005:[[112],256],120006:[[113],256],120007:[[114],256],120008:[[115],256],120009:[[116],256],120010:[[117],256],120011:[[118],256],120012:[[119],256],120013:[[120],256],120014:[[121],256],120015:[[122],256],120016:[[65],256],120017:[[66],256],120018:[[67],256],120019:[[68],256],120020:[[69],256],120021:[[70],256],120022:[[71],256],120023:[[72],256],120024:[[73],256],120025:[[74],256],120026:[[75],256],120027:[[76],256],120028:[[77],256],120029:[[78],256],120030:[[79],256],120031:[[80],256],120032:[[81],256],120033:[[82],256],120034:[[83],256],120035:[[84],256],120036:[[85],256],120037:[[86],256],120038:[[87],256],120039:[[88],256],120040:[[89],256],120041:[[90],256],120042:[[97],256],120043:[[98],256],120044:[[99],256],120045:[[100],256],120046:[[101],256],120047:[[102],256],120048:[[103],256],120049:[[104],256],120050:[[105],256],120051:[[106],256],120052:[[107],256],120053:[[108],256],120054:[[109],256],120055:[[110],256],120056:[[111],256],120057:[[112],256],120058:[[113],256],120059:[[114],256],120060:[[115],256],120061:[[116],256],120062:[[117],256],120063:[[118],256]}, -54528:{120064:[[119],256],120065:[[120],256],120066:[[121],256],120067:[[122],256],120068:[[65],256],120069:[[66],256],120071:[[68],256],120072:[[69],256],120073:[[70],256],120074:[[71],256],120077:[[74],256],120078:[[75],256],120079:[[76],256],120080:[[77],256],120081:[[78],256],120082:[[79],256],120083:[[80],256],120084:[[81],256],120086:[[83],256],120087:[[84],256],120088:[[85],256],120089:[[86],256],120090:[[87],256],120091:[[88],256],120092:[[89],256],120094:[[97],256],120095:[[98],256],120096:[[99],256],120097:[[100],256],120098:[[101],256],120099:[[102],256],120100:[[103],256],120101:[[104],256],120102:[[105],256],120103:[[106],256],120104:[[107],256],120105:[[108],256],120106:[[109],256],120107:[[110],256],120108:[[111],256],120109:[[112],256],120110:[[113],256],120111:[[114],256],120112:[[115],256],120113:[[116],256],120114:[[117],256],120115:[[118],256],120116:[[119],256],120117:[[120],256],120118:[[121],256],120119:[[122],256],120120:[[65],256],120121:[[66],256],120123:[[68],256],120124:[[69],256],120125:[[70],256],120126:[[71],256],120128:[[73],256],120129:[[74],256],120130:[[75],256],120131:[[76],256],120132:[[77],256],120134:[[79],256],120138:[[83],256],120139:[[84],256],120140:[[85],256],120141:[[86],256],120142:[[87],256],120143:[[88],256],120144:[[89],256],120146:[[97],256],120147:[[98],256],120148:[[99],256],120149:[[100],256],120150:[[101],256],120151:[[102],256],120152:[[103],256],120153:[[104],256],120154:[[105],256],120155:[[106],256],120156:[[107],256],120157:[[108],256],120158:[[109],256],120159:[[110],256],120160:[[111],256],120161:[[112],256],120162:[[113],256],120163:[[114],256],120164:[[115],256],120165:[[116],256],120166:[[117],256],120167:[[118],256],120168:[[119],256],120169:[[120],256],120170:[[121],256],120171:[[122],256],120172:[[65],256],120173:[[66],256],120174:[[67],256],120175:[[68],256],120176:[[69],256],120177:[[70],256],120178:[[71],256],120179:[[72],256],120180:[[73],256],120181:[[74],256],120182:[[75],256],120183:[[76],256],120184:[[77],256],120185:[[78],256],120186:[[79],256],120187:[[80],256],120188:[[81],256],120189:[[82],256],120190:[[83],256],120191:[[84],256],120192:[[85],256],120193:[[86],256],120194:[[87],256],120195:[[88],256],120196:[[89],256],120197:[[90],256],120198:[[97],256],120199:[[98],256],120200:[[99],256],120201:[[100],256],120202:[[101],256],120203:[[102],256],120204:[[103],256],120205:[[104],256],120206:[[105],256],120207:[[106],256],120208:[[107],256],120209:[[108],256],120210:[[109],256],120211:[[110],256],120212:[[111],256],120213:[[112],256],120214:[[113],256],120215:[[114],256],120216:[[115],256],120217:[[116],256],120218:[[117],256],120219:[[118],256],120220:[[119],256],120221:[[120],256],120222:[[121],256],120223:[[122],256],120224:[[65],256],120225:[[66],256],120226:[[67],256],120227:[[68],256],120228:[[69],256],120229:[[70],256],120230:[[71],256],120231:[[72],256],120232:[[73],256],120233:[[74],256],120234:[[75],256],120235:[[76],256],120236:[[77],256],120237:[[78],256],120238:[[79],256],120239:[[80],256],120240:[[81],256],120241:[[82],256],120242:[[83],256],120243:[[84],256],120244:[[85],256],120245:[[86],256],120246:[[87],256],120247:[[88],256],120248:[[89],256],120249:[[90],256],120250:[[97],256],120251:[[98],256],120252:[[99],256],120253:[[100],256],120254:[[101],256],120255:[[102],256],120256:[[103],256],120257:[[104],256],120258:[[105],256],120259:[[106],256],120260:[[107],256],120261:[[108],256],120262:[[109],256],120263:[[110],256],120264:[[111],256],120265:[[112],256],120266:[[113],256],120267:[[114],256],120268:[[115],256],120269:[[116],256],120270:[[117],256],120271:[[118],256],120272:[[119],256],120273:[[120],256],120274:[[121],256],120275:[[122],256],120276:[[65],256],120277:[[66],256],120278:[[67],256],120279:[[68],256],120280:[[69],256],120281:[[70],256],120282:[[71],256],120283:[[72],256],120284:[[73],256],120285:[[74],256],120286:[[75],256],120287:[[76],256],120288:[[77],256],120289:[[78],256],120290:[[79],256],120291:[[80],256],120292:[[81],256],120293:[[82],256],120294:[[83],256],120295:[[84],256],120296:[[85],256],120297:[[86],256],120298:[[87],256],120299:[[88],256],120300:[[89],256],120301:[[90],256],120302:[[97],256],120303:[[98],256],120304:[[99],256],120305:[[100],256],120306:[[101],256],120307:[[102],256],120308:[[103],256],120309:[[104],256],120310:[[105],256],120311:[[106],256],120312:[[107],256],120313:[[108],256],120314:[[109],256],120315:[[110],256],120316:[[111],256],120317:[[112],256],120318:[[113],256],120319:[[114],256]}, -54784:{120320:[[115],256],120321:[[116],256],120322:[[117],256],120323:[[118],256],120324:[[119],256],120325:[[120],256],120326:[[121],256],120327:[[122],256],120328:[[65],256],120329:[[66],256],120330:[[67],256],120331:[[68],256],120332:[[69],256],120333:[[70],256],120334:[[71],256],120335:[[72],256],120336:[[73],256],120337:[[74],256],120338:[[75],256],120339:[[76],256],120340:[[77],256],120341:[[78],256],120342:[[79],256],120343:[[80],256],120344:[[81],256],120345:[[82],256],120346:[[83],256],120347:[[84],256],120348:[[85],256],120349:[[86],256],120350:[[87],256],120351:[[88],256],120352:[[89],256],120353:[[90],256],120354:[[97],256],120355:[[98],256],120356:[[99],256],120357:[[100],256],120358:[[101],256],120359:[[102],256],120360:[[103],256],120361:[[104],256],120362:[[105],256],120363:[[106],256],120364:[[107],256],120365:[[108],256],120366:[[109],256],120367:[[110],256],120368:[[111],256],120369:[[112],256],120370:[[113],256],120371:[[114],256],120372:[[115],256],120373:[[116],256],120374:[[117],256],120375:[[118],256],120376:[[119],256],120377:[[120],256],120378:[[121],256],120379:[[122],256],120380:[[65],256],120381:[[66],256],120382:[[67],256],120383:[[68],256],120384:[[69],256],120385:[[70],256],120386:[[71],256],120387:[[72],256],120388:[[73],256],120389:[[74],256],120390:[[75],256],120391:[[76],256],120392:[[77],256],120393:[[78],256],120394:[[79],256],120395:[[80],256],120396:[[81],256],120397:[[82],256],120398:[[83],256],120399:[[84],256],120400:[[85],256],120401:[[86],256],120402:[[87],256],120403:[[88],256],120404:[[89],256],120405:[[90],256],120406:[[97],256],120407:[[98],256],120408:[[99],256],120409:[[100],256],120410:[[101],256],120411:[[102],256],120412:[[103],256],120413:[[104],256],120414:[[105],256],120415:[[106],256],120416:[[107],256],120417:[[108],256],120418:[[109],256],120419:[[110],256],120420:[[111],256],120421:[[112],256],120422:[[113],256],120423:[[114],256],120424:[[115],256],120425:[[116],256],120426:[[117],256],120427:[[118],256],120428:[[119],256],120429:[[120],256],120430:[[121],256],120431:[[122],256],120432:[[65],256],120433:[[66],256],120434:[[67],256],120435:[[68],256],120436:[[69],256],120437:[[70],256],120438:[[71],256],120439:[[72],256],120440:[[73],256],120441:[[74],256],120442:[[75],256],120443:[[76],256],120444:[[77],256],120445:[[78],256],120446:[[79],256],120447:[[80],256],120448:[[81],256],120449:[[82],256],120450:[[83],256],120451:[[84],256],120452:[[85],256],120453:[[86],256],120454:[[87],256],120455:[[88],256],120456:[[89],256],120457:[[90],256],120458:[[97],256],120459:[[98],256],120460:[[99],256],120461:[[100],256],120462:[[101],256],120463:[[102],256],120464:[[103],256],120465:[[104],256],120466:[[105],256],120467:[[106],256],120468:[[107],256],120469:[[108],256],120470:[[109],256],120471:[[110],256],120472:[[111],256],120473:[[112],256],120474:[[113],256],120475:[[114],256],120476:[[115],256],120477:[[116],256],120478:[[117],256],120479:[[118],256],120480:[[119],256],120481:[[120],256],120482:[[121],256],120483:[[122],256],120484:[[305],256],120485:[[567],256],120488:[[913],256],120489:[[914],256],120490:[[915],256],120491:[[916],256],120492:[[917],256],120493:[[918],256],120494:[[919],256],120495:[[920],256],120496:[[921],256],120497:[[922],256],120498:[[923],256],120499:[[924],256],120500:[[925],256],120501:[[926],256],120502:[[927],256],120503:[[928],256],120504:[[929],256],120505:[[1012],256],120506:[[931],256],120507:[[932],256],120508:[[933],256],120509:[[934],256],120510:[[935],256],120511:[[936],256],120512:[[937],256],120513:[[8711],256],120514:[[945],256],120515:[[946],256],120516:[[947],256],120517:[[948],256],120518:[[949],256],120519:[[950],256],120520:[[951],256],120521:[[952],256],120522:[[953],256],120523:[[954],256],120524:[[955],256],120525:[[956],256],120526:[[957],256],120527:[[958],256],120528:[[959],256],120529:[[960],256],120530:[[961],256],120531:[[962],256],120532:[[963],256],120533:[[964],256],120534:[[965],256],120535:[[966],256],120536:[[967],256],120537:[[968],256],120538:[[969],256],120539:[[8706],256],120540:[[1013],256],120541:[[977],256],120542:[[1008],256],120543:[[981],256],120544:[[1009],256],120545:[[982],256],120546:[[913],256],120547:[[914],256],120548:[[915],256],120549:[[916],256],120550:[[917],256],120551:[[918],256],120552:[[919],256],120553:[[920],256],120554:[[921],256],120555:[[922],256],120556:[[923],256],120557:[[924],256],120558:[[925],256],120559:[[926],256],120560:[[927],256],120561:[[928],256],120562:[[929],256],120563:[[1012],256],120564:[[931],256],120565:[[932],256],120566:[[933],256],120567:[[934],256],120568:[[935],256],120569:[[936],256],120570:[[937],256],120571:[[8711],256],120572:[[945],256],120573:[[946],256],120574:[[947],256],120575:[[948],256]}, -55040:{120576:[[949],256],120577:[[950],256],120578:[[951],256],120579:[[952],256],120580:[[953],256],120581:[[954],256],120582:[[955],256],120583:[[956],256],120584:[[957],256],120585:[[958],256],120586:[[959],256],120587:[[960],256],120588:[[961],256],120589:[[962],256],120590:[[963],256],120591:[[964],256],120592:[[965],256],120593:[[966],256],120594:[[967],256],120595:[[968],256],120596:[[969],256],120597:[[8706],256],120598:[[1013],256],120599:[[977],256],120600:[[1008],256],120601:[[981],256],120602:[[1009],256],120603:[[982],256],120604:[[913],256],120605:[[914],256],120606:[[915],256],120607:[[916],256],120608:[[917],256],120609:[[918],256],120610:[[919],256],120611:[[920],256],120612:[[921],256],120613:[[922],256],120614:[[923],256],120615:[[924],256],120616:[[925],256],120617:[[926],256],120618:[[927],256],120619:[[928],256],120620:[[929],256],120621:[[1012],256],120622:[[931],256],120623:[[932],256],120624:[[933],256],120625:[[934],256],120626:[[935],256],120627:[[936],256],120628:[[937],256],120629:[[8711],256],120630:[[945],256],120631:[[946],256],120632:[[947],256],120633:[[948],256],120634:[[949],256],120635:[[950],256],120636:[[951],256],120637:[[952],256],120638:[[953],256],120639:[[954],256],120640:[[955],256],120641:[[956],256],120642:[[957],256],120643:[[958],256],120644:[[959],256],120645:[[960],256],120646:[[961],256],120647:[[962],256],120648:[[963],256],120649:[[964],256],120650:[[965],256],120651:[[966],256],120652:[[967],256],120653:[[968],256],120654:[[969],256],120655:[[8706],256],120656:[[1013],256],120657:[[977],256],120658:[[1008],256],120659:[[981],256],120660:[[1009],256],120661:[[982],256],120662:[[913],256],120663:[[914],256],120664:[[915],256],120665:[[916],256],120666:[[917],256],120667:[[918],256],120668:[[919],256],120669:[[920],256],120670:[[921],256],120671:[[922],256],120672:[[923],256],120673:[[924],256],120674:[[925],256],120675:[[926],256],120676:[[927],256],120677:[[928],256],120678:[[929],256],120679:[[1012],256],120680:[[931],256],120681:[[932],256],120682:[[933],256],120683:[[934],256],120684:[[935],256],120685:[[936],256],120686:[[937],256],120687:[[8711],256],120688:[[945],256],120689:[[946],256],120690:[[947],256],120691:[[948],256],120692:[[949],256],120693:[[950],256],120694:[[951],256],120695:[[952],256],120696:[[953],256],120697:[[954],256],120698:[[955],256],120699:[[956],256],120700:[[957],256],120701:[[958],256],120702:[[959],256],120703:[[960],256],120704:[[961],256],120705:[[962],256],120706:[[963],256],120707:[[964],256],120708:[[965],256],120709:[[966],256],120710:[[967],256],120711:[[968],256],120712:[[969],256],120713:[[8706],256],120714:[[1013],256],120715:[[977],256],120716:[[1008],256],120717:[[981],256],120718:[[1009],256],120719:[[982],256],120720:[[913],256],120721:[[914],256],120722:[[915],256],120723:[[916],256],120724:[[917],256],120725:[[918],256],120726:[[919],256],120727:[[920],256],120728:[[921],256],120729:[[922],256],120730:[[923],256],120731:[[924],256],120732:[[925],256],120733:[[926],256],120734:[[927],256],120735:[[928],256],120736:[[929],256],120737:[[1012],256],120738:[[931],256],120739:[[932],256],120740:[[933],256],120741:[[934],256],120742:[[935],256],120743:[[936],256],120744:[[937],256],120745:[[8711],256],120746:[[945],256],120747:[[946],256],120748:[[947],256],120749:[[948],256],120750:[[949],256],120751:[[950],256],120752:[[951],256],120753:[[952],256],120754:[[953],256],120755:[[954],256],120756:[[955],256],120757:[[956],256],120758:[[957],256],120759:[[958],256],120760:[[959],256],120761:[[960],256],120762:[[961],256],120763:[[962],256],120764:[[963],256],120765:[[964],256],120766:[[965],256],120767:[[966],256],120768:[[967],256],120769:[[968],256],120770:[[969],256],120771:[[8706],256],120772:[[1013],256],120773:[[977],256],120774:[[1008],256],120775:[[981],256],120776:[[1009],256],120777:[[982],256],120778:[[988],256],120779:[[989],256],120782:[[48],256],120783:[[49],256],120784:[[50],256],120785:[[51],256],120786:[[52],256],120787:[[53],256],120788:[[54],256],120789:[[55],256],120790:[[56],256],120791:[[57],256],120792:[[48],256],120793:[[49],256],120794:[[50],256],120795:[[51],256],120796:[[52],256],120797:[[53],256],120798:[[54],256],120799:[[55],256],120800:[[56],256],120801:[[57],256],120802:[[48],256],120803:[[49],256],120804:[[50],256],120805:[[51],256],120806:[[52],256],120807:[[53],256],120808:[[54],256],120809:[[55],256],120810:[[56],256],120811:[[57],256],120812:[[48],256],120813:[[49],256],120814:[[50],256],120815:[[51],256],120816:[[52],256],120817:[[53],256],120818:[[54],256],120819:[[55],256],120820:[[56],256],120821:[[57],256],120822:[[48],256],120823:[[49],256],120824:[[50],256],120825:[[51],256],120826:[[52],256],120827:[[53],256],120828:[[54],256],120829:[[55],256],120830:[[56],256],120831:[[57],256]}, -59392:{125136:[,220],125137:[,220],125138:[,220],125139:[,220],125140:[,220],125141:[,220],125142:[,220]}, -60928:{126464:[[1575],256],126465:[[1576],256],126466:[[1580],256],126467:[[1583],256],126469:[[1608],256],126470:[[1586],256],126471:[[1581],256],126472:[[1591],256],126473:[[1610],256],126474:[[1603],256],126475:[[1604],256],126476:[[1605],256],126477:[[1606],256],126478:[[1587],256],126479:[[1593],256],126480:[[1601],256],126481:[[1589],256],126482:[[1602],256],126483:[[1585],256],126484:[[1588],256],126485:[[1578],256],126486:[[1579],256],126487:[[1582],256],126488:[[1584],256],126489:[[1590],256],126490:[[1592],256],126491:[[1594],256],126492:[[1646],256],126493:[[1722],256],126494:[[1697],256],126495:[[1647],256],126497:[[1576],256],126498:[[1580],256],126500:[[1607],256],126503:[[1581],256],126505:[[1610],256],126506:[[1603],256],126507:[[1604],256],126508:[[1605],256],126509:[[1606],256],126510:[[1587],256],126511:[[1593],256],126512:[[1601],256],126513:[[1589],256],126514:[[1602],256],126516:[[1588],256],126517:[[1578],256],126518:[[1579],256],126519:[[1582],256],126521:[[1590],256],126523:[[1594],256],126530:[[1580],256],126535:[[1581],256],126537:[[1610],256],126539:[[1604],256],126541:[[1606],256],126542:[[1587],256],126543:[[1593],256],126545:[[1589],256],126546:[[1602],256],126548:[[1588],256],126551:[[1582],256],126553:[[1590],256],126555:[[1594],256],126557:[[1722],256],126559:[[1647],256],126561:[[1576],256],126562:[[1580],256],126564:[[1607],256],126567:[[1581],256],126568:[[1591],256],126569:[[1610],256],126570:[[1603],256],126572:[[1605],256],126573:[[1606],256],126574:[[1587],256],126575:[[1593],256],126576:[[1601],256],126577:[[1589],256],126578:[[1602],256],126580:[[1588],256],126581:[[1578],256],126582:[[1579],256],126583:[[1582],256],126585:[[1590],256],126586:[[1592],256],126587:[[1594],256],126588:[[1646],256],126590:[[1697],256],126592:[[1575],256],126593:[[1576],256],126594:[[1580],256],126595:[[1583],256],126596:[[1607],256],126597:[[1608],256],126598:[[1586],256],126599:[[1581],256],126600:[[1591],256],126601:[[1610],256],126603:[[1604],256],126604:[[1605],256],126605:[[1606],256],126606:[[1587],256],126607:[[1593],256],126608:[[1601],256],126609:[[1589],256],126610:[[1602],256],126611:[[1585],256],126612:[[1588],256],126613:[[1578],256],126614:[[1579],256],126615:[[1582],256],126616:[[1584],256],126617:[[1590],256],126618:[[1592],256],126619:[[1594],256],126625:[[1576],256],126626:[[1580],256],126627:[[1583],256],126629:[[1608],256],126630:[[1586],256],126631:[[1581],256],126632:[[1591],256],126633:[[1610],256],126635:[[1604],256],126636:[[1605],256],126637:[[1606],256],126638:[[1587],256],126639:[[1593],256],126640:[[1601],256],126641:[[1589],256],126642:[[1602],256],126643:[[1585],256],126644:[[1588],256],126645:[[1578],256],126646:[[1579],256],126647:[[1582],256],126648:[[1584],256],126649:[[1590],256],126650:[[1592],256],126651:[[1594],256]}, -61696:{127232:[[48,46],256],127233:[[48,44],256],127234:[[49,44],256],127235:[[50,44],256],127236:[[51,44],256],127237:[[52,44],256],127238:[[53,44],256],127239:[[54,44],256],127240:[[55,44],256],127241:[[56,44],256],127242:[[57,44],256],127248:[[40,65,41],256],127249:[[40,66,41],256],127250:[[40,67,41],256],127251:[[40,68,41],256],127252:[[40,69,41],256],127253:[[40,70,41],256],127254:[[40,71,41],256],127255:[[40,72,41],256],127256:[[40,73,41],256],127257:[[40,74,41],256],127258:[[40,75,41],256],127259:[[40,76,41],256],127260:[[40,77,41],256],127261:[[40,78,41],256],127262:[[40,79,41],256],127263:[[40,80,41],256],127264:[[40,81,41],256],127265:[[40,82,41],256],127266:[[40,83,41],256],127267:[[40,84,41],256],127268:[[40,85,41],256],127269:[[40,86,41],256],127270:[[40,87,41],256],127271:[[40,88,41],256],127272:[[40,89,41],256],127273:[[40,90,41],256],127274:[[12308,83,12309],256],127275:[[67],256],127276:[[82],256],127277:[[67,68],256],127278:[[87,90],256],127280:[[65],256],127281:[[66],256],127282:[[67],256],127283:[[68],256],127284:[[69],256],127285:[[70],256],127286:[[71],256],127287:[[72],256],127288:[[73],256],127289:[[74],256],127290:[[75],256],127291:[[76],256],127292:[[77],256],127293:[[78],256],127294:[[79],256],127295:[[80],256],127296:[[81],256],127297:[[82],256],127298:[[83],256],127299:[[84],256],127300:[[85],256],127301:[[86],256],127302:[[87],256],127303:[[88],256],127304:[[89],256],127305:[[90],256],127306:[[72,86],256],127307:[[77,86],256],127308:[[83,68],256],127309:[[83,83],256],127310:[[80,80,86],256],127311:[[87,67],256],127338:[[77,67],256],127339:[[77,68],256],127376:[[68,74],256]}, -61952:{127488:[[12411,12363],256],127489:[[12467,12467],256],127490:[[12469],256],127504:[[25163],256],127505:[[23383],256],127506:[[21452],256],127507:[[12487],256],127508:[[20108],256],127509:[[22810],256],127510:[[35299],256],127511:[[22825],256],127512:[[20132],256],127513:[[26144],256],127514:[[28961],256],127515:[[26009],256],127516:[[21069],256],127517:[[24460],256],127518:[[20877],256],127519:[[26032],256],127520:[[21021],256],127521:[[32066],256],127522:[[29983],256],127523:[[36009],256],127524:[[22768],256],127525:[[21561],256],127526:[[28436],256],127527:[[25237],256],127528:[[25429],256],127529:[[19968],256],127530:[[19977],256],127531:[[36938],256],127532:[[24038],256],127533:[[20013],256],127534:[[21491],256],127535:[[25351],256],127536:[[36208],256],127537:[[25171],256],127538:[[31105],256],127539:[[31354],256],127540:[[21512],256],127541:[[28288],256],127542:[[26377],256],127543:[[26376],256],127544:[[30003],256],127545:[[21106],256],127546:[[21942],256],127552:[[12308,26412,12309],256],127553:[[12308,19977,12309],256],127554:[[12308,20108,12309],256],127555:[[12308,23433,12309],256],127556:[[12308,28857,12309],256],127557:[[12308,25171,12309],256],127558:[[12308,30423,12309],256],127559:[[12308,21213,12309],256],127560:[[12308,25943,12309],256],127568:[[24471],256],127569:[[21487],256]}, -63488:{194560:[[20029]],194561:[[20024]],194562:[[20033]],194563:[[131362]],194564:[[20320]],194565:[[20398]],194566:[[20411]],194567:[[20482]],194568:[[20602]],194569:[[20633]],194570:[[20711]],194571:[[20687]],194572:[[13470]],194573:[[132666]],194574:[[20813]],194575:[[20820]],194576:[[20836]],194577:[[20855]],194578:[[132380]],194579:[[13497]],194580:[[20839]],194581:[[20877]],194582:[[132427]],194583:[[20887]],194584:[[20900]],194585:[[20172]],194586:[[20908]],194587:[[20917]],194588:[[168415]],194589:[[20981]],194590:[[20995]],194591:[[13535]],194592:[[21051]],194593:[[21062]],194594:[[21106]],194595:[[21111]],194596:[[13589]],194597:[[21191]],194598:[[21193]],194599:[[21220]],194600:[[21242]],194601:[[21253]],194602:[[21254]],194603:[[21271]],194604:[[21321]],194605:[[21329]],194606:[[21338]],194607:[[21363]],194608:[[21373]],194609:[[21375]],194610:[[21375]],194611:[[21375]],194612:[[133676]],194613:[[28784]],194614:[[21450]],194615:[[21471]],194616:[[133987]],194617:[[21483]],194618:[[21489]],194619:[[21510]],194620:[[21662]],194621:[[21560]],194622:[[21576]],194623:[[21608]],194624:[[21666]],194625:[[21750]],194626:[[21776]],194627:[[21843]],194628:[[21859]],194629:[[21892]],194630:[[21892]],194631:[[21913]],194632:[[21931]],194633:[[21939]],194634:[[21954]],194635:[[22294]],194636:[[22022]],194637:[[22295]],194638:[[22097]],194639:[[22132]],194640:[[20999]],194641:[[22766]],194642:[[22478]],194643:[[22516]],194644:[[22541]],194645:[[22411]],194646:[[22578]],194647:[[22577]],194648:[[22700]],194649:[[136420]],194650:[[22770]],194651:[[22775]],194652:[[22790]],194653:[[22810]],194654:[[22818]],194655:[[22882]],194656:[[136872]],194657:[[136938]],194658:[[23020]],194659:[[23067]],194660:[[23079]],194661:[[23000]],194662:[[23142]],194663:[[14062]],194664:[[14076]],194665:[[23304]],194666:[[23358]],194667:[[23358]],194668:[[137672]],194669:[[23491]],194670:[[23512]],194671:[[23527]],194672:[[23539]],194673:[[138008]],194674:[[23551]],194675:[[23558]],194676:[[24403]],194677:[[23586]],194678:[[14209]],194679:[[23648]],194680:[[23662]],194681:[[23744]],194682:[[23693]],194683:[[138724]],194684:[[23875]],194685:[[138726]],194686:[[23918]],194687:[[23915]],194688:[[23932]],194689:[[24033]],194690:[[24034]],194691:[[14383]],194692:[[24061]],194693:[[24104]],194694:[[24125]],194695:[[24169]],194696:[[14434]],194697:[[139651]],194698:[[14460]],194699:[[24240]],194700:[[24243]],194701:[[24246]],194702:[[24266]],194703:[[172946]],194704:[[24318]],194705:[[140081]],194706:[[140081]],194707:[[33281]],194708:[[24354]],194709:[[24354]],194710:[[14535]],194711:[[144056]],194712:[[156122]],194713:[[24418]],194714:[[24427]],194715:[[14563]],194716:[[24474]],194717:[[24525]],194718:[[24535]],194719:[[24569]],194720:[[24705]],194721:[[14650]],194722:[[14620]],194723:[[24724]],194724:[[141012]],194725:[[24775]],194726:[[24904]],194727:[[24908]],194728:[[24910]],194729:[[24908]],194730:[[24954]],194731:[[24974]],194732:[[25010]],194733:[[24996]],194734:[[25007]],194735:[[25054]],194736:[[25074]],194737:[[25078]],194738:[[25104]],194739:[[25115]],194740:[[25181]],194741:[[25265]],194742:[[25300]],194743:[[25424]],194744:[[142092]],194745:[[25405]],194746:[[25340]],194747:[[25448]],194748:[[25475]],194749:[[25572]],194750:[[142321]],194751:[[25634]],194752:[[25541]],194753:[[25513]],194754:[[14894]],194755:[[25705]],194756:[[25726]],194757:[[25757]],194758:[[25719]],194759:[[14956]],194760:[[25935]],194761:[[25964]],194762:[[143370]],194763:[[26083]],194764:[[26360]],194765:[[26185]],194766:[[15129]],194767:[[26257]],194768:[[15112]],194769:[[15076]],194770:[[20882]],194771:[[20885]],194772:[[26368]],194773:[[26268]],194774:[[32941]],194775:[[17369]],194776:[[26391]],194777:[[26395]],194778:[[26401]],194779:[[26462]],194780:[[26451]],194781:[[144323]],194782:[[15177]],194783:[[26618]],194784:[[26501]],194785:[[26706]],194786:[[26757]],194787:[[144493]],194788:[[26766]],194789:[[26655]],194790:[[26900]],194791:[[15261]],194792:[[26946]],194793:[[27043]],194794:[[27114]],194795:[[27304]],194796:[[145059]],194797:[[27355]],194798:[[15384]],194799:[[27425]],194800:[[145575]],194801:[[27476]],194802:[[15438]],194803:[[27506]],194804:[[27551]],194805:[[27578]],194806:[[27579]],194807:[[146061]],194808:[[138507]],194809:[[146170]],194810:[[27726]],194811:[[146620]],194812:[[27839]],194813:[[27853]],194814:[[27751]],194815:[[27926]]}, -63744:{63744:[[35912]],63745:[[26356]],63746:[[36554]],63747:[[36040]],63748:[[28369]],63749:[[20018]],63750:[[21477]],63751:[[40860]],63752:[[40860]],63753:[[22865]],63754:[[37329]],63755:[[21895]],63756:[[22856]],63757:[[25078]],63758:[[30313]],63759:[[32645]],63760:[[34367]],63761:[[34746]],63762:[[35064]],63763:[[37007]],63764:[[27138]],63765:[[27931]],63766:[[28889]],63767:[[29662]],63768:[[33853]],63769:[[37226]],63770:[[39409]],63771:[[20098]],63772:[[21365]],63773:[[27396]],63774:[[29211]],63775:[[34349]],63776:[[40478]],63777:[[23888]],63778:[[28651]],63779:[[34253]],63780:[[35172]],63781:[[25289]],63782:[[33240]],63783:[[34847]],63784:[[24266]],63785:[[26391]],63786:[[28010]],63787:[[29436]],63788:[[37070]],63789:[[20358]],63790:[[20919]],63791:[[21214]],63792:[[25796]],63793:[[27347]],63794:[[29200]],63795:[[30439]],63796:[[32769]],63797:[[34310]],63798:[[34396]],63799:[[36335]],63800:[[38706]],63801:[[39791]],63802:[[40442]],63803:[[30860]],63804:[[31103]],63805:[[32160]],63806:[[33737]],63807:[[37636]],63808:[[40575]],63809:[[35542]],63810:[[22751]],63811:[[24324]],63812:[[31840]],63813:[[32894]],63814:[[29282]],63815:[[30922]],63816:[[36034]],63817:[[38647]],63818:[[22744]],63819:[[23650]],63820:[[27155]],63821:[[28122]],63822:[[28431]],63823:[[32047]],63824:[[32311]],63825:[[38475]],63826:[[21202]],63827:[[32907]],63828:[[20956]],63829:[[20940]],63830:[[31260]],63831:[[32190]],63832:[[33777]],63833:[[38517]],63834:[[35712]],63835:[[25295]],63836:[[27138]],63837:[[35582]],63838:[[20025]],63839:[[23527]],63840:[[24594]],63841:[[29575]],63842:[[30064]],63843:[[21271]],63844:[[30971]],63845:[[20415]],63846:[[24489]],63847:[[19981]],63848:[[27852]],63849:[[25976]],63850:[[32034]],63851:[[21443]],63852:[[22622]],63853:[[30465]],63854:[[33865]],63855:[[35498]],63856:[[27578]],63857:[[36784]],63858:[[27784]],63859:[[25342]],63860:[[33509]],63861:[[25504]],63862:[[30053]],63863:[[20142]],63864:[[20841]],63865:[[20937]],63866:[[26753]],63867:[[31975]],63868:[[33391]],63869:[[35538]],63870:[[37327]],63871:[[21237]],63872:[[21570]],63873:[[22899]],63874:[[24300]],63875:[[26053]],63876:[[28670]],63877:[[31018]],63878:[[38317]],63879:[[39530]],63880:[[40599]],63881:[[40654]],63882:[[21147]],63883:[[26310]],63884:[[27511]],63885:[[36706]],63886:[[24180]],63887:[[24976]],63888:[[25088]],63889:[[25754]],63890:[[28451]],63891:[[29001]],63892:[[29833]],63893:[[31178]],63894:[[32244]],63895:[[32879]],63896:[[36646]],63897:[[34030]],63898:[[36899]],63899:[[37706]],63900:[[21015]],63901:[[21155]],63902:[[21693]],63903:[[28872]],63904:[[35010]],63905:[[35498]],63906:[[24265]],63907:[[24565]],63908:[[25467]],63909:[[27566]],63910:[[31806]],63911:[[29557]],63912:[[20196]],63913:[[22265]],63914:[[23527]],63915:[[23994]],63916:[[24604]],63917:[[29618]],63918:[[29801]],63919:[[32666]],63920:[[32838]],63921:[[37428]],63922:[[38646]],63923:[[38728]],63924:[[38936]],63925:[[20363]],63926:[[31150]],63927:[[37300]],63928:[[38584]],63929:[[24801]],63930:[[20102]],63931:[[20698]],63932:[[23534]],63933:[[23615]],63934:[[26009]],63935:[[27138]],63936:[[29134]],63937:[[30274]],63938:[[34044]],63939:[[36988]],63940:[[40845]],63941:[[26248]],63942:[[38446]],63943:[[21129]],63944:[[26491]],63945:[[26611]],63946:[[27969]],63947:[[28316]],63948:[[29705]],63949:[[30041]],63950:[[30827]],63951:[[32016]],63952:[[39006]],63953:[[20845]],63954:[[25134]],63955:[[38520]],63956:[[20523]],63957:[[23833]],63958:[[28138]],63959:[[36650]],63960:[[24459]],63961:[[24900]],63962:[[26647]],63963:[[29575]],63964:[[38534]],63965:[[21033]],63966:[[21519]],63967:[[23653]],63968:[[26131]],63969:[[26446]],63970:[[26792]],63971:[[27877]],63972:[[29702]],63973:[[30178]],63974:[[32633]],63975:[[35023]],63976:[[35041]],63977:[[37324]],63978:[[38626]],63979:[[21311]],63980:[[28346]],63981:[[21533]],63982:[[29136]],63983:[[29848]],63984:[[34298]],63985:[[38563]],63986:[[40023]],63987:[[40607]],63988:[[26519]],63989:[[28107]],63990:[[33256]],63991:[[31435]],63992:[[31520]],63993:[[31890]],63994:[[29376]],63995:[[28825]],63996:[[35672]],63997:[[20160]],63998:[[33590]],63999:[[21050]],194816:[[27966]],194817:[[28023]],194818:[[27969]],194819:[[28009]],194820:[[28024]],194821:[[28037]],194822:[[146718]],194823:[[27956]],194824:[[28207]],194825:[[28270]],194826:[[15667]],194827:[[28363]],194828:[[28359]],194829:[[147153]],194830:[[28153]],194831:[[28526]],194832:[[147294]],194833:[[147342]],194834:[[28614]],194835:[[28729]],194836:[[28702]],194837:[[28699]],194838:[[15766]],194839:[[28746]],194840:[[28797]],194841:[[28791]],194842:[[28845]],194843:[[132389]],194844:[[28997]],194845:[[148067]],194846:[[29084]],194847:[[148395]],194848:[[29224]],194849:[[29237]],194850:[[29264]],194851:[[149000]],194852:[[29312]],194853:[[29333]],194854:[[149301]],194855:[[149524]],194856:[[29562]],194857:[[29579]],194858:[[16044]],194859:[[29605]],194860:[[16056]],194861:[[16056]],194862:[[29767]],194863:[[29788]],194864:[[29809]],194865:[[29829]],194866:[[29898]],194867:[[16155]],194868:[[29988]],194869:[[150582]],194870:[[30014]],194871:[[150674]],194872:[[30064]],194873:[[139679]],194874:[[30224]],194875:[[151457]],194876:[[151480]],194877:[[151620]],194878:[[16380]],194879:[[16392]],194880:[[30452]],194881:[[151795]],194882:[[151794]],194883:[[151833]],194884:[[151859]],194885:[[30494]],194886:[[30495]],194887:[[30495]],194888:[[30538]],194889:[[16441]],194890:[[30603]],194891:[[16454]],194892:[[16534]],194893:[[152605]],194894:[[30798]],194895:[[30860]],194896:[[30924]],194897:[[16611]],194898:[[153126]],194899:[[31062]],194900:[[153242]],194901:[[153285]],194902:[[31119]],194903:[[31211]],194904:[[16687]],194905:[[31296]],194906:[[31306]],194907:[[31311]],194908:[[153980]],194909:[[154279]],194910:[[154279]],194911:[[31470]],194912:[[16898]],194913:[[154539]],194914:[[31686]],194915:[[31689]],194916:[[16935]],194917:[[154752]],194918:[[31954]],194919:[[17056]],194920:[[31976]],194921:[[31971]],194922:[[32000]],194923:[[155526]],194924:[[32099]],194925:[[17153]],194926:[[32199]],194927:[[32258]],194928:[[32325]],194929:[[17204]],194930:[[156200]],194931:[[156231]],194932:[[17241]],194933:[[156377]],194934:[[32634]],194935:[[156478]],194936:[[32661]],194937:[[32762]],194938:[[32773]],194939:[[156890]],194940:[[156963]],194941:[[32864]],194942:[[157096]],194943:[[32880]],194944:[[144223]],194945:[[17365]],194946:[[32946]],194947:[[33027]],194948:[[17419]],194949:[[33086]],194950:[[23221]],194951:[[157607]],194952:[[157621]],194953:[[144275]],194954:[[144284]],194955:[[33281]],194956:[[33284]],194957:[[36766]],194958:[[17515]],194959:[[33425]],194960:[[33419]],194961:[[33437]],194962:[[21171]],194963:[[33457]],194964:[[33459]],194965:[[33469]],194966:[[33510]],194967:[[158524]],194968:[[33509]],194969:[[33565]],194970:[[33635]],194971:[[33709]],194972:[[33571]],194973:[[33725]],194974:[[33767]],194975:[[33879]],194976:[[33619]],194977:[[33738]],194978:[[33740]],194979:[[33756]],194980:[[158774]],194981:[[159083]],194982:[[158933]],194983:[[17707]],194984:[[34033]],194985:[[34035]],194986:[[34070]],194987:[[160714]],194988:[[34148]],194989:[[159532]],194990:[[17757]],194991:[[17761]],194992:[[159665]],194993:[[159954]],194994:[[17771]],194995:[[34384]],194996:[[34396]],194997:[[34407]],194998:[[34409]],194999:[[34473]],195000:[[34440]],195001:[[34574]],195002:[[34530]],195003:[[34681]],195004:[[34600]],195005:[[34667]],195006:[[34694]],195007:[[17879]],195008:[[34785]],195009:[[34817]],195010:[[17913]],195011:[[34912]],195012:[[34915]],195013:[[161383]],195014:[[35031]],195015:[[35038]],195016:[[17973]],195017:[[35066]],195018:[[13499]],195019:[[161966]],195020:[[162150]],195021:[[18110]],195022:[[18119]],195023:[[35488]],195024:[[35565]],195025:[[35722]],195026:[[35925]],195027:[[162984]],195028:[[36011]],195029:[[36033]],195030:[[36123]],195031:[[36215]],195032:[[163631]],195033:[[133124]],195034:[[36299]],195035:[[36284]],195036:[[36336]],195037:[[133342]],195038:[[36564]],195039:[[36664]],195040:[[165330]],195041:[[165357]],195042:[[37012]],195043:[[37105]],195044:[[37137]],195045:[[165678]],195046:[[37147]],195047:[[37432]],195048:[[37591]],195049:[[37592]],195050:[[37500]],195051:[[37881]],195052:[[37909]],195053:[[166906]],195054:[[38283]],195055:[[18837]],195056:[[38327]],195057:[[167287]],195058:[[18918]],195059:[[38595]],195060:[[23986]],195061:[[38691]],195062:[[168261]],195063:[[168474]],195064:[[19054]],195065:[[19062]],195066:[[38880]],195067:[[168970]],195068:[[19122]],195069:[[169110]],195070:[[38923]],195071:[[38923]]}, -64000:{64000:[[20999]],64001:[[24230]],64002:[[25299]],64003:[[31958]],64004:[[23429]],64005:[[27934]],64006:[[26292]],64007:[[36667]],64008:[[34892]],64009:[[38477]],64010:[[35211]],64011:[[24275]],64012:[[20800]],64013:[[21952]],64016:[[22618]],64018:[[26228]],64021:[[20958]],64022:[[29482]],64023:[[30410]],64024:[[31036]],64025:[[31070]],64026:[[31077]],64027:[[31119]],64028:[[38742]],64029:[[31934]],64030:[[32701]],64032:[[34322]],64034:[[35576]],64037:[[36920]],64038:[[37117]],64042:[[39151]],64043:[[39164]],64044:[[39208]],64045:[[40372]],64046:[[37086]],64047:[[38583]],64048:[[20398]],64049:[[20711]],64050:[[20813]],64051:[[21193]],64052:[[21220]],64053:[[21329]],64054:[[21917]],64055:[[22022]],64056:[[22120]],64057:[[22592]],64058:[[22696]],64059:[[23652]],64060:[[23662]],64061:[[24724]],64062:[[24936]],64063:[[24974]],64064:[[25074]],64065:[[25935]],64066:[[26082]],64067:[[26257]],64068:[[26757]],64069:[[28023]],64070:[[28186]],64071:[[28450]],64072:[[29038]],64073:[[29227]],64074:[[29730]],64075:[[30865]],64076:[[31038]],64077:[[31049]],64078:[[31048]],64079:[[31056]],64080:[[31062]],64081:[[31069]],64082:[[31117]],64083:[[31118]],64084:[[31296]],64085:[[31361]],64086:[[31680]],64087:[[32244]],64088:[[32265]],64089:[[32321]],64090:[[32626]],64091:[[32773]],64092:[[33261]],64093:[[33401]],64094:[[33401]],64095:[[33879]],64096:[[35088]],64097:[[35222]],64098:[[35585]],64099:[[35641]],64100:[[36051]],64101:[[36104]],64102:[[36790]],64103:[[36920]],64104:[[38627]],64105:[[38911]],64106:[[38971]],64107:[[24693]],64108:[[148206]],64109:[[33304]],64112:[[20006]],64113:[[20917]],64114:[[20840]],64115:[[20352]],64116:[[20805]],64117:[[20864]],64118:[[21191]],64119:[[21242]],64120:[[21917]],64121:[[21845]],64122:[[21913]],64123:[[21986]],64124:[[22618]],64125:[[22707]],64126:[[22852]],64127:[[22868]],64128:[[23138]],64129:[[23336]],64130:[[24274]],64131:[[24281]],64132:[[24425]],64133:[[24493]],64134:[[24792]],64135:[[24910]],64136:[[24840]],64137:[[24974]],64138:[[24928]],64139:[[25074]],64140:[[25140]],64141:[[25540]],64142:[[25628]],64143:[[25682]],64144:[[25942]],64145:[[26228]],64146:[[26391]],64147:[[26395]],64148:[[26454]],64149:[[27513]],64150:[[27578]],64151:[[27969]],64152:[[28379]],64153:[[28363]],64154:[[28450]],64155:[[28702]],64156:[[29038]],64157:[[30631]],64158:[[29237]],64159:[[29359]],64160:[[29482]],64161:[[29809]],64162:[[29958]],64163:[[30011]],64164:[[30237]],64165:[[30239]],64166:[[30410]],64167:[[30427]],64168:[[30452]],64169:[[30538]],64170:[[30528]],64171:[[30924]],64172:[[31409]],64173:[[31680]],64174:[[31867]],64175:[[32091]],64176:[[32244]],64177:[[32574]],64178:[[32773]],64179:[[33618]],64180:[[33775]],64181:[[34681]],64182:[[35137]],64183:[[35206]],64184:[[35222]],64185:[[35519]],64186:[[35576]],64187:[[35531]],64188:[[35585]],64189:[[35582]],64190:[[35565]],64191:[[35641]],64192:[[35722]],64193:[[36104]],64194:[[36664]],64195:[[36978]],64196:[[37273]],64197:[[37494]],64198:[[38524]],64199:[[38627]],64200:[[38742]],64201:[[38875]],64202:[[38911]],64203:[[38923]],64204:[[38971]],64205:[[39698]],64206:[[40860]],64207:[[141386]],64208:[[141380]],64209:[[144341]],64210:[[15261]],64211:[[16408]],64212:[[16441]],64213:[[152137]],64214:[[154832]],64215:[[163539]],64216:[[40771]],64217:[[40846]],195072:[[38953]],195073:[[169398]],195074:[[39138]],195075:[[19251]],195076:[[39209]],195077:[[39335]],195078:[[39362]],195079:[[39422]],195080:[[19406]],195081:[[170800]],195082:[[39698]],195083:[[40000]],195084:[[40189]],195085:[[19662]],195086:[[19693]],195087:[[40295]],195088:[[172238]],195089:[[19704]],195090:[[172293]],195091:[[172558]],195092:[[172689]],195093:[[40635]],195094:[[19798]],195095:[[40697]],195096:[[40702]],195097:[[40709]],195098:[[40719]],195099:[[40726]],195100:[[40763]],195101:[[173568]]}, -64256:{64256:[[102,102],256],64257:[[102,105],256],64258:[[102,108],256],64259:[[102,102,105],256],64260:[[102,102,108],256],64261:[[383,116],256],64262:[[115,116],256],64275:[[1396,1398],256],64276:[[1396,1381],256],64277:[[1396,1387],256],64278:[[1406,1398],256],64279:[[1396,1389],256],64285:[[1497,1460],512],64286:[,26],64287:[[1522,1463],512],64288:[[1506],256],64289:[[1488],256],64290:[[1491],256],64291:[[1492],256],64292:[[1499],256],64293:[[1500],256],64294:[[1501],256],64295:[[1512],256],64296:[[1514],256],64297:[[43],256],64298:[[1513,1473],512],64299:[[1513,1474],512],64300:[[64329,1473],512],64301:[[64329,1474],512],64302:[[1488,1463],512],64303:[[1488,1464],512],64304:[[1488,1468],512],64305:[[1489,1468],512],64306:[[1490,1468],512],64307:[[1491,1468],512],64308:[[1492,1468],512],64309:[[1493,1468],512],64310:[[1494,1468],512],64312:[[1496,1468],512],64313:[[1497,1468],512],64314:[[1498,1468],512],64315:[[1499,1468],512],64316:[[1500,1468],512],64318:[[1502,1468],512],64320:[[1504,1468],512],64321:[[1505,1468],512],64323:[[1507,1468],512],64324:[[1508,1468],512],64326:[[1510,1468],512],64327:[[1511,1468],512],64328:[[1512,1468],512],64329:[[1513,1468],512],64330:[[1514,1468],512],64331:[[1493,1465],512],64332:[[1489,1471],512],64333:[[1499,1471],512],64334:[[1508,1471],512],64335:[[1488,1500],256],64336:[[1649],256],64337:[[1649],256],64338:[[1659],256],64339:[[1659],256],64340:[[1659],256],64341:[[1659],256],64342:[[1662],256],64343:[[1662],256],64344:[[1662],256],64345:[[1662],256],64346:[[1664],256],64347:[[1664],256],64348:[[1664],256],64349:[[1664],256],64350:[[1658],256],64351:[[1658],256],64352:[[1658],256],64353:[[1658],256],64354:[[1663],256],64355:[[1663],256],64356:[[1663],256],64357:[[1663],256],64358:[[1657],256],64359:[[1657],256],64360:[[1657],256],64361:[[1657],256],64362:[[1700],256],64363:[[1700],256],64364:[[1700],256],64365:[[1700],256],64366:[[1702],256],64367:[[1702],256],64368:[[1702],256],64369:[[1702],256],64370:[[1668],256],64371:[[1668],256],64372:[[1668],256],64373:[[1668],256],64374:[[1667],256],64375:[[1667],256],64376:[[1667],256],64377:[[1667],256],64378:[[1670],256],64379:[[1670],256],64380:[[1670],256],64381:[[1670],256],64382:[[1671],256],64383:[[1671],256],64384:[[1671],256],64385:[[1671],256],64386:[[1677],256],64387:[[1677],256],64388:[[1676],256],64389:[[1676],256],64390:[[1678],256],64391:[[1678],256],64392:[[1672],256],64393:[[1672],256],64394:[[1688],256],64395:[[1688],256],64396:[[1681],256],64397:[[1681],256],64398:[[1705],256],64399:[[1705],256],64400:[[1705],256],64401:[[1705],256],64402:[[1711],256],64403:[[1711],256],64404:[[1711],256],64405:[[1711],256],64406:[[1715],256],64407:[[1715],256],64408:[[1715],256],64409:[[1715],256],64410:[[1713],256],64411:[[1713],256],64412:[[1713],256],64413:[[1713],256],64414:[[1722],256],64415:[[1722],256],64416:[[1723],256],64417:[[1723],256],64418:[[1723],256],64419:[[1723],256],64420:[[1728],256],64421:[[1728],256],64422:[[1729],256],64423:[[1729],256],64424:[[1729],256],64425:[[1729],256],64426:[[1726],256],64427:[[1726],256],64428:[[1726],256],64429:[[1726],256],64430:[[1746],256],64431:[[1746],256],64432:[[1747],256],64433:[[1747],256],64467:[[1709],256],64468:[[1709],256],64469:[[1709],256],64470:[[1709],256],64471:[[1735],256],64472:[[1735],256],64473:[[1734],256],64474:[[1734],256],64475:[[1736],256],64476:[[1736],256],64477:[[1655],256],64478:[[1739],256],64479:[[1739],256],64480:[[1733],256],64481:[[1733],256],64482:[[1737],256],64483:[[1737],256],64484:[[1744],256],64485:[[1744],256],64486:[[1744],256],64487:[[1744],256],64488:[[1609],256],64489:[[1609],256],64490:[[1574,1575],256],64491:[[1574,1575],256],64492:[[1574,1749],256],64493:[[1574,1749],256],64494:[[1574,1608],256],64495:[[1574,1608],256],64496:[[1574,1735],256],64497:[[1574,1735],256],64498:[[1574,1734],256],64499:[[1574,1734],256],64500:[[1574,1736],256],64501:[[1574,1736],256],64502:[[1574,1744],256],64503:[[1574,1744],256],64504:[[1574,1744],256],64505:[[1574,1609],256],64506:[[1574,1609],256],64507:[[1574,1609],256],64508:[[1740],256],64509:[[1740],256],64510:[[1740],256],64511:[[1740],256]}, -64512:{64512:[[1574,1580],256],64513:[[1574,1581],256],64514:[[1574,1605],256],64515:[[1574,1609],256],64516:[[1574,1610],256],64517:[[1576,1580],256],64518:[[1576,1581],256],64519:[[1576,1582],256],64520:[[1576,1605],256],64521:[[1576,1609],256],64522:[[1576,1610],256],64523:[[1578,1580],256],64524:[[1578,1581],256],64525:[[1578,1582],256],64526:[[1578,1605],256],64527:[[1578,1609],256],64528:[[1578,1610],256],64529:[[1579,1580],256],64530:[[1579,1605],256],64531:[[1579,1609],256],64532:[[1579,1610],256],64533:[[1580,1581],256],64534:[[1580,1605],256],64535:[[1581,1580],256],64536:[[1581,1605],256],64537:[[1582,1580],256],64538:[[1582,1581],256],64539:[[1582,1605],256],64540:[[1587,1580],256],64541:[[1587,1581],256],64542:[[1587,1582],256],64543:[[1587,1605],256],64544:[[1589,1581],256],64545:[[1589,1605],256],64546:[[1590,1580],256],64547:[[1590,1581],256],64548:[[1590,1582],256],64549:[[1590,1605],256],64550:[[1591,1581],256],64551:[[1591,1605],256],64552:[[1592,1605],256],64553:[[1593,1580],256],64554:[[1593,1605],256],64555:[[1594,1580],256],64556:[[1594,1605],256],64557:[[1601,1580],256],64558:[[1601,1581],256],64559:[[1601,1582],256],64560:[[1601,1605],256],64561:[[1601,1609],256],64562:[[1601,1610],256],64563:[[1602,1581],256],64564:[[1602,1605],256],64565:[[1602,1609],256],64566:[[1602,1610],256],64567:[[1603,1575],256],64568:[[1603,1580],256],64569:[[1603,1581],256],64570:[[1603,1582],256],64571:[[1603,1604],256],64572:[[1603,1605],256],64573:[[1603,1609],256],64574:[[1603,1610],256],64575:[[1604,1580],256],64576:[[1604,1581],256],64577:[[1604,1582],256],64578:[[1604,1605],256],64579:[[1604,1609],256],64580:[[1604,1610],256],64581:[[1605,1580],256],64582:[[1605,1581],256],64583:[[1605,1582],256],64584:[[1605,1605],256],64585:[[1605,1609],256],64586:[[1605,1610],256],64587:[[1606,1580],256],64588:[[1606,1581],256],64589:[[1606,1582],256],64590:[[1606,1605],256],64591:[[1606,1609],256],64592:[[1606,1610],256],64593:[[1607,1580],256],64594:[[1607,1605],256],64595:[[1607,1609],256],64596:[[1607,1610],256],64597:[[1610,1580],256],64598:[[1610,1581],256],64599:[[1610,1582],256],64600:[[1610,1605],256],64601:[[1610,1609],256],64602:[[1610,1610],256],64603:[[1584,1648],256],64604:[[1585,1648],256],64605:[[1609,1648],256],64606:[[32,1612,1617],256],64607:[[32,1613,1617],256],64608:[[32,1614,1617],256],64609:[[32,1615,1617],256],64610:[[32,1616,1617],256],64611:[[32,1617,1648],256],64612:[[1574,1585],256],64613:[[1574,1586],256],64614:[[1574,1605],256],64615:[[1574,1606],256],64616:[[1574,1609],256],64617:[[1574,1610],256],64618:[[1576,1585],256],64619:[[1576,1586],256],64620:[[1576,1605],256],64621:[[1576,1606],256],64622:[[1576,1609],256],64623:[[1576,1610],256],64624:[[1578,1585],256],64625:[[1578,1586],256],64626:[[1578,1605],256],64627:[[1578,1606],256],64628:[[1578,1609],256],64629:[[1578,1610],256],64630:[[1579,1585],256],64631:[[1579,1586],256],64632:[[1579,1605],256],64633:[[1579,1606],256],64634:[[1579,1609],256],64635:[[1579,1610],256],64636:[[1601,1609],256],64637:[[1601,1610],256],64638:[[1602,1609],256],64639:[[1602,1610],256],64640:[[1603,1575],256],64641:[[1603,1604],256],64642:[[1603,1605],256],64643:[[1603,1609],256],64644:[[1603,1610],256],64645:[[1604,1605],256],64646:[[1604,1609],256],64647:[[1604,1610],256],64648:[[1605,1575],256],64649:[[1605,1605],256],64650:[[1606,1585],256],64651:[[1606,1586],256],64652:[[1606,1605],256],64653:[[1606,1606],256],64654:[[1606,1609],256],64655:[[1606,1610],256],64656:[[1609,1648],256],64657:[[1610,1585],256],64658:[[1610,1586],256],64659:[[1610,1605],256],64660:[[1610,1606],256],64661:[[1610,1609],256],64662:[[1610,1610],256],64663:[[1574,1580],256],64664:[[1574,1581],256],64665:[[1574,1582],256],64666:[[1574,1605],256],64667:[[1574,1607],256],64668:[[1576,1580],256],64669:[[1576,1581],256],64670:[[1576,1582],256],64671:[[1576,1605],256],64672:[[1576,1607],256],64673:[[1578,1580],256],64674:[[1578,1581],256],64675:[[1578,1582],256],64676:[[1578,1605],256],64677:[[1578,1607],256],64678:[[1579,1605],256],64679:[[1580,1581],256],64680:[[1580,1605],256],64681:[[1581,1580],256],64682:[[1581,1605],256],64683:[[1582,1580],256],64684:[[1582,1605],256],64685:[[1587,1580],256],64686:[[1587,1581],256],64687:[[1587,1582],256],64688:[[1587,1605],256],64689:[[1589,1581],256],64690:[[1589,1582],256],64691:[[1589,1605],256],64692:[[1590,1580],256],64693:[[1590,1581],256],64694:[[1590,1582],256],64695:[[1590,1605],256],64696:[[1591,1581],256],64697:[[1592,1605],256],64698:[[1593,1580],256],64699:[[1593,1605],256],64700:[[1594,1580],256],64701:[[1594,1605],256],64702:[[1601,1580],256],64703:[[1601,1581],256],64704:[[1601,1582],256],64705:[[1601,1605],256],64706:[[1602,1581],256],64707:[[1602,1605],256],64708:[[1603,1580],256],64709:[[1603,1581],256],64710:[[1603,1582],256],64711:[[1603,1604],256],64712:[[1603,1605],256],64713:[[1604,1580],256],64714:[[1604,1581],256],64715:[[1604,1582],256],64716:[[1604,1605],256],64717:[[1604,1607],256],64718:[[1605,1580],256],64719:[[1605,1581],256],64720:[[1605,1582],256],64721:[[1605,1605],256],64722:[[1606,1580],256],64723:[[1606,1581],256],64724:[[1606,1582],256],64725:[[1606,1605],256],64726:[[1606,1607],256],64727:[[1607,1580],256],64728:[[1607,1605],256],64729:[[1607,1648],256],64730:[[1610,1580],256],64731:[[1610,1581],256],64732:[[1610,1582],256],64733:[[1610,1605],256],64734:[[1610,1607],256],64735:[[1574,1605],256],64736:[[1574,1607],256],64737:[[1576,1605],256],64738:[[1576,1607],256],64739:[[1578,1605],256],64740:[[1578,1607],256],64741:[[1579,1605],256],64742:[[1579,1607],256],64743:[[1587,1605],256],64744:[[1587,1607],256],64745:[[1588,1605],256],64746:[[1588,1607],256],64747:[[1603,1604],256],64748:[[1603,1605],256],64749:[[1604,1605],256],64750:[[1606,1605],256],64751:[[1606,1607],256],64752:[[1610,1605],256],64753:[[1610,1607],256],64754:[[1600,1614,1617],256],64755:[[1600,1615,1617],256],64756:[[1600,1616,1617],256],64757:[[1591,1609],256],64758:[[1591,1610],256],64759:[[1593,1609],256],64760:[[1593,1610],256],64761:[[1594,1609],256],64762:[[1594,1610],256],64763:[[1587,1609],256],64764:[[1587,1610],256],64765:[[1588,1609],256],64766:[[1588,1610],256],64767:[[1581,1609],256]}, -64768:{64768:[[1581,1610],256],64769:[[1580,1609],256],64770:[[1580,1610],256],64771:[[1582,1609],256],64772:[[1582,1610],256],64773:[[1589,1609],256],64774:[[1589,1610],256],64775:[[1590,1609],256],64776:[[1590,1610],256],64777:[[1588,1580],256],64778:[[1588,1581],256],64779:[[1588,1582],256],64780:[[1588,1605],256],64781:[[1588,1585],256],64782:[[1587,1585],256],64783:[[1589,1585],256],64784:[[1590,1585],256],64785:[[1591,1609],256],64786:[[1591,1610],256],64787:[[1593,1609],256],64788:[[1593,1610],256],64789:[[1594,1609],256],64790:[[1594,1610],256],64791:[[1587,1609],256],64792:[[1587,1610],256],64793:[[1588,1609],256],64794:[[1588,1610],256],64795:[[1581,1609],256],64796:[[1581,1610],256],64797:[[1580,1609],256],64798:[[1580,1610],256],64799:[[1582,1609],256],64800:[[1582,1610],256],64801:[[1589,1609],256],64802:[[1589,1610],256],64803:[[1590,1609],256],64804:[[1590,1610],256],64805:[[1588,1580],256],64806:[[1588,1581],256],64807:[[1588,1582],256],64808:[[1588,1605],256],64809:[[1588,1585],256],64810:[[1587,1585],256],64811:[[1589,1585],256],64812:[[1590,1585],256],64813:[[1588,1580],256],64814:[[1588,1581],256],64815:[[1588,1582],256],64816:[[1588,1605],256],64817:[[1587,1607],256],64818:[[1588,1607],256],64819:[[1591,1605],256],64820:[[1587,1580],256],64821:[[1587,1581],256],64822:[[1587,1582],256],64823:[[1588,1580],256],64824:[[1588,1581],256],64825:[[1588,1582],256],64826:[[1591,1605],256],64827:[[1592,1605],256],64828:[[1575,1611],256],64829:[[1575,1611],256],64848:[[1578,1580,1605],256],64849:[[1578,1581,1580],256],64850:[[1578,1581,1580],256],64851:[[1578,1581,1605],256],64852:[[1578,1582,1605],256],64853:[[1578,1605,1580],256],64854:[[1578,1605,1581],256],64855:[[1578,1605,1582],256],64856:[[1580,1605,1581],256],64857:[[1580,1605,1581],256],64858:[[1581,1605,1610],256],64859:[[1581,1605,1609],256],64860:[[1587,1581,1580],256],64861:[[1587,1580,1581],256],64862:[[1587,1580,1609],256],64863:[[1587,1605,1581],256],64864:[[1587,1605,1581],256],64865:[[1587,1605,1580],256],64866:[[1587,1605,1605],256],64867:[[1587,1605,1605],256],64868:[[1589,1581,1581],256],64869:[[1589,1581,1581],256],64870:[[1589,1605,1605],256],64871:[[1588,1581,1605],256],64872:[[1588,1581,1605],256],64873:[[1588,1580,1610],256],64874:[[1588,1605,1582],256],64875:[[1588,1605,1582],256],64876:[[1588,1605,1605],256],64877:[[1588,1605,1605],256],64878:[[1590,1581,1609],256],64879:[[1590,1582,1605],256],64880:[[1590,1582,1605],256],64881:[[1591,1605,1581],256],64882:[[1591,1605,1581],256],64883:[[1591,1605,1605],256],64884:[[1591,1605,1610],256],64885:[[1593,1580,1605],256],64886:[[1593,1605,1605],256],64887:[[1593,1605,1605],256],64888:[[1593,1605,1609],256],64889:[[1594,1605,1605],256],64890:[[1594,1605,1610],256],64891:[[1594,1605,1609],256],64892:[[1601,1582,1605],256],64893:[[1601,1582,1605],256],64894:[[1602,1605,1581],256],64895:[[1602,1605,1605],256],64896:[[1604,1581,1605],256],64897:[[1604,1581,1610],256],64898:[[1604,1581,1609],256],64899:[[1604,1580,1580],256],64900:[[1604,1580,1580],256],64901:[[1604,1582,1605],256],64902:[[1604,1582,1605],256],64903:[[1604,1605,1581],256],64904:[[1604,1605,1581],256],64905:[[1605,1581,1580],256],64906:[[1605,1581,1605],256],64907:[[1605,1581,1610],256],64908:[[1605,1580,1581],256],64909:[[1605,1580,1605],256],64910:[[1605,1582,1580],256],64911:[[1605,1582,1605],256],64914:[[1605,1580,1582],256],64915:[[1607,1605,1580],256],64916:[[1607,1605,1605],256],64917:[[1606,1581,1605],256],64918:[[1606,1581,1609],256],64919:[[1606,1580,1605],256],64920:[[1606,1580,1605],256],64921:[[1606,1580,1609],256],64922:[[1606,1605,1610],256],64923:[[1606,1605,1609],256],64924:[[1610,1605,1605],256],64925:[[1610,1605,1605],256],64926:[[1576,1582,1610],256],64927:[[1578,1580,1610],256],64928:[[1578,1580,1609],256],64929:[[1578,1582,1610],256],64930:[[1578,1582,1609],256],64931:[[1578,1605,1610],256],64932:[[1578,1605,1609],256],64933:[[1580,1605,1610],256],64934:[[1580,1581,1609],256],64935:[[1580,1605,1609],256],64936:[[1587,1582,1609],256],64937:[[1589,1581,1610],256],64938:[[1588,1581,1610],256],64939:[[1590,1581,1610],256],64940:[[1604,1580,1610],256],64941:[[1604,1605,1610],256],64942:[[1610,1581,1610],256],64943:[[1610,1580,1610],256],64944:[[1610,1605,1610],256],64945:[[1605,1605,1610],256],64946:[[1602,1605,1610],256],64947:[[1606,1581,1610],256],64948:[[1602,1605,1581],256],64949:[[1604,1581,1605],256],64950:[[1593,1605,1610],256],64951:[[1603,1605,1610],256],64952:[[1606,1580,1581],256],64953:[[1605,1582,1610],256],64954:[[1604,1580,1605],256],64955:[[1603,1605,1605],256],64956:[[1604,1580,1605],256],64957:[[1606,1580,1581],256],64958:[[1580,1581,1610],256],64959:[[1581,1580,1610],256],64960:[[1605,1580,1610],256],64961:[[1601,1605,1610],256],64962:[[1576,1581,1610],256],64963:[[1603,1605,1605],256],64964:[[1593,1580,1605],256],64965:[[1589,1605,1605],256],64966:[[1587,1582,1610],256],64967:[[1606,1580,1610],256],65008:[[1589,1604,1746],256],65009:[[1602,1604,1746],256],65010:[[1575,1604,1604,1607],256],65011:[[1575,1603,1576,1585],256],65012:[[1605,1581,1605,1583],256],65013:[[1589,1604,1593,1605],256],65014:[[1585,1587,1608,1604],256],65015:[[1593,1604,1610,1607],256],65016:[[1608,1587,1604,1605],256],65017:[[1589,1604,1609],256],65018:[[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605],256],65019:[[1580,1604,32,1580,1604,1575,1604,1607],256],65020:[[1585,1740,1575,1604],256]}, -65024:{65040:[[44],256],65041:[[12289],256],65042:[[12290],256],65043:[[58],256],65044:[[59],256],65045:[[33],256],65046:[[63],256],65047:[[12310],256],65048:[[12311],256],65049:[[8230],256],65056:[,230],65057:[,230],65058:[,230],65059:[,230],65060:[,230],65061:[,230],65062:[,230],65063:[,220],65064:[,220],65065:[,220],65066:[,220],65067:[,220],65068:[,220],65069:[,220],65072:[[8229],256],65073:[[8212],256],65074:[[8211],256],65075:[[95],256],65076:[[95],256],65077:[[40],256],65078:[[41],256],65079:[[123],256],65080:[[125],256],65081:[[12308],256],65082:[[12309],256],65083:[[12304],256],65084:[[12305],256],65085:[[12298],256],65086:[[12299],256],65087:[[12296],256],65088:[[12297],256],65089:[[12300],256],65090:[[12301],256],65091:[[12302],256],65092:[[12303],256],65095:[[91],256],65096:[[93],256],65097:[[8254],256],65098:[[8254],256],65099:[[8254],256],65100:[[8254],256],65101:[[95],256],65102:[[95],256],65103:[[95],256],65104:[[44],256],65105:[[12289],256],65106:[[46],256],65108:[[59],256],65109:[[58],256],65110:[[63],256],65111:[[33],256],65112:[[8212],256],65113:[[40],256],65114:[[41],256],65115:[[123],256],65116:[[125],256],65117:[[12308],256],65118:[[12309],256],65119:[[35],256],65120:[[38],256],65121:[[42],256],65122:[[43],256],65123:[[45],256],65124:[[60],256],65125:[[62],256],65126:[[61],256],65128:[[92],256],65129:[[36],256],65130:[[37],256],65131:[[64],256],65136:[[32,1611],256],65137:[[1600,1611],256],65138:[[32,1612],256],65140:[[32,1613],256],65142:[[32,1614],256],65143:[[1600,1614],256],65144:[[32,1615],256],65145:[[1600,1615],256],65146:[[32,1616],256],65147:[[1600,1616],256],65148:[[32,1617],256],65149:[[1600,1617],256],65150:[[32,1618],256],65151:[[1600,1618],256],65152:[[1569],256],65153:[[1570],256],65154:[[1570],256],65155:[[1571],256],65156:[[1571],256],65157:[[1572],256],65158:[[1572],256],65159:[[1573],256],65160:[[1573],256],65161:[[1574],256],65162:[[1574],256],65163:[[1574],256],65164:[[1574],256],65165:[[1575],256],65166:[[1575],256],65167:[[1576],256],65168:[[1576],256],65169:[[1576],256],65170:[[1576],256],65171:[[1577],256],65172:[[1577],256],65173:[[1578],256],65174:[[1578],256],65175:[[1578],256],65176:[[1578],256],65177:[[1579],256],65178:[[1579],256],65179:[[1579],256],65180:[[1579],256],65181:[[1580],256],65182:[[1580],256],65183:[[1580],256],65184:[[1580],256],65185:[[1581],256],65186:[[1581],256],65187:[[1581],256],65188:[[1581],256],65189:[[1582],256],65190:[[1582],256],65191:[[1582],256],65192:[[1582],256],65193:[[1583],256],65194:[[1583],256],65195:[[1584],256],65196:[[1584],256],65197:[[1585],256],65198:[[1585],256],65199:[[1586],256],65200:[[1586],256],65201:[[1587],256],65202:[[1587],256],65203:[[1587],256],65204:[[1587],256],65205:[[1588],256],65206:[[1588],256],65207:[[1588],256],65208:[[1588],256],65209:[[1589],256],65210:[[1589],256],65211:[[1589],256],65212:[[1589],256],65213:[[1590],256],65214:[[1590],256],65215:[[1590],256],65216:[[1590],256],65217:[[1591],256],65218:[[1591],256],65219:[[1591],256],65220:[[1591],256],65221:[[1592],256],65222:[[1592],256],65223:[[1592],256],65224:[[1592],256],65225:[[1593],256],65226:[[1593],256],65227:[[1593],256],65228:[[1593],256],65229:[[1594],256],65230:[[1594],256],65231:[[1594],256],65232:[[1594],256],65233:[[1601],256],65234:[[1601],256],65235:[[1601],256],65236:[[1601],256],65237:[[1602],256],65238:[[1602],256],65239:[[1602],256],65240:[[1602],256],65241:[[1603],256],65242:[[1603],256],65243:[[1603],256],65244:[[1603],256],65245:[[1604],256],65246:[[1604],256],65247:[[1604],256],65248:[[1604],256],65249:[[1605],256],65250:[[1605],256],65251:[[1605],256],65252:[[1605],256],65253:[[1606],256],65254:[[1606],256],65255:[[1606],256],65256:[[1606],256],65257:[[1607],256],65258:[[1607],256],65259:[[1607],256],65260:[[1607],256],65261:[[1608],256],65262:[[1608],256],65263:[[1609],256],65264:[[1609],256],65265:[[1610],256],65266:[[1610],256],65267:[[1610],256],65268:[[1610],256],65269:[[1604,1570],256],65270:[[1604,1570],256],65271:[[1604,1571],256],65272:[[1604,1571],256],65273:[[1604,1573],256],65274:[[1604,1573],256],65275:[[1604,1575],256],65276:[[1604,1575],256]}, -65280:{65281:[[33],256],65282:[[34],256],65283:[[35],256],65284:[[36],256],65285:[[37],256],65286:[[38],256],65287:[[39],256],65288:[[40],256],65289:[[41],256],65290:[[42],256],65291:[[43],256],65292:[[44],256],65293:[[45],256],65294:[[46],256],65295:[[47],256],65296:[[48],256],65297:[[49],256],65298:[[50],256],65299:[[51],256],65300:[[52],256],65301:[[53],256],65302:[[54],256],65303:[[55],256],65304:[[56],256],65305:[[57],256],65306:[[58],256],65307:[[59],256],65308:[[60],256],65309:[[61],256],65310:[[62],256],65311:[[63],256],65312:[[64],256],65313:[[65],256],65314:[[66],256],65315:[[67],256],65316:[[68],256],65317:[[69],256],65318:[[70],256],65319:[[71],256],65320:[[72],256],65321:[[73],256],65322:[[74],256],65323:[[75],256],65324:[[76],256],65325:[[77],256],65326:[[78],256],65327:[[79],256],65328:[[80],256],65329:[[81],256],65330:[[82],256],65331:[[83],256],65332:[[84],256],65333:[[85],256],65334:[[86],256],65335:[[87],256],65336:[[88],256],65337:[[89],256],65338:[[90],256],65339:[[91],256],65340:[[92],256],65341:[[93],256],65342:[[94],256],65343:[[95],256],65344:[[96],256],65345:[[97],256],65346:[[98],256],65347:[[99],256],65348:[[100],256],65349:[[101],256],65350:[[102],256],65351:[[103],256],65352:[[104],256],65353:[[105],256],65354:[[106],256],65355:[[107],256],65356:[[108],256],65357:[[109],256],65358:[[110],256],65359:[[111],256],65360:[[112],256],65361:[[113],256],65362:[[114],256],65363:[[115],256],65364:[[116],256],65365:[[117],256],65366:[[118],256],65367:[[119],256],65368:[[120],256],65369:[[121],256],65370:[[122],256],65371:[[123],256],65372:[[124],256],65373:[[125],256],65374:[[126],256],65375:[[10629],256],65376:[[10630],256],65377:[[12290],256],65378:[[12300],256],65379:[[12301],256],65380:[[12289],256],65381:[[12539],256],65382:[[12530],256],65383:[[12449],256],65384:[[12451],256],65385:[[12453],256],65386:[[12455],256],65387:[[12457],256],65388:[[12515],256],65389:[[12517],256],65390:[[12519],256],65391:[[12483],256],65392:[[12540],256],65393:[[12450],256],65394:[[12452],256],65395:[[12454],256],65396:[[12456],256],65397:[[12458],256],65398:[[12459],256],65399:[[12461],256],65400:[[12463],256],65401:[[12465],256],65402:[[12467],256],65403:[[12469],256],65404:[[12471],256],65405:[[12473],256],65406:[[12475],256],65407:[[12477],256],65408:[[12479],256],65409:[[12481],256],65410:[[12484],256],65411:[[12486],256],65412:[[12488],256],65413:[[12490],256],65414:[[12491],256],65415:[[12492],256],65416:[[12493],256],65417:[[12494],256],65418:[[12495],256],65419:[[12498],256],65420:[[12501],256],65421:[[12504],256],65422:[[12507],256],65423:[[12510],256],65424:[[12511],256],65425:[[12512],256],65426:[[12513],256],65427:[[12514],256],65428:[[12516],256],65429:[[12518],256],65430:[[12520],256],65431:[[12521],256],65432:[[12522],256],65433:[[12523],256],65434:[[12524],256],65435:[[12525],256],65436:[[12527],256],65437:[[12531],256],65438:[[12441],256],65439:[[12442],256],65440:[[12644],256],65441:[[12593],256],65442:[[12594],256],65443:[[12595],256],65444:[[12596],256],65445:[[12597],256],65446:[[12598],256],65447:[[12599],256],65448:[[12600],256],65449:[[12601],256],65450:[[12602],256],65451:[[12603],256],65452:[[12604],256],65453:[[12605],256],65454:[[12606],256],65455:[[12607],256],65456:[[12608],256],65457:[[12609],256],65458:[[12610],256],65459:[[12611],256],65460:[[12612],256],65461:[[12613],256],65462:[[12614],256],65463:[[12615],256],65464:[[12616],256],65465:[[12617],256],65466:[[12618],256],65467:[[12619],256],65468:[[12620],256],65469:[[12621],256],65470:[[12622],256],65474:[[12623],256],65475:[[12624],256],65476:[[12625],256],65477:[[12626],256],65478:[[12627],256],65479:[[12628],256],65482:[[12629],256],65483:[[12630],256],65484:[[12631],256],65485:[[12632],256],65486:[[12633],256],65487:[[12634],256],65490:[[12635],256],65491:[[12636],256],65492:[[12637],256],65493:[[12638],256],65494:[[12639],256],65495:[[12640],256],65498:[[12641],256],65499:[[12642],256],65500:[[12643],256],65504:[[162],256],65505:[[163],256],65506:[[172],256],65507:[[175],256],65508:[[166],256],65509:[[165],256],65510:[[8361],256],65512:[[9474],256],65513:[[8592],256],65514:[[8593],256],65515:[[8594],256],65516:[[8595],256],65517:[[9632],256],65518:[[9675],256]} - -}; - - /***** Module to export */ - var unorm = { - nfc: nfc, - nfd: nfd, - nfkc: nfkc, - nfkd: nfkd - }; - - /*globals module:true,define:true*/ - - // CommonJS - if (typeof module === "object") { - module.exports = unorm; - - // AMD - } else if (typeof define === "function" && define.amd) { - define("unorm", function () { - return unorm; - }); - - // Global - } else { - root.unorm = unorm; - } - - /***** Export as shim for String::normalize method *****/ - /* - http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#november_8_2013_draft_rev_21 - - 21.1.3.12 String.prototype.normalize(form="NFC") - When the normalize method is called with one argument form, the following steps are taken: - - 1. Let O be CheckObjectCoercible(this value). - 2. Let S be ToString(O). - 3. ReturnIfAbrupt(S). - 4. If form is not provided or undefined let form be "NFC". - 5. Let f be ToString(form). - 6. ReturnIfAbrupt(f). - 7. If f is not one of "NFC", "NFD", "NFKC", or "NFKD", then throw a RangeError Exception. - 8. Let ns be the String value is the result of normalizing S into the normalization form named by f as specified in Unicode Standard Annex #15, UnicodeNormalizatoin Forms. - 9. Return ns. - - The length property of the normalize method is 0. - - *NOTE* The normalize function is intentionally generic; it does not require that its this value be a String object. Therefore it can be transferred to other kinds of objects for use as a method. - */ - unorm.shimApplied = false; - - if (!String.prototype.normalize) { - String.prototype.normalize = function(form) { - var str = "" + this; - form = form === undefined ? "NFC" : form; - - if (form === "NFC") { - return unorm.nfc(str); - } else if (form === "NFD") { - return unorm.nfd(str); - } else if (form === "NFKC") { - return unorm.nfkc(str); - } else if (form === "NFKD") { - return unorm.nfkd(str); - } else { - throw new RangeError("Invalid normalization form: " + form); - } - }; - - unorm.shimApplied = true; - } -}(this)); diff --git a/demo/platforms/android/cordova/node_modules/unorm/package.json b/demo/platforms/android/cordova/node_modules/unorm/package.json deleted file mode 100644 index 8de8e99..0000000 --- a/demo/platforms/android/cordova/node_modules/unorm/package.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "unorm@^1.3.3", - "scope": null, - "escapedName": "unorm", - "name": "unorm", - "rawSpec": "^1.3.3", - "spec": ">=1.3.3 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common" - ] - ], - "_from": "unorm@>=1.3.3 <2.0.0", - "_id": "unorm@1.4.1", - "_inCache": true, - "_location": "/cordova-android/unorm", - "_npmUser": { - "name": "walling", - "email": "bwp@bwp.dk" - }, - "_npmVersion": "1.4.28", - "_phantomChildren": {}, - "_requested": { - "raw": "unorm@^1.3.3", - "scope": null, - "escapedName": "unorm", - "name": "unorm", - "rawSpec": "^1.3.3", - "spec": ">=1.3.3 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/cordova-common" - ], - "_resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz", - "_shasum": "364200d5f13646ca8bcd44490271335614792300", - "_shrinkwrap": null, - "_spec": "unorm@^1.3.3", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common", - "author": { - "name": "Bjarke Walling", - "email": "bwp@bwp.dk" - }, - "bugs": { - "url": "https://github.com/walling/unorm/issues" - }, - "contributors": [ - { - "name": "Bjarke Walling", - "email": "bwp@bwp.dk" - }, - { - "name": "Oleg Grenrus", - "email": "oleg.grenrus@iki.fi" - }, - { - "name": "Matsuza", - "email": "matsuza@gmail.com" - } - ], - "dependencies": {}, - "description": "JavaScript Unicode 8.0 Normalization - NFC, NFD, NFKC, NFKD. Read UAX #15 Unicode Normalization Forms.", - "devDependencies": { - "benchmark": "~1.0.0", - "grunt": "~0.4.1", - "grunt-contrib-jshint": "~0.8.0", - "grunt-contrib-watch": "~0.5.0", - "grunt-simple-mocha": "~0.4.0", - "unorm": "1.4.1" - }, - "directories": {}, - "dist": { - "shasum": "364200d5f13646ca8bcd44490271335614792300", - "tarball": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz" - }, - "engines": { - "node": ">= 0.4.0" - }, - "gitHead": "e802d0d7844cf74b03742bce1147a82ace218396", - "homepage": "https://github.com/walling/unorm", - "license": "MIT or GPL-2.0", - "main": "./lib/unorm.js", - "maintainers": [ - { - "name": "walling", - "email": "bwp@bwp.dk" - } - ], - "name": "unorm", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/walling/unorm.git" - }, - "scripts": { - "test": "grunt test" - }, - "version": "1.4.1" -} diff --git a/demo/platforms/android/cordova/node_modules/util-deprecate/History.md b/demo/platforms/android/cordova/node_modules/util-deprecate/History.md deleted file mode 100644 index acc8675..0000000 --- a/demo/platforms/android/cordova/node_modules/util-deprecate/History.md +++ /dev/null @@ -1,16 +0,0 @@ - -1.0.2 / 2015-10-07 -================== - - * use try/catch when checking `localStorage` (#3, @kumavis) - -1.0.1 / 2014-11-25 -================== - - * browser: use `console.warn()` for deprecation calls - * browser: more jsdocs - -1.0.0 / 2014-04-30 -================== - - * initial commit diff --git a/demo/platforms/android/cordova/node_modules/util-deprecate/LICENSE b/demo/platforms/android/cordova/node_modules/util-deprecate/LICENSE deleted file mode 100644 index 6a60e8c..0000000 --- a/demo/platforms/android/cordova/node_modules/util-deprecate/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -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/demo/platforms/android/cordova/node_modules/util-deprecate/README.md b/demo/platforms/android/cordova/node_modules/util-deprecate/README.md deleted file mode 100644 index 75622fa..0000000 --- a/demo/platforms/android/cordova/node_modules/util-deprecate/README.md +++ /dev/null @@ -1,53 +0,0 @@ -util-deprecate -============== -### The Node.js `util.deprecate()` function with browser support - -In Node.js, this module simply re-exports the `util.deprecate()` function. - -In the web browser (i.e. via browserify), a browser-specific implementation -of the `util.deprecate()` function is used. - - -## API - -A `deprecate()` function is the only thing exposed by this module. - -``` javascript -// setup: -exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead'); - - -// users see: -foo(); -// foo() is deprecated, use bar() instead -foo(); -foo(); -``` - - -## License - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -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/demo/platforms/android/cordova/node_modules/util-deprecate/browser.js b/demo/platforms/android/cordova/node_modules/util-deprecate/browser.js deleted file mode 100644 index 549ae2f..0000000 --- a/demo/platforms/android/cordova/node_modules/util-deprecate/browser.js +++ /dev/null @@ -1,67 +0,0 @@ - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate (fn, msg) { - if (config('noDeprecation')) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config (name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} diff --git a/demo/platforms/android/cordova/node_modules/util-deprecate/node.js b/demo/platforms/android/cordova/node_modules/util-deprecate/node.js deleted file mode 100644 index 5e6fcff..0000000 --- a/demo/platforms/android/cordova/node_modules/util-deprecate/node.js +++ /dev/null @@ -1,6 +0,0 @@ - -/** - * For Node.js, simply re-export the core `util.deprecate` function. - */ - -module.exports = require('util').deprecate; diff --git a/demo/platforms/android/cordova/node_modules/util-deprecate/package.json b/demo/platforms/android/cordova/node_modules/util-deprecate/package.json deleted file mode 100644 index dddfb3e..0000000 --- a/demo/platforms/android/cordova/node_modules/util-deprecate/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "util-deprecate@1.0.2", - "scope": null, - "escapedName": "util-deprecate", - "name": "util-deprecate", - "rawSpec": "1.0.2", - "spec": "1.0.2", - "type": "version" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/plist" - ] - ], - "_from": "util-deprecate@1.0.2", - "_id": "util-deprecate@1.0.2", - "_inCache": true, - "_location": "/cordova-android/util-deprecate", - "_nodeVersion": "4.1.2", - "_npmUser": { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - "_npmVersion": "2.14.4", - "_phantomChildren": {}, - "_requested": { - "raw": "util-deprecate@1.0.2", - "scope": null, - "escapedName": "util-deprecate", - "name": "util-deprecate", - "rawSpec": "1.0.2", - "spec": "1.0.2", - "type": "version" - }, - "_requiredBy": [ - "/cordova-android/plist" - ], - "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "_shrinkwrap": null, - "_spec": "util-deprecate@1.0.2", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/plist", - "author": { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://n8.io/" - }, - "browser": "browser.js", - "bugs": { - "url": "https://github.com/TooTallNate/util-deprecate/issues" - }, - "dependencies": {}, - "description": "The Node.js `util.deprecate()` function with browser support", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "tarball": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - }, - "gitHead": "475fb6857cd23fafff20c1be846c1350abf8e6d4", - "homepage": "https://github.com/TooTallNate/util-deprecate", - "keywords": [ - "util", - "deprecate", - "browserify", - "browser", - "node" - ], - "license": "MIT", - "main": "node.js", - "maintainers": [ - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - } - ], - "name": "util-deprecate", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/TooTallNate/util-deprecate.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.2" -} diff --git a/demo/platforms/android/cordova/node_modules/wrappy/LICENSE b/demo/platforms/android/cordova/node_modules/wrappy/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/demo/platforms/android/cordova/node_modules/wrappy/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/demo/platforms/android/cordova/node_modules/wrappy/README.md b/demo/platforms/android/cordova/node_modules/wrappy/README.md deleted file mode 100644 index 98eab25..0000000 --- a/demo/platforms/android/cordova/node_modules/wrappy/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# wrappy - -Callback wrapping utility - -## USAGE - -```javascript -var wrappy = require("wrappy") - -// var wrapper = wrappy(wrapperFunction) - -// make sure a cb is called only once -// See also: http://npm.im/once for this specific use case -var once = wrappy(function (cb) { - var called = false - return function () { - if (called) return - called = true - return cb.apply(this, arguments) - } -}) - -function printBoo () { - console.log('boo') -} -// has some rando property -printBoo.iAmBooPrinter = true - -var onlyPrintOnce = once(printBoo) - -onlyPrintOnce() // prints 'boo' -onlyPrintOnce() // does nothing - -// random property is retained! -assert.equal(onlyPrintOnce.iAmBooPrinter, true) -``` diff --git a/demo/platforms/android/cordova/node_modules/wrappy/package.json b/demo/platforms/android/cordova/node_modules/wrappy/package.json deleted file mode 100644 index 82e04be..0000000 --- a/demo/platforms/android/cordova/node_modules/wrappy/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "wrappy@1", - "scope": null, - "escapedName": "wrappy", - "name": "wrappy", - "rawSpec": "1", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/inflight" - ] - ], - "_from": "wrappy@>=1.0.0 <2.0.0", - "_id": "wrappy@1.0.2", - "_inCache": true, - "_location": "/cordova-android/wrappy", - "_nodeVersion": "5.10.1", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/wrappy-1.0.2.tgz_1463527848281_0.037129373755306005" - }, - "_npmUser": { - "name": "zkat", - "email": "kat@sykosomatic.org" - }, - "_npmVersion": "3.9.1", - "_phantomChildren": {}, - "_requested": { - "raw": "wrappy@1", - "scope": null, - "escapedName": "wrappy", - "name": "wrappy", - "rawSpec": "1", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/inflight", - "/cordova-android/once" - ], - "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "_shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", - "_shrinkwrap": null, - "_spec": "wrappy@1", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/inflight", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/npm/wrappy/issues" - }, - "dependencies": {}, - "description": "Callback wrapping utility", - "devDependencies": { - "tap": "^2.3.1" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", - "tarball": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - }, - "files": [ - "wrappy.js" - ], - "gitHead": "71d91b6dc5bdeac37e218c2cf03f9ab55b60d214", - "homepage": "https://github.com/npm/wrappy", - "license": "ISC", - "main": "wrappy.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - }, - { - "name": "zkat", - "email": "kat@sykosomatic.org" - } - ], - "name": "wrappy", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/wrappy.git" - }, - "scripts": { - "test": "tap --coverage test/*.js" - }, - "version": "1.0.2" -} diff --git a/demo/platforms/android/cordova/node_modules/wrappy/wrappy.js b/demo/platforms/android/cordova/node_modules/wrappy/wrappy.js deleted file mode 100644 index bb7e7d6..0000000 --- a/demo/platforms/android/cordova/node_modules/wrappy/wrappy.js +++ /dev/null @@ -1,33 +0,0 @@ -// Returns a wrapper function that returns a wrapped callback -// The wrapper function should do some stuff, and return a -// presumably different callback function. -// This makes sure that own properties are retained, so that -// decorations and such are not lost along the way. -module.exports = wrappy -function wrappy (fn, cb) { - if (fn && cb) return wrappy(fn)(cb) - - if (typeof fn !== 'function') - throw new TypeError('need wrapper function') - - Object.keys(fn).forEach(function (k) { - wrapper[k] = fn[k] - }) - - return wrapper - - function wrapper() { - var args = new Array(arguments.length) - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i] - } - var ret = fn.apply(this, args) - var cb = args[args.length-1] - if (typeof ret === 'function' && ret !== cb) { - Object.keys(cb).forEach(function (k) { - ret[k] = cb[k] - }) - } - return ret - } -} diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/.npmignore b/demo/platforms/android/cordova/node_modules/xmlbuilder/.npmignore deleted file mode 100644 index b6ad1f6..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -.travis.yml -src -test -perf -coverage diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/LICENSE b/demo/platforms/android/cordova/node_modules/xmlbuilder/LICENSE deleted file mode 100644 index e7cbac9..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 Ozgur Ozcitak - -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/demo/platforms/android/cordova/node_modules/xmlbuilder/README.md b/demo/platforms/android/cordova/node_modules/xmlbuilder/README.md deleted file mode 100644 index 13a5b12..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/README.md +++ /dev/null @@ -1,86 +0,0 @@ -# xmlbuilder-js - -An XML builder for [node.js](https://nodejs.org/) similar to -[java-xmlbuilder](https://github.com/jmurty/java-xmlbuilder). - -[![License](http://img.shields.io/npm/l/xmlbuilder.svg?style=flat-square)](http://opensource.org/licenses/MIT) -[![NPM Version](http://img.shields.io/npm/v/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder) -[![NPM Downloads](https://img.shields.io/npm/dm/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder) - -[![Build Status](http://img.shields.io/travis/oozcitak/xmlbuilder-js.svg?style=flat-square)](http://travis-ci.org/oozcitak/xmlbuilder-js) -[![Dependency Status](http://img.shields.io/david/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://david-dm.org/oozcitak/xmlbuilder-js) -[![Dev Dependency Status](http://img.shields.io/david/dev/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://david-dm.org/oozcitak/xmlbuilder-js) -[![Code Coverage](https://img.shields.io/coveralls/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://coveralls.io/github/oozcitak/xmlbuilder-js) - -### Installation: - -``` sh -npm install xmlbuilder -``` - -### Usage: - -``` js -var builder = require('xmlbuilder'); -var xml = builder.create('root') - .ele('xmlbuilder') - .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git') - .end({ pretty: true}); - -console.log(xml); -``` - -will result in: - -``` xml - - - - git://github.com/oozcitak/xmlbuilder-js.git - - -``` - -It is also possible to convert objects into nodes: - -``` js -builder.create({ - root: { - xmlbuilder: { - repo: { - '@type': 'git', // attributes start with @ - '#text': 'git://github.com/oozcitak/xmlbuilder-js.git' // text node - } - } - } -}); -``` - -If you need to do some processing: - -``` js -var root = builder.create('squares'); -root.com('f(x) = x^2'); -for(var i = 1; i <= 5; i++) -{ - var item = root.ele('data'); - item.att('x', i); - item.att('y', i * i); -} -``` - -This will result in: - -``` xml - - - - - - - - - -``` - -See the [wiki](https://github.com/oozcitak/xmlbuilder-js/wiki) for details. diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLAttribute.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLAttribute.js deleted file mode 100644 index 247c9d1..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLAttribute.js +++ /dev/null @@ -1,32 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLAttribute, create; - - create = require('lodash/object/create'); - - module.exports = XMLAttribute = (function() { - function XMLAttribute(parent, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing attribute name of element " + parent.name); - } - if (value == null) { - throw new Error("Missing attribute value for attribute " + name + " of element " + parent.name); - } - this.name = this.stringify.attName(name); - this.value = this.stringify.attValue(value); - } - - XMLAttribute.prototype.clone = function() { - return create(XMLAttribute.prototype, this); - }; - - XMLAttribute.prototype.toString = function(options, level) { - return ' ' + this.name + '="' + this.value + '"'; - }; - - return XMLAttribute; - - })(); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLBuilder.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLBuilder.js deleted file mode 100644 index 4282833..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLBuilder.js +++ /dev/null @@ -1,69 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier; - - XMLStringifier = require('./XMLStringifier'); - - XMLDeclaration = require('./XMLDeclaration'); - - XMLDocType = require('./XMLDocType'); - - XMLElement = require('./XMLElement'); - - module.exports = XMLBuilder = (function() { - function XMLBuilder(name, options) { - var root, temp; - if (name == null) { - throw new Error("Root element needs a name"); - } - if (options == null) { - options = {}; - } - this.options = options; - this.stringify = new XMLStringifier(options); - temp = new XMLElement(this, 'doc'); - root = temp.element(name); - root.isRoot = true; - root.documentObject = this; - this.rootObject = root; - if (!options.headless) { - root.declaration(options); - if ((options.pubID != null) || (options.sysID != null)) { - root.doctype(options); - } - } - } - - XMLBuilder.prototype.root = function() { - return this.rootObject; - }; - - XMLBuilder.prototype.end = function(options) { - return this.toString(options); - }; - - XMLBuilder.prototype.toString = function(options) { - var indent, newline, offset, pretty, r, ref, ref1, ref2; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - r = ''; - if (this.xmldec != null) { - r += this.xmldec.toString(options); - } - if (this.doctype != null) { - r += this.doctype.toString(options); - } - r += this.rootObject.toString(options); - if (pretty && r.slice(-newline.length) === newline) { - r = r.slice(0, -newline.length); - } - return r; - }; - - return XMLBuilder; - - })(); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLCData.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLCData.js deleted file mode 100644 index 00002f1..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLCData.js +++ /dev/null @@ -1,49 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLCData, XMLNode, create, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLCData = (function(superClass) { - extend(XMLCData, superClass); - - function XMLCData(parent, text) { - XMLCData.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing CDATA text"); - } - this.text = this.stringify.cdata(text); - } - - XMLCData.prototype.clone = function() { - return create(XMLCData.prototype, this); - }; - - XMLCData.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLCData; - - })(XMLNode); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLComment.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLComment.js deleted file mode 100644 index ca23e95..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLComment.js +++ /dev/null @@ -1,49 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLComment, XMLNode, create, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLComment = (function(superClass) { - extend(XMLComment, superClass); - - function XMLComment(parent, text) { - XMLComment.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing comment text"); - } - this.text = this.stringify.comment(text); - } - - XMLComment.prototype.clone = function() { - return create(XMLComment.prototype, this); - }; - - XMLComment.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLComment; - - })(XMLNode); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDAttList.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDAttList.js deleted file mode 100644 index 62e6d8a..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDAttList.js +++ /dev/null @@ -1,68 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDAttList, create; - - create = require('lodash/object/create'); - - module.exports = XMLDTDAttList = (function() { - function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) { - this.stringify = parent.stringify; - if (elementName == null) { - throw new Error("Missing DTD element name"); - } - if (attributeName == null) { - throw new Error("Missing DTD attribute name"); - } - if (!attributeType) { - throw new Error("Missing DTD attribute type"); - } - if (!defaultValueType) { - throw new Error("Missing DTD attribute default"); - } - if (defaultValueType.indexOf('#') !== 0) { - defaultValueType = '#' + defaultValueType; - } - if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) { - throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT"); - } - if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) { - throw new Error("Default value only applies to #FIXED or #DEFAULT"); - } - this.elementName = this.stringify.eleName(elementName); - this.attributeName = this.stringify.attName(attributeName); - this.attributeType = this.stringify.dtdAttType(attributeType); - this.defaultValue = this.stringify.dtdAttDefault(defaultValue); - this.defaultValueType = defaultValueType; - } - - XMLDTDAttList.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDAttList; - - })(); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDElement.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDElement.js deleted file mode 100644 index 2d155e2..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDElement.js +++ /dev/null @@ -1,46 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDElement, create; - - create = require('lodash/object/create'); - - module.exports = XMLDTDElement = (function() { - function XMLDTDElement(parent, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing DTD element name"); - } - if (!value) { - value = '(#PCDATA)'; - } - if (Array.isArray(value)) { - value = '(' + value.join(',') + ')'; - } - this.name = this.stringify.eleName(name); - this.value = this.stringify.dtdElementValue(value); - } - - XMLDTDElement.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDElement; - - })(); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDEntity.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDEntity.js deleted file mode 100644 index 3201d19..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDEntity.js +++ /dev/null @@ -1,84 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDEntity, create, isObject; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - module.exports = XMLDTDEntity = (function() { - function XMLDTDEntity(parent, pe, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing entity name"); - } - if (value == null) { - throw new Error("Missing entity value"); - } - this.pe = !!pe; - this.name = this.stringify.eleName(name); - if (!isObject(value)) { - this.value = this.stringify.dtdEntityValue(value); - } else { - if (!value.pubID && !value.sysID) { - throw new Error("Public and/or system identifiers are required for an external entity"); - } - if (value.pubID && !value.sysID) { - throw new Error("System identifier is required for a public external entity"); - } - if (value.pubID != null) { - this.pubID = this.stringify.dtdPubID(value.pubID); - } - if (value.sysID != null) { - this.sysID = this.stringify.dtdSysID(value.sysID); - } - if (value.nData != null) { - this.nData = this.stringify.dtdNData(value.nData); - } - if (this.pe && this.nData) { - throw new Error("Notation declaration is not allowed in a parameter entity"); - } - } - } - - XMLDTDEntity.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDEntity; - - })(); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDNotation.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDNotation.js deleted file mode 100644 index cfbccf4..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDNotation.js +++ /dev/null @@ -1,56 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDTDNotation, create; - - create = require('lodash/object/create'); - - module.exports = XMLDTDNotation = (function() { - function XMLDTDNotation(parent, name, value) { - this.stringify = parent.stringify; - if (name == null) { - throw new Error("Missing notation name"); - } - if (!value.pubID && !value.sysID) { - throw new Error("Public or system identifiers are required for an external entity"); - } - this.name = this.stringify.eleName(name); - if (value.pubID != null) { - this.pubID = this.stringify.dtdPubID(value.pubID); - } - if (value.sysID != null) { - this.sysID = this.stringify.dtdSysID(value.sysID); - } - } - - XMLDTDNotation.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDTDNotation; - - })(); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDeclaration.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDeclaration.js deleted file mode 100644 index b2d8435..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDeclaration.js +++ /dev/null @@ -1,65 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLDeclaration, XMLNode, create, isObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLDeclaration = (function(superClass) { - extend(XMLDeclaration, superClass); - - function XMLDeclaration(parent, version, encoding, standalone) { - var ref; - XMLDeclaration.__super__.constructor.call(this, parent); - if (isObject(version)) { - ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone; - } - if (!version) { - version = '1.0'; - } - this.version = this.stringify.xmlVersion(version); - if (encoding != null) { - this.encoding = this.stringify.xmlEncoding(encoding); - } - if (standalone != null) { - this.standalone = this.stringify.xmlStandalone(standalone); - } - } - - XMLDeclaration.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLDeclaration; - - })(XMLNode); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDocType.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDocType.js deleted file mode 100644 index eec6f36..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDocType.js +++ /dev/null @@ -1,188 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLProcessingInstruction, create, isObject; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - XMLCData = require('./XMLCData'); - - XMLComment = require('./XMLComment'); - - XMLDTDAttList = require('./XMLDTDAttList'); - - XMLDTDEntity = require('./XMLDTDEntity'); - - XMLDTDElement = require('./XMLDTDElement'); - - XMLDTDNotation = require('./XMLDTDNotation'); - - XMLProcessingInstruction = require('./XMLProcessingInstruction'); - - module.exports = XMLDocType = (function() { - function XMLDocType(parent, pubID, sysID) { - var ref, ref1; - this.documentObject = parent; - this.stringify = this.documentObject.stringify; - this.children = []; - if (isObject(pubID)) { - ref = pubID, pubID = ref.pubID, sysID = ref.sysID; - } - if (sysID == null) { - ref1 = [pubID, sysID], sysID = ref1[0], pubID = ref1[1]; - } - if (pubID != null) { - this.pubID = this.stringify.dtdPubID(pubID); - } - if (sysID != null) { - this.sysID = this.stringify.dtdSysID(sysID); - } - } - - XMLDocType.prototype.element = function(name, value) { - var child; - child = new XMLDTDElement(this, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { - var child; - child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.entity = function(name, value) { - var child; - child = new XMLDTDEntity(this, false, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.pEntity = function(name, value) { - var child; - child = new XMLDTDEntity(this, true, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.notation = function(name, value) { - var child; - child = new XMLDTDNotation(this, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.cdata = function(value) { - var child; - child = new XMLCData(this, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.comment = function(value) { - var child; - child = new XMLComment(this, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.instruction = function(target, value) { - var child; - child = new XMLProcessingInstruction(this, target, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.root = function() { - return this.documentObject.root(); - }; - - XMLDocType.prototype.document = function() { - return this.documentObject; - }; - - XMLDocType.prototype.toString = function(options, level) { - var child, i, indent, len, newline, offset, pretty, r, ref, ref1, ref2, ref3, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ' 0) { - r += ' ['; - if (pretty) { - r += newline; - } - ref3 = this.children; - for (i = 0, len = ref3.length; i < len; i++) { - child = ref3[i]; - r += child.toString(options, level + 1); - } - r += ']'; - } - r += '>'; - if (pretty) { - r += newline; - } - return r; - }; - - XMLDocType.prototype.ele = function(name, value) { - return this.element(name, value); - }; - - XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { - return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue); - }; - - XMLDocType.prototype.ent = function(name, value) { - return this.entity(name, value); - }; - - XMLDocType.prototype.pent = function(name, value) { - return this.pEntity(name, value); - }; - - XMLDocType.prototype.not = function(name, value) { - return this.notation(name, value); - }; - - XMLDocType.prototype.dat = function(value) { - return this.cdata(value); - }; - - XMLDocType.prototype.com = function(value) { - return this.comment(value); - }; - - XMLDocType.prototype.ins = function(target, value) { - return this.instruction(target, value); - }; - - XMLDocType.prototype.up = function() { - return this.root(); - }; - - XMLDocType.prototype.doc = function() { - return this.document(); - }; - - return XMLDocType; - - })(); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLElement.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLElement.js deleted file mode 100644 index d5814c8..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLElement.js +++ /dev/null @@ -1,212 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLAttribute, XMLElement, XMLNode, XMLProcessingInstruction, create, every, isFunction, isObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - isObject = require('lodash/lang/isObject'); - - isFunction = require('lodash/lang/isFunction'); - - every = require('lodash/collection/every'); - - XMLNode = require('./XMLNode'); - - XMLAttribute = require('./XMLAttribute'); - - XMLProcessingInstruction = require('./XMLProcessingInstruction'); - - module.exports = XMLElement = (function(superClass) { - extend(XMLElement, superClass); - - function XMLElement(parent, name, attributes) { - XMLElement.__super__.constructor.call(this, parent); - if (name == null) { - throw new Error("Missing element name"); - } - this.name = this.stringify.eleName(name); - this.children = []; - this.instructions = []; - this.attributes = {}; - if (attributes != null) { - this.attribute(attributes); - } - } - - XMLElement.prototype.clone = function() { - var att, attName, clonedSelf, i, len, pi, ref, ref1; - clonedSelf = create(XMLElement.prototype, this); - if (clonedSelf.isRoot) { - clonedSelf.documentObject = null; - } - clonedSelf.attributes = {}; - ref = this.attributes; - for (attName in ref) { - if (!hasProp.call(ref, attName)) continue; - att = ref[attName]; - clonedSelf.attributes[attName] = att.clone(); - } - clonedSelf.instructions = []; - ref1 = this.instructions; - for (i = 0, len = ref1.length; i < len; i++) { - pi = ref1[i]; - clonedSelf.instructions.push(pi.clone()); - } - clonedSelf.children = []; - this.children.forEach(function(child) { - var clonedChild; - clonedChild = child.clone(); - clonedChild.parent = clonedSelf; - return clonedSelf.children.push(clonedChild); - }); - return clonedSelf; - }; - - XMLElement.prototype.attribute = function(name, value) { - var attName, attValue; - if (name != null) { - name = name.valueOf(); - } - if (isObject(name)) { - for (attName in name) { - if (!hasProp.call(name, attName)) continue; - attValue = name[attName]; - this.attribute(attName, attValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - if (!this.options.skipNullAttributes || (value != null)) { - this.attributes[name] = new XMLAttribute(this, name, value); - } - } - return this; - }; - - XMLElement.prototype.removeAttribute = function(name) { - var attName, i, len; - if (name == null) { - throw new Error("Missing attribute name"); - } - name = name.valueOf(); - if (Array.isArray(name)) { - for (i = 0, len = name.length; i < len; i++) { - attName = name[i]; - delete this.attributes[attName]; - } - } else { - delete this.attributes[name]; - } - return this; - }; - - XMLElement.prototype.instruction = function(target, value) { - var i, insTarget, insValue, instruction, len; - if (target != null) { - target = target.valueOf(); - } - if (value != null) { - value = value.valueOf(); - } - if (Array.isArray(target)) { - for (i = 0, len = target.length; i < len; i++) { - insTarget = target[i]; - this.instruction(insTarget); - } - } else if (isObject(target)) { - for (insTarget in target) { - if (!hasProp.call(target, insTarget)) continue; - insValue = target[insTarget]; - this.instruction(insTarget, insValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - instruction = new XMLProcessingInstruction(this, target, value); - this.instructions.push(instruction); - } - return this; - }; - - XMLElement.prototype.toString = function(options, level) { - var att, child, i, indent, instruction, j, len, len1, name, newline, offset, pretty, r, ref, ref1, ref2, ref3, ref4, ref5, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - ref3 = this.instructions; - for (i = 0, len = ref3.length; i < len; i++) { - instruction = ref3[i]; - r += instruction.toString(options, level); - } - if (pretty) { - r += space; - } - r += '<' + this.name; - ref4 = this.attributes; - for (name in ref4) { - if (!hasProp.call(ref4, name)) continue; - att = ref4[name]; - r += att.toString(options); - } - if (this.children.length === 0 || every(this.children, function(e) { - return e.value === ''; - })) { - r += '/>'; - if (pretty) { - r += newline; - } - } else if (pretty && this.children.length === 1 && (this.children[0].value != null)) { - r += '>'; - r += this.children[0].value; - r += ''; - r += newline; - } else { - r += '>'; - if (pretty) { - r += newline; - } - ref5 = this.children; - for (j = 0, len1 = ref5.length; j < len1; j++) { - child = ref5[j]; - r += child.toString(options, level + 1); - } - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - } - return r; - }; - - XMLElement.prototype.att = function(name, value) { - return this.attribute(name, value); - }; - - XMLElement.prototype.ins = function(target, value) { - return this.instruction(target, value); - }; - - XMLElement.prototype.a = function(name, value) { - return this.attribute(name, value); - }; - - XMLElement.prototype.i = function(target, value) { - return this.instruction(target, value); - }; - - return XMLElement; - - })(XMLNode); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLNode.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLNode.js deleted file mode 100644 index 592545a..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLNode.js +++ /dev/null @@ -1,331 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLElement, XMLNode, XMLRaw, XMLText, isEmpty, isFunction, isObject, - hasProp = {}.hasOwnProperty; - - isObject = require('lodash/lang/isObject'); - - isFunction = require('lodash/lang/isFunction'); - - isEmpty = require('lodash/lang/isEmpty'); - - XMLElement = null; - - XMLCData = null; - - XMLComment = null; - - XMLDeclaration = null; - - XMLDocType = null; - - XMLRaw = null; - - XMLText = null; - - module.exports = XMLNode = (function() { - function XMLNode(parent) { - this.parent = parent; - this.options = this.parent.options; - this.stringify = this.parent.stringify; - if (XMLElement === null) { - XMLElement = require('./XMLElement'); - XMLCData = require('./XMLCData'); - XMLComment = require('./XMLComment'); - XMLDeclaration = require('./XMLDeclaration'); - XMLDocType = require('./XMLDocType'); - XMLRaw = require('./XMLRaw'); - XMLText = require('./XMLText'); - } - } - - XMLNode.prototype.element = function(name, attributes, text) { - var childNode, item, j, k, key, lastChild, len, len1, ref, val; - lastChild = null; - if (attributes == null) { - attributes = {}; - } - attributes = attributes.valueOf(); - if (!isObject(attributes)) { - ref = [attributes, text], text = ref[0], attributes = ref[1]; - } - if (name != null) { - name = name.valueOf(); - } - if (Array.isArray(name)) { - for (j = 0, len = name.length; j < len; j++) { - item = name[j]; - lastChild = this.element(item); - } - } else if (isFunction(name)) { - lastChild = this.element(name.apply()); - } else if (isObject(name)) { - for (key in name) { - if (!hasProp.call(name, key)) continue; - val = name[key]; - if (isFunction(val)) { - val = val.apply(); - } - if ((isObject(val)) && (isEmpty(val))) { - val = null; - } - if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) { - lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val); - } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && key.indexOf(this.stringify.convertPIKey) === 0) { - lastChild = this.instruction(key.substr(this.stringify.convertPIKey.length), val); - } else if (Array.isArray(val)) { - for (k = 0, len1 = val.length; k < len1; k++) { - item = val[k]; - childNode = {}; - childNode[key] = item; - lastChild = this.element(childNode); - } - } else if (isObject(val)) { - lastChild = this.element(key); - lastChild.element(val); - } else { - lastChild = this.element(key, val); - } - } - } else { - if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) { - lastChild = this.text(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) { - lastChild = this.cdata(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) { - lastChild = this.comment(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) { - lastChild = this.raw(text); - } else { - lastChild = this.node(name, attributes, text); - } - } - if (lastChild == null) { - throw new Error("Could not create any elements with: " + name); - } - return lastChild; - }; - - XMLNode.prototype.insertBefore = function(name, attributes, text) { - var child, i, removed; - if (this.isRoot) { - throw new Error("Cannot insert elements at root level"); - } - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i); - child = this.parent.element(name, attributes, text); - Array.prototype.push.apply(this.parent.children, removed); - return child; - }; - - XMLNode.prototype.insertAfter = function(name, attributes, text) { - var child, i, removed; - if (this.isRoot) { - throw new Error("Cannot insert elements at root level"); - } - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i + 1); - child = this.parent.element(name, attributes, text); - Array.prototype.push.apply(this.parent.children, removed); - return child; - }; - - XMLNode.prototype.remove = function() { - var i, ref; - if (this.isRoot) { - throw new Error("Cannot remove the root element"); - } - i = this.parent.children.indexOf(this); - [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref = [])), ref; - return this.parent; - }; - - XMLNode.prototype.node = function(name, attributes, text) { - var child, ref; - if (name != null) { - name = name.valueOf(); - } - if (attributes == null) { - attributes = {}; - } - attributes = attributes.valueOf(); - if (!isObject(attributes)) { - ref = [attributes, text], text = ref[0], attributes = ref[1]; - } - child = new XMLElement(this, name, attributes); - if (text != null) { - child.text(text); - } - this.children.push(child); - return child; - }; - - XMLNode.prototype.text = function(value) { - var child; - child = new XMLText(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.cdata = function(value) { - var child; - child = new XMLCData(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.comment = function(value) { - var child; - child = new XMLComment(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.raw = function(value) { - var child; - child = new XMLRaw(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.declaration = function(version, encoding, standalone) { - var doc, xmldec; - doc = this.document(); - xmldec = new XMLDeclaration(doc, version, encoding, standalone); - doc.xmldec = xmldec; - return doc.root(); - }; - - XMLNode.prototype.doctype = function(pubID, sysID) { - var doc, doctype; - doc = this.document(); - doctype = new XMLDocType(doc, pubID, sysID); - doc.doctype = doctype; - return doctype; - }; - - XMLNode.prototype.up = function() { - if (this.isRoot) { - throw new Error("The root node has no parent. Use doc() if you need to get the document object."); - } - return this.parent; - }; - - XMLNode.prototype.root = function() { - var child; - if (this.isRoot) { - return this; - } - child = this.parent; - while (!child.isRoot) { - child = child.parent; - } - return child; - }; - - XMLNode.prototype.document = function() { - return this.root().documentObject; - }; - - XMLNode.prototype.end = function(options) { - return this.document().toString(options); - }; - - XMLNode.prototype.prev = function() { - var i; - if (this.isRoot) { - throw new Error("Root node has no siblings"); - } - i = this.parent.children.indexOf(this); - if (i < 1) { - throw new Error("Already at the first node"); - } - return this.parent.children[i - 1]; - }; - - XMLNode.prototype.next = function() { - var i; - if (this.isRoot) { - throw new Error("Root node has no siblings"); - } - i = this.parent.children.indexOf(this); - if (i === -1 || i === this.parent.children.length - 1) { - throw new Error("Already at the last node"); - } - return this.parent.children[i + 1]; - }; - - XMLNode.prototype.importXMLBuilder = function(xmlbuilder) { - var clonedRoot; - clonedRoot = xmlbuilder.root().clone(); - clonedRoot.parent = this; - clonedRoot.isRoot = false; - this.children.push(clonedRoot); - return this; - }; - - XMLNode.prototype.ele = function(name, attributes, text) { - return this.element(name, attributes, text); - }; - - XMLNode.prototype.nod = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLNode.prototype.txt = function(value) { - return this.text(value); - }; - - XMLNode.prototype.dat = function(value) { - return this.cdata(value); - }; - - XMLNode.prototype.com = function(value) { - return this.comment(value); - }; - - XMLNode.prototype.doc = function() { - return this.document(); - }; - - XMLNode.prototype.dec = function(version, encoding, standalone) { - return this.declaration(version, encoding, standalone); - }; - - XMLNode.prototype.dtd = function(pubID, sysID) { - return this.doctype(pubID, sysID); - }; - - XMLNode.prototype.e = function(name, attributes, text) { - return this.element(name, attributes, text); - }; - - XMLNode.prototype.n = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLNode.prototype.t = function(value) { - return this.text(value); - }; - - XMLNode.prototype.d = function(value) { - return this.cdata(value); - }; - - XMLNode.prototype.c = function(value) { - return this.comment(value); - }; - - XMLNode.prototype.r = function(value) { - return this.raw(value); - }; - - XMLNode.prototype.u = function() { - return this.up(); - }; - - return XMLNode; - - })(); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js deleted file mode 100644 index f5d8c6c..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +++ /dev/null @@ -1,51 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLProcessingInstruction, create; - - create = require('lodash/object/create'); - - module.exports = XMLProcessingInstruction = (function() { - function XMLProcessingInstruction(parent, target, value) { - this.stringify = parent.stringify; - if (target == null) { - throw new Error("Missing instruction target"); - } - this.target = this.stringify.insTarget(target); - if (value) { - this.value = this.stringify.insValue(value); - } - } - - XMLProcessingInstruction.prototype.clone = function() { - return create(XMLProcessingInstruction.prototype, this); - }; - - XMLProcessingInstruction.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += ''; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLProcessingInstruction; - - })(); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLRaw.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLRaw.js deleted file mode 100644 index 499d0e2..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLRaw.js +++ /dev/null @@ -1,49 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLNode, XMLRaw, create, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - create = require('lodash/object/create'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLRaw = (function(superClass) { - extend(XMLRaw, superClass); - - function XMLRaw(parent, text) { - XMLRaw.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing raw text"); - } - this.value = this.stringify.raw(text); - } - - XMLRaw.prototype.clone = function() { - return create(XMLRaw.prototype, this); - }; - - XMLRaw.prototype.toString = function(options, level) { - var indent, newline, offset, pretty, r, ref, ref1, ref2, space; - pretty = (options != null ? options.pretty : void 0) || false; - indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' '; - offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0; - newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n'; - level || (level = 0); - space = new Array(level + offset + 1).join(indent); - r = ''; - if (pretty) { - r += space; - } - r += this.value; - if (pretty) { - r += newline; - } - return r; - }; - - return XMLRaw; - - })(XMLNode); - -}).call(this); diff --git a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLStringifier.js b/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLStringifier.js deleted file mode 100644 index f0ab1fc..0000000 --- a/demo/platforms/android/cordova/node_modules/xmlbuilder/lib/XMLStringifier.js +++ /dev/null @@ -1,165 +0,0 @@ -// Generated by CoffeeScript 1.9.1 -(function() { - var XMLStringifier, - bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - hasProp = {}.hasOwnProperty; - - module.exports = XMLStringifier = (function() { - function XMLStringifier(options) { - this.assertLegalChar = bind(this.assertLegalChar, this); - var key, ref, value; - this.allowSurrogateChars = options != null ? options.allowSurrogateChars : void 0; - ref = (options != null ? options.stringify : void 0) || {}; - for (key in ref) { - if (!hasProp.call(ref, key)) continue; - value = ref[key]; - this[key] = value; - } - } - - XMLStringifier.prototype.eleName = function(val) { - val = '' + val || ''; - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.eleText = function(val) { - val = '' + val || ''; - return this.assertLegalChar(this.elEscape(val)); - }; - - XMLStringifier.prototype.cdata = function(val) { - val = '' + val || ''; - if (val.match(/]]>/)) { - throw new Error("Invalid CDATA text: " + val); - } - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.comment = function(val) { - val = '' + val || ''; - if (val.match(/--/)) { - throw new Error("Comment text cannot contain double-hypen: " + val); - } - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.raw = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.attName = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.attValue = function(val) { - val = '' + val || ''; - return this.attEscape(val); - }; - - XMLStringifier.prototype.insTarget = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.insValue = function(val) { - val = '' + val || ''; - if (val.match(/\?>/)) { - throw new Error("Invalid processing instruction value: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlVersion = function(val) { - val = '' + val || ''; - if (!val.match(/1\.[0-9]+/)) { - throw new Error("Invalid version number: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlEncoding = function(val) { - val = '' + val || ''; - if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-]|-)*$/)) { - throw new Error("Invalid encoding: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlStandalone = function(val) { - if (val) { - return "yes"; - } else { - return "no"; - } - }; - - XMLStringifier.prototype.dtdPubID = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdSysID = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdElementValue = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdAttType = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdAttDefault = function(val) { - if (val != null) { - return '' + val || ''; - } else { - return val; - } - }; - - XMLStringifier.prototype.dtdEntityValue = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.dtdNData = function(val) { - return '' + val || ''; - }; - - XMLStringifier.prototype.convertAttKey = '@'; - - XMLStringifier.prototype.convertPIKey = '?'; - - XMLStringifier.prototype.convertTextKey = '#text'; - - XMLStringifier.prototype.convertCDataKey = '#cdata'; - - XMLStringifier.prototype.convertCommentKey = '#comment'; - - XMLStringifier.prototype.convertRawKey = '#raw'; - - XMLStringifier.prototype.assertLegalChar = function(str) { - var chars, chr; - if (this.allowSurrogateChars) { - chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uFFFE-\uFFFF]/; - } else { - chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uD800-\uDFFF\uFFFE-\uFFFF]/; - } - chr = str.match(chars); - if (chr) { - throw new Error("Invalid character (" + chr + ") in string: " + str + " at index " + chr.index); - } - return str; - }; - - XMLStringifier.prototype.elEscape = function(str) { - return str.replace(/&/g, '&').replace(//g, '>').replace(/\r/g, ' '); - }; - - XMLStringifier.prototype.attEscape = function(str) { - return str.replace(/&/g, '&').replace(/=0.8.0" - }, - "gitHead": "ec17840a6705ef666b7d04c771de11df6091fff5", - "homepage": "http://github.com/oozcitak/xmlbuilder-js", - "keywords": [ - "xml", - "xmlbuilder" - ], - "license": "MIT", - "main": "./lib/index", - "maintainers": [ - { - "name": "oozcitak", - "email": "oozcitak@gmail.com" - } - ], - "name": "xmlbuilder", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/oozcitak/xmlbuilder-js.git" - }, - "scripts": { - "postpublish": "rm -rf lib", - "prepublish": "coffee -co lib src", - "test": "mocha && istanbul report text lcov" - }, - "version": "4.0.0" -} diff --git a/demo/platforms/android/cordova/node_modules/xmldom/.npmignore b/demo/platforms/android/cordova/node_modules/xmldom/.npmignore deleted file mode 100644 index b094a44..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -test -t -travis.yml -.project -changelog diff --git a/demo/platforms/android/cordova/node_modules/xmldom/.travis.yml b/demo/platforms/android/cordova/node_modules/xmldom/.travis.yml deleted file mode 100644 index b95408e..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: node_js - -node_js: - - '0.10' - -branches: - only: - - master - - proof - - travis-ci - -# Not using `npm install --dev` because it is recursive. It will pull in the all -# development dependencies for CoffeeScript. Way too much spew in the Travis CI -# build output. - -before_install: - - npm install - - npm install istanbul coveralls - -env: - global: - - secure: "BxUHTsa1WVANLQoimilbZwa1MCWSdM9hOmPWBE/rsYb7uT/iiqkRXXwnWhKtN5CLvTvIQbiAzq4iyPID0S8UHrnxClYQrOuA6QkrtwgIEuDAmijao/bgxobPOremvkwXcpMGIwzYKyYQQtSEaEIQbqf6gSSKW9dBh/GZ/vfTsqo=" diff --git a/demo/platforms/android/cordova/node_modules/xmldom/LICENSE b/demo/platforms/android/cordova/node_modules/xmldom/LICENSE deleted file mode 100644 index 68a9b5e..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/LICENSE +++ /dev/null @@ -1,8 +0,0 @@ -You can choose any one of those: - -The MIT License (MIT): - -link:http://opensource.org/licenses/MIT - -LGPL: -http://www.gnu.org/licenses/lgpl.html diff --git a/demo/platforms/android/cordova/node_modules/xmldom/__package__.js b/demo/platforms/android/cordova/node_modules/xmldom/__package__.js deleted file mode 100644 index b4cad28..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/__package__.js +++ /dev/null @@ -1,4 +0,0 @@ -this.addScript('dom.js',['DOMImplementation','XMLSerializer']); -this.addScript('dom-parser.js',['DOMHandler','DOMParser'], - ['DOMImplementation','XMLReader']); -this.addScript('sax.js','XMLReader'); \ No newline at end of file diff --git a/demo/platforms/android/cordova/node_modules/xmldom/changelog b/demo/platforms/android/cordova/node_modules/xmldom/changelog deleted file mode 100644 index ab815bb..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/changelog +++ /dev/null @@ -1,14 +0,0 @@ -### Version 0.1.16 - -Sat May 4 14:58:03 UTC 2013 - - * Correctly handle multibyte Unicode greater than two byts. #57. #56. - * Initial unit testing and test coverage. #53. #46. #19. - * Create Bower `component.json` #52. - -### Version 0.1.8 - - * Add: some test case from node-o3-xml(excludes xpath support) - * Fix: remove existed attribute before setting (bug introduced in v0.1.5) - * Fix: index direct access for childNodes and any NodeList collection(not w3c standard) - * Fix: remove last child bug diff --git a/demo/platforms/android/cordova/node_modules/xmldom/component.json b/demo/platforms/android/cordova/node_modules/xmldom/component.json deleted file mode 100644 index 93b4d57..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/component.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "xmldom", - "version": "0.1.15", - "main": "dom-parser.js", - "ignore": [ - "**/.*", - "node_modules", - "components" - ] -} diff --git a/demo/platforms/android/cordova/node_modules/xmldom/dom-parser.js b/demo/platforms/android/cordova/node_modules/xmldom/dom-parser.js deleted file mode 100644 index 41d5226..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/dom-parser.js +++ /dev/null @@ -1,251 +0,0 @@ -function DOMParser(options){ - this.options = options ||{locator:{}}; - -} -DOMParser.prototype.parseFromString = function(source,mimeType){ - var options = this.options; - var sax = new XMLReader(); - var domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler - var errorHandler = options.errorHandler; - var locator = options.locator; - var defaultNSMap = options.xmlns||{}; - var entityMap = {'lt':'<','gt':'>','amp':'&','quot':'"','apos':"'"} - if(locator){ - domBuilder.setDocumentLocator(locator) - } - - sax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator); - sax.domBuilder = options.domBuilder || domBuilder; - if(/\/x?html?$/.test(mimeType)){ - entityMap.nbsp = '\xa0'; - entityMap.copy = '\xa9'; - defaultNSMap['']= 'http://www.w3.org/1999/xhtml'; - } - defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace'; - if(source){ - sax.parse(source,defaultNSMap,entityMap); - }else{ - sax.errorHandler.error("invalid doc source"); - } - return domBuilder.doc; -} -function buildErrorHandler(errorImpl,domBuilder,locator){ - if(!errorImpl){ - if(domBuilder instanceof DOMHandler){ - return domBuilder; - } - errorImpl = domBuilder ; - } - var errorHandler = {} - var isCallback = errorImpl instanceof Function; - locator = locator||{} - function build(key){ - var fn = errorImpl[key]; - if(!fn && isCallback){ - fn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl; - } - errorHandler[key] = fn && function(msg){ - fn('[xmldom '+key+']\t'+msg+_locator(locator)); - }||function(){}; - } - build('warning'); - build('error'); - build('fatalError'); - return errorHandler; -} - -//console.log('#\n\n\n\n\n\n\n####') -/** - * +ContentHandler+ErrorHandler - * +LexicalHandler+EntityResolver2 - * -DeclHandler-DTDHandler - * - * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler - * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2 - * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html - */ -function DOMHandler() { - this.cdata = false; -} -function position(locator,node){ - node.lineNumber = locator.lineNumber; - node.columnNumber = locator.columnNumber; -} -/** - * @see org.xml.sax.ContentHandler#startDocument - * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html - */ -DOMHandler.prototype = { - startDocument : function() { - this.doc = new DOMImplementation().createDocument(null, null, null); - if (this.locator) { - this.doc.documentURI = this.locator.systemId; - } - }, - startElement:function(namespaceURI, localName, qName, attrs) { - var doc = this.doc; - var el = doc.createElementNS(namespaceURI, qName||localName); - var len = attrs.length; - appendElement(this, el); - this.currentElement = el; - - this.locator && position(this.locator,el) - for (var i = 0 ; i < len; i++) { - var namespaceURI = attrs.getURI(i); - var value = attrs.getValue(i); - var qName = attrs.getQName(i); - var attr = doc.createAttributeNS(namespaceURI, qName); - this.locator &&position(attrs.getLocator(i),attr); - attr.value = attr.nodeValue = value; - el.setAttributeNode(attr) - } - }, - endElement:function(namespaceURI, localName, qName) { - var current = this.currentElement - var tagName = current.tagName; - this.currentElement = current.parentNode; - }, - startPrefixMapping:function(prefix, uri) { - }, - endPrefixMapping:function(prefix) { - }, - processingInstruction:function(target, data) { - var ins = this.doc.createProcessingInstruction(target, data); - this.locator && position(this.locator,ins) - appendElement(this, ins); - }, - ignorableWhitespace:function(ch, start, length) { - }, - characters:function(chars, start, length) { - chars = _toString.apply(this,arguments) - //console.log(chars) - if(chars){ - if (this.cdata) { - var charNode = this.doc.createCDATASection(chars); - } else { - var charNode = this.doc.createTextNode(chars); - } - if(this.currentElement){ - this.currentElement.appendChild(charNode); - }else if(/^\s*$/.test(chars)){ - this.doc.appendChild(charNode); - //process xml - } - this.locator && position(this.locator,charNode) - } - }, - skippedEntity:function(name) { - }, - endDocument:function() { - this.doc.normalize(); - }, - setDocumentLocator:function (locator) { - if(this.locator = locator){// && !('lineNumber' in locator)){ - locator.lineNumber = 0; - } - }, - //LexicalHandler - comment:function(chars, start, length) { - chars = _toString.apply(this,arguments) - var comm = this.doc.createComment(chars); - this.locator && position(this.locator,comm) - appendElement(this, comm); - }, - - startCDATA:function() { - //used in characters() methods - this.cdata = true; - }, - endCDATA:function() { - this.cdata = false; - }, - - startDTD:function(name, publicId, systemId) { - var impl = this.doc.implementation; - if (impl && impl.createDocumentType) { - var dt = impl.createDocumentType(name, publicId, systemId); - this.locator && position(this.locator,dt) - appendElement(this, dt); - } - }, - /** - * @see org.xml.sax.ErrorHandler - * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html - */ - warning:function(error) { - console.warn('[xmldom warning]\t'+error,_locator(this.locator)); - }, - error:function(error) { - console.error('[xmldom error]\t'+error,_locator(this.locator)); - }, - fatalError:function(error) { - console.error('[xmldom fatalError]\t'+error,_locator(this.locator)); - throw error; - } -} -function _locator(l){ - if(l){ - return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']' - } -} -function _toString(chars,start,length){ - if(typeof chars == 'string'){ - return chars.substr(start,length) - }else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)") - if(chars.length >= start+length || start){ - return new java.lang.String(chars,start,length)+''; - } - return chars; - } -} - -/* - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html - * used method of org.xml.sax.ext.LexicalHandler: - * #comment(chars, start, length) - * #startCDATA() - * #endCDATA() - * #startDTD(name, publicId, systemId) - * - * - * IGNORED method of org.xml.sax.ext.LexicalHandler: - * #endDTD() - * #startEntity(name) - * #endEntity(name) - * - * - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html - * IGNORED method of org.xml.sax.ext.DeclHandler - * #attributeDecl(eName, aName, type, mode, value) - * #elementDecl(name, model) - * #externalEntityDecl(name, publicId, systemId) - * #internalEntityDecl(name, value) - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html - * IGNORED method of org.xml.sax.EntityResolver2 - * #resolveEntity(String name,String publicId,String baseURI,String systemId) - * #resolveEntity(publicId, systemId) - * #getExternalSubset(name, baseURI) - * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html - * IGNORED method of org.xml.sax.DTDHandler - * #notationDecl(name, publicId, systemId) {}; - * #unparsedEntityDecl(name, publicId, systemId, notationName) {}; - */ -"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){ - DOMHandler.prototype[key] = function(){return null} -}) - -/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */ -function appendElement (hander,node) { - if (!hander.currentElement) { - hander.doc.appendChild(node); - } else { - hander.currentElement.appendChild(node); - } -}//appendChild and setAttributeNS are preformance key - -//if(typeof require == 'function'){ - var XMLReader = require('./sax').XMLReader; - var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation; - exports.XMLSerializer = require('./dom').XMLSerializer ; - exports.DOMParser = DOMParser; -//} diff --git a/demo/platforms/android/cordova/node_modules/xmldom/dom.js b/demo/platforms/android/cordova/node_modules/xmldom/dom.js deleted file mode 100644 index b290df0..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/dom.js +++ /dev/null @@ -1,1244 +0,0 @@ -/* - * DOM Level 2 - * Object DOMException - * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - */ - -function copy(src,dest){ - for(var p in src){ - dest[p] = src[p]; - } -} -/** -^\w+\.prototype\.([_\w]+)\s*=\s*((?:.*\{\s*?[\r\n][\s\S]*?^})|\S.*?(?=[;\r\n]));? -^\w+\.prototype\.([_\w]+)\s*=\s*(\S.*?(?=[;\r\n]));? - */ -function _extends(Class,Super){ - var pt = Class.prototype; - if(Object.create){ - var ppt = Object.create(Super.prototype) - pt.__proto__ = ppt; - } - if(!(pt instanceof Super)){ - function t(){}; - t.prototype = Super.prototype; - t = new t(); - copy(pt,t); - Class.prototype = pt = t; - } - if(pt.constructor != Class){ - if(typeof Class != 'function'){ - console.error("unknow Class:"+Class) - } - pt.constructor = Class - } -} -var htmlns = 'http://www.w3.org/1999/xhtml' ; -// Node Types -var NodeType = {} -var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1; -var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2; -var TEXT_NODE = NodeType.TEXT_NODE = 3; -var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4; -var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5; -var ENTITY_NODE = NodeType.ENTITY_NODE = 6; -var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7; -var COMMENT_NODE = NodeType.COMMENT_NODE = 8; -var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9; -var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10; -var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11; -var NOTATION_NODE = NodeType.NOTATION_NODE = 12; - -// ExceptionCode -var ExceptionCode = {} -var ExceptionMessage = {}; -var INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]="Index size error"),1); -var DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2); -var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3); -var WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4); -var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5); -var NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6); -var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7); -var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8); -var NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]="Not supported"),9); -var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]="Attribute in use"),10); -//level2 -var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = ((ExceptionMessage[11]="Invalid state"),11); -var SYNTAX_ERR = ExceptionCode.SYNTAX_ERR = ((ExceptionMessage[12]="Syntax error"),12); -var INVALID_MODIFICATION_ERR = ExceptionCode.INVALID_MODIFICATION_ERR = ((ExceptionMessage[13]="Invalid modification"),13); -var NAMESPACE_ERR = ExceptionCode.NAMESPACE_ERR = ((ExceptionMessage[14]="Invalid namespace"),14); -var INVALID_ACCESS_ERR = ExceptionCode.INVALID_ACCESS_ERR = ((ExceptionMessage[15]="Invalid access"),15); - - -function DOMException(code, message) { - if(message instanceof Error){ - var error = message; - }else{ - error = this; - Error.call(this, ExceptionMessage[code]); - this.message = ExceptionMessage[code]; - if(Error.captureStackTrace) Error.captureStackTrace(this, DOMException); - } - error.code = code; - if(message) this.message = this.message + ": " + message; - return error; -}; -DOMException.prototype = Error.prototype; -copy(ExceptionCode,DOMException) -/** - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177 - * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live. - * The items in the NodeList are accessible via an integral index, starting from 0. - */ -function NodeList() { -}; -NodeList.prototype = { - /** - * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive. - * @standard level1 - */ - length:0, - /** - * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null. - * @standard level1 - * @param index unsigned long - * Index into the collection. - * @return Node - * The node at the indexth position in the NodeList, or null if that is not a valid index. - */ - item: function(index) { - return this[index] || null; - }, - toString:function(isHTML,nodeFilter){ - for(var buf = [], i = 0;i=0){ - var lastIndex = list.length-1 - while(i0 || key == 'xmlns'){ -// return null; -// } - //console.log() - var i = this.length; - while(i--){ - var attr = this[i]; - //console.log(attr.nodeName,key) - if(attr.nodeName == key){ - return attr; - } - } - }, - setNamedItem: function(attr) { - var el = attr.ownerElement; - if(el && el!=this._ownerElement){ - throw new DOMException(INUSE_ATTRIBUTE_ERR); - } - var oldAttr = this.getNamedItem(attr.nodeName); - _addNamedNode(this._ownerElement,this,attr,oldAttr); - return oldAttr; - }, - /* returns Node */ - setNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR - var el = attr.ownerElement, oldAttr; - if(el && el!=this._ownerElement){ - throw new DOMException(INUSE_ATTRIBUTE_ERR); - } - oldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName); - _addNamedNode(this._ownerElement,this,attr,oldAttr); - return oldAttr; - }, - - /* returns Node */ - removeNamedItem: function(key) { - var attr = this.getNamedItem(key); - _removeNamedNode(this._ownerElement,this,attr); - return attr; - - - },// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR - - //for level2 - removeNamedItemNS:function(namespaceURI,localName){ - var attr = this.getNamedItemNS(namespaceURI,localName); - _removeNamedNode(this._ownerElement,this,attr); - return attr; - }, - getNamedItemNS: function(namespaceURI, localName) { - var i = this.length; - while(i--){ - var node = this[i]; - if(node.localName == localName && node.namespaceURI == namespaceURI){ - return node; - } - } - return null; - } -}; -/** - * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 - */ -function DOMImplementation(/* Object */ features) { - this._features = {}; - if (features) { - for (var feature in features) { - this._features = features[feature]; - } - } -}; - -DOMImplementation.prototype = { - hasFeature: function(/* string */ feature, /* string */ version) { - var versions = this._features[feature.toLowerCase()]; - if (versions && (!version || version in versions)) { - return true; - } else { - return false; - } - }, - // Introduced in DOM Level 2: - createDocument:function(namespaceURI, qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR - var doc = new Document(); - doc.implementation = this; - doc.childNodes = new NodeList(); - doc.doctype = doctype; - if(doctype){ - doc.appendChild(doctype); - } - if(qualifiedName){ - var root = doc.createElementNS(namespaceURI,qualifiedName); - doc.appendChild(root); - } - return doc; - }, - // Introduced in DOM Level 2: - createDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR - var node = new DocumentType(); - node.name = qualifiedName; - node.nodeName = qualifiedName; - node.publicId = publicId; - node.systemId = systemId; - // Introduced in DOM Level 2: - //readonly attribute DOMString internalSubset; - - //TODO:.. - // readonly attribute NamedNodeMap entities; - // readonly attribute NamedNodeMap notations; - return node; - } -}; - - -/** - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247 - */ - -function Node() { -}; - -Node.prototype = { - firstChild : null, - lastChild : null, - previousSibling : null, - nextSibling : null, - attributes : null, - parentNode : null, - childNodes : null, - ownerDocument : null, - nodeValue : null, - namespaceURI : null, - prefix : null, - localName : null, - // Modified in DOM Level 2: - insertBefore:function(newChild, refChild){//raises - return _insertBefore(this,newChild,refChild); - }, - replaceChild:function(newChild, oldChild){//raises - this.insertBefore(newChild,oldChild); - if(oldChild){ - this.removeChild(oldChild); - } - }, - removeChild:function(oldChild){ - return _removeChild(this,oldChild); - }, - appendChild:function(newChild){ - return this.insertBefore(newChild,null); - }, - hasChildNodes:function(){ - return this.firstChild != null; - }, - cloneNode:function(deep){ - return cloneNode(this.ownerDocument||this,this,deep); - }, - // Modified in DOM Level 2: - normalize:function(){ - var child = this.firstChild; - while(child){ - var next = child.nextSibling; - if(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){ - this.removeChild(next); - child.appendData(next.data); - }else{ - child.normalize(); - child = next; - } - } - }, - // Introduced in DOM Level 2: - isSupported:function(feature, version){ - return this.ownerDocument.implementation.hasFeature(feature,version); - }, - // Introduced in DOM Level 2: - hasAttributes:function(){ - return this.attributes.length>0; - }, - lookupPrefix:function(namespaceURI){ - var el = this; - while(el){ - var map = el._nsMap; - //console.dir(map) - if(map){ - for(var n in map){ - if(map[n] == namespaceURI){ - return n; - } - } - } - el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode; - } - return null; - }, - // Introduced in DOM Level 3: - lookupNamespaceURI:function(prefix){ - var el = this; - while(el){ - var map = el._nsMap; - //console.dir(map) - if(map){ - if(prefix in map){ - return map[prefix] ; - } - } - el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode; - } - return null; - }, - // Introduced in DOM Level 3: - isDefaultNamespace:function(namespaceURI){ - var prefix = this.lookupPrefix(namespaceURI); - return prefix == null; - } -}; - - -function _xmlEncoder(c){ - return c == '<' && '<' || - c == '>' && '>' || - c == '&' && '&' || - c == '"' && '"' || - '&#'+c.charCodeAt()+';' -} - - -copy(NodeType,Node); -copy(NodeType,Node.prototype); - -/** - * @param callback return true for continue,false for break - * @return boolean true: break visit; - */ -function _visitNode(node,callback){ - if(callback(node)){ - return true; - } - if(node = node.firstChild){ - do{ - if(_visitNode(node,callback)){return true} - }while(node=node.nextSibling) - } -} - - - -function Document(){ -} -function _onAddAttribute(doc,el,newAttr){ - doc && doc._inc++; - var ns = newAttr.namespaceURI ; - if(ns == 'http://www.w3.org/2000/xmlns/'){ - //update namespace - el._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value - } -} -function _onRemoveAttribute(doc,el,newAttr,remove){ - doc && doc._inc++; - var ns = newAttr.namespaceURI ; - if(ns == 'http://www.w3.org/2000/xmlns/'){ - //update namespace - delete el._nsMap[newAttr.prefix?newAttr.localName:''] - } -} -function _onUpdateChild(doc,el,newChild){ - if(doc && doc._inc){ - doc._inc++; - //update childNodes - var cs = el.childNodes; - if(newChild){ - cs[cs.length++] = newChild; - }else{ - //console.log(1) - var child = el.firstChild; - var i = 0; - while(child){ - cs[i++] = child; - child =child.nextSibling; - } - cs.length = i; - } - } -} - -/** - * attributes; - * children; - * - * writeable properties: - * nodeValue,Attr:value,CharacterData:data - * prefix - */ -function _removeChild(parentNode,child){ - var previous = child.previousSibling; - var next = child.nextSibling; - if(previous){ - previous.nextSibling = next; - }else{ - parentNode.firstChild = next - } - if(next){ - next.previousSibling = previous; - }else{ - parentNode.lastChild = previous; - } - _onUpdateChild(parentNode.ownerDocument,parentNode); - return child; -} -/** - * preformance key(refChild == null) - */ -function _insertBefore(parentNode,newChild,nextChild){ - var cp = newChild.parentNode; - if(cp){ - cp.removeChild(newChild);//remove and update - } - if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){ - var newFirst = newChild.firstChild; - if (newFirst == null) { - return newChild; - } - var newLast = newChild.lastChild; - }else{ - newFirst = newLast = newChild; - } - var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild; - - newFirst.previousSibling = pre; - newLast.nextSibling = nextChild; - - - if(pre){ - pre.nextSibling = newFirst; - }else{ - parentNode.firstChild = newFirst; - } - if(nextChild == null){ - parentNode.lastChild = newLast; - }else{ - nextChild.previousSibling = newLast; - } - do{ - newFirst.parentNode = parentNode; - }while(newFirst !== newLast && (newFirst= newFirst.nextSibling)) - _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode); - //console.log(parentNode.lastChild.nextSibling == null) - if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) { - newChild.firstChild = newChild.lastChild = null; - } - return newChild; -} -function _appendSingleChild(parentNode,newChild){ - var cp = newChild.parentNode; - if(cp){ - var pre = parentNode.lastChild; - cp.removeChild(newChild);//remove and update - var pre = parentNode.lastChild; - } - var pre = parentNode.lastChild; - newChild.parentNode = parentNode; - newChild.previousSibling = pre; - newChild.nextSibling = null; - if(pre){ - pre.nextSibling = newChild; - }else{ - parentNode.firstChild = newChild; - } - parentNode.lastChild = newChild; - _onUpdateChild(parentNode.ownerDocument,parentNode,newChild); - return newChild; - //console.log("__aa",parentNode.lastChild.nextSibling == null) -} -Document.prototype = { - //implementation : null, - nodeName : '#document', - nodeType : DOCUMENT_NODE, - doctype : null, - documentElement : null, - _inc : 1, - - insertBefore : function(newChild, refChild){//raises - if(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){ - var child = newChild.firstChild; - while(child){ - var next = child.nextSibling; - this.insertBefore(child,refChild); - child = next; - } - return newChild; - } - if(this.documentElement == null && newChild.nodeType == ELEMENT_NODE){ - this.documentElement = newChild; - } - - return _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild; - }, - removeChild : function(oldChild){ - if(this.documentElement == oldChild){ - this.documentElement = null; - } - return _removeChild(this,oldChild); - }, - // Introduced in DOM Level 2: - importNode : function(importedNode,deep){ - return importNode(this,importedNode,deep); - }, - // Introduced in DOM Level 2: - getElementById : function(id){ - var rtv = null; - _visitNode(this.documentElement,function(node){ - if(node.nodeType == ELEMENT_NODE){ - if(node.getAttribute('id') == id){ - rtv = node; - return true; - } - } - }) - return rtv; - }, - - //document factory method: - createElement : function(tagName){ - var node = new Element(); - node.ownerDocument = this; - node.nodeName = tagName; - node.tagName = tagName; - node.childNodes = new NodeList(); - var attrs = node.attributes = new NamedNodeMap(); - attrs._ownerElement = node; - return node; - }, - createDocumentFragment : function(){ - var node = new DocumentFragment(); - node.ownerDocument = this; - node.childNodes = new NodeList(); - return node; - }, - createTextNode : function(data){ - var node = new Text(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createComment : function(data){ - var node = new Comment(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createCDATASection : function(data){ - var node = new CDATASection(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createProcessingInstruction : function(target,data){ - var node = new ProcessingInstruction(); - node.ownerDocument = this; - node.tagName = node.target = target; - node.nodeValue= node.data = data; - return node; - }, - createAttribute : function(name){ - var node = new Attr(); - node.ownerDocument = this; - node.name = name; - node.nodeName = name; - node.localName = name; - node.specified = true; - return node; - }, - createEntityReference : function(name){ - var node = new EntityReference(); - node.ownerDocument = this; - node.nodeName = name; - return node; - }, - // Introduced in DOM Level 2: - createElementNS : function(namespaceURI,qualifiedName){ - var node = new Element(); - var pl = qualifiedName.split(':'); - var attrs = node.attributes = new NamedNodeMap(); - node.childNodes = new NodeList(); - node.ownerDocument = this; - node.nodeName = qualifiedName; - node.tagName = qualifiedName; - node.namespaceURI = namespaceURI; - if(pl.length == 2){ - node.prefix = pl[0]; - node.localName = pl[1]; - }else{ - //el.prefix = null; - node.localName = qualifiedName; - } - attrs._ownerElement = node; - return node; - }, - // Introduced in DOM Level 2: - createAttributeNS : function(namespaceURI,qualifiedName){ - var node = new Attr(); - var pl = qualifiedName.split(':'); - node.ownerDocument = this; - node.nodeName = qualifiedName; - node.name = qualifiedName; - node.namespaceURI = namespaceURI; - node.specified = true; - if(pl.length == 2){ - node.prefix = pl[0]; - node.localName = pl[1]; - }else{ - //el.prefix = null; - node.localName = qualifiedName; - } - return node; - } -}; -_extends(Document,Node); - - -function Element() { - this._nsMap = {}; -}; -Element.prototype = { - nodeType : ELEMENT_NODE, - hasAttribute : function(name){ - return this.getAttributeNode(name)!=null; - }, - getAttribute : function(name){ - var attr = this.getAttributeNode(name); - return attr && attr.value || ''; - }, - getAttributeNode : function(name){ - return this.attributes.getNamedItem(name); - }, - setAttribute : function(name, value){ - var attr = this.ownerDocument.createAttribute(name); - attr.value = attr.nodeValue = "" + value; - this.setAttributeNode(attr) - }, - removeAttribute : function(name){ - var attr = this.getAttributeNode(name) - attr && this.removeAttributeNode(attr); - }, - - //four real opeartion method - appendChild:function(newChild){ - if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){ - return this.insertBefore(newChild,null); - }else{ - return _appendSingleChild(this,newChild); - } - }, - setAttributeNode : function(newAttr){ - return this.attributes.setNamedItem(newAttr); - }, - setAttributeNodeNS : function(newAttr){ - return this.attributes.setNamedItemNS(newAttr); - }, - removeAttributeNode : function(oldAttr){ - //console.log(this == oldAttr.ownerElement) - return this.attributes.removeNamedItem(oldAttr.nodeName); - }, - //get real attribute name,and remove it by removeAttributeNode - removeAttributeNS : function(namespaceURI, localName){ - var old = this.getAttributeNodeNS(namespaceURI, localName); - old && this.removeAttributeNode(old); - }, - - hasAttributeNS : function(namespaceURI, localName){ - return this.getAttributeNodeNS(namespaceURI, localName)!=null; - }, - getAttributeNS : function(namespaceURI, localName){ - var attr = this.getAttributeNodeNS(namespaceURI, localName); - return attr && attr.value || ''; - }, - setAttributeNS : function(namespaceURI, qualifiedName, value){ - var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); - attr.value = attr.nodeValue = "" + value; - this.setAttributeNode(attr) - }, - getAttributeNodeNS : function(namespaceURI, localName){ - return this.attributes.getNamedItemNS(namespaceURI, localName); - }, - - getElementsByTagName : function(tagName){ - return new LiveNodeList(this,function(base){ - var ls = []; - _visitNode(base,function(node){ - if(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){ - ls.push(node); - } - }); - return ls; - }); - }, - getElementsByTagNameNS : function(namespaceURI, localName){ - return new LiveNodeList(this,function(base){ - var ls = []; - _visitNode(base,function(node){ - if(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){ - ls.push(node); - } - }); - return ls; - - }); - } -}; -Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName; -Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS; - - -_extends(Element,Node); -function Attr() { -}; -Attr.prototype.nodeType = ATTRIBUTE_NODE; -_extends(Attr,Node); - - -function CharacterData() { -}; -CharacterData.prototype = { - data : '', - substringData : function(offset, count) { - return this.data.substring(offset, offset+count); - }, - appendData: function(text) { - text = this.data+text; - this.nodeValue = this.data = text; - this.length = text.length; - }, - insertData: function(offset,text) { - this.replaceData(offset,0,text); - - }, - appendChild:function(newChild){ - throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]) - }, - deleteData: function(offset, count) { - this.replaceData(offset,count,""); - }, - replaceData: function(offset, count, text) { - var start = this.data.substring(0,offset); - var end = this.data.substring(offset+count); - text = start + text + end; - this.nodeValue = this.data = text; - this.length = text.length; - } -} -_extends(CharacterData,Node); -function Text() { -}; -Text.prototype = { - nodeName : "#text", - nodeType : TEXT_NODE, - splitText : function(offset) { - var text = this.data; - var newText = text.substring(offset); - text = text.substring(0, offset); - this.data = this.nodeValue = text; - this.length = text.length; - var newNode = this.ownerDocument.createTextNode(newText); - if(this.parentNode){ - this.parentNode.insertBefore(newNode, this.nextSibling); - } - return newNode; - } -} -_extends(Text,CharacterData); -function Comment() { -}; -Comment.prototype = { - nodeName : "#comment", - nodeType : COMMENT_NODE -} -_extends(Comment,CharacterData); - -function CDATASection() { -}; -CDATASection.prototype = { - nodeName : "#cdata-section", - nodeType : CDATA_SECTION_NODE -} -_extends(CDATASection,CharacterData); - - -function DocumentType() { -}; -DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE; -_extends(DocumentType,Node); - -function Notation() { -}; -Notation.prototype.nodeType = NOTATION_NODE; -_extends(Notation,Node); - -function Entity() { -}; -Entity.prototype.nodeType = ENTITY_NODE; -_extends(Entity,Node); - -function EntityReference() { -}; -EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE; -_extends(EntityReference,Node); - -function DocumentFragment() { -}; -DocumentFragment.prototype.nodeName = "#document-fragment"; -DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE; -_extends(DocumentFragment,Node); - - -function ProcessingInstruction() { -} -ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE; -_extends(ProcessingInstruction,Node); -function XMLSerializer(){} -XMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){ - return nodeSerializeToString.call(node,isHtml,nodeFilter); -} -Node.prototype.toString = nodeSerializeToString; -function nodeSerializeToString(isHtml,nodeFilter){ - var buf = []; - var refNode = this.nodeType == 9?this.documentElement:this; - var prefix = refNode.prefix; - var uri = refNode.namespaceURI; - - if(uri && prefix == null){ - //console.log(prefix) - var prefix = refNode.lookupPrefix(uri); - if(prefix == null){ - //isHTML = true; - var visibleNamespaces=[ - {namespace:uri,prefix:null} - //{namespace:uri,prefix:''} - ] - } - } - serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces); - //console.log('###',this.nodeType,uri,prefix,buf.join('')) - return buf.join(''); -} -function needNamespaceDefine(node,isHTML, visibleNamespaces) { - var prefix = node.prefix||''; - var uri = node.namespaceURI; - if (!prefix && !uri){ - return false; - } - if (prefix === "xml" && uri === "http://www.w3.org/XML/1998/namespace" - || uri == 'http://www.w3.org/2000/xmlns/'){ - return false; - } - - var i = visibleNamespaces.length - //console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces) - while (i--) { - var ns = visibleNamespaces[i]; - // get namespace prefix - //console.log(node.nodeType,node.tagName,ns.prefix,prefix) - if (ns.prefix == prefix){ - return ns.namespace != uri; - } - } - //console.log(isHTML,uri,prefix=='') - //if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){ - // return false; - //} - //node.flag = '11111' - //console.error(3,true,node.flag,node.prefix,node.namespaceURI) - return true; -} -function serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){ - if(nodeFilter){ - node = nodeFilter(node); - if(node){ - if(typeof node == 'string'){ - buf.push(node); - return; - } - }else{ - return; - } - //buf.sort.apply(attrs, attributeSorter); - } - switch(node.nodeType){ - case ELEMENT_NODE: - if (!visibleNamespaces) visibleNamespaces = []; - var startVisibleNamespaces = visibleNamespaces.length; - var attrs = node.attributes; - var len = attrs.length; - var child = node.firstChild; - var nodeName = node.tagName; - - isHTML = (htmlns === node.namespaceURI) ||isHTML - buf.push('<',nodeName); - - - - for(var i=0;i'); - //if is cdata child node - if(isHTML && /^script$/i.test(nodeName)){ - while(child){ - if(child.data){ - buf.push(child.data); - }else{ - serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces); - } - child = child.nextSibling; - } - }else - { - while(child){ - serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces); - child = child.nextSibling; - } - } - buf.push(''); - }else{ - buf.push('/>'); - } - // remove added visible namespaces - //visibleNamespaces.length = startVisibleNamespaces; - return; - case DOCUMENT_NODE: - case DOCUMENT_FRAGMENT_NODE: - var child = node.firstChild; - while(child){ - serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces); - child = child.nextSibling; - } - return; - case ATTRIBUTE_NODE: - return buf.push(' ',node.name,'="',node.value.replace(/[<&"]/g,_xmlEncoder),'"'); - case TEXT_NODE: - return buf.push(node.data.replace(/[<&]/g,_xmlEncoder)); - case CDATA_SECTION_NODE: - return buf.push( ''); - case COMMENT_NODE: - return buf.push( ""); - case DOCUMENT_TYPE_NODE: - var pubid = node.publicId; - var sysid = node.systemId; - buf.push(''); - }else if(sysid && sysid!='.'){ - buf.push(' SYSTEM "',sysid,'">'); - }else{ - var sub = node.internalSubset; - if(sub){ - buf.push(" [",sub,"]"); - } - buf.push(">"); - } - return; - case PROCESSING_INSTRUCTION_NODE: - return buf.push( ""); - case ENTITY_REFERENCE_NODE: - return buf.push( '&',node.nodeName,';'); - //case ENTITY_NODE: - //case NOTATION_NODE: - default: - buf.push('??',node.nodeName); - } -} -function importNode(doc,node,deep){ - var node2; - switch (node.nodeType) { - case ELEMENT_NODE: - node2 = node.cloneNode(false); - node2.ownerDocument = doc; - //var attrs = node2.attributes; - //var len = attrs.length; - //for(var i=0;i=0.1.0 <0.2.0", - "type": "range" - }, - "/Users/jbowser/cordova/cordova-android/node_modules/plist" - ] - ], - "_from": "xmldom@>=0.1.0 <0.2.0", - "_id": "xmldom@0.1.27", - "_inCache": true, - "_location": "/cordova-android/xmldom", - "_nodeVersion": "5.5.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/xmldom-0.1.27.tgz_1480305406093_0.9070004557725042" - }, - "_npmUser": { - "name": "jindw", - "email": "jindw@xidea.org" - }, - "_npmVersion": "3.3.12", - "_phantomChildren": {}, - "_requested": { - "raw": "xmldom@0.1.x", - "scope": null, - "escapedName": "xmldom", - "name": "xmldom", - "rawSpec": "0.1.x", - "spec": ">=0.1.0 <0.2.0", - "type": "range" - }, - "_requiredBy": [ - "/cordova-android/plist" - ], - "_resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", - "_shasum": "d501f97b3bdb403af8ef9ecc20573187aadac0e9", - "_shrinkwrap": null, - "_spec": "xmldom@0.1.x", - "_where": "/Users/jbowser/cordova/cordova-android/node_modules/plist", - "author": { - "name": "jindw", - "email": "jindw@xidea.org", - "url": "http://www.xidea.org" - }, - "bugs": { - "url": "http://github.com/jindw/xmldom/issues", - "email": "jindw@xidea.org" - }, - "contributors": [ - { - "name": "Yaron Naveh", - "email": "yaronn01@gmail.com", - "url": "http://webservices20.blogspot.com/" - }, - { - "name": "Harutyun Amirjanyan", - "email": "amirjanyan@gmail.com", - "url": "https://github.com/nightwing" - }, - { - "name": "Alan Gutierrez", - "email": "alan@prettyrobots.com", - "url": "http://www.prettyrobots.com/" - } - ], - "dependencies": {}, - "description": "A W3C Standard XML DOM(Level2 CORE) implementation and parser(DOMParser/XMLSerializer).", - "devDependencies": { - "proof": "0.0.28" - }, - "directories": {}, - "dist": { - "shasum": "d501f97b3bdb403af8ef9ecc20573187aadac0e9", - "tarball": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz" - }, - "engines": { - "node": ">=0.1" - }, - "gitHead": "b53aa82a36160d85faab394035dcd1784764537f", - "homepage": "https://github.com/jindw/xmldom", - "keywords": [ - "w3c", - "dom", - "xml", - "parser", - "javascript", - "DOMParser", - "XMLSerializer" - ], - "licenses": [ - { - "type": "LGPL", - "url": "http://www.gnu.org/licenses/lgpl.html", - "MIT": "http://opensource.org/licenses/MIT" - } - ], - "main": "./dom-parser.js", - "maintainers": [ - { - "name": "jindw", - "email": "jindw@xidea.org" - }, - { - "name": "yaron", - "email": "yaronn01@gmail.com" - }, - { - "name": "bigeasy", - "email": "alan@prettyrobots.com" - }, - { - "name": "kethinov", - "email": "kethinov@gmail.com" - }, - { - "name": "jinjinyun", - "email": "jinyun.jin@gmail.com" - } - ], - "name": "xmldom", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/jindw/xmldom.git" - }, - "scripts": { - "test": "proof platform win32 && proof test */*/*.t.js || t/test" - }, - "version": "0.1.27" -} diff --git a/demo/platforms/android/cordova/node_modules/xmldom/readme.md b/demo/platforms/android/cordova/node_modules/xmldom/readme.md deleted file mode 100644 index f832c44..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/readme.md +++ /dev/null @@ -1,219 +0,0 @@ -# XMLDOM [![Build Status](https://secure.travis-ci.org/bigeasy/xmldom.png?branch=master)](http://travis-ci.org/bigeasy/xmldom) [![Coverage Status](https://coveralls.io/repos/bigeasy/xmldom/badge.png?branch=master)](https://coveralls.io/r/bigeasy/xmldom) [![NPM version](https://badge.fury.io/js/xmldom.png)](http://badge.fury.io/js/xmldom) - -A JavaScript implementation of W3C DOM for Node.js, Rhino and the browser. Fully -compatible with `W3C DOM level2`; and some compatible with `level3`. Supports -`DOMParser` and `XMLSerializer` interface such as in browser. - -Install: -------- ->npm install xmldom - -Example: -==== -```javascript -var DOMParser = require('xmldom').DOMParser; -var doc = new DOMParser().parseFromString( - '\n'+ - '\ttest\n'+ - '\t\n'+ - '\t\n'+ - '' - ,'text/xml'); -doc.documentElement.setAttribute('x','y'); -doc.documentElement.setAttributeNS('./lite','c:x','y2'); -var nsAttr = doc.documentElement.getAttributeNS('./lite','x') -console.info(nsAttr) -console.info(doc) -``` -API Reference -===== - - * [DOMParser](https://developer.mozilla.org/en/DOMParser): - - ```javascript - parseFromString(xmlsource,mimeType) - ``` - * **options extension** _by xmldom_(not BOM standard!!) - - ```javascript - //added the options argument - new DOMParser(options) - - //errorHandler is supported - new DOMParser({ - /** - * locator is always need for error position info - */ - locator:{}, - /** - * you can override the errorHandler for xml parser - * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html - */ - errorHandler:{warning:function(w){console.warn(w)},error:callback,fatalError:callback} - //only callback model - //errorHandler:function(level,msg){console.log(level,msg)} - }) - - ``` - - * [XMLSerializer](https://developer.mozilla.org/en/XMLSerializer) - - ```javascript - serializeToString(node) - ``` -DOM level2 method and attribute: ------- - - * [Node](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247) - - attribute: - nodeValue|prefix - readonly attribute: - nodeName|nodeType|parentNode|childNodes|firstChild|lastChild|previousSibling|nextSibling|attributes|ownerDocument|namespaceURI|localName - method: - insertBefore(newChild, refChild) - replaceChild(newChild, oldChild) - removeChild(oldChild) - appendChild(newChild) - hasChildNodes() - cloneNode(deep) - normalize() - isSupported(feature, version) - hasAttributes() - - * [DOMImplementation](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-102161490) - - method: - hasFeature(feature, version) - createDocumentType(qualifiedName, publicId, systemId) - createDocument(namespaceURI, qualifiedName, doctype) - - * [Document](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#i-Document) : Node - - readonly attribute: - doctype|implementation|documentElement - method: - createElement(tagName) - createDocumentFragment() - createTextNode(data) - createComment(data) - createCDATASection(data) - createProcessingInstruction(target, data) - createAttribute(name) - createEntityReference(name) - getElementsByTagName(tagname) - importNode(importedNode, deep) - createElementNS(namespaceURI, qualifiedName) - createAttributeNS(namespaceURI, qualifiedName) - getElementsByTagNameNS(namespaceURI, localName) - getElementById(elementId) - - * [DocumentFragment](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-B63ED1A3) : Node - * [Element](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-745549614) : Node - - readonly attribute: - tagName - method: - getAttribute(name) - setAttribute(name, value) - removeAttribute(name) - getAttributeNode(name) - setAttributeNode(newAttr) - removeAttributeNode(oldAttr) - getElementsByTagName(name) - getAttributeNS(namespaceURI, localName) - setAttributeNS(namespaceURI, qualifiedName, value) - removeAttributeNS(namespaceURI, localName) - getAttributeNodeNS(namespaceURI, localName) - setAttributeNodeNS(newAttr) - getElementsByTagNameNS(namespaceURI, localName) - hasAttribute(name) - hasAttributeNS(namespaceURI, localName) - - * [Attr](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-637646024) : Node - - attribute: - value - readonly attribute: - name|specified|ownerElement - - * [NodeList](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177) - - readonly attribute: - length - method: - item(index) - - * [NamedNodeMap](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1780488922) - - readonly attribute: - length - method: - getNamedItem(name) - setNamedItem(arg) - removeNamedItem(name) - item(index) - getNamedItemNS(namespaceURI, localName) - setNamedItemNS(arg) - removeNamedItemNS(namespaceURI, localName) - - * [CharacterData](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-FF21A306) : Node - - method: - substringData(offset, count) - appendData(arg) - insertData(offset, arg) - deleteData(offset, count) - replaceData(offset, count, arg) - - * [Text](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1312295772) : CharacterData - - method: - splitText(offset) - - * [CDATASection](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-667469212) - * [Comment](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1728279322) : CharacterData - - * [DocumentType](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-412266927) - - readonly attribute: - name|entities|notations|publicId|systemId|internalSubset - - * Notation : Node - - readonly attribute: - publicId|systemId - - * Entity : Node - - readonly attribute: - publicId|systemId|notationName - - * EntityReference : Node - * ProcessingInstruction : Node - - attribute: - data - readonly attribute: - target - -DOM level 3 support: ------ - - * [Node](http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent) - - attribute: - textContent - method: - isDefaultNamespace(namespaceURI){ - lookupNamespaceURI(prefix) - -DOM extension by xmldom ---- - * [Node] Source position extension; - - attribute: - //Numbered starting from '1' - lineNumber - //Numbered starting from '1' - columnNumber diff --git a/demo/platforms/android/cordova/node_modules/xmldom/sax.js b/demo/platforms/android/cordova/node_modules/xmldom/sax.js deleted file mode 100644 index b33635f..0000000 --- a/demo/platforms/android/cordova/node_modules/xmldom/sax.js +++ /dev/null @@ -1,633 +0,0 @@ -//[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] -//[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] -//[5] Name ::= NameStartChar (NameChar)* -var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]///\u10000-\uEFFFF -var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); -var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:'+nameStartChar.source+nameChar.source+'*)?$'); -//var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/ -//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',') - -//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE -//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE -var S_TAG = 0;//tag name offerring -var S_ATTR = 1;//attr name offerring -var S_ATTR_SPACE=2;//attr name end and space offer -var S_EQ = 3;//=space? -var S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only) -var S_ATTR_END = 5;//attr value end and no space(quot end) -var S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer) -var S_TAG_CLOSE = 7;//closed el - -function XMLReader(){ - -} - -XMLReader.prototype = { - parse:function(source,defaultNSMap,entityMap){ - var domBuilder = this.domBuilder; - domBuilder.startDocument(); - _copy(defaultNSMap ,defaultNSMap = {}) - parse(source,defaultNSMap,entityMap, - domBuilder,this.errorHandler); - domBuilder.endDocument(); - } -} -function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ - function fixedFromCharCode(code) { - // String.prototype.fromCharCode does not supports - // > 2 bytes unicode chars directly - if (code > 0xffff) { - code -= 0x10000; - var surrogate1 = 0xd800 + (code >> 10) - , surrogate2 = 0xdc00 + (code & 0x3ff); - - return String.fromCharCode(surrogate1, surrogate2); - } else { - return String.fromCharCode(code); - } - } - function entityReplacer(a){ - var k = a.slice(1,-1); - if(k in entityMap){ - return entityMap[k]; - }else if(k.charAt(0) === '#'){ - return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x'))) - }else{ - errorHandler.error('entity not found:'+a); - return a; - } - } - function appendText(end){//has some bugs - if(end>start){ - var xt = source.substring(start,end).replace(/&#?\w+;/g,entityReplacer); - locator&&position(start); - domBuilder.characters(xt,0,end-start); - start = end - } - } - function position(p,m){ - while(p>=lineEnd && (m = linePattern.exec(source))){ - lineStart = m.index; - lineEnd = lineStart + m[0].length; - locator.lineNumber++; - //console.log('line++:',locator,startPos,endPos) - } - locator.columnNumber = p-lineStart+1; - } - var lineStart = 0; - var lineEnd = 0; - var linePattern = /.*(?:\r\n?|\n)|.*$/g - var locator = domBuilder.locator; - - var parseStack = [{currentNSMap:defaultNSMapCopy}] - var closeMap = {}; - var start = 0; - while(true){ - try{ - var tagStart = source.indexOf('<',start); - if(tagStart<0){ - if(!source.substr(start).match(/^\s*$/)){ - var doc = domBuilder.doc; - var text = doc.createTextNode(source.substr(start)); - doc.appendChild(text); - domBuilder.currentElement = text; - } - return; - } - if(tagStart>start){ - appendText(tagStart); - } - switch(source.charAt(tagStart+1)){ - case '/': - var end = source.indexOf('>',tagStart+3); - var tagName = source.substring(tagStart+2,end); - var config = parseStack.pop(); - if(end<0){ - - tagName = source.substring(tagStart+2).replace(/[\s<].*/,''); - //console.error('#@@@@@@'+tagName) - errorHandler.error("end tag name: "+tagName+' is not complete:'+config.tagName); - end = tagStart+1+tagName.length; - }else if(tagName.match(/\s - locator&&position(tagStart); - end = parseInstruction(source,tagStart,domBuilder); - break; - case '!':// start){ - start = end; - }else{ - //TODO: 这里有可能sax回退,有位置错误风险 - appendText(Math.max(tagStart,start)+1); - } - } -} -function copyLocator(f,t){ - t.lineNumber = f.lineNumber; - t.columnNumber = f.columnNumber; - return t; -} - -/** - * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack); - * @return end of the elementStartPart(end of elementEndPart for selfClosed el) - */ -function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){ - var attrName; - var value; - var p = ++start; - var s = S_TAG;//status - while(true){ - var c = source.charAt(p); - switch(c){ - case '=': - if(s === S_ATTR){//attrName - attrName = source.slice(start,p); - s = S_EQ; - }else if(s === S_ATTR_SPACE){ - s = S_EQ; - }else{ - //fatalError: equal must after attrName or space after attrName - throw new Error('attribute equal must after attrName'); - } - break; - case '\'': - case '"': - if(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE - ){//equal - if(s === S_ATTR){ - errorHandler.warning('attribute value must after "="') - attrName = source.slice(start,p) - } - start = p+1; - p = source.indexOf(c,start) - if(p>0){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - el.add(attrName,value,start-1); - s = S_ATTR_END; - }else{ - //fatalError: no end quot match - throw new Error('attribute value no end \''+c+'\' match'); - } - }else if(s == S_ATTR_NOQUOT_VALUE){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - //console.log(attrName,value,start,p) - el.add(attrName,value,start); - //console.dir(el) - errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!'); - start = p+1; - s = S_ATTR_END - }else{ - //fatalError: no equal before - throw new Error('attribute value must after "="'); - } - break; - case '/': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - s =S_TAG_CLOSE; - el.closed = true; - case S_ATTR_NOQUOT_VALUE: - case S_ATTR: - case S_ATTR_SPACE: - break; - //case S_EQ: - default: - throw new Error("attribute invalid close char('/')") - } - break; - case ''://end document - //throw new Error('unexpected end of input') - errorHandler.error('unexpected end of input'); - if(s == S_TAG){ - el.setTagName(source.slice(start,p)); - } - return p; - case '>': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - break;//normal - case S_ATTR_NOQUOT_VALUE://Compatible state - case S_ATTR: - value = source.slice(start,p); - if(value.slice(-1) === '/'){ - el.closed = true; - value = value.slice(0,-1) - } - case S_ATTR_SPACE: - if(s === S_ATTR_SPACE){ - value = attrName; - } - if(s == S_ATTR_NOQUOT_VALUE){ - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start) - }else{ - if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){ - errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!') - } - el.add(value,value,start) - } - break; - case S_EQ: - throw new Error('attribute value missed!!'); - } -// console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) - return p; - /*xml space '\x20' | #x9 | #xD | #xA; */ - case '\u0080': - c = ' '; - default: - if(c<= ' '){//space - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p));//tagName - s = S_TAG_SPACE; - break; - case S_ATTR: - attrName = source.slice(start,p) - s = S_ATTR_SPACE; - break; - case S_ATTR_NOQUOT_VALUE: - var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value,start) - case S_ATTR_END: - s = S_TAG_SPACE; - break; - //case S_TAG_SPACE: - //case S_EQ: - //case S_ATTR_SPACE: - // void();break; - //case S_TAG_CLOSE: - //ignore warning - } - }else{//not space -//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE -//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE - switch(s){ - //case S_TAG:void();break; - //case S_ATTR:void();break; - //case S_ATTR_NOQUOT_VALUE:void();break; - case S_ATTR_SPACE: - var tagName = el.tagName; - if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){ - errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!') - } - el.add(attrName,attrName,start); - start = p; - s = S_ATTR; - break; - case S_ATTR_END: - errorHandler.warning('attribute space is required"'+attrName+'"!!') - case S_TAG_SPACE: - s = S_ATTR; - start = p; - break; - case S_EQ: - s = S_ATTR_NOQUOT_VALUE; - start = p; - break; - case S_TAG_CLOSE: - throw new Error("elements closed character '/' and '>' must be connected to"); - } - } - }//end outer switch - //console.log('p++',p) - p++; - } -} -/** - * @return true if has new namespace define - */ -function appendElement(el,domBuilder,currentNSMap){ - var tagName = el.tagName; - var localNSMap = null; - //var currentNSMap = parseStack[parseStack.length-1].currentNSMap; - var i = el.length; - while(i--){ - var a = el[i]; - var qName = a.qName; - var value = a.value; - var nsp = qName.indexOf(':'); - if(nsp>0){ - var prefix = a.prefix = qName.slice(0,nsp); - var localName = qName.slice(nsp+1); - var nsPrefix = prefix === 'xmlns' && localName - }else{ - localName = qName; - prefix = null - nsPrefix = qName === 'xmlns' && '' - } - //can not set prefix,because prefix !== '' - a.localName = localName ; - //prefix == null for no ns prefix attribute - if(nsPrefix !== false){//hack!! - if(localNSMap == null){ - localNSMap = {} - //console.log(currentNSMap,0) - _copy(currentNSMap,currentNSMap={}) - //console.log(currentNSMap,1) - } - currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; - a.uri = 'http://www.w3.org/2000/xmlns/' - domBuilder.startPrefixMapping(nsPrefix, value) - } - } - var i = el.length; - while(i--){ - a = el[i]; - var prefix = a.prefix; - if(prefix){//no prefix attribute has no namespace - if(prefix === 'xml'){ - a.uri = 'http://www.w3.org/XML/1998/namespace'; - }if(prefix !== 'xmlns'){ - a.uri = currentNSMap[prefix || ''] - - //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} - } - } - } - var nsp = tagName.indexOf(':'); - if(nsp>0){ - prefix = el.prefix = tagName.slice(0,nsp); - localName = el.localName = tagName.slice(nsp+1); - }else{ - prefix = null;//important!! - localName = el.localName = tagName; - } - //no prefix element has default namespace - var ns = el.uri = currentNSMap[prefix || '']; - domBuilder.startElement(ns,localName,tagName,el); - //endPrefixMapping and startPrefixMapping have not any help for dom builder - //localNSMap = null - if(el.closed){ - domBuilder.endElement(ns,localName,tagName); - if(localNSMap){ - for(prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) - } - } - }else{ - el.currentNSMap = currentNSMap; - el.localNSMap = localNSMap; - //parseStack.push(el); - return true; - } -} -function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){ - if(/^(?:script|textarea)$/i.test(tagName)){ - var elEndStart = source.indexOf('',elStartEnd); - var text = source.substring(elStartEnd+1,elEndStart); - if(/[&<]/.test(text)){ - if(/^script$/i.test(tagName)){ - //if(!/\]\]>/.test(text)){ - //lexHandler.startCDATA(); - domBuilder.characters(text,0,text.length); - //lexHandler.endCDATA(); - return elEndStart; - //} - }//}else{//text area - text = text.replace(/&#?\w+;/g,entityReplacer); - domBuilder.characters(text,0,text.length); - return elEndStart; - //} - - } - } - return elStartEnd+1; -} -function fixSelfClosed(source,elStartEnd,tagName,closeMap){ - //if(tagName in closeMap){ - var pos = closeMap[tagName]; - if(pos == null){ - //console.log(tagName) - pos = source.lastIndexOf('') - if(pos',start+4); - //append comment source.substring(4,end)//96$8DF^g@ho1Gfs-)jG9W)r9!Z-Zz2<|# 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%0A}o`{_yE|zwV5^)cHC7O&g!i)U5Z7-{i0Ohstvz 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

    d^hun~?XEhZR8w{59&z$kG2YDXZVD1g@ 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 knt}i$e%s5hZ9`OXgSR@IIL>2i1~h# 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

    Mp5ly2Uv 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

    &uOCb`^7y9TH6spgl&Xi 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

    E2ZG#3ku!3 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 H;%Ku6yg~A*XHd2o71%_Ljcgyzt6t{` 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�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 diff --git a/demo/platforms/android/res/drawable-land-xxxhdpi/screen.png b/demo/platforms/android/res/drawable-land-xxxhdpi/screen.png deleted file mode 100644 index ff6c13c28d430291131bcd00b148039e241df919..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1460298 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

    M98-O9od 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�k%E1e(&twO{Ke^0qfT&jwB4qhHVVMHLCj% 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 z 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

    d=ll%Jdv|>_+K_svq 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%0AgqW^a2iMUE~bHGr&VNVu%?PRCiT$h~bE% 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

    oo}wNL+zYmHC?K$0*m1a8Q(BLk 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

    (TSC2eGe8wur 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

    cwqP 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 z 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
      |@NkHvb=72y3NfCAJF0HOpVE6OqUl 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∨$?jK@7qpKRf2fvpEb` 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

    S`Q|gx$1}cXIadFm zv-18V50Nq`-x^-%n=bPrj3iybkpXuO&fq9OF;lcyhyyj8?!feZ=tueNh)E@GIYkI6 z9)cL(@Y5DvuF1~cPPmf8UK`q87FyoAHv;L8S@)MJ%k?u!%sUv3>{I!hyB=WB zVO?psiF257dP)QM#n*ay$H%uv?5YoXxc}Nh@VKP`KE2uB-u~hc`h9Pxd4yd<0tCA+ zPy35MAB2Z@TNw12migso4FBA1&YcXJcG?pr>7bxg%rwlZ$F0%(!FLf+eQ&>UTaf$r zrER}6vaSvOjn2AjcAh5N6W|khBOZ>w5PXP$9~azNs>JFLdu_-c?#pZ3+!r8i{8=gc z`^f^#rv3QdsiU2L6_GwD1*<2p`Or|9ZY3CJ_Wt25D2(=fdFfU4)Z4bD?Lm?CeLdgq z^^gy&cK=6l&7b?mG-VuFXFRmK5y!*9U8@pKwvU5EhAOrD{4pZD^HZ0O!byTPoyhOm zUS#eU@xz&!9fIVQ$-ewtC+jsFNf=8~^G;D$BF}|r=F0pO1ymZtm{iEZS#CUYO!m(( zP<)SzLV-TiUp2hICdfa!9AUyLgIcmiL=TPJFGRS*ta{J8tjI1d$8DZutlB@aAKFsD zZsh_pxGGWJ-fr@kuKzm^rhlx=TAfhy{ri)y z_w>h14_$XWHtCNnS!97tbq-gdY zCc{natKnaL`7u>K-Wsv^&5$hqh-{lsU-Sa(>7MnN5G31~onUdd0Rdv+AEW?$&ob|` z4Tz*Tfo!I^s9#}(z*4wU!vH0`CvsOb^(it)f4d}e=qm{7%A_7^k)xK(B%~t7i$4~A@c-9lYICnx4MD0eae5Lo}UerXYo7JkA0kHey z4AX^apPbr}(oF~&H@k72ZILkGBsO*f_(SSe7WDD!L=88bISw>=EL19hCdnN& zu&V31Tzt+douBByKdDN~o2LyJcY^o5#hzU)S0mo23;31cWu_OV_)_9 z^^UXSjl`~}UE{eTz|RR}Ji87uP04T_Ay=*dXtILZct_ZF`u)%W%HV7T(%&9wfX)X1 z(KT)80ULOlZg|5i`~vjOnJ+8@%ugQetdq4HLTcxOv;*DPE^?C4pmg1vooYM~L-po( z%nf8$Ai7J01qp$qB|;Zz1nvh35RCyuDY2v5j*yUJ^h7Kv8U_Mac#)$Msg8eHB$PJp z{-^Nqg#>va)T({ghNx0UFghIZZU>hK<@~8vdQ$3|*r*=r&>~dbJ|XAzXG^U)e5)-{ ztV6%Mr4a_t%#C1Bd$So$_&(YEK8eiU~{6efFj`oL8 z>Cu9RII*s&0@$mqy{niLLR3wW>T?Nqh@0QU3U00xiy8xwJ5+9?TIFG}X$bVUKT9zp zp&h?Yf0JvUJbUYb=Q&HWJTFe#{NmW130*8EnlhbsqfVqnkYOC*y6mndFg~dlu;^mx z`&y*HHhI~Yg#R%a3W97>^wanjVda36U0WBHu2e$7F z4OAS&5({_l%gqy(%>XpS)@2l|Xv|Oi^bAJ7&7J5-AAcGssD47$* zhvvdnsiRMNbI0VWD{$!8)M-xJUyyAd32c04Tib%w2 z&@8g7JXR%6F)ef!I{$NRQC^$o8#SadQ#{p{U zG~DaIaYDZ=j2Y%dLyu`zBqf^sh9R$wRti2e`b^D(IE)WBCv00GualtEG_Bxtfu4SO z0B3a-@&Wzu&`=IP&~tEF{?(xh1VvP?_bUK4xOj^-D&->u1n7X?uf?-Kb_ z2$HKc1CXUCYu-%9+xj*6bvm+Apta4WzilE@z8wP$Vc=%>fjKAtz zM1&r=ZJ6|bpFQ^@iIG0%GFQvVdw&OW<)55J+I85ksF z&{C;kUr{(o4?$;3|2f|`_a)?;k{!|(7Xk@pax$q zX@>SPSOh~}aT)OVwRLZ)0%P}b?b|wf)iYRFA|Hby5)fCI7kz)(nR7Am5MV0MF4^!q zBYXxzl1b=NT{H0fh+a*;JM~O`)gvuCWXlpc=JH-y`+=5(pt0P$m!1sMbq-F%1n?6| zsw&H3K9qca;b2IN@#V(_5&iwzX%(^noWbS4<7R5=XO(- z`c{pIud*9E0Q)CT0=k2}C_h$4= zt_AaXb<{EQqb`q{ADpd4G~ulP%pIM>3cEsQd=Snxlavb(>hCy85!ryK;vKSPHr}9G z0b{PgDBwo`@u_+8KKjz~8XD>U3XLScN9ET<=AUhcHZa&~zT%{0+kd16e8IOgN)rYh6F&UVyC3!OSH}uwuabb>L_0@`K@4r{@lzI@&TT?=Ol2A0xb%#?WH^)+osK;f2sgprOR z#&CV9vFt12lYktoZC^pZvd_HRgx||8nvX0=prv9$rNv4d>?Z0P1mNn|t*aPsGNKlk z7SH*x-%3$79EYeujCTj`725e-h*4IKatY-R)rS+QiPh3-E*SS|2j90XreV78zLbW3 zB5#Jte2Yjxa#|pyajpGw){+OfeR0sA!+-ksX`Cuch%OWup6hlpSbTpi9(vm z2?YI|BR5^%p*Qnwbqgs`$Dgzhv|J+y>;q4)sm?riXKk_}SC_SG6@*07U z`{o0$7CJo+EjhV;%mgW^#Rbqaac>AOp&`di0o7zzjdpAGAlAT^dPI?JsTffPMJJ)V zVT`5xN;@%ldbCDr>T4Y>qQq&xCOjZf$q3C0uD4STZ`Z$a0|ZmkIz8>U>5;MV1uJ`& zBcW@gKoxHJQ3ms5NHa^^*m-%S`*PXHEpxQNH%D8ruI>wjs0{fMGu1*N2bB#x#F`m7)vZvlhiy@24 zcI;3cJT?nY6_rImhuKdFV>}Qn{U({vacdj?g3$U9qWu$X{Qk zRXx(tcOgr7fwMH9qzIQnPwrt_NDxpzi87_IeVLTb zbG5h79GC`h2AG6QgXA%uSFbmJt2=;aj6Ju@>>T@c@P;WEcr47-VPL8=cPqlzfgd7! z)P!mpjxZF$U3RL`@g-Hw`9y2n&%r!>F^)Reb0iHx@(#kr8FrTqDon;+k_x^W)gMdN z(GZpR%ycA?(z%PtaX_&)4w~@6r7YVsnQqYf!_IJK7B@zQDR;M&k94G7Mb+R1p(E29 z+ZMxa6rDS?2DV;&!gBW~JHm80cIh}XN#Khv{Mp7vN=Zc%4~8Jd;?f0|z>m(JwWs5= zDROQkl8JTni@R~cfsg%~vU2%uR^D&dNz^s-()@FbX~d++s@G_NFQ>sizqS$n1no|l z^N-PetisvzCXoZ zZbKpk@D7?jIU2U{fHTk$nEqu1{n<91{ozYG*kvfHKF@i_L?GG5T+X7KnI@ws@_Tq5 z-d~0OTP5xVKC8>G+DK~*y^zhXa|BM5Y(ih&qQyq?^T67OnN&ic!DH+RW_4bAQDUbs z;DayVr{gGk%+({YEDb02G+B7lbVr~BbieM8SO0eXipid^aIU|lXmnUK48b-5IKunhT~IWH2@ zJ#abp7!Y_J+i#eg=>b@H1*TI?ZA{OdD9b5KR~RaE-$Rqzd2eupO=W!DONXmujQyvVIw%iOS@xv7<5AlZ$(4zn&kb-f7dT&*D~q4#Sh7S ze=aJZ3I||`mBQ6`qU)~ZRlMspl|%Kp!LNE;fj7?`_7^)mN8WoV5YaQ#Jmdnxg$nu( z<=&sr!KeWg79LR?8{PqO`hF)VANPQH96*{I>?(ZGJ#Yy2@*Xk0j-3o?6F94S5BZ)Of-pKw^1%xvC6M9R z7eX|N2)+e%w_Gr{NQq?9dXy1qDbp=pgHI=M3=u&-)m$_Sym^~^l%$%;cLG&Aq1l>T zDuEJyqC=$VByR-QTSjF~yOt61i&tMMmnpTk$y zwZa8okc~&MJhFa|gQst0AFUV;o)+2NIwZK3Kyd&hv>tvffe>==T1QfCZ3NkN-@%0i z`L*P8-IhzCw|J&TYM)5t!W`*%rp(QYhWQ}0E@3cfaL5(yM=LPYe2DL>p|@B7d-Oe3 z)Uas+PEM#p5HFxsik-&|Q?q$2DdDR`Th-NzpR89R**e8Z=s4XyxhEyF#HY8Dcq9Q% z%}qDRhJJKy$0j{++7{4XNJoqXFui+W0(3iI1|$c`cI(i2x`#NJXFleM%E7cKB4AzD z{O}T~%J1y;Pwt^ez+q-wSuY8IANxwA^rsliV0yLW^44A+rVe!m`YW)S{dPKr2{=*U zq)2UvfZ3}Eaw90rZcb)&1T)uA90pIK9JL6Lu5%kS8k$nGC6nD^<`LSDmiF=F0vd4U zsVmT+*`41`L5KJ(2eKE{D1CMq1m%NH4ecC(I}QN? zBY4~Y8brtOOrnHQx^gWkCz=R?0bnq(3>)BqQSpoq?pL^Lc!r`^CBk$oh^_p8r%1yi zY?9Tyb6ZM~ob=Ej8bvUBA1iH4=+1wVCaA7uf|@V^4&Zetg9I6Pt1*|pDbDJxFGfRQ zs(pe6MQbkO4=}p@TY}%v)&E{00P=>lZk#=^Stti2-h>|QPYO70Z=4CFK0|#X8LI)o z*cxlXB2SOCUE2w_>>mmcli2Fc;mlDq+Mo>npfP%m_v519At*zcR^W_=#~%DWg}lzx z%N`k_v=q&Jfjub7#HgYKZfoD{2B6ed`idaQ(@WmS#^57(G(%);tYF%YX6TMIyiX9$*DP6`EH5 z9{_?teZS+Vy$4oMp2|htWqHA?e};gN-Z1AEb)^Sd6jnEzr)7Jx1B1I4)urGt8!;_0 zWWzX3%@1VEBq@6-s1D57=yhI5ZPA?euD?fRLu6zlVGSNed(w@!m$^(LxS$0XW({(^ z63J$BL4}H<63W*gDWx;z;6O|KyFi}&)6Kjs?68y_PdK(Dly>lyaa7!(Wa|jAgk$&T zObP-AWy)^y@JuU)Bl^jd?t)l-_KORkEYLT^2Yb~ah%&Y&AOPRA#TG3hoNvh(ph)(g ztBSV~81w(0N(Sc6j-z9L0pPb{4#6?nhJv&BvXYMJfy(H6wq?KBiC{s7}4@jzQ+Q7Kks2uH(_@y5O>c;3(btm`CiJ|As=>zGlTH6R@*2 zQ6wNf=N;ypF}2CpdYI-*%EZd^jKB`63x|v-{s_B5^J5H}K+TDDj=Q1wgOGUO%q~kF zG4_~W43+OOkEl5o_JvN`!G~pYCYayR^mT|J{-t!{uhy6l839`6@p7NA zO9a7_0C0j|u=EaURzXu))$Y%x;FBB;VUo9w5-4P>G_Sc5D;+m$h}L4!&eGy#W9qTY z)G7dQD_(S&hxLktgR8UbJ|j0s<@#d`|M6H#8g>(}L>59=$5FGbp6?mun#ZvKn6A(e zR-okwMrALWIK>*5hQV9u|cmwc4VA)aVc{BhEBqtF7 znDe&pvt)&1=CbyQ`2SfwCIba3gUH0b#35YuO!T5jyEknq+0elOz@QD0A~lV7$i`St z2~lxORi7=;ympdn#be1Bap7l@mqkF&*I+lUWO9@&iGt+=x-V7n@d(9OFGTc}kv#1f zGZo1mIKR(4S{2O6T+Ugi)NLD%yJL75e}x6kQsjtWNEuwox|Y)7G`-*o;~(uvXx3RH zMgk=AoOy(Ogn~I%;*@c4OQ9de%bnDj#&Vgd?Zc&%)>C5R`7NLMA*NzRhpFq8Vr~wS z%NPP{b2cyQAoLh;PvgpiM=GZJyo!BVkYXUEGB&CcLC;12rO5Tj9(k_LQV~$5bsHho zi+uE~P{R(Q8;+V|kb0 zB8_St;?q5Q>z$4Cc!jf?@)*7xL^7FV@T6rxbVdU3MVRP%jfZWJ5K^PkOkEQn+paOM z+)t^JKLF-dtOu!{djPIy2`x4E=DQJ!kYfwL&n*DM7V8xN6NH~<035vx1Bl}d1Hf(k z2%bV;&J_+x+7_FyKLMEJ$%gVa0N3XE87@2^6`Q^RVCTC68}cXl%$7Wzo2lY<8UP+# zFCGDK;t!%JYfdO?0zJe`i%n2x}rl#d@3b_YhOtmhDku)TG9yU#s zDp4Lpg#mEL4n4>laU6R9ega@IL@IW9pxRpi%+jTTk;&KrFf7bx*#*F9*>~;f2o(UA z!f@}J&Nj<)ELgqABD?pLU)ch1mRb04M2808PTvZE)xZI8n~Z;Wo(5p$RE3!_{&D94 zukyJ9(vDcU-4btm^Lp_*dc%>`@sKhPDI0j4z*g4G!V-fXx)_T8F4`nj+$$S|0OgEU}25?0ikGnrpL? zQqn$Z)I&^CaD+Ist@x?X9J+WCIix=4^geH?W^a=z036!1mX$(kcXmtjC5UW>I}$A! z9ygZNe6Bjfh^l*&QX=?+02~?*8-N2cAxXDc zkh$iL#9rbL@Lb7s$_mXkF=ne6Y0Y7)JjJ||i%uHlB=v+#$iZv;MuKDWRGcCr=oL>J zt}qT7OYQfHfnPImlI3&Kt7Tawy2TOfb8ozT#dJR8z@L#bmXM+0;`OJS1;C6S0Jo@H zLCsj*_S=zBQAa@9v4jW=b4P#gFO)#$av3oI09-s~hQ5Ke1z^W=-s4WML^r*P$a`ew z24M2hT(>bX0B)}HY74;bE9?Qd$k56vHUK=B(?l;ccJ_vXE=Hvl0M~;CU_2J{8nbM9 z4*{>n2w$9X6G?O#-l-}b>IbcM2o0hXY?#;P?Jct3XT}lR5lb)FaKFijYP`qBrJnj( zsz#Gu!Lu@a&F>Wa;#2^zih2j}=3MLAr14eo3A~aRyfa7uTsc&VHCl3G^xD9&17I%O z1Np}WfR~06i{Va$`Cg=GDhC~$s#Jg6+8q)4Rxx;f2v-1HG{5!$45RH4hYykREBa!1 zMwrY4i~aFqi+hbF|F{YP&l`2TDoK64KD^(8lSp_!reb;pE6thY79^JRO{EdGtLFs0 z4j9q=-VIHq+GDFT|Xg;xD15LF-<$;EWv9nO9 zaAs~FK16lRxT*R8M^8ltXAKJ_^$TOmadb&#v&q|3XLOXX16;<{`X+?6-|ZIm5U5Li zFIr7J;qu4lns6eM4(Hqa>Xm1o2D7xSm(bDirB|y2{hw*erv&b+0o@Ki4&_q&W~p96-z{=_Wb^!h| z1Z(F8@b3ZO*EMHFov!5=7XbKrzs`F9egNh}E_j|g(0F{H;0?fl?E3*&x61%*mEBB# zKL8u?o$Vq3Z#Iuh-}L;e0l40O^B%tbxjx;GHw67}H~9N+7L~RCw-f=m{sn|t>ECLV z#{KU)hh6;f>rj6i0RC;i?T6d{&CZ?ZMsn=jqV7AE)TQD5-}b`dst>D8ByuODhTFah zoYT9M8Npz1S|lTX-+nXwr$1f-`1~HXR0r2m3 z^=|}z?%)3^H~7vGl4~y$>vHY;s{Oxl#;32fmd_vKzg6g;isklCw)AhGX5;BI74Qw~ zS9h@ZXxj5pKgm)AO#6fx-PW_)SLk|^y-MKu0BCO)iQX<79I+DYrNcb^qbazz_;d;n zzt)Z0Ca?P6^FLUNARt9}{zPnIG9OExNAh1C=TUyf?YRl^rmu^?&!4vZ+rKZxe7YbF zPIo~*&lfiqAk8@<0j-+aWy3zYiGvs`Y+m1GQ~wkIKb;s2&-arMKTdHDz@IkXC$z%J z?e_yP(S06(iRdx_6LQbA;qCgBumE|)k>`FR_4(-ML-bH*G6q5W4%3bX3=$+(M6%=rWPYcx;3CNguqx$T+BI!~lZ z7C7lGZgw>DwpD8JIlf;1HVs-FyYN5K7`%P16KMIxUX*DF9IE%WrL+m%PR_Bi%o84| z>`0ZHr~Lx+$HKXWOcsA(R`#V}edHhsD(5;943Dkrk_jJ`7PrqIb?k1jRe#-{O!-W| z<#yYM2Y~mu48V}D(_0$xY_s$H+%9Ut0)yK*05e4EHsvjr8~3+t3)k9X0PY8fe-40e z=S8ab>`5+$=j#A`J_i8r?$C`OXPg0W*@whsr1@+K0G0!91V1||kJ_gk?Kh>P@hJed z%3i4MdB=Z|h_7v##QJc!A0}xO%4Fw)S7buOs&V(f9*t~z#!3A0C4%z3V{Gv99l8(f)Wk^ zm@F=hNLi)XXaQ_*i${N=5^JXuz>N5&a2PUnNWPusC4lhu#KD(i0O@)@iw@I%hrNE) zYs<6SZY>>3J_nKQ;LPc0?fL{s=YSQcE}!)pplPXwuCwYOV&3NU;`2s9mRoan@Qu6s z_3Z#-w!}_LZ={Z-ngcAezYvJf*CHD6p2Z7DmpA8$+9oP7-fG&c?m6uIdRP2N<_=ep z6WB=!15<%cTldZmSJzPr(Opy^v+4101QtdjlBhvu@|-Z@uUL~$_D}?7e_P?0Iwa}tiJ+) z!TmV^H;1PHyhE9@WHg`WO*E!K^&RzZV6Wr#LH=aP%Id7d)k)(7Z?~=KUbNZRChZsT zcyhe-YRULKw)A`sGtUi^W6|riVA?8O0G#P7f<=FolCL21po;bd09G{0b<95l;L9;Q zOf6GCYum`D{#O9ru;kI!pw8L?;Fi)S0C-=HwG=O1TzRQKkF#ENh`#`MezU?c`Pu*h zrn%f>*?Iqsl{NFW&n~`ieSv(A5oQIHb38l#zJ@!ldT2FTv)Lj6!kdDqi}j9~8wGPt z%MTB-7eAj>uD4r*ir@HLf%T9yv(pbEEcD^t5l&H@Z1LDfTE7u9U`yb`Lo0N5Yt@MU z+@d~=D1IMRKV0dkXM@8N_;$2iC40=4HW3n78?GASQqVa_Hv?41$>>3ctS4^CC7`YT z?8?6mQuQ771-AnqTn2k$Og?!B)G9^5PyV4Qz89tt<_pCtcgEt{gRG2lLWokEMghcFyXKgzRE%_n15)3c_?$MawZuh_au> zhPC_8ow(mb^a@=jgC%RyRL6u&!qHvW?Xw?;#N(v1scgaQF>uI;4mZUv*RoUCC*8VF z^Pn^JO>?nVJ?q)4D#j*qz%oYmg@d z29)8=Apm#4^>d4BO>=xuCv{m}#0|jS5$#hMZdT3nIr>N`@wfq)wG2xT6jzxFfRD>f z`)&Y6YEs_^PHq4$@o-P-rl{84kh;y60b`Q@SjfBCaeeZ(0GR#DD6u7gwJJTq)o|%a zY!m={8=9FTal>uF^8yj1vHsKy3i7lZG5;$T$ID20vB?3RY^qdvyZc z&I#6)q!~lGQyFV_G$VwasRxc%jHiJ(nE%VGu~<0=A)Np)M3M3n)NXQZ0LJhdmd6Np zGlpIkSgs=wOgFkB>pBaFiTy1Awl)h702m8{P)5fYA|=@7A3scH1nN?07}%v>g5jL~ z2f3ehE;vbA6|_E^WU+i30JouIWdZQwL4eh}Vb5m(e4N+#*A%k?z-?7Vbr_{C3xLHn z%0(7UXW0wehueJerwL<_fj&eD&8eXv2z)0BdKMRt*$6mi*0rg2>r+W}{x;Pg~TQJUZ)N=*pxLz|ElCvF|%?9A;;pCQ-#sF}64EglJ z=vKW1kwwenxD+Wj0Asg08B3~8c~tgTjUTc0R*>TR;&mY_Djovxv*YcyXl$y4<-8N; zWt9jlTjaau_`Q6Xgh+Svu|z+O``d%RM@4S35Rbc-`=d65)>tQVioOZ6jXb{M4~iE_B7M(z$pj1mgd);c&C+UF8OwWJRLMy2KCF;R;(Tv5-1Pe26Iff<{)6#x#T02i{00 z^uRL$Uw09sg3|KD1D?2BHD`6aj?k}uqcMg7mNpZ1v0*-mBPF=Xp9%E6c0TskW z44(FpnKoX|`X*7g8EhaWK24K=pej=}pa$p7Mkh^Ol<~1cY2sju-PcF!>) zJjJ9(hJvhfqby`_5ensW`P1d=(yX}g|CA*p5Rd?S6IX^<7|me8c=e{`VD7_&Is^gf z)xw->Dbt!D&v8EMc|kXz?i2Fm*0t6!5YsE4F<`s1If4fjttTf z={F~!wGLw0B**3aQ4iZzlsvqaq(dz9`vI%C9WffHj0J$sGC7SqKw)?Oi9aypRAwXCjnQ~tx(Qds|v+F4cPU=yUua(;U5+V2ZnP~zx{gz{2 zk&YLVPy{%9P6k33CB4elwJ+!;e2uEhLL+$8j8Mo*^wUv%DC}XkO37}rS>S_(_yZWj z>4VOM9%q-)Y5sRs>WS)MR=IAUhuYxtwa2faoOw0P%%L2oa2tLL=g&|^=7EsH!!=Zp zTBcMvV=^Ew#KgV=prQ&x^2#}K7ugLSGrhqfRW|}WTNWj`s>Jj0mY;#`5wHg9Ebk^) zt`QTKg!r&Zg-?ZXgf-ib6-B368c&qd;Hh#0N`IjG*0`_c+}wM|2O(1;P0GBC)$*>~ zqzfrNZjQgP4{r@8sTd`a8$~l^*r-nDCtnI^!?0=mJ%aO%r37V#hrz3n`UgQXKQgG{ zigpI)x(GH{(j$3wF86&sq)n{wp>r0w`iR_iK~rfYV$YW)@sw37-DJ0&0_s@o4-$h; ze;w^dDmfRKLG=LM9Dfw#%k28{HS8yUgcG+D0G^qsR5JRZ<4l-v8*>~E6CiL#FWhq| zYazy}Cc`KIj&UpizD-$ki|;<1hB=lDXKLJG+zkLr;eivb1}0^j0C>zZQUt(G-KOl* zn{20h41l$>ekr|LUqdkV&Cu!Su`m9N&`1vC97)e^W7&*nUZb46i>2wwglv=&6$Lke z^Q0-DsOyZ|0RShl7=G0ew+x$3a8YPMY0woF0N^r)f{G`L$2O`4S^(V2O-&<0(Y`c3 zIHy>t>M)$cu7M`g!;-QsLQrJ^U`1v346;z=n!F^_Fg*88FgZ3bnjL8*3bIHQZhh0{ zk}vclRqc?RljV~90EVPWJH%n1Aee}ZPDZZI+6f$78UcVk9R4{FeEZctjRIiI=aDZW zH3D0M3A;AKMoI+p{tw#YY41*s<|9 z08S>a4N#CnWMjdCUOZ-n+yUT9oP>`C;6R@<)}7)l5h@2#JCBt%0E_zzfFW5<@Tfrn zaFi(+0pKA*pbeAcyzbpopX7KS@uC4Z77u`LFdG27{_Tn>ev&AiWG}ag$v-_`0K6+; zdD`er- z0|1sNz=x>S?~#APZWJ3Qv3CQo8_WjayaT|oC|HtsOsd&Z91k>-B*!1BNi!0~!*WD;cI6WbR6S6bX38y*61-xdde#XJ-mfX8xJ zU6_q#v$@3w0Gu5Ga6DxJaF90w6=9$14wXO5^g#j|4~_aj0h&8MGjh{+6BO$F;x#1+ zG^{*Xz&w{GPrMXEVA>eUjmWaqs6^Al)`~m2~5}RUR@^tyQ09ATsY1#Oh?q z%1J8&_2&cp>0T;8NU?BO!som3AX^N>d3AG#I*GDO^D#Sio(flxS`&-w>;jv74ARrbWQzRq^yEZ>v7T`Be6t)K?;p_x?AF zGi}5Q0&U=Qg!xE(bxMS*r^j;+E@FJtSnhg>i~J=?Q1B^uy+3euX`)2e-=d(tTjdFY zwVldufL5faP)v_U`Y}neHXnc2`U!86Dn=98TQkEl?rmS=+?847Jb^z z6wot&-T{uX=h}BByU*qNiK;Gvb3(8;^yf{4NmSnFp!2gN7DNNCA5W(EL063-h>aJ> zMMh0*ScNJX1xHqDDTr+|)d7A~&B~=Yyx1qUl~MX2MD`=!5va=|gBh-V14Y8!2)Yc= za5+Dlhq5maVgXMMDRYZXVn(sS5VBVe6nU^PP8IWH!*k*+CAr9LgpeTevA4hx$}*J# zn;V(`B^TuMi$-E&kF#hn2XoWINH}|(5p-C7a~1hW$kZYc zqjFa+!2%;eT!=HVZ@aL9Y)b#$0+NpEq+J!!Q!71*mz+4^t}BXQDtzIpx|=wd81ICC-Pad<0I;<};fO{IOT6U80N5ozTZOfTi^@NY zmrln-XL2@3D48Tmv0+q7Yb1ONJXD;$@`+giFoh*5hvBe+m!YPgI;)$1z82QlNCIRff5}v$K#rmYhSdWZzoFzXPYF?=v5PiQSaL z3-bf3q%GogP{AV^95P)1J#;s}0xM7LB0x{%6eWZ}n2~HO z&-7q(kcbZIFxmQec|Lf0X14lrDd*-~ZsK|6@I%Vdop>~F%<%!R-xG7A<-8NYCI%*n z7%4@lTmaf&OoW3_1;DuURr>r?7y8Tw`c(U5u2}=X;UMLdk}1sO-vz)A#^i*Ns+glN zt5o5~bG$p-8Ts3Zl9BnG+F_M}92*xoh3~xl7CEy~@;eif1yK2lfni`+l2-w1s06b6 z>MqG%BSECt0kjKKuRKr8FyD!TSUfV{T6YGg;fg}{Vq9bR=B`bD}|` zNGt;^>xl9er|#^^cj@$uTS2x5ELr8A5R-%SR^&gF4OS3t74ee_%sM-$sucRcmsyX6 zN>r&Y(li)SH0Q|AejCC;&f+N_&5D)*=}8|EnHeZ>JpsnNT);<&5Rur47te4-uh2=A z3M2zqs(*@&y!YRC(CT-RpdTqS`@fNYtTkNRoT}0m0P`9=ECALF z@Tw!k78Oeaz`>8+3n>8X$dA*7@dh+~#Xfi&rH`}$I21MjKlAJjz`ewq zQviNC0N~pKU^Xps&CCEWc$W9zU;;D%rY0Tx696^}fZ5cVl7iw0fSGz*s4($3)BynN z!ZiRRO_I?U0QRC-S^(V5Mz=ie$PSebHUP$DeXa^o$PK{T_Q=Ew?Q#0jW9bxU z1F$G%o9wy(*urxF#yis*q+v@Nfcd3A`r3X0Fnb=`b^~?{z(KAC;08Rk5(~47?E4si zZL}WNr6wUY02iiWW7*^p0F$4$1;DojzzGNymq^y1+avH4yFCQp^!k0fy7KS^z_ixN z+W_p8OD>_6I)JeFzX9n{QRL0fyk7I67DzM26A{8#R*Oidy}DtoOk5eHSmwo;R9Lu^v-51p=fF{0e^?n*Y zl9xz>unqv&QZ9$iZ2%ZEAsL#Exn$IO+QZF_ze^6x5O$Hu0$}0oNJIbz055rBk}CNS zD%)O)$oj}&Q+6KYmhszVBk*DLs{6NnB#6S6tOmjeE*5652$^p&%niV1ZAvW^C)$TH zXT3FtnwSJvM4&H40Wey)I{;w6Jw|uwA?DX8WBxi2o7wvwA0IE858FyG;Rn<>1K|24 z(?YWWcyCH%QxwS*fdm1rV*1cbW;cfC?Aiyh*ag6@d*|Xf2=Gx50YQCDX7OW7S`0dd zykn3czjf%f$ByG24Rz$M4QgK2;rz)Kd&y49bPo5~kvE!a3+Kg}>68cXwerW!?fGc? zSckhfc1@r>-OmsIUaIh9nazP@pjf+9Oa8>@cEH_y952}=<({@}Wp9hb{y`L;gh^I( zrg7GClAbOu&Y8bxKyo$}&5WZ?zt_5R$9z)9(IkGpZ0zhbJ6JCtJhJCC05ER%;x8P> z>@C^szp;4i@W!zd?ag$dj|SJ?=pn)=9}k8;xDB^8pJ3LBB`>iYWSl(Nzvp8C@O8BN z{J{8r@_AOgxd<5lf$zQ_02H&rr#>+Xige`@^r z&%?|)0RLm-8-R^J)31J?=>8}G{{7PU9^c~_fQ@ee{`Zb!0RHbsls_nL@{jNFZ4%$( zd+gZo^r<-U4Zv&s{P&&u{u@qo|2(muf4Vra`Sa&x!|<0szS@W|waIzn_g;Ja^8WSq z_F0mw=ZH_OkHT)uo(XG@`Y;t^Wo^{ zk&XR0cfISbWzAPe_5M}3x;Oaeb#)dKJ`u!!?m72s43&_sW8mG-J?G1`iP9y)kmUMW z(POLUfWZBl`0oz(nf%U?{P@ISt>_?f#KX&%CNY~1`CKQ2xpM-Pc^*ABJ6ENB{|(^r z^4nnPzNp<#orNGi8;#c-bp8B9BDM5*T|3vO{@7~Uh6q>BW#PvK^P<#i+0D-*?VmsI zw@$TQu%3%Z(W|bfp7(oGxQ>1Pz8cCe(B2RCORw#?)?G#S{rk+Z&u!`cRoN3Ru2wUA z>%7)EPneEkRwv z{>zhwJ(6MAOG@`+0KWI(Pl2$g)kCZ9XKBg-0Ka^w;^nFpB0xH{wv>7;L;raW?G(*A z_AC3L+O`oDZf;E8dg4?hwgcp`Egjgx!mIvY&sm?~X+G6?zUVGnUVqb+Kldp%Wx4Fj z%U_P=d86kNJ2||}jwS2b2v_$N^(ug5?OF6P&F?ldRx^^kFGk22)k}T6!xiMVoYMc6 zt)jX`Y8;pyPyFdDFN@DR)mza3Y@!DuJ~n}Y-{@?6L-E)X*GVlrM@RGbj+Y1NEdu0_ zT_D5#ehk2OesO9)7XWzGQ)4klEojpYh~oURm@u#G_>XP+;Hs6>TYI!yVoZy>-H&q5=De1mv{xM6De~ZBxH$AOOKM+P@nKE3 z_dRylWddAduh^iA4*xwEBv1Ae!k5ei^|8SvhXYQIPB8_!Cs=JW@~5RoXrCfKClKzn zFk(~pp3gEMNch-1TPKDbRHY|Kx0kSVNnGO8hjoDa0#|zx!8UP2KS@} zO*l18H-T|(mpcg)`~7F;$Br&s&@t!^=zi@SZc7n|eEv8zo&(`g=rm<)u;^Dh6S0bh~W+aNh%P5_vm`-m8v5$SE2=4$f6e*osLnM_CdJ zKM=86r1nL@@}6>>Sif``kPOyKfA4YWE0&jSX=fOJ)XBT!`GCaFxno#5#l!vXHz(z$ z6^&OZ`jXz>9Zdclp>>6Zj-Jp?Ojiu)#5$e)=%*WBL2ui#tLFckrQjB;qDc9-Yw8QjKWx41iHR0${E}J!B||oB}Y-gj+uj0NB)x z+kV)LP4T6DNC3Rkm{HB0i3VG#=q@NXyq!h`KDQ<~FS)G_%89W7U?|mXYu)*s@a^K! zfz3xBdjNP>1*#~ksLQxh&B3V->W@*(X51;0js33xd_*mzeumDm?)Ht7bFuG}J`Gut z)j0sya|*}7RRG3w0Jy|&OSf?rVu`X(zvU*OJGmVLFhaX|b-&whZ{-!h+va&7-;HEm ziYIZUT><UYF2*Zvf5!T2u*u=Pv-fEsS4o0CxT`f8PL%j|IRh_L9%R;Hevc+qvgZ z7Xa9f0Jy}kUDSMb5tn{RE&NxMcaMAKZ91JDgKUkHa;kN32Sypc-TPu3!Go3b#Rzx1 zY=*BxY*EfH$j{t^cMmdg2v1U%mL;w;nP|?jk(Q)(GWAn=G_5*Ladn?slKeLi8Wc; zR*SU`>yEc|-k~jAd%x_;zIVh^6Nr(PWhF=PmtT@oPwleKb;n9_rd|@UM9gP_iXDQ$ zpD|SSxc1+@ib|B^^PbBee2NBS5 zUV2(q9S>D9XKaUVXr;kJ0B&M?$l+ojwD}PkK9Zi^o`@Cz{{nja$#a=xxfpR}-5Lb; z0AMXIH7_2BTNfu18V1m^>OqlG?@9)TCdcvI0|2J+BLD{R3xHFmy-1|grl#RMmf=e) zAhfDjtaeK`^A|^5WsZUbAL{{dmw;k<!{24Rd0Q|E7I7i@63xNNI zc=%=5F~?f1`Xw{c+M5`*Deb6S-AAk@zyCq~)$3JG#pAJ^~;Urr=0IUFs?)N*GRGk+X&oN)ZG~IEX zy7fsaRtb2Kz7L?q5bY0*^w}-|@J#W+8sVj)+EzgVLu7)F9lccr?Y6K=ZB#5W*87&T zBamK0ps)>a4aO5AkhfV|{4@Y}j=r3OOvvE@z+^1YjD2b3tk1GURjn7PCtqWHF%M4H z8!~`$R$;W=!jD=w{_JRbNDji%T)q2lje(6Z-7AAH049@kNr)H#5AVrK0I&nZYB5P& zqD>+*taZk`U@&$>!iciQmH@Cu9Et;yE82*=kwycs{R@Dl8h!mYQE372N&>|M8q!20 z_RdW^ypq4w_XWV!C$~E$_pPP-?3JF9QC*1K%hww8GUMgPOZR>wmV0+NIgM%4?YO(k z`Y<)s&j=Q0GfP<1v#G*=yiP;&Z{<$FV`LpsS=eSR6GeGn_~vxs37Ae6DLlDny@L-` z%)@e$o{Z6!=SNZkGW|HoyqZG<(CC1V-a5ehki`A==uX&~!%Q`hMrnh0pBEp26d?}MOB0T9Dfjhq;ey18lmyX(lM9Ym+rf?ih`<1@8PV9 zg)mz?PDGB~GBM51zF-r){1y!@^TtcDxn0js{l&;?=o2H*wS?lbLGILb4mx983!=nI zGy$-aTEZd*cAA5q=s3QhoF94RI)=?8l9F8YLy2J6f81Pfq4Z-0{UXsyQ&zjHArKws zxX0QW6HGLpJUSJF0UestuNDZHn(sA11q$s-`Ksv&Y!KNS#<3b^UO*2P{3pN^#5~^Muf=_757hm2;90njaz_hVE6| zQN&341-xQ4);e+?d8V{f(~OKDcaKD`08fSa-e%mRv`=F z(^}6s&#r$nA+ozg-H9M9F~0K>WHnln&JbZG4+FqINjULajB^w|IIA+&|CJy{b1KUi zIMbd%dXnj?^1UaK)s$8eOsk1mGbe9_HK1HVY$5B)o zvw4ojX=ck8DYqPN-HgqGQt_|3P&AP5ji3*3B&beAm|5?cpN#$vsPuM4&&R*HB(*3@ zny3tjXM9XGVZ4dIg!qW|$DCH+paDq@Px2jCN86FfoMEu!0sEN=)b9Y8=hTNAB03=~ z07iLc0^pwwz~HDa)Ks_Vj)>$00=aYnFehrB>G}+5>=rj)|m_% zJa?qMtDFFEgq-s?0Am0EC(oN7-Q2_#fmbYHX|Y&f&YhggN2w76{mPMX4lEO48-VFi zq!@l@LIW@v0^mLl0FJ|Q-pD5wXhO#*G0V+MSLCWF06cz8EbS?tKYoBKHw*ZzdsBr> z_cb0S;lrf@U=6#tO9QZ+0q4v)SQ2*{P7)mGNb{gO_}cQL^uGh}#IzYztIWc<=lrE+ zgL|^}@I4DzY;X@+urm{kc3AgE^UOAc&7?Us`#%8SY@Vat6Z9kpqS=e!Dqsq`dZ~G% z!NWe2fZ7aO~4 ztg#k-MS;FQtaz~c0l@cMoQ$Qjqk-zgiMkez$6|l1C&oHF=1wU8lM4lE0>BP6fyv3` zX42W2z$GZ50T}Z$BO4C|CyF$zUmxU4T>lQb5CBUohF@nKlNT0t1w49P037<=97+*V)=rTemhL_r3M-hK1CxLuooa{2 zR0W0^^?{hUnVe?+Ujwk4k&0TLIP=3&=qTGoRoNmb4x@Emd`1!!J;aA`2cZ6=|70ZY z?&b{6jHWjL-zknK0^l-LqLmItf1%_`D>3_H(;t$odthvwyJB#Kl{6Gm6zVZGuUZyT zdr=J2LX~rwK;E%oHBbUkPc)n$%!u@7-FI)p&}+;G%C42fRHmRltQIlFPPyk39G6!?&Qxo01RA){l+_nZQeY zDywGxQi}7}U7!?9!eKYnA^PJd>@AI(0oRNqeCyk9i0$J!ou>yVwX0XlLss!KuZK=- zpOnq4%Tv}~_$FSvJ}2#*$O}qO2GKTF+dWdTNIyw8P3Y*<+Uzy+^D5c33O-ZWb68YV zuUqY*Zb}R+8i?f(&7^a3{jBBP?FDT`LXk(l0+hb^GK9h(tT8Wf)OSwIf2RE^G|4fW z7!S$>7g*X>37;YlNby-C%!Hb9U2!^R&5&nxeCR&ZBQnHRZ67!;c|qr!c&kqAd_Q)T z-)(P10t;DShvN^$P?6pk7=Cff8=YWP`v)8H#cDyO$r?Q36jhNkp8#P_u1K5U+;I4k zIdh^o2A6ji7wd^R3;FpGH|z^Y!?`qJ?ioKsv2Oo&QpD2?+8WtKFc`IOZ`{Ep~$)!o;* zG6_RS0>I{v(+i~uBgKxb-Rzd1^qHm3WRcx;#YQQSfJOw&kFc~>D5A6`;0Ebj=j0Vm z%BAn!gWwgc2tqXW6 z96rdfeJhQb`V&Z$F4#OQp>5Kh`6&m*T$*4&>91gd_KnJ@Ikl{(0I-b^8&RYudCFun zxg%KlM*MDsCf`y{7$I!;JLEH4zM5UgnU7N>_hC@>m0l~ZNJ^rU-I2+!*c%)0+#HH$ zHi`D-?=C6C99%JP3mR+KK*xWvb=Vjde81@!vw?eU8g!!0tBCSPS<#~;Y^n56{QZ0> zLma64pjM3dchQKkKdM`w7+6Xwd|;xVFQRyd=;6swLPn}`!zs?bDzGa$&&(rGP*H5&t^D7T2J(qH~ILq^RPfM8aN?qoejZo z*G8jL09?qfQkV%OU=jc(Bw@(d0Nl#H54N+n4Zz!IZqr8%XQ}H=!x?Au7b)clfyUeD zNQlp$`xH2rQCdqN4ZwJ)FLe(9nC)g^XZ^hI9nLQg~0$veM!M0R9PpsgHMf#o+tM z_RPwBcS(=L5)0Q+zZ)B4Dh*`ER;W9efVxfNiCFr-{Da;OVfArV3EA1JY3Do*z?9`n z=|uaaWIy31B`yG#(JnOhz# zgW}%WQ6nC5A`)HzOyEpT#>1*-8J0>x6T2FcokOIW~3W2+cbqc5Dm!Flu*{_-qHT+@ZAP%(vI1au5c;Hm}h3yVvEMdka0KY&$zW|m4u?po7UfX9C zlPn~Ml7_4{Rg-Sj%oCbthdCYuE&%@dKLfBIec+W0U=OSu1F%E`iR{|jX~WK2?_X|0 z5_du-d@R=4N7i^#(+a1^a2*;`+bTP?M^<$x_BBY-!seuz+-0o)T~4-Ih5|G2+q(=dzcF4DZ-}{Mvdq^T1gU7sQnyV{g5D-&}Eoy<8#+8>#z>h!>jaFRJ|_qMjOG1*zChWOc$M5<_s(#k`*`Ag=|WDO60ED7#dlE)v8>;<{3M#Yg0BTp!6u)3qLhI=zC z+H@*6S<-1fd+jk}X0~;n55iu|pjj4vNOwI}pg9uyYx;WTFKd=4*6{H%qdXcI+E0(5 zRs8V3t+kfUGCbt&=VP-1jTrIiq79IzgIxEbg~8j;jqb!AbJB^)1z}v9(ocBwvOf=S zNXDBc&^knBMnK_R8C!L>)E`^m`G?q9hjCG&i1VP3%shzGlC18Fmz?lSX$)k85XpLy zk38IfZ$0i}?>J5#G<6*HP#xBhc5{4S=O&yz+%e{u{gv@I{GIx^>594|*8D60J_0=) z6qs)}Q4)E0sGeg0=2_@ba{W~%uAs2&=b92xx<0-hfLFb~V#ePd?@a}*>i~Rx&VI7_b*>G-m^}vI zHpz2d#H204^Ps$oY`lLx0Q>HYI1*8JthZ>3LhLy=%YCwa+0gCG-8H)IWJqiPHkKFb zW-s$V@rwYsWgIe(VIN$GIz*aK5nJ^O7<9v7TPR!);!d9O!_-}r6h@&6kcTJyp2xlNoarA>}Me2VAKudYUMe(%*TKE9OOFS5n$N!`Hk;5u6< zoTJN*37}3?QhrVT?au4@e({^M463i?oVbeYuDIma4eHxN>;HJk`GAgxKD$Yu zr!3b2xW~T@fbV}M0DlAUUi~`&*!Y70Si$-)2jDH|s{nj`Vb3JbuZZCP{{`Ut=K=Ws z=K}D_l9Tb<0r-3TN#pfXYyWHGTe06~{2p7*f4t-B@QHK1{(h%2<+r5~-kz)K{qwtD zX2*};H{K4M(6crFiv<66ec7hq=f$;q*+1qAU#jD`&+LAcled2!hW+%*Uw?*hopI>ZtC|{B1`{_KJnQyyK1OhWp;{TdR!Cz`fCZoS!*#Cklo|?la zy~7?vb|u2RzkVXz0Ig-%m!(75ZyuiKte549!`IJafV~)vGktNyzN(@V_}`+$_(qqG3iTWMQ>j1oE^>&|Zan@30KZ~!le3$^uzgfFkJqBP4E&}j7Lf6Mhc(>KtH2@ZPFZYv@Y-R~!KFHJR4@#W{*!UN4&Tn=0UIu(S_*mBGsu@O2C8 z$h`n;lP8wT+S(#GCE|S-245cwj&p9$zu2OP`gokW-+Jvs z|FZF8@q4lOdH4IIF}sZExQ^LR%(wXl@9QvV)`t>o!f}O8n#M|+T_rsPuTR3j< z^TAb@pJ3T}XkbaLM|AS%`#e9tjL1xG&|Z1W%)ak2mW|D5$*`ZcN}HbR-83QK*rSe; z+Didv!h$0og~10|+Bv5m`IExA@_RaY?r}Wlm_yIDlb(6j`{kIpw)g~cTYOR{0AO8j zyuWc6!isxr#vm3yAx;89z42y&tY6Csxi=0u(xvR+ZO%q!q^?m zZ_1h)*1o^L9l5)>4v-<5zTh4waIF&!B1+p^BhH`}bs zv?jeEfAP7!=|mN*V|K;=wi-C~wq*$+R+bWr6z@P_aW|{ZIEDH>wtPUs2AQ>V>1Ax7 zw01TWr}*P`F56x|(Z-~i<+@+>Vd3kMMEV6|J<|{w!U?N9z1U}bM{SeX0L=ULkTxBb zliS>m(PeMUjuzZoruZP zlqeGZ7Bm1na`qYkZ#2^oXQkv4vd%e&L|#Zc(tVxpIcOlA33~c3KUtq4b?f9 z$dH&IpSMI0fc@jJy^JDep-c`XXKM$ty9uKkR*{q1uTL@6Pp0u`#4(!So(O&KSKBlE z5UJi@!>h=kFwLKI8*&HHwIYl}-e2)!2r@)+-wj2WX#n7DUX3WrshgOEVY=!e2+`a# z!Q)6RZ91w&U@ek++S=j_fY&(rzG(q4O$*c~EiCo-VKD?5puxU*+PX0b0Q)}Gj*uJI zy?kqkNVi_j0a(;qwlp!iCQ*lAu>qLJ@u*!j0AQmGa?oO+2Kxu)I6Nt{UsCgga;s}4 zhAePU*6cg)1;Cp#t{G`%O=cmk2Wb$o3Mf5Z7g9k9@V6ZI|yy?I(3R|`!LzHB!vVz5vXXjIS_19TO%d^(1k0(Ja<({*c#$b*S z&Mi$#sWiA+AVM2~(#S#*(>j{G1r~o@fLdOxPoKh=A_>364>Ss^?-{?SZ}#UkQFSX& zskFnNK2kSJ0S_9xceemIXC2l{j9~f;ruX+jl)&;qnniwoL+2aKdrl zssIuP9699M(38(sUE}s#H_zM*k?K9{YNMH^1^%+IaA`JLqTM_P z^*cc~1R~b3r?55L3rn2mom$H({Cx<(4WZ>tJH)MzW!alo?q+|~ouc+_7f=+gJYskR*7}vVGG41?!$Vdud=}ZzTwvSM+yL}1N(1F*O%L`pP{09ah8gT1l^!0&c>JUw+lE458r z8RS?CfIZ7$W-pW(qq!9=Af0JrXN0o9#7M+{K*juc94tZ(8YNYdVbkkO^w#sNG?P-C zSCY}mcm=2g)&}6fxfApV06SttOy(3QHom?t0G7}f2FOXb;tb3H-Q#|BArDU0O9)()RD1I8(3>K*iLxi*D4y1re#WU>+9c2UqU-J9UjCHb#1^v|L5^%$2)0eoCa?Z>Iai!d1+eEVm2lo zs!jNaSr1Qh#)lI|1E}=UC?};7laig?`&lj4JLbzGN_K=~v|7A{PFZC`y~`Es?!FJW>Up#)M2l8@`2a ziCwnGUh)Rn(gfuJwlQxy(PilFBEdxRvGg}vJz`{IYj~g!=>r*xZVyR!4gJtqBw8O= z3;<(n0kHa9xa_hmm%HnZ$h=tj!y?ht;*TG#>R;NeHh5&hSt@GhaU7yKcdmI8-H!}^ zZS0D2QRth1Eo%Yf*@X=35`&E$2Cig2EK@=tinBD44NW25FQ3DVUPJ>n7FUgt%$OkT zG%*p0FSv@y?2lvxETy(nySbE5iUEK>Wl0<@C!E0%*;sc2`8zD|d{)n<^fAIOmW!hd z9m6dRSZ(tp<&!dt5xa9(1H#8Yid_1Sc)Bx;ISdsEj#&rPh zo0GV zCIMhG8QcQkQCuPPo!LH`W~TrwY(-7K=41dk({j2o*6hOhX6FUK6wnC)vG{0Wq!&E_ z;P5ia=|9|WC9jQns22b*1kTz5U`E2))#Id806a#QQwP{mJn;^7^_^r2e`6%cU2OIG zkp%d2sNihE=$oP{_WJf{!zL+YjYDe!p#Umwj7}IW4*3@V_I*Q$KYT9y2&c|2HJS;z zFY&rul7bchCxi>)kx2nCg9kQam;IGSTqdfI#lqtSz|vcyj`OyWIBX#81I}mehv~;c z&}8S87Z=cvz#mbk0a)=Zzl_=@>8-pPO6Gk7@OY%-%$aqbbk}lHatoMK$^iiT5I`85 zANK~}oN;8h060&;`RoLN3xI!JE^d%X75*U@nH>YLBZ>xM8e>}k{Cf9F<^os&u>PC` z=q~_%dni&gm)#qqvjj89?i*$wQw+&yQ#LG(%Sq}cHCvVPvf+F2BX@?2Tq6-soh0n% zP;BV_z#C=?g2{9|HZ~Iu(*YB%X_T8r8|;JWtUG{62wa3rOc9e=q!ZpKEs+l!ng6O5 zVvg#;4iSWk@g%_l52|34;wmjT}i%<6<@z82gPb zv_J*Z%GN7@LQsQVq;5!6f;BHQ#O08IQX_I_QiY75Qf)WfQ-@1`Hk0Nd0De!#K?7%F)jk<2d@q!3lvdkSfu*+Y&%?v z{y4v@X1FL#6J#D7x}D*z1FX!&y*B6O)FUp-7)Gj1TrsMAXNl=B6H(@?0z1rd@cfp@ z6H9FO6Wk@x3a3OcY|eoP>*=^Keg+J~NZ6Q?-RK+_{#iB>9*t0C<1bR(n2r5-m^mqZ zNDTNnmorM$ftEwVs|w5MSLHZW=Lk5nbMB`!7h~*1F!F&rKs`QT%yP_k@h~#};UZCP z$dHYgdO&c}0VTq{8!}@#?*zwx-LD7=W9y_AY-$~8kI3i(x)lV9)5j_9jm!Y}RlE%Z z*(*UT7sg?Tirzapo!=XP-@-!&@_H}u-o>hkIEgmW(uRPF(*Rhlq+vRNiz&hgX5eEX zMu;*0J6z+}H}IXmjm$U;Dls3rWf8NjxG_20qft8#S?b{QgZGi0T8fbFutvO2PBH7( zr?6rMO1gSdE-{_rq`+JNI6aV?+DhuQC?IC)9oM$$ZrgB3dUp-&#Bp`C+)dzfQu~z- z`wK-d7EA7K@_5Q9gtqRSF_zr*R(tiU2YQ-xk-vv5El1=Tfxv)Ytx80Zy}tuII*kTo zh4Q&b(~3s{k!TxI#_;#?$|WH|`n)86Sb+MBsxtMJU4$VstB2tYzyzbI?CQP&I9bOd z&N0u2X}$s~DL1Ijj?A&pWmb$jMo%ovNHRFj)4k8SG}_-smF!&lg~GT!NMgji4Bj;M z6CenTF5-NkG-n(U6MTp#F&+jL`xFu}xxR)WIgtV}5`Fwth#Jb3hxlUn z-EzrkB5L!jjt7#p!EFpCKsCuqn2LfTB>kru-}DOd%FsyBh{lK?X%whOu`ZVUTGixt z_YWPoZ#JudHrBTnl(si34cp*g;Bk z1emye>$cmghGrh^7Z7kI!oa}9keSE^27qOh_RGSdm2PP#q%!-MzjNy?>Jk;-wKVZC zWFDtbxkQ_q*BrMS|5Z1H#IDdUY$IhLrtqwe7%yW)eLBP~1 zNpV;bL*FJYk_@t9Q97wB3u!yXvy4r<%1q(V72SQ^M2^t;*63ZQ zcs7yV5zf5qM$4>)UL-txIR^@v9L;(HR>~t~$Z8pukx_1$bl=5+iIEwp=pM;04N8IX zq7cK{a8QPyo$&@yMz$p>IaY`Ccy^+_J~RJvIr!)lW=LsBy}U1I6&%GH%V{Vr4^ma* zfxfG8SWuhmi61D=ycnO76r^PvKOqK9WiM(js1Qj%WEJ_uHt(;DfvMQVfw`qVggNd4 z5*md2I;h7C#|=(h%3{0TRxTDO)e#ak5F|?s5kmQd7u!0e^|O)2|Ad=I?lyuah_?IQ zS@y>4`BbQfo4B2UMeLHN(O&@A*8mvCBm4qP%Lu_r$&Wm!7>QFA7aAmGHzXi^SnOqj zeM(4D*0xE%?QP3FTAomGtkIK;fL(!$wY?&rN;i?2ioq61u|bhb$(sJ_fE zf@SAf5Tp+I0|2h?KpTJ^V*&8uu)KmdBw2AklyA(iIzD;`z#)#`RRL}s64Hr+J}vxE zz8>8o3vU51L{>;47zfHq+_!Nb#uU%kppP}A`r54prrHodR%0D?g3^xC>AK{I&qNv}~LL@V0JJ+W_p!>Q0*5ikrCK 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≷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Π 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