From b30da28f434f7436c0abc7e887607456a9e6978a Mon Sep 17 00:00:00 2001 From: Skylar Date: Mon, 16 May 2016 15:43:27 -0600 Subject: [PATCH] First commit --- .bowerrc | 3 + Gruntfile.js | 10 + bower.json | 13 + config.xml | 26 + gulpfile.js | 11 + hooks/README.md | 23 + nbproject/build.xml | 293 + nbproject/configs/android.properties | 3 + nbproject/configs/android_1.properties | 3 + nbproject/configs/ios.properties | 5 + nbproject/configs/ios_1.properties | 5 + nbproject/plugins.properties | 29 + nbproject/project.properties | 7 + nbproject/project.xml | 9 + package.json | 8 + platforms/android/.gitignore | 14 + platforms/android/AndroidManifest.xml | 35 + .../android/CordovaLib/AndroidManifest.xml | 23 + platforms/android/CordovaLib/build.gradle | 61 + platforms/android/CordovaLib/cordova.gradle | 201 + .../android/CordovaLib/project.properties | 16 + .../apache/cordova/AuthenticationToken.java | 69 + .../org/apache/cordova/CallbackContext.java | 144 + .../src/org/apache/cordova/Config.java | 72 + .../org/apache/cordova/ConfigXmlParser.java | 145 + .../org/apache/cordova/CordovaActivity.java | 508 + .../src/org/apache/cordova/CordovaArgs.java | 113 + .../src/org/apache/cordova/CordovaBridge.java | 184 + .../cordova/CordovaClientCertRequest.java | 96 + .../apache/cordova/CordovaDialogsHelper.java | 152 + .../cordova/CordovaHttpAuthHandler.java | 51 + .../org/apache/cordova/CordovaInterface.java | 88 + .../apache/cordova/CordovaInterfaceImpl.java | 243 + .../src/org/apache/cordova/CordovaPlugin.java | 422 + .../apache/cordova/CordovaPreferences.java | 101 + .../apache/cordova/CordovaResourceApi.java | 471 + .../org/apache/cordova/CordovaWebView.java | 142 + .../apache/cordova/CordovaWebViewEngine.java | 81 + .../apache/cordova/CordovaWebViewImpl.java | 613 + .../src/org/apache/cordova/CoreAndroid.java | 360 + .../src/org/apache/cordova/ExposedJsApi.java | 31 + .../cordova/ICordovaClientCertRequest.java | 66 + .../apache/cordova/ICordovaCookieManager.java | 33 + .../cordova/ICordovaHttpAuthHandler.java | 38 + .../src/org/apache/cordova/LOG.java | 234 + .../cordova/NativeToJsMessageQueue.java | 501 + .../src/org/apache/cordova/PluginEntry.java | 70 + .../src/org/apache/cordova/PluginManager.java | 527 + .../src/org/apache/cordova/PluginResult.java | 198 + .../org/apache/cordova/ResumeCallback.java | 76 + .../src/org/apache/cordova/Whitelist.java | 170 + .../cordova/engine/SystemCookieManager.java | 66 + .../cordova/engine/SystemExposedJsApi.java | 53 + .../cordova/engine/SystemWebChromeClient.java | 293 + .../apache/cordova/engine/SystemWebView.java | 88 + .../cordova/engine/SystemWebViewClient.java | 374 + .../cordova/engine/SystemWebViewEngine.java | 334 + platforms/android/android.json | 82 + platforms/android/assets/www/config/api.json | 4 + .../android/assets/www/config/merchant.json | 5 + .../android/nativeapiprovider.js | 36 + .../android/promptbasednativeapi.js | 35 + .../android/assets/www/cordova-js-src/exec.js | 283 + .../assets/www/cordova-js-src/platform.js | 125 + .../www/cordova-js-src/plugin/android/app.js | 108 + platforms/android/assets/www/cordova.js | 2167 +++ .../android/assets/www/cordova_plugins.js | 19 + .../android/assets/www/css/bootstrap.css | 6760 +++++++++ .../android/assets/www/css/bootstrap.min.css | 6 + .../android/assets/www/css/font-awesome.css | 2086 +++ .../assets/www/css/font-awesome.min.css | 4 + platforms/android/assets/www/css/main.css | 17 + .../android/assets/www/fonts/FontAwesome.otf | Bin 0 -> 109688 bytes .../assets/www/fonts/fontawesome-webfont.eot | Bin 0 -> 70807 bytes .../assets/www/fonts/fontawesome-webfont.svg | 655 + .../assets/www/fonts/fontawesome-webfont.ttf | Bin 0 -> 142072 bytes .../assets/www/fonts/fontawesome-webfont.woff | Bin 0 -> 83588 bytes .../www/fonts/fontawesome-webfont.woff2 | Bin 0 -> 66624 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes platforms/android/assets/www/index.html | 35 + platforms/android/assets/www/js/bootstrap.js | 2363 +++ .../android/assets/www/js/bootstrap.min.js | 7 + platforms/android/assets/www/js/jquery.js | 4 + platforms/android/assets/www/js/main.js | 176 + .../www/barcodescanner.js | 129 + .../android/assets/www/screens/home.html | 25 + .../android/assets/www/screens/login.html | 40 + platforms/android/assets/www/screens/pay.html | 18 + .../assets/www/screens/paymentsent.html | 13 + .../android/assets/www/screens/peerpay.html | 20 + .../android/assets/www/screens/peersent.html | 13 + .../android/assets/www/screens/signup.html | 42 + platforms/android/build.gradle | 306 + platforms/android/cordova/.jshintrc | 10 + platforms/android/cordova/Api.js | 504 + platforms/android/cordova/android_sdk_version | 29 + platforms/android/cordova/build | 48 + platforms/android/cordova/build.bat | 26 + platforms/android/cordova/check_reqs | 31 + platforms/android/cordova/check_reqs.bat | 26 + platforms/android/cordova/clean | 36 + platforms/android/cordova/clean.bat | 26 + platforms/android/cordova/defaults.xml | 26 + platforms/android/cordova/lib/Adb.js | 96 + .../android/cordova/lib/AndroidManifest.js | 161 + .../android/cordova/lib/AndroidProject.js | 184 + .../android/cordova/lib/ConsoleLogger.js | 75 + .../cordova/lib/android_sdk_version.js | 64 + platforms/android/cordova/lib/build.js | 302 + .../cordova/lib/builders/AntBuilder.js | 141 + .../cordova/lib/builders/GenericBuilder.js | 138 + .../cordova/lib/builders/GradleBuilder.js | 275 + .../android/cordova/lib/builders/builders.js | 47 + platforms/android/cordova/lib/check_reqs.js | 330 + platforms/android/cordova/lib/device.js | 119 + platforms/android/cordova/lib/emulator.js | 408 + platforms/android/cordova/lib/install-device | 42 + .../android/cordova/lib/install-device.bat | 26 + .../android/cordova/lib/install-emulator | 38 + .../android/cordova/lib/install-emulator.bat | 26 + platforms/android/cordova/lib/list-devices | 33 + .../android/cordova/lib/list-devices.bat | 26 + .../android/cordova/lib/list-emulator-images | 32 + .../cordova/lib/list-emulator-images.bat | 26 + .../cordova/lib/list-started-emulators | 32 + .../cordova/lib/list-started-emulators.bat | 26 + platforms/android/cordova/lib/log.js | 56 + .../android/cordova/lib/plugin-build.gradle | 79 + .../android/cordova/lib/pluginHandlers.js | 252 + platforms/android/cordova/lib/prepare.js | 379 + platforms/android/cordova/lib/retry.js | 68 + platforms/android/cordova/lib/run.js | 140 + platforms/android/cordova/lib/start-emulator | 39 + .../android/cordova/lib/start-emulator.bat | 26 + platforms/android/cordova/log | 36 + platforms/android/cordova/log.bat | 26 + .../cordova/node_modules/abbrev/.npmignore | 4 + .../cordova/node_modules/abbrev/.travis.yml | 5 + .../node_modules/abbrev/CONTRIBUTING.md | 3 + .../cordova/node_modules/abbrev/LICENSE | 15 + .../cordova/node_modules/abbrev/README.md | 23 + .../cordova/node_modules/abbrev/abbrev.js | 62 + .../cordova/node_modules/abbrev/package.json | 74 + .../cordova/node_modules/abbrev/test.js | 47 + .../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 | 85 + .../node_modules/balanced-match/.npmignore | 2 + .../node_modules/balanced-match/.travis.yml | 3 + .../node_modules/balanced-match/LICENSE.md | 21 + .../node_modules/balanced-match/Makefile | 6 + .../node_modules/balanced-match/README.md | 89 + .../node_modules/balanced-match/example.js | 5 + .../node_modules/balanced-match/index.js | 50 + .../node_modules/balanced-match/package.json | 98 + .../balanced-match/test/balanced.js | 84 + .../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 | 93 + .../node_modules/base64-js/test/convert.js | 51 + .../node_modules/base64-js/test/url-safe.js | 18 + .../node_modules/big-integer/BigInteger.js | 1189 ++ .../big-integer/BigInteger.min.js | 1 + .../node_modules/big-integer/README.md | 506 + .../node_modules/big-integer/package.json | 100 + .../node_modules/bplist-parser/.npmignore | 8 + .../node_modules/bplist-parser/README.md | 47 + .../bplist-parser/bplistParser.js | 357 + .../node_modules/bplist-parser/package.json | 81 + .../bplist-parser/test/airplay.bplist | Bin 0 -> 341 bytes .../bplist-parser/test/iTunes-small.bplist | Bin 0 -> 24433 bytes .../bplist-parser/test/int64.bplist | Bin 0 -> 84 bytes .../node_modules/bplist-parser/test/int64.xml | 10 + .../bplist-parser/test/parseTest.js | 159 + .../bplist-parser/test/sample1.bplist | Bin 0 -> 605 bytes .../bplist-parser/test/sample2.bplist | Bin 0 -> 384 bytes .../bplist-parser/test/uid.bplist | Bin 0 -> 365 bytes .../bplist-parser/test/utf16.bplist | Bin 0 -> 1273 bytes .../bplist-parser/test/utf16_chinese.plist | Bin 0 -> 2362 bytes .../node_modules/brace-expansion/.npmignore | 3 + .../node_modules/brace-expansion/README.md | 122 + .../node_modules/brace-expansion/example.js | 8 + .../node_modules/brace-expansion/index.js | 191 + .../node_modules/brace-expansion/package.json | 104 + .../node_modules/concat-map/.travis.yml | 4 + .../cordova/node_modules/concat-map/LICENSE | 18 + .../node_modules/concat-map/README.markdown | 62 + .../node_modules/concat-map/example/map.js | 6 + .../cordova/node_modules/concat-map/index.js | 13 + .../node_modules/concat-map/package.json | 109 + .../node_modules/concat-map/test/map.js | 39 + .../node_modules/cordova-common/.jscs.json | 24 + .../node_modules/cordova-common/.jshintignore | 1 + .../node_modules/cordova-common/.npmignore | 2 + .../node_modules/cordova-common/.ratignore | 2 + .../node_modules/cordova-common/README.md | 153 + .../cordova-common/RELEASENOTES.md | 42 + .../cordova-common/cordova-common.js | 43 + .../node_modules/cordova-common/package.json | 119 + .../node_modules/cordova-common/src/.jshintrc | 10 + .../cordova-common/src/ActionStack.js | 85 + .../src/ConfigChanges/ConfigChanges.js | 323 + .../src/ConfigChanges/ConfigFile.js | 208 + .../src/ConfigChanges/ConfigKeeper.js | 65 + .../src/ConfigChanges/munge-util.js | 160 + .../src/ConfigParser/ConfigParser.js | 499 + .../cordova-common/src/ConfigParser/README.md | 86 + .../src/CordovaError/CordovaError.js | 91 + .../CordovaExternalToolErrorContext.js | 48 + .../cordova-common/src/CordovaLogger.js | 203 + .../cordova-common/src/PlatformJson.js | 155 + .../src/PluginInfo/PluginInfo.js | 410 + .../src/PluginInfo/PluginInfoProvider.js | 82 + .../node_modules/cordova-common/src/events.js | 65 + .../cordova-common/src/superspawn.js | 184 + .../cordova-common/src/util/plist-helpers.js | 101 + .../cordova-common/src/util/xml-helpers.js | 266 + .../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 | 77 + .../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 | 101 + .../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 | 98 + .../android/cordova/node_modules/glob/sync.js | 460 + .../cordova/node_modules/inflight/.eslintrc | 17 + .../cordova/node_modules/inflight/LICENSE | 15 + .../cordova/node_modules/inflight/README.md | 37 + .../cordova/node_modules/inflight/inflight.js | 44 + .../node_modules/inflight/package.json | 86 + .../cordova/node_modules/inflight/test.js | 97 + .../cordova/node_modules/inherits/LICENSE | 16 + .../cordova/node_modules/inherits/README.md | 42 + .../cordova/node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../node_modules/inherits/package.json | 77 + .../cordova/node_modules/inherits/test.js | 25 + .../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 | 121 + .../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 | 216 + .../node_modules/minimatch/minimatch.js | 912 ++ .../node_modules/minimatch/package.json | 85 + .../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 | 88 + .../cordova/node_modules/nopt/test/basic.js | 273 + .../android/cordova/node_modules/once/LICENSE | 15 + .../cordova/node_modules/once/README.md | 51 + .../android/cordova/node_modules/once/once.js | 21 + .../cordova/node_modules/once/package.json | 89 + .../cordova/node_modules/os-homedir/index.js | 24 + .../cordova/node_modules/os-homedir/license | 21 + .../node_modules/os-homedir/package.json | 96 + .../cordova/node_modules/os-homedir/readme.md | 33 + .../cordova/node_modules/os-tmpdir/index.js | 25 + .../cordova/node_modules/os-tmpdir/license | 21 + .../node_modules/os-tmpdir/package.json | 96 + .../cordova/node_modules/os-tmpdir/readme.md | 36 + .../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 | 101 + .../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 | 97 + .../node_modules/path-is-absolute/readme.md | 51 + .../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 | 117 + .../properties-parser/README.markdown | 48 + .../node_modules/properties-parser/index.js | 354 + .../properties-parser/package.json | 73 + .../properties-parser/play-ground.js | 17 + .../test/ReadProperties.class | Bin 0 -> 2613 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 | 786 + .../android/cordova/node_modules/q/LICENSE | 18 + .../android/cordova/node_modules/q/README.md | 881 ++ .../cordova/node_modules/q/package.json | 146 + platforms/android/cordova/node_modules/q/q.js | 2048 +++ .../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 | 114 + .../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/.npmignore | 4 + .../cordova/node_modules/semver/.travis.yml | 5 + .../cordova/node_modules/semver/LICENSE | 15 + .../cordova/node_modules/semver/README.md | 327 + .../cordova/node_modules/semver/bin/semver | 133 + .../cordova/node_modules/semver/package.json | 77 + .../cordova/node_modules/semver/range.bnf | 16 + .../cordova/node_modules/semver/semver.js | 1188 ++ .../node_modules/semver/test/big-numbers.js | 31 + .../cordova/node_modules/semver/test/clean.js | 29 + .../cordova/node_modules/semver/test/gtr.js | 173 + .../cordova/node_modules/semver/test/index.js | 698 + .../cordova/node_modules/semver/test/ltr.js | 181 + .../semver/test/major-minor-patch.js | 72 + .../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 | 89 + .../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 | 96 + .../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 | 95 + .../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 | 81 + .../cordova/node_modules/wrappy/LICENSE | 15 + .../cordova/node_modules/wrappy/README.md | 36 + .../cordova/node_modules/wrappy/package.json | 78 + .../cordova/node_modules/wrappy/test/basic.js | 51 + .../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 | 89 + .../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 | 249 + .../cordova/node_modules/xmldom/dom.js | 1147 ++ .../cordova/node_modules/xmldom/package.json | 127 + .../cordova/node_modules/xmldom/readme.md | 219 + .../cordova/node_modules/xmldom/sax.js | 586 + platforms/android/cordova/run | 51 + platforms/android/cordova/run.bat | 26 + platforms/android/cordova/version | 29 + platforms/android/cordova/version.bat | 26 + platforms/android/libs/barcodescanner.aar | Bin 0 -> 988915 bytes .../SnipeITMobile-barcodescanner.gradle | 20 + .../android/nativeapiprovider.js | 36 + .../android/promptbasednativeapi.js | 35 + .../platform_www/cordova-js-src/exec.js | 283 + .../platform_www/cordova-js-src/platform.js | 125 + .../cordova-js-src/plugin/android/app.js | 108 + platforms/android/platform_www/cordova.js | 2167 +++ .../android/platform_www/cordova_plugins.js | 19 + .../www/barcodescanner.js | 129 + platforms/android/project.properties | 15 + platforms/android/res/drawable-hdpi/icon.png | Bin 0 -> 6080 bytes .../android/res/drawable-land-hdpi/screen.png | Bin 0 -> 218302 bytes .../android/res/drawable-land-ldpi/screen.png | Bin 0 -> 42616 bytes .../android/res/drawable-land-mdpi/screen.png | Bin 0 -> 92347 bytes .../res/drawable-land-xhdpi/screen.png | Bin 0 -> 489604 bytes platforms/android/res/drawable-ldpi/icon.png | Bin 0 -> 3096 bytes platforms/android/res/drawable-mdpi/icon.png | Bin 0 -> 4090 bytes .../android/res/drawable-port-hdpi/screen.png | Bin 0 -> 222148 bytes .../android/res/drawable-port-ldpi/screen.png | Bin 0 -> 42034 bytes .../android/res/drawable-port-mdpi/screen.png | Bin 0 -> 90555 bytes .../res/drawable-port-xhdpi/screen.png | Bin 0 -> 504508 bytes platforms/android/res/drawable-xhdpi/icon.png | Bin 0 -> 7685 bytes platforms/android/res/values/strings.xml | 6 + platforms/android/res/xml/config.xml | 27 + platforms/android/settings.gradle | 3 + .../netsyms/SnipeITMobile/MainActivity.java | 34 + .../barcodescanner/BarcodeScanner.java | 305 + .../org/apache/cordova/PermissionHelper.java | 138 + .../cordova/whitelist/WhitelistPlugin.java | 161 + platforms/browser/browser.json | 53 + platforms/browser/config.xml | 21 + platforms/browser/cordova/build | 34 + platforms/browser/cordova/build.bat | 26 + platforms/browser/cordova/clean | 37 + platforms/browser/cordova/defaults.xml | 22 + platforms/browser/cordova/lib/build.js | 65 + platforms/browser/cordova/lib/check_reqs.js | 28 + platforms/browser/cordova/lib/clean.js | 46 + .../cordova/node_modules/adm-zip/README.md | 64 + .../cordova/node_modules/adm-zip/adm-zip.js | 475 + .../adm-zip/headers/entryHeader.js | 261 + .../node_modules/adm-zip/headers/index.js | 2 + .../adm-zip/headers/mainHeader.js | 80 + .../node_modules/adm-zip/methods/deflater.js | 1578 ++ .../node_modules/adm-zip/methods/index.js | 2 + .../node_modules/adm-zip/methods/inflater.js | 448 + .../cordova/node_modules/adm-zip/package.json | 66 + .../node_modules/adm-zip/util/constants.js | 115 + .../node_modules/adm-zip/util/errors.js | 35 + .../node_modules/adm-zip/util/fattr.js | 84 + .../node_modules/adm-zip/util/index.js | 4 + .../node_modules/adm-zip/util/utils.js | 199 + .../cordova/node_modules/adm-zip/zipEntry.js | 284 + .../cordova/node_modules/adm-zip/zipFile.js | 311 + .../node_modules/cordova-serve/.jshintrc | 11 + .../node_modules/cordova-serve/README.md | 80 + .../cordova-serve/RELEASENOTES.md | 33 + .../cordova-serve/node_modules/chalk/index.js | 116 + .../cordova-serve/node_modules/chalk/license | 21 + .../chalk/node_modules/ansi-styles/index.js | 131 + .../chalk/node_modules/ansi-styles/license | 21 + .../node_modules/color-convert/CHANGELOG.md | 54 + .../node_modules/color-convert/LICENSE | 21 + .../node_modules/color-convert/README.md | 62 + .../node_modules/color-convert/conversions.js | 594 + .../color-convert/css-keywords.js | 151 + .../node_modules/color-convert/index.js | 75 + .../node_modules/color-convert/package.json | 84 + .../node_modules/color-convert/route.js | 98 + .../node_modules/ansi-styles/package.json | 88 + .../chalk/node_modules/ansi-styles/readme.md | 114 + .../escape-string-regexp/index.js | 11 + .../node_modules/escape-string-regexp/license | 21 + .../escape-string-regexp/package.json | 75 + .../escape-string-regexp/readme.md | 27 + .../chalk/node_modules/has-ansi/index.js | 4 + .../chalk/node_modules/has-ansi/license | 21 + .../has-ansi/node_modules/ansi-regex/index.js | 4 + .../has-ansi/node_modules/ansi-regex/license | 21 + .../node_modules/ansi-regex/package.json | 86 + .../node_modules/ansi-regex/readme.md | 31 + .../chalk/node_modules/has-ansi/package.json | 85 + .../chalk/node_modules/has-ansi/readme.md | 36 + .../chalk/node_modules/strip-ansi/index.js | 6 + .../chalk/node_modules/strip-ansi/license | 21 + .../node_modules/ansi-regex/index.js | 4 + .../node_modules/ansi-regex/license | 21 + .../node_modules/ansi-regex/package.json | 86 + .../node_modules/ansi-regex/readme.md | 31 + .../node_modules/strip-ansi/package.json | 90 + .../chalk/node_modules/strip-ansi/readme.md | 33 + .../node_modules/supports-color/index.js | 50 + .../chalk/node_modules/supports-color/license | 21 + .../node_modules/supports-color/package.json | 79 + .../node_modules/supports-color/readme.md | 36 + .../node_modules/chalk/package.json | 103 + .../node_modules/chalk/readme.md | 213 + .../node_modules/compression/HISTORY.md | 238 + .../node_modules/compression/LICENSE | 23 + .../node_modules/compression/README.md | 233 + .../node_modules/compression/index.js | 275 + .../node_modules/accepts/HISTORY.md | 193 + .../compression/node_modules/accepts/LICENSE | 23 + .../node_modules/accepts/README.md | 135 + .../compression/node_modules/accepts/index.js | 231 + .../node_modules/mime-types/HISTORY.md | 191 + .../accepts/node_modules/mime-types/LICENSE | 23 + .../accepts/node_modules/mime-types/README.md | 103 + .../accepts/node_modules/mime-types/index.js | 188 + .../node_modules/mime-db/HISTORY.md | 320 + .../mime-types/node_modules/mime-db/LICENSE | 22 + .../mime-types/node_modules/mime-db/README.md | 82 + .../mime-types/node_modules/mime-db/db.json | 6575 ++++++++ .../mime-types/node_modules/mime-db/index.js | 11 + .../node_modules/mime-db/package.json | 99 + .../node_modules/mime-types/package.json | 89 + .../node_modules/negotiator/HISTORY.md | 90 + .../accepts/node_modules/negotiator/LICENSE | 24 + .../accepts/node_modules/negotiator/README.md | 203 + .../accepts/node_modules/negotiator/index.js | 124 + .../node_modules/negotiator/lib/charset.js | 169 + .../node_modules/negotiator/lib/encoding.js | 184 + .../node_modules/negotiator/lib/language.js | 179 + .../node_modules/negotiator/lib/mediaType.js | 294 + .../node_modules/negotiator/package.json | 86 + .../node_modules/accepts/package.json | 98 + .../compression/node_modules/bytes/History.md | 57 + .../compression/node_modules/bytes/LICENSE | 23 + .../compression/node_modules/bytes/Readme.md | 99 + .../compression/node_modules/bytes/index.js | 141 + .../node_modules/bytes/package.json | 81 + .../node_modules/compressible/HISTORY.md | 51 + .../node_modules/compressible/LICENSE | 24 + .../node_modules/compressible/README.md | 46 + .../node_modules/compressible/index.js | 58 + .../node_modules/mime-db/HISTORY.md | 320 + .../compressible/node_modules/mime-db/LICENSE | 22 + .../node_modules/mime-db/README.md | 82 + .../compressible/node_modules/mime-db/db.json | 6575 ++++++++ .../node_modules/mime-db/index.js | 11 + .../node_modules/mime-db/package.json | 99 + .../node_modules/compressible/package.json | 103 + .../compression/node_modules/debug/.jshintrc | 3 + .../compression/node_modules/debug/.npmignore | 6 + .../compression/node_modules/debug/History.md | 195 + .../compression/node_modules/debug/Makefile | 36 + .../compression/node_modules/debug/Readme.md | 188 + .../compression/node_modules/debug/bower.json | 28 + .../compression/node_modules/debug/browser.js | 168 + .../node_modules/debug/component.json | 19 + .../compression/node_modules/debug/debug.js | 197 + .../compression/node_modules/debug/node.js | 209 + .../debug/node_modules/ms/.npmignore | 5 + .../debug/node_modules/ms/History.md | 66 + .../debug/node_modules/ms/LICENSE | 20 + .../debug/node_modules/ms/README.md | 35 + .../debug/node_modules/ms/index.js | 125 + .../debug/node_modules/ms/package.json | 48 + .../node_modules/debug/package.json | 73 + .../node_modules/on-headers/HISTORY.md | 16 + .../node_modules/on-headers/LICENSE | 22 + .../node_modules/on-headers/README.md | 76 + .../node_modules/on-headers/index.js | 93 + .../node_modules/on-headers/package.json | 70 + .../compression/node_modules/vary/HISTORY.md | 29 + .../compression/node_modules/vary/LICENSE | 22 + .../compression/node_modules/vary/README.md | 91 + .../compression/node_modules/vary/index.js | 124 + .../node_modules/vary/package.json | 72 + .../node_modules/compression/package.json | 97 + .../node_modules/express/History.md | 3062 ++++ .../node_modules/express/LICENSE | 24 + .../node_modules/express/Readme.md | 138 + .../node_modules/express/index.js | 11 + .../node_modules/express/lib/application.js | 643 + .../node_modules/express/lib/express.js | 103 + .../express/lib/middleware/init.js | 36 + .../express/lib/middleware/query.js | 51 + .../node_modules/express/lib/request.js | 489 + .../node_modules/express/lib/response.js | 1053 ++ .../node_modules/express/lib/router/index.js | 645 + .../node_modules/express/lib/router/layer.js | 176 + .../node_modules/express/lib/router/route.js | 210 + .../node_modules/express/lib/utils.js | 300 + .../node_modules/express/lib/view.js | 173 + .../express/node_modules/accepts/HISTORY.md | 170 + .../express/node_modules/accepts/LICENSE | 23 + .../express/node_modules/accepts/README.md | 135 + .../express/node_modules/accepts/index.js | 231 + .../node_modules/mime-types/HISTORY.md | 191 + .../accepts/node_modules/mime-types/LICENSE | 23 + .../accepts/node_modules/mime-types/README.md | 103 + .../accepts/node_modules/mime-types/index.js | 188 + .../node_modules/mime-db/HISTORY.md | 320 + .../mime-types/node_modules/mime-db/LICENSE | 22 + .../mime-types/node_modules/mime-db/README.md | 82 + .../mime-types/node_modules/mime-db/db.json | 6575 ++++++++ .../mime-types/node_modules/mime-db/index.js | 11 + .../node_modules/mime-db/package.json | 99 + .../node_modules/mime-types/package.json | 89 + .../node_modules/negotiator/HISTORY.md | 76 + .../accepts/node_modules/negotiator/LICENSE | 24 + .../accepts/node_modules/negotiator/README.md | 203 + .../accepts/node_modules/negotiator/index.js | 62 + .../node_modules/negotiator/lib/charset.js | 102 + .../node_modules/negotiator/lib/encoding.js | 118 + .../node_modules/negotiator/lib/language.js | 112 + .../node_modules/negotiator/lib/mediaType.js | 179 + .../node_modules/negotiator/package.json | 86 + .../express/node_modules/accepts/package.json | 98 + .../node_modules/array-flatten/LICENSE | 21 + .../node_modules/array-flatten/README.md | 43 + .../array-flatten/array-flatten.js | 64 + .../node_modules/array-flatten/package.json | 62 + .../content-disposition/HISTORY.md | 45 + .../node_modules/content-disposition/LICENSE | 22 + .../content-disposition/README.md | 141 + .../node_modules/content-disposition/index.js | 445 + .../content-disposition/package.json | 66 + .../node_modules/content-type/HISTORY.md | 9 + .../express/node_modules/content-type/LICENSE | 22 + .../node_modules/content-type/README.md | 92 + .../node_modules/content-type/index.js | 214 + .../node_modules/content-type/package.json | 65 + .../node_modules/cookie-signature/.npmignore | 4 + .../node_modules/cookie-signature/History.md | 38 + .../node_modules/cookie-signature/Readme.md | 42 + .../node_modules/cookie-signature/index.js | 51 + .../cookie-signature/package.json | 59 + .../express/node_modules/cookie/HISTORY.md | 72 + .../express/node_modules/cookie/LICENSE | 24 + .../express/node_modules/cookie/README.md | 64 + .../express/node_modules/cookie/index.js | 156 + .../express/node_modules/cookie/package.json | 76 + .../express/node_modules/debug/.jshintrc | 3 + .../express/node_modules/debug/.npmignore | 6 + .../express/node_modules/debug/History.md | 195 + .../express/node_modules/debug/Makefile | 36 + .../express/node_modules/debug/Readme.md | 188 + .../express/node_modules/debug/bower.json | 28 + .../express/node_modules/debug/browser.js | 168 + .../express/node_modules/debug/component.json | 19 + .../express/node_modules/debug/debug.js | 197 + .../express/node_modules/debug/node.js | 209 + .../debug/node_modules/ms/.npmignore | 5 + .../debug/node_modules/ms/History.md | 66 + .../debug/node_modules/ms/LICENSE | 20 + .../debug/node_modules/ms/README.md | 35 + .../debug/node_modules/ms/index.js | 125 + .../debug/node_modules/ms/package.json | 48 + .../express/node_modules/debug/package.json | 73 + .../express/node_modules/depd/History.md | 84 + .../express/node_modules/depd/LICENSE | 22 + .../express/node_modules/depd/Readme.md | 281 + .../express/node_modules/depd/index.js | 521 + .../node_modules/depd/lib/browser/index.js | 79 + .../depd/lib/compat/buffer-concat.js | 35 + .../depd/lib/compat/callsite-tostring.js | 103 + .../depd/lib/compat/event-listener-count.js | 22 + .../node_modules/depd/lib/compat/index.js | 84 + .../express/node_modules/depd/package.json | 67 + .../express/node_modules/escape-html/LICENSE | 24 + .../node_modules/escape-html/Readme.md | 43 + .../express/node_modules/escape-html/index.js | 78 + .../node_modules/escape-html/package.json | 57 + .../express/node_modules/etag/HISTORY.md | 71 + .../express/node_modules/etag/LICENSE | 22 + .../express/node_modules/etag/README.md | 165 + .../express/node_modules/etag/index.js | 132 + .../express/node_modules/etag/package.json | 73 + .../node_modules/finalhandler/HISTORY.md | 98 + .../express/node_modules/finalhandler/LICENSE | 22 + .../node_modules/finalhandler/README.md | 133 + .../node_modules/finalhandler/index.js | 151 + .../node_modules/unpipe/HISTORY.md | 4 + .../finalhandler/node_modules/unpipe/LICENSE | 22 + .../node_modules/unpipe/README.md | 43 + .../finalhandler/node_modules/unpipe/index.js | 69 + .../node_modules/unpipe/package.json | 59 + .../node_modules/finalhandler/package.json | 81 + .../express/node_modules/fresh/HISTORY.md | 38 + .../express/node_modules/fresh/LICENSE | 22 + .../express/node_modules/fresh/README.md | 58 + .../express/node_modules/fresh/index.js | 57 + .../express/node_modules/fresh/package.json | 87 + .../node_modules/merge-descriptors/HISTORY.md | 21 + .../node_modules/merge-descriptors/LICENSE | 23 + .../node_modules/merge-descriptors/README.md | 48 + .../node_modules/merge-descriptors/index.js | 60 + .../merge-descriptors/package.json | 138 + .../express/node_modules/methods/HISTORY.md | 29 + .../express/node_modules/methods/LICENSE | 24 + .../express/node_modules/methods/README.md | 51 + .../express/node_modules/methods/index.js | 69 + .../express/node_modules/methods/package.json | 88 + .../node_modules/on-finished/HISTORY.md | 88 + .../express/node_modules/on-finished/LICENSE | 23 + .../node_modules/on-finished/README.md | 154 + .../express/node_modules/on-finished/index.js | 196 + .../on-finished/node_modules/ee-first/LICENSE | 22 + .../node_modules/ee-first/README.md | 80 + .../node_modules/ee-first/index.js | 95 + .../node_modules/ee-first/package.json | 64 + .../node_modules/on-finished/package.json | 71 + .../express/node_modules/parseurl/HISTORY.md | 47 + .../express/node_modules/parseurl/LICENSE | 24 + .../express/node_modules/parseurl/README.md | 120 + .../express/node_modules/parseurl/index.js | 138 + .../node_modules/parseurl/package.json | 89 + .../node_modules/path-to-regexp/History.md | 36 + .../node_modules/path-to-regexp/LICENSE | 21 + .../node_modules/path-to-regexp/Readme.md | 35 + .../node_modules/path-to-regexp/index.js | 129 + .../node_modules/path-to-regexp/package.json | 185 + .../node_modules/proxy-addr/HISTORY.md | 80 + .../express/node_modules/proxy-addr/LICENSE | 22 + .../express/node_modules/proxy-addr/README.md | 137 + .../express/node_modules/proxy-addr/index.js | 347 + .../node_modules/forwarded/HISTORY.md | 4 + .../proxy-addr/node_modules/forwarded/LICENSE | 22 + .../node_modules/forwarded/README.md | 53 + .../node_modules/forwarded/index.js | 35 + .../node_modules/forwarded/package.json | 65 + .../node_modules/ipaddr.js/.npmignore | 2 + .../node_modules/ipaddr.js/.travis.yml | 10 + .../node_modules/ipaddr.js/Cakefile | 18 + .../proxy-addr/node_modules/ipaddr.js/LICENSE | 19 + .../node_modules/ipaddr.js/README.md | 161 + .../node_modules/ipaddr.js/bower.json | 29 + .../node_modules/ipaddr.js/ipaddr.min.js | 1 + .../node_modules/ipaddr.js/lib/ipaddr.js | 467 + .../node_modules/ipaddr.js/package.json | 60 + .../node_modules/ipaddr.js/src/ipaddr.coffee | 396 + .../ipaddr.js/test/ipaddr.test.coffee | 282 + .../node_modules/proxy-addr/package.json | 90 + .../express/node_modules/qs/.eslintignore | 1 + .../express/node_modules/qs/.npmignore | 19 + .../express/node_modules/qs/.travis.yml | 6 + .../express/node_modules/qs/CHANGELOG.md | 88 + .../express/node_modules/qs/CONTRIBUTING.md | 1 + .../express/node_modules/qs/LICENSE | 28 + .../express/node_modules/qs/README.md | 317 + .../express/node_modules/qs/bower.json | 22 + .../express/node_modules/qs/lib/index.js | 15 + .../express/node_modules/qs/lib/parse.js | 186 + .../express/node_modules/qs/lib/stringify.js | 121 + .../express/node_modules/qs/lib/utils.js | 190 + .../express/node_modules/qs/package.json | 57 + .../express/node_modules/qs/test/parse.js | 478 + .../express/node_modules/qs/test/stringify.js | 259 + .../express/node_modules/qs/test/utils.js | 28 + .../node_modules/range-parser/HISTORY.md | 40 + .../express/node_modules/range-parser/LICENSE | 22 + .../node_modules/range-parser/README.md | 57 + .../node_modules/range-parser/index.js | 63 + .../node_modules/range-parser/package.json | 75 + .../express/node_modules/send/HISTORY.md | 310 + .../express/node_modules/send/LICENSE | 23 + .../express/node_modules/send/README.md | 195 + .../express/node_modules/send/index.js | 820 + .../send/node_modules/destroy/LICENSE | 22 + .../send/node_modules/destroy/README.md | 60 + .../send/node_modules/destroy/index.js | 75 + .../send/node_modules/destroy/package.json | 72 + .../send/node_modules/http-errors/HISTORY.md | 76 + .../send/node_modules/http-errors/LICENSE | 22 + .../send/node_modules/http-errors/README.md | 63 + .../send/node_modules/http-errors/index.js | 120 + .../http-errors/node_modules/inherits/LICENSE | 16 + .../node_modules/inherits/README.md | 42 + .../node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../node_modules/inherits/package.json | 50 + .../http-errors/node_modules/inherits/test.js | 25 + .../node_modules/http-errors/package.json | 85 + .../send/node_modules/mime/.npmignore | 0 .../send/node_modules/mime/LICENSE | 19 + .../send/node_modules/mime/README.md | 90 + .../send/node_modules/mime/build/build.js | 11 + .../send/node_modules/mime/build/test.js | 57 + .../send/node_modules/mime/cli.js | 8 + .../send/node_modules/mime/mime.js | 108 + .../send/node_modules/mime/package.json | 73 + .../send/node_modules/mime/types.json | 1 + .../send/node_modules/ms/.npmignore | 5 + .../send/node_modules/ms/History.md | 66 + .../node_modules/send/node_modules/ms/LICENSE | 20 + .../send/node_modules/ms/README.md | 35 + .../send/node_modules/ms/index.js | 125 + .../send/node_modules/ms/package.json | 48 + .../send/node_modules/statuses/LICENSE | 22 + .../send/node_modules/statuses/README.md | 114 + .../send/node_modules/statuses/codes.json | 64 + .../send/node_modules/statuses/index.js | 60 + .../send/node_modules/statuses/package.json | 84 + .../express/node_modules/send/package.json | 89 + .../node_modules/serve-static/HISTORY.md | 303 + .../express/node_modules/serve-static/LICENSE | 25 + .../node_modules/serve-static/README.md | 236 + .../node_modules/serve-static/index.js | 187 + .../node_modules/serve-static/package.json | 83 + .../express/node_modules/type-is/HISTORY.md | 200 + .../express/node_modules/type-is/LICENSE | 23 + .../express/node_modules/type-is/README.md | 136 + .../express/node_modules/type-is/index.js | 262 + .../node_modules/media-typer/HISTORY.md | 22 + .../type-is/node_modules/media-typer/LICENSE | 22 + .../node_modules/media-typer/README.md | 81 + .../type-is/node_modules/media-typer/index.js | 270 + .../node_modules/media-typer/package.json | 58 + .../node_modules/mime-types/HISTORY.md | 191 + .../type-is/node_modules/mime-types/LICENSE | 23 + .../type-is/node_modules/mime-types/README.md | 103 + .../type-is/node_modules/mime-types/index.js | 188 + .../node_modules/mime-db/HISTORY.md | 320 + .../mime-types/node_modules/mime-db/LICENSE | 22 + .../mime-types/node_modules/mime-db/README.md | 82 + .../mime-types/node_modules/mime-db/db.json | 6575 ++++++++ .../mime-types/node_modules/mime-db/index.js | 11 + .../node_modules/mime-db/package.json | 99 + .../node_modules/mime-types/package.json | 89 + .../express/node_modules/type-is/package.json | 81 + .../node_modules/utils-merge/.travis.yml | 6 + .../express/node_modules/utils-merge/LICENSE | 20 + .../node_modules/utils-merge/README.md | 34 + .../express/node_modules/utils-merge/index.js | 23 + .../node_modules/utils-merge/package.json | 60 + .../express/node_modules/vary/HISTORY.md | 23 + .../express/node_modules/vary/LICENSE | 22 + .../express/node_modules/vary/README.md | 91 + .../express/node_modules/vary/index.js | 117 + .../express/node_modules/vary/package.json | 72 + .../node_modules/express/package.json | 143 + .../node_modules/cordova-serve/package.json | 65 + .../node_modules/cordova-serve/serve.js | 57 + .../node_modules/cordova-serve/src/browser.js | 110 + .../node_modules/cordova-serve/src/exec.js | 46 + .../cordova-serve/src/platform.js | 62 + .../node_modules/cordova-serve/src/server.js | 75 + .../node_modules/cordova-serve/src/util.js | 104 + .../cordova/node_modules/nopt/.npmignore | 1 + .../cordova/node_modules/nopt/.travis.yml | 9 + .../browser/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 + .../nopt/node_modules/abbrev/.npmignore | 4 + .../nopt/node_modules/abbrev/.travis.yml | 5 + .../nopt/node_modules/abbrev/CONTRIBUTING.md | 3 + .../nopt/node_modules/abbrev/LICENSE | 15 + .../nopt/node_modules/abbrev/README.md | 23 + .../nopt/node_modules/abbrev/abbrev.js | 62 + .../nopt/node_modules/abbrev/package.json | 48 + .../nopt/node_modules/abbrev/test.js | 47 + .../cordova/node_modules/nopt/package.json | 63 + .../cordova/node_modules/nopt/test/basic.js | 273 + .../browser/cordova/node_modules/q/CHANGES.md | 786 + .../browser/cordova/node_modules/q/LICENSE | 18 + .../browser/cordova/node_modules/q/README.md | 881 ++ .../cordova/node_modules/q/package.json | 120 + platforms/browser/cordova/node_modules/q/q.js | 2048 +++ .../browser/cordova/node_modules/q/queue.js | 35 + .../cordova/node_modules/shelljs/.idea/.name | 1 + .../node_modules/shelljs/.idea/encodings.xml | 6 + .../inspectionProfiles/Project_Default.xml | 7 + .../inspectionProfiles/profiles_settings.xml | 7 + .../shelljs/.idea/jsLibraryMappings.xml | 6 + .../.idea/libraries/shelljs_node_modules.xml | 14 + .../node_modules/shelljs/.idea/misc.xml | 28 + .../node_modules/shelljs/.idea/modules.xml | 8 + .../node_modules/shelljs/.idea/shelljs.iml | 9 + .../node_modules/shelljs/.idea/vcs.xml | 6 + .../node_modules/shelljs/.idea/workspace.xml | 764 + .../cordova/node_modules/shelljs/.npmignore | 9 + .../cordova/node_modules/shelljs/LICENSE | 26 + .../cordova/node_modules/shelljs/MAINTAINERS | 3 + .../cordova/node_modules/shelljs/README.md | 658 + .../cordova/node_modules/shelljs/bin/shjs | 55 + .../node_modules/shelljs/build/output.js | 2411 +++ .../cordova/node_modules/shelljs/global.js | 3 + .../cordova/node_modules/shelljs/make.js | 57 + .../cordova/node_modules/shelljs/package.json | 88 + .../shelljs/scripts/generate-docs.js | 26 + .../node_modules/shelljs/scripts/run-tests.js | 55 + .../cordova/node_modules/shelljs/shell.js | 184 + .../cordova/node_modules/shelljs/src/cat.js | 40 + .../cordova/node_modules/shelljs/src/cd.js | 28 + .../cordova/node_modules/shelljs/src/chmod.js | 215 + .../node_modules/shelljs/src/common.js | 257 + .../cordova/node_modules/shelljs/src/cp.js | 210 + .../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 | 249 + .../cordova/node_modules/shelljs/src/find.js | 51 + .../cordova/node_modules/shelljs/src/grep.js | 52 + .../cordova/node_modules/shelljs/src/ln.js | 69 + .../cordova/node_modules/shelljs/src/ls.js | 168 + .../cordova/node_modules/shelljs/src/mkdir.js | 68 + .../cordova/node_modules/shelljs/src/mv.js | 82 + .../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 | 64 + .../cordova/node_modules/shelljs/src/set.js | 49 + .../node_modules/shelljs/src/tempdir.js | 57 + .../cordova/node_modules/shelljs/src/test.js | 85 + .../cordova/node_modules/shelljs/src/to.js | 30 + .../cordova/node_modules/shelljs/src/toEnd.js | 30 + .../cordova/node_modules/shelljs/src/touch.js | 109 + .../cordova/node_modules/shelljs/src/which.js | 98 + platforms/browser/cordova/run | 70 + platforms/browser/cordova/run.bat | 26 + platforms/browser/cordova/version | 25 + platforms/browser/cordova/version.bat | 26 + platforms/browser/css/index.css | 115 + platforms/browser/img/logo.png | Bin 0 -> 21814 bytes platforms/browser/index.html | 43 + platforms/browser/js/index.js | 49 + platforms/browser/manifest.webapp | 10 + .../browser/platform_www/confighelper.js | 95 + .../cordova-js-src/confighelper.js | 95 + .../platform_www/cordova-js-src/exec.js | 114 + .../platform_www/cordova-js-src/platform.js | 48 + platforms/browser/platform_www/cordova.js | 1863 +++ .../browser/platform_www/cordova_plugins.js | 26 + platforms/browser/platform_www/exec.js | 114 + platforms/browser/platform_www/platform.js | 48 + .../src/browser/BarcodeScannerProxy.js | 25 + .../www/barcodescanner.js | 128 + .../browser/res/icon/android/icon-36-ldpi.png | Bin 0 -> 3096 bytes .../browser/res/icon/android/icon-48-mdpi.png | Bin 0 -> 4090 bytes .../browser/res/icon/android/icon-72-hdpi.png | Bin 0 -> 6080 bytes .../res/icon/android/icon-96-xhdpi.png | Bin 0 -> 7685 bytes .../res/icon/bada-wac/icon-48-type5.png | Bin 0 -> 4111 bytes .../res/icon/bada-wac/icon-50-type3.png | Bin 0 -> 5758 bytes .../res/icon/bada-wac/icon-80-type4.png | Bin 0 -> 7287 bytes platforms/browser/res/icon/bada/icon-128.png | Bin 0 -> 11401 bytes .../browser/res/icon/blackberry/icon-80.png | Bin 0 -> 7287 bytes .../browser/res/icon/blackberry10/icon-80.png | Bin 0 -> 7287 bytes platforms/browser/res/icon/ios/icon-57-2x.png | Bin 0 -> 7869 bytes platforms/browser/res/icon/ios/icon-57.png | Bin 0 -> 3908 bytes platforms/browser/res/icon/ios/icon-72-2x.png | Bin 0 -> 11706 bytes platforms/browser/res/icon/ios/icon-72.png | Bin 0 -> 4944 bytes platforms/browser/res/icon/tizen/icon-128.png | Bin 0 -> 11401 bytes platforms/browser/res/icon/webos/icon-64.png | Bin 0 -> 5463 bytes .../res/icon/windows-phone/icon-173-tile.png | Bin 0 -> 22878 bytes .../res/icon/windows-phone/icon-48.png | Bin 0 -> 4111 bytes .../res/icon/windows-phone/icon-62-tile.png | Bin 0 -> 7324 bytes platforms/browser/www/config.xml | 21 + platforms/browser/www/config/api.json | 4 + platforms/browser/www/config/merchant.json | 5 + platforms/browser/www/confighelper.js | 95 + .../www/cordova-js-src/confighelper.js | 95 + platforms/browser/www/cordova-js-src/exec.js | 114 + .../browser/www/cordova-js-src/platform.js | 48 + platforms/browser/www/cordova.js | 1863 +++ platforms/browser/www/cordova_plugins.js | 26 + platforms/browser/www/css/bootstrap.css | 6760 +++++++++ platforms/browser/www/css/bootstrap.min.css | 6 + platforms/browser/www/css/font-awesome.css | 2086 +++ .../browser/www/css/font-awesome.min.css | 4 + platforms/browser/www/css/main.css | 17 + platforms/browser/www/exec.js | 114 + platforms/browser/www/fonts/FontAwesome.otf | Bin 0 -> 109688 bytes .../browser/www/fonts/fontawesome-webfont.eot | Bin 0 -> 70807 bytes .../browser/www/fonts/fontawesome-webfont.svg | 655 + .../browser/www/fonts/fontawesome-webfont.ttf | Bin 0 -> 142072 bytes .../www/fonts/fontawesome-webfont.woff | Bin 0 -> 83588 bytes .../www/fonts/fontawesome-webfont.woff2 | Bin 0 -> 66624 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes platforms/browser/www/index.html | 35 + platforms/browser/www/js/bootstrap.js | 2363 +++ platforms/browser/www/js/bootstrap.min.js | 7 + platforms/browser/www/js/jquery.js | 4 + platforms/browser/www/js/main.js | 176 + platforms/browser/www/platform.js | 48 + .../src/browser/BarcodeScannerProxy.js | 25 + .../www/barcodescanner.js | 128 + platforms/browser/www/screens/home.html | 25 + platforms/browser/www/screens/login.html | 40 + platforms/browser/www/screens/pay.html | 18 + .../browser/www/screens/paymentsent.html | 13 + platforms/browser/www/screens/peerpay.html | 20 + platforms/browser/www/screens/peersent.html | 13 + platforms/browser/www/screens/signup.html | 42 + platforms/platforms.json | 4 + platforms/ubuntu/apparmor.json | 1 + platforms/ubuntu/build/CMakeLists.txt | 127 + platforms/ubuntu/build/CONTRIBUTING.md | 37 + .../CordovaUbuntu/CordovaViewInternal.qml | 189 + .../build/CordovaUbuntu/ItemSelector.qml | 67 + .../build/CordovaUbuntu/cordova_wrapper.js | 51 + .../ubuntu/build/CordovaUbuntu/escape.js | 20 + platforms/ubuntu/build/CordovaUbuntu/qmldir | 5 + platforms/ubuntu/build/LICENSE | 202 + platforms/ubuntu/build/README.md | 35 + platforms/ubuntu/build/RELEASENOTES.md | 167 + platforms/ubuntu/build/VERSION | 1 + platforms/ubuntu/build/bin/check_reqs | 22 + platforms/ubuntu/build/bin/create | 33 + platforms/ubuntu/build/bin/lib/check_reqs.js | 67 + platforms/ubuntu/build/bin/lib/create.js | 64 + platforms/ubuntu/build/bin/lib/update.js | 68 + .../build/bin/templates/project/cordova/build | 39 + .../build/bin/templates/project/cordova/clean | 27 + .../templates/project/cordova/defaults.xml | 35 + .../templates/project/cordova/lib/build.js | 428 + .../templates/project/cordova/lib/config.js | 44 + .../project/cordova/lib/config_parser.js | 65 + .../project/cordova/lib/constants.js | 33 + .../templates/project/cordova/lib/device.js | 77 + .../templates/project/cordova/lib/logger.js | 57 + .../templates/project/cordova/lib/manifest.js | 90 + .../bin/templates/project/cordova/lib/run.js | 147 + .../templates/project/cordova/lib/utils.js | 90 + .../build/bin/templates/project/cordova/run | 36 + .../bin/templates/project/cordova/version | 25 + .../bin/templates/project/misc/changelog | 7 + .../build/bin/templates/project/misc/compat | 1 + .../build/bin/templates/project/misc/control | 17 + .../templates/project/misc/cordova.desktop | 7 + .../build/bin/templates/project/misc/install | 3 + .../build/bin/templates/project/misc/rules | 27 + platforms/ubuntu/build/bin/update | 35 + platforms/ubuntu/build/cordova-js-src/exec.js | 85 + .../ubuntu/build/cordova-js-src/platform.js | 33 + platforms/ubuntu/build/default_icon.png | Bin 0 -> 35964 bytes platforms/ubuntu/build/main.cpp | 84 + .../build/node_modules/colors/MIT-LICENSE.txt | 22 + .../build/node_modules/colors/ReadMe.md | 77 + .../build/node_modules/colors/colors.js | 342 + .../build/node_modules/colors/example.html | 76 + .../build/node_modules/colors/example.js | 77 + .../build/node_modules/colors/package.json | 46 + .../ubuntu/build/node_modules/colors/test.js | 70 + .../colors/themes/winston-dark.js | 12 + .../colors/themes/winston-light.js | 12 + .../build/node_modules/elementtree/.npmignore | 1 + .../node_modules/elementtree/.travis.yml | 10 + .../build/node_modules/elementtree/CHANGES.md | 39 + .../node_modules/elementtree/LICENSE.txt | 203 + .../build/node_modules/elementtree/Makefile | 21 + .../build/node_modules/elementtree/NOTICE | 5 + .../build/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 + .../elementtree/node_modules/sax/AUTHORS | 9 + .../elementtree/node_modules/sax/LICENSE | 23 + .../elementtree/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 ++ .../elementtree/node_modules/sax/lib/sax.js | 1006 ++ .../elementtree/node_modules/sax/package.json | 89 + .../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 + .../node_modules/sax/test/cdata.js | 10 + .../node_modules/sax/test/index.js | 86 + .../node_modules/sax/test/issue-23.js | 43 + .../node_modules/sax/test/issue-30.js | 24 + .../node_modules/sax/test/issue-35.js | 15 + .../node_modules/sax/test/issue-47.js | 13 + .../node_modules/sax/test/issue-49.js | 31 + .../node_modules/sax/test/parser-position.js | 28 + .../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 + .../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 + .../node_modules/elementtree/package.json | 75 + .../elementtree/tests/data/xml1.xml | 17 + .../elementtree/tests/data/xml2.xml | 14 + .../elementtree/tests/test-simple.js | 339 + .../build/node_modules/optimist/.travis.yml | 4 + .../build/node_modules/optimist/LICENSE | 21 + .../node_modules/optimist/example/bool.js | 10 + .../optimist/example/boolean_double.js | 7 + .../optimist/example/boolean_single.js | 7 + .../optimist/example/default_hash.js | 8 + .../optimist/example/default_singles.js | 7 + .../node_modules/optimist/example/divide.js | 8 + .../optimist/example/line_count.js | 20 + .../optimist/example/line_count_options.js | 29 + .../optimist/example/line_count_wrap.js | 29 + .../node_modules/optimist/example/nonopt.js | 4 + .../node_modules/optimist/example/reflect.js | 2 + .../node_modules/optimist/example/short.js | 3 + .../node_modules/optimist/example/string.js | 11 + .../optimist/example/usage-options.js | 19 + .../node_modules/optimist/example/xup.js | 10 + .../build/node_modules/optimist/index.js | 343 + .../node_modules/minimist/.travis.yml | 4 + .../optimist/node_modules/minimist/LICENSE | 18 + .../node_modules/minimist/example/parse.js | 2 + .../optimist/node_modules/minimist/index.js | 187 + .../node_modules/minimist/package.json | 67 + .../node_modules/minimist/readme.markdown | 73 + .../node_modules/minimist/test/bool.js | 119 + .../node_modules/minimist/test/dash.js | 24 + .../minimist/test/default_bool.js | 20 + .../node_modules/minimist/test/dotted.js | 22 + .../node_modules/minimist/test/long.js | 31 + .../node_modules/minimist/test/num.js | 36 + .../node_modules/minimist/test/parse.js | 197 + .../minimist/test/parse_modified.js | 9 + .../node_modules/minimist/test/short.js | 67 + .../node_modules/minimist/test/whitespace.js | 8 + .../optimist/node_modules/wordwrap/LICENSE | 18 + .../node_modules/wordwrap/README.markdown | 70 + .../node_modules/wordwrap/example/center.js | 10 + .../node_modules/wordwrap/example/meat.js | 3 + .../optimist/node_modules/wordwrap/index.js | 76 + .../node_modules/wordwrap/package.json | 63 + .../node_modules/wordwrap/test/break.js | 30 + .../node_modules/wordwrap/test/idleness.txt | 63 + .../node_modules/wordwrap/test/wrap.js | 31 + .../build/node_modules/optimist/package.json | 64 + .../node_modules/optimist/readme.markdown | 500 + .../build/node_modules/optimist/test/_.js | 71 + .../node_modules/optimist/test/_/argv.js | 2 + .../build/node_modules/optimist/test/_/bin.js | 3 + .../build/node_modules/optimist/test/dash.js | 31 + .../build/node_modules/optimist/test/parse.js | 446 + .../optimist/test/parse_modified.js | 14 + .../build/node_modules/optimist/test/short.js | 16 + .../build/node_modules/optimist/test/usage.js | 292 + .../node_modules/optimist/test/whitespace.js | 8 + platforms/ubuntu/build/node_modules/q/LICENSE | 18 + .../ubuntu/build/node_modules/q/README.md | 916 ++ .../q/node_modules/asap/CHANGES.md | 64 + .../q/node_modules/asap/LICENSE.md | 21 + .../q/node_modules/asap/README.md | 237 + .../node_modules/q/node_modules/asap/asap.js | 65 + .../q/node_modules/asap/browser-asap.js | 66 + .../q/node_modules/asap/browser-raw.js | 220 + .../q/node_modules/asap/package.json | 85 + .../node_modules/q/node_modules/asap/raw.js | 101 + .../q/node_modules/pop-iterate/.npmignore | 1 + .../q/node_modules/pop-iterate/README.md | 82 + .../pop-iterate/array-iterator.js | 23 + .../q/node_modules/pop-iterate/iteration.js | 18 + .../pop-iterate/object-iterator.js | 20 + .../q/node_modules/pop-iterate/package.json | 55 + .../q/node_modules/pop-iterate/pop-iterate.js | 22 + .../pop-iterate/test/pop-iterate-test.js | 72 + .../q/node_modules/weak-map/README.md | 129 + .../q/node_modules/weak-map/package.json | 61 + .../q/node_modules/weak-map/weak-map.js | 685 + .../ubuntu/build/node_modules/q/package.json | 130 + platforms/ubuntu/build/node_modules/q/q.js | 1802 +++ .../ubuntu/build/node_modules/q/queue.js | 25 + .../node_modules/shelljs/.documentup.json | 6 + .../build/node_modules/shelljs/.jshintrc | 7 + .../build/node_modules/shelljs/.npmignore | 2 + .../build/node_modules/shelljs/.travis.yml | 5 + .../ubuntu/build/node_modules/shelljs/LICENSE | 26 + .../build/node_modules/shelljs/README.md | 552 + .../build/node_modules/shelljs/bin/shjs | 51 + .../build/node_modules/shelljs/global.js | 3 + .../ubuntu/build/node_modules/shelljs/make.js | 47 + .../build/node_modules/shelljs/package.json | 61 + .../shelljs/scripts/generate-docs.js | 21 + .../node_modules/shelljs/scripts/run-tests.js | 50 + .../build/node_modules/shelljs/shell.js | 153 + .../build/node_modules/shelljs/src/cat.js | 43 + .../build/node_modules/shelljs/src/cd.js | 19 + .../build/node_modules/shelljs/src/chmod.js | 208 + .../build/node_modules/shelljs/src/common.js | 189 + .../build/node_modules/shelljs/src/cp.js | 200 + .../build/node_modules/shelljs/src/dirs.js | 191 + .../build/node_modules/shelljs/src/echo.js | 20 + .../build/node_modules/shelljs/src/error.js | 10 + .../build/node_modules/shelljs/src/exec.js | 181 + .../build/node_modules/shelljs/src/find.js | 51 + .../build/node_modules/shelljs/src/grep.js | 52 + .../build/node_modules/shelljs/src/ls.js | 126 + .../build/node_modules/shelljs/src/mkdir.js | 68 + .../build/node_modules/shelljs/src/mv.js | 80 + .../build/node_modules/shelljs/src/popd.js | 1 + .../build/node_modules/shelljs/src/pushd.js | 1 + .../build/node_modules/shelljs/src/pwd.js | 11 + .../build/node_modules/shelljs/src/rm.js | 145 + .../build/node_modules/shelljs/src/sed.js | 43 + .../build/node_modules/shelljs/src/tempdir.js | 56 + .../build/node_modules/shelljs/src/test.js | 85 + .../build/node_modules/shelljs/src/to.js | 29 + .../build/node_modules/shelljs/src/toEnd.js | 29 + .../build/node_modules/shelljs/src/which.js | 79 + platforms/ubuntu/build/package.json | 49 + platforms/ubuntu/build/qml/CordovaView.qml.in | 68 + platforms/ubuntu/build/qml/main.qml.in | 39 + platforms/ubuntu/build/src/cordova.cpp | 165 + platforms/ubuntu/build/src/cordova.h | 84 + platforms/ubuntu/build/src/cordova_config.cpp | 103 + platforms/ubuntu/build/src/cordova_config.hpp | 57 + .../ubuntu/build/src/cordova_whitelist.cpp | 116 + .../ubuntu/build/src/cordova_whitelist.hpp | 49 + platforms/ubuntu/build/src/coreplugins.cpp | 37 + platforms/ubuntu/build/src/coreplugins.h | 20 + platforms/ubuntu/build/src/cplugin.cpp | 150 + platforms/ubuntu/build/src/cplugin.h | 121 + platforms/ubuntu/build/src/plugins/empty | 0 platforms/ubuntu/build/src/qmlplugin.cpp | 24 + platforms/ubuntu/build/src/qmlplugin.h | 135 + platforms/ubuntu/build/tests/CMakeLists.txt | 46 + platforms/ubuntu/build/tests/config.xml | 45 + platforms/ubuntu/build/tests/data/config.xml | 45 + .../ubuntu/build/tests/data/www/index.html | 24 + platforms/ubuntu/build/tests/main.cpp | 104 + platforms/ubuntu/build/tests/www/.touch | 0 platforms/ubuntu/build/www/cordova.js | 1739 +++ platforms/ubuntu/build/xml/config.xml | 46 + platforms/ubuntu/config.xml | 18 + platforms/ubuntu/cordova.desktop | 7 + platforms/ubuntu/cordova/build | 39 + platforms/ubuntu/cordova/check_reqs | 22 + platforms/ubuntu/cordova/clean | 27 + platforms/ubuntu/cordova/defaults.xml | 35 + platforms/ubuntu/cordova/lib/build.js | 428 + platforms/ubuntu/cordova/lib/check_reqs.js | 67 + platforms/ubuntu/cordova/lib/config.js | 44 + platforms/ubuntu/cordova/lib/config_parser.js | 65 + platforms/ubuntu/cordova/lib/constants.js | 33 + platforms/ubuntu/cordova/lib/device.js | 77 + platforms/ubuntu/cordova/lib/logger.js | 57 + platforms/ubuntu/cordova/lib/manifest.js | 90 + platforms/ubuntu/cordova/lib/run.js | 147 + platforms/ubuntu/cordova/lib/utils.js | 90 + .../node_modules/colors/MIT-LICENSE.txt | 22 + .../cordova/node_modules/colors/ReadMe.md | 77 + .../cordova/node_modules/colors/colors.js | 342 + .../cordova/node_modules/colors/example.html | 76 + .../cordova/node_modules/colors/example.js | 77 + .../cordova/node_modules/colors/package.json | 46 + .../cordova/node_modules/colors/test.js | 70 + .../colors/themes/winston-dark.js | 12 + .../colors/themes/winston-light.js | 12 + .../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 + .../elementtree/node_modules/sax/AUTHORS | 9 + .../elementtree/node_modules/sax/LICENSE | 23 + .../elementtree/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 ++ .../elementtree/node_modules/sax/lib/sax.js | 1006 ++ .../elementtree/node_modules/sax/package.json | 89 + .../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 + .../node_modules/sax/test/cdata.js | 10 + .../node_modules/sax/test/index.js | 86 + .../node_modules/sax/test/issue-23.js | 43 + .../node_modules/sax/test/issue-30.js | 24 + .../node_modules/sax/test/issue-35.js | 15 + .../node_modules/sax/test/issue-47.js | 13 + .../node_modules/sax/test/issue-49.js | 31 + .../node_modules/sax/test/parser-position.js | 28 + .../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 + .../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 + .../node_modules/elementtree/package.json | 75 + .../elementtree/tests/data/xml1.xml | 17 + .../elementtree/tests/data/xml2.xml | 14 + .../elementtree/tests/test-simple.js | 339 + .../cordova/node_modules/optimist/.travis.yml | 4 + .../cordova/node_modules/optimist/LICENSE | 21 + .../node_modules/optimist/example/bool.js | 10 + .../optimist/example/boolean_double.js | 7 + .../optimist/example/boolean_single.js | 7 + .../optimist/example/default_hash.js | 8 + .../optimist/example/default_singles.js | 7 + .../node_modules/optimist/example/divide.js | 8 + .../optimist/example/line_count.js | 20 + .../optimist/example/line_count_options.js | 29 + .../optimist/example/line_count_wrap.js | 29 + .../node_modules/optimist/example/nonopt.js | 4 + .../node_modules/optimist/example/reflect.js | 2 + .../node_modules/optimist/example/short.js | 3 + .../node_modules/optimist/example/string.js | 11 + .../optimist/example/usage-options.js | 19 + .../node_modules/optimist/example/xup.js | 10 + .../cordova/node_modules/optimist/index.js | 343 + .../node_modules/minimist/.travis.yml | 4 + .../optimist/node_modules/minimist/LICENSE | 18 + .../node_modules/minimist/example/parse.js | 2 + .../optimist/node_modules/minimist/index.js | 187 + .../node_modules/minimist/package.json | 67 + .../node_modules/minimist/readme.markdown | 73 + .../node_modules/minimist/test/bool.js | 119 + .../node_modules/minimist/test/dash.js | 24 + .../minimist/test/default_bool.js | 20 + .../node_modules/minimist/test/dotted.js | 22 + .../node_modules/minimist/test/long.js | 31 + .../node_modules/minimist/test/num.js | 36 + .../node_modules/minimist/test/parse.js | 197 + .../minimist/test/parse_modified.js | 9 + .../node_modules/minimist/test/short.js | 67 + .../node_modules/minimist/test/whitespace.js | 8 + .../optimist/node_modules/wordwrap/LICENSE | 18 + .../node_modules/wordwrap/README.markdown | 70 + .../node_modules/wordwrap/example/center.js | 10 + .../node_modules/wordwrap/example/meat.js | 3 + .../optimist/node_modules/wordwrap/index.js | 76 + .../node_modules/wordwrap/package.json | 63 + .../node_modules/wordwrap/test/break.js | 30 + .../node_modules/wordwrap/test/idleness.txt | 63 + .../node_modules/wordwrap/test/wrap.js | 31 + .../node_modules/optimist/package.json | 64 + .../node_modules/optimist/readme.markdown | 500 + .../cordova/node_modules/optimist/test/_.js | 71 + .../node_modules/optimist/test/_/argv.js | 2 + .../node_modules/optimist/test/_/bin.js | 3 + .../node_modules/optimist/test/dash.js | 31 + .../node_modules/optimist/test/parse.js | 446 + .../optimist/test/parse_modified.js | 14 + .../node_modules/optimist/test/short.js | 16 + .../node_modules/optimist/test/usage.js | 292 + .../node_modules/optimist/test/whitespace.js | 8 + .../ubuntu/cordova/node_modules/q/LICENSE | 18 + .../ubuntu/cordova/node_modules/q/README.md | 916 ++ .../q/node_modules/asap/CHANGES.md | 64 + .../q/node_modules/asap/LICENSE.md | 21 + .../q/node_modules/asap/README.md | 237 + .../node_modules/q/node_modules/asap/asap.js | 65 + .../q/node_modules/asap/browser-asap.js | 66 + .../q/node_modules/asap/browser-raw.js | 220 + .../q/node_modules/asap/package.json | 85 + .../node_modules/q/node_modules/asap/raw.js | 101 + .../q/node_modules/pop-iterate/.npmignore | 1 + .../q/node_modules/pop-iterate/README.md | 82 + .../pop-iterate/array-iterator.js | 23 + .../q/node_modules/pop-iterate/iteration.js | 18 + .../pop-iterate/object-iterator.js | 20 + .../q/node_modules/pop-iterate/package.json | 55 + .../q/node_modules/pop-iterate/pop-iterate.js | 22 + .../pop-iterate/test/pop-iterate-test.js | 72 + .../q/node_modules/weak-map/README.md | 129 + .../q/node_modules/weak-map/package.json | 61 + .../q/node_modules/weak-map/weak-map.js | 685 + .../cordova/node_modules/q/package.json | 130 + platforms/ubuntu/cordova/node_modules/q/q.js | 1802 +++ .../ubuntu/cordova/node_modules/q/queue.js | 25 + .../node_modules/shelljs/.documentup.json | 6 + .../cordova/node_modules/shelljs/.jshintrc | 7 + .../cordova/node_modules/shelljs/.npmignore | 2 + .../cordova/node_modules/shelljs/.travis.yml | 5 + .../cordova/node_modules/shelljs/LICENSE | 26 + .../cordova/node_modules/shelljs/README.md | 552 + .../cordova/node_modules/shelljs/bin/shjs | 51 + .../cordova/node_modules/shelljs/global.js | 3 + .../cordova/node_modules/shelljs/make.js | 47 + .../cordova/node_modules/shelljs/package.json | 61 + .../shelljs/scripts/generate-docs.js | 21 + .../node_modules/shelljs/scripts/run-tests.js | 50 + .../cordova/node_modules/shelljs/shell.js | 153 + .../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 | 189 + .../cordova/node_modules/shelljs/src/cp.js | 200 + .../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 | 181 + .../cordova/node_modules/shelljs/src/find.js | 51 + .../cordova/node_modules/shelljs/src/grep.js | 52 + .../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 | 145 + .../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 | 79 + platforms/ubuntu/cordova/run | 36 + platforms/ubuntu/cordova/version | 25 + platforms/ubuntu/manifest.json | 1 + .../platform_www/cordova-js-src/exec.js | 85 + .../platform_www/cordova-js-src/platform.js | 33 + platforms/ubuntu/platform_www/cordova.js | 1739 +++ platforms/ubuntu/ubuntu.json | 11 + platforms/ubuntu/www/config/api.json | 4 + platforms/ubuntu/www/config/merchant.json | 5 + platforms/ubuntu/www/css/bootstrap.css | 6760 +++++++++ platforms/ubuntu/www/css/bootstrap.min.css | 6 + platforms/ubuntu/www/css/font-awesome.css | 2086 +++ platforms/ubuntu/www/css/font-awesome.min.css | 4 + platforms/ubuntu/www/css/main.css | 17 + platforms/ubuntu/www/fonts/FontAwesome.otf | Bin 0 -> 109688 bytes .../ubuntu/www/fonts/fontawesome-webfont.eot | Bin 0 -> 70807 bytes .../ubuntu/www/fonts/fontawesome-webfont.svg | 655 + .../ubuntu/www/fonts/fontawesome-webfont.ttf | Bin 0 -> 142072 bytes .../ubuntu/www/fonts/fontawesome-webfont.woff | Bin 0 -> 83588 bytes .../www/fonts/fontawesome-webfont.woff2 | Bin 0 -> 66624 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes platforms/ubuntu/www/index.html | 35 + platforms/ubuntu/www/js/bootstrap.js | 2363 +++ platforms/ubuntu/www/js/bootstrap.min.js | 7 + platforms/ubuntu/www/js/jquery.js | 4 + platforms/ubuntu/www/js/main.js | 176 + platforms/ubuntu/www/screens/home.html | 25 + platforms/ubuntu/www/screens/login.html | 40 + platforms/ubuntu/www/screens/pay.html | 18 + platforms/ubuntu/www/screens/paymentsent.html | 13 + platforms/ubuntu/www/screens/peerpay.html | 20 + platforms/ubuntu/www/screens/peersent.html | 13 + platforms/ubuntu/www/screens/signup.html | 42 + plugins/android.json | 22 + plugins/browser.json | 22 + plugins/cordova-plugin-compat/README.md | 25 + plugins/cordova-plugin-compat/package.json | 32 + plugins/cordova-plugin-compat/plugin.xml | 36 + .../src/android/PermissionHelper.java | 138 + .../cordova-plugin-whitelist/CONTRIBUTING.md | 37 + plugins/cordova-plugin-whitelist/LICENSE | 202 + plugins/cordova-plugin-whitelist/NOTICE | 5 + plugins/cordova-plugin-whitelist/README.md | 151 + .../cordova-plugin-whitelist/RELEASENOTES.md | 55 + .../cordova-plugin-whitelist/doc/de/README.md | 148 + .../cordova-plugin-whitelist/doc/es/README.md | 148 + .../cordova-plugin-whitelist/doc/fr/README.md | 148 + .../cordova-plugin-whitelist/doc/it/README.md | 148 + .../cordova-plugin-whitelist/doc/ja/README.md | 148 + .../cordova-plugin-whitelist/doc/ko/README.md | 148 + .../cordova-plugin-whitelist/doc/pl/README.md | 148 + .../cordova-plugin-whitelist/doc/zh/README.md | 148 + plugins/cordova-plugin-whitelist/package.json | 28 + plugins/cordova-plugin-whitelist/plugin.xml | 50 + .../src/android/WhitelistPlugin.java | 161 + plugins/fetch.json | 26 + .../phonegap-plugin-barcodescanner/README.md | 211 + .../package.json | 45 + .../phonegap-plugin-barcodescanner/plugin.xml | 183 + .../src/android/README.md | 1 + .../android/barcodescanner-release-2.0.1.aar | Bin 0 -> 988915 bytes .../src/android/barcodescanner.gradle | 20 + .../barcodescanner/BarcodeScanner.java | 305 + .../src/blackberry10/LICENSE | 703 + .../src/blackberry10/index.js | 213 + .../src/blackberry10/native/.cproject | 220 + .../.settings/com.qnx.tools.ide.core.prefs | 2 + .../src/blackberry10/native/device/.npmignore | 2 + .../native/device/libBarcodeScanner.so | Bin 0 -> 270830 bytes .../native/public/json/autolink.h | 19 + .../blackberry10/native/public/json/config.h | 43 + .../native/public/json/features.h | 42 + .../native/public/json/forwards.h | 39 + .../blackberry10/native/public/json/json.h | 10 + .../blackberry10/native/public/json/reader.h | 196 + .../blackberry10/native/public/json/value.h | 1069 ++ .../blackberry10/native/public/json/writer.h | 174 + .../native/public/json_batchallocator.h | 125 + .../native/public/json_internalarray.inl | 448 + .../native/public/json_internalmap.inl | 607 + .../native/public/json_reader.cpp | 892 ++ .../blackberry10/native/public/json_value.cpp | 1726 +++ .../native/public/json_valueiterator.inl | 292 + .../native/public/json_writer.cpp | 829 ++ .../src/blackberry10/native/public/plugin.cpp | 320 + .../src/blackberry10/native/public/plugin.h | 70 + .../blackberry10/native/public/tokenizer.cpp | 222 + .../blackberry10/native/public/tokenizer.h | 55 + .../blackberry10/native/simulator/.npmignore | 2 + .../native/simulator/libBarcodeScanner.so | Bin 0 -> 1553593 bytes .../src/blackberry10/native/src/Logger.cpp | 104 + .../src/blackberry10/native/src/Logger.hpp | 49 + .../native/src/barcodescanner_js.cpp | 105 + .../native/src/barcodescanner_js.hpp | 41 + .../native/src/barcodescanner_ndk.cpp | 709 + .../native/src/barcodescanner_ndk.hpp | 55 + .../src/blackberry10/qrcode.js | 622 + .../src/browser/BarcodeScannerProxy.js | 24 + .../src/ios/CDVBarcodeScanner.bundle/beep.caf | Bin 0 -> 16020 bytes .../src/ios/CDVBarcodeScanner.mm | 1107 ++ .../src/ios/scannerOverlay.xib | 185 + .../src/ios/zxing-all-in-one.cpp | 11982 +++++++++++++++ .../src/ios/zxing-all-in-one.h | 5007 +++++++ .../src/windows/BarcodeScannerProxy.js | 477 + .../windows/assets/plugin-barcodeScanner.css | 74 + .../src/windows/lib.UW/ANY/ZXing.winmd | Bin 0 -> 446464 bytes .../src/windows/lib.UW/ARM/ZXing.winmd | Bin 0 -> 445952 bytes .../src/windows/lib.UW/x64/ZXing.winmd | Bin 0 -> 445952 bytes .../src/windows/lib.UW/x86/ZXing.winmd | Bin 0 -> 446464 bytes .../windows/lib/Properties/AssemblyInfo.cs | 39 + .../src/windows/lib/Reader.cs | 173 + .../src/windows/lib/WinRTBarcodeReader.csproj | 134 + .../src/windows/lib/ZXing.winmd | Bin 0 -> 446464 bytes .../src/wp8/BarcodeScanner.cs | 117 + .../src/wp8/BarcodeScannerTask.cs | 103 + .../src/wp8/BarcodeScannerUI.xaml | 46 + .../src/wp8/BarcodeScannerUI.xaml.cs | 182 + .../src/wp8/assets/cancel.png | Bin 0 -> 550 bytes .../src/wp8/lib/zxing.wp8.0.dll | Bin 0 -> 432640 bytes .../tests/plugin.xml | 31 + .../tests/tests.js | 57 + .../www/barcodescanner.js | 126 + www/config/api.json | 4 + www/config/merchant.json | 5 + www/css/bootstrap.css | 6760 +++++++++ www/css/bootstrap.min.css | 6 + www/css/font-awesome.css | 2086 +++ www/css/font-awesome.min.css | 4 + www/css/main.css | 0 www/fonts/FontAwesome.otf | Bin 0 -> 109688 bytes www/fonts/fontawesome-webfont.eot | Bin 0 -> 70807 bytes www/fonts/fontawesome-webfont.svg | 655 + www/fonts/fontawesome-webfont.ttf | Bin 0 -> 142072 bytes www/fonts/fontawesome-webfont.woff | Bin 0 -> 83588 bytes www/fonts/fontawesome-webfont.woff2 | Bin 0 -> 66624 bytes www/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes www/fonts/glyphicons-halflings-regular.svg | 288 + www/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes www/fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes www/fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes www/index.html | 34 + www/js/bootstrap.js | 2363 +++ www/js/bootstrap.min.js | 7 + www/js/jquery.js | 4 + www/js/main.js | 92 + www/screens/home.html | 123 + www/screens/login.html | 45 + 2123 files changed, 343595 insertions(+) create mode 100644 .bowerrc create mode 100644 Gruntfile.js create mode 100644 bower.json create mode 100644 config.xml create mode 100644 gulpfile.js create mode 100644 hooks/README.md create mode 100644 nbproject/build.xml create mode 100644 nbproject/configs/android.properties create mode 100644 nbproject/configs/android_1.properties create mode 100644 nbproject/configs/ios.properties create mode 100644 nbproject/configs/ios_1.properties create mode 100644 nbproject/plugins.properties create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml create mode 100644 package.json create mode 100644 platforms/android/.gitignore create mode 100644 platforms/android/AndroidManifest.xml create mode 100755 platforms/android/CordovaLib/AndroidManifest.xml create mode 100644 platforms/android/CordovaLib/build.gradle create mode 100644 platforms/android/CordovaLib/cordova.gradle create mode 100644 platforms/android/CordovaLib/project.properties create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/Config.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaPreferences.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaResourceApi.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewEngine.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewImpl.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/CoreAndroid.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ExposedJsApi.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ICordovaClientCertRequest.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ICordovaCookieManager.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ICordovaHttpAuthHandler.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/LOG.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/NativeToJsMessageQueue.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/PluginEntry.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/PluginManager.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/PluginResult.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ResumeCallback.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/Whitelist.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemExposedJsApi.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebView.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java create mode 100755 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java create mode 100644 platforms/android/android.json create mode 100644 platforms/android/assets/www/config/api.json create mode 100644 platforms/android/assets/www/config/merchant.json create mode 100644 platforms/android/assets/www/cordova-js-src/android/nativeapiprovider.js create mode 100644 platforms/android/assets/www/cordova-js-src/android/promptbasednativeapi.js create mode 100644 platforms/android/assets/www/cordova-js-src/exec.js create mode 100644 platforms/android/assets/www/cordova-js-src/platform.js create mode 100644 platforms/android/assets/www/cordova-js-src/plugin/android/app.js create mode 100644 platforms/android/assets/www/cordova.js create mode 100644 platforms/android/assets/www/cordova_plugins.js create mode 100644 platforms/android/assets/www/css/bootstrap.css create mode 100644 platforms/android/assets/www/css/bootstrap.min.css create mode 100644 platforms/android/assets/www/css/font-awesome.css create mode 100644 platforms/android/assets/www/css/font-awesome.min.css create mode 100644 platforms/android/assets/www/css/main.css create mode 100644 platforms/android/assets/www/fonts/FontAwesome.otf create mode 100644 platforms/android/assets/www/fonts/fontawesome-webfont.eot create mode 100644 platforms/android/assets/www/fonts/fontawesome-webfont.svg create mode 100644 platforms/android/assets/www/fonts/fontawesome-webfont.ttf create mode 100644 platforms/android/assets/www/fonts/fontawesome-webfont.woff create mode 100644 platforms/android/assets/www/fonts/fontawesome-webfont.woff2 create mode 100644 platforms/android/assets/www/fonts/glyphicons-halflings-regular.eot create mode 100644 platforms/android/assets/www/fonts/glyphicons-halflings-regular.svg create mode 100644 platforms/android/assets/www/fonts/glyphicons-halflings-regular.ttf create mode 100644 platforms/android/assets/www/fonts/glyphicons-halflings-regular.woff create mode 100644 platforms/android/assets/www/fonts/glyphicons-halflings-regular.woff2 create mode 100644 platforms/android/assets/www/index.html create mode 100644 platforms/android/assets/www/js/bootstrap.js create mode 100644 platforms/android/assets/www/js/bootstrap.min.js create mode 100644 platforms/android/assets/www/js/jquery.js create mode 100644 platforms/android/assets/www/js/main.js create mode 100644 platforms/android/assets/www/plugins/phonegap-plugin-barcodescanner/www/barcodescanner.js create mode 100644 platforms/android/assets/www/screens/home.html create mode 100644 platforms/android/assets/www/screens/login.html create mode 100644 platforms/android/assets/www/screens/pay.html create mode 100644 platforms/android/assets/www/screens/paymentsent.html create mode 100644 platforms/android/assets/www/screens/peerpay.html create mode 100644 platforms/android/assets/www/screens/peersent.html create mode 100644 platforms/android/assets/www/screens/signup.html create mode 100644 platforms/android/build.gradle create mode 100644 platforms/android/cordova/.jshintrc create mode 100644 platforms/android/cordova/Api.js create mode 100755 platforms/android/cordova/android_sdk_version create mode 100755 platforms/android/cordova/build create mode 100644 platforms/android/cordova/build.bat create mode 100755 platforms/android/cordova/check_reqs create mode 100644 platforms/android/cordova/check_reqs.bat create mode 100755 platforms/android/cordova/clean create mode 100644 platforms/android/cordova/clean.bat create mode 100644 platforms/android/cordova/defaults.xml create mode 100644 platforms/android/cordova/lib/Adb.js create mode 100644 platforms/android/cordova/lib/AndroidManifest.js create mode 100644 platforms/android/cordova/lib/AndroidProject.js create mode 100644 platforms/android/cordova/lib/ConsoleLogger.js create mode 100755 platforms/android/cordova/lib/android_sdk_version.js create mode 100644 platforms/android/cordova/lib/build.js create mode 100644 platforms/android/cordova/lib/builders/AntBuilder.js create mode 100644 platforms/android/cordova/lib/builders/GenericBuilder.js create mode 100644 platforms/android/cordova/lib/builders/GradleBuilder.js create mode 100644 platforms/android/cordova/lib/builders/builders.js create mode 100644 platforms/android/cordova/lib/check_reqs.js create mode 100644 platforms/android/cordova/lib/device.js create mode 100644 platforms/android/cordova/lib/emulator.js create mode 100755 platforms/android/cordova/lib/install-device create mode 100644 platforms/android/cordova/lib/install-device.bat create mode 100755 platforms/android/cordova/lib/install-emulator create mode 100644 platforms/android/cordova/lib/install-emulator.bat create mode 100755 platforms/android/cordova/lib/list-devices create mode 100644 platforms/android/cordova/lib/list-devices.bat create mode 100755 platforms/android/cordova/lib/list-emulator-images create mode 100644 platforms/android/cordova/lib/list-emulator-images.bat create mode 100755 platforms/android/cordova/lib/list-started-emulators create mode 100644 platforms/android/cordova/lib/list-started-emulators.bat create mode 100644 platforms/android/cordova/lib/log.js create mode 100644 platforms/android/cordova/lib/plugin-build.gradle create mode 100644 platforms/android/cordova/lib/pluginHandlers.js create mode 100644 platforms/android/cordova/lib/prepare.js create mode 100644 platforms/android/cordova/lib/retry.js create mode 100644 platforms/android/cordova/lib/run.js create mode 100755 platforms/android/cordova/lib/start-emulator create mode 100644 platforms/android/cordova/lib/start-emulator.bat create mode 100755 platforms/android/cordova/log create mode 100644 platforms/android/cordova/log.bat create mode 100644 platforms/android/cordova/node_modules/abbrev/.npmignore create mode 100644 platforms/android/cordova/node_modules/abbrev/.travis.yml create mode 100644 platforms/android/cordova/node_modules/abbrev/CONTRIBUTING.md create mode 100644 platforms/android/cordova/node_modules/abbrev/LICENSE create mode 100644 platforms/android/cordova/node_modules/abbrev/README.md create mode 100644 platforms/android/cordova/node_modules/abbrev/abbrev.js create mode 100644 platforms/android/cordova/node_modules/abbrev/package.json create mode 100644 platforms/android/cordova/node_modules/abbrev/test.js create mode 100644 platforms/android/cordova/node_modules/ansi/.jshintrc create mode 100644 platforms/android/cordova/node_modules/ansi/.npmignore create mode 100644 platforms/android/cordova/node_modules/ansi/History.md create mode 100644 platforms/android/cordova/node_modules/ansi/LICENSE create mode 100644 platforms/android/cordova/node_modules/ansi/README.md create mode 100755 platforms/android/cordova/node_modules/ansi/examples/beep/index.js create mode 100755 platforms/android/cordova/node_modules/ansi/examples/clear/index.js create mode 100755 platforms/android/cordova/node_modules/ansi/examples/cursorPosition.js create mode 100644 platforms/android/cordova/node_modules/ansi/examples/progress/index.js create mode 100644 platforms/android/cordova/node_modules/ansi/lib/ansi.js create mode 100644 platforms/android/cordova/node_modules/ansi/lib/newlines.js create mode 100644 platforms/android/cordova/node_modules/ansi/package.json create mode 100644 platforms/android/cordova/node_modules/balanced-match/.npmignore create mode 100644 platforms/android/cordova/node_modules/balanced-match/.travis.yml create mode 100644 platforms/android/cordova/node_modules/balanced-match/LICENSE.md create mode 100644 platforms/android/cordova/node_modules/balanced-match/Makefile create mode 100644 platforms/android/cordova/node_modules/balanced-match/README.md create mode 100644 platforms/android/cordova/node_modules/balanced-match/example.js create mode 100644 platforms/android/cordova/node_modules/balanced-match/index.js create mode 100644 platforms/android/cordova/node_modules/balanced-match/package.json create mode 100644 platforms/android/cordova/node_modules/balanced-match/test/balanced.js create mode 100644 platforms/android/cordova/node_modules/base64-js/.travis.yml create mode 100644 platforms/android/cordova/node_modules/base64-js/LICENSE.MIT create mode 100644 platforms/android/cordova/node_modules/base64-js/README.md create mode 100644 platforms/android/cordova/node_modules/base64-js/bench/bench.js create mode 100644 platforms/android/cordova/node_modules/base64-js/lib/b64.js create mode 100644 platforms/android/cordova/node_modules/base64-js/package.json create mode 100644 platforms/android/cordova/node_modules/base64-js/test/convert.js create mode 100644 platforms/android/cordova/node_modules/base64-js/test/url-safe.js create mode 100644 platforms/android/cordova/node_modules/big-integer/BigInteger.js create mode 100644 platforms/android/cordova/node_modules/big-integer/BigInteger.min.js create mode 100644 platforms/android/cordova/node_modules/big-integer/README.md create mode 100644 platforms/android/cordova/node_modules/big-integer/package.json create mode 100644 platforms/android/cordova/node_modules/bplist-parser/.npmignore create mode 100644 platforms/android/cordova/node_modules/bplist-parser/README.md create mode 100644 platforms/android/cordova/node_modules/bplist-parser/bplistParser.js create mode 100644 platforms/android/cordova/node_modules/bplist-parser/package.json create mode 100644 platforms/android/cordova/node_modules/bplist-parser/test/airplay.bplist create mode 100644 platforms/android/cordova/node_modules/bplist-parser/test/iTunes-small.bplist create mode 100644 platforms/android/cordova/node_modules/bplist-parser/test/int64.bplist create mode 100644 platforms/android/cordova/node_modules/bplist-parser/test/int64.xml create mode 100644 platforms/android/cordova/node_modules/bplist-parser/test/parseTest.js create mode 100644 platforms/android/cordova/node_modules/bplist-parser/test/sample1.bplist create mode 100644 platforms/android/cordova/node_modules/bplist-parser/test/sample2.bplist create mode 100644 platforms/android/cordova/node_modules/bplist-parser/test/uid.bplist create mode 100644 platforms/android/cordova/node_modules/bplist-parser/test/utf16.bplist create mode 100755 platforms/android/cordova/node_modules/bplist-parser/test/utf16_chinese.plist create mode 100644 platforms/android/cordova/node_modules/brace-expansion/.npmignore create mode 100644 platforms/android/cordova/node_modules/brace-expansion/README.md create mode 100644 platforms/android/cordova/node_modules/brace-expansion/example.js create mode 100644 platforms/android/cordova/node_modules/brace-expansion/index.js create mode 100644 platforms/android/cordova/node_modules/brace-expansion/package.json create mode 100644 platforms/android/cordova/node_modules/concat-map/.travis.yml create mode 100644 platforms/android/cordova/node_modules/concat-map/LICENSE create mode 100644 platforms/android/cordova/node_modules/concat-map/README.markdown create mode 100644 platforms/android/cordova/node_modules/concat-map/example/map.js create mode 100644 platforms/android/cordova/node_modules/concat-map/index.js create mode 100644 platforms/android/cordova/node_modules/concat-map/package.json create mode 100644 platforms/android/cordova/node_modules/concat-map/test/map.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/.jscs.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/.jshintignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/.ratignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/RELEASENOTES.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/cordova-common.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/.jshintrc create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ActionStack.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigKeeper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/munge-util.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/ConfigParser.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaError.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaExternalToolErrorContext.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/CordovaLogger.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/PlatformJson.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfo.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfoProvider.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/events.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/superspawn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/util/plist-helpers.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js create mode 100644 platforms/android/cordova/node_modules/cordova-registry-mapper/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-registry-mapper/.travis.yml create mode 100644 platforms/android/cordova/node_modules/cordova-registry-mapper/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-registry-mapper/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-registry-mapper/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-registry-mapper/tests/test.js create mode 100644 platforms/android/cordova/node_modules/elementtree/.npmignore create mode 100644 platforms/android/cordova/node_modules/elementtree/.travis.yml create mode 100644 platforms/android/cordova/node_modules/elementtree/CHANGES.md create mode 100644 platforms/android/cordova/node_modules/elementtree/LICENSE.txt create mode 100755 platforms/android/cordova/node_modules/elementtree/Makefile create mode 100644 platforms/android/cordova/node_modules/elementtree/NOTICE create mode 100644 platforms/android/cordova/node_modules/elementtree/README.md create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/constants.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/elementpath.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/elementtree.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/errors.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/parser.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/parsers/index.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/parsers/sax.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/sprintf.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/treebuilder.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/utils.js create mode 100644 platforms/android/cordova/node_modules/elementtree/package.json create mode 100644 platforms/android/cordova/node_modules/elementtree/tests/data/xml1.xml create mode 100644 platforms/android/cordova/node_modules/elementtree/tests/data/xml2.xml create mode 100644 platforms/android/cordova/node_modules/elementtree/tests/test-simple.js create mode 100644 platforms/android/cordova/node_modules/glob/LICENSE create mode 100644 platforms/android/cordova/node_modules/glob/README.md create mode 100644 platforms/android/cordova/node_modules/glob/common.js create mode 100644 platforms/android/cordova/node_modules/glob/glob.js create mode 100644 platforms/android/cordova/node_modules/glob/package.json create mode 100644 platforms/android/cordova/node_modules/glob/sync.js create mode 100644 platforms/android/cordova/node_modules/inflight/.eslintrc create mode 100644 platforms/android/cordova/node_modules/inflight/LICENSE create mode 100644 platforms/android/cordova/node_modules/inflight/README.md create mode 100644 platforms/android/cordova/node_modules/inflight/inflight.js create mode 100644 platforms/android/cordova/node_modules/inflight/package.json create mode 100644 platforms/android/cordova/node_modules/inflight/test.js create mode 100644 platforms/android/cordova/node_modules/inherits/LICENSE create mode 100644 platforms/android/cordova/node_modules/inherits/README.md create mode 100644 platforms/android/cordova/node_modules/inherits/inherits.js create mode 100644 platforms/android/cordova/node_modules/inherits/inherits_browser.js create mode 100644 platforms/android/cordova/node_modules/inherits/package.json create mode 100644 platforms/android/cordova/node_modules/inherits/test.js create mode 100644 platforms/android/cordova/node_modules/lodash/LICENSE create mode 100644 platforms/android/cordova/node_modules/lodash/README.md create mode 100644 platforms/android/cordova/node_modules/lodash/array.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/chunk.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/compact.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/difference.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/drop.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/dropRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/dropRightWhile.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/dropWhile.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/fill.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/findIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/findLastIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/first.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/flatten.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/flattenDeep.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/head.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/indexOf.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/initial.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/intersection.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/last.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/lastIndexOf.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/object.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/pull.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/pullAt.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/remove.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/rest.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/slice.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/sortedIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/sortedLastIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/tail.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/take.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/takeRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/takeRightWhile.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/takeWhile.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/union.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/uniq.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/unique.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/unzip.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/unzipWith.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/without.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/xor.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/zip.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/zipObject.js create mode 100644 platforms/android/cordova/node_modules/lodash/array/zipWith.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/chain.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/commit.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/concat.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/lodash.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/plant.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/reverse.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/run.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/tap.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/thru.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/toJSON.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/toString.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/value.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/valueOf.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/wrapperChain.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/wrapperCommit.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/wrapperConcat.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/wrapperPlant.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/wrapperReverse.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/wrapperToString.js create mode 100644 platforms/android/cordova/node_modules/lodash/chain/wrapperValue.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/all.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/any.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/at.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/collect.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/contains.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/countBy.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/detect.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/each.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/eachRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/every.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/filter.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/find.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/findLast.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/findWhere.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/foldl.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/foldr.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/forEach.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/forEachRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/groupBy.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/include.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/includes.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/indexBy.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/inject.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/invoke.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/map.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/max.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/min.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/partition.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/pluck.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/reduce.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/reduceRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/reject.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/sample.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/select.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/shuffle.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/size.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/some.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/sortBy.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/sortByAll.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/sortByOrder.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/sum.js create mode 100644 platforms/android/cordova/node_modules/lodash/collection/where.js create mode 100644 platforms/android/cordova/node_modules/lodash/date.js create mode 100644 platforms/android/cordova/node_modules/lodash/date/now.js create mode 100644 platforms/android/cordova/node_modules/lodash/function.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/after.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/ary.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/backflow.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/before.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/bind.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/bindAll.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/bindKey.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/compose.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/curry.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/curryRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/debounce.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/defer.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/delay.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/flow.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/flowRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/memoize.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/modArgs.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/negate.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/once.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/partial.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/partialRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/rearg.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/restParam.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/spread.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/throttle.js create mode 100644 platforms/android/cordova/node_modules/lodash/function/wrap.js create mode 100644 platforms/android/cordova/node_modules/lodash/index.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/LazyWrapper.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/LodashWrapper.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/MapCache.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/SetCache.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayConcat.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayCopy.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayEach.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayEachRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayEvery.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayExtremum.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayFilter.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayMap.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayPush.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayReduce.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arrayReduceRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arraySome.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/arraySum.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/assignDefaults.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/assignOwnDefaults.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/assignWith.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseAssign.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseAt.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseCallback.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseClone.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseCompareAscending.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseCopy.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseCreate.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseDelay.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseDifference.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseEach.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseEachRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseEvery.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseExtremum.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseFill.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseFilter.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseFind.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseFindIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseFlatten.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseFor.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseForIn.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseForOwn.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseForOwnRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseForRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseFunctions.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseGet.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseIndexOf.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseIsEqual.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseIsEqualDeep.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseIsFunction.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseIsMatch.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseLodash.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseMap.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseMatches.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseMatchesProperty.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseMerge.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseMergeDeep.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseProperty.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/basePropertyDeep.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/basePullAt.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseRandom.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseReduce.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseSetData.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseSlice.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseSome.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseSortBy.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseSortByOrder.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseSum.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseToString.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseUniq.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseValues.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseWhile.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/baseWrapperValue.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/binaryIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/binaryIndexBy.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/bindCallback.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/bufferClone.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/cacheIndexOf.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/cachePush.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/charsLeftIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/charsRightIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/compareAscending.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/compareMultiple.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/composeArgs.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/composeArgsRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createAggregator.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createAssigner.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createBaseEach.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createBaseFor.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createBindWrapper.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createCache.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createCompounder.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createCtorWrapper.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createCurry.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createDefaults.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createExtremum.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createFind.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createFindIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createFindKey.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createFlow.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createForEach.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createForIn.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createForOwn.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createHybridWrapper.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createObjectMapper.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createPadDir.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createPadding.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createPartial.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createPartialWrapper.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createReduce.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createRound.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createSortedIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/createWrapper.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/deburrLetter.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/equalArrays.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/equalByTag.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/equalObjects.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/escapeHtmlChar.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/escapeRegExpChar.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/escapeStringChar.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/getData.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/getFuncName.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/getLength.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/getMatchData.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/getNative.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/getView.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/indexOfNaN.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/initCloneArray.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/initCloneByTag.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/initCloneObject.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/invokePath.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/isArrayLike.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/isIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/isIterateeCall.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/isKey.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/isLaziable.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/isLength.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/isObjectLike.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/isSpace.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/isStrictComparable.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/lazyClone.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/lazyReverse.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/lazyValue.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/mapDelete.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/mapGet.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/mapHas.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/mapSet.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/mergeData.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/mergeDefaults.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/metaMap.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/pickByArray.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/pickByCallback.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/reEscape.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/reEvaluate.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/reInterpolate.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/realNames.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/reorder.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/replaceHolders.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/setData.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/shimKeys.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/sortedUniq.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/toIterable.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/toObject.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/toPath.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/trimmedLeftIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/trimmedRightIndex.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/unescapeHtmlChar.js create mode 100644 platforms/android/cordova/node_modules/lodash/internal/wrapperClone.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/clone.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/cloneDeep.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/eq.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/gt.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/gte.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isArguments.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isArray.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isBoolean.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isDate.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isElement.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isEmpty.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isEqual.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isError.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isFinite.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isFunction.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isMatch.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isNaN.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isNative.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isNull.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isNumber.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isObject.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isPlainObject.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isRegExp.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isString.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isTypedArray.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/isUndefined.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/lt.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/lte.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/toArray.js create mode 100644 platforms/android/cordova/node_modules/lodash/lang/toPlainObject.js create mode 100644 platforms/android/cordova/node_modules/lodash/math.js create mode 100644 platforms/android/cordova/node_modules/lodash/math/add.js create mode 100644 platforms/android/cordova/node_modules/lodash/math/ceil.js create mode 100644 platforms/android/cordova/node_modules/lodash/math/floor.js create mode 100644 platforms/android/cordova/node_modules/lodash/math/max.js create mode 100644 platforms/android/cordova/node_modules/lodash/math/min.js create mode 100644 platforms/android/cordova/node_modules/lodash/math/round.js create mode 100644 platforms/android/cordova/node_modules/lodash/math/sum.js create mode 100644 platforms/android/cordova/node_modules/lodash/number.js create mode 100644 platforms/android/cordova/node_modules/lodash/number/inRange.js create mode 100644 platforms/android/cordova/node_modules/lodash/number/random.js create mode 100644 platforms/android/cordova/node_modules/lodash/object.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/assign.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/create.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/defaults.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/defaultsDeep.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/extend.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/findKey.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/findLastKey.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/forIn.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/forInRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/forOwn.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/forOwnRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/functions.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/get.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/has.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/invert.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/keys.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/keysIn.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/mapKeys.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/mapValues.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/merge.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/methods.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/omit.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/pairs.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/pick.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/result.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/set.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/transform.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/values.js create mode 100644 platforms/android/cordova/node_modules/lodash/object/valuesIn.js create mode 100644 platforms/android/cordova/node_modules/lodash/package.json create mode 100644 platforms/android/cordova/node_modules/lodash/string.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/camelCase.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/capitalize.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/deburr.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/endsWith.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/escape.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/escapeRegExp.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/kebabCase.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/pad.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/padLeft.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/padRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/parseInt.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/repeat.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/snakeCase.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/startCase.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/startsWith.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/template.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/templateSettings.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/trim.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/trimLeft.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/trimRight.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/trunc.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/unescape.js create mode 100644 platforms/android/cordova/node_modules/lodash/string/words.js create mode 100644 platforms/android/cordova/node_modules/lodash/support.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/attempt.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/callback.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/constant.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/identity.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/iteratee.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/matches.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/matchesProperty.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/method.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/methodOf.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/mixin.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/noop.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/property.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/propertyOf.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/range.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/times.js create mode 100644 platforms/android/cordova/node_modules/lodash/utility/uniqueId.js create mode 100644 platforms/android/cordova/node_modules/minimatch/LICENSE create mode 100644 platforms/android/cordova/node_modules/minimatch/README.md create mode 100644 platforms/android/cordova/node_modules/minimatch/minimatch.js create mode 100644 platforms/android/cordova/node_modules/minimatch/package.json create mode 100644 platforms/android/cordova/node_modules/nopt/.npmignore create mode 100644 platforms/android/cordova/node_modules/nopt/.travis.yml create mode 100644 platforms/android/cordova/node_modules/nopt/LICENSE create mode 100644 platforms/android/cordova/node_modules/nopt/README.md create mode 100755 platforms/android/cordova/node_modules/nopt/bin/nopt.js create mode 100755 platforms/android/cordova/node_modules/nopt/examples/my-program.js create mode 100644 platforms/android/cordova/node_modules/nopt/lib/nopt.js create mode 100644 platforms/android/cordova/node_modules/nopt/package.json create mode 100644 platforms/android/cordova/node_modules/nopt/test/basic.js create mode 100644 platforms/android/cordova/node_modules/once/LICENSE create mode 100644 platforms/android/cordova/node_modules/once/README.md create mode 100644 platforms/android/cordova/node_modules/once/once.js create mode 100644 platforms/android/cordova/node_modules/once/package.json create mode 100644 platforms/android/cordova/node_modules/os-homedir/index.js create mode 100644 platforms/android/cordova/node_modules/os-homedir/license create mode 100644 platforms/android/cordova/node_modules/os-homedir/package.json create mode 100644 platforms/android/cordova/node_modules/os-homedir/readme.md create mode 100644 platforms/android/cordova/node_modules/os-tmpdir/index.js create mode 100644 platforms/android/cordova/node_modules/os-tmpdir/license create mode 100644 platforms/android/cordova/node_modules/os-tmpdir/package.json create mode 100644 platforms/android/cordova/node_modules/os-tmpdir/readme.md create mode 100644 platforms/android/cordova/node_modules/osenv/.npmignore create mode 100644 platforms/android/cordova/node_modules/osenv/.travis.yml create mode 100644 platforms/android/cordova/node_modules/osenv/LICENSE create mode 100644 platforms/android/cordova/node_modules/osenv/README.md create mode 100644 platforms/android/cordova/node_modules/osenv/osenv.js create mode 100644 platforms/android/cordova/node_modules/osenv/package.json create mode 100644 platforms/android/cordova/node_modules/osenv/test/unix.js create mode 100644 platforms/android/cordova/node_modules/osenv/test/windows.js create mode 100644 platforms/android/cordova/node_modules/osenv/x.tap create mode 100644 platforms/android/cordova/node_modules/path-is-absolute/index.js create mode 100644 platforms/android/cordova/node_modules/path-is-absolute/license create mode 100644 platforms/android/cordova/node_modules/path-is-absolute/package.json create mode 100644 platforms/android/cordova/node_modules/path-is-absolute/readme.md create mode 100644 platforms/android/cordova/node_modules/plist/.jshintrc create mode 100644 platforms/android/cordova/node_modules/plist/.travis.yml create mode 100644 platforms/android/cordova/node_modules/plist/History.md create mode 100644 platforms/android/cordova/node_modules/plist/LICENSE create mode 100644 platforms/android/cordova/node_modules/plist/Makefile create mode 100644 platforms/android/cordova/node_modules/plist/README.md create mode 100644 platforms/android/cordova/node_modules/plist/dist/plist-build.js create mode 100644 platforms/android/cordova/node_modules/plist/dist/plist-parse.js create mode 100644 platforms/android/cordova/node_modules/plist/dist/plist.js create mode 100644 platforms/android/cordova/node_modules/plist/examples/browser/index.html create mode 100644 platforms/android/cordova/node_modules/plist/lib/build.js create mode 100644 platforms/android/cordova/node_modules/plist/lib/node.js create mode 100644 platforms/android/cordova/node_modules/plist/lib/parse.js create mode 100644 platforms/android/cordova/node_modules/plist/lib/plist.js create mode 100644 platforms/android/cordova/node_modules/plist/package.json create mode 100644 platforms/android/cordova/node_modules/properties-parser/README.markdown create mode 100644 platforms/android/cordova/node_modules/properties-parser/index.js create mode 100644 platforms/android/cordova/node_modules/properties-parser/package.json create mode 100644 platforms/android/cordova/node_modules/properties-parser/play-ground.js create mode 100755 platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.class create mode 100644 platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.java create mode 100644 platforms/android/cordova/node_modules/properties-parser/test/test-cases-copy.properties create mode 100644 platforms/android/cordova/node_modules/properties-parser/test/test-cases.properties create mode 100644 platforms/android/cordova/node_modules/properties-parser/test/test.js create mode 100644 platforms/android/cordova/node_modules/q/CHANGES.md create mode 100644 platforms/android/cordova/node_modules/q/LICENSE create mode 100644 platforms/android/cordova/node_modules/q/README.md create mode 100644 platforms/android/cordova/node_modules/q/package.json create mode 100644 platforms/android/cordova/node_modules/q/q.js create mode 100644 platforms/android/cordova/node_modules/q/queue.js create mode 100644 platforms/android/cordova/node_modules/sax/AUTHORS create mode 100644 platforms/android/cordova/node_modules/sax/LICENSE create mode 100644 platforms/android/cordova/node_modules/sax/README.md create mode 100644 platforms/android/cordova/node_modules/sax/examples/big-not-pretty.xml create mode 100644 platforms/android/cordova/node_modules/sax/examples/example.js create mode 100644 platforms/android/cordova/node_modules/sax/examples/get-products.js create mode 100644 platforms/android/cordova/node_modules/sax/examples/hello-world.js create mode 100644 platforms/android/cordova/node_modules/sax/examples/not-pretty.xml create mode 100644 platforms/android/cordova/node_modules/sax/examples/pretty-print.js create mode 100644 platforms/android/cordova/node_modules/sax/examples/shopping.xml create mode 100644 platforms/android/cordova/node_modules/sax/examples/strict.dtd create mode 100755 platforms/android/cordova/node_modules/sax/examples/switch-bench.js create mode 100644 platforms/android/cordova/node_modules/sax/examples/test.html create mode 100644 platforms/android/cordova/node_modules/sax/examples/test.xml create mode 100644 platforms/android/cordova/node_modules/sax/lib/sax.js create mode 100644 platforms/android/cordova/node_modules/sax/package.json create mode 100644 platforms/android/cordova/node_modules/sax/test/buffer-overrun.js create mode 100644 platforms/android/cordova/node_modules/sax/test/cdata-chunked.js create mode 100644 platforms/android/cordova/node_modules/sax/test/cdata-end-split.js create mode 100644 platforms/android/cordova/node_modules/sax/test/cdata-fake-end.js create mode 100644 platforms/android/cordova/node_modules/sax/test/cdata-multiple.js create mode 100644 platforms/android/cordova/node_modules/sax/test/cdata.js create mode 100644 platforms/android/cordova/node_modules/sax/test/index.js create mode 100644 platforms/android/cordova/node_modules/sax/test/issue-23.js create mode 100644 platforms/android/cordova/node_modules/sax/test/issue-30.js create mode 100644 platforms/android/cordova/node_modules/sax/test/issue-35.js create mode 100644 platforms/android/cordova/node_modules/sax/test/issue-47.js create mode 100644 platforms/android/cordova/node_modules/sax/test/issue-49.js create mode 100644 platforms/android/cordova/node_modules/sax/test/parser-position.js create mode 100644 platforms/android/cordova/node_modules/sax/test/script.js create mode 100644 platforms/android/cordova/node_modules/sax/test/self-closing-child-strict.js create mode 100644 platforms/android/cordova/node_modules/sax/test/self-closing-child.js create mode 100644 platforms/android/cordova/node_modules/sax/test/self-closing-tag.js create mode 100644 platforms/android/cordova/node_modules/sax/test/stray-ending.js create mode 100644 platforms/android/cordova/node_modules/sax/test/trailing-non-whitespace.js create mode 100644 platforms/android/cordova/node_modules/sax/test/unquoted.js create mode 100644 platforms/android/cordova/node_modules/sax/test/xmlns-issue-41.js create mode 100644 platforms/android/cordova/node_modules/sax/test/xmlns-rebinding.js create mode 100644 platforms/android/cordova/node_modules/sax/test/xmlns-strict.js create mode 100644 platforms/android/cordova/node_modules/sax/test/xmlns-unbound.js create mode 100644 platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js create mode 100644 platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-prefix.js create mode 100644 platforms/android/cordova/node_modules/sax/test/xmlns-xml-default-redefine.js create mode 100644 platforms/android/cordova/node_modules/semver/.npmignore create mode 100644 platforms/android/cordova/node_modules/semver/.travis.yml create mode 100644 platforms/android/cordova/node_modules/semver/LICENSE create mode 100644 platforms/android/cordova/node_modules/semver/README.md create mode 100755 platforms/android/cordova/node_modules/semver/bin/semver create mode 100644 platforms/android/cordova/node_modules/semver/package.json create mode 100644 platforms/android/cordova/node_modules/semver/range.bnf create mode 100644 platforms/android/cordova/node_modules/semver/semver.js create mode 100644 platforms/android/cordova/node_modules/semver/test/big-numbers.js create mode 100644 platforms/android/cordova/node_modules/semver/test/clean.js create mode 100644 platforms/android/cordova/node_modules/semver/test/gtr.js create mode 100644 platforms/android/cordova/node_modules/semver/test/index.js create mode 100644 platforms/android/cordova/node_modules/semver/test/ltr.js create mode 100644 platforms/android/cordova/node_modules/semver/test/major-minor-patch.js create mode 100644 platforms/android/cordova/node_modules/shelljs/.documentup.json create mode 100644 platforms/android/cordova/node_modules/shelljs/.jshintrc create mode 100644 platforms/android/cordova/node_modules/shelljs/.npmignore create mode 100644 platforms/android/cordova/node_modules/shelljs/.travis.yml create mode 100644 platforms/android/cordova/node_modules/shelljs/LICENSE create mode 100644 platforms/android/cordova/node_modules/shelljs/README.md create mode 100644 platforms/android/cordova/node_modules/shelljs/RELEASE.md create mode 100755 platforms/android/cordova/node_modules/shelljs/bin/shjs create mode 100644 platforms/android/cordova/node_modules/shelljs/global.js create mode 100644 platforms/android/cordova/node_modules/shelljs/make.js create mode 100644 platforms/android/cordova/node_modules/shelljs/package.json create mode 100755 platforms/android/cordova/node_modules/shelljs/scripts/generate-docs.js create mode 100755 platforms/android/cordova/node_modules/shelljs/scripts/run-tests.js create mode 100644 platforms/android/cordova/node_modules/shelljs/shell.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/cat.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/cd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/chmod.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/common.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/cp.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/dirs.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/echo.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/error.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/exec.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/find.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/grep.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/ln.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/ls.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/mkdir.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/mv.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/popd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/pushd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/pwd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/rm.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/sed.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/tempdir.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/test.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/to.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/toEnd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/which.js create mode 100644 platforms/android/cordova/node_modules/underscore/LICENSE create mode 100644 platforms/android/cordova/node_modules/underscore/README.md create mode 100644 platforms/android/cordova/node_modules/underscore/package.json create mode 100644 platforms/android/cordova/node_modules/underscore/underscore-min.js create mode 100644 platforms/android/cordova/node_modules/underscore/underscore-min.map create mode 100644 platforms/android/cordova/node_modules/underscore/underscore.js create mode 100644 platforms/android/cordova/node_modules/unorm/LICENSE.md create mode 100644 platforms/android/cordova/node_modules/unorm/README.md create mode 100644 platforms/android/cordova/node_modules/unorm/lib/unorm.js create mode 100644 platforms/android/cordova/node_modules/unorm/package.json create mode 100644 platforms/android/cordova/node_modules/util-deprecate/History.md create mode 100644 platforms/android/cordova/node_modules/util-deprecate/LICENSE create mode 100644 platforms/android/cordova/node_modules/util-deprecate/README.md create mode 100644 platforms/android/cordova/node_modules/util-deprecate/browser.js create mode 100644 platforms/android/cordova/node_modules/util-deprecate/node.js create mode 100644 platforms/android/cordova/node_modules/util-deprecate/package.json create mode 100644 platforms/android/cordova/node_modules/wrappy/LICENSE create mode 100644 platforms/android/cordova/node_modules/wrappy/README.md create mode 100644 platforms/android/cordova/node_modules/wrappy/package.json create mode 100644 platforms/android/cordova/node_modules/wrappy/test/basic.js create mode 100644 platforms/android/cordova/node_modules/wrappy/wrappy.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/.npmignore create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/LICENSE create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/README.md create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLAttribute.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLBuilder.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLCData.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLComment.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDAttList.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDElement.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDEntity.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDTDNotation.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDeclaration.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLDocType.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLElement.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLNode.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLRaw.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLStringifier.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/XMLText.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/lib/index.js create mode 100644 platforms/android/cordova/node_modules/xmlbuilder/package.json create mode 100644 platforms/android/cordova/node_modules/xmldom/.npmignore create mode 100644 platforms/android/cordova/node_modules/xmldom/.travis.yml create mode 100644 platforms/android/cordova/node_modules/xmldom/LICENSE create mode 100644 platforms/android/cordova/node_modules/xmldom/__package__.js create mode 100644 platforms/android/cordova/node_modules/xmldom/changelog create mode 100644 platforms/android/cordova/node_modules/xmldom/component.json create mode 100644 platforms/android/cordova/node_modules/xmldom/dom-parser.js create mode 100644 platforms/android/cordova/node_modules/xmldom/dom.js create mode 100644 platforms/android/cordova/node_modules/xmldom/package.json create mode 100644 platforms/android/cordova/node_modules/xmldom/readme.md create mode 100644 platforms/android/cordova/node_modules/xmldom/sax.js create mode 100755 platforms/android/cordova/run create mode 100644 platforms/android/cordova/run.bat create mode 100755 platforms/android/cordova/version create mode 100644 platforms/android/cordova/version.bat create mode 100644 platforms/android/libs/barcodescanner.aar create mode 100644 platforms/android/phonegap-plugin-barcodescanner/SnipeITMobile-barcodescanner.gradle create mode 100644 platforms/android/platform_www/cordova-js-src/android/nativeapiprovider.js create mode 100644 platforms/android/platform_www/cordova-js-src/android/promptbasednativeapi.js create mode 100644 platforms/android/platform_www/cordova-js-src/exec.js create mode 100644 platforms/android/platform_www/cordova-js-src/platform.js create mode 100644 platforms/android/platform_www/cordova-js-src/plugin/android/app.js create mode 100644 platforms/android/platform_www/cordova.js create mode 100644 platforms/android/platform_www/cordova_plugins.js create mode 100644 platforms/android/platform_www/plugins/phonegap-plugin-barcodescanner/www/barcodescanner.js create mode 100644 platforms/android/project.properties create mode 100644 platforms/android/res/drawable-hdpi/icon.png create mode 100644 platforms/android/res/drawable-land-hdpi/screen.png create mode 100644 platforms/android/res/drawable-land-ldpi/screen.png create mode 100644 platforms/android/res/drawable-land-mdpi/screen.png create mode 100644 platforms/android/res/drawable-land-xhdpi/screen.png create mode 100644 platforms/android/res/drawable-ldpi/icon.png create mode 100644 platforms/android/res/drawable-mdpi/icon.png create mode 100644 platforms/android/res/drawable-port-hdpi/screen.png create mode 100644 platforms/android/res/drawable-port-ldpi/screen.png create mode 100644 platforms/android/res/drawable-port-mdpi/screen.png create mode 100644 platforms/android/res/drawable-port-xhdpi/screen.png create mode 100644 platforms/android/res/drawable-xhdpi/icon.png create mode 100644 platforms/android/res/values/strings.xml create mode 100644 platforms/android/res/xml/config.xml create mode 100644 platforms/android/settings.gradle create mode 100644 platforms/android/src/com/netsyms/SnipeITMobile/MainActivity.java create mode 100644 platforms/android/src/com/phonegap/plugins/barcodescanner/BarcodeScanner.java create mode 100644 platforms/android/src/org/apache/cordova/PermissionHelper.java create mode 100644 platforms/android/src/org/apache/cordova/whitelist/WhitelistPlugin.java create mode 100644 platforms/browser/browser.json create mode 100644 platforms/browser/config.xml create mode 100755 platforms/browser/cordova/build create mode 100644 platforms/browser/cordova/build.bat create mode 100755 platforms/browser/cordova/clean create mode 100644 platforms/browser/cordova/defaults.xml create mode 100644 platforms/browser/cordova/lib/build.js create mode 100644 platforms/browser/cordova/lib/check_reqs.js create mode 100644 platforms/browser/cordova/lib/clean.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/README.md create mode 100644 platforms/browser/cordova/node_modules/adm-zip/adm-zip.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/headers/entryHeader.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/headers/index.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/headers/mainHeader.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/methods/deflater.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/methods/index.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/methods/inflater.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/package.json create mode 100644 platforms/browser/cordova/node_modules/adm-zip/util/constants.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/util/errors.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/util/fattr.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/util/index.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/util/utils.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/zipEntry.js create mode 100644 platforms/browser/cordova/node_modules/adm-zip/zipFile.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/.jshintrc create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/RELEASENOTES.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/license create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/license create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/CHANGELOG.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/conversions.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/css-keywords.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/route.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/license create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/license create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/license create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/license create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/chalk/readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/db.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/mime-types/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/negotiator/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/negotiator/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/negotiator/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/negotiator/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/negotiator/lib/charset.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/negotiator/lib/encoding.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/negotiator/lib/language.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/negotiator/lib/mediaType.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/node_modules/negotiator/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/accepts/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/bytes/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/bytes/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/bytes/Readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/bytes/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/bytes/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/node_modules/mime-db/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/node_modules/mime-db/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/node_modules/mime-db/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/node_modules/mime-db/db.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/node_modules/mime-db/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/node_modules/mime-db/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/compressible/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/.jshintrc create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/.npmignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/Makefile create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/Readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/bower.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/browser.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/component.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/debug.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/node.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/node_modules/ms/.npmignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/node_modules/ms/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/node_modules/ms/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/node_modules/ms/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/node_modules/ms/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/node_modules/ms/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/debug/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/on-headers/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/on-headers/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/on-headers/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/on-headers/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/on-headers/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/vary/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/vary/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/vary/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/vary/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/node_modules/vary/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/compression/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/Readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/application.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/express.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/middleware/init.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/middleware/query.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/request.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/response.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/router/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/router/layer.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/router/route.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/utils.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/lib/view.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/db.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/mime-types/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/negotiator/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/negotiator/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/negotiator/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/negotiator/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/charset.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/encoding.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/language.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/mediaType.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/node_modules/negotiator/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/accepts/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/array-flatten/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/array-flatten/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/array-flatten/array-flatten.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/array-flatten/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-disposition/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-disposition/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-disposition/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-disposition/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-disposition/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-type/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-type/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-type/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-type/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-type/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie-signature/.npmignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie-signature/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie-signature/Readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie-signature/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie-signature/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/.jshintrc create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/.npmignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/Makefile create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/Readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/bower.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/browser.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/component.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/debug.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/node.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/node_modules/ms/.npmignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/node_modules/ms/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/node_modules/ms/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/node_modules/ms/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/node_modules/ms/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/node_modules/ms/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/debug/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/Readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/lib/browser/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/lib/compat/buffer-concat.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/lib/compat/callsite-tostring.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/lib/compat/event-listener-count.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/lib/compat/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/depd/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/escape-html/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/escape-html/Readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/escape-html/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/escape-html/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/etag/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/etag/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/etag/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/etag/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/etag/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/node_modules/unpipe/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/node_modules/unpipe/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/node_modules/unpipe/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/node_modules/unpipe/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/node_modules/unpipe/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/finalhandler/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/fresh/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/fresh/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/fresh/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/fresh/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/fresh/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/merge-descriptors/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/merge-descriptors/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/merge-descriptors/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/merge-descriptors/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/merge-descriptors/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/methods/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/methods/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/methods/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/methods/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/methods/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/on-finished/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/on-finished/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/on-finished/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/on-finished/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/on-finished/node_modules/ee-first/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/on-finished/node_modules/ee-first/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/on-finished/node_modules/ee-first/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/on-finished/node_modules/ee-first/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/on-finished/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/parseurl/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/parseurl/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/parseurl/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/parseurl/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/parseurl/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/path-to-regexp/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/path-to-regexp/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/path-to-regexp/Readme.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/path-to-regexp/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/path-to-regexp/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/.npmignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/.travis.yml create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/Cakefile create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/bower.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/ipaddr.min.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/lib/ipaddr.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/src/ipaddr.coffee create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/test/ipaddr.test.coffee create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/proxy-addr/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/.eslintignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/.npmignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/.travis.yml create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/CHANGELOG.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/CONTRIBUTING.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/bower.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/lib/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/lib/parse.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/lib/stringify.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/lib/utils.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/test/parse.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/test/stringify.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/qs/test/utils.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/range-parser/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/range-parser/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/range-parser/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/range-parser/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/range-parser/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/destroy/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/destroy/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/destroy/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/destroy/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/inherits.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/inherits_browser.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/test.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/http-errors/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/mime/.npmignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/mime/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/mime/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/mime/build/build.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/mime/build/test.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/mime/cli.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/mime/mime.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/mime/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/mime/types.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/ms/.npmignore create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/ms/History.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/ms/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/ms/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/ms/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/ms/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/statuses/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/statuses/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/statuses/codes.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/statuses/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/node_modules/statuses/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/send/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/serve-static/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/serve-static/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/serve-static/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/serve-static/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/serve-static/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/media-typer/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/media-typer/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/media-typer/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/media-typer/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/media-typer/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/db.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/node_modules/mime-types/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/type-is/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/utils-merge/.travis.yml create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/utils-merge/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/utils-merge/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/utils-merge/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/utils-merge/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/vary/HISTORY.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/vary/LICENSE create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/vary/README.md create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/vary/index.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/vary/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/package.json create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/serve.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/src/browser.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/src/exec.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/src/platform.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/src/server.js create mode 100644 platforms/browser/cordova/node_modules/cordova-serve/src/util.js create mode 100644 platforms/browser/cordova/node_modules/nopt/.npmignore create mode 100644 platforms/browser/cordova/node_modules/nopt/.travis.yml create mode 100644 platforms/browser/cordova/node_modules/nopt/LICENSE create mode 100644 platforms/browser/cordova/node_modules/nopt/README.md create mode 100644 platforms/browser/cordova/node_modules/nopt/bin/nopt.js create mode 100644 platforms/browser/cordova/node_modules/nopt/examples/my-program.js create mode 100644 platforms/browser/cordova/node_modules/nopt/lib/nopt.js create mode 100644 platforms/browser/cordova/node_modules/nopt/node_modules/abbrev/.npmignore create mode 100644 platforms/browser/cordova/node_modules/nopt/node_modules/abbrev/.travis.yml create mode 100644 platforms/browser/cordova/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md create mode 100644 platforms/browser/cordova/node_modules/nopt/node_modules/abbrev/LICENSE create mode 100644 platforms/browser/cordova/node_modules/nopt/node_modules/abbrev/README.md create mode 100644 platforms/browser/cordova/node_modules/nopt/node_modules/abbrev/abbrev.js create mode 100644 platforms/browser/cordova/node_modules/nopt/node_modules/abbrev/package.json create mode 100644 platforms/browser/cordova/node_modules/nopt/node_modules/abbrev/test.js create mode 100644 platforms/browser/cordova/node_modules/nopt/package.json create mode 100644 platforms/browser/cordova/node_modules/nopt/test/basic.js create mode 100644 platforms/browser/cordova/node_modules/q/CHANGES.md create mode 100644 platforms/browser/cordova/node_modules/q/LICENSE create mode 100644 platforms/browser/cordova/node_modules/q/README.md create mode 100644 platforms/browser/cordova/node_modules/q/package.json create mode 100644 platforms/browser/cordova/node_modules/q/q.js create mode 100644 platforms/browser/cordova/node_modules/q/queue.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/.name create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/encodings.xml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/inspectionProfiles/Project_Default.xml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/jsLibraryMappings.xml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/libraries/shelljs_node_modules.xml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/misc.xml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/modules.xml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/shelljs.iml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/vcs.xml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.idea/workspace.xml create mode 100644 platforms/browser/cordova/node_modules/shelljs/.npmignore create mode 100644 platforms/browser/cordova/node_modules/shelljs/LICENSE create mode 100644 platforms/browser/cordova/node_modules/shelljs/MAINTAINERS create mode 100644 platforms/browser/cordova/node_modules/shelljs/README.md create mode 100644 platforms/browser/cordova/node_modules/shelljs/bin/shjs create mode 100644 platforms/browser/cordova/node_modules/shelljs/build/output.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/global.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/make.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/package.json create mode 100644 platforms/browser/cordova/node_modules/shelljs/scripts/generate-docs.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/scripts/run-tests.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/shell.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/cat.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/cd.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/chmod.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/common.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/cp.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/dirs.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/echo.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/error.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/exec.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/find.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/grep.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/ln.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/ls.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/mkdir.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/mv.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/popd.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/pushd.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/pwd.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/rm.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/sed.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/set.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/tempdir.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/test.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/to.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/toEnd.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/touch.js create mode 100644 platforms/browser/cordova/node_modules/shelljs/src/which.js create mode 100755 platforms/browser/cordova/run create mode 100644 platforms/browser/cordova/run.bat create mode 100755 platforms/browser/cordova/version create mode 100644 platforms/browser/cordova/version.bat create mode 100644 platforms/browser/css/index.css create mode 100644 platforms/browser/img/logo.png create mode 100644 platforms/browser/index.html create mode 100644 platforms/browser/js/index.js create mode 100644 platforms/browser/manifest.webapp create mode 100644 platforms/browser/platform_www/confighelper.js create mode 100644 platforms/browser/platform_www/cordova-js-src/confighelper.js create mode 100644 platforms/browser/platform_www/cordova-js-src/exec.js create mode 100644 platforms/browser/platform_www/cordova-js-src/platform.js create mode 100644 platforms/browser/platform_www/cordova.js create mode 100644 platforms/browser/platform_www/cordova_plugins.js create mode 100644 platforms/browser/platform_www/exec.js create mode 100644 platforms/browser/platform_www/platform.js create mode 100644 platforms/browser/platform_www/plugins/phonegap-plugin-barcodescanner/src/browser/BarcodeScannerProxy.js create mode 100644 platforms/browser/platform_www/plugins/phonegap-plugin-barcodescanner/www/barcodescanner.js create mode 100644 platforms/browser/res/icon/android/icon-36-ldpi.png create mode 100644 platforms/browser/res/icon/android/icon-48-mdpi.png create mode 100644 platforms/browser/res/icon/android/icon-72-hdpi.png create mode 100644 platforms/browser/res/icon/android/icon-96-xhdpi.png create mode 100644 platforms/browser/res/icon/bada-wac/icon-48-type5.png create mode 100644 platforms/browser/res/icon/bada-wac/icon-50-type3.png create mode 100644 platforms/browser/res/icon/bada-wac/icon-80-type4.png create mode 100644 platforms/browser/res/icon/bada/icon-128.png create mode 100644 platforms/browser/res/icon/blackberry/icon-80.png create mode 100644 platforms/browser/res/icon/blackberry10/icon-80.png create mode 100644 platforms/browser/res/icon/ios/icon-57-2x.png create mode 100644 platforms/browser/res/icon/ios/icon-57.png create mode 100644 platforms/browser/res/icon/ios/icon-72-2x.png create mode 100644 platforms/browser/res/icon/ios/icon-72.png create mode 100644 platforms/browser/res/icon/tizen/icon-128.png create mode 100644 platforms/browser/res/icon/webos/icon-64.png create mode 100644 platforms/browser/res/icon/windows-phone/icon-173-tile.png create mode 100644 platforms/browser/res/icon/windows-phone/icon-48.png create mode 100644 platforms/browser/res/icon/windows-phone/icon-62-tile.png create mode 100644 platforms/browser/www/config.xml create mode 100644 platforms/browser/www/config/api.json create mode 100644 platforms/browser/www/config/merchant.json create mode 100644 platforms/browser/www/confighelper.js create mode 100644 platforms/browser/www/cordova-js-src/confighelper.js create mode 100644 platforms/browser/www/cordova-js-src/exec.js create mode 100644 platforms/browser/www/cordova-js-src/platform.js create mode 100644 platforms/browser/www/cordova.js create mode 100644 platforms/browser/www/cordova_plugins.js create mode 100644 platforms/browser/www/css/bootstrap.css create mode 100644 platforms/browser/www/css/bootstrap.min.css create mode 100644 platforms/browser/www/css/font-awesome.css create mode 100644 platforms/browser/www/css/font-awesome.min.css create mode 100644 platforms/browser/www/css/main.css create mode 100644 platforms/browser/www/exec.js create mode 100644 platforms/browser/www/fonts/FontAwesome.otf create mode 100644 platforms/browser/www/fonts/fontawesome-webfont.eot create mode 100644 platforms/browser/www/fonts/fontawesome-webfont.svg create mode 100644 platforms/browser/www/fonts/fontawesome-webfont.ttf create mode 100644 platforms/browser/www/fonts/fontawesome-webfont.woff create mode 100644 platforms/browser/www/fonts/fontawesome-webfont.woff2 create mode 100644 platforms/browser/www/fonts/glyphicons-halflings-regular.eot create mode 100644 platforms/browser/www/fonts/glyphicons-halflings-regular.svg create mode 100644 platforms/browser/www/fonts/glyphicons-halflings-regular.ttf create mode 100644 platforms/browser/www/fonts/glyphicons-halflings-regular.woff create mode 100644 platforms/browser/www/fonts/glyphicons-halflings-regular.woff2 create mode 100644 platforms/browser/www/index.html create mode 100644 platforms/browser/www/js/bootstrap.js create mode 100644 platforms/browser/www/js/bootstrap.min.js create mode 100644 platforms/browser/www/js/jquery.js create mode 100644 platforms/browser/www/js/main.js create mode 100644 platforms/browser/www/platform.js create mode 100644 platforms/browser/www/plugins/phonegap-plugin-barcodescanner/src/browser/BarcodeScannerProxy.js create mode 100644 platforms/browser/www/plugins/phonegap-plugin-barcodescanner/www/barcodescanner.js create mode 100644 platforms/browser/www/screens/home.html create mode 100644 platforms/browser/www/screens/login.html create mode 100644 platforms/browser/www/screens/pay.html create mode 100644 platforms/browser/www/screens/paymentsent.html create mode 100644 platforms/browser/www/screens/peerpay.html create mode 100644 platforms/browser/www/screens/peersent.html create mode 100644 platforms/browser/www/screens/signup.html create mode 100644 platforms/platforms.json create mode 100644 platforms/ubuntu/apparmor.json create mode 100644 platforms/ubuntu/build/CMakeLists.txt create mode 100644 platforms/ubuntu/build/CONTRIBUTING.md create mode 100644 platforms/ubuntu/build/CordovaUbuntu/CordovaViewInternal.qml create mode 100644 platforms/ubuntu/build/CordovaUbuntu/ItemSelector.qml create mode 100644 platforms/ubuntu/build/CordovaUbuntu/cordova_wrapper.js create mode 100644 platforms/ubuntu/build/CordovaUbuntu/escape.js create mode 100644 platforms/ubuntu/build/CordovaUbuntu/qmldir create mode 100644 platforms/ubuntu/build/LICENSE create mode 100644 platforms/ubuntu/build/README.md create mode 100644 platforms/ubuntu/build/RELEASENOTES.md create mode 100644 platforms/ubuntu/build/VERSION create mode 100755 platforms/ubuntu/build/bin/check_reqs create mode 100755 platforms/ubuntu/build/bin/create create mode 100644 platforms/ubuntu/build/bin/lib/check_reqs.js create mode 100644 platforms/ubuntu/build/bin/lib/create.js create mode 100644 platforms/ubuntu/build/bin/lib/update.js create mode 100755 platforms/ubuntu/build/bin/templates/project/cordova/build create mode 100755 platforms/ubuntu/build/bin/templates/project/cordova/clean create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/defaults.xml create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/lib/build.js create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/lib/config.js create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/lib/config_parser.js create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/lib/constants.js create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/lib/device.js create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/lib/logger.js create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/lib/manifest.js create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/lib/run.js create mode 100644 platforms/ubuntu/build/bin/templates/project/cordova/lib/utils.js create mode 100755 platforms/ubuntu/build/bin/templates/project/cordova/run create mode 100755 platforms/ubuntu/build/bin/templates/project/cordova/version create mode 100644 platforms/ubuntu/build/bin/templates/project/misc/changelog create mode 100644 platforms/ubuntu/build/bin/templates/project/misc/compat create mode 100644 platforms/ubuntu/build/bin/templates/project/misc/control create mode 100644 platforms/ubuntu/build/bin/templates/project/misc/cordova.desktop create mode 100644 platforms/ubuntu/build/bin/templates/project/misc/install create mode 100755 platforms/ubuntu/build/bin/templates/project/misc/rules create mode 100755 platforms/ubuntu/build/bin/update create mode 100644 platforms/ubuntu/build/cordova-js-src/exec.js create mode 100644 platforms/ubuntu/build/cordova-js-src/platform.js create mode 100644 platforms/ubuntu/build/default_icon.png create mode 100644 platforms/ubuntu/build/main.cpp create mode 100644 platforms/ubuntu/build/node_modules/colors/MIT-LICENSE.txt create mode 100644 platforms/ubuntu/build/node_modules/colors/ReadMe.md create mode 100644 platforms/ubuntu/build/node_modules/colors/colors.js create mode 100644 platforms/ubuntu/build/node_modules/colors/example.html create mode 100644 platforms/ubuntu/build/node_modules/colors/example.js create mode 100644 platforms/ubuntu/build/node_modules/colors/package.json create mode 100644 platforms/ubuntu/build/node_modules/colors/test.js create mode 100644 platforms/ubuntu/build/node_modules/colors/themes/winston-dark.js create mode 100644 platforms/ubuntu/build/node_modules/colors/themes/winston-light.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/.npmignore create mode 100644 platforms/ubuntu/build/node_modules/elementtree/.travis.yml create mode 100644 platforms/ubuntu/build/node_modules/elementtree/CHANGES.md create mode 100644 platforms/ubuntu/build/node_modules/elementtree/LICENSE.txt create mode 100755 platforms/ubuntu/build/node_modules/elementtree/Makefile create mode 100644 platforms/ubuntu/build/node_modules/elementtree/NOTICE create mode 100644 platforms/ubuntu/build/node_modules/elementtree/README.md create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/constants.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/elementpath.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/elementtree.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/errors.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/parser.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/parsers/index.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/parsers/sax.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/sprintf.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/treebuilder.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/lib/utils.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/AUTHORS create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/LICENSE create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/README.md create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/big-not-pretty.xml create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/example.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/get-products.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/hello-world.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/not-pretty.xml create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/pretty-print.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/shopping.xml create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/strict.dtd create mode 100755 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/switch-bench.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/test.html create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/examples/test.xml create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/lib/sax.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/package.json create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/buffer-overrun.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/cdata-chunked.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/cdata-end-split.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/cdata-fake-end.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/cdata-multiple.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/cdata.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/index.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/issue-23.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/issue-30.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/issue-35.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/issue-47.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/issue-49.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/parser-position.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/script.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/self-closing-child-strict.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/self-closing-child.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/self-closing-tag.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/stray-ending.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/trailing-non-whitespace.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/unquoted.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/xmlns-issue-41.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/xmlns-rebinding.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/xmlns-strict.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/xmlns-unbound.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/xmlns-xml-default-prefix.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/node_modules/sax/test/xmlns-xml-default-redefine.js create mode 100644 platforms/ubuntu/build/node_modules/elementtree/package.json create mode 100644 platforms/ubuntu/build/node_modules/elementtree/tests/data/xml1.xml create mode 100644 platforms/ubuntu/build/node_modules/elementtree/tests/data/xml2.xml create mode 100644 platforms/ubuntu/build/node_modules/elementtree/tests/test-simple.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/.travis.yml create mode 100644 platforms/ubuntu/build/node_modules/optimist/LICENSE create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/bool.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/boolean_double.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/boolean_single.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/default_hash.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/default_singles.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/divide.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/line_count.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/line_count_options.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/line_count_wrap.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/nonopt.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/reflect.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/short.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/string.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/usage-options.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/example/xup.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/index.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/.travis.yml create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/LICENSE create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/example/parse.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/index.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/package.json create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/readme.markdown create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/bool.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/dash.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/default_bool.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/dotted.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/long.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/num.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/parse.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/parse_modified.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/short.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/minimist/test/whitespace.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/wordwrap/LICENSE create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/wordwrap/README.markdown create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/wordwrap/example/center.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/wordwrap/example/meat.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/wordwrap/index.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/wordwrap/package.json create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/wordwrap/test/break.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/wordwrap/test/idleness.txt create mode 100644 platforms/ubuntu/build/node_modules/optimist/node_modules/wordwrap/test/wrap.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/package.json create mode 100644 platforms/ubuntu/build/node_modules/optimist/readme.markdown create mode 100644 platforms/ubuntu/build/node_modules/optimist/test/_.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/test/_/argv.js create mode 100755 platforms/ubuntu/build/node_modules/optimist/test/_/bin.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/test/dash.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/test/parse.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/test/parse_modified.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/test/short.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/test/usage.js create mode 100644 platforms/ubuntu/build/node_modules/optimist/test/whitespace.js create mode 100644 platforms/ubuntu/build/node_modules/q/LICENSE create mode 100644 platforms/ubuntu/build/node_modules/q/README.md create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/asap/CHANGES.md create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/asap/LICENSE.md create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/asap/README.md create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/asap/asap.js create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/asap/browser-asap.js create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/asap/browser-raw.js create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/asap/package.json create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/asap/raw.js create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/pop-iterate/.npmignore create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/pop-iterate/README.md create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/pop-iterate/array-iterator.js create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/pop-iterate/iteration.js create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/pop-iterate/object-iterator.js create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/pop-iterate/package.json create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/pop-iterate/pop-iterate.js create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/pop-iterate/test/pop-iterate-test.js create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/weak-map/README.md create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/weak-map/package.json create mode 100644 platforms/ubuntu/build/node_modules/q/node_modules/weak-map/weak-map.js create mode 100644 platforms/ubuntu/build/node_modules/q/package.json create mode 100644 platforms/ubuntu/build/node_modules/q/q.js create mode 100644 platforms/ubuntu/build/node_modules/q/queue.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/.documentup.json create mode 100644 platforms/ubuntu/build/node_modules/shelljs/.jshintrc create mode 100644 platforms/ubuntu/build/node_modules/shelljs/.npmignore create mode 100644 platforms/ubuntu/build/node_modules/shelljs/.travis.yml create mode 100644 platforms/ubuntu/build/node_modules/shelljs/LICENSE create mode 100644 platforms/ubuntu/build/node_modules/shelljs/README.md create mode 100755 platforms/ubuntu/build/node_modules/shelljs/bin/shjs create mode 100644 platforms/ubuntu/build/node_modules/shelljs/global.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/make.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/package.json create mode 100755 platforms/ubuntu/build/node_modules/shelljs/scripts/generate-docs.js create mode 100755 platforms/ubuntu/build/node_modules/shelljs/scripts/run-tests.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/shell.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/cat.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/cd.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/chmod.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/common.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/cp.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/dirs.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/echo.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/error.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/exec.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/find.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/grep.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/ls.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/mkdir.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/mv.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/popd.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/pushd.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/pwd.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/rm.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/sed.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/tempdir.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/test.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/to.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/toEnd.js create mode 100644 platforms/ubuntu/build/node_modules/shelljs/src/which.js create mode 100644 platforms/ubuntu/build/package.json create mode 100644 platforms/ubuntu/build/qml/CordovaView.qml.in create mode 100644 platforms/ubuntu/build/qml/main.qml.in create mode 100644 platforms/ubuntu/build/src/cordova.cpp create mode 100644 platforms/ubuntu/build/src/cordova.h create mode 100644 platforms/ubuntu/build/src/cordova_config.cpp create mode 100644 platforms/ubuntu/build/src/cordova_config.hpp create mode 100644 platforms/ubuntu/build/src/cordova_whitelist.cpp create mode 100644 platforms/ubuntu/build/src/cordova_whitelist.hpp create mode 100644 platforms/ubuntu/build/src/coreplugins.cpp create mode 100644 platforms/ubuntu/build/src/coreplugins.h create mode 100644 platforms/ubuntu/build/src/cplugin.cpp create mode 100644 platforms/ubuntu/build/src/cplugin.h create mode 100644 platforms/ubuntu/build/src/plugins/empty create mode 100644 platforms/ubuntu/build/src/qmlplugin.cpp create mode 100644 platforms/ubuntu/build/src/qmlplugin.h create mode 100644 platforms/ubuntu/build/tests/CMakeLists.txt create mode 100644 platforms/ubuntu/build/tests/config.xml create mode 100644 platforms/ubuntu/build/tests/data/config.xml create mode 100644 platforms/ubuntu/build/tests/data/www/index.html create mode 100644 platforms/ubuntu/build/tests/main.cpp create mode 100644 platforms/ubuntu/build/tests/www/.touch create mode 100644 platforms/ubuntu/build/www/cordova.js create mode 100644 platforms/ubuntu/build/xml/config.xml create mode 100644 platforms/ubuntu/config.xml create mode 100644 platforms/ubuntu/cordova.desktop create mode 100755 platforms/ubuntu/cordova/build create mode 100755 platforms/ubuntu/cordova/check_reqs create mode 100755 platforms/ubuntu/cordova/clean create mode 100644 platforms/ubuntu/cordova/defaults.xml create mode 100644 platforms/ubuntu/cordova/lib/build.js create mode 100644 platforms/ubuntu/cordova/lib/check_reqs.js create mode 100644 platforms/ubuntu/cordova/lib/config.js create mode 100644 platforms/ubuntu/cordova/lib/config_parser.js create mode 100644 platforms/ubuntu/cordova/lib/constants.js create mode 100644 platforms/ubuntu/cordova/lib/device.js create mode 100644 platforms/ubuntu/cordova/lib/logger.js create mode 100644 platforms/ubuntu/cordova/lib/manifest.js create mode 100644 platforms/ubuntu/cordova/lib/run.js create mode 100644 platforms/ubuntu/cordova/lib/utils.js create mode 100644 platforms/ubuntu/cordova/node_modules/colors/MIT-LICENSE.txt create mode 100644 platforms/ubuntu/cordova/node_modules/colors/ReadMe.md create mode 100644 platforms/ubuntu/cordova/node_modules/colors/colors.js create mode 100644 platforms/ubuntu/cordova/node_modules/colors/example.html create mode 100644 platforms/ubuntu/cordova/node_modules/colors/example.js create mode 100644 platforms/ubuntu/cordova/node_modules/colors/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/colors/test.js create mode 100644 platforms/ubuntu/cordova/node_modules/colors/themes/winston-dark.js create mode 100644 platforms/ubuntu/cordova/node_modules/colors/themes/winston-light.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/.npmignore create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/.travis.yml create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/CHANGES.md create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/LICENSE.txt create mode 100755 platforms/ubuntu/cordova/node_modules/elementtree/Makefile create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/NOTICE create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/README.md create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/constants.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/elementpath.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/elementtree.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/errors.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/parser.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/parsers/index.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/parsers/sax.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/sprintf.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/treebuilder.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/lib/utils.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/AUTHORS create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/LICENSE create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/README.md create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/big-not-pretty.xml create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/example.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/get-products.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/hello-world.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/not-pretty.xml create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/pretty-print.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/shopping.xml create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/strict.dtd create mode 100755 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/switch-bench.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/test.html create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/examples/test.xml create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/lib/sax.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/buffer-overrun.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/cdata-chunked.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/cdata-end-split.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/cdata-fake-end.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/cdata-multiple.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/cdata.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/index.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/issue-23.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/issue-30.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/issue-35.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/issue-47.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/issue-49.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/parser-position.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/script.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/self-closing-child-strict.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/self-closing-child.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/self-closing-tag.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/stray-ending.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/trailing-non-whitespace.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/unquoted.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-issue-41.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-rebinding.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-strict.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-unbound.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-xml-default-prefix.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-xml-default-redefine.js create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/tests/data/xml1.xml create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/tests/data/xml2.xml create mode 100644 platforms/ubuntu/cordova/node_modules/elementtree/tests/test-simple.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/.travis.yml create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/LICENSE create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/bool.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/boolean_double.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/boolean_single.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/default_hash.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/default_singles.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/divide.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/line_count.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/line_count_options.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/line_count_wrap.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/nonopt.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/reflect.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/short.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/string.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/usage-options.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/example/xup.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/index.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/.travis.yml create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/LICENSE create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/example/parse.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/index.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/readme.markdown create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/bool.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/dash.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/default_bool.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/dotted.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/long.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/num.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/parse.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/parse_modified.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/short.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/minimist/test/whitespace.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/wordwrap/LICENSE create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/wordwrap/README.markdown create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/wordwrap/example/center.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/wordwrap/example/meat.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/wordwrap/index.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/wordwrap/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/wordwrap/test/break.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/wordwrap/test/idleness.txt create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/node_modules/wordwrap/test/wrap.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/readme.markdown create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/test/_.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/test/_/argv.js create mode 100755 platforms/ubuntu/cordova/node_modules/optimist/test/_/bin.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/test/dash.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/test/parse.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/test/parse_modified.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/test/short.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/test/usage.js create mode 100644 platforms/ubuntu/cordova/node_modules/optimist/test/whitespace.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/LICENSE create mode 100644 platforms/ubuntu/cordova/node_modules/q/README.md create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/asap/CHANGES.md create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/asap/LICENSE.md create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/asap/README.md create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/asap/asap.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/asap/browser-asap.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/asap/browser-raw.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/asap/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/asap/raw.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/pop-iterate/.npmignore create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/pop-iterate/README.md create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/pop-iterate/array-iterator.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/pop-iterate/iteration.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/pop-iterate/object-iterator.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/pop-iterate/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/pop-iterate/pop-iterate.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/pop-iterate/test/pop-iterate-test.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/weak-map/README.md create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/weak-map/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/q/node_modules/weak-map/weak-map.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/package.json create mode 100644 platforms/ubuntu/cordova/node_modules/q/q.js create mode 100644 platforms/ubuntu/cordova/node_modules/q/queue.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/.documentup.json create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/.jshintrc create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/.npmignore create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/.travis.yml create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/LICENSE create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/README.md create mode 100755 platforms/ubuntu/cordova/node_modules/shelljs/bin/shjs create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/global.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/make.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/package.json create mode 100755 platforms/ubuntu/cordova/node_modules/shelljs/scripts/generate-docs.js create mode 100755 platforms/ubuntu/cordova/node_modules/shelljs/scripts/run-tests.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/shell.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/cat.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/cd.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/chmod.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/common.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/cp.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/dirs.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/echo.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/error.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/exec.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/find.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/grep.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/ls.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/mkdir.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/mv.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/popd.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/pushd.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/pwd.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/rm.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/sed.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/tempdir.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/test.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/to.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/toEnd.js create mode 100644 platforms/ubuntu/cordova/node_modules/shelljs/src/which.js create mode 100755 platforms/ubuntu/cordova/run create mode 100755 platforms/ubuntu/cordova/version create mode 100644 platforms/ubuntu/manifest.json create mode 100644 platforms/ubuntu/platform_www/cordova-js-src/exec.js create mode 100644 platforms/ubuntu/platform_www/cordova-js-src/platform.js create mode 100644 platforms/ubuntu/platform_www/cordova.js create mode 100644 platforms/ubuntu/ubuntu.json create mode 100644 platforms/ubuntu/www/config/api.json create mode 100644 platforms/ubuntu/www/config/merchant.json create mode 100644 platforms/ubuntu/www/css/bootstrap.css create mode 100644 platforms/ubuntu/www/css/bootstrap.min.css create mode 100644 platforms/ubuntu/www/css/font-awesome.css create mode 100644 platforms/ubuntu/www/css/font-awesome.min.css create mode 100644 platforms/ubuntu/www/css/main.css create mode 100644 platforms/ubuntu/www/fonts/FontAwesome.otf create mode 100644 platforms/ubuntu/www/fonts/fontawesome-webfont.eot create mode 100644 platforms/ubuntu/www/fonts/fontawesome-webfont.svg create mode 100644 platforms/ubuntu/www/fonts/fontawesome-webfont.ttf create mode 100644 platforms/ubuntu/www/fonts/fontawesome-webfont.woff create mode 100644 platforms/ubuntu/www/fonts/fontawesome-webfont.woff2 create mode 100644 platforms/ubuntu/www/fonts/glyphicons-halflings-regular.eot create mode 100644 platforms/ubuntu/www/fonts/glyphicons-halflings-regular.svg create mode 100644 platforms/ubuntu/www/fonts/glyphicons-halflings-regular.ttf create mode 100644 platforms/ubuntu/www/fonts/glyphicons-halflings-regular.woff create mode 100644 platforms/ubuntu/www/fonts/glyphicons-halflings-regular.woff2 create mode 100644 platforms/ubuntu/www/index.html create mode 100644 platforms/ubuntu/www/js/bootstrap.js create mode 100644 platforms/ubuntu/www/js/bootstrap.min.js create mode 100644 platforms/ubuntu/www/js/jquery.js create mode 100644 platforms/ubuntu/www/js/main.js create mode 100644 platforms/ubuntu/www/screens/home.html create mode 100644 platforms/ubuntu/www/screens/login.html create mode 100644 platforms/ubuntu/www/screens/pay.html create mode 100644 platforms/ubuntu/www/screens/paymentsent.html create mode 100644 platforms/ubuntu/www/screens/peerpay.html create mode 100644 platforms/ubuntu/www/screens/peersent.html create mode 100644 platforms/ubuntu/www/screens/signup.html create mode 100644 plugins/android.json create mode 100644 plugins/browser.json create mode 100644 plugins/cordova-plugin-compat/README.md create mode 100644 plugins/cordova-plugin-compat/package.json create mode 100644 plugins/cordova-plugin-compat/plugin.xml create mode 100644 plugins/cordova-plugin-compat/src/android/PermissionHelper.java create mode 100644 plugins/cordova-plugin-whitelist/CONTRIBUTING.md create mode 100644 plugins/cordova-plugin-whitelist/LICENSE create mode 100644 plugins/cordova-plugin-whitelist/NOTICE create mode 100644 plugins/cordova-plugin-whitelist/README.md create mode 100644 plugins/cordova-plugin-whitelist/RELEASENOTES.md create mode 100644 plugins/cordova-plugin-whitelist/doc/de/README.md create mode 100644 plugins/cordova-plugin-whitelist/doc/es/README.md create mode 100644 plugins/cordova-plugin-whitelist/doc/fr/README.md create mode 100644 plugins/cordova-plugin-whitelist/doc/it/README.md create mode 100644 plugins/cordova-plugin-whitelist/doc/ja/README.md create mode 100644 plugins/cordova-plugin-whitelist/doc/ko/README.md create mode 100644 plugins/cordova-plugin-whitelist/doc/pl/README.md create mode 100644 plugins/cordova-plugin-whitelist/doc/zh/README.md create mode 100644 plugins/cordova-plugin-whitelist/package.json create mode 100644 plugins/cordova-plugin-whitelist/plugin.xml create mode 100644 plugins/cordova-plugin-whitelist/src/android/WhitelistPlugin.java create mode 100644 plugins/fetch.json create mode 100644 plugins/phonegap-plugin-barcodescanner/README.md create mode 100644 plugins/phonegap-plugin-barcodescanner/package.json create mode 100644 plugins/phonegap-plugin-barcodescanner/plugin.xml create mode 100644 plugins/phonegap-plugin-barcodescanner/src/android/README.md create mode 100644 plugins/phonegap-plugin-barcodescanner/src/android/barcodescanner-release-2.0.1.aar create mode 100644 plugins/phonegap-plugin-barcodescanner/src/android/barcodescanner.gradle create mode 100644 plugins/phonegap-plugin-barcodescanner/src/android/com/phonegap/plugins/barcodescanner/BarcodeScanner.java create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/LICENSE create mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/index.js create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/.cproject create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/.settings/com.qnx.tools.ide.core.prefs create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/.npmignore create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/libBarcodeScanner.so create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/autolink.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/config.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/features.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/forwards.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/json.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/reader.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/value.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/writer.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_batchallocator.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalarray.inl create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalmap.inl create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_reader.cpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_value.cpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_valueiterator.inl create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_writer.cpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.cpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.cpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.h create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/.npmignore create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/libBarcodeScanner.so create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/Logger.cpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/Logger.hpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.cpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.hpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.cpp create mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.hpp create mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/qrcode.js create mode 100755 plugins/phonegap-plugin-barcodescanner/src/browser/BarcodeScannerProxy.js create mode 100755 plugins/phonegap-plugin-barcodescanner/src/ios/CDVBarcodeScanner.bundle/beep.caf create mode 100644 plugins/phonegap-plugin-barcodescanner/src/ios/CDVBarcodeScanner.mm create mode 100644 plugins/phonegap-plugin-barcodescanner/src/ios/scannerOverlay.xib create mode 100644 plugins/phonegap-plugin-barcodescanner/src/ios/zxing-all-in-one.cpp create mode 100644 plugins/phonegap-plugin-barcodescanner/src/ios/zxing-all-in-one.h create mode 100644 plugins/phonegap-plugin-barcodescanner/src/windows/BarcodeScannerProxy.js create mode 100644 plugins/phonegap-plugin-barcodescanner/src/windows/assets/plugin-barcodeScanner.css create mode 100644 plugins/phonegap-plugin-barcodescanner/src/windows/lib.UW/ANY/ZXing.winmd create mode 100644 plugins/phonegap-plugin-barcodescanner/src/windows/lib.UW/ARM/ZXing.winmd create mode 100644 plugins/phonegap-plugin-barcodescanner/src/windows/lib.UW/x64/ZXing.winmd create mode 100644 plugins/phonegap-plugin-barcodescanner/src/windows/lib.UW/x86/ZXing.winmd create mode 100755 plugins/phonegap-plugin-barcodescanner/src/windows/lib/Properties/AssemblyInfo.cs create mode 100755 plugins/phonegap-plugin-barcodescanner/src/windows/lib/Reader.cs create mode 100755 plugins/phonegap-plugin-barcodescanner/src/windows/lib/WinRTBarcodeReader.csproj create mode 100755 plugins/phonegap-plugin-barcodescanner/src/windows/lib/ZXing.winmd create mode 100755 plugins/phonegap-plugin-barcodescanner/src/wp8/BarcodeScanner.cs create mode 100755 plugins/phonegap-plugin-barcodescanner/src/wp8/BarcodeScannerTask.cs create mode 100755 plugins/phonegap-plugin-barcodescanner/src/wp8/BarcodeScannerUI.xaml create mode 100755 plugins/phonegap-plugin-barcodescanner/src/wp8/BarcodeScannerUI.xaml.cs create mode 100755 plugins/phonegap-plugin-barcodescanner/src/wp8/assets/cancel.png create mode 100755 plugins/phonegap-plugin-barcodescanner/src/wp8/lib/zxing.wp8.0.dll create mode 100755 plugins/phonegap-plugin-barcodescanner/tests/plugin.xml create mode 100755 plugins/phonegap-plugin-barcodescanner/tests/tests.js create mode 100644 plugins/phonegap-plugin-barcodescanner/www/barcodescanner.js create mode 100644 www/config/api.json create mode 100644 www/config/merchant.json create mode 100644 www/css/bootstrap.css create mode 100644 www/css/bootstrap.min.css create mode 100644 www/css/font-awesome.css create mode 100644 www/css/font-awesome.min.css create mode 100644 www/css/main.css create mode 100644 www/fonts/FontAwesome.otf create mode 100644 www/fonts/fontawesome-webfont.eot create mode 100644 www/fonts/fontawesome-webfont.svg create mode 100644 www/fonts/fontawesome-webfont.ttf create mode 100644 www/fonts/fontawesome-webfont.woff create mode 100644 www/fonts/fontawesome-webfont.woff2 create mode 100644 www/fonts/glyphicons-halflings-regular.eot create mode 100644 www/fonts/glyphicons-halflings-regular.svg create mode 100644 www/fonts/glyphicons-halflings-regular.ttf create mode 100644 www/fonts/glyphicons-halflings-regular.woff create mode 100644 www/fonts/glyphicons-halflings-regular.woff2 create mode 100644 www/index.html create mode 100644 www/js/bootstrap.js create mode 100644 www/js/bootstrap.min.js create mode 100644 www/js/jquery.js create mode 100644 www/js/main.js create mode 100644 www/screens/home.html create mode 100644 www/screens/login.html diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..28ccb8a --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "www/bower_components" +} diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..37d6aa7 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,10 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +module.exports = function (grunt) { + // Project configuration. + grunt.initConfig({ + }); +}; diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..6060ff9 --- /dev/null +++ b/bower.json @@ -0,0 +1,13 @@ +{ + "name": "SnipeITMobile", + "version": "1.0.0", + "main": "path/to/main.css", + "ignore": [ + ".jshintrc", + "**/*.txt" + ], + "dependencies": { + }, + "devDependencies": { + } +} diff --git a/config.xml b/config.xml new file mode 100644 index 0000000..e8bc3af --- /dev/null +++ b/config.xml @@ -0,0 +1,26 @@ + + + Snipe IT Mobile + + A sample Apache Cordova application that responds to the deviceready event. + + + Apache Cordova Team + + + + + + + + + + + + + + + + + + diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..18b3733 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,11 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +var gulp = require('gulp'); + +gulp.task('default', function () { + // place code for your default task here +}); diff --git a/hooks/README.md b/hooks/README.md new file mode 100644 index 0000000..574ad4c --- /dev/null +++ b/hooks/README.md @@ -0,0 +1,23 @@ + +# Cordova Hooks + +Cordova Hooks represent special scripts which could be added by application and plugin developers or even by your own build system to customize cordova commands. See Hooks Guide for more details: http://cordova.apache.org/docs/en/edge/guide_appdev_hooks_index.md.html#Hooks%20Guide. diff --git a/nbproject/build.xml b/nbproject/build.xml new file mode 100644 index 0000000..a5ddb26 --- /dev/null +++ b/nbproject/build.xml @@ -0,0 +1,293 @@ + + + + + + + + + + = "3.0.0") { + project.setProperty(attributes.get("property"), true); + } + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Install "${basedir}/platforms/ios/build/${project.name}.ipa" through iTunes and run it. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/configs/android.properties b/nbproject/configs/android.properties new file mode 100644 index 0000000..409754d --- /dev/null +++ b/nbproject/configs/android.properties @@ -0,0 +1,3 @@ +device=emulator +display.name=Android Emulator +type=android diff --git a/nbproject/configs/android_1.properties b/nbproject/configs/android_1.properties new file mode 100644 index 0000000..bc6b508 --- /dev/null +++ b/nbproject/configs/android_1.properties @@ -0,0 +1,3 @@ +device=device +display.name=Android Device +type=android diff --git a/nbproject/configs/ios.properties b/nbproject/configs/ios.properties new file mode 100644 index 0000000..35059da --- /dev/null +++ b/nbproject/configs/ios.properties @@ -0,0 +1,5 @@ +device=emulator +display.name=iPhone Simulator +ios.build.arch=i386 +ios.build.sdk=iphonesimulator6.0 +type=ios diff --git a/nbproject/configs/ios_1.properties b/nbproject/configs/ios_1.properties new file mode 100644 index 0000000..6d6ca26 --- /dev/null +++ b/nbproject/configs/ios_1.properties @@ -0,0 +1,5 @@ +device=device +display.name=iPhone Device +ios.build.arch=armv6 armv7 +ios.build.sdk=iphoneos6.0 +type=ios diff --git a/nbproject/plugins.properties b/nbproject/plugins.properties new file mode 100644 index 0000000..646a3ab --- /dev/null +++ b/nbproject/plugins.properties @@ -0,0 +1,29 @@ +# This is a list of plugins installed in your project +# You can delete or add new plugins +# +# Format is following: +# id.of.plugin=url_of_repository +# +# Corresponding "id.of.plugin" can be found in the plugin's plugin.xml file: +# +# +# This list contains all core cordova plugins. +# +# For more information about plugins see http://cordova.apache.org/blog/releases/2013/07/23/cordova-3.html +# + +cordova-plugin-device=https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git +cordova-plugin-network-information=https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git +cordova-plugin-battery-status=https://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status.git +cordova-plugin-device-motion=https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-motion.git +cordova-plugin-device-orientation=https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git +cordova-plugin-geolocation=https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git +cordova-plugin-camera=https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git +cordova-plugin-media-capture=https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git +cordova-plugin-media=https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git +cordova-plugin-file=https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git +cordova-plugin-file-transfer=https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git +cordova-plugin-dialogs=https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git +cordova-plugin-vibration=https://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration.git +cordova-plugin-contacts=https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git +cordova-plugin-console=https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..a281893 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,7 @@ +auxiliary.org-netbeans-modules-cordova.cordova_5f_build_5f_script_5f_version=52 +auxiliary.org-netbeans-modules-cordova.phonegap=false +file.reference.SnipeITMobile-test=test +file.reference.SnipeITMobile-www=www +files.encoding=UTF-8 +site.root.folder=${file.reference.SnipeITMobile-www} +test.folder=${file.reference.SnipeITMobile-test} diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..b1839d0 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.web.clientproject + + + SnipeITMobile + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..d46cdfe --- /dev/null +++ b/package.json @@ -0,0 +1,8 @@ +{ + "name": "SnipeITMobile", + "version": "1.0.0", + "keywords": ["util", "functional", "server", "client", "browser"], + "author": "skylar", + "contributors": [], + "dependencies": {} +} diff --git a/platforms/android/.gitignore b/platforms/android/.gitignore new file mode 100644 index 0000000..6e52445 --- /dev/null +++ b/platforms/android/.gitignore @@ -0,0 +1,14 @@ +# Non-project-specific build files: +build.xml +local.properties +/gradlew +/gradlew.bat +/gradle +# Ant builds +ant-build +ant-gen +# Eclipse builds +gen +out +# Gradle builds +/build diff --git a/platforms/android/AndroidManifest.xml b/platforms/android/AndroidManifest.xml new file mode 100644 index 0000000..145b9c1 --- /dev/null +++ b/platforms/android/AndroidManifest.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platforms/android/CordovaLib/AndroidManifest.xml b/platforms/android/CordovaLib/AndroidManifest.xml new file mode 100755 index 0000000..3feb903 --- /dev/null +++ b/platforms/android/CordovaLib/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + diff --git a/platforms/android/CordovaLib/build.gradle b/platforms/android/CordovaLib/build.gradle new file mode 100644 index 0000000..f1c6682 --- /dev/null +++ b/platforms/android/CordovaLib/build.gradle @@ -0,0 +1,61 @@ +/* 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. +*/ + + + +buildscript { + repositories { + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:1.5.0' + } + +} + +apply plugin: 'android-library' + +ext { + apply from: 'cordova.gradle' + cdvCompileSdkVersion = privateHelpers.getProjectTarget() + cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools() +} + +android { + compileSdkVersion cdvCompileSdkVersion + buildToolsVersion cdvBuildToolsVersion + publishNonDefault true + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_6 + targetCompatibility JavaVersion.VERSION_1_6 + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + } +} diff --git a/platforms/android/CordovaLib/cordova.gradle b/platforms/android/CordovaLib/cordova.gradle new file mode 100644 index 0000000..7465266 --- /dev/null +++ b/platforms/android/CordovaLib/cordova.gradle @@ -0,0 +1,201 @@ +/* + 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. +*/ + +import java.util.regex.Pattern +import groovy.swing.SwingBuilder + +String doEnsureValueExists(filePath, props, key) { + if (props.get(key) == null) { + throw new GradleException(filePath + ': Missing key required "' + key + '"') + } + return props.get(key) +} + +String doGetProjectTarget() { + def props = new Properties() + file('project.properties').withReader { reader -> + props.load(reader) + } + return doEnsureValueExists('project.properties', props, 'target') +} + +String[] getAvailableBuildTools() { + def buildToolsDir = new File(getAndroidSdkDir(), "build-tools") + buildToolsDir.list() + .findAll { it ==~ /[0-9.]+/ } + .sort { a, b -> compareVersions(b, a) } +} + +String doFindLatestInstalledBuildTools(String minBuildToolsVersion) { + def availableBuildToolsVersions + try { + availableBuildToolsVersions = getAvailableBuildTools() + } catch (e) { + println "An exception occurred while trying to find the Android build tools." + throw e + } + if (availableBuildToolsVersions.length > 0) { + def highestBuildToolsVersion = availableBuildToolsVersions[0] + if (compareVersions(highestBuildToolsVersion, minBuildToolsVersion) < 0) { + throw new RuntimeException( + "No usable Android build tools found. Highest installed version is " + + highestBuildToolsVersion + "; minimum version required is " + + minBuildToolsVersion + ".") + } + highestBuildToolsVersion + } else { + throw new RuntimeException( + "No installed build tools found. Please install the Android build tools version " + + minBuildToolsVersion + " or higher.") + } +} + +// Return the first non-zero result of subtracting version list elements +// pairwise. If they are all identical, return the difference in length of +// the two lists. +int compareVersionList(Collection aParts, Collection bParts) { + def pairs = ([aParts, bParts]).transpose() + pairs.findResult(aParts.size()-bParts.size()) {it[0] - it[1] != 0 ? it[0] - it[1] : null} +} + +// Compare two version strings, such as "19.0.0" and "18.1.1.0". If all matched +// elements are identical, the longer version is the largest by this method. +// Examples: +// "19.0.0" > "19" +// "19.0.1" > "19.0.0" +// "19.1.0" > "19.0.1" +// "19" > "18.999.999" +int compareVersions(String a, String b) { + def aParts = a.tokenize('.').collect {it.toInteger()} + def bParts = b.tokenize('.').collect {it.toInteger()} + compareVersionList(aParts, bParts) +} + +String getAndroidSdkDir() { + def rootDir = project.rootDir + def androidSdkDir = null + String envVar = System.getenv("ANDROID_HOME") + def localProperties = new File(rootDir, 'local.properties') + String systemProperty = System.getProperty("android.home") + if (envVar != null) { + androidSdkDir = envVar + } else if (localProperties.exists()) { + Properties properties = new Properties() + localProperties.withInputStream { instr -> + properties.load(instr) + } + def sdkDirProp = properties.getProperty('sdk.dir') + if (sdkDirProp != null) { + androidSdkDir = sdkDirProp + } else { + sdkDirProp = properties.getProperty('android.dir') + if (sdkDirProp != null) { + androidSdkDir = (new File(rootDir, sdkDirProp)).getAbsolutePath() + } + } + } + if (androidSdkDir == null && systemProperty != null) { + androidSdkDir = systemProperty + } + if (androidSdkDir == null) { + throw new RuntimeException( + "Unable to determine Android SDK directory.") + } + androidSdkDir +} + +def doExtractIntFromManifest(name) { + def manifestFile = file(android.sourceSets.main.manifest.srcFile) + def pattern = Pattern.compile(name + "=\"(\\d+)\"") + def matcher = pattern.matcher(manifestFile.getText()) + matcher.find() + return Integer.parseInt(matcher.group(1)) +} + +def doExtractStringFromManifest(name) { + def manifestFile = file(android.sourceSets.main.manifest.srcFile) + def pattern = Pattern.compile(name + "=\"(\\S+)\"") + def matcher = pattern.matcher(manifestFile.getText()) + matcher.find() + return matcher.group(1) +} + +def doPromptForPassword(msg) { + if (System.console() == null) { + def ret = null + new SwingBuilder().edt { + dialog(modal: true, title: 'Enter password', alwaysOnTop: true, resizable: false, locationRelativeTo: null, pack: true, show: true) { + vbox { + label(text: msg) + def input = passwordField() + button(defaultButton: true, text: 'OK', actionPerformed: { + ret = input.password; + dispose(); + }) + } + } + } + if (!ret) { + throw new GradleException('User canceled build') + } + return new String(ret) + } else { + return System.console().readPassword('\n' + msg); + } +} + +def doGetConfigXml() { + def xml = file("res/xml/config.xml").getText() + // Disable namespace awareness since Cordova doesn't use them properly + return new XmlParser(false, false).parseText(xml) +} + +def doGetConfigPreference(name, defaultValue) { + name = name.toLowerCase() + def root = doGetConfigXml() + + def ret = defaultValue + root.preference.each { it -> + def attrName = it.attribute("name") + if (attrName && attrName.toLowerCase() == name) { + ret = it.attribute("value") + } + } + return ret +} + +// Properties exported here are visible to all plugins. +ext { + // These helpers are shared, but are not guaranteed to be stable / unchanged. + privateHelpers = {} + privateHelpers.getProjectTarget = { doGetProjectTarget() } + privateHelpers.findLatestInstalledBuildTools = { doFindLatestInstalledBuildTools('19.1.0') } + privateHelpers.extractIntFromManifest = { name -> doExtractIntFromManifest(name) } + privateHelpers.extractStringFromManifest = { name -> doExtractStringFromManifest(name) } + privateHelpers.promptForPassword = { msg -> doPromptForPassword(msg) } + privateHelpers.ensureValueExists = { filePath, props, key -> doEnsureValueExists(filePath, props, key) } + + // These helpers can be used by plugins / projects and will not change. + cdvHelpers = {} + // Returns a XmlParser for the config.xml. Added in 4.1.0. + cdvHelpers.getConfigXml = { doGetConfigXml() } + // Returns the value for the desired . Added in 4.1.0. + cdvHelpers.getConfigPreference = { name, defaultValue -> doGetConfigPreference(name, defaultValue) } +} + diff --git a/platforms/android/CordovaLib/project.properties b/platforms/android/CordovaLib/project.properties new file mode 100644 index 0000000..2342a16 --- /dev/null +++ b/platforms/android/CordovaLib/project.properties @@ -0,0 +1,16 @@ +# 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. + +# Indicates whether an apk should be generated for each density. +split.density=false +# Project target. +target=android-23 +apk-configurations= +renderscript.opt.level=O0 +android.library=true diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java b/platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java new file mode 100644 index 0000000..d3a231a --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java @@ -0,0 +1,69 @@ +/* + 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. +*/ +package org.apache.cordova; + +/** + * The Class AuthenticationToken defines the userName and password to be used for authenticating a web resource + */ +public class AuthenticationToken { + private String userName; + private String password; + + /** + * Gets the user name. + * + * @return the user name + */ + public String getUserName() { + return userName; + } + + /** + * Sets the user name. + * + * @param userName + * the new user name + */ + public void setUserName(String userName) { + this.userName = userName; + } + + /** + * Gets the password. + * + * @return the password + */ + public String getPassword() { + return password; + } + + /** + * Sets the password. + * + * @param password + * the new password + */ + public void setPassword(String password) { + this.password = password; + } + + + + +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java b/platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java new file mode 100644 index 0000000..4c0d7b9 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java @@ -0,0 +1,144 @@ +/* + 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. +*/ +package org.apache.cordova; + +import org.json.JSONArray; + +import android.util.Log; + +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.PluginResult; +import org.json.JSONObject; + +public class CallbackContext { + private static final String LOG_TAG = "CordovaPlugin"; + + private String callbackId; + private CordovaWebView webView; + protected boolean finished; + private int changingThreads; + + public CallbackContext(String callbackId, CordovaWebView webView) { + this.callbackId = callbackId; + this.webView = webView; + } + + public boolean isFinished() { + return finished; + } + + public boolean isChangingThreads() { + return changingThreads > 0; + } + + public String getCallbackId() { + return callbackId; + } + + public void sendPluginResult(PluginResult pluginResult) { + synchronized (this) { + if (finished) { + Log.w(LOG_TAG, "Attempted to send a second callback for ID: " + callbackId + "\nResult was: " + pluginResult.getMessage()); + return; + } else { + finished = !pluginResult.getKeepCallback(); + } + } + webView.sendPluginResult(pluginResult, callbackId); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(JSONObject message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(String message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(JSONArray message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(byte[] message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(int message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + */ + public void success() { + sendPluginResult(new PluginResult(PluginResult.Status.OK)); + } + + /** + * Helper for error callbacks that just returns the Status.ERROR by default + * + * @param message The message to add to the error result. + */ + public void error(JSONObject message) { + sendPluginResult(new PluginResult(PluginResult.Status.ERROR, message)); + } + + /** + * Helper for error callbacks that just returns the Status.ERROR by default + * + * @param message The message to add to the error result. + */ + public void error(String message) { + sendPluginResult(new PluginResult(PluginResult.Status.ERROR, message)); + } + + /** + * Helper for error callbacks that just returns the Status.ERROR by default + * + * @param message The message to add to the error result. + */ + public void error(int message) { + sendPluginResult(new PluginResult(PluginResult.Status.ERROR, message)); + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/Config.java b/platforms/android/CordovaLib/src/org/apache/cordova/Config.java new file mode 100644 index 0000000..048960b --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/Config.java @@ -0,0 +1,72 @@ +/* + 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. +*/ + +package org.apache.cordova; + +import java.util.List; + +import android.app.Activity; +import android.util.Log; + +@Deprecated // Use Whitelist, CordovaPrefences, etc. directly. +public class Config { + private static final String TAG = "Config"; + + static ConfigXmlParser parser; + + private Config() { + } + + public static void init(Activity action) { + parser = new ConfigXmlParser(); + parser.parse(action); + //TODO: Add feature to bring this back. Some preferences should be overridden by intents, but not all + parser.getPreferences().setPreferencesBundle(action.getIntent().getExtras()); + } + + // Intended to be used for testing only; creates an empty configuration. + public static void init() { + if (parser == null) { + parser = new ConfigXmlParser(); + } + } + + public static String getStartUrl() { + if (parser == null) { + return "file:///android_asset/www/index.html"; + } + return parser.getLaunchUrl(); + } + + public static String getErrorUrl() { + return parser.getPreferences().getString("errorurl", null); + } + + public static List getPluginEntries() { + return parser.getPluginEntries(); + } + + public static CordovaPreferences getPreferences() { + return parser.getPreferences(); + } + + public static boolean isInitialized() { + return parser != null; + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java b/platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java new file mode 100644 index 0000000..01a97f2 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java @@ -0,0 +1,145 @@ +/* + 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. +*/ + +package org.apache.cordova; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Locale; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; + +import android.content.Context; + +public class ConfigXmlParser { + private static String TAG = "ConfigXmlParser"; + + private String launchUrl = "file:///android_asset/www/index.html"; + private CordovaPreferences prefs = new CordovaPreferences(); + private ArrayList pluginEntries = new ArrayList(20); + + public CordovaPreferences getPreferences() { + return prefs; + } + + public ArrayList getPluginEntries() { + return pluginEntries; + } + + public String getLaunchUrl() { + return launchUrl; + } + + public void parse(Context action) { + // First checking the class namespace for config.xml + int id = action.getResources().getIdentifier("config", "xml", action.getClass().getPackage().getName()); + if (id == 0) { + // If we couldn't find config.xml there, we'll look in the namespace from AndroidManifest.xml + id = action.getResources().getIdentifier("config", "xml", action.getPackageName()); + if (id == 0) { + LOG.e(TAG, "res/xml/config.xml is missing!"); + return; + } + } + parse(action.getResources().getXml(id)); + } + + boolean insideFeature = false; + String service = "", pluginClass = "", paramType = ""; + boolean onload = false; + + public void parse(XmlPullParser xml) { + int eventType = -1; + + while (eventType != XmlPullParser.END_DOCUMENT) { + if (eventType == XmlPullParser.START_TAG) { + handleStartTag(xml); + } + else if (eventType == XmlPullParser.END_TAG) + { + handleEndTag(xml); + } + try { + eventType = xml.next(); + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + public void handleStartTag(XmlPullParser xml) { + String strNode = xml.getName(); + if (strNode.equals("feature")) { + //Check for supported feature sets aka. plugins (Accelerometer, Geolocation, etc) + //Set the bit for reading params + insideFeature = true; + service = xml.getAttributeValue(null, "name"); + } + else if (insideFeature && strNode.equals("param")) { + paramType = xml.getAttributeValue(null, "name"); + if (paramType.equals("service")) // check if it is using the older service param + service = xml.getAttributeValue(null, "value"); + else if (paramType.equals("package") || paramType.equals("android-package")) + pluginClass = xml.getAttributeValue(null,"value"); + else if (paramType.equals("onload")) + onload = "true".equals(xml.getAttributeValue(null, "value")); + } + else if (strNode.equals("preference")) { + String name = xml.getAttributeValue(null, "name").toLowerCase(Locale.ENGLISH); + String value = xml.getAttributeValue(null, "value"); + prefs.set(name, value); + } + else if (strNode.equals("content")) { + String src = xml.getAttributeValue(null, "src"); + if (src != null) { + setStartUrl(src); + } + } + } + + public void handleEndTag(XmlPullParser xml) { + String strNode = xml.getName(); + if (strNode.equals("feature")) { + pluginEntries.add(new PluginEntry(service, pluginClass, onload)); + + service = ""; + pluginClass = ""; + insideFeature = false; + onload = false; + } + } + + private void setStartUrl(String src) { + Pattern schemeRegex = Pattern.compile("^[a-z-]+://"); + Matcher matcher = schemeRegex.matcher(src); + if (matcher.find()) { + launchUrl = src; + } else { + if (src.charAt(0) == '/') { + src = src.substring(1); + } + launchUrl = "file:///android_asset/www/" + src; + } + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java new file mode 100755 index 0000000..868b243 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java @@ -0,0 +1,508 @@ +/* + 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. +*/ +package org.apache.cordova; + +import java.util.ArrayList; +import java.util.Locale; + +import org.json.JSONException; +import org.json.JSONObject; + +import android.app.Activity; +import android.app.AlertDialog; +import android.annotation.SuppressLint; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.res.Configuration; +import android.graphics.Color; +import android.media.AudioManager; +import android.os.Build; +import android.os.Bundle; +import android.util.Log; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.webkit.WebViewClient; +import android.widget.FrameLayout; + +/** + * This class is the main Android activity that represents the Cordova + * application. It should be extended by the user to load the specific + * html file that contains the application. + * + * As an example: + * + *
+ *     package org.apache.cordova.examples;
+ *
+ *     import android.os.Bundle;
+ *     import org.apache.cordova.*;
+ *
+ *     public class Example extends CordovaActivity {
+ *       @Override
+ *       public void onCreate(Bundle savedInstanceState) {
+ *         super.onCreate(savedInstanceState);
+ *         super.init();
+ *         // Load your application
+ *         loadUrl(launchUrl);
+ *       }
+ *     }
+ * 
+ * + * Cordova xml configuration: Cordova uses a configuration file at + * res/xml/config.xml to specify its settings. See "The config.xml File" + * guide in cordova-docs at http://cordova.apache.org/docs for the documentation + * for the configuration. The use of the set*Property() methods is + * deprecated in favor of the config.xml file. + * + */ +public class CordovaActivity extends Activity { + public static String TAG = "CordovaActivity"; + + // The webview for our app + protected CordovaWebView appView; + + private static int ACTIVITY_STARTING = 0; + private static int ACTIVITY_RUNNING = 1; + private static int ACTIVITY_EXITING = 2; + + // Keep app running when pause is received. (default = true) + // If true, then the JavaScript and native code continue to run in the background + // when another application (activity) is started. + protected boolean keepRunning = true; + + // Flag to keep immersive mode if set to fullscreen + protected boolean immersiveMode; + + // Read from config.xml: + protected CordovaPreferences preferences; + protected String launchUrl; + protected ArrayList pluginEntries; + protected CordovaInterfaceImpl cordovaInterface; + + /** + * Called when the activity is first created. + */ + @Override + public void onCreate(Bundle savedInstanceState) { + LOG.i(TAG, "Apache Cordova native platform version " + CordovaWebView.CORDOVA_VERSION + " is starting"); + LOG.d(TAG, "CordovaActivity.onCreate()"); + + // need to activate preferences before super.onCreate to avoid "requestFeature() must be called before adding content" exception + loadConfig(); + if (!preferences.getBoolean("ShowTitle", false)) { + getWindow().requestFeature(Window.FEATURE_NO_TITLE); + } + + if (preferences.getBoolean("SetFullscreen", false)) { + Log.d(TAG, "The SetFullscreen configuration is deprecated in favor of Fullscreen, and will be removed in a future version."); + preferences.set("Fullscreen", true); + } + if (preferences.getBoolean("Fullscreen", false)) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + immersiveMode = true; + } else { + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + } else { + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); + } + + super.onCreate(savedInstanceState); + + cordovaInterface = makeCordovaInterface(); + if (savedInstanceState != null) { + cordovaInterface.restoreInstanceState(savedInstanceState); + } + } + + protected void init() { + appView = makeWebView(); + createViews(); + if (!appView.isInitialized()) { + appView.init(cordovaInterface, pluginEntries, preferences); + } + cordovaInterface.onCordovaInit(appView.getPluginManager()); + + // Wire the hardware volume controls to control media if desired. + String volumePref = preferences.getString("DefaultVolumeStream", ""); + if ("media".equals(volumePref.toLowerCase(Locale.ENGLISH))) { + setVolumeControlStream(AudioManager.STREAM_MUSIC); + } + } + + @SuppressWarnings("deprecation") + protected void loadConfig() { + ConfigXmlParser parser = new ConfigXmlParser(); + parser.parse(this); + preferences = parser.getPreferences(); + preferences.setPreferencesBundle(getIntent().getExtras()); + launchUrl = parser.getLaunchUrl(); + pluginEntries = parser.getPluginEntries(); + Config.parser = parser; + } + + //Suppressing warnings in AndroidStudio + @SuppressWarnings({"deprecation", "ResourceType"}) + protected void createViews() { + //Why are we setting a constant as the ID? This should be investigated + appView.getView().setId(100); + appView.getView().setLayoutParams(new FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT)); + + setContentView(appView.getView()); + + if (preferences.contains("BackgroundColor")) { + int backgroundColor = preferences.getInteger("BackgroundColor", Color.BLACK); + // Background of activity: + appView.getView().setBackgroundColor(backgroundColor); + } + + appView.getView().requestFocusFromTouch(); + } + + /** + * Construct the default web view object. + *

+ * Override this to customize the webview that is used. + */ + protected CordovaWebView makeWebView() { + return new CordovaWebViewImpl(makeWebViewEngine()); + } + + protected CordovaWebViewEngine makeWebViewEngine() { + return CordovaWebViewImpl.createEngine(this, preferences); + } + + protected CordovaInterfaceImpl makeCordovaInterface() { + return new CordovaInterfaceImpl(this) { + @Override + public Object onMessage(String id, Object data) { + // Plumb this to CordovaActivity.onMessage for backwards compatibility + return CordovaActivity.this.onMessage(id, data); + } + }; + } + + /** + * Load the url into the webview. + */ + public void loadUrl(String url) { + if (appView == null) { + init(); + } + + // If keepRunning + this.keepRunning = preferences.getBoolean("KeepRunning", true); + + appView.loadUrlIntoView(url, true); + } + + /** + * Called when the system is about to start resuming a previous activity. + */ + @Override + protected void onPause() { + super.onPause(); + LOG.d(TAG, "Paused the activity."); + + if (this.appView != null) { + // CB-9382 If there is an activity that started for result and main activity is waiting for callback + // result, we shoudn't stop WebView Javascript timers, as activity for result might be using them + boolean keepRunning = this.keepRunning || this.cordovaInterface.activityResultCallback != null; + this.appView.handlePause(keepRunning); + } + } + + /** + * Called when the activity receives a new intent + */ + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + //Forward to plugins + if (this.appView != null) + this.appView.onNewIntent(intent); + } + + /** + * Called when the activity will start interacting with the user. + */ + @Override + protected void onResume() { + super.onResume(); + LOG.d(TAG, "Resumed the activity."); + + if (this.appView == null) { + return; + } + // Force window to have focus, so application always + // receive user input. Workaround for some devices (Samsung Galaxy Note 3 at least) + this.getWindow().getDecorView().requestFocus(); + + this.appView.handleResume(this.keepRunning); + } + + /** + * Called when the activity is no longer visible to the user. + */ + @Override + protected void onStop() { + super.onStop(); + LOG.d(TAG, "Stopped the activity."); + + if (this.appView == null) { + return; + } + this.appView.handleStop(); + } + + /** + * Called when the activity is becoming visible to the user. + */ + @Override + protected void onStart() { + super.onStart(); + LOG.d(TAG, "Started the activity."); + + if (this.appView == null) { + return; + } + this.appView.handleStart(); + } + + /** + * The final call you receive before your activity is destroyed. + */ + @Override + public void onDestroy() { + LOG.d(TAG, "CordovaActivity.onDestroy()"); + super.onDestroy(); + + if (this.appView != null) { + appView.handleDestroy(); + } + } + + /** + * Called when view focus is changed + */ + @Override + public void onWindowFocusChanged(boolean hasFocus) { + super.onWindowFocusChanged(hasFocus); + if (hasFocus && immersiveMode) { + final int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_FULLSCREEN + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; + + getWindow().getDecorView().setSystemUiVisibility(uiOptions); + } + } + + @SuppressLint("NewApi") + @Override + public void startActivityForResult(Intent intent, int requestCode, Bundle options) { + // Capture requestCode here so that it is captured in the setActivityResultCallback() case. + cordovaInterface.setActivityResultRequestCode(requestCode); + super.startActivityForResult(intent, requestCode, options); + } + + /** + * Called when an activity you launched exits, giving you the requestCode you started it with, + * the resultCode it returned, and any additional data from it. + * + * @param requestCode The request code originally supplied to startActivityForResult(), + * allowing you to identify who this result came from. + * @param resultCode The integer result code returned by the child activity through its setResult(). + * @param intent An Intent, which can return result data to the caller (various data can be attached to Intent "extras"). + */ + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent intent) { + LOG.d(TAG, "Incoming Result. Request code = " + requestCode); + super.onActivityResult(requestCode, resultCode, intent); + cordovaInterface.onActivityResult(requestCode, resultCode, intent); + } + + /** + * Report an error to the host application. These errors are unrecoverable (i.e. the main resource is unavailable). + * The errorCode parameter corresponds to one of the ERROR_* constants. + * + * @param errorCode The error code corresponding to an ERROR_* value. + * @param description A String describing the error. + * @param failingUrl The url that failed to load. + */ + public void onReceivedError(final int errorCode, final String description, final String failingUrl) { + final CordovaActivity me = this; + + // If errorUrl specified, then load it + final String errorUrl = preferences.getString("errorUrl", null); + if ((errorUrl != null) && (!failingUrl.equals(errorUrl)) && (appView != null)) { + // Load URL on UI thread + me.runOnUiThread(new Runnable() { + public void run() { + me.appView.showWebPage(errorUrl, false, true, null); + } + }); + } + // If not, then display error dialog + else { + final boolean exit = !(errorCode == WebViewClient.ERROR_HOST_LOOKUP); + me.runOnUiThread(new Runnable() { + public void run() { + if (exit) { + me.appView.getView().setVisibility(View.GONE); + me.displayError("Application Error", description + " (" + failingUrl + ")", "OK", exit); + } + } + }); + } + } + + /** + * Display an error dialog and optionally exit application. + */ + public void displayError(final String title, final String message, final String button, final boolean exit) { + final CordovaActivity me = this; + me.runOnUiThread(new Runnable() { + public void run() { + try { + AlertDialog.Builder dlg = new AlertDialog.Builder(me); + dlg.setMessage(message); + dlg.setTitle(title); + dlg.setCancelable(false); + dlg.setPositiveButton(button, + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + if (exit) { + finish(); + } + } + }); + dlg.create(); + dlg.show(); + } catch (Exception e) { + finish(); + } + } + }); + } + + /* + * Hook in Cordova for menu plugins + */ + @Override + public boolean onCreateOptionsMenu(Menu menu) { + if (appView != null) { + appView.getPluginManager().postMessage("onCreateOptionsMenu", menu); + } + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + if (appView != null) { + appView.getPluginManager().postMessage("onPrepareOptionsMenu", menu); + } + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (appView != null) { + appView.getPluginManager().postMessage("onOptionsItemSelected", item); + } + return true; + } + + /** + * Called when a message is sent to plugin. + * + * @param id The message id + * @param data The message data + * @return Object or null + */ + public Object onMessage(String id, Object data) { + if ("onReceivedError".equals(id)) { + JSONObject d = (JSONObject) data; + try { + this.onReceivedError(d.getInt("errorCode"), d.getString("description"), d.getString("url")); + } catch (JSONException e) { + e.printStackTrace(); + } + } else if ("exit".equals(id)) { + finish(); + } + return null; + } + + protected void onSaveInstanceState(Bundle outState) { + cordovaInterface.onSaveInstanceState(outState); + super.onSaveInstanceState(outState); + } + + /** + * Called by the system when the device configuration changes while your activity is running. + * + * @param newConfig The new device configuration + */ + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + if (this.appView == null) { + return; + } + PluginManager pm = this.appView.getPluginManager(); + if (pm != null) { + pm.onConfigurationChanged(newConfig); + } + } + + /** + * Called by the system when the user grants permissions + * + * @param requestCode + * @param permissions + * @param grantResults + */ + @Override + public void onRequestPermissionsResult(int requestCode, String permissions[], + int[] grantResults) { + try + { + cordovaInterface.onRequestPermissionResult(requestCode, permissions, grantResults); + } + catch (JSONException e) + { + LOG.d(TAG, "JSONException: Parameters fed into the method are not valid"); + e.printStackTrace(); + } + + } + +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java new file mode 100644 index 0000000..d40d26e --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java @@ -0,0 +1,113 @@ +/* + 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. +*/ +package org.apache.cordova; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import android.util.Base64; + +public class CordovaArgs { + private JSONArray baseArgs; + + public CordovaArgs(JSONArray args) { + this.baseArgs = args; + } + + + // Pass through the basics to the base args. + public Object get(int index) throws JSONException { + return baseArgs.get(index); + } + + public boolean getBoolean(int index) throws JSONException { + return baseArgs.getBoolean(index); + } + + public double getDouble(int index) throws JSONException { + return baseArgs.getDouble(index); + } + + public int getInt(int index) throws JSONException { + return baseArgs.getInt(index); + } + + public JSONArray getJSONArray(int index) throws JSONException { + return baseArgs.getJSONArray(index); + } + + public JSONObject getJSONObject(int index) throws JSONException { + return baseArgs.getJSONObject(index); + } + + public long getLong(int index) throws JSONException { + return baseArgs.getLong(index); + } + + public String getString(int index) throws JSONException { + return baseArgs.getString(index); + } + + + public Object opt(int index) { + return baseArgs.opt(index); + } + + public boolean optBoolean(int index) { + return baseArgs.optBoolean(index); + } + + public double optDouble(int index) { + return baseArgs.optDouble(index); + } + + public int optInt(int index) { + return baseArgs.optInt(index); + } + + public JSONArray optJSONArray(int index) { + return baseArgs.optJSONArray(index); + } + + public JSONObject optJSONObject(int index) { + return baseArgs.optJSONObject(index); + } + + public long optLong(int index) { + return baseArgs.optLong(index); + } + + public String optString(int index) { + return baseArgs.optString(index); + } + + public boolean isNull(int index) { + return baseArgs.isNull(index); + } + + + // The interesting custom helpers. + public byte[] getArrayBuffer(int index) throws JSONException { + String encoded = baseArgs.getString(index); + return Base64.decode(encoded, Base64.DEFAULT); + } +} + + diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java new file mode 100644 index 0000000..7bc4a55 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java @@ -0,0 +1,184 @@ +/* + 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. +*/ +package org.apache.cordova; + +import java.security.SecureRandom; + +import org.json.JSONArray; +import org.json.JSONException; + +import android.util.Log; + +/** + * Contains APIs that the JS can call. All functions in here should also have + * an equivalent entry in CordovaChromeClient.java, and be added to + * cordova-js/lib/android/plugin/android/promptbasednativeapi.js + */ +public class CordovaBridge { + private static final String LOG_TAG = "CordovaBridge"; + private PluginManager pluginManager; + private NativeToJsMessageQueue jsMessageQueue; + private volatile int expectedBridgeSecret = -1; // written by UI thread, read by JS thread. + + public CordovaBridge(PluginManager pluginManager, NativeToJsMessageQueue jsMessageQueue) { + this.pluginManager = pluginManager; + this.jsMessageQueue = jsMessageQueue; + } + + public String jsExec(int bridgeSecret, String service, String action, String callbackId, String arguments) throws JSONException, IllegalAccessException { + if (!verifySecret("exec()", bridgeSecret)) { + return null; + } + // If the arguments weren't received, send a message back to JS. It will switch bridge modes and try again. See CB-2666. + // We send a message meant specifically for this case. It starts with "@" so no other message can be encoded into the same string. + if (arguments == null) { + return "@Null arguments."; + } + + jsMessageQueue.setPaused(true); + try { + // Tell the resourceApi what thread the JS is running on. + CordovaResourceApi.jsThread = Thread.currentThread(); + + pluginManager.exec(service, action, callbackId, arguments); + String ret = null; + if (!NativeToJsMessageQueue.DISABLE_EXEC_CHAINING) { + ret = jsMessageQueue.popAndEncode(false); + } + return ret; + } catch (Throwable e) { + e.printStackTrace(); + return ""; + } finally { + jsMessageQueue.setPaused(false); + } + } + + public void jsSetNativeToJsBridgeMode(int bridgeSecret, int value) throws IllegalAccessException { + if (!verifySecret("setNativeToJsBridgeMode()", bridgeSecret)) { + return; + } + jsMessageQueue.setBridgeMode(value); + } + + public String jsRetrieveJsMessages(int bridgeSecret, boolean fromOnlineEvent) throws IllegalAccessException { + if (!verifySecret("retrieveJsMessages()", bridgeSecret)) { + return null; + } + return jsMessageQueue.popAndEncode(fromOnlineEvent); + } + + private boolean verifySecret(String action, int bridgeSecret) throws IllegalAccessException { + if (!jsMessageQueue.isBridgeEnabled()) { + if (bridgeSecret == -1) { + Log.d(LOG_TAG, action + " call made before bridge was enabled."); + } else { + Log.d(LOG_TAG, "Ignoring " + action + " from previous page load."); + } + return false; + } + // Bridge secret wrong and bridge not due to it being from the previous page. + if (expectedBridgeSecret < 0 || bridgeSecret != expectedBridgeSecret) { + Log.e(LOG_TAG, "Bridge access attempt with wrong secret token, possibly from malicious code. Disabling exec() bridge!"); + clearBridgeSecret(); + throw new IllegalAccessException(); + } + return true; + } + + /** Called on page transitions */ + void clearBridgeSecret() { + expectedBridgeSecret = -1; + } + + public boolean isSecretEstablished() { + return expectedBridgeSecret != -1; + } + + /** Called by cordova.js to initialize the bridge. */ + int generateBridgeSecret() { + SecureRandom randGen = new SecureRandom(); + expectedBridgeSecret = randGen.nextInt(Integer.MAX_VALUE); + return expectedBridgeSecret; + } + + public void reset() { + jsMessageQueue.reset(); + clearBridgeSecret(); + } + + public String promptOnJsPrompt(String origin, String message, String defaultValue) { + if (defaultValue != null && defaultValue.length() > 3 && defaultValue.startsWith("gap:")) { + JSONArray array; + try { + array = new JSONArray(defaultValue.substring(4)); + int bridgeSecret = array.getInt(0); + String service = array.getString(1); + String action = array.getString(2); + String callbackId = array.getString(3); + String r = jsExec(bridgeSecret, service, action, callbackId, message); + return r == null ? "" : r; + } catch (JSONException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return ""; + } + // Sets the native->JS bridge mode. + else if (defaultValue != null && defaultValue.startsWith("gap_bridge_mode:")) { + try { + int bridgeSecret = Integer.parseInt(defaultValue.substring(16)); + jsSetNativeToJsBridgeMode(bridgeSecret, Integer.parseInt(message)); + } catch (NumberFormatException e){ + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return ""; + } + // Polling for JavaScript messages + else if (defaultValue != null && defaultValue.startsWith("gap_poll:")) { + int bridgeSecret = Integer.parseInt(defaultValue.substring(9)); + try { + String r = jsRetrieveJsMessages(bridgeSecret, "1".equals(message)); + return r == null ? "" : r; + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return ""; + } + else if (defaultValue != null && defaultValue.startsWith("gap_init:")) { + // Protect against random iframes being able to talk through the bridge. + // Trust only pages which the app would have been allowed to navigate to anyway. + if (pluginManager.shouldAllowBridgeAccess(origin)) { + // Enable the bridge + int bridgeMode = Integer.parseInt(defaultValue.substring(9)); + jsMessageQueue.setBridgeMode(bridgeMode); + // Tell JS the bridge secret. + int secret = generateBridgeSecret(); + return ""+secret; + } else { + Log.e(LOG_TAG, "gap_init called from restricted origin: " + origin); + } + return ""; + } + return null; + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java new file mode 100644 index 0000000..5dd0eca --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java @@ -0,0 +1,96 @@ +/* + 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. +*/ +package org.apache.cordova; + +import java.security.Principal; +import java.security.PrivateKey; +import java.security.cert.X509Certificate; + +import android.webkit.ClientCertRequest; + +/** + * Implementation of the ICordovaClientCertRequest for Android WebView. + */ +public class CordovaClientCertRequest implements ICordovaClientCertRequest { + + private final ClientCertRequest request; + + public CordovaClientCertRequest(ClientCertRequest request) { + this.request = request; + } + + /** + * Cancel this request + */ + public void cancel() + { + request.cancel(); + } + + /* + * Returns the host name of the server requesting the certificate. + */ + public String getHost() + { + return request.getHost(); + } + + /* + * Returns the acceptable types of asymmetric keys (can be null). + */ + public String[] getKeyTypes() + { + return request.getKeyTypes(); + } + + /* + * Returns the port number of the server requesting the certificate. + */ + public int getPort() + { + return request.getPort(); + } + + /* + * Returns the acceptable certificate issuers for the certificate matching the private key (can be null). + */ + public Principal[] getPrincipals() + { + return request.getPrincipals(); + } + + /* + * Ignore the request for now. Do not remember user's choice. + */ + public void ignore() + { + request.ignore(); + } + + /* + * Proceed with the specified private key and client certificate chain. Remember the user's positive choice and use it for future requests. + * + * @param privateKey The privateKey + * @param chain The certificate chain + */ + public void proceed(PrivateKey privateKey, X509Certificate[] chain) + { + request.proceed(privateKey, chain); + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java new file mode 100644 index 0000000..a219c99 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java @@ -0,0 +1,152 @@ +/* + 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. +*/ +package org.apache.cordova; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.widget.EditText; + +/** + * Helper class for WebViews to implement prompt(), alert(), confirm() dialogs. + */ +public class CordovaDialogsHelper { + private final Context context; + private AlertDialog lastHandledDialog; + + public CordovaDialogsHelper(Context context) { + this.context = context; + } + + public void showAlert(String message, final Result result) { + AlertDialog.Builder dlg = new AlertDialog.Builder(context); + dlg.setMessage(message); + dlg.setTitle("Alert"); + //Don't let alerts break the back button + dlg.setCancelable(true); + dlg.setPositiveButton(android.R.string.ok, + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(true, null); + } + }); + dlg.setOnCancelListener( + new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + result.gotResult(false, null); + } + }); + dlg.setOnKeyListener(new DialogInterface.OnKeyListener() { + //DO NOTHING + public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) + { + result.gotResult(true, null); + return false; + } + else + return true; + } + }); + lastHandledDialog = dlg.show(); + } + + public void showConfirm(String message, final Result result) { + AlertDialog.Builder dlg = new AlertDialog.Builder(context); + dlg.setMessage(message); + dlg.setTitle("Confirm"); + dlg.setCancelable(true); + dlg.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(true, null); + } + }); + dlg.setNegativeButton(android.R.string.cancel, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(false, null); + } + }); + dlg.setOnCancelListener( + new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + result.gotResult(false, null); + } + }); + dlg.setOnKeyListener(new DialogInterface.OnKeyListener() { + //DO NOTHING + public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) + { + result.gotResult(false, null); + return false; + } + else + return true; + } + }); + lastHandledDialog = dlg.show(); + } + + /** + * Tell the client to display a prompt dialog to the user. + * If the client returns true, WebView will assume that the client will + * handle the prompt dialog and call the appropriate JsPromptResult method. + * + * Since we are hacking prompts for our own purposes, we should not be using them for + * this purpose, perhaps we should hack console.log to do this instead! + */ + public void showPrompt(String message, String defaultValue, final Result result) { + // Returning false would also show a dialog, but the default one shows the origin (ugly). + AlertDialog.Builder dlg = new AlertDialog.Builder(context); + dlg.setMessage(message); + final EditText input = new EditText(context); + if (defaultValue != null) { + input.setText(defaultValue); + } + dlg.setView(input); + dlg.setCancelable(false); + dlg.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + String userText = input.getText().toString(); + result.gotResult(true, userText); + } + }); + dlg.setNegativeButton(android.R.string.cancel, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(false, null); + } + }); + lastHandledDialog = dlg.show(); + } + + public void destroyLastDialog(){ + if (lastHandledDialog != null){ + lastHandledDialog.cancel(); + } + } + + public interface Result { + public void gotResult(boolean success, String value); + } +} \ No newline at end of file diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java new file mode 100644 index 0000000..724381e --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java @@ -0,0 +1,51 @@ +/* + 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. +*/ +package org.apache.cordova; + +import android.webkit.HttpAuthHandler; + +/** + * Specifies interface for HTTP auth handler object which is used to handle auth requests and + * specifying user credentials. + */ +public class CordovaHttpAuthHandler implements ICordovaHttpAuthHandler { + + private final HttpAuthHandler handler; + + public CordovaHttpAuthHandler(HttpAuthHandler handler) { + this.handler = handler; + } + + /** + * Instructs the WebView to cancel the authentication request. + */ + public void cancel () { + this.handler.cancel(); + } + + /** + * Instructs the WebView to proceed with the authentication with the given credentials. + * + * @param username + * @param password + */ + public void proceed (String username, String password) { + this.handler.proceed(username, password); + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java new file mode 100755 index 0000000..3b8468f --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java @@ -0,0 +1,88 @@ +/* + 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. +*/ +package org.apache.cordova; + +import android.app.Activity; +import android.content.Intent; + +import org.apache.cordova.CordovaPlugin; + +import java.util.concurrent.ExecutorService; + +/** + * The Activity interface that is implemented by CordovaActivity. + * It is used to isolate plugin development, and remove dependency on entire Cordova library. + */ +public interface CordovaInterface { + + /** + * Launch an activity for which you would like a result when it finished. When this activity exits, + * your onActivityResult() method will be called. + * + * @param command The command object + * @param intent The intent to start + * @param requestCode The request code that is passed to callback to identify the activity + */ + abstract public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode); + + /** + * Set the plugin to be called when a sub-activity exits. + * + * @param plugin The plugin on which onActivityResult is to be called + */ + abstract public void setActivityResultCallback(CordovaPlugin plugin); + + /** + * Get the Android activity. + * + * @return the Activity + */ + public abstract Activity getActivity(); + + + /** + * Called when a message is sent to plugin. + * + * @param id The message id + * @param data The message data + * @return Object or null + */ + public Object onMessage(String id, Object data); + + /** + * Returns a shared thread pool that can be used for background tasks. + */ + public ExecutorService getThreadPool(); + + /** + * Sends a permission request to the activity for one permission. + */ + public void requestPermission(CordovaPlugin plugin, int requestCode, String permission); + + /** + * Sends a permission request to the activity for a group of permissions + */ + public void requestPermissions(CordovaPlugin plugin, int requestCode, String [] permissions); + + /** + * Check for a permission. Returns true if the permission is granted, false otherwise. + */ + public boolean hasPermission(String permission); + +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java new file mode 100644 index 0000000..d1420b6 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java @@ -0,0 +1,243 @@ +/* + 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. +*/ + +package org.apache.cordova; + +import android.app.Activity; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Build; +import android.os.Bundle; +import android.util.Log; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * Default implementation of CordovaInterface. + */ +public class CordovaInterfaceImpl implements CordovaInterface { + private static final String TAG = "CordovaInterfaceImpl"; + protected Activity activity; + protected ExecutorService threadPool; + protected PluginManager pluginManager; + + protected ActivityResultHolder savedResult; + protected CordovaPlugin activityResultCallback; + protected CordovaPlugin permissionResultCallback; + protected String initCallbackService; + protected int activityResultRequestCode; + protected boolean activityWasDestroyed = false; + protected Bundle savedPluginState; + + public CordovaInterfaceImpl(Activity activity) { + this(activity, Executors.newCachedThreadPool()); + } + + public CordovaInterfaceImpl(Activity activity, ExecutorService threadPool) { + this.activity = activity; + this.threadPool = threadPool; + } + + @Override + public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode) { + setActivityResultCallback(command); + try { + activity.startActivityForResult(intent, requestCode); + } catch (RuntimeException e) { // E.g.: ActivityNotFoundException + activityResultCallback = null; + throw e; + } + } + + @Override + public void setActivityResultCallback(CordovaPlugin plugin) { + // Cancel any previously pending activity. + if (activityResultCallback != null) { + activityResultCallback.onActivityResult(activityResultRequestCode, Activity.RESULT_CANCELED, null); + } + activityResultCallback = plugin; + } + + @Override + public Activity getActivity() { + return activity; + } + + @Override + public Object onMessage(String id, Object data) { + if ("exit".equals(id)) { + activity.finish(); + } + return null; + } + + @Override + public ExecutorService getThreadPool() { + return threadPool; + } + + /** + * Dispatches any pending onActivityResult callbacks and sends the resume event if the + * Activity was destroyed by the OS. + */ + public void onCordovaInit(PluginManager pluginManager) { + this.pluginManager = pluginManager; + if (savedResult != null) { + onActivityResult(savedResult.requestCode, savedResult.resultCode, savedResult.intent); + } else if(activityWasDestroyed) { + // If there was no Activity result, we still need to send out the resume event if the + // Activity was destroyed by the OS + activityWasDestroyed = false; + if(pluginManager != null) + { + CoreAndroid appPlugin = (CoreAndroid) pluginManager.getPlugin(CoreAndroid.PLUGIN_NAME); + if(appPlugin != null) { + JSONObject obj = new JSONObject(); + try { + obj.put("action", "resume"); + } catch (JSONException e) { + LOG.e(TAG, "Failed to create event message", e); + } + appPlugin.sendResumeEvent(new PluginResult(PluginResult.Status.OK, obj)); + } + } + + } + } + + /** + * Routes the result to the awaiting plugin. Returns false if no plugin was waiting. + */ + public boolean onActivityResult(int requestCode, int resultCode, Intent intent) { + CordovaPlugin callback = activityResultCallback; + if(callback == null && initCallbackService != null) { + // The application was restarted, but had defined an initial callback + // before being shut down. + savedResult = new ActivityResultHolder(requestCode, resultCode, intent); + if (pluginManager != null) { + callback = pluginManager.getPlugin(initCallbackService); + if(callback != null) { + callback.onRestoreStateForActivityResult(savedPluginState.getBundle(callback.getServiceName()), + new ResumeCallback(callback.getServiceName(), pluginManager)); + } + } + } + activityResultCallback = null; + + if (callback != null) { + Log.d(TAG, "Sending activity result to plugin"); + initCallbackService = null; + savedResult = null; + callback.onActivityResult(requestCode, resultCode, intent); + return true; + } + Log.w(TAG, "Got an activity result, but no plugin was registered to receive it" + (savedResult != null ? " yet!" : ".")); + return false; + } + + /** + * Call this from your startActivityForResult() overload. This is required to catch the case + * where plugins use Activity.startActivityForResult() + CordovaInterface.setActivityResultCallback() + * rather than CordovaInterface.startActivityForResult(). + */ + public void setActivityResultRequestCode(int requestCode) { + activityResultRequestCode = requestCode; + } + + /** + * Saves parameters for startActivityForResult(). + */ + public void onSaveInstanceState(Bundle outState) { + if (activityResultCallback != null) { + String serviceName = activityResultCallback.getServiceName(); + outState.putString("callbackService", serviceName); + } + if(pluginManager != null){ + outState.putBundle("plugin", pluginManager.onSaveInstanceState()); + } + + } + + /** + * Call this from onCreate() so that any saved startActivityForResult parameters will be restored. + */ + public void restoreInstanceState(Bundle savedInstanceState) { + initCallbackService = savedInstanceState.getString("callbackService"); + savedPluginState = savedInstanceState.getBundle("plugin"); + activityWasDestroyed = true; + } + + private static class ActivityResultHolder { + private int requestCode; + private int resultCode; + private Intent intent; + + public ActivityResultHolder(int requestCode, int resultCode, Intent intent) { + this.requestCode = requestCode; + this.resultCode = resultCode; + this.intent = intent; + } + } + + /** + * Called by the system when the user grants permissions + * + * @param requestCode + * @param permissions + * @param grantResults + */ + public void onRequestPermissionResult(int requestCode, String[] permissions, + int[] grantResults) throws JSONException { + if(permissionResultCallback != null) + { + permissionResultCallback.onRequestPermissionResult(requestCode, permissions, grantResults); + permissionResultCallback = null; + } + } + + public void requestPermission(CordovaPlugin plugin, int requestCode, String permission) { + permissionResultCallback = plugin; + String[] permissions = new String [1]; + permissions[0] = permission; + getActivity().requestPermissions(permissions, requestCode); + } + + public void requestPermissions(CordovaPlugin plugin, int requestCode, String [] permissions) + { + permissionResultCallback = plugin; + getActivity().requestPermissions(permissions, requestCode); + } + + public boolean hasPermission(String permission) + { + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + { + int result = activity.checkSelfPermission(permission); + return PackageManager.PERMISSION_GRANTED == result; + } + else + { + return true; + } + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java new file mode 100644 index 0000000..41af1db --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java @@ -0,0 +1,422 @@ +/* + 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. +*/ +package org.apache.cordova; + +import org.apache.cordova.CordovaArgs; +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CallbackContext; +import org.json.JSONArray; +import org.json.JSONException; + +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.res.Configuration; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; + +import java.io.FileNotFoundException; +import java.io.IOException; + +/** + * Plugins must extend this class and override one of the execute methods. + */ +public class CordovaPlugin { + public CordovaWebView webView; + public CordovaInterface cordova; + protected CordovaPreferences preferences; + private String serviceName; + + /** + * Call this after constructing to initialize the plugin. + * Final because we want to be able to change args without breaking plugins. + */ + public final void privateInitialize(String serviceName, CordovaInterface cordova, CordovaWebView webView, CordovaPreferences preferences) { + assert this.cordova == null; + this.serviceName = serviceName; + this.cordova = cordova; + this.webView = webView; + this.preferences = preferences; + initialize(cordova, webView); + pluginInitialize(); + } + + /** + * Called after plugin construction and fields have been initialized. + * Prefer to use pluginInitialize instead since there is no value in + * having parameters on the initialize() function. + */ + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + } + + /** + * Called after plugin construction and fields have been initialized. + */ + protected void pluginInitialize() { + } + + /** + * Returns the plugin's service name (what you'd use when calling pluginManger.getPlugin()) + */ + public String getServiceName() { + return serviceName; + } + + /** + * Executes the request. + * + * This method is called from the WebView thread. To do a non-trivial amount of work, use: + * cordova.getThreadPool().execute(runnable); + * + * To run on the UI thread, use: + * cordova.getActivity().runOnUiThread(runnable); + * + * @param action The action to execute. + * @param rawArgs The exec() arguments in JSON form. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return Whether the action was valid. + */ + public boolean execute(String action, String rawArgs, CallbackContext callbackContext) throws JSONException { + JSONArray args = new JSONArray(rawArgs); + return execute(action, args, callbackContext); + } + + /** + * Executes the request. + * + * This method is called from the WebView thread. To do a non-trivial amount of work, use: + * cordova.getThreadPool().execute(runnable); + * + * To run on the UI thread, use: + * cordova.getActivity().runOnUiThread(runnable); + * + * @param action The action to execute. + * @param args The exec() arguments. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return Whether the action was valid. + */ + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + CordovaArgs cordovaArgs = new CordovaArgs(args); + return execute(action, cordovaArgs, callbackContext); + } + + /** + * Executes the request. + * + * This method is called from the WebView thread. To do a non-trivial amount of work, use: + * cordova.getThreadPool().execute(runnable); + * + * To run on the UI thread, use: + * cordova.getActivity().runOnUiThread(runnable); + * + * @param action The action to execute. + * @param args The exec() arguments, wrapped with some Cordova helpers. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return Whether the action was valid. + */ + public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { + return false; + } + + /** + * Called when the system is about to start resuming a previous activity. + * + * @param multitasking Flag indicating if multitasking is turned on for app + */ + public void onPause(boolean multitasking) { + } + + /** + * Called when the activity will start interacting with the user. + * + * @param multitasking Flag indicating if multitasking is turned on for app + */ + public void onResume(boolean multitasking) { + } + + /** + * Called when the activity is becoming visible to the user. + */ + public void onStart() { + } + + /** + * Called when the activity is no longer visible to the user. + */ + public void onStop() { + } + + /** + * Called when the activity receives a new intent. + */ + public void onNewIntent(Intent intent) { + } + + /** + * The final call you receive before your activity is destroyed. + */ + public void onDestroy() { + } + + /** + * Called when the Activity is being destroyed (e.g. if a plugin calls out to an external + * Activity and the OS kills the CordovaActivity in the background). The plugin should save its + * state in this method only if it is awaiting the result of an external Activity and needs + * to preserve some information so as to handle that result; onRestoreStateForActivityResult() + * will only be called if the plugin is the recipient of an Activity result + * + * @return Bundle containing the state of the plugin or null if state does not need to be saved + */ + public Bundle onSaveInstanceState() { + return null; + } + + /** + * Called when a plugin is the recipient of an Activity result after the CordovaActivity has + * been destroyed. The Bundle will be the same as the one the plugin returned in + * onSaveInstanceState() + * + * @param state Bundle containing the state of the plugin + * @param callbackContext Replacement Context to return the plugin result to + */ + public void onRestoreStateForActivityResult(Bundle state, CallbackContext callbackContext) {} + + /** + * Called when a message is sent to plugin. + * + * @param id The message id + * @param data The message data + * @return Object to stop propagation or null + */ + public Object onMessage(String id, Object data) { + return null; + } + + /** + * Called when an activity you launched exits, giving you the requestCode you started it with, + * the resultCode it returned, and any additional data from it. + * + * @param requestCode The request code originally supplied to startActivityForResult(), + * allowing you to identify who this result came from. + * @param resultCode The integer result code returned by the child activity through its setResult(). + * @param intent An Intent, which can return result data to the caller (various data can be + * attached to Intent "extras"). + */ + public void onActivityResult(int requestCode, int resultCode, Intent intent) { + } + + /** + * Hook for blocking the loading of external resources. + * + * This will be called when the WebView's shouldInterceptRequest wants to + * know whether to open a connection to an external resource. Return false + * to block the request: if any plugin returns false, Cordova will block + * the request. If all plugins return null, the default policy will be + * enforced. If at least one plugin returns true, and no plugins return + * false, then the request will proceed. + * + * Note that this only affects resource requests which are routed through + * WebViewClient.shouldInterceptRequest, such as XMLHttpRequest requests and + * img tag loads. WebSockets and media requests (such as

+
+ + + + + + diff --git a/platforms/android/assets/www/js/bootstrap.js b/platforms/android/assets/www/js/bootstrap.js new file mode 100644 index 0000000..01fbbcb --- /dev/null +++ b/platforms/android/assets/www/js/bootstrap.js @@ -0,0 +1,2363 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ + +if (typeof jQuery === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery') +} + ++function ($) { + 'use strict'; + var version = $.fn.jquery.split(' ')[0].split('.') + if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) { + throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3') + } +}(jQuery); + +/* ======================================================================== + * Bootstrap: transition.js v3.3.6 + * http://getbootstrap.com/javascript/#transitions + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + WebkitTransition : 'webkitTransitionEnd', + MozTransition : 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + + return false // explicit for ie8 ( ._.) + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false + var $el = this + $(this).one('bsTransitionEnd', function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + + if (!$.support.transition) return + + $.event.special.bsTransitionEnd = { + bindType: $.support.transition.end, + delegateType: $.support.transition.end, + handle: function (e) { + if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) + } + } + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: alert.js v3.3.6 + * http://getbootstrap.com/javascript/#alerts + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.VERSION = '3.3.6' + + Alert.TRANSITION_DURATION = 150 + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.closest('.alert') + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + // detach from parent, fire event then clean up data + $parent.detach().trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one('bsTransitionEnd', removeElement) + .emulateTransitionEnd(Alert.TRANSITION_DURATION) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.alert + + $.fn.alert = Plugin + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: button.js v3.3.6 + * http://getbootstrap.com/javascript/#buttons + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + this.isLoading = false + } + + Button.VERSION = '3.3.6' + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state += 'Text' + + if (data.resetText == null) $el.data('resetText', $el[val]()) + + // push to event loop to allow forms to submit + setTimeout($.proxy(function () { + $el[val](data[state] == null ? this.options[state] : data[state]) + + if (state == 'loadingText') { + this.isLoading = true + $el.addClass(d).attr(d, d) + } else if (this.isLoading) { + this.isLoading = false + $el.removeClass(d).removeAttr(d) + } + }, this), 0) + } + + Button.prototype.toggle = function () { + var changed = true + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + if ($input.prop('type') == 'radio') { + if ($input.prop('checked')) changed = false + $parent.find('.active').removeClass('active') + this.$element.addClass('active') + } else if ($input.prop('type') == 'checkbox') { + if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false + this.$element.toggleClass('active') + } + $input.prop('checked', this.$element.hasClass('active')) + if (changed) $input.trigger('change') + } else { + this.$element.attr('aria-pressed', !this.$element.hasClass('active')) + this.$element.toggleClass('active') + } + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + var old = $.fn.button + + $.fn.button = Plugin + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document) + .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + Plugin.call($btn, 'toggle') + if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() + }) + .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { + $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: carousel.js v3.3.6 + * http://getbootstrap.com/javascript/#carousel + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CAROUSEL CLASS DEFINITION + // ========================= + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.paused = null + this.sliding = null + this.interval = null + this.$active = null + this.$items = null + + this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) + + this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element + .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) + .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) + } + + Carousel.VERSION = '3.3.6' + + Carousel.TRANSITION_DURATION = 600 + + Carousel.DEFAULTS = { + interval: 5000, + pause: 'hover', + wrap: true, + keyboard: true + } + + Carousel.prototype.keydown = function (e) { + if (/input|textarea/i.test(e.target.tagName)) return + switch (e.which) { + case 37: this.prev(); break + case 39: this.next(); break + default: return + } + + e.preventDefault() + } + + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) + + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + + return this + } + + Carousel.prototype.getItemIndex = function (item) { + this.$items = item.parent().children('.item') + return this.$items.index(item || this.$active) + } + + Carousel.prototype.getItemForDirection = function (direction, active) { + var activeIndex = this.getItemIndex(active) + var willWrap = (direction == 'prev' && activeIndex === 0) + || (direction == 'next' && activeIndex == (this.$items.length - 1)) + if (willWrap && !this.options.wrap) return active + var delta = direction == 'prev' ? -1 : 1 + var itemIndex = (activeIndex + delta) % this.$items.length + return this.$items.eq(itemIndex) + } + + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" + if (activeIndex == pos) return this.pause().cycle() + + return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) + } + + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || this.getItemForDirection(type, $active) + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var that = this + + if ($next.hasClass('active')) return (this.sliding = false) + + var relatedTarget = $next[0] + var slideEvent = $.Event('slide.bs.carousel', { + relatedTarget: relatedTarget, + direction: direction + }) + this.$element.trigger(slideEvent) + if (slideEvent.isDefaultPrevented()) return + + this.sliding = true + + isCycling && this.pause() + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) + $nextIndicator && $nextIndicator.addClass('active') + } + + var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" + if ($.support.transition && this.$element.hasClass('slide')) { + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + $active + .one('bsTransitionEnd', function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { + that.$element.trigger(slidEvent) + }, 0) + }) + .emulateTransitionEnd(Carousel.TRANSITION_DURATION) + } else { + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger(slidEvent) + } + + isCycling && this.cycle() + + return this + } + + + // CAROUSEL PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.carousel') + var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + + if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + var old = $.fn.carousel + + $.fn.carousel = Plugin + $.fn.carousel.Constructor = Carousel + + + // CAROUSEL NO CONFLICT + // ==================== + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + + // CAROUSEL DATA-API + // ================= + + var clickHandler = function (e) { + var href + var $this = $(this) + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 + if (!$target.hasClass('carousel')) return + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex = $this.attr('data-slide-to') + if (slideIndex) options.interval = false + + Plugin.call($target, options) + + if (slideIndex) { + $target.data('bs.carousel').to(slideIndex) + } + + e.preventDefault() + } + + $(document) + .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) + .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) + + $(window).on('load', function () { + $('[data-ride="carousel"]').each(function () { + var $carousel = $(this) + Plugin.call($carousel, $carousel.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: collapse.js v3.3.6 + * http://getbootstrap.com/javascript/#collapse + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // COLLAPSE PUBLIC CLASS DEFINITION + // ================================ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Collapse.DEFAULTS, options) + this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + + '[data-toggle="collapse"][data-target="#' + element.id + '"]') + this.transitioning = null + + if (this.options.parent) { + this.$parent = this.getParent() + } else { + this.addAriaAndCollapsedClass(this.$element, this.$trigger) + } + + if (this.options.toggle) this.toggle() + } + + Collapse.VERSION = '3.3.6' + + Collapse.TRANSITION_DURATION = 350 + + Collapse.DEFAULTS = { + toggle: true + } + + Collapse.prototype.dimension = function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + Collapse.prototype.show = function () { + if (this.transitioning || this.$element.hasClass('in')) return + + var activesData + var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') + + if (actives && actives.length) { + activesData = actives.data('bs.collapse') + if (activesData && activesData.transitioning) return + } + + var startEvent = $.Event('show.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + if (actives && actives.length) { + Plugin.call(actives, 'hide') + activesData || actives.data('bs.collapse', null) + } + + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + .addClass('collapsing')[dimension](0) + .attr('aria-expanded', true) + + this.$trigger + .removeClass('collapsed') + .attr('aria-expanded', true) + + this.transitioning = 1 + + var complete = function () { + this.$element + .removeClass('collapsing') + .addClass('collapse in')[dimension]('') + this.transitioning = 0 + this.$element + .trigger('shown.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + var scrollSize = $.camelCase(['scroll', dimension].join('-')) + + this.$element + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) + } + + Collapse.prototype.hide = function () { + if (this.transitioning || !this.$element.hasClass('in')) return + + var startEvent = $.Event('hide.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var dimension = this.dimension() + + this.$element[dimension](this.$element[dimension]())[0].offsetHeight + + this.$element + .addClass('collapsing') + .removeClass('collapse in') + .attr('aria-expanded', false) + + this.$trigger + .addClass('collapsed') + .attr('aria-expanded', false) + + this.transitioning = 1 + + var complete = function () { + this.transitioning = 0 + this.$element + .removeClass('collapsing') + .addClass('collapse') + .trigger('hidden.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + this.$element + [dimension](0) + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION) + } + + Collapse.prototype.toggle = function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + Collapse.prototype.getParent = function () { + return $(this.options.parent) + .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') + .each($.proxy(function (i, element) { + var $element = $(element) + this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) + }, this)) + .end() + } + + Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { + var isOpen = $element.hasClass('in') + + $element.attr('aria-expanded', isOpen) + $trigger + .toggleClass('collapsed', !isOpen) + .attr('aria-expanded', isOpen) + } + + function getTargetFromTrigger($trigger) { + var href + var target = $trigger.attr('data-target') + || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 + + return $(target) + } + + + // COLLAPSE PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.collapse') + var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false + if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.collapse + + $.fn.collapse = Plugin + $.fn.collapse.Constructor = Collapse + + + // COLLAPSE NO CONFLICT + // ==================== + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + // COLLAPSE DATA-API + // ================= + + $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { + var $this = $(this) + + if (!$this.attr('data-target')) e.preventDefault() + + var $target = getTargetFromTrigger($this) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $this.data() + + Plugin.call($target, option) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: dropdown.js v3.3.6 + * http://getbootstrap.com/javascript/#dropdowns + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle="dropdown"]' + var Dropdown = function (element) { + $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.VERSION = '3.3.6' + + function getParent($this) { + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = selector && $(selector) + + return $parent && $parent.length ? $parent : $this.parent() + } + + function clearMenus(e) { + if (e && e.which === 3) return + $(backdrop).remove() + $(toggle).each(function () { + var $this = $(this) + var $parent = getParent($this) + var relatedTarget = { relatedTarget: this } + + if (!$parent.hasClass('open')) return + + if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return + + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this.attr('aria-expanded', 'false') + $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget)) + }) + } + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we use a backdrop because click events don't delegate + $(document.createElement('div')) + .addClass('dropdown-backdrop') + .insertAfter($(this)) + .on('click', clearMenus) + } + + var relatedTarget = { relatedTarget: this } + $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this + .trigger('focus') + .attr('aria-expanded', 'true') + + $parent + .toggleClass('open') + .trigger($.Event('shown.bs.dropdown', relatedTarget)) + } + + return false + } + + Dropdown.prototype.keydown = function (e) { + if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return + + var $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + if (!isActive && e.which != 27 || isActive && e.which == 27) { + if (e.which == 27) $parent.find(toggle).trigger('focus') + return $this.trigger('click') + } + + var desc = ' li:not(.disabled):visible a' + var $items = $parent.find('.dropdown-menu' + desc) + + if (!$items.length) return + + var index = $items.index(e.target) + + if (e.which == 38 && index > 0) index-- // up + if (e.which == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items.eq(index).trigger('focus') + } + + + // DROPDOWN PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.dropdown') + + if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.dropdown + + $.fn.dropdown = Plugin + $.fn.dropdown.Constructor = Dropdown + + + // DROPDOWN NO CONFLICT + // ==================== + + $.fn.dropdown.noConflict = function () { + $.fn.dropdown = old + return this + } + + + // APPLY TO STANDARD DROPDOWN ELEMENTS + // =================================== + + $(document) + .on('click.bs.dropdown.data-api', clearMenus) + .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) + .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) + .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: modal.js v3.3.6 + * http://getbootstrap.com/javascript/#modals + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // MODAL CLASS DEFINITION + // ====================== + + var Modal = function (element, options) { + this.options = options + this.$body = $(document.body) + this.$element = $(element) + this.$dialog = this.$element.find('.modal-dialog') + this.$backdrop = null + this.isShown = null + this.originalBodyPad = null + this.scrollbarWidth = 0 + this.ignoreBackdropClick = false + + if (this.options.remote) { + this.$element + .find('.modal-content') + .load(this.options.remote, $.proxy(function () { + this.$element.trigger('loaded.bs.modal') + }, this)) + } + } + + Modal.VERSION = '3.3.6' + + Modal.TRANSITION_DURATION = 300 + Modal.BACKDROP_TRANSITION_DURATION = 150 + + Modal.DEFAULTS = { + backdrop: true, + keyboard: true, + show: true + } + + Modal.prototype.toggle = function (_relatedTarget) { + return this.isShown ? this.hide() : this.show(_relatedTarget) + } + + Modal.prototype.show = function (_relatedTarget) { + var that = this + var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + this.isShown = true + + this.checkScrollbar() + this.setScrollbar() + this.$body.addClass('modal-open') + + this.escape() + this.resize() + + this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) + + this.$dialog.on('mousedown.dismiss.bs.modal', function () { + that.$element.one('mouseup.dismiss.bs.modal', function (e) { + if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true + }) + }) + + this.backdrop(function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(that.$body) // don't move modals dom position + } + + that.$element + .show() + .scrollTop(0) + + that.adjustDialog() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element.addClass('in') + + that.enforceFocus() + + var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) + + transition ? + that.$dialog // wait for modal to slide in + .one('bsTransitionEnd', function () { + that.$element.trigger('focus').trigger(e) + }) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + that.$element.trigger('focus').trigger(e) + }) + } + + Modal.prototype.hide = function (e) { + if (e) e.preventDefault() + + e = $.Event('hide.bs.modal') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + this.escape() + this.resize() + + $(document).off('focusin.bs.modal') + + this.$element + .removeClass('in') + .off('click.dismiss.bs.modal') + .off('mouseup.dismiss.bs.modal') + + this.$dialog.off('mousedown.dismiss.bs.modal') + + $.support.transition && this.$element.hasClass('fade') ? + this.$element + .one('bsTransitionEnd', $.proxy(this.hideModal, this)) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + this.hideModal() + } + + Modal.prototype.enforceFocus = function () { + $(document) + .off('focusin.bs.modal') // guard against infinite focus loop + .on('focusin.bs.modal', $.proxy(function (e) { + if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { + this.$element.trigger('focus') + } + }, this)) + } + + Modal.prototype.escape = function () { + if (this.isShown && this.options.keyboard) { + this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { + e.which == 27 && this.hide() + }, this)) + } else if (!this.isShown) { + this.$element.off('keydown.dismiss.bs.modal') + } + } + + Modal.prototype.resize = function () { + if (this.isShown) { + $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) + } else { + $(window).off('resize.bs.modal') + } + } + + Modal.prototype.hideModal = function () { + var that = this + this.$element.hide() + this.backdrop(function () { + that.$body.removeClass('modal-open') + that.resetAdjustments() + that.resetScrollbar() + that.$element.trigger('hidden.bs.modal') + }) + } + + Modal.prototype.removeBackdrop = function () { + this.$backdrop && this.$backdrop.remove() + this.$backdrop = null + } + + Modal.prototype.backdrop = function (callback) { + var that = this + var animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $(document.createElement('div')) + .addClass('modal-backdrop ' + animate) + .appendTo(this.$body) + + this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { + if (this.ignoreBackdropClick) { + this.ignoreBackdropClick = false + return + } + if (e.target !== e.currentTarget) return + this.options.backdrop == 'static' + ? this.$element[0].focus() + : this.hide() + }, this)) + + if (doAnimate) this.$backdrop[0].offsetWidth // force reflow + + this.$backdrop.addClass('in') + + if (!callback) return + + doAnimate ? + this.$backdrop + .one('bsTransitionEnd', callback) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callback() + + } else if (!this.isShown && this.$backdrop) { + this.$backdrop.removeClass('in') + + var callbackRemove = function () { + that.removeBackdrop() + callback && callback() + } + $.support.transition && this.$element.hasClass('fade') ? + this.$backdrop + .one('bsTransitionEnd', callbackRemove) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callbackRemove() + + } else if (callback) { + callback() + } + } + + // these following methods are used to handle overflowing modals + + Modal.prototype.handleUpdate = function () { + this.adjustDialog() + } + + Modal.prototype.adjustDialog = function () { + var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight + + this.$element.css({ + paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', + paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' + }) + } + + Modal.prototype.resetAdjustments = function () { + this.$element.css({ + paddingLeft: '', + paddingRight: '' + }) + } + + Modal.prototype.checkScrollbar = function () { + var fullWindowWidth = window.innerWidth + if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 + var documentElementRect = document.documentElement.getBoundingClientRect() + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) + } + this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth + this.scrollbarWidth = this.measureScrollbar() + } + + Modal.prototype.setScrollbar = function () { + var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) + this.originalBodyPad = document.body.style.paddingRight || '' + if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) + } + + Modal.prototype.resetScrollbar = function () { + this.$body.css('padding-right', this.originalBodyPad) + } + + Modal.prototype.measureScrollbar = function () { // thx walsh + var scrollDiv = document.createElement('div') + scrollDiv.className = 'modal-scrollbar-measure' + this.$body.append(scrollDiv) + var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth + this.$body[0].removeChild(scrollDiv) + return scrollbarWidth + } + + + // MODAL PLUGIN DEFINITION + // ======================= + + function Plugin(option, _relatedTarget) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.modal') + var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data) $this.data('bs.modal', (data = new Modal(this, options))) + if (typeof option == 'string') data[option](_relatedTarget) + else if (options.show) data.show(_relatedTarget) + }) + } + + var old = $.fn.modal + + $.fn.modal = Plugin + $.fn.modal.Constructor = Modal + + + // MODAL NO CONFLICT + // ================= + + $.fn.modal.noConflict = function () { + $.fn.modal = old + return this + } + + + // MODAL DATA-API + // ============== + + $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { + var $this = $(this) + var href = $this.attr('href') + var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 + var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) + + if ($this.is('a')) e.preventDefault() + + $target.one('show.bs.modal', function (showEvent) { + if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown + $target.one('hidden.bs.modal', function () { + $this.is(':visible') && $this.trigger('focus') + }) + }) + Plugin.call($target, option, this) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tooltip.js v3.3.6 + * http://getbootstrap.com/javascript/#tooltip + * Inspired by the original jQuery.tipsy by Jason Frame + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TOOLTIP PUBLIC CLASS DEFINITION + // =============================== + + var Tooltip = function (element, options) { + this.type = null + this.options = null + this.enabled = null + this.timeout = null + this.hoverState = null + this.$element = null + this.inState = null + + this.init('tooltip', element, options) + } + + Tooltip.VERSION = '3.3.6' + + Tooltip.TRANSITION_DURATION = 150 + + Tooltip.DEFAULTS = { + animation: true, + placement: 'top', + selector: false, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + container: false, + viewport: { + selector: 'body', + padding: 0 + } + } + + Tooltip.prototype.init = function (type, element, options) { + this.enabled = true + this.type = type + this.$element = $(element) + this.options = this.getOptions(options) + this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) + this.inState = { click: false, hover: false, focus: false } + + if (this.$element[0] instanceof document.constructor && !this.options.selector) { + throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') + } + + var triggers = this.options.trigger.split(' ') + + for (var i = triggers.length; i--;) { + var trigger = triggers[i] + + if (trigger == 'click') { + this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) + } else if (trigger != 'manual') { + var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' + var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' + + this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) + this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) + } + } + + this.options.selector ? + (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : + this.fixTitle() + } + + Tooltip.prototype.getDefaults = function () { + return Tooltip.DEFAULTS + } + + Tooltip.prototype.getOptions = function (options) { + options = $.extend({}, this.getDefaults(), this.$element.data(), options) + + if (options.delay && typeof options.delay == 'number') { + options.delay = { + show: options.delay, + hide: options.delay + } + } + + return options + } + + Tooltip.prototype.getDelegateOptions = function () { + var options = {} + var defaults = this.getDefaults() + + this._options && $.each(this._options, function (key, value) { + if (defaults[key] != value) options[key] = value + }) + + return options + } + + Tooltip.prototype.enter = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true + } + + if (self.tip().hasClass('in') || self.hoverState == 'in') { + self.hoverState = 'in' + return + } + + clearTimeout(self.timeout) + + self.hoverState = 'in' + + if (!self.options.delay || !self.options.delay.show) return self.show() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'in') self.show() + }, self.options.delay.show) + } + + Tooltip.prototype.isInStateTrue = function () { + for (var key in this.inState) { + if (this.inState[key]) return true + } + + return false + } + + Tooltip.prototype.leave = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false + } + + if (self.isInStateTrue()) return + + clearTimeout(self.timeout) + + self.hoverState = 'out' + + if (!self.options.delay || !self.options.delay.hide) return self.hide() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'out') self.hide() + }, self.options.delay.hide) + } + + Tooltip.prototype.show = function () { + var e = $.Event('show.bs.' + this.type) + + if (this.hasContent() && this.enabled) { + this.$element.trigger(e) + + var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) + if (e.isDefaultPrevented() || !inDom) return + var that = this + + var $tip = this.tip() + + var tipId = this.getUID(this.type) + + this.setContent() + $tip.attr('id', tipId) + this.$element.attr('aria-describedby', tipId) + + if (this.options.animation) $tip.addClass('fade') + + var placement = typeof this.options.placement == 'function' ? + this.options.placement.call(this, $tip[0], this.$element[0]) : + this.options.placement + + var autoToken = /\s?auto?\s?/i + var autoPlace = autoToken.test(placement) + if (autoPlace) placement = placement.replace(autoToken, '') || 'top' + + $tip + .detach() + .css({ top: 0, left: 0, display: 'block' }) + .addClass(placement) + .data('bs.' + this.type, this) + + this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) + this.$element.trigger('inserted.bs.' + this.type) + + var pos = this.getPosition() + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (autoPlace) { + var orgPlacement = placement + var viewportDim = this.getPosition(this.$viewport) + + placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : + placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : + placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : + placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : + placement + + $tip + .removeClass(orgPlacement) + .addClass(placement) + } + + var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) + + this.applyPlacement(calculatedOffset, placement) + + var complete = function () { + var prevHoverState = that.hoverState + that.$element.trigger('shown.bs.' + that.type) + that.hoverState = null + + if (prevHoverState == 'out') that.leave(that) + } + + $.support.transition && this.$tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + } + } + + Tooltip.prototype.applyPlacement = function (offset, placement) { + var $tip = this.tip() + var width = $tip[0].offsetWidth + var height = $tip[0].offsetHeight + + // manually read margins because getBoundingClientRect includes difference + var marginTop = parseInt($tip.css('margin-top'), 10) + var marginLeft = parseInt($tip.css('margin-left'), 10) + + // we must check for NaN for ie 8/9 + if (isNaN(marginTop)) marginTop = 0 + if (isNaN(marginLeft)) marginLeft = 0 + + offset.top += marginTop + offset.left += marginLeft + + // $.fn.offset doesn't round pixel values + // so we use setOffset directly with our own function B-0 + $.offset.setOffset($tip[0], $.extend({ + using: function (props) { + $tip.css({ + top: Math.round(props.top), + left: Math.round(props.left) + }) + } + }, offset), 0) + + $tip.addClass('in') + + // check to see if placing tip in new offset caused the tip to resize itself + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (placement == 'top' && actualHeight != height) { + offset.top = offset.top + height - actualHeight + } + + var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) + + if (delta.left) offset.left += delta.left + else offset.top += delta.top + + var isVertical = /top|bottom/.test(placement) + var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight + var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' + + $tip.offset(offset) + this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) + } + + Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { + this.arrow() + .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') + .css(isVertical ? 'top' : 'left', '') + } + + Tooltip.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + + $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) + $tip.removeClass('fade in top bottom left right') + } + + Tooltip.prototype.hide = function (callback) { + var that = this + var $tip = $(this.$tip) + var e = $.Event('hide.bs.' + this.type) + + function complete() { + if (that.hoverState != 'in') $tip.detach() + that.$element + .removeAttr('aria-describedby') + .trigger('hidden.bs.' + that.type) + callback && callback() + } + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + $tip.removeClass('in') + + $.support.transition && $tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + + this.hoverState = null + + return this + } + + Tooltip.prototype.fixTitle = function () { + var $e = this.$element + if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { + $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') + } + } + + Tooltip.prototype.hasContent = function () { + return this.getTitle() + } + + Tooltip.prototype.getPosition = function ($element) { + $element = $element || this.$element + + var el = $element[0] + var isBody = el.tagName == 'BODY' + + var elRect = el.getBoundingClientRect() + if (elRect.width == null) { + // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 + elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) + } + var elOffset = isBody ? { top: 0, left: 0 } : $element.offset() + var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } + var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null + + return $.extend({}, elRect, scroll, outerDims, elOffset) + } + + Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { + return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : + /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } + + } + + Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { + var delta = { top: 0, left: 0 } + if (!this.$viewport) return delta + + var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 + var viewportDimensions = this.getPosition(this.$viewport) + + if (/right|left/.test(placement)) { + var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll + var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight + if (topEdgeOffset < viewportDimensions.top) { // top overflow + delta.top = viewportDimensions.top - topEdgeOffset + } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow + delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset + } + } else { + var leftEdgeOffset = pos.left - viewportPadding + var rightEdgeOffset = pos.left + viewportPadding + actualWidth + if (leftEdgeOffset < viewportDimensions.left) { // left overflow + delta.left = viewportDimensions.left - leftEdgeOffset + } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow + delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset + } + } + + return delta + } + + Tooltip.prototype.getTitle = function () { + var title + var $e = this.$element + var o = this.options + + title = $e.attr('data-original-title') + || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) + + return title + } + + Tooltip.prototype.getUID = function (prefix) { + do prefix += ~~(Math.random() * 1000000) + while (document.getElementById(prefix)) + return prefix + } + + Tooltip.prototype.tip = function () { + if (!this.$tip) { + this.$tip = $(this.options.template) + if (this.$tip.length != 1) { + throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') + } + } + return this.$tip + } + + Tooltip.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) + } + + Tooltip.prototype.enable = function () { + this.enabled = true + } + + Tooltip.prototype.disable = function () { + this.enabled = false + } + + Tooltip.prototype.toggleEnabled = function () { + this.enabled = !this.enabled + } + + Tooltip.prototype.toggle = function (e) { + var self = this + if (e) { + self = $(e.currentTarget).data('bs.' + this.type) + if (!self) { + self = new this.constructor(e.currentTarget, this.getDelegateOptions()) + $(e.currentTarget).data('bs.' + this.type, self) + } + } + + if (e) { + self.inState.click = !self.inState.click + if (self.isInStateTrue()) self.enter(self) + else self.leave(self) + } else { + self.tip().hasClass('in') ? self.leave(self) : self.enter(self) + } + } + + Tooltip.prototype.destroy = function () { + var that = this + clearTimeout(this.timeout) + this.hide(function () { + that.$element.off('.' + that.type).removeData('bs.' + that.type) + if (that.$tip) { + that.$tip.detach() + } + that.$tip = null + that.$arrow = null + that.$viewport = null + }) + } + + + // TOOLTIP PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tooltip') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tooltip + + $.fn.tooltip = Plugin + $.fn.tooltip.Constructor = Tooltip + + + // TOOLTIP NO CONFLICT + // =================== + + $.fn.tooltip.noConflict = function () { + $.fn.tooltip = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: popover.js v3.3.6 + * http://getbootstrap.com/javascript/#popovers + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // POPOVER PUBLIC CLASS DEFINITION + // =============================== + + var Popover = function (element, options) { + this.init('popover', element, options) + } + + if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') + + Popover.VERSION = '3.3.6' + + Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }) + + + // NOTE: POPOVER EXTENDS tooltip.js + // ================================ + + Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) + + Popover.prototype.constructor = Popover + + Popover.prototype.getDefaults = function () { + return Popover.DEFAULTS + } + + Popover.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + var content = this.getContent() + + $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) + $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events + this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' + ](content) + + $tip.removeClass('fade top bottom left right in') + + // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do + // this manually by checking the contents. + if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() + } + + Popover.prototype.hasContent = function () { + return this.getTitle() || this.getContent() + } + + Popover.prototype.getContent = function () { + var $e = this.$element + var o = this.options + + return $e.attr('data-content') + || (typeof o.content == 'function' ? + o.content.call($e[0]) : + o.content) + } + + Popover.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.arrow')) + } + + + // POPOVER PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.popover') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.popover', (data = new Popover(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.popover + + $.fn.popover = Plugin + $.fn.popover.Constructor = Popover + + + // POPOVER NO CONFLICT + // =================== + + $.fn.popover.noConflict = function () { + $.fn.popover = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: scrollspy.js v3.3.6 + * http://getbootstrap.com/javascript/#scrollspy + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // SCROLLSPY CLASS DEFINITION + // ========================== + + function ScrollSpy(element, options) { + this.$body = $(document.body) + this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) + this.options = $.extend({}, ScrollSpy.DEFAULTS, options) + this.selector = (this.options.target || '') + ' .nav li > a' + this.offsets = [] + this.targets = [] + this.activeTarget = null + this.scrollHeight = 0 + + this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) + this.refresh() + this.process() + } + + ScrollSpy.VERSION = '3.3.6' + + ScrollSpy.DEFAULTS = { + offset: 10 + } + + ScrollSpy.prototype.getScrollHeight = function () { + return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) + } + + ScrollSpy.prototype.refresh = function () { + var that = this + var offsetMethod = 'offset' + var offsetBase = 0 + + this.offsets = [] + this.targets = [] + this.scrollHeight = this.getScrollHeight() + + if (!$.isWindow(this.$scrollElement[0])) { + offsetMethod = 'position' + offsetBase = this.$scrollElement.scrollTop() + } + + this.$body + .find(this.selector) + .map(function () { + var $el = $(this) + var href = $el.data('target') || $el.attr('href') + var $href = /^#./.test(href) && $(href) + + return ($href + && $href.length + && $href.is(':visible') + && [[$href[offsetMethod]().top + offsetBase, href]]) || null + }) + .sort(function (a, b) { return a[0] - b[0] }) + .each(function () { + that.offsets.push(this[0]) + that.targets.push(this[1]) + }) + } + + ScrollSpy.prototype.process = function () { + var scrollTop = this.$scrollElement.scrollTop() + this.options.offset + var scrollHeight = this.getScrollHeight() + var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() + var offsets = this.offsets + var targets = this.targets + var activeTarget = this.activeTarget + var i + + if (this.scrollHeight != scrollHeight) { + this.refresh() + } + + if (scrollTop >= maxScroll) { + return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) + } + + if (activeTarget && scrollTop < offsets[0]) { + this.activeTarget = null + return this.clear() + } + + for (i = offsets.length; i--;) { + activeTarget != targets[i] + && scrollTop >= offsets[i] + && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) + && this.activate(targets[i]) + } + } + + ScrollSpy.prototype.activate = function (target) { + this.activeTarget = target + + this.clear() + + var selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]' + + var active = $(selector) + .parents('li') + .addClass('active') + + if (active.parent('.dropdown-menu').length) { + active = active + .closest('li.dropdown') + .addClass('active') + } + + active.trigger('activate.bs.scrollspy') + } + + ScrollSpy.prototype.clear = function () { + $(this.selector) + .parentsUntil(this.options.target, '.active') + .removeClass('active') + } + + + // SCROLLSPY PLUGIN DEFINITION + // =========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.scrollspy') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.scrollspy + + $.fn.scrollspy = Plugin + $.fn.scrollspy.Constructor = ScrollSpy + + + // SCROLLSPY NO CONFLICT + // ===================== + + $.fn.scrollspy.noConflict = function () { + $.fn.scrollspy = old + return this + } + + + // SCROLLSPY DATA-API + // ================== + + $(window).on('load.bs.scrollspy.data-api', function () { + $('[data-spy="scroll"]').each(function () { + var $spy = $(this) + Plugin.call($spy, $spy.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tab.js v3.3.6 + * http://getbootstrap.com/javascript/#tabs + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TAB CLASS DEFINITION + // ==================== + + var Tab = function (element) { + // jscs:disable requireDollarBeforejQueryAssignment + this.element = $(element) + // jscs:enable requireDollarBeforejQueryAssignment + } + + Tab.VERSION = '3.3.6' + + Tab.TRANSITION_DURATION = 150 + + Tab.prototype.show = function () { + var $this = this.element + var $ul = $this.closest('ul:not(.dropdown-menu)') + var selector = $this.data('target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + if ($this.parent('li').hasClass('active')) return + + var $previous = $ul.find('.active:last a') + var hideEvent = $.Event('hide.bs.tab', { + relatedTarget: $this[0] + }) + var showEvent = $.Event('show.bs.tab', { + relatedTarget: $previous[0] + }) + + $previous.trigger(hideEvent) + $this.trigger(showEvent) + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return + + var $target = $(selector) + + this.activate($this.closest('li'), $ul) + this.activate($target, $target.parent(), function () { + $previous.trigger({ + type: 'hidden.bs.tab', + relatedTarget: $this[0] + }) + $this.trigger({ + type: 'shown.bs.tab', + relatedTarget: $previous[0] + }) + }) + } + + Tab.prototype.activate = function (element, container, callback) { + var $active = container.find('> .active') + var transition = callback + && $.support.transition + && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) + + function next() { + $active + .removeClass('active') + .find('> .dropdown-menu > .active') + .removeClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', false) + + element + .addClass('active') + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + + if (transition) { + element[0].offsetWidth // reflow for transition + element.addClass('in') + } else { + element.removeClass('fade') + } + + if (element.parent('.dropdown-menu').length) { + element + .closest('li.dropdown') + .addClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + } + + callback && callback() + } + + $active.length && transition ? + $active + .one('bsTransitionEnd', next) + .emulateTransitionEnd(Tab.TRANSITION_DURATION) : + next() + + $active.removeClass('in') + } + + + // TAB PLUGIN DEFINITION + // ===================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tab') + + if (!data) $this.data('bs.tab', (data = new Tab(this))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tab + + $.fn.tab = Plugin + $.fn.tab.Constructor = Tab + + + // TAB NO CONFLICT + // =============== + + $.fn.tab.noConflict = function () { + $.fn.tab = old + return this + } + + + // TAB DATA-API + // ============ + + var clickHandler = function (e) { + e.preventDefault() + Plugin.call($(this), 'show') + } + + $(document) + .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) + .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: affix.js v3.3.6 + * http://getbootstrap.com/javascript/#affix + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // AFFIX CLASS DEFINITION + // ====================== + + var Affix = function (element, options) { + this.options = $.extend({}, Affix.DEFAULTS, options) + + this.$target = $(this.options.target) + .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) + .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) + + this.$element = $(element) + this.affixed = null + this.unpin = null + this.pinnedOffset = null + + this.checkPosition() + } + + Affix.VERSION = '3.3.6' + + Affix.RESET = 'affix affix-top affix-bottom' + + Affix.DEFAULTS = { + offset: 0, + target: window + } + + Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + var targetHeight = this.$target.height() + + if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false + + if (this.affixed == 'bottom') { + if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' + return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' + } + + var initializing = this.affixed == null + var colliderTop = initializing ? scrollTop : position.top + var colliderHeight = initializing ? targetHeight : height + + if (offsetTop != null && scrollTop <= offsetTop) return 'top' + if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' + + return false + } + + Affix.prototype.getPinnedOffset = function () { + if (this.pinnedOffset) return this.pinnedOffset + this.$element.removeClass(Affix.RESET).addClass('affix') + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + return (this.pinnedOffset = position.top - scrollTop) + } + + Affix.prototype.checkPositionWithEventLoop = function () { + setTimeout($.proxy(this.checkPosition, this), 1) + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var height = this.$element.height() + var offset = this.options.offset + var offsetTop = offset.top + var offsetBottom = offset.bottom + var scrollHeight = Math.max($(document).height(), $(document.body).height()) + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) + + var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) + + if (this.affixed != affix) { + if (this.unpin != null) this.$element.css('top', '') + + var affixType = 'affix' + (affix ? '-' + affix : '') + var e = $.Event(affixType + '.bs.affix') + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null + + this.$element + .removeClass(Affix.RESET) + .addClass(affixType) + .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') + } + + if (affix == 'bottom') { + this.$element.offset({ + top: scrollHeight - height - offsetBottom + }) + } + } + + + // AFFIX PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.affix') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.affix + + $.fn.affix = Plugin + $.fn.affix.Constructor = Affix + + + // AFFIX NO CONFLICT + // ================= + + $.fn.affix.noConflict = function () { + $.fn.affix = old + return this + } + + + // AFFIX DATA-API + // ============== + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + var data = $spy.data() + + data.offset = data.offset || {} + + if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom + if (data.offsetTop != null) data.offset.top = data.offsetTop + + Plugin.call($spy, data) + }) + }) + +}(jQuery); diff --git a/platforms/android/assets/www/js/bootstrap.min.js b/platforms/android/assets/www/js/bootstrap.min.js new file mode 100644 index 0000000..e79c065 --- /dev/null +++ b/platforms/android/assets/www/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/platforms/android/assets/www/js/jquery.js b/platforms/android/assets/www/js/jquery.js new file mode 100644 index 0000000..d1608e3 --- /dev/null +++ b/platforms/android/assets/www/js/jquery.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; +if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("