274 changed files with 234204 additions and 0 deletions
Split View
Diff Options
-
207angjs2/a.log
-
21angjs2/bower.json
-
20angjs2/bower_components/angular-mocks/.bower.json
-
21angjs2/bower_components/angular-mocks/LICENSE.md
-
63angjs2/bower_components/angular-mocks/README.md
-
3757angjs2/bower_components/angular-mocks/angular-mocks.js
-
10angjs2/bower_components/angular-mocks/bower.json
-
2angjs2/bower_components/angular-mocks/ngAnimateMock.js
-
2angjs2/bower_components/angular-mocks/ngMock.js
-
2angjs2/bower_components/angular-mocks/ngMockE2E.js
-
34angjs2/bower_components/angular-mocks/package.json
-
18angjs2/bower_components/angular/.bower.json
-
21angjs2/bower_components/angular/LICENSE.md
-
64angjs2/bower_components/angular/README.md
-
25angjs2/bower_components/angular/angular-csp.css
-
36582angjs2/bower_components/angular/angular.js
-
352angjs2/bower_components/angular/angular.min.js
-
BINangjs2/bower_components/angular/angular.min.js.gzip
-
8angjs2/bower_components/angular/angular.min.js.map
-
9angjs2/bower_components/angular/bower.json
-
2angjs2/bower_components/angular/index.js
-
25angjs2/bower_components/angular/package.json
-
16angjs2/index.html
-
62angjs2/karma.conf.js
-
21angjs2/lib/angular-mocks/LICENSE.md
-
63angjs2/lib/angular-mocks/README.md
-
3757angjs2/lib/angular-mocks/angular-mocks.js
-
10angjs2/lib/angular-mocks/bower.json
-
2angjs2/lib/angular-mocks/ngAnimateMock.js
-
2angjs2/lib/angular-mocks/ngMock.js
-
2angjs2/lib/angular-mocks/ngMockE2E.js
-
68angjs2/lib/angular-mocks/package.json
-
21angjs2/lib/angular/LICENSE.md
-
64angjs2/lib/angular/README.md
-
25angjs2/lib/angular/angular-csp.css
-
36600angjs2/lib/angular/angular.js
-
352angjs2/lib/angular/angular.min.js
-
BINangjs2/lib/angular/angular.min.js.gzip
-
8angjs2/lib/angular/angular.min.js.map
-
9angjs2/lib/angular/bower.json
-
2angjs2/lib/angular/index.js
-
57angjs2/lib/angular/package.json
-
1angjs2/lib/chai/CODEOWNERS
-
58angjs2/lib/chai/CODE_OF_CONDUCT.md
-
218angjs2/lib/chai/CONTRIBUTING.md
-
1059angjs2/lib/chai/History.md
-
21angjs2/lib/chai/LICENSE
-
212angjs2/lib/chai/README.md
-
737angjs2/lib/chai/ReleaseNotes.md
-
26angjs2/lib/chai/bower.json
-
10854angjs2/lib/chai/chai.js
-
1angjs2/lib/chai/index.js
-
28angjs2/lib/chai/karma.conf.js
-
41angjs2/lib/chai/karma.sauce.js
-
92angjs2/lib/chai/lib/chai.js
-
165angjs2/lib/chai/lib/chai/assertion.js
-
94angjs2/lib/chai/lib/chai/config.js
-
3804angjs2/lib/chai/lib/chai/core/assertions.js
-
3113angjs2/lib/chai/lib/chai/interface/assert.js
-
47angjs2/lib/chai/lib/chai/interface/expect.js
-
218angjs2/lib/chai/lib/chai/interface/should.js
-
152angjs2/lib/chai/lib/chai/utils/addChainableMethod.js
-
60angjs2/lib/chai/lib/chai/utils/addLengthGuard.js
-
68angjs2/lib/chai/lib/chai/utils/addMethod.js
-
72angjs2/lib/chai/lib/chai/utils/addProperty.js
-
31angjs2/lib/chai/lib/chai/utils/compareByInspect.js
-
51angjs2/lib/chai/lib/chai/utils/expectTypes.js
-
33angjs2/lib/chai/lib/chai/utils/flag.js
-
20angjs2/lib/chai/lib/chai/utils/getActual.js
-
26angjs2/lib/chai/lib/chai/utils/getEnumerableProperties.js
-
50angjs2/lib/chai/lib/chai/utils/getMessage.js
-
29angjs2/lib/chai/lib/chai/utils/getOwnEnumerableProperties.js
-
27angjs2/lib/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js
-
36angjs2/lib/chai/lib/chai/utils/getProperties.js
-
172angjs2/lib/chai/lib/chai/utils/index.js
-
376angjs2/lib/chai/lib/chai/utils/inspect.js
-
26angjs2/lib/chai/lib/chai/utils/isNaN.js
-
24angjs2/lib/chai/lib/chai/utils/isProxyEnabled.js
-
50angjs2/lib/chai/lib/chai/utils/objDisplay.js
-
69angjs2/lib/chai/lib/chai/utils/overwriteChainableMethod.js
-
92angjs2/lib/chai/lib/chai/utils/overwriteMethod.js
-
92angjs2/lib/chai/lib/chai/utils/overwriteProperty.js
-
147angjs2/lib/chai/lib/chai/utils/proxify.js
-
28angjs2/lib/chai/lib/chai/utils/test.js
-
45angjs2/lib/chai/lib/chai/utils/transferFlags.js
-
100angjs2/lib/chai/package.json
-
1angjs2/lib/chai/register-assert.js
-
1angjs2/lib/chai/register-expect.js
-
1angjs2/lib/chai/register-should.js
-
102angjs2/lib/chai/sauce.browsers.js
-
1711angjs2/lib/mocha/CHANGELOG.md
-
22angjs2/lib/mocha/LICENSE
-
124angjs2/lib/mocha/README.md
-
572angjs2/lib/mocha/bin/_mocha
-
87angjs2/lib/mocha/bin/mocha
-
41angjs2/lib/mocha/bin/options.js
-
38angjs2/lib/mocha/bower.json
-
187angjs2/lib/mocha/browser-entry.js
-
BINangjs2/lib/mocha/images/error.png
-
BINangjs2/lib/mocha/images/ok.png
@ -0,0 +1,207 @@ |
|||
|
|||
> plunkr_example@1.0.0 test /home/osboxes/Desktop/angular/angjs-requirejs |
|||
> karma start |
|||
|
|||
[36m30 10 2020 12:46:52.568:DEBUG [config]: [39mLoading config /home/osboxes/Desktop/angular/angjs-requirejs/karma.conf.js |
|||
[36m30 10 2020 12:46:52.581:DEBUG [config]: [39mautoWatch set to false, because of singleRun |
|||
[36m30 10 2020 12:46:52.585:DEBUG [karma-server]: [39mFinal config Config { |
|||
LOG_DISABLE: 'OFF', |
|||
LOG_ERROR: 'ERROR', |
|||
LOG_WARN: 'WARN', |
|||
LOG_INFO: 'INFO', |
|||
LOG_DEBUG: 'DEBUG', |
|||
frameworks: |
|||
[ 'requirejs', 'angular', 'mocha', 'chai', 'sinon', 'chai-sinon' ], |
|||
protocol: 'http:', |
|||
port: 8080, |
|||
listenAddress: '0.0.0.0', |
|||
hostname: 'localhost', |
|||
httpsServerConfig: {}, |
|||
basePath: '/home/osboxes/Desktop/angular/angjs-requirejs', |
|||
files: |
|||
[ Pattern { |
|||
pattern: '/home/osboxes/Desktop/angular/angjs-requirejs/simple*.js', |
|||
served: true, |
|||
included: true, |
|||
watched: true, |
|||
nocache: false, |
|||
weight: [ 1, 0, 1, 0, 0, 0 ], |
|||
type: undefined }, |
|||
Pattern { |
|||
pattern: '/home/osboxes/Desktop/angular/angjs-requirejs/app.js', |
|||
served: true, |
|||
included: true, |
|||
watched: true, |
|||
nocache: false, |
|||
weight: [ 1, 0, 0, 0, 0, 0 ], |
|||
type: undefined }, |
|||
Pattern { |
|||
pattern: '/home/osboxes/Desktop/angular/angjs-requirejs/main.js', |
|||
served: true, |
|||
included: true, |
|||
watched: true, |
|||
nocache: false, |
|||
weight: [ 1, 0, 0, 0, 0, 0 ], |
|||
type: undefined } ], |
|||
browserConsoleLogOptions: { level: 'debug', format: '%b %T: %m', terminal: true }, |
|||
customContextFile: null, |
|||
customDebugFile: null, |
|||
customClientContextFile: null, |
|||
exclude: |
|||
[ '/home/osboxes/Desktop/angular/angjs-requirejs/karma.conf.js' ], |
|||
logLevel: 'DEBUG', |
|||
colors: true, |
|||
autoWatch: false, |
|||
autoWatchBatchDelay: 250, |
|||
restartOnFileChange: false, |
|||
usePolling: true, |
|||
reporters: [ 'progress' ], |
|||
singleRun: true, |
|||
browsers: [ 'ChromeHeadless' ], |
|||
captureTimeout: 60000, |
|||
pingTimeout: 5000, |
|||
proxies: {}, |
|||
proxyValidateSSL: true, |
|||
preprocessors: [Object: null prototype] {}, |
|||
preprocessor_priority: {}, |
|||
urlRoot: '/', |
|||
upstreamProxy: undefined, |
|||
reportSlowerThan: 0, |
|||
loggers: |
|||
[ { type: 'console', |
|||
layout: { type: 'pattern', pattern: '%[%d{DATE}:%p [%c]: %]%m' } } ], |
|||
transports: [ 'polling', 'websocket' ], |
|||
forceJSONP: false, |
|||
plugins: [ 'karma-*' ], |
|||
client: |
|||
{ args: [], |
|||
useIframe: true, |
|||
runInParent: false, |
|||
captureConsole: true, |
|||
clearContext: true }, |
|||
defaultClient: |
|||
{ args: [], |
|||
useIframe: true, |
|||
runInParent: false, |
|||
captureConsole: true, |
|||
clearContext: true }, |
|||
browserDisconnectTimeout: 2000, |
|||
browserDisconnectTolerance: 0, |
|||
browserNoActivityTimeout: 30000, |
|||
processKillTimeout: 2000, |
|||
concurrency: Infinity, |
|||
failOnEmptyTestSuite: true, |
|||
retryLimit: 2, |
|||
detached: false, |
|||
crossOriginAttribute: true, |
|||
browserSocketTimeout: 20000, |
|||
cmd: 'start', |
|||
configFile: |
|||
'/home/osboxes/Desktop/angular/angjs-requirejs/karma.conf.js' } |
|||
[36m30 10 2020 12:46:52.586:DEBUG [plugin]: [39mLoading karma-* from /home/osboxes/Desktop/angular/angjs-requirejs/node_modules |
|||
[36m30 10 2020 12:46:52.588:DEBUG [plugin]: [39mLoading plugin /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-angular. |
|||
[36m30 10 2020 12:46:52.590:DEBUG [plugin]: [39mLoading plugin /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-chai. |
|||
[36m30 10 2020 12:46:52.591:DEBUG [plugin]: [39mLoading plugin /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-chai-sinon. |
|||
[36m30 10 2020 12:46:52.593:DEBUG [plugin]: [39mLoading plugin /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-chrome-launcher. |
|||
[36m30 10 2020 12:46:52.602:DEBUG [plugin]: [39mLoading plugin /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-coverage. |
|||
[36m30 10 2020 12:46:52.800:DEBUG [plugin]: [39mLoading plugin /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-mocha. |
|||
[36m30 10 2020 12:46:52.802:DEBUG [plugin]: [39mLoading plugin /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-requirejs. |
|||
[36m30 10 2020 12:46:52.804:DEBUG [plugin]: [39mLoading plugin /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-sinon. |
|||
adding /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/angular-mocks/angular-mocks.js |
|||
[36m30 10 2020 12:46:52.841:DEBUG [web-server]: [39mInstantiating middleware |
|||
[33m30 10 2020 12:46:52.902:WARN [filelist]: [39mAll files matched by "/home/osboxes/Desktop/angular/angjs-requirejs/node_modules/sinon/lib/../pkg/sinon.js" were excluded or matched by prior matchers. |
|||
[33m30 10 2020 12:46:52.902:WARN [filelist]: [39mAll files matched by "/home/osboxes/Desktop/angular/angjs-requirejs/node_modules/chai/chai.js" were excluded or matched by prior matchers. |
|||
[32m30 10 2020 12:46:53.075:INFO [karma-server]: [39mKarma v4.4.1 server started at http://0.0.0.0:8080/ |
|||
[32m30 10 2020 12:46:53.077:INFO [launcher]: [39mLaunching browsers ChromeHeadless with concurrency unlimited |
|||
[32m30 10 2020 12:46:53.085:INFO [launcher]: [39mStarting browser ChromeHeadless |
|||
[36m30 10 2020 12:46:53.087:DEBUG [launcher]: [39mnull -> BEING_CAPTURED |
|||
[36m30 10 2020 12:46:53.093:DEBUG [temp-dir]: [39mCreating temp dir at /tmp/karma-89293254 |
|||
[36m30 10 2020 12:46:53.095:DEBUG [launcher]: [39mgoogle-chrome --user-data-dir=/tmp/karma-89293254 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-background-timer-throttling --disable-renderer-backgrounding --disable-device-discovery-notifications http://localhost:8080/?id=89293254 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 |
|||
[36m30 10 2020 12:46:53.829:DEBUG [web-server]: [39mserving: /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma/static/client.html |
|||
[36m30 10 2020 12:46:53.856:DEBUG [web-server]: [39mserving: /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma/static/karma.js |
|||
[36m30 10 2020 12:46:53.912:DEBUG [karma-server]: [39mA browser has connected on socket l76_u5muhojDWYhBAAAA |
|||
[36m30 10 2020 12:46:53.922:DEBUG [web-server]: [39mupgrade /socket.io/?EIO=3&transport=websocket&sid=l76_u5muhojDWYhBAAAA |
|||
[36m30 10 2020 12:46:53.968:DEBUG [HeadlessChrome 86.0.4240 (Linux 0.0.0)]: [39mundefined -> CONNECTED |
|||
[32m30 10 2020 12:46:53.969:INFO [HeadlessChrome 86.0.4240 (Linux 0.0.0)]: [39mConnected on socket l76_u5muhojDWYhBAAAA with id 89293254 |
|||
[36m30 10 2020 12:46:53.971:DEBUG [launcher]: [39mBEING_CAPTURED -> CAPTURED |
|||
[36m30 10 2020 12:46:53.975:DEBUG [launcher]: [39mChromeHeadless (id 89293254) captured in 0.897 secs |
|||
[36m30 10 2020 12:46:53.977:DEBUG [HeadlessChrome 86.0.4240 (Linux 0.0.0)]: [39mCONNECTED -> CONFIGURING |
|||
[36m30 10 2020 12:46:53.991:DEBUG [middleware:karma]: [39mcustom files null null null |
|||
[36m30 10 2020 12:46:53.993:DEBUG [middleware:karma]: [39mServing static request /context.html |
|||
[36m30 10 2020 12:46:53.997:DEBUG [web-server]: [39mserving: /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma/static/context.html |
|||
[36m30 10 2020 12:46:54.023:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/sinon/pkg/sinon.js?b6694aaab073064a54d68a9774e4b0ecec852413 |
|||
[36m30 10 2020 12:46:54.026:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/sinon/pkg/sinon.js |
|||
[36m30 10 2020 12:46:54.028:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/chai/chai.js?db92883971379fbea71a12c25b271c26a3afc3f6 |
|||
[36m30 10 2020 12:46:54.030:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/chai/chai.js |
|||
[36m30 10 2020 12:46:54.031:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/sinon-chai/lib/sinon-chai.js?9793c337d68fed45ee096c9c21b05f5e83c090e4 |
|||
[36m30 10 2020 12:46:54.031:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/sinon-chai/lib/sinon-chai.js |
|||
[36m30 10 2020 12:46:54.031:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/sinon/pkg/sinon.js |
|||
[36m30 10 2020 12:46:54.053:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/chai/chai.js |
|||
[36m30 10 2020 12:46:54.067:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/sinon-chai/lib/sinon-chai.js |
|||
[36m30 10 2020 12:46:54.073:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/karma-chai/adapter.js?bab484a2111791847997ed88414622bccfbd2749 |
|||
[36m30 10 2020 12:46:54.075:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-chai/adapter.js |
|||
[36m30 10 2020 12:46:54.078:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-chai/adapter.js |
|||
[36m30 10 2020 12:46:54.082:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/karma-mocha/lib/adapter.js?a0f4bbc139407501892ac58d70c2791e7adec343 |
|||
[36m30 10 2020 12:46:54.084:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-mocha/lib/adapter.js |
|||
[36m30 10 2020 12:46:54.084:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/mocha/mocha.js?e55b8123c523749856c4d84bd348382559fed120 |
|||
[36m30 10 2020 12:46:54.084:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/mocha/mocha.js |
|||
[36m30 10 2020 12:46:54.085:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/karma-chai-sinon/adapter.js?1f10449e467788f2912b2f0800fce4ca11b674e8 |
|||
[36m30 10 2020 12:46:54.085:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-chai-sinon/adapter.js |
|||
[36m30 10 2020 12:46:54.085:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-mocha/lib/adapter.js |
|||
[36m30 10 2020 12:46:54.090:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/mocha/mocha.js |
|||
[36m30 10 2020 12:46:54.110:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-chai-sinon/adapter.js |
|||
[36m30 10 2020 12:46:54.117:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/angular/angular.js?adde1dabe21e9289510d0c66feeddc8ef01e2387 |
|||
[36m30 10 2020 12:46:54.122:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/angular/angular.js |
|||
[36m30 10 2020 12:46:54.122:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/angular-mocks/angular-mocks.js?1e621d8897de63f68a23b005cdf06c0f0f554a11 |
|||
[36m30 10 2020 12:46:54.122:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/angular-mocks/angular-mocks.js |
|||
[36m30 10 2020 12:46:54.122:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/requirejs/require.js?33bc97e78f4905e72b4c1eb2ca0a4662588443e3 |
|||
[36m30 10 2020 12:46:54.122:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/requirejs/require.js |
|||
[36m30 10 2020 12:46:54.129:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/angular/angular.js |
|||
[36m30 10 2020 12:46:54.155:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/angular-mocks/angular-mocks.js |
|||
[36m30 10 2020 12:46:54.157:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/requirejs/require.js |
|||
[36m30 10 2020 12:46:54.166:DEBUG [middleware:source-files]: [39mRequesting /base/simpleService.js?fc0c464058d2abff9c995e7d70f0ce2f79baa75d |
|||
[36m30 10 2020 12:46:54.177:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/simpleService.js |
|||
[36m30 10 2020 12:46:54.178:DEBUG [middleware:source-files]: [39mRequesting /base/simpleService.spec.js?bd0b2ed07475771efcd78758df7490630032efe3 |
|||
[36m30 10 2020 12:46:54.178:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/simpleService.spec.js |
|||
[36m30 10 2020 12:46:54.178:DEBUG [middleware:source-files]: [39mRequesting /base/node_modules/karma-requirejs/lib/adapter.js?a0765fc3eacb39184893303c3bc2e821cb041787 |
|||
[36m30 10 2020 12:46:54.179:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-requirejs/lib/adapter.js |
|||
[36m30 10 2020 12:46:54.179:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/simpleService.js |
|||
[36m30 10 2020 12:46:54.179:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/simpleService.spec.js |
|||
[36m30 10 2020 12:46:54.179:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma-requirejs/lib/adapter.js |
|||
[36m30 10 2020 12:46:54.199:DEBUG [middleware:source-files]: [39mRequesting /base/app.js?1fc8f38bb7303bb89948968a4f2374727749a3f2 |
|||
[36m30 10 2020 12:46:54.199:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/app.js |
|||
[36m30 10 2020 12:46:54.200:DEBUG [middleware:source-files]: [39mRequesting /base/main.js?4c7d5a52f8a9da35c4ad4dd33c56866b365b0d24 |
|||
[36m30 10 2020 12:46:54.200:DEBUG [middleware:source-files]: [39mFetching /home/osboxes/Desktop/angular/angjs-requirejs/main.js |
|||
[36m30 10 2020 12:46:54.200:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/app.js |
|||
[36m30 10 2020 12:46:54.200:DEBUG [web-server]: [39mserving (cached): /home/osboxes/Desktop/angular/angjs-requirejs/main.js |
|||
[36m30 10 2020 12:46:54.215:DEBUG [web-server]: [39mserving: /home/osboxes/Desktop/angular/angjs-requirejs/node_modules/karma/static/context.js |
|||
HeadlessChrome 86.0.4240 (Linux 0.0.0) LOG: [36mfunction localRequire(deps, callback, errback) { ... }[39m |
|||
|
|||
[31mHeadlessChrome 86.0.4240 (Linux 0.0.0) ERROR[39m |
|||
Uncaught TypeError: angular.module is not a function |
|||
at app.js:4:20 |
|||
|
|||
TypeError: angular.module is not a function |
|||
at app.js:4:20 |
|||
at Object.execCb (node_modules/requirejs/require.js:1696:33) |
|||
at Module.check (node_modules/requirejs/require.js:883:51) |
|||
at Module.enable (node_modules/requirejs/require.js:1176:22) |
|||
at Object.enable (node_modules/requirejs/require.js:1557:39) |
|||
at Module.<anonymous> (node_modules/requirejs/require.js:1161:33) |
|||
at node_modules/requirejs/require.js:134:23 |
|||
at each (node_modules/requirejs/require.js:59:31) |
|||
at Module.enable (node_modules/requirejs/require.js:1113:17) |
|||
at Module.init (node_modules/requirejs/require.js:788:26) |
|||
|
|||
[36m30 10 2020 12:46:54.417:DEBUG [HeadlessChrome 86.0.4240 (Linux 0.0.0)]: [39mCONFIGURING -> CONNECTED |
|||
|
|||
[36m30 10 2020 12:46:54.434:DEBUG [launcher]: [39mCAPTURED -> BEING_KILLED |
|||
[36m30 10 2020 12:46:54.435:DEBUG [launcher]: [39mBEING_KILLED -> BEING_FORCE_KILLED |
|||
[36m30 10 2020 12:46:54.435:DEBUG [karma-server]: [39mRun complete, exiting. |
|||
[36m30 10 2020 12:46:54.435:DEBUG [launcher]: [39mDisconnecting all browsers |
|||
[36m30 10 2020 12:46:54.436:DEBUG [launcher]: [39mBEING_FORCE_KILLED -> BEING_FORCE_KILLED |
|||
[36m30 10 2020 12:46:54.447:DEBUG [launcher]: [39mProcess ChromeHeadless exited with code null and signal SIGTERM |
|||
[36m30 10 2020 12:46:54.449:DEBUG [temp-dir]: [39mCleaning temp dir /tmp/karma-89293254 |
|||
[36m30 10 2020 12:46:54.477:DEBUG [launcher]: [39mFinished all browsers |
|||
[36m30 10 2020 12:46:54.481:DEBUG [launcher]: [39mBEING_FORCE_KILLED -> FINISHED |
|||
[36m30 10 2020 12:46:54.483:DEBUG [launcher]: [39mFINISHED -> FINISHED |
|||
@ -0,0 +1,21 @@ |
|||
{ |
|||
"name": "becdetat", |
|||
"authors": [ |
|||
"Ganesh <ganesh@learnandshine.in>" |
|||
], |
|||
"description": "", |
|||
"main": "", |
|||
"license": "MIT", |
|||
"homepage": "", |
|||
"ignore": [ |
|||
"**/.*", |
|||
"node_modules", |
|||
"bower_components", |
|||
"test", |
|||
"tests" |
|||
], |
|||
"dependencies": { |
|||
"angular": "1.8.1", |
|||
"angular-mocks": "1.8.1" |
|||
} |
|||
} |
|||
@ -0,0 +1,20 @@ |
|||
{ |
|||
"name": "angular-mocks", |
|||
"version": "1.8.1", |
|||
"license": "MIT", |
|||
"main": "./angular-mocks.js", |
|||
"ignore": [], |
|||
"dependencies": { |
|||
"angular": "1.8.1" |
|||
}, |
|||
"homepage": "https://github.com/angular/bower-angular-mocks", |
|||
"_release": "1.8.1", |
|||
"_resolution": { |
|||
"type": "version", |
|||
"tag": "v1.8.1", |
|||
"commit": "07e7a550a6650fed8a1bc979d33aa644972e6704" |
|||
}, |
|||
"_source": "https://github.com/angular/bower-angular-mocks.git", |
|||
"_target": "1.8.1", |
|||
"_originalSource": "angular-mocks" |
|||
} |
|||
@ -0,0 +1,21 @@ |
|||
The MIT License (MIT) |
|||
|
|||
Copyright (c) 2016 Angular |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
@ -0,0 +1,63 @@ |
|||
# packaged angular-mocks |
|||
|
|||
This repo is for distribution on `npm` and `bower`. The source for this module is in the |
|||
[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngMock). |
|||
Please file issues and pull requests against that repo. |
|||
|
|||
## Install |
|||
|
|||
You can install this package either with `npm` or with `bower`. |
|||
|
|||
### npm |
|||
|
|||
```shell |
|||
npm install angular-mocks |
|||
``` |
|||
|
|||
You can `require` ngMock modules: |
|||
|
|||
```js |
|||
var angular = require('angular'); |
|||
angular.module('myMod', [ |
|||
require('angular-animate'), |
|||
require('angular-mocks/ngMock'), |
|||
require('angular-mocks/ngAnimateMock') |
|||
]); |
|||
``` |
|||
|
|||
### bower |
|||
|
|||
```shell |
|||
bower install angular-mocks |
|||
``` |
|||
|
|||
The mocks are then available at `bower_components/angular-mocks/angular-mocks.js`. |
|||
|
|||
## Documentation |
|||
|
|||
Documentation is available on the |
|||
[AngularJS docs site](https://docs.angularjs.org/guide/unit-testing). |
|||
|
|||
## License |
|||
|
|||
The MIT License |
|||
|
|||
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in |
|||
all copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|||
THE SOFTWARE. |
|||
3757
angjs2/bower_components/angular-mocks/angular-mocks.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,10 @@ |
|||
{ |
|||
"name": "angular-mocks", |
|||
"version": "1.8.1", |
|||
"license": "MIT", |
|||
"main": "./angular-mocks.js", |
|||
"ignore": [], |
|||
"dependencies": { |
|||
"angular": "1.8.1" |
|||
} |
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
require('./angular-mocks'); |
|||
module.exports = 'ngAnimateMock'; |
|||
@ -0,0 +1,2 @@ |
|||
require('./angular-mocks'); |
|||
module.exports = 'ngMock'; |
|||
@ -0,0 +1,2 @@ |
|||
require('./angular-mocks'); |
|||
module.exports = 'ngMockE2E'; |
|||
@ -0,0 +1,34 @@ |
|||
{ |
|||
"name": "angular-mocks", |
|||
"version": "1.8.1", |
|||
"description": "AngularJS mocks for testing", |
|||
"main": "angular-mocks.js", |
|||
"scripts": { |
|||
"test": "echo \"Error: no test specified\" && exit 1" |
|||
}, |
|||
"repository": { |
|||
"type": "git", |
|||
"url": "https://github.com/angular/angular.js.git" |
|||
}, |
|||
"keywords": [ |
|||
"angular", |
|||
"framework", |
|||
"browser", |
|||
"mocks", |
|||
"testing", |
|||
"client-side" |
|||
], |
|||
"author": "Angular Core Team <angular-core+npm@google.com>", |
|||
"license": "MIT", |
|||
"bugs": { |
|||
"url": "https://github.com/angular/angular.js/issues" |
|||
}, |
|||
"homepage": "http://angularjs.org", |
|||
"jspm": { |
|||
"shim": { |
|||
"angular-mocks": { |
|||
"deps": ["angular"] |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
{ |
|||
"name": "angular", |
|||
"version": "1.8.1", |
|||
"license": "MIT", |
|||
"main": "./angular.js", |
|||
"ignore": [], |
|||
"dependencies": {}, |
|||
"homepage": "https://github.com/angular/bower-angular", |
|||
"_release": "1.8.1", |
|||
"_resolution": { |
|||
"type": "version", |
|||
"tag": "v1.8.1", |
|||
"commit": "848d26266a46cfa8129df59951b47eba8fabfebb" |
|||
}, |
|||
"_source": "https://github.com/angular/bower-angular.git", |
|||
"_target": "1.8.1", |
|||
"_originalSource": "angular" |
|||
} |
|||
@ -0,0 +1,21 @@ |
|||
The MIT License (MIT) |
|||
|
|||
Copyright (c) 2016 Angular |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
@ -0,0 +1,64 @@ |
|||
# packaged angular |
|||
|
|||
This repo is for distribution on `npm` and `bower`. The source for this module is in the |
|||
[main AngularJS repo](https://github.com/angular/angular.js). |
|||
Please file issues and pull requests against that repo. |
|||
|
|||
## Install |
|||
|
|||
You can install this package either with `npm` or with `bower`. |
|||
|
|||
### npm |
|||
|
|||
```shell |
|||
npm install angular |
|||
``` |
|||
|
|||
Then add a `<script>` to your `index.html`: |
|||
|
|||
```html |
|||
<script src="/node_modules/angular/angular.js"></script> |
|||
``` |
|||
|
|||
Or `require('angular')` from your code. |
|||
|
|||
### bower |
|||
|
|||
```shell |
|||
bower install angular |
|||
``` |
|||
|
|||
Then add a `<script>` to your `index.html`: |
|||
|
|||
```html |
|||
<script src="/bower_components/angular/angular.js"></script> |
|||
``` |
|||
|
|||
## Documentation |
|||
|
|||
Documentation is available on the |
|||
[AngularJS docs site](http://docs.angularjs.org/). |
|||
|
|||
## License |
|||
|
|||
The MIT License |
|||
|
|||
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in |
|||
all copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|||
THE SOFTWARE. |
|||
@ -0,0 +1,25 @@ |
|||
/* Include this file in your html if you are using the CSP mode. */ |
|||
|
|||
@charset "UTF-8"; |
|||
|
|||
[ng\:cloak], |
|||
[ng-cloak], |
|||
[data-ng-cloak], |
|||
[x-ng-cloak], |
|||
.ng-cloak, |
|||
.x-ng-cloak, |
|||
.ng-hide:not(.ng-hide-animate) { |
|||
display: none !important; |
|||
} |
|||
|
|||
ng\:form { |
|||
display: block; |
|||
} |
|||
|
|||
.ng-animate-shim { |
|||
visibility:hidden; |
|||
} |
|||
|
|||
.ng-anchor { |
|||
position:absolute; |
|||
} |
|||
36582
angjs2/bower_components/angular/angular.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,352 @@ |
|||
/* |
|||
AngularJS v1.8.1 |
|||
(c) 2010-2020 Google LLC. http://angularjs.org
|
|||
License: MIT |
|||
*/ |
|||
(function(z){'use strict';function ve(a){if(D(a))w(a.objectMaxDepth)&&(Xb.objectMaxDepth=Yb(a.objectMaxDepth)?a.objectMaxDepth:NaN),w(a.urlErrorParamsEnabled)&&Ga(a.urlErrorParamsEnabled)&&(Xb.urlErrorParamsEnabled=a.urlErrorParamsEnabled);else return Xb}function Yb(a){return X(a)&&0<a}function F(a,b){b=b||Error;return function(){var d=arguments[0],c;c="["+(a?a+":":"")+d+"] http://errors.angularjs.org/1.8.1/"+(a?a+"/":"")+d;for(d=1;d<arguments.length;d++){c=c+(1==d?"?":"&")+"p"+(d-1)+"=";var e=encodeURIComponent, |
|||
f;f=arguments[d];f="function"==typeof f?f.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof f?"undefined":"string"!=typeof f?JSON.stringify(f):f;c+=e(f)}return new b(c)}}function za(a){if(null==a||$a(a))return!1;if(H(a)||C(a)||x&&a instanceof x)return!0;var b="length"in Object(a)&&a.length;return X(b)&&(0<=b&&b-1 in a||"function"===typeof a.item)}function r(a,b,d){var c,e;if(a)if(B(a))for(c in a)"prototype"!==c&&"length"!==c&&"name"!==c&&a.hasOwnProperty(c)&&b.call(d,a[c],c,a);else if(H(a)|| |
|||
za(a)){var f="object"!==typeof a;c=0;for(e=a.length;c<e;c++)(f||c in a)&&b.call(d,a[c],c,a)}else if(a.forEach&&a.forEach!==r)a.forEach(b,d,a);else if(Pc(a))for(c in a)b.call(d,a[c],c,a);else if("function"===typeof a.hasOwnProperty)for(c in a)a.hasOwnProperty(c)&&b.call(d,a[c],c,a);else for(c in a)ta.call(a,c)&&b.call(d,a[c],c,a);return a}function Qc(a,b,d){for(var c=Object.keys(a).sort(),e=0;e<c.length;e++)b.call(d,a[c[e]],c[e]);return c}function Zb(a){return function(b,d){a(d,b)}}function we(){return++qb} |
|||
function $b(a,b,d){for(var c=a.$$hashKey,e=0,f=b.length;e<f;++e){var g=b[e];if(D(g)||B(g))for(var k=Object.keys(g),h=0,l=k.length;h<l;h++){var m=k[h],p=g[m];d&&D(p)?ha(p)?a[m]=new Date(p.valueOf()):ab(p)?a[m]=new RegExp(p):p.nodeName?a[m]=p.cloneNode(!0):ac(p)?a[m]=p.clone():"__proto__"!==m&&(D(a[m])||(a[m]=H(p)?[]:{}),$b(a[m],[p],!0)):a[m]=p}}c?a.$$hashKey=c:delete a.$$hashKey;return a}function S(a){return $b(a,Ha.call(arguments,1),!1)}function xe(a){return $b(a,Ha.call(arguments,1),!0)}function fa(a){return parseInt(a, |
|||
10)}function bc(a,b){return S(Object.create(a),b)}function E(){}function Ta(a){return a}function ia(a){return function(){return a}}function cc(a){return B(a.toString)&&a.toString!==la}function A(a){return"undefined"===typeof a}function w(a){return"undefined"!==typeof a}function D(a){return null!==a&&"object"===typeof a}function Pc(a){return null!==a&&"object"===typeof a&&!Rc(a)}function C(a){return"string"===typeof a}function X(a){return"number"===typeof a}function ha(a){return"[object Date]"===la.call(a)} |
|||
function H(a){return Array.isArray(a)||a instanceof Array}function dc(a){switch(la.call(a)){case "[object Error]":return!0;case "[object Exception]":return!0;case "[object DOMException]":return!0;default:return a instanceof Error}}function B(a){return"function"===typeof a}function ab(a){return"[object RegExp]"===la.call(a)}function $a(a){return a&&a.window===a}function bb(a){return a&&a.$evalAsync&&a.$watch}function Ga(a){return"boolean"===typeof a}function ye(a){return a&&X(a.length)&&ze.test(la.call(a))} |
|||
function ac(a){return!(!a||!(a.nodeName||a.prop&&a.attr&&a.find))}function Ae(a){var b={};a=a.split(",");var d;for(d=0;d<a.length;d++)b[a[d]]=!0;return b}function ua(a){return K(a.nodeName||a[0]&&a[0].nodeName)}function cb(a,b){var d=a.indexOf(b);0<=d&&a.splice(d,1);return d}function Ia(a,b,d){function c(a,b,c){c--;if(0>c)return"...";var d=b.$$hashKey,f;if(H(a)){f=0;for(var g=a.length;f<g;f++)b.push(e(a[f],c))}else if(Pc(a))for(f in a)b[f]=e(a[f],c);else if(a&&"function"===typeof a.hasOwnProperty)for(f in a)a.hasOwnProperty(f)&& |
|||
(b[f]=e(a[f],c));else for(f in a)ta.call(a,f)&&(b[f]=e(a[f],c));d?b.$$hashKey=d:delete b.$$hashKey;return b}function e(a,b){if(!D(a))return a;var d=g.indexOf(a);if(-1!==d)return k[d];if($a(a)||bb(a))throw oa("cpws");var d=!1,e=f(a);void 0===e&&(e=H(a)?[]:Object.create(Rc(a)),d=!0);g.push(a);k.push(e);return d?c(a,e,b):e}function f(a){switch(la.call(a)){case "[object Int8Array]":case "[object Int16Array]":case "[object Int32Array]":case "[object Float32Array]":case "[object Float64Array]":case "[object Uint8Array]":case "[object Uint8ClampedArray]":case "[object Uint16Array]":case "[object Uint32Array]":return new a.constructor(e(a.buffer), |
|||
a.byteOffset,a.length);case "[object ArrayBuffer]":if(!a.slice){var b=new ArrayBuffer(a.byteLength);(new Uint8Array(b)).set(new Uint8Array(a));return b}return a.slice(0);case "[object Boolean]":case "[object Number]":case "[object String]":case "[object Date]":return new a.constructor(a.valueOf());case "[object RegExp]":return b=new RegExp(a.source,a.toString().match(/[^/]*$/)[0]),b.lastIndex=a.lastIndex,b;case "[object Blob]":return new a.constructor([a],{type:a.type})}if(B(a.cloneNode))return a.cloneNode(!0)} |
|||
var g=[],k=[];d=Yb(d)?d:NaN;if(b){if(ye(b)||"[object ArrayBuffer]"===la.call(b))throw oa("cpta");if(a===b)throw oa("cpi");H(b)?b.length=0:r(b,function(a,c){"$$hashKey"!==c&&delete b[c]});g.push(a);k.push(b);return c(a,b,d)}return e(a,d)}function ec(a,b){return a===b||a!==a&&b!==b}function va(a,b){if(a===b)return!0;if(null===a||null===b)return!1;if(a!==a&&b!==b)return!0;var d=typeof a,c;if(d===typeof b&&"object"===d)if(H(a)){if(!H(b))return!1;if((d=a.length)===b.length){for(c=0;c<d;c++)if(!va(a[c], |
|||
b[c]))return!1;return!0}}else{if(ha(a))return ha(b)?ec(a.getTime(),b.getTime()):!1;if(ab(a))return ab(b)?a.toString()===b.toString():!1;if(bb(a)||bb(b)||$a(a)||$a(b)||H(b)||ha(b)||ab(b))return!1;d=T();for(c in a)if("$"!==c.charAt(0)&&!B(a[c])){if(!va(a[c],b[c]))return!1;d[c]=!0}for(c in b)if(!(c in d)&&"$"!==c.charAt(0)&&w(b[c])&&!B(b[c]))return!1;return!0}return!1}function db(a,b,d){return a.concat(Ha.call(b,d))}function Va(a,b){var d=2<arguments.length?Ha.call(arguments,2):[];return!B(b)||b instanceof |
|||
RegExp?b:d.length?function(){return arguments.length?b.apply(a,db(d,arguments,0)):b.apply(a,d)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function Sc(a,b){var d=b;"string"===typeof a&&"$"===a.charAt(0)&&"$"===a.charAt(1)?d=void 0:$a(b)?d="$WINDOW":b&&z.document===b?d="$DOCUMENT":bb(b)&&(d="$SCOPE");return d}function eb(a,b){if(!A(a))return X(b)||(b=b?2:null),JSON.stringify(a,Sc,b)}function Tc(a){return C(a)?JSON.parse(a):a}function fc(a,b){a=a.replace(Be,"");var d=Date.parse("Jan 01, 1970 00:00:00 "+ |
|||
a)/6E4;return Y(d)?b:d}function Uc(a,b){a=new Date(a.getTime());a.setMinutes(a.getMinutes()+b);return a}function gc(a,b,d){d=d?-1:1;var c=a.getTimezoneOffset();b=fc(b,c);return Uc(a,d*(b-c))}function Aa(a){a=x(a).clone().empty();var b=x("<div></div>").append(a).html();try{return a[0].nodeType===Pa?K(b):b.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,function(a,b){return"<"+K(b)})}catch(d){return K(b)}}function Vc(a){try{return decodeURIComponent(a)}catch(b){}}function hc(a){var b={};r((a||"").split("&"), |
|||
function(a){var c,e,f;a&&(e=a=a.replace(/\+/g,"%20"),c=a.indexOf("="),-1!==c&&(e=a.substring(0,c),f=a.substring(c+1)),e=Vc(e),w(e)&&(f=w(f)?Vc(f):!0,ta.call(b,e)?H(b[e])?b[e].push(f):b[e]=[b[e],f]:b[e]=f))});return b}function Ce(a){var b=[];r(a,function(a,c){H(a)?r(a,function(a){b.push(ba(c,!0)+(!0===a?"":"="+ba(a,!0)))}):b.push(ba(c,!0)+(!0===a?"":"="+ba(a,!0)))});return b.length?b.join("&"):""}function ic(a){return ba(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ba(a, |
|||
b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function De(a,b){var d,c,e=Qa.length;for(c=0;c<e;++c)if(d=Qa[c]+b,C(d=a.getAttribute(d)))return d;return null}function Ee(a,b){var d,c,e={};r(Qa,function(b){b+="app";!d&&a.hasAttribute&&a.hasAttribute(b)&&(d=a,c=a.getAttribute(b))});r(Qa,function(b){b+="app";var e;!d&&(e=a.querySelector("["+b.replace(":","\\:")+"]"))&&(d=e,c=e.getAttribute(b))}); |
|||
d&&(Fe?(e.strictDi=null!==De(d,"strict-di"),b(d,c?[c]:[],e)):z.console.error("AngularJS: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match."))}function Wc(a,b,d){D(d)||(d={});d=S({strictDi:!1},d);var c=function(){a=x(a);if(a.injector()){var c=a[0]===z.document?"document":Aa(a);throw oa("btstrpd",c.replace(/</,"<").replace(/>/,">"));}b=b||[];b.unshift(["$provide",function(b){b.value("$rootElement",a)}]);d.debugInfoEnabled&&b.push(["$compileProvider", |
|||
function(a){a.debugInfoEnabled(!0)}]);b.unshift("ng");c=fb(b,d.strictDi);c.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;z&&e.test(z.name)&&(d.debugInfoEnabled=!0,z.name=z.name.replace(e,""));if(z&&!f.test(z.name))return c();z.name=z.name.replace(f,"");ca.resumeBootstrap=function(a){r(a,function(a){b.push(a)});return c()};B(ca.resumeDeferredBootstrap)&& |
|||
ca.resumeDeferredBootstrap()}function Ge(){z.name="NG_ENABLE_DEBUG_INFO!"+z.name;z.location.reload()}function He(a){a=ca.element(a).injector();if(!a)throw oa("test");return a.get("$$testability")}function Xc(a,b){b=b||"_";return a.replace(Ie,function(a,c){return(c?b:"")+a.toLowerCase()})}function Je(){var a;if(!Yc){var b=rb();(sb=A(b)?z.jQuery:b?z[b]:void 0)&&sb.fn.on?(x=sb,S(sb.fn,{scope:Wa.scope,isolateScope:Wa.isolateScope,controller:Wa.controller,injector:Wa.injector,inheritedData:Wa.inheritedData})): |
|||
x=U;a=x.cleanData;x.cleanData=function(b){for(var c,e=0,f;null!=(f=b[e]);e++)(c=(x._data(f)||{}).events)&&c.$destroy&&x(f).triggerHandler("$destroy");a(b)};ca.element=x;Yc=!0}}function Ke(){U.legacyXHTMLReplacement=!0}function gb(a,b,d){if(!a)throw oa("areq",b||"?",d||"required");return a}function tb(a,b,d){d&&H(a)&&(a=a[a.length-1]);gb(B(a),b,"not a function, got "+(a&&"object"===typeof a?a.constructor.name||"Object":typeof a));return a}function Ja(a,b){if("hasOwnProperty"===a)throw oa("badname", |
|||
b);}function Le(a,b,d){if(!b)return a;b=b.split(".");for(var c,e=a,f=b.length,g=0;g<f;g++)c=b[g],a&&(a=(e=a)[c]);return!d&&B(a)?Va(e,a):a}function ub(a){for(var b=a[0],d=a[a.length-1],c,e=1;b!==d&&(b=b.nextSibling);e++)if(c||a[e]!==b)c||(c=x(Ha.call(a,0,e))),c.push(b);return c||a}function T(){return Object.create(null)}function jc(a){if(null==a)return"";switch(typeof a){case "string":break;case "number":a=""+a;break;default:a=!cc(a)||H(a)||ha(a)?eb(a):a.toString()}return a}function Me(a){function b(a, |
|||
b,c){return a[b]||(a[b]=c())}var d=F("$injector"),c=F("ng");a=b(a,"angular",Object);a.$$minErr=a.$$minErr||F;return b(a,"module",function(){var a={};return function(f,g,k){var h={};if("hasOwnProperty"===f)throw c("badname","module");g&&a.hasOwnProperty(f)&&(a[f]=null);return b(a,f,function(){function a(b,c,d,f){f||(f=e);return function(){f[d||"push"]([b,c,arguments]);return t}}function b(a,c,d){d||(d=e);return function(b,e){e&&B(e)&&(e.$$moduleName=f);d.push([a,c,arguments]);return t}}if(!g)throw d("nomod", |
|||
f);var e=[],n=[],s=[],G=a("$injector","invoke","push",n),t={_invokeQueue:e,_configBlocks:n,_runBlocks:s,info:function(a){if(w(a)){if(!D(a))throw c("aobj","value");h=a;return this}return h},requires:g,name:f,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),decorator:b("$provide","decorator",n),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider", |
|||
"register"),directive:b("$compileProvider","directive"),component:b("$compileProvider","component"),config:G,run:function(a){s.push(a);return this}};k&&G(k);return t})}})}function ja(a,b){if(H(a)){b=b||[];for(var d=0,c=a.length;d<c;d++)b[d]=a[d]}else if(D(a))for(d in b=b||{},a)if("$"!==d.charAt(0)||"$"!==d.charAt(1))b[d]=a[d];return b||a}function Ne(a,b){var d=[];Yb(b)&&(a=ca.copy(a,null,b));return JSON.stringify(a,function(a,b){b=Sc(a,b);if(D(b)){if(0<=d.indexOf(b))return"...";d.push(b)}return b})} |
|||
function Oe(a){S(a,{errorHandlingConfig:ve,bootstrap:Wc,copy:Ia,extend:S,merge:xe,equals:va,element:x,forEach:r,injector:fb,noop:E,bind:Va,toJson:eb,fromJson:Tc,identity:Ta,isUndefined:A,isDefined:w,isString:C,isFunction:B,isObject:D,isNumber:X,isElement:ac,isArray:H,version:Pe,isDate:ha,callbacks:{$$counter:0},getTestability:He,reloadWithDebugInfo:Ge,UNSAFE_restoreLegacyJqLiteXHTMLReplacement:Ke,$$minErr:F,$$csp:Ba,$$encodeUriSegment:ic,$$encodeUriQuery:ba,$$lowercase:K,$$stringify:jc,$$uppercase:vb}); |
|||
lc=Me(z);lc("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:Qe});a.provider("$compile",Zc).directive({a:Re,input:$c,textarea:$c,form:Se,script:Te,select:Ue,option:Ve,ngBind:We,ngBindHtml:Xe,ngBindTemplate:Ye,ngClass:Ze,ngClassEven:$e,ngClassOdd:af,ngCloak:bf,ngController:cf,ngForm:df,ngHide:ef,ngIf:ff,ngInclude:gf,ngInit:hf,ngNonBindable:jf,ngPluralize:kf,ngRef:lf,ngRepeat:mf,ngShow:nf,ngStyle:of,ngSwitch:pf,ngSwitchWhen:qf,ngSwitchDefault:rf,ngOptions:sf,ngTransclude:tf,ngModel:uf, |
|||
ngList:vf,ngChange:wf,pattern:ad,ngPattern:ad,required:bd,ngRequired:bd,minlength:cd,ngMinlength:cd,maxlength:dd,ngMaxlength:dd,ngValue:xf,ngModelOptions:yf}).directive({ngInclude:zf,input:Af}).directive(wb).directive(ed);a.provider({$anchorScroll:Bf,$animate:Cf,$animateCss:Df,$$animateJs:Ef,$$animateQueue:Ff,$$AnimateRunner:Gf,$$animateAsyncRun:Hf,$browser:If,$cacheFactory:Jf,$controller:Kf,$document:Lf,$$isDocumentHidden:Mf,$exceptionHandler:Nf,$filter:fd,$$forceReflow:Of,$interpolate:Pf,$interval:Qf, |
|||
$$intervalFactory:Rf,$http:Sf,$httpParamSerializer:Tf,$httpParamSerializerJQLike:Uf,$httpBackend:Vf,$xhrFactory:Wf,$jsonpCallbacks:Xf,$location:Yf,$log:Zf,$parse:$f,$rootScope:ag,$q:bg,$$q:cg,$sce:dg,$sceDelegate:eg,$sniffer:fg,$$taskTrackerFactory:gg,$templateCache:hg,$templateRequest:ig,$$testability:jg,$timeout:kg,$window:lg,$$rAF:mg,$$jqLite:ng,$$Map:og,$$cookieReader:pg})}]).info({angularVersion:"1.8.1"})}function xb(a,b){return b.toUpperCase()}function yb(a){return a.replace(qg,xb)}function mc(a){a= |
|||
a.nodeType;return 1===a||!a||9===a}function gd(a,b){var d,c,e,f=b.createDocumentFragment(),g=[],k;if(nc.test(a)){d=f.appendChild(b.createElement("div"));c=(rg.exec(a)||["",""])[1].toLowerCase();e=U.legacyXHTMLReplacement?a.replace(sg,"<$1></$2>"):a;if(10>wa)for(c=hb[c]||hb._default,d.innerHTML=c[1]+e+c[2],k=c[0];k--;)d=d.firstChild;else{c=qa[c]||[];for(k=c.length;-1<--k;)d.appendChild(z.document.createElement(c[k])),d=d.firstChild;d.innerHTML=e}g=db(g,d.childNodes);d=f.firstChild;d.textContent=""}else g.push(b.createTextNode(a)); |
|||
f.textContent="";f.innerHTML="";r(g,function(a){f.appendChild(a)});return f}function U(a){if(a instanceof U)return a;var b;C(a)&&(a=V(a),b=!0);if(!(this instanceof U)){if(b&&"<"!==a.charAt(0))throw oc("nosel");return new U(a)}if(b){b=z.document;var d;a=(d=tg.exec(a))?[b.createElement(d[1])]:(d=gd(a,b))?d.childNodes:[];pc(this,a)}else B(a)?hd(a):pc(this,a)}function qc(a){return a.cloneNode(!0)}function zb(a,b){!b&&mc(a)&&x.cleanData([a]);a.querySelectorAll&&x.cleanData(a.querySelectorAll("*"))}function id(a){for(var b in a)return!1; |
|||
return!0}function jd(a){var b=a.ng339,d=b&&Ka[b],c=d&&d.events,d=d&&d.data;d&&!id(d)||c&&!id(c)||(delete Ka[b],a.ng339=void 0)}function kd(a,b,d,c){if(w(c))throw oc("offargs");var e=(c=Ab(a))&&c.events,f=c&&c.handle;if(f){if(b){var g=function(b){var c=e[b];w(d)&&cb(c||[],d);w(d)&&c&&0<c.length||(a.removeEventListener(b,f),delete e[b])};r(b.split(" "),function(a){g(a);Bb[a]&&g(Bb[a])})}else for(b in e)"$destroy"!==b&&a.removeEventListener(b,f),delete e[b];jd(a)}}function rc(a,b){var d=a.ng339;if(d= |
|||
d&&Ka[d])b?delete d.data[b]:d.data={},jd(a)}function Ab(a,b){var d=a.ng339,d=d&&Ka[d];b&&!d&&(a.ng339=d=++ug,d=Ka[d]={events:{},data:{},handle:void 0});return d}function sc(a,b,d){if(mc(a)){var c,e=w(d),f=!e&&b&&!D(b),g=!b;a=(a=Ab(a,!f))&&a.data;if(e)a[yb(b)]=d;else{if(g)return a;if(f)return a&&a[yb(b)];for(c in b)a[yb(c)]=b[c]}}}function Cb(a,b){return a.getAttribute?-1<(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" "):!1}function Db(a,b){if(b&&a.setAttribute){var d= |
|||
(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),c=d;r(b.split(" "),function(a){a=V(a);c=c.replace(" "+a+" "," ")});c!==d&&a.setAttribute("class",V(c))}}function Eb(a,b){if(b&&a.setAttribute){var d=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),c=d;r(b.split(" "),function(a){a=V(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});c!==d&&a.setAttribute("class",V(c))}}function pc(a,b){if(b)if(b.nodeType)a[a.length++]=b;else{var d=b.length;if("number"===typeof d&&b.window!==b){if(d)for(var c= |
|||
0;c<d;c++)a[a.length++]=b[c]}else a[a.length++]=b}}function ld(a,b){return Fb(a,"$"+(b||"ngController")+"Controller")}function Fb(a,b,d){9===a.nodeType&&(a=a.documentElement);for(b=H(b)?b:[b];a;){for(var c=0,e=b.length;c<e;c++)if(w(d=x.data(a,b[c])))return d;a=a.parentNode||11===a.nodeType&&a.host}}function md(a){for(zb(a,!0);a.firstChild;)a.removeChild(a.firstChild)}function Gb(a,b){b||zb(a);var d=a.parentNode;d&&d.removeChild(a)}function vg(a,b){b=b||z;if("complete"===b.document.readyState)b.setTimeout(a); |
|||
else x(b).on("load",a)}function hd(a){function b(){z.document.removeEventListener("DOMContentLoaded",b);z.removeEventListener("load",b);a()}"complete"===z.document.readyState?z.setTimeout(a):(z.document.addEventListener("DOMContentLoaded",b),z.addEventListener("load",b))}function nd(a,b){var d=Hb[b.toLowerCase()];return d&&od[ua(a)]&&d}function wg(a,b){var d=function(c,d){c.isDefaultPrevented=function(){return c.defaultPrevented};var f=b[d||c.type],g=f?f.length:0;if(g){if(A(c.immediatePropagationStopped)){var k= |
|||
c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0;c.stopPropagation&&c.stopPropagation();k&&k.call(c)}}c.isImmediatePropagationStopped=function(){return!0===c.immediatePropagationStopped};var h=f.specialHandlerWrapper||xg;1<g&&(f=ja(f));for(var l=0;l<g;l++)c.isImmediatePropagationStopped()||h(a,c,f[l])}};d.elem=a;return d}function xg(a,b,d){d.call(a,b)}function yg(a,b,d){var c=b.relatedTarget;c&&(c===a||zg.call(a,c))||d.call(a,b)}function ng(){this.$get= |
|||
function(){return S(U,{hasClass:function(a,b){a.attr&&(a=a[0]);return Cb(a,b)},addClass:function(a,b){a.attr&&(a=a[0]);return Eb(a,b)},removeClass:function(a,b){a.attr&&(a=a[0]);return Db(a,b)}})}}function La(a,b){var d=a&&a.$$hashKey;if(d)return"function"===typeof d&&(d=a.$$hashKey()),d;d=typeof a;return d="function"===d||"object"===d&&null!==a?a.$$hashKey=d+":"+(b||we)():d+":"+a}function pd(){this._keys=[];this._values=[];this._lastKey=NaN;this._lastIndex=-1}function qd(a){a=Function.prototype.toString.call(a).replace(Ag, |
|||
"");return a.match(Bg)||a.match(Cg)}function Dg(a){return(a=qd(a))?"function("+(a[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function fb(a,b){function d(a){return function(b,c){if(D(b))r(b,Zb(a));else return a(b,c)}}function c(a,b){Ja(a,"service");if(B(b)||H(b))b=n.instantiate(b);if(!b.$get)throw Ca("pget",a);return p[a+"Provider"]=b}function e(a,b){return function(){var c=t.invoke(b,this);if(A(c))throw Ca("undef",a);return c}}function f(a,b,d){return c(a,{$get:!1!==d?e(a,b):b})}function g(a){gb(A(a)|| |
|||
H(a),"modulesToLoad","not an array");var b=[],c;r(a,function(a){function d(a){var b,c;b=0;for(c=a.length;b<c;b++){var e=a[b],f=n.get(e[0]);f[e[1]].apply(f,e[2])}}if(!m.get(a)){m.set(a,!0);try{C(a)?(c=lc(a),t.modules[a]=c,b=b.concat(g(c.requires)).concat(c._runBlocks),d(c._invokeQueue),d(c._configBlocks)):B(a)?b.push(n.invoke(a)):H(a)?b.push(n.invoke(a)):tb(a,"module")}catch(e){throw H(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1===e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),Ca("modulerr", |
|||
a,e.stack||e.message||e);}}});return b}function k(a,c){function d(b,e){if(a.hasOwnProperty(b)){if(a[b]===h)throw Ca("cdep",b+" <- "+l.join(" <- "));return a[b]}try{return l.unshift(b),a[b]=h,a[b]=c(b,e),a[b]}catch(f){throw a[b]===h&&delete a[b],f;}finally{l.shift()}}function e(a,c,f){var g=[];a=fb.$$annotate(a,b,f);for(var h=0,k=a.length;h<k;h++){var l=a[h];if("string"!==typeof l)throw Ca("itkn",l);g.push(c&&c.hasOwnProperty(l)?c[l]:d(l,f))}return g}return{invoke:function(a,b,c,d){"string"===typeof c&& |
|||
(d=c,c=null);c=e(a,c,d);H(a)&&(a=a[a.length-1]);d=a;if(wa||"function"!==typeof d)d=!1;else{var f=d.$$ngIsClass;Ga(f)||(f=d.$$ngIsClass=/^class\b/.test(Function.prototype.toString.call(d)));d=f}return d?(c.unshift(null),new (Function.prototype.bind.apply(a,c))):a.apply(b,c)},instantiate:function(a,b,c){var d=H(a)?a[a.length-1]:a;a=e(a,b,c);a.unshift(null);return new (Function.prototype.bind.apply(d,a))},get:d,annotate:fb.$$annotate,has:function(b){return p.hasOwnProperty(b+"Provider")||a.hasOwnProperty(b)}}} |
|||
b=!0===b;var h={},l=[],m=new Ib,p={$provide:{provider:d(c),factory:d(f),service:d(function(a,b){return f(a,["$injector",function(a){return a.instantiate(b)}])}),value:d(function(a,b){return f(a,ia(b),!1)}),constant:d(function(a,b){Ja(a,"constant");p[a]=b;s[a]=b}),decorator:function(a,b){var c=n.get(a+"Provider"),d=c.$get;c.$get=function(){var a=t.invoke(d,c);return t.invoke(b,null,{$delegate:a})}}}},n=p.$injector=k(p,function(a,b){ca.isString(b)&&l.push(b);throw Ca("unpr",l.join(" <- "));}),s={}, |
|||
G=k(s,function(a,b){var c=n.get(a+"Provider",b);return t.invoke(c.$get,c,void 0,a)}),t=G;p.$injectorProvider={$get:ia(G)};t.modules=n.modules=T();var N=g(a),t=G.get("$injector");t.strictDi=b;r(N,function(a){a&&t.invoke(a)});t.loadNewModules=function(a){r(g(a),function(a){a&&t.invoke(a)})};return t}function Bf(){var a=!0;this.disableAutoScrolling=function(){a=!1};this.$get=["$window","$location","$rootScope",function(b,d,c){function e(a){var b=null;Array.prototype.some.call(a,function(a){if("a"=== |
|||
ua(a))return b=a,!0});return b}function f(a){if(a){a.scrollIntoView();var c;c=g.yOffset;B(c)?c=c():ac(c)?(c=c[0],c="fixed"!==b.getComputedStyle(c).position?0:c.getBoundingClientRect().bottom):X(c)||(c=0);c&&(a=a.getBoundingClientRect().top,b.scrollBy(0,a-c))}else b.scrollTo(0,0)}function g(a){a=C(a)?a:X(a)?a.toString():d.hash();var b;a?(b=k.getElementById(a))?f(b):(b=e(k.getElementsByName(a)))?f(b):"top"===a&&f(null):f(null)}var k=b.document;a&&c.$watch(function(){return d.hash()},function(a,b){a=== |
|||
b&&""===a||vg(function(){c.$evalAsync(g)})});return g}]}function ib(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;H(a)&&(a=a.join(" "));H(b)&&(b=b.join(" "));return a+" "+b}function Eg(a){C(a)&&(a=a.split(" "));var b=T();r(a,function(a){a.length&&(b[a]=!0)});return b}function ra(a){return D(a)?a:{}}function Fg(a,b,d,c,e){function f(){pa=null;k()}function g(){t=y();t=A(t)?null:t;va(t,P)&&(t=P);N=P=t}function k(){var a=N;g();if(v!==h.url()||a!==t)v=h.url(),N=t,r(J,function(a){a(h.url(),t)})} |
|||
var h=this,l=a.location,m=a.history,p=a.setTimeout,n=a.clearTimeout,s={},G=e(d);h.isMock=!1;h.$$completeOutstandingRequest=G.completeTask;h.$$incOutstandingRequestCount=G.incTaskCount;h.notifyWhenNoOutstandingRequests=G.notifyWhenNoPendingTasks;var t,N,v=l.href,kc=b.find("base"),pa=null,y=c.history?function(){try{return m.state}catch(a){}}:E;g();h.url=function(b,d,e){A(e)&&(e=null);l!==a.location&&(l=a.location);m!==a.history&&(m=a.history);if(b){var f=N===e;b=ga(b).href;if(v===b&&(!c.history||f))return h; |
|||
var k=v&&Da(v)===Da(b);v=b;N=e;!c.history||k&&f?(k||(pa=b),d?l.replace(b):k?(d=l,e=b,f=e.indexOf("#"),e=-1===f?"":e.substr(f),d.hash=e):l.href=b,l.href!==b&&(pa=b)):(m[d?"replaceState":"pushState"](e,"",b),g());pa&&(pa=b);return h}return(pa||l.href).replace(/#$/,"")};h.state=function(){return t};var J=[],I=!1,P=null;h.onUrlChange=function(b){if(!I){if(c.history)x(a).on("popstate",f);x(a).on("hashchange",f);I=!0}J.push(b);return b};h.$$applicationDestroyed=function(){x(a).off("hashchange popstate", |
|||
f)};h.$$checkUrlChange=k;h.baseHref=function(){var a=kc.attr("href");return a?a.replace(/^(https?:)?\/\/[^/]*/,""):""};h.defer=function(a,b,c){var d;b=b||0;c=c||G.DEFAULT_TASK_TYPE;G.incTaskCount(c);d=p(function(){delete s[d];G.completeTask(a,c)},b);s[d]=c;return d};h.defer.cancel=function(a){if(s.hasOwnProperty(a)){var b=s[a];delete s[a];n(a);G.completeTask(E,b);return!0}return!1}}function If(){this.$get=["$window","$log","$sniffer","$document","$$taskTrackerFactory",function(a,b,d,c,e){return new Fg(a, |
|||
c,b,d,e)}]}function Jf(){this.$get=function(){function a(a,c){function e(a){a!==p&&(n?n===a&&(n=a.n):n=a,f(a.n,a.p),f(a,p),p=a,p.n=null)}function f(a,b){a!==b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw F("$cacheFactory")("iid",a);var g=0,k=S({},c,{id:a}),h=T(),l=c&&c.capacity||Number.MAX_VALUE,m=T(),p=null,n=null;return b[a]={put:function(a,b){if(!A(b)){if(l<Number.MAX_VALUE){var c=m[a]||(m[a]={key:a});e(c)}a in h||g++;h[a]=b;g>l&&this.remove(n.key);return b}},get:function(a){if(l<Number.MAX_VALUE){var b= |
|||
m[a];if(!b)return;e(b)}return h[a]},remove:function(a){if(l<Number.MAX_VALUE){var b=m[a];if(!b)return;b===p&&(p=b.p);b===n&&(n=b.n);f(b.n,b.p);delete m[a]}a in h&&(delete h[a],g--)},removeAll:function(){h=T();g=0;m=T();p=n=null},destroy:function(){m=k=h=null;delete b[a]},info:function(){return S({},k,{size:g})}}}var b={};a.info=function(){var a={};r(b,function(b,e){a[e]=b.info()});return a};a.get=function(a){return b[a]};return a}}function hg(){this.$get=["$cacheFactory",function(a){return a("templates")}]} |
|||
function Zc(a,b){function d(a,b,c){var d=/^([@&]|[=<](\*?))(\??)\s*([\w$]*)$/,e=T();r(a,function(a,f){a=a.trim();if(a in p)e[f]=p[a];else{var g=a.match(d);if(!g)throw $("iscp",b,f,a,c?"controller bindings definition":"isolate scope definition");e[f]={mode:g[1][0],collection:"*"===g[2],optional:"?"===g[3],attrName:g[4]||f};g[4]&&(p[a]=e[f])}});return e}function c(a){var b=a.charAt(0);if(!b||b!==K(b))throw $("baddir",a);if(a!==a.trim())throw $("baddir",a);}function e(a){var b=a.require||a.controller&& |
|||
a.name;!H(b)&&D(b)&&r(b,function(a,c){var d=a.match(l);a.substring(d[0].length)||(b[c]=d[0]+c)});return b}var f={},g=/^\s*directive:\s*([\w-]+)\s+(.*)$/,k=/(([\w-]+)(?::([^;]+))?;?)/,h=Ae("ngSrc,ngSrcset,src,srcset"),l=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,m=/^(on[a-z]+|formaction)$/,p=T();this.directive=function pa(b,d){gb(b,"name");Ja(b,"directive");C(b)?(c(b),gb(d,"directiveFactory"),f.hasOwnProperty(b)||(f[b]=[],a.factory(b+"Directive",["$injector","$exceptionHandler",function(a,c){var d=[];r(f[b],function(f, |
|||
g){try{var h=a.invoke(f);B(h)?h={compile:ia(h)}:!h.compile&&h.link&&(h.compile=ia(h.link));h.priority=h.priority||0;h.index=g;h.name=h.name||b;h.require=e(h);var k=h,l=h.restrict;if(l&&(!C(l)||!/[EACM]/.test(l)))throw $("badrestrict",l,b);k.restrict=l||"EA";h.$$moduleName=f.$$moduleName;d.push(h)}catch(m){c(m)}});return d}])),f[b].push(d)):r(b,Zb(pa));return this};this.component=function y(a,b){function c(a){function e(b){return B(b)||H(b)?function(c,d){return a.invoke(b,this,{$element:c,$attrs:d})}: |
|||
b}var f=b.template||b.templateUrl?b.template:"",g={controller:d,controllerAs:Gg(b.controller)||b.controllerAs||"$ctrl",template:e(f),templateUrl:e(b.templateUrl),transclude:b.transclude,scope:{},bindToController:b.bindings||{},restrict:"E",require:b.require};r(b,function(a,b){"$"===b.charAt(0)&&(g[b]=a)});return g}if(!C(a))return r(a,Zb(Va(this,y))),this;var d=b.controller||function(){};r(b,function(a,b){"$"===b.charAt(0)&&(c[b]=a,B(d)&&(d[b]=a))});c.$inject=["$injector"];return this.directive(a, |
|||
c)};this.aHrefSanitizationTrustedUrlList=function(a){return w(a)?(b.aHrefSanitizationTrustedUrlList(a),this):b.aHrefSanitizationTrustedUrlList()};Object.defineProperty(this,"aHrefSanitizationWhitelist",{get:function(){return this.aHrefSanitizationTrustedUrlList},set:function(a){this.aHrefSanitizationTrustedUrlList=a}});this.imgSrcSanitizationTrustedUrlList=function(a){return w(a)?(b.imgSrcSanitizationTrustedUrlList(a),this):b.imgSrcSanitizationTrustedUrlList()};Object.defineProperty(this,"imgSrcSanitizationWhitelist", |
|||
{get:function(){return this.imgSrcSanitizationTrustedUrlList},set:function(a){this.imgSrcSanitizationTrustedUrlList=a}});var n=!0;this.debugInfoEnabled=function(a){return w(a)?(n=a,this):n};var s=!1;this.strictComponentBindingsEnabled=function(a){return w(a)?(s=a,this):s};var G=10;this.onChangesTtl=function(a){return arguments.length?(G=a,this):G};var t=!0;this.commentDirectivesEnabled=function(a){return arguments.length?(t=a,this):t};var N=!0;this.cssClassDirectivesEnabled=function(a){return arguments.length? |
|||
(N=a,this):N};var v=T();this.addPropertySecurityContext=function(a,b,c){var d=a.toLowerCase()+"|"+b.toLowerCase();if(d in v&&v[d]!==c)throw $("ctxoverride",a,b,v[d],c);v[d]=c;return this};(function(){function a(b,c){r(c,function(a){v[a.toLowerCase()]=b})}a(W.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]);a(W.CSS,["*|style"]);a(W.URL,"area|href area|ping a|href a|ping blockquote|cite body|background del|cite input|src ins|cite q|cite".split(" "));a(W.MEDIA_URL,"audio|src img|src img|srcset source|src source|srcset track|src video|src video|poster".split(" ")); |
|||
a(W.RESOURCE_URL,"*|formAction applet|code applet|codebase base|href embed|src frame|src form|action head|profile html|manifest iframe|src link|href media|src object|codebase object|data script|src".split(" "))})();this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate",function(a,b,c,e,p,M,L,u,R){function q(){try{if(!--Ja)throw Ua=void 0,$("infchng",G);L.$apply(function(){for(var a=0,b=Ua.length;a<b;++a)try{Ua[a]()}catch(d){c(d)}Ua= |
|||
void 0})}finally{Ja++}}function ma(a,b){if(!a)return a;if(!C(a))throw $("srcset",b,a.toString());for(var c="",d=V(a),e=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,e=/\s/.test(d)?e:/(,)/,d=d.split(e),e=Math.floor(d.length/2),f=0;f<e;f++)var g=2*f,c=c+u.getTrustedMediaUrl(V(d[g])),c=c+(" "+V(d[g+1]));d=V(d[2*f]).split(/\s/);c+=u.getTrustedMediaUrl(V(d[0]));2===d.length&&(c+=" "+V(d[1]));return c}function w(a,b){if(b){var c=Object.keys(b),d,e,f;d=0;for(e=c.length;d<e;d++)f=c[d],this[f]=b[f]}else this.$attr= |
|||
{};this.$$element=a}function O(a,b,c){Fa.innerHTML="<span "+b+">";b=Fa.firstChild.attributes;var d=b[0];b.removeNamedItem(d.name);d.value=c;a.attributes.setNamedItem(d)}function sa(a,b){try{a.addClass(b)}catch(c){}}function da(a,b,c,d,e){a instanceof x||(a=x(a));var f=Xa(a,b,a,c,d,e);da.$$addScopeClass(a);var g=null;return function(b,c,d){if(!a)throw $("multilink");gb(b,"scope");e&&e.needsNewScope&&(b=b.$parent.$new());d=d||{};var h=d.parentBoundTranscludeFn,k=d.transcludeControllers;d=d.futureParentElement; |
|||
h&&h.$$boundTransclude&&(h=h.$$boundTransclude);g||(g=(d=d&&d[0])?"foreignobject"!==ua(d)&&la.call(d).match(/SVG/)?"svg":"html":"html");d="html"!==g?x(ja(g,x("<div></div>").append(a).html())):c?Wa.clone.call(a):a;if(k)for(var l in k)d.data("$"+l+"Controller",k[l].instance);da.$$addScopeInfo(d,b);c&&c(d,b);f&&f(b,d,d,h);c||(a=f=null);return d}}function Xa(a,b,c,d,e,f){function g(a,c,d,e){var f,k,l,m,p,I,t;if(n)for(t=Array(c.length),m=0;m<h.length;m+=3)f=h[m],t[f]=c[f];else t=c;m=0;for(p=h.length;m< |
|||
p;)k=t[h[m++]],c=h[m++],f=h[m++],c?(c.scope?(l=a.$new(),da.$$addScopeInfo(x(k),l)):l=a,I=c.transcludeOnThisElement?ka(a,c.transclude,e):!c.templateOnThisElement&&e?e:!e&&b?ka(a,b):null,c(f,l,k,d,I)):f&&f(a,k.childNodes,void 0,e)}for(var h=[],k=H(a)||a instanceof x,l,m,p,I,n,t=0;t<a.length;t++){l=new w;11===wa&&jb(a,t,k);m=tc(a[t],[],l,0===t?d:void 0,e);(f=m.length?aa(m,a[t],l,b,c,null,[],[],f):null)&&f.scope&&da.$$addScopeClass(l.$$element);l=f&&f.terminal||!(p=a[t].childNodes)||!p.length?null:Xa(p, |
|||
f?(f.transcludeOnThisElement||!f.templateOnThisElement)&&f.transclude:b);if(f||l)h.push(t,f,l),I=!0,n=n||f;f=null}return I?g:null}function jb(a,b,c){var d=a[b],e=d.parentNode,f;if(d.nodeType===Pa)for(;;){f=e?d.nextSibling:a[b+1];if(!f||f.nodeType!==Pa)break;d.nodeValue+=f.nodeValue;f.parentNode&&f.parentNode.removeChild(f);c&&f===a[b+1]&&a.splice(b+1,1)}}function ka(a,b,c){function d(e,f,g,h,k){e||(e=a.$new(!1,k),e.$$transcluded=!0);return b(e,f,{parentBoundTranscludeFn:c,transcludeControllers:g, |
|||
futureParentElement:h})}var e=d.$$slots=T(),f;for(f in b.$$slots)e[f]=b.$$slots[f]?ka(a,b.$$slots[f],c):null;return d}function tc(a,b,d,e,f){var g=d.$attr,h;switch(a.nodeType){case 1:h=ua(a);Y(b,xa(h),"E",e,f);for(var l,m,n,t,J,s=a.attributes,v=0,G=s&&s.length;v<G;v++){var P=!1,N=!1,r=!1,y=!1,u=!1,M;l=s[v];m=l.name;t=l.value;n=xa(m.toLowerCase());(J=n.match(Ra))?(r="Attr"===J[1],y="Prop"===J[1],u="On"===J[1],m=m.replace(rd,"").toLowerCase().substr(4+J[1].length).replace(/_(.)/g,function(a,b){return b.toUpperCase()})): |
|||
(M=n.match(Sa))&&ca(M[1])&&(P=m,N=m.substr(0,m.length-5)+"end",m=m.substr(0,m.length-6));if(y||u)d[n]=t,g[n]=l.name,y?Ea(a,b,n,m):b.push(sd(p,L,c,n,m,!1));else{n=xa(m.toLowerCase());g[n]=m;if(r||!d.hasOwnProperty(n))d[n]=t,nd(a,n)&&(d[n]=!0);Ia(a,b,t,n,r);Y(b,n,"A",e,f,P,N)}}"input"===h&&"hidden"===a.getAttribute("type")&&a.setAttribute("autocomplete","off");if(!Qa)break;g=a.className;D(g)&&(g=g.animVal);if(C(g)&&""!==g)for(;a=k.exec(g);)n=xa(a[2]),Y(b,n,"C",e,f)&&(d[n]=V(a[3])),g=g.substr(a.index+ |
|||
a[0].length);break;case Pa:na(b,a.nodeValue);break;case 8:if(!Oa)break;F(a,b,d,e,f)}b.sort(ia);return b}function F(a,b,c,d,e){try{var f=g.exec(a.nodeValue);if(f){var h=xa(f[1]);Y(b,h,"M",d,e)&&(c[h]=V(f[2]))}}catch(k){}}function U(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw $("uterdir",b,c);1===a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return x(d)}function W(a,b,c){return function(d,e,f,g,h){e=U(e[0], |
|||
b,c);return a(d,e,f,g,h)}}function Z(a,b,c,d,e,f){var g;return a?da(b,c,d,e,f):function(){g||(g=da(b,c,d,e,f),b=c=f=null);return g.apply(this,arguments)}}function aa(a,b,d,e,f,g,h,k,l){function m(a,b,c,d){if(a){c&&(a=W(a,c,d));a.require=u.require;a.directiveName=Q;if(s===u||u.$$isolateScope)a=Ba(a,{isolateScope:!0});h.push(a)}if(b){c&&(b=W(b,c,d));b.require=u.require;b.directiveName=Q;if(s===u||u.$$isolateScope)b=Ba(b,{isolateScope:!0});k.push(b)}}function p(a,e,f,g,l){function m(a,b,c,d){var e;bb(a)|| |
|||
(d=c,c=b,b=a,a=void 0);N&&(e=P);c||(c=N?Q.parent():Q);if(d){var f=l.$$slots[d];if(f)return f(a,b,e,c,R);if(A(f))throw $("noslot",d,Aa(Q));}else return l(a,b,e,c,R)}var n,u,L,y,G,P,M,Q;b===f?(g=d,Q=d.$$element):(Q=x(f),g=new w(Q,d));G=e;s?y=e.$new(!0):t&&(G=e.$parent);l&&(M=m,M.$$boundTransclude=l,M.isSlotFilled=function(a){return!!l.$$slots[a]});J&&(P=ea(Q,g,M,J,y,e,s));s&&(da.$$addScopeInfo(Q,y,!0,!(v&&(v===s||v===s.$$originalDirective))),da.$$addScopeClass(Q,!0),y.$$isolateBindings=s.$$isolateBindings, |
|||
u=Da(e,g,y,y.$$isolateBindings,s),u.removeWatches&&y.$on("$destroy",u.removeWatches));for(n in P){u=J[n];L=P[n];var Hg=u.$$bindings.bindToController;L.instance=L();Q.data("$"+u.name+"Controller",L.instance);L.bindingInfo=Da(G,g,L.instance,Hg,u)}r(J,function(a,b){var c=a.require;a.bindToController&&!H(c)&&D(c)&&S(P[b].instance,X(b,c,Q,P))});r(P,function(a){var b=a.instance;if(B(b.$onChanges))try{b.$onChanges(a.bindingInfo.initialChanges)}catch(d){c(d)}if(B(b.$onInit))try{b.$onInit()}catch(e){c(e)}B(b.$doCheck)&& |
|||
(G.$watch(function(){b.$doCheck()}),b.$doCheck());B(b.$onDestroy)&&G.$on("$destroy",function(){b.$onDestroy()})});n=0;for(u=h.length;n<u;n++)L=h[n],Ca(L,L.isolateScope?y:e,Q,g,L.require&&X(L.directiveName,L.require,Q,P),M);var R=e;s&&(s.template||null===s.templateUrl)&&(R=y);a&&a(R,f.childNodes,void 0,l);for(n=k.length-1;0<=n;n--)L=k[n],Ca(L,L.isolateScope?y:e,Q,g,L.require&&X(L.directiveName,L.require,Q,P),M);r(P,function(a){a=a.instance;B(a.$postLink)&&a.$postLink()})}l=l||{};for(var n=-Number.MAX_VALUE, |
|||
t=l.newScopeDirective,J=l.controllerDirectives,s=l.newIsolateScopeDirective,v=l.templateDirective,L=l.nonTlbTranscludeDirective,G=!1,P=!1,N=l.hasElementTranscludeDirective,y=d.$$element=x(b),u,Q,M,R=e,q,ma=!1,Jb=!1,O,sa=0,C=a.length;sa<C;sa++){u=a[sa];var E=u.$$start,jb=u.$$end;E&&(y=U(b,E,jb));M=void 0;if(n>u.priority)break;if(O=u.scope)u.templateUrl||(D(O)?(ba("new/isolated scope",s||t,u,y),s=u):ba("new/isolated scope",s,u,y)),t=t||u;Q=u.name;if(!ma&&(u.replace&&(u.templateUrl||u.template)||u.transclude&& |
|||
!u.$$tlb)){for(O=sa+1;ma=a[O++];)if(ma.transclude&&!ma.$$tlb||ma.replace&&(ma.templateUrl||ma.template)){Jb=!0;break}ma=!0}!u.templateUrl&&u.controller&&(J=J||T(),ba("'"+Q+"' controller",J[Q],u,y),J[Q]=u);if(O=u.transclude)if(G=!0,u.$$tlb||(ba("transclusion",L,u,y),L=u),"element"===O)N=!0,n=u.priority,M=y,y=d.$$element=x(da.$$createComment(Q,d[Q])),b=y[0],oa(f,Ha.call(M,0),b),R=Z(Jb,M,e,n,g&&g.name,{nonTlbTranscludeDirective:L});else{var ka=T();if(D(O)){M=z.document.createDocumentFragment();var Xa= |
|||
T(),F=T();r(O,function(a,b){var c="?"===a.charAt(0);a=c?a.substring(1):a;Xa[a]=b;ka[b]=null;F[b]=c});r(y.contents(),function(a){var b=Xa[xa(ua(a))];b?(F[b]=!0,ka[b]=ka[b]||z.document.createDocumentFragment(),ka[b].appendChild(a)):M.appendChild(a)});r(F,function(a,b){if(!a)throw $("reqslot",b);});for(var K in ka)ka[K]&&(R=x(ka[K].childNodes),ka[K]=Z(Jb,R,e));M=x(M.childNodes)}else M=x(qc(b)).contents();y.empty();R=Z(Jb,M,e,void 0,void 0,{needsNewScope:u.$$isolateScope||u.$$newScope});R.$$slots=ka}if(u.template)if(P= |
|||
!0,ba("template",v,u,y),v=u,O=B(u.template)?u.template(y,d):u.template,O=Na(O),u.replace){g=u;M=nc.test(O)?td(ja(u.templateNamespace,V(O))):[];b=M[0];if(1!==M.length||1!==b.nodeType)throw $("tplrt",Q,"");oa(f,y,b);C={$attr:{}};O=tc(b,[],C);var Ig=a.splice(sa+1,a.length-(sa+1));(s||t)&&fa(O,s,t);a=a.concat(O).concat(Ig);ga(d,C);C=a.length}else y.html(O);if(u.templateUrl)P=!0,ba("template",v,u,y),v=u,u.replace&&(g=u),p=ha(a.splice(sa,a.length-sa),y,d,f,G&&R,h,k,{controllerDirectives:J,newScopeDirective:t!== |
|||
u&&t,newIsolateScopeDirective:s,templateDirective:v,nonTlbTranscludeDirective:L}),C=a.length;else if(u.compile)try{q=u.compile(y,d,R);var Y=u.$$originalDirective||u;B(q)?m(null,Va(Y,q),E,jb):q&&m(Va(Y,q.pre),Va(Y,q.post),E,jb)}catch(ca){c(ca,Aa(y))}u.terminal&&(p.terminal=!0,n=Math.max(n,u.priority))}p.scope=t&&!0===t.scope;p.transcludeOnThisElement=G;p.templateOnThisElement=P;p.transclude=R;l.hasElementTranscludeDirective=N;return p}function X(a,b,c,d){var e;if(C(b)){var f=b.match(l);b=b.substring(f[0].length); |
|||
var g=f[1]||f[3],f="?"===f[2];"^^"===g?c=c.parent():e=(e=d&&d[b])&&e.instance;if(!e){var h="$"+b+"Controller";e="^^"===g&&c[0]&&9===c[0].nodeType?null:g?c.inheritedData(h):c.data(h)}if(!e&&!f)throw $("ctreq",b,a);}else if(H(b))for(e=[],g=0,f=b.length;g<f;g++)e[g]=X(a,b[g],c,d);else D(b)&&(e={},r(b,function(b,f){e[f]=X(a,b,c,d)}));return e||null}function ea(a,b,c,d,e,f,g){var h=T(),k;for(k in d){var l=d[k],m={$scope:l===g||l.$$isolateScope?e:f,$element:a,$attrs:b,$transclude:c},p=l.controller;"@"=== |
|||
p&&(p=b[l.name]);m=M(p,m,!0,l.controllerAs);h[l.name]=m;a.data("$"+l.name+"Controller",m.instance)}return h}function fa(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d]=bc(a[d],{$$isolateScope:b,$$newScope:c})}function Y(b,c,e,g,h,k,l){if(c===h)return null;var m=null;if(f.hasOwnProperty(c)){h=a.get(c+"Directive");for(var p=0,n=h.length;p<n;p++)if(c=h[p],(A(g)||g>c.priority)&&-1!==c.restrict.indexOf(e)){k&&(c=bc(c,{$$start:k,$$end:l}));if(!c.$$bindings){var I=m=c,t=c.name,u={isolateScope:null,bindToController:null}; |
|||
D(I.scope)&&(!0===I.bindToController?(u.bindToController=d(I.scope,t,!0),u.isolateScope={}):u.isolateScope=d(I.scope,t,!1));D(I.bindToController)&&(u.bindToController=d(I.bindToController,t,!0));if(u.bindToController&&!I.controller)throw $("noctrl",t);m=m.$$bindings=u;D(m.isolateScope)&&(c.$$isolateBindings=m.isolateScope)}b.push(c);m=c}}return m}function ca(b){if(f.hasOwnProperty(b))for(var c=a.get(b+"Directive"),d=0,e=c.length;d<e;d++)if(b=c[d],b.multiElement)return!0;return!1}function ga(a,b){var c= |
|||
b.$attr,d=a.$attr;r(a,function(d,e){"$"!==e.charAt(0)&&(b[e]&&b[e]!==d&&(d=d.length?d+(("style"===e?";":" ")+b[e]):b[e]),a.$set(e,d,!0,c[e]))});r(b,function(b,e){a.hasOwnProperty(e)||"$"===e.charAt(0)||(a[e]=b,"class"!==e&&"style"!==e&&(d[e]=c[e]))})}function ha(a,b,d,f,g,h,k,l){var m=[],p,n,t=b[0],u=a.shift(),J=bc(u,{templateUrl:null,transclude:null,replace:null,$$originalDirective:u}),s=B(u.templateUrl)?u.templateUrl(b,d):u.templateUrl,L=u.templateNamespace;b.empty();e(s).then(function(c){var e, |
|||
I;c=Na(c);if(u.replace){c=nc.test(c)?td(ja(L,V(c))):[];e=c[0];if(1!==c.length||1!==e.nodeType)throw $("tplrt",u.name,s);c={$attr:{}};oa(f,b,e);var v=tc(e,[],c);D(u.scope)&&fa(v,!0);a=v.concat(a);ga(d,c)}else e=t,b.html(c);a.unshift(J);p=aa(a,e,d,g,b,u,h,k,l);r(f,function(a,c){a===e&&(f[c]=b[0])});for(n=Xa(b[0].childNodes,g);m.length;){c=m.shift();I=m.shift();var y=m.shift(),P=m.shift(),v=b[0];if(!c.$$destroyed){if(I!==t){var G=I.className;l.hasElementTranscludeDirective&&u.replace||(v=qc(e));oa(y, |
|||
x(I),v);sa(x(v),G)}I=p.transcludeOnThisElement?ka(c,p.transclude,P):P;p(n,c,v,f,I)}}m=null}).catch(function(a){dc(a)&&c(a)});return function(a,b,c,d,e){a=e;b.$$destroyed||(m?m.push(b,c,d,a):(p.transcludeOnThisElement&&(a=ka(b,p.transclude,e)),p(n,b,c,d,a)))}}function ia(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function ba(a,b,c,d){function e(a){return a?" (module: "+a+")":""}if(b)throw $("multidir",b.name,e(b.$$moduleName),c.name,e(c.$$moduleName), |
|||
a,Aa(d));}function na(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:function(a){a=a.parent();var b=!!a.length;b&&da.$$addBindingClass(a);return function(a,c){var e=c.parent();b||da.$$addBindingClass(e);da.$$addBindingInfo(e,d.expressions);a.$watch(d,function(a){c[0].nodeValue=a})}}})}function ja(a,b){a=K(a||"html");switch(a){case "svg":case "math":var c=z.document.createElement("div");c.innerHTML="<"+a+">"+b+"</"+a+">";return c.childNodes[0].childNodes;default:return b}}function qa(a,b){if("srcdoc"=== |
|||
b)return u.HTML;if("src"===b||"ngSrc"===b)return-1===["img","video","audio","source","track"].indexOf(a)?u.RESOURCE_URL:u.MEDIA_URL;if("xlinkHref"===b)return"image"===a?u.MEDIA_URL:"a"===a?u.URL:u.RESOURCE_URL;if("form"===a&&"action"===b||"base"===a&&"href"===b||"link"===a&&"href"===b)return u.RESOURCE_URL;if("a"===a&&("href"===b||"ngHref"===b))return u.URL}function ya(a,b){var c=b.toLowerCase();return v[a+"|"+c]||v["*|"+c]}function za(a){return ma(u.valueOf(a),"ng-prop-srcset")}function Ea(a,b,c, |
|||
d){if(m.test(d))throw $("nodomevents");a=ua(a);var e=ya(a,d),f=Ta;"srcset"!==d||"img"!==a&&"source"!==a?e&&(f=u.getTrusted.bind(u,e)):f=za;b.push({priority:100,compile:function(a,b){var e=p(b[c]),g=p(b[c],function(a){return u.valueOf(a)});return{pre:function(a,b){function c(){var g=e(a);b[0][d]=f(g)}c();a.$watch(g,c)}}}})}function Ia(a,c,d,e,f){var g=ua(a),k=qa(g,e),l=h[e]||f,p=b(d,!f,k,l);if(p){if("multiple"===e&&"select"===g)throw $("selmulti",Aa(a));if(m.test(e))throw $("nodomevents");c.push({priority:100, |
|||
compile:function(){return{pre:function(a,c,f){c=f.$$observers||(f.$$observers=T());var g=f[e];g!==d&&(p=g&&b(g,!0,k,l),d=g);p&&(f[e]=p(a),(c[e]||(c[e]=[])).$$inter=!0,(f.$$observers&&f.$$observers[e].$$scope||a).$watch(p,function(a,b){"class"===e&&a!==b?f.$updateClass(a,b):f.$set(e,a)}))}}}})}}function oa(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g<h;g++)if(a[g]===d){a[g++]=c;h=g+e-1;for(var k=a.length;g<k;g++,h++)h<k?a[g]=a[h]:delete a[g];a.length-=e-1;a.context===d&& |
|||
(a.context=c);break}f&&f.replaceChild(c,d);a=z.document.createDocumentFragment();for(g=0;g<e;g++)a.appendChild(b[g]);x.hasData(d)&&(x.data(c,x.data(d)),x(d).off("$destroy"));x.cleanData(a.querySelectorAll("*"));for(g=1;g<e;g++)delete b[g];b[0]=c;b.length=1}function Ba(a,b){return S(function(){return a.apply(null,arguments)},a,b)}function Ca(a,b,d,e,f,g){try{a(b,d,e,f,g)}catch(h){c(h,Aa(d))}}function ra(a,b){if(s)throw $("missingattr",a,b);}function Da(a,c,d,e,f){function g(b,c,e){B(d.$onChanges)&& |
|||
!ec(c,e)&&(Ua||(a.$$postDigest(q),Ua=[]),m||(m={},Ua.push(h)),m[b]&&(e=m[b].previousValue),m[b]=new Kb(e,c))}function h(){d.$onChanges(m);m=void 0}var k=[],l={},m;r(e,function(e,h){var m=e.attrName,n=e.optional,I,t,u,s;switch(e.mode){case "@":n||ta.call(c,m)||(ra(m,f.name),d[h]=c[m]=void 0);n=c.$observe(m,function(a){if(C(a)||Ga(a))g(h,a,d[h]),d[h]=a});c.$$observers[m].$$scope=a;I=c[m];C(I)?d[h]=b(I)(a):Ga(I)&&(d[h]=I);l[h]=new Kb(uc,d[h]);k.push(n);break;case "=":if(!ta.call(c,m)){if(n)break;ra(m, |
|||
f.name);c[m]=void 0}if(n&&!c[m])break;t=p(c[m]);s=t.literal?va:ec;u=t.assign||function(){I=d[h]=t(a);throw $("nonassign",c[m],m,f.name);};I=d[h]=t(a);n=function(b){s(b,d[h])||(s(b,I)?u(a,b=d[h]):d[h]=b);return I=b};n.$stateful=!0;n=e.collection?a.$watchCollection(c[m],n):a.$watch(p(c[m],n),null,t.literal);k.push(n);break;case "<":if(!ta.call(c,m)){if(n)break;ra(m,f.name);c[m]=void 0}if(n&&!c[m])break;t=p(c[m]);var v=t.literal,L=d[h]=t(a);l[h]=new Kb(uc,d[h]);n=a[e.collection?"$watchCollection":"$watch"](t, |
|||
function(a,b){if(b===a){if(b===L||v&&va(b,L))return;b=L}g(h,a,b);d[h]=a});k.push(n);break;case "&":n||ta.call(c,m)||ra(m,f.name);t=c.hasOwnProperty(m)?p(c[m]):E;if(t===E&&n)break;d[h]=function(b){return t(a,b)}}});return{initialChanges:l,removeWatches:k.length&&function(){for(var a=0,b=k.length;a<b;++a)k[a]()}}}var Ma=/^\w/,Fa=z.document.createElement("div"),Oa=t,Qa=N,Ja=G,Ua;w.prototype={$normalize:xa,$addClass:function(a){a&&0<a.length&&R.addClass(this.$$element,a)},$removeClass:function(a){a&& |
|||
0<a.length&&R.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=ud(a,b);c&&c.length&&R.addClass(this.$$element,c);(c=ud(b,a))&&c.length&&R.removeClass(this.$$element,c)},$set:function(a,b,d,e){var f=nd(this.$$element[0],a),g=vd[a],h=a;f?(this.$$element.prop(a,b),e=f):g&&(this[g]=b,h=g);this[a]=b;e?this.$attr[a]=e:(e=this.$attr[a])||(this.$attr[a]=e=Xc(a,"-"));"img"===ua(this.$$element)&&"srcset"===a&&(this[a]=b=ma(b,"$set('srcset', value)"));!1!==d&&(null===b||A(b)?this.$$element.removeAttr(e): |
|||
Ma.test(e)?f&&!1===b?this.$$element.removeAttr(e):this.$$element.attr(e,b):O(this.$$element[0],e,b));(a=this.$$observers)&&r(a[h],function(a){try{a(b)}catch(d){c(d)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=T()),e=d[a]||(d[a]=[]);e.push(b);L.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||A(c[a])||b(c[a])});return function(){cb(e,b)}}};var Ka=b.startSymbol(),La=b.endSymbol(),Na="{{"===Ka&&"}}"===La?Ta:function(a){return a.replace(/\{\{/g,Ka).replace(/}}/g,La)},Ra= |
|||
/^ng(Attr|Prop|On)([A-Z].*)$/,Sa=/^(.+)Start$/;da.$$addBindingInfo=n?function(a,b){var c=a.data("$binding")||[];H(b)?c=c.concat(b):c.push(b);a.data("$binding",c)}:E;da.$$addBindingClass=n?function(a){sa(a,"ng-binding")}:E;da.$$addScopeInfo=n?function(a,b,c,d){a.data(c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope",b)}:E;da.$$addScopeClass=n?function(a,b){sa(a,b?"ng-isolate-scope":"ng-scope")}:E;da.$$createComment=function(a,b){var c="";n&&(c=" "+(a||"")+": ",b&&(c+=b+" "));return z.document.createComment(c)}; |
|||
return da}]}function Kb(a,b){this.previousValue=a;this.currentValue=b}function xa(a){return a.replace(rd,"").replace(Jg,function(a,d,c){return c?d.toUpperCase():d})}function ud(a,b){var d="",c=a.split(/\s+/),e=b.split(/\s+/),f=0;a:for(;f<c.length;f++){for(var g=c[f],k=0;k<e.length;k++)if(g===e[k])continue a;d+=(0<d.length?" ":"")+g}return d}function td(a){a=x(a);var b=a.length;if(1>=b)return a;for(;b--;){var d=a[b];(8===d.nodeType||d.nodeType===Pa&&""===d.nodeValue.trim())&&Kg.call(a,b,1)}return a} |
|||
function Gg(a,b){if(b&&C(b))return b;if(C(a)){var d=wd.exec(a);if(d)return d[3]}}function Kf(){var a={};this.has=function(b){return a.hasOwnProperty(b)};this.register=function(b,d){Ja(b,"controller");D(b)?S(a,b):a[b]=d};this.$get=["$injector",function(b){function d(a,b,d,g){if(!a||!D(a.$scope))throw F("$controller")("noscp",g,b);a.$scope[b]=d}return function(c,e,f,g){var k,h,l;f=!0===f;g&&C(g)&&(l=g);if(C(c)){g=c.match(wd);if(!g)throw xd("ctrlfmt",c);h=g[1];l=l||g[3];c=a.hasOwnProperty(h)?a[h]:Le(e.$scope, |
|||
h,!0);if(!c)throw xd("ctrlreg",h);tb(c,h,!0)}if(f)return f=(H(c)?c[c.length-1]:c).prototype,k=Object.create(f||null),l&&d(e,l,k,h||c.name),S(function(){var a=b.invoke(c,k,e,h);a!==k&&(D(a)||B(a))&&(k=a,l&&d(e,l,k,h||c.name));return k},{instance:k,identifier:l});k=b.instantiate(c,e,h);l&&d(e,l,k,h||c.name);return k}}]}function Lf(){this.$get=["$window",function(a){return x(a.document)}]}function Mf(){this.$get=["$document","$rootScope",function(a,b){function d(){e=c.hidden}var c=a[0],e=c&&c.hidden; |
|||
a.on("visibilitychange",d);b.$on("$destroy",function(){a.off("visibilitychange",d)});return function(){return e}}]}function Nf(){this.$get=["$log",function(a){return function(b,d){a.error.apply(a,arguments)}}]}function vc(a){return D(a)?ha(a)?a.toISOString():eb(a):a}function Tf(){this.$get=function(){return function(a){if(!a)return"";var b=[];Qc(a,function(a,c){null===a||A(a)||B(a)||(H(a)?r(a,function(a){b.push(ba(c)+"="+ba(vc(a)))}):b.push(ba(c)+"="+ba(vc(a))))});return b.join("&")}}}function Uf(){this.$get= |
|||
function(){return function(a){function b(a,e,f){H(a)?r(a,function(a,c){b(a,e+"["+(D(a)?c:"")+"]")}):D(a)&&!ha(a)?Qc(a,function(a,c){b(a,e+(f?"":"[")+c+(f?"":"]"))}):(B(a)&&(a=a()),d.push(ba(e)+"="+(null==a?"":ba(vc(a)))))}if(!a)return"";var d=[];b(a,"",!0);return d.join("&")}}}function wc(a,b){if(C(a)){var d=a.replace(Lg,"").trim();if(d){var c=b("Content-Type"),c=c&&0===c.indexOf(yd),e;(e=c)||(e=(e=d.match(Mg))&&Ng[e[0]].test(d));if(e)try{a=Tc(d)}catch(f){if(!c)return a;throw Lb("baddata",a,f);}}}return a} |
|||
function zd(a){var b=T(),d;C(a)?r(a.split("\n"),function(a){d=a.indexOf(":");var e=K(V(a.substr(0,d)));a=V(a.substr(d+1));e&&(b[e]=b[e]?b[e]+", "+a:a)}):D(a)&&r(a,function(a,d){var f=K(d),g=V(a);f&&(b[f]=b[f]?b[f]+", "+g:g)});return b}function Ad(a){var b;return function(d){b||(b=zd(a));return d?(d=b[K(d)],void 0===d&&(d=null),d):b}}function Bd(a,b,d,c){if(B(c))return c(a,b,d);r(c,function(c){a=c(a,b,d)});return a}function Sf(){var a=this.defaults={transformResponse:[wc],transformRequest:[function(a){return D(a)&& |
|||
"[object File]"!==la.call(a)&&"[object Blob]"!==la.call(a)&&"[object FormData]"!==la.call(a)?eb(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ja(xc),put:ja(xc),patch:ja(xc)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},b=!1;this.useApplyAsync=function(a){return w(a)?(b=!!a,this):b};var d=this.interceptors=[],c=this.xsrfTrustedOrigins=[];Object.defineProperty(this,"xsrfWhitelistedOrigins", |
|||
{get:function(){return this.xsrfTrustedOrigins},set:function(a){this.xsrfTrustedOrigins=a}});this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function(e,f,g,k,h,l,m,p){function n(b){function c(a,b){for(var d=0,e=b.length;d<e;){var f=b[d++],g=b[d++];a=a.then(f,g)}b.length=0;return a}function d(a,b){var c,e={};r(a,function(a,d){B(a)?(c=a(b),null!=c&&(e[d]=c)):e[d]=a});return e}function f(a){var b=S({},a);b.data=Bd(a.data,a.headers,a.status,g.transformResponse); |
|||
a=a.status;return 200<=a&&300>a?b:l.reject(b)}if(!D(b))throw F("$http")("badreq",b);if(!C(p.valueOf(b.url)))throw F("$http")("badreq",b.url);var g=S({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer,jsonpCallbackParam:a.jsonpCallbackParam},b);g.headers=function(b){var c=a.headers,e=S({},b.headers),f,g,h,c=S({},c.common,c[K(b.method)]);a:for(f in c){g=K(f);for(h in e)if(K(h)===g)continue a;e[f]=c[f]}return d(e,ja(b))}(b);g.method= |
|||
vb(g.method);g.paramSerializer=C(g.paramSerializer)?m.get(g.paramSerializer):g.paramSerializer;e.$$incOutstandingRequestCount("$http");var h=[],k=[];b=l.resolve(g);r(v,function(a){(a.request||a.requestError)&&h.unshift(a.request,a.requestError);(a.response||a.responseError)&&k.push(a.response,a.responseError)});b=c(b,h);b=b.then(function(b){var c=b.headers,d=Bd(b.data,Ad(c),void 0,b.transformRequest);A(d)&&r(c,function(a,b){"content-type"===K(b)&&delete c[b]});A(b.withCredentials)&&!A(a.withCredentials)&& |
|||
(b.withCredentials=a.withCredentials);return s(b,d).then(f,f)});b=c(b,k);return b=b.finally(function(){e.$$completeOutstandingRequest(E,"$http")})}function s(c,d){function e(a){if(a){var c={};r(a,function(a,d){c[d]=function(c){function d(){a(c)}b?h.$applyAsync(d):h.$$phase?d():h.$apply(d)}});return c}}function k(a,c,d,e,f){function g(){m(c,a,d,e,f)}R&&(200<=a&&300>a?R.put(O,[a,c,zd(d),e,f]):R.remove(O));b?h.$applyAsync(g):(g(),h.$$phase||h.$apply())}function m(a,b,d,e,f){b=-1<=b?b:0;(200<=b&&300> |
|||
b?L.resolve:L.reject)({data:a,status:b,headers:Ad(d),config:c,statusText:e,xhrStatus:f})}function s(a){m(a.data,a.status,ja(a.headers()),a.statusText,a.xhrStatus)}function v(){var a=n.pendingRequests.indexOf(c);-1!==a&&n.pendingRequests.splice(a,1)}var L=l.defer(),u=L.promise,R,q,ma=c.headers,x="jsonp"===K(c.method),O=c.url;x?O=p.getTrustedResourceUrl(O):C(O)||(O=p.valueOf(O));O=G(O,c.paramSerializer(c.params));x&&(O=t(O,c.jsonpCallbackParam));n.pendingRequests.push(c);u.then(v,v);!c.cache&&!a.cache|| |
|||
!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(R=D(c.cache)?c.cache:D(a.cache)?a.cache:N);R&&(q=R.get(O),w(q)?q&&B(q.then)?q.then(s,s):H(q)?m(q[1],q[0],ja(q[2]),q[3],q[4]):m(q,200,{},"OK","complete"):R.put(O,u));A(q)&&((q=kc(c.url)?g()[c.xsrfCookieName||a.xsrfCookieName]:void 0)&&(ma[c.xsrfHeaderName||a.xsrfHeaderName]=q),f(c.method,O,d,k,ma,c.timeout,c.withCredentials,c.responseType,e(c.eventHandlers),e(c.uploadEventHandlers)));return u}function G(a,b){0<b.length&&(a+=(-1===a.indexOf("?")? |
|||
"?":"&")+b);return a}function t(a,b){var c=a.split("?");if(2<c.length)throw Lb("badjsonp",a);c=hc(c[1]);r(c,function(c,d){if("JSON_CALLBACK"===c)throw Lb("badjsonp",a);if(d===b)throw Lb("badjsonp",b,a);});return a+=(-1===a.indexOf("?")?"?":"&")+b+"=JSON_CALLBACK"}var N=k("$http");a.paramSerializer=C(a.paramSerializer)?m.get(a.paramSerializer):a.paramSerializer;var v=[];r(d,function(a){v.unshift(C(a)?m.get(a):m.invoke(a))});var kc=Og(c);n.pendingRequests=[];(function(a){r(arguments,function(a){n[a]= |
|||
function(b,c){return n(S({},c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){r(arguments,function(a){n[a]=function(b,c,d){return n(S({},d||{},{method:a,url:b,data:c}))}})})("post","put","patch");n.defaults=a;return n}]}function Wf(){this.$get=function(){return function(){return new z.XMLHttpRequest}}}function Vf(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function(a,b,d,c){return Pg(a,c,a.defer,b,d[0])}]}function Pg(a,b,d,c,e){function f(a,b,d){a=a.replace("JSON_CALLBACK", |
|||
b);var f=e.createElement("script"),m=null;f.type="text/javascript";f.src=a;f.async=!0;m=function(a){f.removeEventListener("load",m);f.removeEventListener("error",m);e.body.removeChild(f);f=null;var g=-1,s="unknown";a&&("load"!==a.type||c.wasCalled(b)||(a={type:"error"}),s=a.type,g="error"===a.type?404:200);d&&d(g,s)};f.addEventListener("load",m);f.addEventListener("error",m);e.body.appendChild(f);return m}return function(e,k,h,l,m,p,n,s,G,t){function N(a){J="timeout"===a;pa&&pa();y&&y.abort()}function v(a, |
|||
b,c,e,f,g){w(P)&&d.cancel(P);pa=y=null;a(b,c,e,f,g)}k=k||a.url();if("jsonp"===K(e))var q=c.createCallback(k),pa=f(k,q,function(a,b){var d=200===a&&c.getResponse(q);v(l,a,d,"",b,"complete");c.removeCallback(q)});else{var y=b(e,k),J=!1;y.open(e,k,!0);r(m,function(a,b){w(a)&&y.setRequestHeader(b,a)});y.onload=function(){var a=y.statusText||"",b="response"in y?y.response:y.responseText,c=1223===y.status?204:y.status;0===c&&(c=b?200:"file"===ga(k).protocol?404:0);v(l,c,b,y.getAllResponseHeaders(),a,"complete")}; |
|||
y.onerror=function(){v(l,-1,null,null,"","error")};y.ontimeout=function(){v(l,-1,null,null,"","timeout")};y.onabort=function(){v(l,-1,null,null,"",J?"timeout":"abort")};r(G,function(a,b){y.addEventListener(b,a)});r(t,function(a,b){y.upload.addEventListener(b,a)});n&&(y.withCredentials=!0);if(s)try{y.responseType=s}catch(I){if("json"!==s)throw I;}y.send(A(h)?null:h)}if(0<p)var P=d(function(){N("timeout")},p);else p&&B(p.then)&&p.then(function(){N(w(p.$$timeoutId)?"timeout":"abort")})}}function Pf(){var a= |
|||
"{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a};this.endSymbol=function(a){return a?(b=a,this):b};this.$get=["$parse","$exceptionHandler","$sce",function(d,c,e){function f(a){return"\\\\\\"+a}function g(c){return c.replace(p,a).replace(n,b)}function k(a,b,c,d){var e=a.$watch(function(a){e();return d(a)},b,c);return e}function h(f,h,n,p){function v(a){try{return a=n&&!r?e.getTrusted(n,a):e.valueOf(a),p&&!w(a)?a:jc(a)}catch(b){c(Ma.interr(f,b))}}var r=n===e.URL||n===e.MEDIA_URL;if(!f.length|| |
|||
-1===f.indexOf(a)){if(h)return;h=g(f);r&&(h=e.getTrusted(n,h));h=ia(h);h.exp=f;h.expressions=[];h.$$watchDelegate=k;return h}p=!!p;for(var q,y,J=0,I=[],P,Q=f.length,M=[],L=[],u;J<Q;)if(-1!==(q=f.indexOf(a,J))&&-1!==(y=f.indexOf(b,q+l)))J!==q&&M.push(g(f.substring(J,q))),J=f.substring(q+l,y),I.push(J),J=y+m,L.push(M.length),M.push("");else{J!==Q&&M.push(g(f.substring(J)));break}u=1===M.length&&1===L.length;var R=r&&u?void 0:v;P=I.map(function(a){return d(a,R)});if(!h||I.length){var x=function(a){for(var b= |
|||
0,c=I.length;b<c;b++){if(p&&A(a[b]))return;M[L[b]]=a[b]}if(r)return e.getTrusted(n,u?M[0]:M.join(""));n&&1<M.length&&Ma.throwNoconcat(f);return M.join("")};return S(function(a){var b=0,d=I.length,e=Array(d);try{for(;b<d;b++)e[b]=P[b](a);return x(e)}catch(g){c(Ma.interr(f,g))}},{exp:f,expressions:I,$$watchDelegate:function(a,b){var c;return a.$watchGroup(P,function(d,e){var f=x(d);b.call(this,f,d!==e?c:f,a);c=f})}})}}var l=a.length,m=b.length,p=new RegExp(a.replace(/./g,f),"g"),n=new RegExp(b.replace(/./g, |
|||
f),"g");h.startSymbol=function(){return a};h.endSymbol=function(){return b};return h}]}function Qf(){this.$get=["$$intervalFactory","$window",function(a,b){var d={},c=function(a){b.clearInterval(a);delete d[a]},e=a(function(a,c,e){a=b.setInterval(a,c);d[a]=e;return a},c);e.cancel=function(a){if(!a)return!1;if(!a.hasOwnProperty("$$intervalId"))throw Qg("badprom");if(!d.hasOwnProperty(a.$$intervalId))return!1;a=a.$$intervalId;var b=d[a],e=b.promise;e.$$state&&(e.$$state.pur=!0);b.reject("canceled"); |
|||
c(a);return!0};return e}]}function Rf(){this.$get=["$browser","$q","$$q","$rootScope",function(a,b,d,c){return function(e,f){return function(g,k,h,l){function m(){p?g.apply(null,n):g(s)}var p=4<arguments.length,n=p?Ha.call(arguments,4):[],s=0,G=w(l)&&!l,t=(G?d:b).defer(),r=t.promise;h=w(h)?h:0;r.$$intervalId=e(function(){G?a.defer(m):c.$evalAsync(m);t.notify(s++);0<h&&s>=h&&(t.resolve(s),f(r.$$intervalId));G||c.$apply()},k,t,G);return r}}}]}function Cd(a,b){var d=ga(a);b.$$protocol=d.protocol;b.$$host= |
|||
d.hostname;b.$$port=fa(d.port)||Rg[d.protocol]||null}function Dd(a,b,d){if(Sg.test(a))throw kb("badpath",a);var c="/"!==a.charAt(0);c&&(a="/"+a);a=ga(a);for(var c=(c&&"/"===a.pathname.charAt(0)?a.pathname.substring(1):a.pathname).split("/"),e=c.length;e--;)c[e]=decodeURIComponent(c[e]),d&&(c[e]=c[e].replace(/\//g,"%2F"));d=c.join("/");b.$$path=d;b.$$search=hc(a.search);b.$$hash=decodeURIComponent(a.hash);b.$$path&&"/"!==b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function yc(a,b){return a.slice(0, |
|||
b.length)===b}function ya(a,b){if(yc(b,a))return b.substr(a.length)}function Da(a){var b=a.indexOf("#");return-1===b?a:a.substr(0,b)}function zc(a,b,d){this.$$html5=!0;d=d||"";Cd(a,this);this.$$parse=function(a){var d=ya(b,a);if(!C(d))throw kb("ipthprfx",a,b);Dd(d,this,!0);this.$$path||(this.$$path="/");this.$$compose()};this.$$normalizeUrl=function(a){return b+a.substr(1)};this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;w(f=ya(a,c))?(g=f,g=d&&w(f=ya(d,f))? |
|||
b+(ya("/",f)||f):a+g):w(f=ya(b,c))?g=b+f:b===c+"/"&&(g=b);g&&this.$$parse(g);return!!g}}function Ac(a,b,d){Cd(a,this);this.$$parse=function(c){var e=ya(a,c)||ya(b,c),f;A(e)||"#"!==e.charAt(0)?this.$$html5?f=e:(f="",A(e)&&(a=c,this.replace())):(f=ya(d,e),A(f)&&(f=e));Dd(f,this,!1);c=this.$$path;var e=a,g=/^\/[A-Z]:(\/.*)/;yc(f,e)&&(f=f.replace(e,""));g.exec(f)||(c=(f=g.exec(c))?f[1]:c);this.$$path=c;this.$$compose()};this.$$normalizeUrl=function(b){return a+(b?d+b:"")};this.$$parseLinkUrl=function(b, |
|||
d){return Da(a)===Da(b)?(this.$$parse(b),!0):!1}}function Ed(a,b,d){this.$$html5=!0;Ac.apply(this,arguments);this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;a===Da(c)?f=c:(g=ya(b,c))?f=a+d+g:b===c+"/"&&(f=b);f&&this.$$parse(f);return!!f};this.$$normalizeUrl=function(b){return a+d+b}}function Mb(a){return function(){return this[a]}}function Fd(a,b){return function(d){if(A(d))return this[a];this[a]=b(d);this.$$compose();return this}}function Yf(){var a="!", |
|||
b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return w(b)?(a=b,this):a};this.html5Mode=function(a){if(Ga(a))return b.enabled=a,this;if(D(a)){Ga(a.enabled)&&(b.enabled=a.enabled);Ga(a.requireBase)&&(b.requireBase=a.requireBase);if(Ga(a.rewriteLinks)||C(a.rewriteLinks))b.rewriteLinks=a.rewriteLinks;return this}return b};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(d,c,e,f,g){function k(a,b){return a===b||ga(a).href===ga(b).href}function h(a, |
|||
b,d){var e=m.url(),f=m.$$state;try{c.url(a,b,d),m.$$state=c.state()}catch(g){throw m.url(e),m.$$state=f,g;}}function l(a,b){d.$broadcast("$locationChangeSuccess",m.absUrl(),a,m.$$state,b)}var m,p;p=c.baseHref();var n=c.url(),s;if(b.enabled){if(!p&&b.requireBase)throw kb("nobase");s=n.substring(0,n.indexOf("/",n.indexOf("//")+2))+(p||"/");p=e.history?zc:Ed}else s=Da(n),p=Ac;var r=s.substr(0,Da(s).lastIndexOf("/")+1);m=new p(s,r,"#"+a);m.$$parseLinkUrl(n,n);m.$$state=c.state();var t=/^\s*(javascript|mailto):/i; |
|||
f.on("click",function(a){var e=b.rewriteLinks;if(e&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!==a.which&&2!==a.button){for(var g=x(a.target);"a"!==ua(g[0]);)if(g[0]===f[0]||!(g=g.parent())[0])return;if(!C(e)||!A(g.attr(e))){var e=g.prop("href"),h=g.attr("href")||g.attr("xlink:href");D(e)&&"[object SVGAnimatedString]"===e.toString()&&(e=ga(e.animVal).href);t.test(e)||!e||g.attr("target")||a.isDefaultPrevented()||!m.$$parseLinkUrl(e,h)||(a.preventDefault(),m.absUrl()!==c.url()&&d.$apply())}}});m.absUrl()!== |
|||
n&&c.url(m.absUrl(),!0);var N=!0;c.onUrlChange(function(a,b){yc(a,r)?(d.$evalAsync(function(){var c=m.absUrl(),e=m.$$state,f;m.$$parse(a);m.$$state=b;f=d.$broadcast("$locationChangeStart",a,c,b,e).defaultPrevented;m.absUrl()===a&&(f?(m.$$parse(c),m.$$state=e,h(c,!1,e)):(N=!1,l(c,e)))}),d.$$phase||d.$digest()):g.location.href=a});d.$watch(function(){if(N||m.$$urlUpdatedByLocation){m.$$urlUpdatedByLocation=!1;var a=c.url(),b=m.absUrl(),f=c.state(),g=m.$$replace,n=!k(a,b)||m.$$html5&&e.history&&f!== |
|||
m.$$state;if(N||n)N=!1,d.$evalAsync(function(){var b=m.absUrl(),c=d.$broadcast("$locationChangeStart",b,a,m.$$state,f).defaultPrevented;m.absUrl()===b&&(c?(m.$$parse(a),m.$$state=f):(n&&h(b,g,f===m.$$state?null:m.$$state),l(a,f)))})}m.$$replace=!1});return m}]}function Zf(){var a=!0,b=this;this.debugEnabled=function(b){return w(b)?(a=b,this):a};this.$get=["$window",function(d){function c(a){dc(a)&&(a.stack&&f?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&& |
|||
(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=d.console||{},e=b[a]||b.log||E;return function(){var a=[];r(arguments,function(b){a.push(c(b))});return Function.prototype.apply.call(e,b,a)}}var f=wa||/\bEdge\//.test(d.navigator&&d.navigator.userAgent);return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Tg(a){return a+""}function Ug(a,b){return"undefined"!==typeof a?a: |
|||
b}function Gd(a,b){return"undefined"===typeof a?b:"undefined"===typeof b?a:a+b}function Vg(a,b){switch(a.type){case q.MemberExpression:if(a.computed)return!1;break;case q.UnaryExpression:return 1;case q.BinaryExpression:return"+"!==a.operator?1:!1;case q.CallExpression:return!1}return void 0===b?Hd:b}function Z(a,b,d){var c,e,f=a.isPure=Vg(a,d);switch(a.type){case q.Program:c=!0;r(a.body,function(a){Z(a.expression,b,f);c=c&&a.expression.constant});a.constant=c;break;case q.Literal:a.constant=!0;a.toWatch= |
|||
[];break;case q.UnaryExpression:Z(a.argument,b,f);a.constant=a.argument.constant;a.toWatch=a.argument.toWatch;break;case q.BinaryExpression:Z(a.left,b,f);Z(a.right,b,f);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case q.LogicalExpression:Z(a.left,b,f);Z(a.right,b,f);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.constant?[]:[a];break;case q.ConditionalExpression:Z(a.test,b,f);Z(a.alternate,b,f);Z(a.consequent,b,f);a.constant=a.test.constant&& |
|||
a.alternate.constant&&a.consequent.constant;a.toWatch=a.constant?[]:[a];break;case q.Identifier:a.constant=!1;a.toWatch=[a];break;case q.MemberExpression:Z(a.object,b,f);a.computed&&Z(a.property,b,f);a.constant=a.object.constant&&(!a.computed||a.property.constant);a.toWatch=a.constant?[]:[a];break;case q.CallExpression:c=d=a.filter?!b(a.callee.name).$stateful:!1;e=[];r(a.arguments,function(a){Z(a,b,f);c=c&&a.constant;e.push.apply(e,a.toWatch)});a.constant=c;a.toWatch=d?e:[a];break;case q.AssignmentExpression:Z(a.left, |
|||
b,f);Z(a.right,b,f);a.constant=a.left.constant&&a.right.constant;a.toWatch=[a];break;case q.ArrayExpression:c=!0;e=[];r(a.elements,function(a){Z(a,b,f);c=c&&a.constant;e.push.apply(e,a.toWatch)});a.constant=c;a.toWatch=e;break;case q.ObjectExpression:c=!0;e=[];r(a.properties,function(a){Z(a.value,b,f);c=c&&a.value.constant;e.push.apply(e,a.value.toWatch);a.computed&&(Z(a.key,b,!1),c=c&&a.key.constant,e.push.apply(e,a.key.toWatch))});a.constant=c;a.toWatch=e;break;case q.ThisExpression:a.constant= |
|||
!1;a.toWatch=[];break;case q.LocalsExpression:a.constant=!1,a.toWatch=[]}}function Id(a){if(1===a.length){a=a[0].expression;var b=a.toWatch;return 1!==b.length?b:b[0]!==a?b:void 0}}function Jd(a){return a.type===q.Identifier||a.type===q.MemberExpression}function Kd(a){if(1===a.body.length&&Jd(a.body[0].expression))return{type:q.AssignmentExpression,left:a.body[0].expression,right:{type:q.NGValueParameter},operator:"="}}function Ld(a){this.$filter=a}function Md(a){this.$filter=a}function Nb(a,b,d){this.ast= |
|||
new q(a,d);this.astCompiler=d.csp?new Md(b):new Ld(b)}function Bc(a){return B(a.valueOf)?a.valueOf():Wg.call(a)}function $f(){var a=T(),b={"true":!0,"false":!1,"null":null,undefined:void 0},d,c;this.addLiteral=function(a,c){b[a]=c};this.setIdentifierFns=function(a,b){d=a;c=b;return this};this.$get=["$filter",function(e){function f(b,c){var d,f;switch(typeof b){case "string":return f=b=b.trim(),d=a[f],d||(d=new Ob(G),d=(new Nb(d,e,G)).parse(b),a[f]=p(d)),s(d,c);case "function":return s(b,c);default:return s(E, |
|||
c)}}function g(a,b,c){return null==a||null==b?a===b:"object"!==typeof a||(a=Bc(a),"object"!==typeof a||c)?a===b||a!==a&&b!==b:!1}function k(a,b,c,d,e){var f=d.inputs,h;if(1===f.length){var k=g,f=f[0];return a.$watch(function(a){var b=f(a);g(b,k,f.isPure)||(h=d(a,void 0,void 0,[b]),k=b&&Bc(b));return h},b,c,e)}for(var l=[],m=[],n=0,p=f.length;n<p;n++)l[n]=g,m[n]=null;return a.$watch(function(a){for(var b=!1,c=0,e=f.length;c<e;c++){var k=f[c](a);if(b||(b=!g(k,l[c],f[c].isPure)))m[c]=k,l[c]=k&&Bc(k)}b&& |
|||
(h=d(a,void 0,void 0,m));return h},b,c,e)}function h(a,b,c,d,e){function f(){h(m)&&k()}function g(a,b,c,d){m=u&&d?d[0]:n(a,b,c,d);h(m)&&a.$$postDigest(f);return s(m)}var h=d.literal?l:w,k,m,n=d.$$intercepted||d,s=d.$$interceptor||Ta,u=d.inputs&&!n.inputs;g.literal=d.literal;g.constant=d.constant;g.inputs=d.inputs;p(g);return k=a.$watch(g,b,c,e)}function l(a){var b=!0;r(a,function(a){w(a)||(b=!1)});return b}function m(a,b,c,d){var e=a.$watch(function(a){e();return d(a)},b,c);return e}function p(a){a.constant? |
|||
a.$$watchDelegate=m:a.oneTime?a.$$watchDelegate=h:a.inputs&&(a.$$watchDelegate=k);return a}function n(a,b){function c(d){return b(a(d))}c.$stateful=a.$stateful||b.$stateful;c.$$pure=a.$$pure&&b.$$pure;return c}function s(a,b){if(!b)return a;a.$$interceptor&&(b=n(a.$$interceptor,b),a=a.$$intercepted);var c=!1,d=function(d,e,f,g){d=c&&g?g[0]:a(d,e,f,g);return b(d)};d.$$intercepted=a;d.$$interceptor=b;d.literal=a.literal;d.oneTime=a.oneTime;d.constant=a.constant;b.$stateful||(c=!a.inputs,d.inputs=a.inputs? |
|||
a.inputs:[a],b.$$pure||(d.inputs=d.inputs.map(function(a){return a.isPure===Hd?function(b){return a(b)}:a})));return p(d)}var G={csp:Ba().noUnsafeEval,literals:Ia(b),isIdentifierStart:B(d)&&d,isIdentifierContinue:B(c)&&c};f.$$getAst=function(a){var b=new Ob(G);return(new Nb(b,e,G)).getAst(a).ast};return f}]}function bg(){var a=!0;this.$get=["$rootScope","$exceptionHandler",function(b,d){return Nd(function(a){b.$evalAsync(a)},d,a)}];this.errorOnUnhandledRejections=function(b){return w(b)?(a=b,this): |
|||
a}}function cg(){var a=!0;this.$get=["$browser","$exceptionHandler",function(b,d){return Nd(function(a){b.defer(a)},d,a)}];this.errorOnUnhandledRejections=function(b){return w(b)?(a=b,this):a}}function Nd(a,b,d){function c(){return new e}function e(){var a=this.promise=new f;this.resolve=function(b){h(a,b)};this.reject=function(b){m(a,b)};this.notify=function(b){n(a,b)}}function f(){this.$$state={status:0}}function g(){for(;!w&&x.length;){var a=x.shift();if(!a.pur){a.pur=!0;var c=a.value,c="Possibly unhandled rejection: "+ |
|||
("function"===typeof c?c.toString().replace(/ \{[\s\S]*$/,""):A(c)?"undefined":"string"!==typeof c?Ne(c,void 0):c);dc(a.value)?b(a.value,c):b(c)}}}function k(c){!d||c.pending||2!==c.status||c.pur||(0===w&&0===x.length&&a(g),x.push(c));!c.processScheduled&&c.pending&&(c.processScheduled=!0,++w,a(function(){var e,f,k;k=c.pending;c.processScheduled=!1;c.pending=void 0;try{for(var l=0,n=k.length;l<n;++l){c.pur=!0;f=k[l][0];e=k[l][c.status];try{B(e)?h(f,e(c.value)):1===c.status?h(f,c.value):m(f,c.value)}catch(p){m(f, |
|||
p),p&&!0===p.$$passToExceptionHandler&&b(p)}}}finally{--w,d&&0===w&&a(g)}}))}function h(a,b){a.$$state.status||(b===a?p(a,v("qcycle",b)):l(a,b))}function l(a,b){function c(b){g||(g=!0,l(a,b))}function d(b){g||(g=!0,p(a,b))}function e(b){n(a,b)}var f,g=!1;try{if(D(b)||B(b))f=b.then;B(f)?(a.$$state.status=-1,f.call(b,c,d,e)):(a.$$state.value=b,a.$$state.status=1,k(a.$$state))}catch(h){d(h)}}function m(a,b){a.$$state.status||p(a,b)}function p(a,b){a.$$state.value=b;a.$$state.status=2;k(a.$$state)}function n(c, |
|||
d){var e=c.$$state.pending;0>=c.$$state.status&&e&&e.length&&a(function(){for(var a,c,f=0,g=e.length;f<g;f++){c=e[f][0];a=e[f][3];try{n(c,B(a)?a(d):d)}catch(h){b(h)}}})}function s(a){var b=new f;m(b,a);return b}function G(a,b,c){var d=null;try{B(c)&&(d=c())}catch(e){return s(e)}return d&&B(d.then)?d.then(function(){return b(a)},s):b(a)}function t(a,b,c,d){var e=new f;h(e,a);return e.then(b,c,d)}function q(a){if(!B(a))throw v("norslvr",a);var b=new f;a(function(a){h(b,a)},function(a){m(b,a)});return b} |
|||
var v=F("$q",TypeError),w=0,x=[];S(f.prototype,{then:function(a,b,c){if(A(a)&&A(b)&&A(c))return this;var d=new f;this.$$state.pending=this.$$state.pending||[];this.$$state.pending.push([d,a,b,c]);0<this.$$state.status&&k(this.$$state);return d},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return G(b,y,a)},function(b){return G(b,s,a)},b)}});var y=t;q.prototype=f.prototype;q.defer=c;q.reject=s;q.when=t;q.resolve=y;q.all=function(a){var b=new f,c= |
|||
0,d=H(a)?[]:{};r(a,function(a,e){c++;t(a).then(function(a){d[e]=a;--c||h(b,d)},function(a){m(b,a)})});0===c&&h(b,d);return b};q.race=function(a){var b=c();r(a,function(a){t(a).then(b.resolve,b.reject)});return b.promise};return q}function mg(){this.$get=["$window","$timeout",function(a,b){var d=a.requestAnimationFrame||a.webkitRequestAnimationFrame,c=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,e=!!d,f=e?function(a){var b=d(a);return function(){c(b)}}: |
|||
function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};f.supported=e;return f}]}function ag(){function a(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$id=++qb;this.$$ChildScope=null;this.$$suspended=!1}b.prototype=a;return b}var b=10,d=F("$rootScope"),c=null,e=null;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$exceptionHandler","$parse","$browser", |
|||
function(f,g,k){function h(a){a.currentScope.$$destroyed=!0}function l(a){9===wa&&(a.$$childHead&&l(a.$$childHead),a.$$nextSibling&&l(a.$$nextSibling));a.$parent=a.$$nextSibling=a.$$prevSibling=a.$$childHead=a.$$childTail=a.$root=a.$$watchers=null}function m(){this.$id=++qb;this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this.$root=this;this.$$suspended=this.$$destroyed=!1;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount= |
|||
0;this.$$isolateBindings=null}function p(a){if(v.$$phase)throw d("inprog",v.$$phase);v.$$phase=a}function n(a,b){do a.$$watchersCount+=b;while(a=a.$parent)}function s(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function G(){}function t(){for(;y.length;)try{y.shift()()}catch(a){f(a)}e=null}function q(){null===e&&(e=k.defer(function(){v.$apply(t)},null,"$applyAsync"))}m.prototype={constructor:m,$new:function(b,c){var d;c=c||this;b?(d=new m, |
|||
d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=a(this)),d=new this.$$ChildScope);d.$parent=c;d.$$prevSibling=c.$$childTail;c.$$childHead?(c.$$childTail.$$nextSibling=d,c.$$childTail=d):c.$$childHead=c.$$childTail=d;(b||c!==this)&&d.$on("$destroy",h);return d},$watch:function(a,b,d,e){var f=g(a);b=B(b)?b:E;if(f.$$watchDelegate)return f.$$watchDelegate(this,b,d,f,a);var h=this,k=h.$$watchers,l={fn:b,last:G,get:f,exp:e||a,eq:!!d};c=null;k||(k=h.$$watchers=[],k.$$digestWatchIndex=-1);k.unshift(l); |
|||
k.$$digestWatchIndex++;n(this,1);return function(){var a=cb(k,l);0<=a&&(n(h,-1),a<k.$$digestWatchIndex&&k.$$digestWatchIndex--);c=null}},$watchGroup:function(a,b){function c(){h=!1;try{k?(k=!1,b(e,e,g)):b(e,d,g)}finally{for(var f=0;f<a.length;f++)d[f]=e[f]}}var d=Array(a.length),e=Array(a.length),f=[],g=this,h=!1,k=!0;if(!a.length){var l=!0;g.$evalAsync(function(){l&&b(e,e,g)});return function(){l=!1}}if(1===a.length)return this.$watch(a[0],function(a,c,f){e[0]=a;d[0]=c;b(e,a===c?e:d,f)});r(a,function(a, |
|||
b){var d=g.$watch(a,function(a){e[b]=a;h||(h=!0,g.$evalAsync(c))});f.push(d)});return function(){for(;f.length;)f.shift()()}},$watchCollection:function(a,b){function c(a){e=a;var b,d,g,h;if(!A(e)){if(D(e))if(za(e))for(f!==n&&(f=n,t=f.length=0,l++),a=e.length,t!==a&&(l++,f.length=t=a),b=0;b<a;b++)h=f[b],g=e[b],d=h!==h&&g!==g,d||h===g||(l++,f[b]=g);else{f!==p&&(f=p={},t=0,l++);a=0;for(b in e)ta.call(e,b)&&(a++,g=e[b],h=f[b],b in f?(d=h!==h&&g!==g,d||h===g||(l++,f[b]=g)):(t++,f[b]=g,l++));if(t>a)for(b in l++, |
|||
f)ta.call(e,b)||(t--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$$pure=g(a).literal;c.$stateful=!c.$$pure;var d=this,e,f,h,k=1<b.length,l=0,m=g(a,c),n=[],p={},s=!0,t=0;return this.$watch(m,function(){s?(s=!1,b(e,e,d)):b(e,h,d);if(k)if(D(e))if(za(e)){h=Array(e.length);for(var a=0;a<e.length;a++)h[a]=e[a]}else for(a in h={},e)ta.call(e,a)&&(h[a]=e[a]);else h=e})},$digest:function(){var a,g,h,l,m,n,s,r=b,q,y=w.length?v:this,N=[],A,z;p("$digest");k.$$checkUrlChange();this===v&&null!==e&&(k.defer.cancel(e), |
|||
t());c=null;do{s=!1;q=y;for(n=0;n<w.length;n++){try{z=w[n],l=z.fn,l(z.scope,z.locals)}catch(C){f(C)}c=null}w.length=0;a:do{if(n=!q.$$suspended&&q.$$watchers)for(n.$$digestWatchIndex=n.length;n.$$digestWatchIndex--;)try{if(a=n[n.$$digestWatchIndex])if(m=a.get,(g=m(q))!==(h=a.last)&&!(a.eq?va(g,h):Y(g)&&Y(h)))s=!0,c=a,a.last=a.eq?Ia(g,null):g,l=a.fn,l(g,h===G?g:h,q),5>r&&(A=4-r,N[A]||(N[A]=[]),N[A].push({msg:B(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:g,oldVal:h}));else if(a===c){s= |
|||
!1;break a}}catch(E){f(E)}if(!(n=!q.$$suspended&&q.$$watchersCount&&q.$$childHead||q!==y&&q.$$nextSibling))for(;q!==y&&!(n=q.$$nextSibling);)q=q.$parent}while(q=n);if((s||w.length)&&!r--)throw v.$$phase=null,d("infdig",b,N);}while(s||w.length);for(v.$$phase=null;J<x.length;)try{x[J++]()}catch(D){f(D)}x.length=J=0;k.$$checkUrlChange()},$suspend:function(){this.$$suspended=!0},$isSuspended:function(){return this.$$suspended},$resume:function(){this.$$suspended=!1},$destroy:function(){if(!this.$$destroyed){var a= |
|||
this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this===v&&k.$$applicationDestroyed();n(this,-this.$$watchersCount);for(var b in this.$$listenerCount)s(this,this.$$listenerCount[b],b);a&&a.$$childHead===this&&(a.$$childHead=this.$$nextSibling);a&&a.$$childTail===this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply= |
|||
this.$evalAsync=this.$applyAsync=E;this.$on=this.$watch=this.$watchGroup=function(){return E};this.$$listeners={};this.$$nextSibling=null;l(this)}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a,b){v.$$phase||w.length||k.defer(function(){w.length&&v.$digest()},null,"$evalAsync");w.push({scope:this,fn:g(a),locals:b})},$$postDigest:function(a){x.push(a)},$apply:function(a){try{p("$apply");try{return this.$eval(a)}finally{v.$$phase=null}}catch(b){f(b)}finally{try{v.$digest()}catch(c){throw f(c), |
|||
c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&y.push(b);a=g(a);q()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(delete c[d],s(e,1,a))}},$emit:function(a,b){var c=[],d,e=this,g=!1,h={name:a,targetScope:e,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented= |
|||
!0},defaultPrevented:!1},k=db([h],arguments,1),l,m;do{d=e.$$listeners[a]||c;h.currentScope=e;l=0;for(m=d.length;l<m;l++)if(d[l])try{d[l].apply(null,k)}catch(n){f(n)}else d.splice(l,1),l--,m--;if(g)break;e=e.$parent}while(e);h.currentScope=null;return h},$broadcast:function(a,b){var c=this,d=this,e={name:a,targetScope:this,preventDefault:function(){e.defaultPrevented=!0},defaultPrevented:!1};if(!this.$$listenerCount[a])return e;for(var g=db([e],arguments,1),h,k;c=d;){e.currentScope=c;d=c.$$listeners[a]|| |
|||
[];h=0;for(k=d.length;h<k;h++)if(d[h])try{d[h].apply(null,g)}catch(l){f(l)}else d.splice(h,1),h--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}e.currentScope=null;return e}};var v=new m,w=v.$$asyncQueue=[],x=v.$$postDigestQueue=[],y=v.$$applyAsyncQueue=[],J=0;return v}]}function Qe(){var a=/^\s*(https?|s?ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationTrustedUrlList=function(b){return w(b)? |
|||
(a=b,this):a};this.imgSrcSanitizationTrustedUrlList=function(a){return w(a)?(b=a,this):b};this.$get=function(){return function(d,c){var e=c?b:a,f=ga(d&&d.trim()).href;return""===f||f.match(e)?d:"unsafe:"+f}}}function Xg(a){if("self"===a)return a;if(C(a)){if(-1<a.indexOf("***"))throw Ea("iwcard",a);a=Od(a).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*");return new RegExp("^"+a+"$")}if(ab(a))return new RegExp("^"+a.source+"$");throw Ea("imatcher");}function Pd(a){var b=[];w(a)&&r(a,function(a){b.push(Xg(a))}); |
|||
return b}function eg(){this.SCE_CONTEXTS=W;var a=["self"],b=[];this.resourceUrlWhitelist=this.trustedResourceUrlList=function(b){arguments.length&&(a=Pd(b));return a};this.bannedResourceUrlList=function(a){arguments.length&&(b=Pd(a));return b};Object.defineProperty(this,"resourceUrlBlacklist",{get:function(){return this.bannedResourceUrlList},set:function(a){this.bannedResourceUrlList=a}});this.$get=["$injector","$$sanitizeUri",function(d,c){function e(a,b){var c;"self"===a?(c=Cc(b,Qd))||(z.document.baseURI? |
|||
c=z.document.baseURI:(Na||(Na=z.document.createElement("a"),Na.href=".",Na=Na.cloneNode(!1)),c=Na.href),c=Cc(b,c)):c=!!a.exec(b.href);return c}function f(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};return b}var g=function(a){throw Ea("unsafe");};d.has("$sanitize")&&(g=d.get("$sanitize"));var k=f(),h={};h[W.HTML]= |
|||
f(k);h[W.CSS]=f(k);h[W.MEDIA_URL]=f(k);h[W.URL]=f(h[W.MEDIA_URL]);h[W.JS]=f(k);h[W.RESOURCE_URL]=f(h[W.URL]);return{trustAs:function(a,b){var c=h.hasOwnProperty(a)?h[a]:null;if(!c)throw Ea("icontext",a,b);if(null===b||A(b)||""===b)return b;if("string"!==typeof b)throw Ea("itype",a);return new c(b)},getTrusted:function(d,f){if(null===f||A(f)||""===f)return f;var k=h.hasOwnProperty(d)?h[d]:null;if(k&&f instanceof k)return f.$$unwrapTrustedValue();B(f.$$unwrapTrustedValue)&&(f=f.$$unwrapTrustedValue()); |
|||
if(d===W.MEDIA_URL||d===W.URL)return c(f.toString(),d===W.MEDIA_URL);if(d===W.RESOURCE_URL){var k=ga(f.toString()),n,s,r=!1;n=0;for(s=a.length;n<s;n++)if(e(a[n],k)){r=!0;break}if(r)for(n=0,s=b.length;n<s;n++)if(e(b[n],k)){r=!1;break}if(r)return f;throw Ea("insecurl",f.toString());}if(d===W.HTML)return g(f);throw Ea("unsafe");},valueOf:function(a){return a instanceof k?a.$$unwrapTrustedValue():a}}}]}function dg(){var a=!0;this.enabled=function(b){arguments.length&&(a=!!b);return a};this.$get=["$parse", |
|||
"$sceDelegate",function(b,d){if(a&&8>wa)throw Ea("iequirks");var c=ja(W);c.isEnabled=function(){return a};c.trustAs=d.trustAs;c.getTrusted=d.getTrusted;c.valueOf=d.valueOf;a||(c.trustAs=c.getTrusted=function(a,b){return b},c.valueOf=Ta);c.parseAs=function(a,d){var e=b(d);return e.literal&&e.constant?e:b(d,function(b){return c.getTrusted(a,b)})};var e=c.parseAs,f=c.getTrusted,g=c.trustAs;r(W,function(a,b){var d=K(b);c[("parse_as_"+d).replace(Dc,xb)]=function(b){return e(a,b)};c[("get_trusted_"+d).replace(Dc, |
|||
xb)]=function(b){return f(a,b)};c[("trust_as_"+d).replace(Dc,xb)]=function(b){return g(a,b)}});return c}]}function fg(){this.$get=["$window","$document",function(a,b){var d={},c=!((!a.nw||!a.nw.process)&&a.chrome&&(a.chrome.app&&a.chrome.app.runtime||!a.chrome.app&&a.chrome.runtime&&a.chrome.runtime.id))&&a.history&&a.history.pushState,e=fa((/android (\d+)/.exec(K((a.navigator||{}).userAgent))||[])[1]),f=/Boxee/i.test((a.navigator||{}).userAgent),g=b[0]||{},k=g.body&&g.body.style,h=!1,l=!1;k&&(h= |
|||
!!("transition"in k||"webkitTransition"in k),l=!!("animation"in k||"webkitAnimation"in k));return{history:!(!c||4>e||f),hasEvent:function(a){if("input"===a&&wa)return!1;if(A(d[a])){var b=g.createElement("div");d[a]="on"+a in b}return d[a]},csp:Ba(),transitions:h,animations:l,android:e}}]}function gg(){this.$get=ia(function(a){return new Yg(a)})}function Yg(a){function b(){var a=e.pop();return a&&a.cb}function d(a){for(var b=e.length-1;0<=b;--b){var c=e[b];if(c.type===a)return e.splice(b,1),c.cb}} |
|||
var c={},e=[],f=this.ALL_TASKS_TYPE="$$all$$",g=this.DEFAULT_TASK_TYPE="$$default$$";this.completeTask=function(e,h){h=h||g;try{e()}finally{var l;l=h||g;c[l]&&(c[l]--,c[f]--);l=c[h];var m=c[f];if(!m||!l)for(l=m?d:b;m=l(h);)try{m()}catch(p){a.error(p)}}};this.incTaskCount=function(a){a=a||g;c[a]=(c[a]||0)+1;c[f]=(c[f]||0)+1};this.notifyWhenNoPendingTasks=function(a,b){b=b||f;c[b]?e.push({type:b,cb:a}):a()}}function ig(){var a;this.httpOptions=function(b){return b?(a=b,this):a};this.$get=["$exceptionHandler", |
|||
"$templateCache","$http","$q","$sce",function(b,d,c,e,f){function g(k,h){g.totalPendingRequests++;if(!C(k)||A(d.get(k)))k=f.getTrustedResourceUrl(k);var l=c.defaults&&c.defaults.transformResponse;H(l)?l=l.filter(function(a){return a!==wc}):l===wc&&(l=null);return c.get(k,S({cache:d,transformResponse:l},a)).finally(function(){g.totalPendingRequests--}).then(function(a){return d.put(k,a.data)},function(a){h||(a=Zg("tpload",k,a.status,a.statusText),b(a));return e.reject(a)})}g.totalPendingRequests=0; |
|||
return g}]}function jg(){this.$get=["$rootScope","$browser","$location",function(a,b,d){return{findBindings:function(a,b,d){a=a.getElementsByClassName("ng-binding");var g=[];r(a,function(a){var c=ca.element(a).data("$binding");c&&r(c,function(c){d?(new RegExp("(^|\\s)"+Od(b)+"(\\s|\\||$)")).test(c)&&g.push(a):-1!==c.indexOf(b)&&g.push(a)})});return g},findModels:function(a,b,d){for(var g=["ng-","data-ng-","ng\\:"],k=0;k<g.length;++k){var h=a.querySelectorAll("["+g[k]+"model"+(d?"=":"*=")+'"'+b+'"]'); |
|||
if(h.length)return h}},getLocation:function(){return d.url()},setLocation:function(b){b!==d.url()&&(d.url(b),a.$digest())},whenStable:function(a){b.notifyWhenNoOutstandingRequests(a)}}}]}function kg(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(a,b,d,c,e){function f(f,h,l){B(f)||(l=h,h=f,f=E);var m=Ha.call(arguments,3),p=w(l)&&!l,n=(p?c:d).defer(),s=n.promise,r;r=b.defer(function(){try{n.resolve(f.apply(null,m))}catch(b){n.reject(b),e(b)}finally{delete g[s.$$timeoutId]}p|| |
|||
a.$apply()},h,"$timeout");s.$$timeoutId=r;g[r]=n;return s}var g={};f.cancel=function(a){if(!a)return!1;if(!a.hasOwnProperty("$$timeoutId"))throw $g("badprom");if(!g.hasOwnProperty(a.$$timeoutId))return!1;a=a.$$timeoutId;var c=g[a],d=c.promise;d.$$state&&(d.$$state.pur=!0);c.reject("canceled");delete g[a];return b.defer.cancel(a)};return f}]}function ga(a){if(!C(a))return a;wa&&(aa.setAttribute("href",a),a=aa.href);aa.setAttribute("href",a);a=aa.hostname;!ah&&-1<a.indexOf(":")&&(a="["+a+"]");return{href:aa.href, |
|||
protocol:aa.protocol?aa.protocol.replace(/:$/,""):"",host:aa.host,search:aa.search?aa.search.replace(/^\?/,""):"",hash:aa.hash?aa.hash.replace(/^#/,""):"",hostname:a,port:aa.port,pathname:"/"===aa.pathname.charAt(0)?aa.pathname:"/"+aa.pathname}}function Og(a){var b=[Qd].concat(a.map(ga));return function(a){a=ga(a);return b.some(Cc.bind(null,a))}}function Cc(a,b){a=ga(a);b=ga(b);return a.protocol===b.protocol&&a.host===b.host}function lg(){this.$get=ia(z)}function Rd(a){function b(a){try{return decodeURIComponent(a)}catch(b){return a}} |
|||
var d=a[0]||{},c={},e="";return function(){var a,g,k,h,l;try{a=d.cookie||""}catch(m){a=""}if(a!==e)for(e=a,a=e.split("; "),c={},k=0;k<a.length;k++)g=a[k],h=g.indexOf("="),0<h&&(l=b(g.substring(0,h)),A(c[l])&&(c[l]=b(g.substring(h+1))));return c}}function pg(){this.$get=Rd}function fd(a){function b(d,c){if(D(d)){var e={};r(d,function(a,c){e[c]=b(c,a)});return e}return a.factory(d+"Filter",c)}this.register=b;this.$get=["$injector",function(a){return function(b){return a.get(b+"Filter")}}];b("currency", |
|||
Sd);b("date",Td);b("filter",bh);b("json",ch);b("limitTo",dh);b("lowercase",eh);b("number",Ud);b("orderBy",Vd);b("uppercase",fh)}function bh(){return function(a,b,d,c){if(!za(a)){if(null==a)return a;throw F("filter")("notarray",a);}c=c||"$";var e;switch(Ec(b)){case "function":break;case "boolean":case "null":case "number":case "string":e=!0;case "object":b=gh(b,d,c,e);break;default:return a}return Array.prototype.filter.call(a,b)}}function gh(a,b,d,c){var e=D(a)&&d in a;!0===b?b=va:B(b)||(b=function(a, |
|||
b){if(A(a))return!1;if(null===a||null===b)return a===b;if(D(b)||D(a)&&!cc(a))return!1;a=K(""+a);b=K(""+b);return-1!==a.indexOf(b)});return function(f){return e&&!D(f)?Fa(f,a[d],b,d,!1):Fa(f,a,b,d,c)}}function Fa(a,b,d,c,e,f){var g=Ec(a),k=Ec(b);if("string"===k&&"!"===b.charAt(0))return!Fa(a,b.substring(1),d,c,e);if(H(a))return a.some(function(a){return Fa(a,b,d,c,e)});switch(g){case "object":var h;if(e){for(h in a)if(h.charAt&&"$"!==h.charAt(0)&&Fa(a[h],b,d,c,!0))return!0;return f?!1:Fa(a,b,d,c,!1)}if("object"=== |
|||
k){for(h in b)if(f=b[h],!B(f)&&!A(f)&&(g=h===c,!Fa(g?a:a[h],f,d,c,g,g)))return!1;return!0}return d(a,b);case "function":return!1;default:return d(a,b)}}function Ec(a){return null===a?"null":typeof a}function Sd(a){var b=a.NUMBER_FORMATS;return function(a,c,e){A(c)&&(c=b.CURRENCY_SYM);A(e)&&(e=b.PATTERNS[1].maxFrac);var f=c?/\u00A4/g:/\s*\u00A4\s*/g;return null==a?a:Wd(a,b.PATTERNS[1],b.GROUP_SEP,b.DECIMAL_SEP,e).replace(f,c)}}function Ud(a){var b=a.NUMBER_FORMATS;return function(a,c){return null== |
|||
a?a:Wd(a,b.PATTERNS[0],b.GROUP_SEP,b.DECIMAL_SEP,c)}}function hh(a){var b=0,d,c,e,f,g;-1<(c=a.indexOf(Xd))&&(a=a.replace(Xd,""));0<(e=a.search(/e/i))?(0>c&&(c=e),c+=+a.slice(e+1),a=a.substring(0,e)):0>c&&(c=a.length);for(e=0;a.charAt(e)===Fc;e++);if(e===(g=a.length))d=[0],c=1;else{for(g--;a.charAt(g)===Fc;)g--;c-=e;d=[];for(f=0;e<=g;e++,f++)d[f]=+a.charAt(e)}c>Yd&&(d=d.splice(0,Yd-1),b=c-1,c=1);return{d:d,e:b,i:c}}function ih(a,b,d,c){var e=a.d,f=e.length-a.i;b=A(b)?Math.min(Math.max(d,f),c):+b;d= |
|||
b+a.i;c=e[d];if(0<d){e.splice(Math.max(a.i,d));for(var g=d;g<e.length;g++)e[g]=0}else for(f=Math.max(0,f),a.i=1,e.length=Math.max(1,d=b+1),e[0]=0,g=1;g<d;g++)e[g]=0;if(5<=c)if(0>d-1){for(c=0;c>d;c--)e.unshift(0),a.i++;e.unshift(1);a.i++}else e[d-1]++;for(;f<Math.max(0,b);f++)e.push(0);if(b=e.reduceRight(function(a,b,c,d){b+=a;d[c]=b%10;return Math.floor(b/10)},0))e.unshift(b),a.i++}function Wd(a,b,d,c,e){if(!C(a)&&!X(a)||isNaN(a))return"";var f=!isFinite(a),g=!1,k=Math.abs(a)+"",h="";if(f)h="\u221e"; |
|||
else{g=hh(k);ih(g,e,b.minFrac,b.maxFrac);h=g.d;k=g.i;e=g.e;f=[];for(g=h.reduce(function(a,b){return a&&!b},!0);0>k;)h.unshift(0),k++;0<k?f=h.splice(k,h.length):(f=h,h=[0]);k=[];for(h.length>=b.lgSize&&k.unshift(h.splice(-b.lgSize,h.length).join(""));h.length>b.gSize;)k.unshift(h.splice(-b.gSize,h.length).join(""));h.length&&k.unshift(h.join(""));h=k.join(d);f.length&&(h+=c+f.join(""));e&&(h+="e+"+e)}return 0>a&&!g?b.negPre+h+b.negSuf:b.posPre+h+b.posSuf}function Pb(a,b,d,c){var e="";if(0>a||c&&0>= |
|||
a)c?a=-a+1:(a=-a,e="-");for(a=""+a;a.length<b;)a=Fc+a;d&&(a=a.substr(a.length-b));return e+a}function ea(a,b,d,c,e){d=d||0;return function(f){f=f["get"+a]();if(0<d||f>-d)f+=d;0===f&&-12===d&&(f=12);return Pb(f,b,c,e)}}function lb(a,b,d){return function(c,e){var f=c["get"+a](),g=vb((d?"STANDALONE":"")+(b?"SHORT":"")+a);return e[g][f]}}function Zd(a){var b=(new Date(a,0,1)).getDay();return new Date(a,0,(4>=b?5:12)-b)}function $d(a){return function(b){var d=Zd(b.getFullYear());b=+new Date(b.getFullYear(), |
|||
b.getMonth(),b.getDate()+(4-b.getDay()))-+d;b=1+Math.round(b/6048E5);return Pb(b,a)}}function Gc(a,b){return 0>=a.getFullYear()?b.ERAS[0]:b.ERAS[1]}function Td(a){function b(a){var b;if(b=a.match(d)){a=new Date(0);var f=0,g=0,k=b[8]?a.setUTCFullYear:a.setFullYear,h=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=fa(b[9]+b[10]),g=fa(b[9]+b[11]));k.call(a,fa(b[1]),fa(b[2])-1,fa(b[3]));f=fa(b[4]||0)-f;g=fa(b[5]||0)-g;k=fa(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));h.call(a,f,g,k,b)}return a}var d= |
|||
/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,f){var g="",k=[],h,l;d=d||"mediumDate";d=a.DATETIME_FORMATS[d]||d;C(c)&&(c=jh.test(c)?fa(c):b(c));X(c)&&(c=new Date(c));if(!ha(c)||!isFinite(c.getTime()))return c;for(;d;)(l=kh.exec(d))?(k=db(k,l,1),d=k.pop()):(k.push(d),d=null);var m=c.getTimezoneOffset();f&&(m=fc(f,m),c=gc(c,f,!0));r(k,function(b){h=lh[b];g+=h?h(c,a.DATETIME_FORMATS,m):"''"===b?"'":b.replace(/(^'|'$)/g,"").replace(/''/g, |
|||
"'")});return g}}function ch(){return function(a,b){A(b)&&(b=2);return eb(a,b)}}function dh(){return function(a,b,d){b=Infinity===Math.abs(Number(b))?Number(b):fa(b);if(Y(b))return a;X(a)&&(a=a.toString());if(!za(a))return a;d=!d||isNaN(d)?0:fa(d);d=0>d?Math.max(0,a.length+d):d;return 0<=b?Hc(a,d,d+b):0===d?Hc(a,b,a.length):Hc(a,Math.max(0,d+b),d)}}function Hc(a,b,d){return C(a)?a.slice(b,d):Ha.call(a,b,d)}function Vd(a){function b(b){return b.map(function(b){var c=1,d=Ta;if(B(b))d=b;else if(C(b)){if("+"=== |
|||
b.charAt(0)||"-"===b.charAt(0))c="-"===b.charAt(0)?-1:1,b=b.substring(1);if(""!==b&&(d=a(b),d.constant))var e=d(),d=function(a){return a[e]}}return{get:d,descending:c}})}function d(a){switch(typeof a){case "number":case "boolean":case "string":return!0;default:return!1}}function c(a,b){var c=0,d=a.type,h=b.type;if(d===h){var h=a.value,l=b.value;"string"===d?(h=h.toLowerCase(),l=l.toLowerCase()):"object"===d&&(D(h)&&(h=a.index),D(l)&&(l=b.index));h!==l&&(c=h<l?-1:1)}else c="undefined"===d?1:"undefined"=== |
|||
h?-1:"null"===d?1:"null"===h?-1:d<h?-1:1;return c}return function(a,f,g,k){if(null==a)return a;if(!za(a))throw F("orderBy")("notarray",a);H(f)||(f=[f]);0===f.length&&(f=["+"]);var h=b(f),l=g?-1:1,m=B(k)?k:c;a=Array.prototype.map.call(a,function(a,b){return{value:a,tieBreaker:{value:b,type:"number",index:b},predicateValues:h.map(function(c){var e=c.get(a);c=typeof e;if(null===e)c="null";else if("object"===c)a:{if(B(e.valueOf)&&(e=e.valueOf(),d(e)))break a;cc(e)&&(e=e.toString(),d(e))}return{value:e, |
|||
type:c,index:b}})}});a.sort(function(a,b){for(var d=0,e=h.length;d<e;d++){var f=m(a.predicateValues[d],b.predicateValues[d]);if(f)return f*h[d].descending*l}return(m(a.tieBreaker,b.tieBreaker)||c(a.tieBreaker,b.tieBreaker))*l});return a=a.map(function(a){return a.value})}}function Ra(a){B(a)&&(a={link:a});a.restrict=a.restrict||"AC";return ia(a)}function Qb(a,b,d,c,e){this.$$controls=[];this.$error={};this.$$success={};this.$pending=void 0;this.$name=e(b.name||b.ngForm||"")(d);this.$dirty=!1;this.$valid= |
|||
this.$pristine=!0;this.$submitted=this.$invalid=!1;this.$$parentForm=mb;this.$$element=a;this.$$animate=c;ae(this)}function ae(a){a.$$classCache={};a.$$classCache[be]=!(a.$$classCache[nb]=a.$$element.hasClass(nb))}function ce(a){function b(a,b,c){c&&!a.$$classCache[b]?(a.$$animate.addClass(a.$$element,b),a.$$classCache[b]=!0):!c&&a.$$classCache[b]&&(a.$$animate.removeClass(a.$$element,b),a.$$classCache[b]=!1)}function d(a,c,d){c=c?"-"+Xc(c,"-"):"";b(a,nb+c,!0===d);b(a,be+c,!1===d)}var c=a.set,e=a.unset; |
|||
a.clazz.prototype.$setValidity=function(a,g,k){A(g)?(this.$pending||(this.$pending={}),c(this.$pending,a,k)):(this.$pending&&e(this.$pending,a,k),de(this.$pending)&&(this.$pending=void 0));Ga(g)?g?(e(this.$error,a,k),c(this.$$success,a,k)):(c(this.$error,a,k),e(this.$$success,a,k)):(e(this.$error,a,k),e(this.$$success,a,k));this.$pending?(b(this,"ng-pending",!0),this.$valid=this.$invalid=void 0,d(this,"",null)):(b(this,"ng-pending",!1),this.$valid=de(this.$error),this.$invalid=!this.$valid,d(this, |
|||
"",this.$valid));g=this.$pending&&this.$pending[a]?void 0:this.$error[a]?!1:this.$$success[a]?!0:null;d(this,a,g);this.$$parentForm.$setValidity(a,g,this)}}function de(a){if(a)for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}function Ic(a){a.$formatters.push(function(b){return a.$isEmpty(b)?b:b.toString()})}function Sa(a,b,d,c,e,f){var g=K(b[0].type);if(!e.android){var k=!1;b.on("compositionstart",function(){k=!0});b.on("compositionupdate",function(a){if(A(a.data)||""===a.data)k=!1});b.on("compositionend", |
|||
function(){k=!1;l()})}var h,l=function(a){h&&(f.defer.cancel(h),h=null);if(!k){var e=b.val();a=a&&a.type;"password"===g||d.ngTrim&&"false"===d.ngTrim||(e=V(e));(c.$viewValue!==e||""===e&&c.$$hasNativeValidators)&&c.$setViewValue(e,a)}};if(e.hasEvent("input"))b.on("input",l);else{var m=function(a,b,c){h||(h=f.defer(function(){h=null;b&&b.value===c||l(a)}))};b.on("keydown",function(a){var b=a.keyCode;91===b||15<b&&19>b||37<=b&&40>=b||m(a,this,this.value)});if(e.hasEvent("paste"))b.on("paste cut drop", |
|||
m)}b.on("change",l);if(ee[g]&&c.$$hasNativeValidators&&g===d.type)b.on("keydown wheel mousedown",function(a){if(!h){var b=this.validity,c=b.badInput,d=b.typeMismatch;h=f.defer(function(){h=null;b.badInput===c&&b.typeMismatch===d||l(a)})}});c.$render=function(){var a=c.$isEmpty(c.$viewValue)?"":c.$viewValue;b.val()!==a&&b.val(a)}}function Rb(a,b){return function(d,c){var e,f;if(ha(d))return d;if(C(d)){'"'===d.charAt(0)&&'"'===d.charAt(d.length-1)&&(d=d.substring(1,d.length-1));if(mh.test(d))return new Date(d); |
|||
a.lastIndex=0;if(e=a.exec(d))return e.shift(),f=c?{yyyy:c.getFullYear(),MM:c.getMonth()+1,dd:c.getDate(),HH:c.getHours(),mm:c.getMinutes(),ss:c.getSeconds(),sss:c.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},r(e,function(a,c){c<b.length&&(f[b[c]]=+a)}),e=new Date(f.yyyy,f.MM-1,f.dd,f.HH,f.mm,f.ss||0,1E3*f.sss||0),100>f.yyyy&&e.setFullYear(f.yyyy),e}return NaN}}function ob(a,b,d,c){return function(e,f,g,k,h,l,m,p){function n(a){return a&&!(a.getTime&&a.getTime()!==a.getTime())} |
|||
function s(a){return w(a)&&!ha(a)?r(a)||void 0:a}function r(a,b){var c=k.$options.getOption("timezone");v&&v!==c&&(b=Uc(b,fc(v)));var e=d(a,b);!isNaN(e)&&c&&(e=gc(e,c));return e}Jc(e,f,g,k,a);Sa(e,f,g,k,h,l);var t="time"===a||"datetimelocal"===a,q,v;k.$parsers.push(function(c){if(k.$isEmpty(c))return null;if(b.test(c))return r(c,q);k.$$parserName=a});k.$formatters.push(function(a){if(a&&!ha(a))throw pb("datefmt",a);if(n(a)){q=a;var b=k.$options.getOption("timezone");b&&(v=b,q=gc(q,b,!0));var d=c; |
|||
t&&C(k.$options.getOption("timeSecondsFormat"))&&(d=c.replace("ss.sss",k.$options.getOption("timeSecondsFormat")).replace(/:$/,""));a=m("date")(a,d,b);t&&k.$options.getOption("timeStripZeroSeconds")&&(a=a.replace(/(?::00)?(?:\.000)?$/,""));return a}v=q=null;return""});if(w(g.min)||g.ngMin){var x=g.min||p(g.ngMin)(e),z=s(x);k.$validators.min=function(a){return!n(a)||A(z)||d(a)>=z};g.$observe("min",function(a){a!==x&&(z=s(a),x=a,k.$validate())})}if(w(g.max)||g.ngMax){var y=g.max||p(g.ngMax)(e),J=s(y); |
|||
k.$validators.max=function(a){return!n(a)||A(J)||d(a)<=J};g.$observe("max",function(a){a!==y&&(J=s(a),y=a,k.$validate())})}}}function Jc(a,b,d,c,e){(c.$$hasNativeValidators=D(b[0].validity))&&c.$parsers.push(function(a){var d=b.prop("validity")||{};if(d.badInput||d.typeMismatch)c.$$parserName=e;else return a})}function fe(a){a.$parsers.push(function(b){if(a.$isEmpty(b))return null;if(nh.test(b))return parseFloat(b);a.$$parserName="number"});a.$formatters.push(function(b){if(!a.$isEmpty(b)){if(!X(b))throw pb("numfmt", |
|||
b);b=b.toString()}return b})}function na(a){w(a)&&!X(a)&&(a=parseFloat(a));return Y(a)?void 0:a}function Kc(a){var b=a.toString(),d=b.indexOf(".");return-1===d?-1<a&&1>a&&(a=/e-(\d+)$/.exec(b))?Number(a[1]):0:b.length-d-1}function ge(a,b,d){a=Number(a);var c=(a|0)!==a,e=(b|0)!==b,f=(d|0)!==d;if(c||e||f){var g=c?Kc(a):0,k=e?Kc(b):0,h=f?Kc(d):0,g=Math.max(g,k,h),g=Math.pow(10,g);a*=g;b*=g;d*=g;c&&(a=Math.round(a));e&&(b=Math.round(b));f&&(d=Math.round(d))}return 0===(a-b)%d}function he(a,b,d,c,e){if(w(c)){a= |
|||
a(c);if(!a.constant)throw pb("constexpr",d,c);return a(b)}return e}function Lc(a,b){function d(a,b){if(!a||!a.length)return[];if(!b||!b.length)return a;var c=[],d=0;a:for(;d<a.length;d++){for(var e=a[d],m=0;m<b.length;m++)if(e===b[m])continue a;c.push(e)}return c}function c(a){if(!a)return a;var b=a;H(a)?b=a.map(c).join(" "):D(a)?b=Object.keys(a).filter(function(b){return a[b]}).join(" "):C(a)||(b=a+"");return b}a="ngClass"+a;var e;return["$parse",function(f){return{restrict:"AC",link:function(g, |
|||
k,h){function l(a,b){var c=[];r(a,function(a){if(0<b||p[a])p[a]=(p[a]||0)+b,p[a]===+(0<b)&&c.push(a)});return c.join(" ")}function m(a){if(a===b){var c=s,c=l(c&&c.split(" "),1);h.$addClass(c)}else c=s,c=l(c&&c.split(" "),-1),h.$removeClass(c);n=a}var p=k.data("$classCounts"),n=!0,s;p||(p=T(),k.data("$classCounts",p));"ngClass"!==a&&(e||(e=f("$index",function(a){return a&1})),g.$watch(e,m));g.$watch(f(h[a],c),function(a){if(n===b){var c=s&&s.split(" "),e=a&&a.split(" "),f=d(c,e),c=d(e,c),f=l(f,-1), |
|||
c=l(c,1);h.$addClass(c);h.$removeClass(f)}s=a})}}}]}function sd(a,b,d,c,e,f){return{restrict:"A",compile:function(g,k){var h=a(k[c]);return function(a,c){c.on(e,function(c){var e=function(){h(a,{$event:c})};if(b.$$phase)if(f)a.$evalAsync(e);else try{e()}catch(g){d(g)}else a.$apply(e)})}}}}function Sb(a,b,d,c,e,f,g,k,h){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=void 0;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners= |
|||
[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=void 0;this.$name=h(d.name||"",!1)(a);this.$$parentForm=mb;this.$options=Tb;this.$$updateEvents="";this.$$updateEventHandler=this.$$updateEventHandler.bind(this);this.$$parsedNgModel=e(d.ngModel);this.$$parsedNgModelAssign=this.$$parsedNgModel.assign;this.$$ngModelGet=this.$$parsedNgModel;this.$$ngModelSet=this.$$parsedNgModelAssign;this.$$pendingDebounce= |
|||
null;this.$$parserValid=void 0;this.$$parserName="parse";this.$$currentValidationRunId=0;this.$$scope=a;this.$$rootScope=a.$root;this.$$attr=d;this.$$element=c;this.$$animate=f;this.$$timeout=g;this.$$parse=e;this.$$q=k;this.$$exceptionHandler=b;ae(this);oh(this)}function oh(a){a.$$scope.$watch(function(b){b=a.$$ngModelGet(b);b===a.$modelValue||a.$modelValue!==a.$modelValue&&b!==b||a.$$setModelValue(b);return b})}function Mc(a){this.$$options=a}function ie(a,b){r(b,function(b,c){w(a[c])||(a[c]=b)})} |
|||
function Oa(a,b){a.prop("selected",b);a.attr("selected",b)}function je(a,b,d){if(a){C(a)&&(a=new RegExp("^"+a+"$"));if(!a.test)throw F("ngPattern")("noregexp",b,a,Aa(d));return a}}function Ub(a){a=fa(a);return Y(a)?-1:a}var Xb={objectMaxDepth:5,urlErrorParamsEnabled:!0},ke=/^\/(.+)\/([a-z]*)$/,ta=Object.prototype.hasOwnProperty,K=function(a){return C(a)?a.toLowerCase():a},vb=function(a){return C(a)?a.toUpperCase():a},wa,x,sb,Ha=[].slice,Kg=[].splice,ph=[].push,la=Object.prototype.toString,Rc=Object.getPrototypeOf, |
|||
oa=F("ng"),ca=z.angular||(z.angular={}),lc,qb=0;wa=z.document.documentMode;var Y=Number.isNaN||function(a){return a!==a};E.$inject=[];Ta.$inject=[];var ze=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/,V=function(a){return C(a)?a.trim():a},Od=function(a){return a.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},Ba=function(){if(!w(Ba.rules)){var a=z.document.querySelector("[ng-csp]")||z.document.querySelector("[data-ng-csp]");if(a){var b= |
|||
a.getAttribute("ng-csp")||a.getAttribute("data-ng-csp");Ba.rules={noUnsafeEval:!b||-1!==b.indexOf("no-unsafe-eval"),noInlineStyle:!b||-1!==b.indexOf("no-inline-style")}}else{a=Ba;try{new Function(""),b=!1}catch(d){b=!0}a.rules={noUnsafeEval:b,noInlineStyle:!1}}}return Ba.rules},rb=function(){if(w(rb.name_))return rb.name_;var a,b,d=Qa.length,c,e;for(b=0;b<d;++b)if(c=Qa[b],a=z.document.querySelector("["+c.replace(":","\\:")+"jq]")){e=a.getAttribute(c+"jq");break}return rb.name_=e},Be=/:/g,Qa=["ng-", |
|||
"data-ng-","ng:","x-ng-"],Fe=function(a){var b=a.currentScript;if(!b)return!0;if(!(b instanceof z.HTMLScriptElement||b instanceof z.SVGScriptElement))return!1;b=b.attributes;return[b.getNamedItem("src"),b.getNamedItem("href"),b.getNamedItem("xlink:href")].every(function(b){if(!b)return!0;if(!b.value)return!1;var c=a.createElement("a");c.href=b.value;if(a.location.origin===c.origin)return!0;switch(c.protocol){case "http:":case "https:":case "ftp:":case "blob:":case "file:":case "data:":return!0;default:return!1}})}(z.document), |
|||
Ie=/[A-Z]/g,Yc=!1,Pa=3,Pe={full:"1.8.1",major:1,minor:8,dot:1,codeName:"mutually-supporting"};U.expando="ng339";var Ka=U.cache={},ug=1;U._data=function(a){return this.cache[a[this.expando]]||{}};var qg=/-([a-z])/g,qh=/^-ms-/,Bb={mouseleave:"mouseout",mouseenter:"mouseover"},oc=F("jqLite"),tg=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,nc=/<|&#?\w+;/,rg=/<([\w:-]+)/,sg=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,qa={thead:["table"],col:["colgroup","table"],tr:["tbody","table"],td:["tr", |
|||
"tbody","table"]};qa.tbody=qa.tfoot=qa.colgroup=qa.caption=qa.thead;qa.th=qa.td;var hb={option:[1,'<select multiple="multiple">',"</select>"],_default:[0,"",""]},Nc;for(Nc in qa){var le=qa[Nc],me=le.slice().reverse();hb[Nc]=[me.length,"<"+me.join("><")+">","</"+le.join("></")+">"]}hb.optgroup=hb.option;var zg=z.Node.prototype.contains||function(a){return!!(this.compareDocumentPosition(a)&16)},Wa=U.prototype={ready:hd,toString:function(){var a=[];r(this,function(b){a.push(""+b)});return"["+a.join(", ")+ |
|||
"]"},eq:function(a){return 0<=a?x(this[a]):x(this[this.length+a])},length:0,push:ph,sort:[].sort,splice:[].splice},Hb={};r("multiple selected checked disabled readOnly required open".split(" "),function(a){Hb[K(a)]=a});var od={};r("input select option textarea button form details".split(" "),function(a){od[a]=!0});var vd={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};r({data:sc,removeData:rc,hasData:function(a){for(var b in Ka[a.ng339])return!0; |
|||
return!1},cleanData:function(a){for(var b=0,d=a.length;b<d;b++)rc(a[b]),kd(a[b])}},function(a,b){U[b]=a});r({data:sc,inheritedData:Fb,scope:function(a){return x.data(a,"$scope")||Fb(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return x.data(a,"$isolateScope")||x.data(a,"$isolateScopeNoTemplate")},controller:ld,injector:function(a){return Fb(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:Cb,css:function(a,b,d){b=yb(b.replace(qh,"ms-"));if(w(d))a.style[b]= |
|||
d;else return a.style[b]},attr:function(a,b,d){var c=a.nodeType;if(c!==Pa&&2!==c&&8!==c&&a.getAttribute){var c=K(b),e=Hb[c];if(w(d))null===d||!1===d&&e?a.removeAttribute(b):a.setAttribute(b,e?c:d);else return a=a.getAttribute(b),e&&null!==a&&(a=c),null===a?void 0:a}},prop:function(a,b,d){if(w(d))a[b]=d;else return a[b]},text:function(){function a(a,d){if(A(d)){var c=a.nodeType;return 1===c||c===Pa?a.textContent:""}a.textContent=d}a.$dv="";return a}(),val:function(a,b){if(A(b)){if(a.multiple&&"select"=== |
|||
ua(a)){var d=[];r(a.options,function(a){a.selected&&d.push(a.value||a.text)});return d}return a.value}a.value=b},html:function(a,b){if(A(b))return a.innerHTML;zb(a,!0);a.innerHTML=b},empty:md},function(a,b){U.prototype[b]=function(b,c){var e,f,g=this.length;if(a!==md&&A(2===a.length&&a!==Cb&&a!==ld?b:c)){if(D(b)){for(e=0;e<g;e++)if(a===sc)a(this[e],b);else for(f in b)a(this[e],f,b[f]);return this}e=a.$dv;g=A(e)?Math.min(g,1):g;for(f=0;f<g;f++){var k=a(this[f],b,c);e=e?e+k:k}return e}for(e=0;e<g;e++)a(this[e], |
|||
b,c);return this}});r({removeData:rc,on:function(a,b,d,c){if(w(c))throw oc("onargs");if(mc(a)){c=Ab(a,!0);var e=c.events,f=c.handle;f||(f=c.handle=wg(a,e));c=0<=b.indexOf(" ")?b.split(" "):[b];for(var g=c.length,k=function(b,c,g){var k=e[b];k||(k=e[b]=[],k.specialHandlerWrapper=c,"$destroy"===b||g||a.addEventListener(b,f));k.push(d)};g--;)b=c[g],Bb[b]?(k(Bb[b],yg),k(b,void 0,!0)):k(b)}},off:kd,one:function(a,b,d){a=x(a);a.on(b,function e(){a.off(b,d);a.off(b,e)});a.on(b,d)},replaceWith:function(a, |
|||
b){var d,c=a.parentNode;zb(a);r(new U(b),function(b){d?c.insertBefore(b,d.nextSibling):c.replaceChild(b,a);d=b})},children:function(a){var b=[];r(a.childNodes,function(a){1===a.nodeType&&b.push(a)});return b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){var d=a.nodeType;if(1===d||11===d){b=new U(b);for(var d=0,c=b.length;d<c;d++)a.appendChild(b[d])}},prepend:function(a,b){if(1===a.nodeType){var d=a.firstChild;r(new U(b),function(b){a.insertBefore(b,d)})}}, |
|||
wrap:function(a,b){var d=x(b).eq(0).clone()[0],c=a.parentNode;c&&c.replaceChild(d,a);d.appendChild(a)},remove:Gb,detach:function(a){Gb(a,!0)},after:function(a,b){var d=a,c=a.parentNode;if(c){b=new U(b);for(var e=0,f=b.length;e<f;e++){var g=b[e];c.insertBefore(g,d.nextSibling);d=g}}},addClass:Eb,removeClass:Db,toggleClass:function(a,b,d){b&&r(b.split(" "),function(b){var e=d;A(e)&&(e=!Cb(a,b));(e?Eb:Db)(a,b)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){return a.nextElementSibling}, |
|||
find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:qc,triggerHandler:function(a,b,d){var c,e,f=b.type||b,g=Ab(a);if(g=(g=g&&g.events)&&g[f])c={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:E,type:f,target:a},b.type&&(c=S(c, |
|||
b)),b=ja(g),e=d?[c].concat(d):[c],r(b,function(b){c.isImmediatePropagationStopped()||b.apply(a,e)})}},function(a,b){U.prototype[b]=function(b,c,e){for(var f,g=0,k=this.length;g<k;g++)A(f)?(f=a(this[g],b,c,e),w(f)&&(f=x(f))):pc(f,a(this[g],b,c,e));return w(f)?f:this}});U.prototype.bind=U.prototype.on;U.prototype.unbind=U.prototype.off;var rh=Object.create(null);pd.prototype={_idx:function(a){a!==this._lastKey&&(this._lastKey=a,this._lastIndex=this._keys.indexOf(a));return this._lastIndex},_transformKey:function(a){return Y(a)? |
|||
rh:a},get:function(a){a=this._transformKey(a);a=this._idx(a);if(-1!==a)return this._values[a]},has:function(a){a=this._transformKey(a);return-1!==this._idx(a)},set:function(a,b){a=this._transformKey(a);var d=this._idx(a);-1===d&&(d=this._lastIndex=this._keys.length);this._keys[d]=a;this._values[d]=b},delete:function(a){a=this._transformKey(a);a=this._idx(a);if(-1===a)return!1;this._keys.splice(a,1);this._values.splice(a,1);this._lastKey=NaN;this._lastIndex=-1;return!0}};var Ib=pd,og=[function(){this.$get= |
|||
[function(){return Ib}]}],Bg=/^([^(]+?)=>/,Cg=/^[^(]*\(\s*([^)]*)\)/m,sh=/,/,th=/^\s*(_?)(\S+?)\1\s*$/,Ag=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Ca=F("$injector");fb.$$annotate=function(a,b,d){var c;if("function"===typeof a){if(!(c=a.$inject)){c=[];if(a.length){if(b)throw C(d)&&d||(d=a.name||Dg(a)),Ca("strictdi",d);b=qd(a);r(b[1].split(sh),function(a){a.replace(th,function(a,b,d){c.push(d)})})}a.$inject=c}}else H(a)?(b=a.length-1,tb(a[b],"fn"),c=a.slice(0,b)):tb(a,"fn",!0);return c};var ne=F("$animate"), |
|||
Ef=function(){this.$get=E},Ff=function(){var a=new Ib,b=[];this.$get=["$$AnimateRunner","$rootScope",function(d,c){function e(a,b,c){var d=!1;b&&(b=C(b)?b.split(" "):H(b)?b:[],r(b,function(b){b&&(d=!0,a[b]=c)}));return d}function f(){r(b,function(b){var c=a.get(b);if(c){var d=Eg(b.attr("class")),e="",f="";r(c,function(a,b){a!==!!d[b]&&(a?e+=(e.length?" ":"")+b:f+=(f.length?" ":"")+b)});r(b,function(a){e&&Eb(a,e);f&&Db(a,f)});a.delete(b)}});b.length=0}return{enabled:E,on:E,off:E,pin:E,push:function(g, |
|||
k,h,l){l&&l();h=h||{};h.from&&g.css(h.from);h.to&&g.css(h.to);if(h.addClass||h.removeClass)if(k=h.addClass,l=h.removeClass,h=a.get(g)||{},k=e(h,k,!0),l=e(h,l,!1),k||l)a.set(g,h),b.push(g),1===b.length&&c.$$postDigest(f);g=new d;g.complete();return g}}}]},Cf=["$provide",function(a){var b=this,d=null,c=null;this.$$registeredAnimations=Object.create(null);this.register=function(c,d){if(c&&"."!==c.charAt(0))throw ne("notcsel",c);var g=c+"-animation";b.$$registeredAnimations[c.substr(1)]=g;a.factory(g, |
|||
d)};this.customFilter=function(a){1===arguments.length&&(c=B(a)?a:null);return c};this.classNameFilter=function(a){if(1===arguments.length&&(d=a instanceof RegExp?a:null)&&/[(\s|\/)]ng-animate[(\s|\/)]/.test(d.toString()))throw d=null,ne("nongcls","ng-animate");return d};this.$get=["$$animateQueue",function(a){function b(a,c,d){if(d){var e;a:{for(e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){e=f;break a}}e=void 0}!e||e.parentNode||e.previousElementSibling||(d=null)}d?d.after(a):c.prepend(a)}return{on:a.on, |
|||
off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.cancel&&a.cancel()},enter:function(c,d,h,l){d=d&&x(d);h=h&&x(h);d=d||h.parent();b(c,d,h);return a.push(c,"enter",ra(l))},move:function(c,d,h,l){d=d&&x(d);h=h&&x(h);d=d||h.parent();b(c,d,h);return a.push(c,"move",ra(l))},leave:function(b,c){return a.push(b,"leave",ra(c),function(){b.remove()})},addClass:function(b,c,d){d=ra(d);d.addClass=ib(d.addclass,c);return a.push(b,"addClass",d)},removeClass:function(b,c,d){d=ra(d);d.removeClass=ib(d.removeClass, |
|||
c);return a.push(b,"removeClass",d)},setClass:function(b,c,d,f){f=ra(f);f.addClass=ib(f.addClass,c);f.removeClass=ib(f.removeClass,d);return a.push(b,"setClass",f)},animate:function(b,c,d,f,m){m=ra(m);m.from=m.from?S(m.from,c):c;m.to=m.to?S(m.to,d):d;m.tempClasses=ib(m.tempClasses,f||"ng-inline-animate");return a.push(b,"animate",m)}}}]}],Hf=function(){this.$get=["$$rAF",function(a){function b(b){d.push(b);1<d.length||a(function(){for(var a=0;a<d.length;a++)d[a]();d=[]})}var d=[];return function(){var a= |
|||
!1;b(function(){a=!0});return function(d){a?d():b(d)}}}]},Gf=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function(a,b,d,c,e){function f(a){this.setHost(a);var b=d();this._doneCallbacks=[];this._tick=function(a){c()?e(a,0,!1):b(a)};this._state=0}f.chain=function(a,b){function c(){if(d===a.length)b(!0);else a[d](function(a){!1===a?b(!1):(d++,c())})}var d=0;c()};f.all=function(a,b){function c(f){e=e&&f;++d===a.length&&b(e)}var d=0,e=!0;r(a,function(a){a.done(c)})}; |
|||
f.prototype={setHost:function(a){this.host=a||{}},done:function(a){2===this._state?a():this._doneCallbacks.push(a)},progress:E,getPromise:function(){if(!this.promise){var b=this;this.promise=a(function(a,c){b.done(function(b){!1===b?c():a()})})}return this.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&& |
|||
this.host.resume()},end:function(){this.host.end&&this.host.end();this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel();this._resolve(!1)},complete:function(a){var b=this;0===b._state&&(b._state=1,b._tick(function(){b._resolve(a)}))},_resolve:function(a){2!==this._state&&(r(this._doneCallbacks,function(b){b(a)}),this._doneCallbacks.length=0,this._state=2)}};return f}]},Df=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(a,b,d){return function(b,e){function f(){a(function(){g.addClass&& |
|||
(b.addClass(g.addClass),g.addClass=null);g.removeClass&&(b.removeClass(g.removeClass),g.removeClass=null);g.to&&(b.css(g.to),g.to=null);k||h.complete();k=!0});return h}var g=e||{};g.$$prepared||(g=Ia(g));g.cleanupStyles&&(g.from=g.to=null);g.from&&(b.css(g.from),g.from=null);var k,h=new d;return{start:f,end:f}}}]},$=F("$compile"),uc=new function(){};Zc.$inject=["$provide","$$sanitizeUriProvider"];Kb.prototype.isFirstChange=function(){return this.previousValue===uc};var rd=/^((?:x|data)[:\-_])/i,Jg= |
|||
/[:\-_]+(.)/g,xd=F("$controller"),wd=/^(\S+)(\s+as\s+([\w$]+))?$/,Of=function(){this.$get=["$document",function(a){return function(b){b?!b.nodeType&&b instanceof x&&(b=b[0]):b=a[0].body;return b.offsetWidth+1}}]},yd="application/json",xc={"Content-Type":yd+";charset=utf-8"},Mg=/^\[|^\{(?!\{)/,Ng={"[":/]$/,"{":/}$/},Lg=/^\)]\}',?\n/,Lb=F("$http"),Ma=ca.$interpolateMinErr=F("$interpolate");Ma.throwNoconcat=function(a){throw Ma("noconcat",a);};Ma.interr=function(a,b){return Ma("interr",a,b.toString())}; |
|||
var Qg=F("$interval"),Xf=function(){this.$get=function(){function a(a){var b=function(a){b.data=a;b.called=!0};b.id=a;return b}var b=ca.callbacks,d={};return{createCallback:function(c){c="_"+(b.$$counter++).toString(36);var e="angular.callbacks."+c,f=a(c);d[e]=b[c]=f;return e},wasCalled:function(a){return d[a].called},getResponse:function(a){return d[a].data},removeCallback:function(a){delete b[d[a].id];delete d[a]}}}},uh=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,Rg={http:80,https:443,ftp:21},kb=F("$location"), |
|||
Sg=/^\s*[\\/]{2,}/,vh={$$absUrl:"",$$html5:!1,$$replace:!1,$$compose:function(){for(var a=this.$$path,b=this.$$hash,d=Ce(this.$$search),b=b?"#"+ic(b):"",a=a.split("/"),c=a.length;c--;)a[c]=ic(a[c].replace(/%2F/g,"/"));this.$$url=a.join("/")+(d?"?"+d:"")+b;this.$$absUrl=this.$$normalizeUrl(this.$$url);this.$$urlUpdatedByLocation=!0},absUrl:Mb("$$absUrl"),url:function(a){if(A(a))return this.$$url;var b=uh.exec(a);(b[1]||""===a)&&this.path(decodeURIComponent(b[1]));(b[2]||b[1]||""===a)&&this.search(b[3]|| |
|||
"");this.hash(b[5]||"");return this},protocol:Mb("$$protocol"),host:Mb("$$host"),port:Mb("$$port"),path:Fd("$$path",function(a){a=null!==a?a.toString():"";return"/"===a.charAt(0)?a:"/"+a}),search:function(a,b){switch(arguments.length){case 0:return this.$$search;case 1:if(C(a)||X(a))a=a.toString(),this.$$search=hc(a);else if(D(a))a=Ia(a,{}),r(a,function(b,c){null==b&&delete a[c]}),this.$$search=a;else throw kb("isrcharg");break;default:A(b)||null===b?delete this.$$search[a]:this.$$search[a]=b}this.$$compose(); |
|||
return this},hash:Fd("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){this.$$replace=!0;return this}};r([Ed,Ac,zc],function(a){a.prototype=Object.create(vh);a.prototype.state=function(b){if(!arguments.length)return this.$$state;if(a!==zc||!this.$$html5)throw kb("nostate");this.$$state=A(b)?null:b;this.$$urlUpdatedByLocation=!0;return this}});var Ya=F("$parse"),Wg={}.constructor.prototype.valueOf,Vb=T();r("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(a){Vb[a]= |
|||
!0});var wh={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Ob=function(a){this.options=a};Ob.prototype={constructor:Ob,lex:function(a){this.text=a;this.index=0;for(this.tokens=[];this.index<this.text.length;)if(a=this.text.charAt(this.index),'"'===a||"'"===a)this.readString(a);else if(this.isNumber(a)||"."===a&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(a,"(){}[].,;:?"))this.tokens.push({index:this.index, |
|||
text:a}),this.index++;else if(this.isWhitespace(a))this.index++;else{var b=a+this.peek(),d=b+this.peek(2),c=Vb[b],e=Vb[d];Vb[a]||c||e?(a=e?d:c?b:a,this.tokens.push({index:this.index,text:a,operator:!0}),this.index+=a.length):this.throwError("Unexpected next character ",this.index,this.index+1)}return this.tokens},is:function(a,b){return-1!==b.indexOf(a)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a&&"string"=== |
|||
typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdentifierStart:function(a){return this.options.isIdentifierStart?this.options.isIdentifierStart(a,this.codePointAt(a)):this.isValidIdentifierStart(a)},isValidIdentifierStart:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isIdentifierContinue:function(a){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(a,this.codePointAt(a)):this.isValidIdentifierContinue(a)}, |
|||
isValidIdentifierContinue:function(a,b){return this.isValidIdentifierStart(a,b)||this.isNumber(a)},codePointAt:function(a){return 1===a.length?a.charCodeAt(0):(a.charCodeAt(0)<<10)+a.charCodeAt(1)-56613888},peekMultichar:function(){var a=this.text.charAt(this.index),b=this.peek();if(!b)return a;var d=a.charCodeAt(0),c=b.charCodeAt(0);return 55296<=d&&56319>=d&&56320<=c&&57343>=c?a+b:a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,d){d=d||this.index;b= |
|||
w(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,d)+"]":" "+d;throw Ya("lexerr",a,b,this.text);},readNumber:function(){for(var a="",b=this.index;this.index<this.text.length;){var d=K(this.text.charAt(this.index));if("."===d||this.isNumber(d))a+=d;else{var c=this.peek();if("e"===d&&this.isExpOperator(c))a+=d;else if(this.isExpOperator(d)&&c&&this.isNumber(c)&&"e"===a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||c&&this.isNumber(c)||"e"!==a.charAt(a.length-1))break;else this.throwError("Invalid exponent")}this.index++}this.tokens.push({index:b, |
|||
text:a,constant:!0,value:Number(a)})},readIdent:function(){var a=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var b=this.peekMultichar();if(!this.isIdentifierContinue(b))break;this.index+=b.length}this.tokens.push({index:a,text:this.text.slice(a,this.index),identifier:!0})},readString:function(a){var b=this.index;this.index++;for(var d="",c=a,e=!1;this.index<this.text.length;){var f=this.text.charAt(this.index),c=c+f;if(e)"u"===f?(e=this.text.substring(this.index+ |
|||
1,this.index+5),e.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+e+"]"),this.index+=4,d+=String.fromCharCode(parseInt(e,16))):d+=wh[f]||f,e=!1;else if("\\"===f)e=!0;else{if(f===a){this.index++;this.tokens.push({index:b,text:c,constant:!0,value:d});return}d+=f}this.index++}this.throwError("Unterminated quote",b)}};var q=function(a,b){this.lexer=a;this.options=b};q.Program="Program";q.ExpressionStatement="ExpressionStatement";q.AssignmentExpression="AssignmentExpression";q.ConditionalExpression= |
|||
"ConditionalExpression";q.LogicalExpression="LogicalExpression";q.BinaryExpression="BinaryExpression";q.UnaryExpression="UnaryExpression";q.CallExpression="CallExpression";q.MemberExpression="MemberExpression";q.Identifier="Identifier";q.Literal="Literal";q.ArrayExpression="ArrayExpression";q.Property="Property";q.ObjectExpression="ObjectExpression";q.ThisExpression="ThisExpression";q.LocalsExpression="LocalsExpression";q.NGValueParameter="NGValueParameter";q.prototype={ast:function(a){this.text= |
|||
a;this.tokens=this.lexer.lex(a);a=this.program();0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);return a},program:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:q.Program,body:a}},expressionStatement:function(){return{type:q.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var a=this.expression();this.expect("|");)a=this.filter(a);return a}, |
|||
expression:function(){return this.assignment()},assignment:function(){var a=this.ternary();if(this.expect("=")){if(!Jd(a))throw Ya("lval");a={type:q.AssignmentExpression,left:a,right:this.assignment(),operator:"="}}return a},ternary:function(){var a=this.logicalOR(),b,d;return this.expect("?")&&(b=this.expression(),this.consume(":"))?(d=this.expression(),{type:q.ConditionalExpression,test:a,alternate:b,consequent:d}):a},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:q.LogicalExpression, |
|||
operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=this.equality();this.expect("&&");)a={type:q.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a=this.relational(),b;b=this.expect("==","!=","===","!==");)a={type:q.BinaryExpression,operator:b.text,left:a,right:this.relational()};return a},relational:function(){for(var a=this.additive(),b;b=this.expect("<",">","<=",">=");)a={type:q.BinaryExpression,operator:b.text, |
|||
left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),b;b=this.expect("+","-");)a={type:q.BinaryExpression,operator:b.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),b;b=this.expect("*","/","%");)a={type:q.BinaryExpression,operator:b.text,left:a,right:this.unary()};return a},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:q.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()}, |
|||
primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?a=Ia(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?a={type:q.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression", |
|||
this.peek());for(var b;b=this.expect("(","[",".");)"("===b.text?(a={type:q.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:q.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:q.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){a=[a];for(var b={type:q.CallExpression,callee:this.identifier(),arguments:a,filter:!0};this.expect(":");)a.push(this.expression()); |
|||
return b},parseArguments:function(){var a=[];if(")"!==this.peekToken().text){do a.push(this.filterChain());while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:q.Identifier,name:a.text}},constant:function(){return{type:q.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","))}this.consume("]"); |
|||
return{type:q.ArrayExpression,elements:a}},object:function(){var a=[],b;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;b={type:q.Property,kind:"init"};this.peek().constant?(b.key=this.constant(),b.computed=!1,this.consume(":"),b.value=this.expression()):this.peek().identifier?(b.key=this.identifier(),b.computed=!1,this.peek(":")?(this.consume(":"),b.value=this.expression()):b.value=b.key):this.peek("[")?(this.consume("["),b.key=this.expression(),this.consume("]"),b.computed=!0,this.consume(":"), |
|||
b.value=this.expression()):this.throwError("invalid key",this.peek());a.push(b)}while(this.expect(","))}this.consume("}");return{type:q.ObjectExpression,properties:a}},throwError:function(a,b){throw Ya("syntax",b.text,a,b.index+1,this.text,this.text.substring(b.index));},consume:function(a){if(0===this.tokens.length)throw Ya("ueoe",this.text);var b=this.expect(a);b||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return b},peekToken:function(){if(0===this.tokens.length)throw Ya("ueoe", |
|||
this.text);return this.tokens[0]},peek:function(a,b,d,c){return this.peekAhead(0,a,b,d,c)},peekAhead:function(a,b,d,c,e){if(this.tokens.length>a){a=this.tokens[a];var f=a.text;if(f===b||f===d||f===c||f===e||!(b||d||c||e))return a}return!1},expect:function(a,b,d,c){return(a=this.peek(a,b,d,c))?(this.tokens.shift(),a):!1},selfReferential:{"this":{type:q.ThisExpression},$locals:{type:q.LocalsExpression}}};var Hd=2;Ld.prototype={compile:function(a){var b=this;this.state={nextId:0,filters:{},fn:{vars:[], |
|||
body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]};Z(a,b.$filter);var d="",c;this.stage="assign";if(c=Kd(a))this.state.computing="assign",d=this.nextId(),this.recurse(c,d),this.return_(d),d="fn.assign="+this.generateFunction("assign","s,v,l");c=Id(a.body);b.stage="inputs";r(c,function(a,c){var d="fn"+c;b.state[d]={vars:[],body:[],own:{}};b.state.computing=d;var k=b.nextId();b.recurse(a,k);b.return_(k);b.state.inputs.push({name:d,isPure:a.isPure});a.watchId=c});this.state.computing="fn";this.stage= |
|||
"main";this.recurse(a);a='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+d+this.watchFns()+"return fn;";a=(new Function("$filter","getStringValue","ifDefined","plus",a))(this.$filter,Tg,Ug,Gd);this.state=this.stage=void 0;return a},USE:"use",STRICT:"strict",watchFns:function(){var a=[],b=this.state.inputs,d=this;r(b,function(b){a.push("var "+b.name+"="+d.generateFunction(b.name,"s"));b.isPure&&a.push(b.name,".isPure="+JSON.stringify(b.isPure)+ |
|||
";")});b.length&&a.push("fn.inputs=["+b.map(function(a){return a.name}).join(",")+"];");return a.join("")},generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;r(this.state.filters,function(d,c){a.push(d+"=$filter("+b.escape(c)+")")});return a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")}, |
|||
recurse:function(a,b,d,c,e,f){var g,k,h=this,l,m,p;c=c||E;if(!f&&w(a.watchId))b=b||this.nextId(),this.if_("i",this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,d,c,e,!0));else switch(a.type){case q.Program:r(a.body,function(b,c){h.recurse(b.expression,void 0,void 0,function(a){k=a});c!==a.body.length-1?h.current().body.push(k,";"):h.return_(k)});break;case q.Literal:m=this.escape(a.value);this.assign(b,m);c(b||m);break;case q.UnaryExpression:this.recurse(a.argument,void 0, |
|||
void 0,function(a){k=a});m=a.operator+"("+this.ifDefined(k,0)+")";this.assign(b,m);c(m);break;case q.BinaryExpression:this.recurse(a.left,void 0,void 0,function(a){g=a});this.recurse(a.right,void 0,void 0,function(a){k=a});m="+"===a.operator?this.plus(g,k):"-"===a.operator?this.ifDefined(g,0)+a.operator+this.ifDefined(k,0):"("+g+")"+a.operator+"("+k+")";this.assign(b,m);c(m);break;case q.LogicalExpression:b=b||this.nextId();h.recurse(a.left,b);h.if_("&&"===a.operator?b:h.not(b),h.lazyRecurse(a.right, |
|||
b));c(b);break;case q.ConditionalExpression:b=b||this.nextId();h.recurse(a.test,b);h.if_(b,h.lazyRecurse(a.alternate,b),h.lazyRecurse(a.consequent,b));c(b);break;case q.Identifier:b=b||this.nextId();d&&(d.context="inputs"===h.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name);h.if_("inputs"===h.stage||h.not(h.getHasOwnProperty("l",a.name)),function(){h.if_("inputs"===h.stage||"s",function(){e&&1!==e&&h.if_(h.isNull(h.nonComputedMember("s",a.name)), |
|||
h.lazyAssign(h.nonComputedMember("s",a.name),"{}"));h.assign(b,h.nonComputedMember("s",a.name))})},b&&h.lazyAssign(b,h.nonComputedMember("l",a.name)));c(b);break;case q.MemberExpression:g=d&&(d.context=this.nextId())||this.nextId();b=b||this.nextId();h.recurse(a.object,g,void 0,function(){h.if_(h.notNull(g),function(){a.computed?(k=h.nextId(),h.recurse(a.property,k),h.getStringValue(k),e&&1!==e&&h.if_(h.not(h.computedMember(g,k)),h.lazyAssign(h.computedMember(g,k),"{}")),m=h.computedMember(g,k),h.assign(b, |
|||
m),d&&(d.computed=!0,d.name=k)):(e&&1!==e&&h.if_(h.isNull(h.nonComputedMember(g,a.property.name)),h.lazyAssign(h.nonComputedMember(g,a.property.name),"{}")),m=h.nonComputedMember(g,a.property.name),h.assign(b,m),d&&(d.computed=!1,d.name=a.property.name))},function(){h.assign(b,"undefined")});c(b)},!!e);break;case q.CallExpression:b=b||this.nextId();a.filter?(k=h.filter(a.callee.name),l=[],r(a.arguments,function(a){var b=h.nextId();h.recurse(a,b);l.push(b)}),m=k+"("+l.join(",")+")",h.assign(b,m),c(b)): |
|||
(k=h.nextId(),g={},l=[],h.recurse(a.callee,k,g,function(){h.if_(h.notNull(k),function(){r(a.arguments,function(b){h.recurse(b,a.constant?void 0:h.nextId(),void 0,function(a){l.push(a)})});m=g.name?h.member(g.context,g.name,g.computed)+"("+l.join(",")+")":k+"("+l.join(",")+")";h.assign(b,m)},function(){h.assign(b,"undefined")});c(b)}));break;case q.AssignmentExpression:k=this.nextId();g={};this.recurse(a.left,void 0,g,function(){h.if_(h.notNull(g.context),function(){h.recurse(a.right,k);m=h.member(g.context, |
|||
g.name,g.computed)+a.operator+k;h.assign(b,m);c(b||m)})},1);break;case q.ArrayExpression:l=[];r(a.elements,function(b){h.recurse(b,a.constant?void 0:h.nextId(),void 0,function(a){l.push(a)})});m="["+l.join(",")+"]";this.assign(b,m);c(b||m);break;case q.ObjectExpression:l=[];p=!1;r(a.properties,function(a){a.computed&&(p=!0)});p?(b=b||this.nextId(),this.assign(b,"{}"),r(a.properties,function(a){a.computed?(g=h.nextId(),h.recurse(a.key,g)):g=a.key.type===q.Identifier?a.key.name:""+a.key.value;k=h.nextId(); |
|||
h.recurse(a.value,k);h.assign(h.member(b,g,a.computed),k)})):(r(a.properties,function(b){h.recurse(b.value,a.constant?void 0:h.nextId(),void 0,function(a){l.push(h.escape(b.key.type===q.Identifier?b.key.name:""+b.key.value)+":"+a)})}),m="{"+l.join(",")+"}",this.assign(b,m));c(b||m);break;case q.ThisExpression:this.assign(b,"s");c(b||"s");break;case q.LocalsExpression:this.assign(b,"l");c(b||"l");break;case q.NGValueParameter:this.assign(b,"v"),c(b||"v")}},getHasOwnProperty:function(a,b){var d=a+"."+ |
|||
b,c=this.current().own;c.hasOwnProperty(d)||(c[d]=this.nextId(!1,a+"&&("+this.escape(b)+" in "+a+")"));return c[d]},assign:function(a,b){if(a)return this.current().body.push(a,"=",b,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a,b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a, |
|||
b,d){if(!0===a)b();else{var c=this.current().body;c.push("if(",a,"){");b();c.push("}");d&&(c.push("else{"),d(),c.push("}"))}},not:function(a){return"!("+a+")"},isNull:function(a){return a+"==null"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,b){var d=/[^$_a-zA-Z0-9]/g;return/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(b)?a+"."+b:a+'["'+b.replace(d,this.stringEscapeFn)+'"]'},computedMember:function(a,b){return a+"["+b+"]"},member:function(a,b,d){return d?this.computedMember(a,b):this.nonComputedMember(a, |
|||
b)},getStringValue:function(a){this.assign(a,"getStringValue("+a+")")},lazyRecurse:function(a,b,d,c,e,f){var g=this;return function(){g.recurse(a,b,d,c,e,f)}},lazyAssign:function(a,b){var d=this;return function(){d.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(C(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(X(a))return a.toString();if(!0===a)return"true";if(!1=== |
|||
a)return"false";if(null===a)return"null";if("undefined"===typeof a)return"undefined";throw Ya("esc");},nextId:function(a,b){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(b?"="+b:""));return d},current:function(){return this.state[this.state.computing]}};Md.prototype={compile:function(a){var b=this;Z(a,b.$filter);var d,c;if(d=Kd(a))c=this.recurse(d);d=Id(a.body);var e;d&&(e=[],r(d,function(a,c){var d=b.recurse(a);d.isPure=a.isPure;a.input=d;e.push(d);a.watchId=c}));var f=[];r(a.body, |
|||
function(a){f.push(b.recurse(a.expression))});a=0===a.body.length?E:1===a.body.length?f[0]:function(a,b){var c;r(f,function(d){c=d(a,b)});return c};c&&(a.assign=function(a,b,d){return c(a,d,b)});e&&(a.inputs=e);return a},recurse:function(a,b,d){var c,e,f=this,g;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case q.Literal:return this.value(a.value,b);case q.UnaryExpression:return e=this.recurse(a.argument),this["unary"+a.operator](e,b);case q.BinaryExpression:return c=this.recurse(a.left), |
|||
e=this.recurse(a.right),this["binary"+a.operator](c,e,b);case q.LogicalExpression:return c=this.recurse(a.left),e=this.recurse(a.right),this["binary"+a.operator](c,e,b);case q.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case q.Identifier:return f.identifier(a.name,b,d);case q.MemberExpression:return c=this.recurse(a.object,!1,!!d),a.computed||(e=a.property.name),a.computed&&(e=this.recurse(a.property)),a.computed?this.computedMember(c, |
|||
e,b,d):this.nonComputedMember(c,e,b,d);case q.CallExpression:return g=[],r(a.arguments,function(a){g.push(f.recurse(a))}),a.filter&&(e=this.$filter(a.callee.name)),a.filter||(e=this.recurse(a.callee,!0)),a.filter?function(a,c,d,f){for(var p=[],n=0;n<g.length;++n)p.push(g[n](a,c,d,f));a=e.apply(void 0,p,f);return b?{context:void 0,name:void 0,value:a}:a}:function(a,c,d,f){var p=e(a,c,d,f),n;if(null!=p.value){n=[];for(var s=0;s<g.length;++s)n.push(g[s](a,c,d,f));n=p.value.apply(p.context,n)}return b? |
|||
{value:n}:n};case q.AssignmentExpression:return c=this.recurse(a.left,!0,1),e=this.recurse(a.right),function(a,d,f,g){var p=c(a,d,f,g);a=e(a,d,f,g);p.context[p.name]=a;return b?{value:a}:a};case q.ArrayExpression:return g=[],r(a.elements,function(a){g.push(f.recurse(a))}),function(a,c,d,e){for(var f=[],n=0;n<g.length;++n)f.push(g[n](a,c,d,e));return b?{value:f}:f};case q.ObjectExpression:return g=[],r(a.properties,function(a){a.computed?g.push({key:f.recurse(a.key),computed:!0,value:f.recurse(a.value)}): |
|||
g.push({key:a.key.type===q.Identifier?a.key.name:""+a.key.value,computed:!1,value:f.recurse(a.value)})}),function(a,c,d,e){for(var f={},n=0;n<g.length;++n)g[n].computed?f[g[n].key(a,c,d,e)]=g[n].value(a,c,d,e):f[g[n].key]=g[n].value(a,c,d,e);return b?{value:f}:f};case q.ThisExpression:return function(a){return b?{value:a}:a};case q.LocalsExpression:return function(a,c){return b?{value:c}:c};case q.NGValueParameter:return function(a,c,d){return b?{value:d}:d}}},"unary+":function(a,b){return function(d, |
|||
c,e,f){d=a(d,c,e,f);d=w(d)?+d:0;return b?{value:d}:d}},"unary-":function(a,b){return function(d,c,e,f){d=a(d,c,e,f);d=w(d)?-d:-0;return b?{value:d}:d}},"unary!":function(a,b){return function(d,c,e,f){d=!a(d,c,e,f);return b?{value:d}:d}},"binary+":function(a,b,d){return function(c,e,f,g){var k=a(c,e,f,g);c=b(c,e,f,g);k=Gd(k,c);return d?{value:k}:k}},"binary-":function(a,b,d){return function(c,e,f,g){var k=a(c,e,f,g);c=b(c,e,f,g);k=(w(k)?k:0)-(w(c)?c:0);return d?{value:k}:k}},"binary*":function(a,b, |
|||
d){return function(c,e,f,g){c=a(c,e,f,g)*b(c,e,f,g);return d?{value:c}:c}},"binary/":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)/b(c,e,f,g);return d?{value:c}:c}},"binary%":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)%b(c,e,f,g);return d?{value:c}:c}},"binary===":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)===b(c,e,f,g);return d?{value:c}:c}},"binary!==":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)!==b(c,e,f,g);return d?{value:c}:c}},"binary==":function(a,b,d){return function(c, |
|||
e,f,g){c=a(c,e,f,g)==b(c,e,f,g);return d?{value:c}:c}},"binary!=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)!=b(c,e,f,g);return d?{value:c}:c}},"binary<":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)<b(c,e,f,g);return d?{value:c}:c}},"binary>":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)>b(c,e,f,g);return d?{value:c}:c}},"binary<=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)<=b(c,e,f,g);return d?{value:c}:c}},"binary>=":function(a,b,d){return function(c,e,f,g){c= |
|||
a(c,e,f,g)>=b(c,e,f,g);return d?{value:c}:c}},"binary&&":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)&&b(c,e,f,g);return d?{value:c}:c}},"binary||":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)||b(c,e,f,g);return d?{value:c}:c}},"ternary?:":function(a,b,d,c){return function(e,f,g,k){e=a(e,f,g,k)?b(e,f,g,k):d(e,f,g,k);return c?{value:e}:e}},value:function(a,b){return function(){return b?{context:void 0,name:void 0,value:a}:a}},identifier:function(a,b,d){return function(c,e,f,g){c= |
|||
e&&a in e?e:c;d&&1!==d&&c&&null==c[a]&&(c[a]={});e=c?c[a]:void 0;return b?{context:c,name:a,value:e}:e}},computedMember:function(a,b,d,c){return function(e,f,g,k){var h=a(e,f,g,k),l,m;null!=h&&(l=b(e,f,g,k),l+="",c&&1!==c&&h&&!h[l]&&(h[l]={}),m=h[l]);return d?{context:h,name:l,value:m}:m}},nonComputedMember:function(a,b,d,c){return function(e,f,g,k){e=a(e,f,g,k);c&&1!==c&&e&&null==e[b]&&(e[b]={});f=null!=e?e[b]:void 0;return d?{context:e,name:b,value:f}:f}},inputs:function(a,b){return function(d, |
|||
c,e,f){return f?f[b]:a(d,c,e)}}};Nb.prototype={constructor:Nb,parse:function(a){a=this.getAst(a);var b=this.astCompiler.compile(a.ast),d=a.ast;b.literal=0===d.body.length||1===d.body.length&&(d.body[0].expression.type===q.Literal||d.body[0].expression.type===q.ArrayExpression||d.body[0].expression.type===q.ObjectExpression);b.constant=a.ast.constant;b.oneTime=a.oneTime;return b},getAst:function(a){var b=!1;a=a.trim();":"===a.charAt(0)&&":"===a.charAt(1)&&(b=!0,a=a.substring(2));return{ast:this.ast.ast(a), |
|||
oneTime:b}}};var Ea=F("$sce"),W={HTML:"html",CSS:"css",MEDIA_URL:"mediaUrl",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Dc=/_([a-z])/g,Zg=F("$templateRequest"),$g=F("$timeout"),aa=z.document.createElement("a"),Qd=ga(z.location.href),Na;aa.href="http://[::1]";var ah="[::1]"===aa.hostname;Rd.$inject=["$document"];fd.$inject=["$provide"];var Yd=22,Xd=".",Fc="0";Sd.$inject=["$locale"];Ud.$inject=["$locale"];var lh={yyyy:ea("FullYear",4,0,!1,!0),yy:ea("FullYear",2,0,!0,!0),y:ea("FullYear",1,0,!1,!0), |
|||
MMMM:lb("Month"),MMM:lb("Month",!0),MM:ea("Month",2,1),M:ea("Month",1,1),LLLL:lb("Month",!1,!0),dd:ea("Date",2),d:ea("Date",1),HH:ea("Hours",2),H:ea("Hours",1),hh:ea("Hours",2,-12),h:ea("Hours",1,-12),mm:ea("Minutes",2),m:ea("Minutes",1),ss:ea("Seconds",2),s:ea("Seconds",1),sss:ea("Milliseconds",3),EEEE:lb("Day"),EEE:lb("Day",!0),a:function(a,b){return 12>a.getHours()?b.AMPMS[0]:b.AMPMS[1]},Z:function(a,b,d){a=-1*d;return a=(0<=a?"+":"")+(Pb(Math[0<a?"floor":"ceil"](a/60),2)+Pb(Math.abs(a%60),2))}, |
|||
ww:$d(2),w:$d(1),G:Gc,GG:Gc,GGG:Gc,GGGG:function(a,b){return 0>=a.getFullYear()?b.ERANAMES[0]:b.ERANAMES[1]}},kh=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/,jh=/^-?\d+$/;Td.$inject=["$locale"];var eh=ia(K),fh=ia(vb);Vd.$inject=["$parse"];var Re=ia({restrict:"E",compile:function(a,b){if(!b.href&&!b.xlinkHref)return function(a,b){if("a"===b[0].nodeName.toLowerCase()){var e="[object SVGAnimatedString]"===la.call(b.prop("href"))?"xlink:href":"href"; |
|||
b.on("click",function(a){b.attr(e)||a.preventDefault()})}}}}),wb={};r(Hb,function(a,b){function d(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}if("multiple"!==a){var c=xa("ng-"+b),e=d;"checked"===a&&(e=function(a,b,e){e.ngModel!==e[c]&&d(a,b,e)});wb[c]=function(){return{restrict:"A",priority:100,link:e}}}});r(vd,function(a,b){wb[b]=function(){return{priority:100,link:function(a,c,e){if("ngPattern"===b&&"/"===e.ngPattern.charAt(0)&&(c=e.ngPattern.match(ke))){e.$set("ngPattern",new RegExp(c[1], |
|||
c[2]));return}a.$watch(e[b],function(a){e.$set(b,a)})}}}});r(["src","srcset","href"],function(a){var b=xa("ng-"+a);wb[b]=["$sce",function(d){return{priority:99,link:function(c,e,f){var g=a,k=a;"href"===a&&"[object SVGAnimatedString]"===la.call(e.prop("href"))&&(k="xlinkHref",f.$attr[k]="xlink:href",g=null);f.$set(b,d.getTrustedMediaUrl(f[b]));f.$observe(b,function(b){b?(f.$set(k,b),wa&&g&&e.prop(g,f[k])):"href"===a&&f.$set(k,null)})}}}]});var mb={$addControl:E,$getControls:ia([]),$$renameControl:function(a, |
|||
b){a.$name=b},$removeControl:E,$setValidity:E,$setDirty:E,$setPristine:E,$setSubmitted:E,$$setSubmitted:E};Qb.$inject=["$element","$attrs","$scope","$animate","$interpolate"];Qb.prototype={$rollbackViewValue:function(){r(this.$$controls,function(a){a.$rollbackViewValue()})},$commitViewValue:function(){r(this.$$controls,function(a){a.$commitViewValue()})},$addControl:function(a){Ja(a.$name,"input");this.$$controls.push(a);a.$name&&(this[a.$name]=a);a.$$parentForm=this},$getControls:function(){return ja(this.$$controls)}, |
|||
$$renameControl:function(a,b){var d=a.$name;this[d]===a&&delete this[d];this[b]=a;a.$name=b},$removeControl:function(a){a.$name&&this[a.$name]===a&&delete this[a.$name];r(this.$pending,function(b,d){this.$setValidity(d,null,a)},this);r(this.$error,function(b,d){this.$setValidity(d,null,a)},this);r(this.$$success,function(b,d){this.$setValidity(d,null,a)},this);cb(this.$$controls,a);a.$$parentForm=mb},$setDirty:function(){this.$$animate.removeClass(this.$$element,Za);this.$$animate.addClass(this.$$element, |
|||
Wb);this.$dirty=!0;this.$pristine=!1;this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,Za,Wb+" ng-submitted");this.$dirty=!1;this.$pristine=!0;this.$submitted=!1;r(this.$$controls,function(a){a.$setPristine()})},$setUntouched:function(){r(this.$$controls,function(a){a.$setUntouched()})},$setSubmitted:function(){for(var a=this;a.$$parentForm&&a.$$parentForm!==mb;)a=a.$$parentForm;a.$$setSubmitted()},$$setSubmitted:function(){this.$$animate.addClass(this.$$element, |
|||
"ng-submitted");this.$submitted=!0;r(this.$$controls,function(a){a.$$setSubmitted&&a.$$setSubmitted()})}};ce({clazz:Qb,set:function(a,b,d){var c=a[b];c?-1===c.indexOf(d)&&c.push(d):a[b]=[d]},unset:function(a,b,d){var c=a[b];c&&(cb(c,d),0===c.length&&delete a[b])}});var oe=function(a){return["$timeout","$parse",function(b,d){function c(a){return""===a?d('this[""]').assign:d(a).assign||E}return{name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:Qb,compile:function(d,f){d.addClass(Za).addClass(nb); |
|||
var g=f.name?"name":a&&f.ngForm?"ngForm":!1;return{pre:function(a,d,e,f){var p=f[0];if(!("action"in e)){var n=function(b){a.$apply(function(){p.$commitViewValue();p.$setSubmitted()});b.preventDefault()};d[0].addEventListener("submit",n);d.on("$destroy",function(){b(function(){d[0].removeEventListener("submit",n)},0,!1)})}(f[1]||p.$$parentForm).$addControl(p);var s=g?c(p.$name):E;g&&(s(a,p),e.$observe(g,function(b){p.$name!==b&&(s(a,void 0),p.$$parentForm.$$renameControl(p,b),s=c(p.$name),s(a,p))})); |
|||
d.on("$destroy",function(){p.$$parentForm.$removeControl(p);s(a,void 0);S(p,mb)})}}}}}]},Se=oe(),df=oe(!0),mh=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,xh=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,yh=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/, |
|||
nh=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,pe=/^(\d{4,})-(\d{2})-(\d{2})$/,qe=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Oc=/^(\d{4,})-W(\d\d)$/,re=/^(\d{4,})-(\d\d)$/,se=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,ee=T();r(["date","datetime-local","month","time","week"],function(a){ee[a]=!0});var te={text:function(a,b,d,c,e,f){Sa(a,b,d,c,e,f);Ic(c)},date:ob("date",pe,Rb(pe,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":ob("datetimelocal",qe,Rb(qe,"yyyy MM dd HH mm ss sss".split(" ")), |
|||
"yyyy-MM-ddTHH:mm:ss.sss"),time:ob("time",se,Rb(se,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:ob("week",Oc,function(a,b){if(ha(a))return a;if(C(a)){Oc.lastIndex=0;var d=Oc.exec(a);if(d){var c=+d[1],e=+d[2],f=d=0,g=0,k=0,h=Zd(c),e=7*(e-1);b&&(d=b.getHours(),f=b.getMinutes(),g=b.getSeconds(),k=b.getMilliseconds());return new Date(c,0,h.getDate()+e,d,f,g,k)}}return NaN},"yyyy-Www"),month:ob("month",re,Rb(re,["yyyy","MM"]),"yyyy-MM"),number:function(a,b,d,c,e,f,g,k){Jc(a,b,d,c,"number");fe(c);Sa(a, |
|||
b,d,c,e,f);var h;if(w(d.min)||d.ngMin){var l=d.min||k(d.ngMin)(a);h=na(l);c.$validators.min=function(a,b){return c.$isEmpty(b)||A(h)||b>=h};d.$observe("min",function(a){a!==l&&(h=na(a),l=a,c.$validate())})}if(w(d.max)||d.ngMax){var m=d.max||k(d.ngMax)(a),p=na(m);c.$validators.max=function(a,b){return c.$isEmpty(b)||A(p)||b<=p};d.$observe("max",function(a){a!==m&&(p=na(a),m=a,c.$validate())})}if(w(d.step)||d.ngStep){var n=d.step||k(d.ngStep)(a),s=na(n);c.$validators.step=function(a,b){return c.$isEmpty(b)|| |
|||
A(s)||ge(b,h||0,s)};d.$observe("step",function(a){a!==n&&(s=na(a),n=a,c.$validate())})}},url:function(a,b,d,c,e,f){Sa(a,b,d,c,e,f);Ic(c);c.$validators.url=function(a,b){var d=a||b;return c.$isEmpty(d)||xh.test(d)}},email:function(a,b,d,c,e,f){Sa(a,b,d,c,e,f);Ic(c);c.$validators.email=function(a,b){var d=a||b;return c.$isEmpty(d)||yh.test(d)}},radio:function(a,b,d,c){var e=!d.ngTrim||"false"!==V(d.ngTrim);A(d.name)&&b.attr("name",++qb);b.on("change",function(a){var g;b[0].checked&&(g=d.value,e&&(g= |
|||
V(g)),c.$setViewValue(g,a&&a.type))});c.$render=function(){var a=d.value;e&&(a=V(a));b[0].checked=a===c.$viewValue};d.$observe("value",c.$render)},range:function(a,b,d,c,e,f){function g(a,c){b.attr(a,d[a]);var e=d[a];d.$observe(a,function(a){a!==e&&(e=a,c(a))})}function k(a){p=na(a);Y(c.$modelValue)||(m?(a=b.val(),p>a&&(a=p,b.val(a)),c.$setViewValue(a)):c.$validate())}function h(a){n=na(a);Y(c.$modelValue)||(m?(a=b.val(),n<a&&(b.val(n),a=n<p?p:n),c.$setViewValue(a)):c.$validate())}function l(a){s= |
|||
na(a);Y(c.$modelValue)||(m?c.$viewValue!==b.val()&&c.$setViewValue(b.val()):c.$validate())}Jc(a,b,d,c,"range");fe(c);Sa(a,b,d,c,e,f);var m=c.$$hasNativeValidators&&"range"===b[0].type,p=m?0:void 0,n=m?100:void 0,s=m?1:void 0,r=b[0].validity;a=w(d.min);e=w(d.max);f=w(d.step);var q=c.$render;c.$render=m&&w(r.rangeUnderflow)&&w(r.rangeOverflow)?function(){q();c.$setViewValue(b.val())}:q;a&&(p=na(d.min),c.$validators.min=m?function(){return!0}:function(a,b){return c.$isEmpty(b)||A(p)||b>=p},g("min",k)); |
|||
e&&(n=na(d.max),c.$validators.max=m?function(){return!0}:function(a,b){return c.$isEmpty(b)||A(n)||b<=n},g("max",h));f&&(s=na(d.step),c.$validators.step=m?function(){return!r.stepMismatch}:function(a,b){return c.$isEmpty(b)||A(s)||ge(b,p||0,s)},g("step",l))},checkbox:function(a,b,d,c,e,f,g,k){var h=he(k,a,"ngTrueValue",d.ngTrueValue,!0),l=he(k,a,"ngFalseValue",d.ngFalseValue,!1);b.on("change",function(a){c.$setViewValue(b[0].checked,a&&a.type)});c.$render=function(){b[0].checked=c.$viewValue};c.$isEmpty= |
|||
function(a){return!1===a};c.$formatters.push(function(a){return va(a,h)});c.$parsers.push(function(a){return a?h:l})},hidden:E,button:E,submit:E,reset:E,file:E},$c=["$browser","$sniffer","$filter","$parse",function(a,b,d,c){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,f,g,k){k[0]&&(te[K(g.type)]||te.text)(e,f,g,k[0],b,a,d,c)}}}}],Af=function(){var a={configurable:!0,enumerable:!1,get:function(){return this.getAttribute("value")||""},set:function(a){this.setAttribute("value",a)}}; |
|||
return{restrict:"E",priority:200,compile:function(b,d){if("hidden"===K(d.type))return{pre:function(b,d,f,g){b=d[0];b.parentNode&&b.parentNode.insertBefore(b,b.nextSibling);Object.defineProperty&&Object.defineProperty(b,"value",a)}}}}},zh=/^(true|false|\d+)$/,xf=function(){function a(a,d,c){var e=w(c)?c:9===wa?"":null;a.prop("value",e);d.$set("value",c)}return{restrict:"A",priority:100,compile:function(b,d){return zh.test(d.ngValue)?function(b,d,f){b=b.$eval(f.ngValue);a(d,f,b)}:function(b,d,f){b.$watch(f.ngValue, |
|||
function(b){a(d,f,b)})}}}},We=["$compile",function(a){return{restrict:"AC",compile:function(b){a.$$addBindingClass(b);return function(b,c,e){a.$$addBindingInfo(c,e.ngBind);c=c[0];b.$watch(e.ngBind,function(a){c.textContent=jc(a)})}}}}],Ye=["$interpolate","$compile",function(a,b){return{compile:function(d){b.$$addBindingClass(d);return function(c,d,f){c=a(d.attr(f.$attr.ngBindTemplate));b.$$addBindingInfo(d,c.expressions);d=d[0];f.$observe("ngBindTemplate",function(a){d.textContent=A(a)?"":a})}}}}], |
|||
Xe=["$sce","$parse","$compile",function(a,b,d){return{restrict:"A",compile:function(c,e){var f=b(e.ngBindHtml),g=b(e.ngBindHtml,function(b){return a.valueOf(b)});d.$$addBindingClass(c);return function(b,c,e){d.$$addBindingInfo(c,e.ngBindHtml);b.$watch(g,function(){var d=f(b);c.html(a.getTrustedHtml(d)||"")})}}}}],wf=ia({restrict:"A",require:"ngModel",link:function(a,b,d,c){c.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Ze=Lc("",!0),af=Lc("Odd",0),$e=Lc("Even",1),bf=Ra({compile:function(a, |
|||
b){b.$set("ngCloak",void 0);a.removeClass("ng-cloak")}}),cf=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],ed={},Ah={blur:!0,focus:!0};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=xa("ng-"+a);ed[b]=["$parse","$rootScope","$exceptionHandler",function(d,c,e){return sd(d,c,e,b,a,Ah[a])}]});var ff=["$animate","$compile",function(a,b){return{multiElement:!0, |
|||
transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(d,c,e,f,g){var k,h,l;d.$watch(e.ngIf,function(d){d?h||g(function(d,f){h=f;d[d.length++]=b.$$createComment("end ngIf",e.ngIf);k={clone:d};a.enter(d,c.parent(),c)}):(l&&(l.remove(),l=null),h&&(h.$destroy(),h=null),k&&(l=ub(k.clone),a.leave(l).done(function(a){!1!==a&&(l=null)}),k=null))})}}}],gf=["$templateRequest","$anchorScroll","$animate",function(a,b,d){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element", |
|||
controller:ca.noop,compile:function(c,e){var f=e.ngInclude||e.src,g=e.onload||"",k=e.autoscroll;return function(c,e,m,p,n){var r=0,q,t,x,v=function(){t&&(t.remove(),t=null);q&&(q.$destroy(),q=null);x&&(d.leave(x).done(function(a){!1!==a&&(t=null)}),t=x,x=null)};c.$watch(f,function(f){var m=function(a){!1===a||!w(k)||k&&!c.$eval(k)||b()},t=++r;f?(a(f,!0).then(function(a){if(!c.$$destroyed&&t===r){var b=c.$new();p.template=a;a=n(b,function(a){v();d.enter(a,null,e).done(m)});q=b;x=a;q.$emit("$includeContentLoaded", |
|||
f);c.$eval(g)}},function(){c.$$destroyed||t!==r||(v(),c.$emit("$includeContentError",f))}),c.$emit("$includeContentRequested",f)):(v(),p.template=null)})}}}}],zf=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(b,d,c,e){la.call(d[0]).match(/SVG/)?(d.empty(),a(gd(e.template,z.document).childNodes)(b,function(a){d.append(a)},{futureParentElement:d})):(d.html(e.template),a(d.contents())(b))}}}],hf=Ra({priority:450,compile:function(){return{pre:function(a, |
|||
b,d){a.$eval(d.ngInit)}}}}),vf=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,d,c){var e=d.ngList||", ",f="false"!==d.ngTrim,g=f?V(e):e;c.$parsers.push(function(a){if(!A(a)){var b=[];a&&r(a.split(g),function(a){a&&b.push(f?V(a):a)});return b}});c.$formatters.push(function(a){if(H(a))return a.join(e)});c.$isEmpty=function(a){return!a||!a.length}}}},nb="ng-valid",be="ng-invalid",Za="ng-pristine",Wb="ng-dirty",pb=F("ngModel");Sb.$inject="$scope $exceptionHandler $attrs $element $parse $animate $timeout $q $interpolate".split(" "); |
|||
Sb.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var a=this.$$parse(this.$$attr.ngModel+"()"),b=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function(b){var c=this.$$parsedNgModel(b);B(c)&&(c=a(b));return c};this.$$ngModelSet=function(a,c){B(this.$$parsedNgModel(a))?b(a,{$$$p:c}):this.$$parsedNgModelAssign(a,c)}}else if(!this.$$parsedNgModel.assign)throw pb("nonassign",this.$$attr.ngModel,Aa(this.$$element));},$render:E,$isEmpty:function(a){return A(a)|| |
|||
""===a||null===a||a!==a},$$updateEmptyClasses:function(a){this.$isEmpty(a)?(this.$$animate.removeClass(this.$$element,"ng-not-empty"),this.$$animate.addClass(this.$$element,"ng-empty")):(this.$$animate.removeClass(this.$$element,"ng-empty"),this.$$animate.addClass(this.$$element,"ng-not-empty"))},$setPristine:function(){this.$dirty=!1;this.$pristine=!0;this.$$animate.removeClass(this.$$element,Wb);this.$$animate.addClass(this.$$element,Za)},$setDirty:function(){this.$dirty=!0;this.$pristine=!1;this.$$animate.removeClass(this.$$element, |
|||
Za);this.$$animate.addClass(this.$$element,Wb);this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1;this.$untouched=!0;this.$$animate.setClass(this.$$element,"ng-untouched","ng-touched")},$setTouched:function(){this.$touched=!0;this.$untouched=!1;this.$$animate.setClass(this.$$element,"ng-touched","ng-untouched")},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce);this.$viewValue=this.$$lastCommittedViewValue;this.$render()},$validate:function(){if(!Y(this.$modelValue)){var a= |
|||
this.$$lastCommittedViewValue,b=this.$$rawModelValue,d=this.$valid,c=this.$modelValue,e=this.$options.getOption("allowInvalid"),f=this;this.$$runValidators(b,a,function(a){e||d===a||(f.$modelValue=a?b:void 0,f.$modelValue!==c&&f.$$writeModelToScope())})}},$$runValidators:function(a,b,d){function c(){var c=!0;r(h.$validators,function(d,e){var g=Boolean(d(a,b));c=c&&g;f(e,g)});return c?!0:(r(h.$asyncValidators,function(a,b){f(b,null)}),!1)}function e(){var c=[],d=!0;r(h.$asyncValidators,function(e, |
|||
g){var h=e(a,b);if(!h||!B(h.then))throw pb("nopromise",h);f(g,void 0);c.push(h.then(function(){f(g,!0)},function(){d=!1;f(g,!1)}))});c.length?h.$$q.all(c).then(function(){g(d)},E):g(!0)}function f(a,b){k===h.$$currentValidationRunId&&h.$setValidity(a,b)}function g(a){k===h.$$currentValidationRunId&&d(a)}this.$$currentValidationRunId++;var k=this.$$currentValidationRunId,h=this;(function(){var a=h.$$parserName;if(A(h.$$parserValid))f(a,null);else return h.$$parserValid||(r(h.$validators,function(a, |
|||
b){f(b,null)}),r(h.$asyncValidators,function(a,b){f(b,null)})),f(a,h.$$parserValid),h.$$parserValid;return!0})()?c()?e():g(!1):g(!1)},$commitViewValue:function(){var a=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce);if(this.$$lastCommittedViewValue!==a||""===a&&this.$$hasNativeValidators)this.$$updateEmptyClasses(a),this.$$lastCommittedViewValue=a,this.$pristine&&this.$setDirty(),this.$$parseAndValidate()},$$parseAndValidate:function(){var a=this.$$lastCommittedViewValue,b=this;this.$$parserValid= |
|||
A(a)?void 0:!0;this.$setValidity(this.$$parserName,null);this.$$parserName="parse";if(this.$$parserValid)for(var d=0;d<this.$parsers.length;d++)if(a=this.$parsers[d](a),A(a)){this.$$parserValid=!1;break}Y(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));var c=this.$modelValue,e=this.$options.getOption("allowInvalid");this.$$rawModelValue=a;e&&(this.$modelValue=a,b.$modelValue!==c&&b.$$writeModelToScope());this.$$runValidators(a,this.$$lastCommittedViewValue,function(d){e||(b.$modelValue= |
|||
d?a:void 0,b.$modelValue!==c&&b.$$writeModelToScope())})},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,this.$modelValue);r(this.$viewChangeListeners,function(a){try{a()}catch(b){this.$$exceptionHandler(b)}},this)},$setViewValue:function(a,b){this.$viewValue=a;this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(b)},$$debounceViewValueCommit:function(a){var b=this.$options.getOption("debounce");X(b[a])?b=b[a]:X(b["default"])&&-1===this.$options.getOption("updateOn").indexOf(a)? |
|||
b=b["default"]:X(b["*"])&&(b=b["*"]);this.$$timeout.cancel(this.$$pendingDebounce);var d=this;0<b?this.$$pendingDebounce=this.$$timeout(function(){d.$commitViewValue()},b):this.$$rootScope.$$phase?this.$commitViewValue():this.$$scope.$apply(function(){d.$commitViewValue()})},$overrideModelOptions:function(a){this.$options=this.$options.createChild(a);this.$$setUpdateOnEvents()},$processModelValue:function(){var a=this.$$format();this.$viewValue!==a&&(this.$$updateEmptyClasses(a),this.$viewValue=this.$$lastCommittedViewValue= |
|||
a,this.$render(),this.$$runValidators(this.$modelValue,this.$viewValue,E))},$$format:function(){for(var a=this.$formatters,b=a.length,d=this.$modelValue;b--;)d=a[b](d);return d},$$setModelValue:function(a){this.$modelValue=this.$$rawModelValue=a;this.$$parserValid=void 0;this.$processModelValue()},$$setUpdateOnEvents:function(){this.$$updateEvents&&this.$$element.off(this.$$updateEvents,this.$$updateEventHandler);if(this.$$updateEvents=this.$options.getOption("updateOn"))this.$$element.on(this.$$updateEvents, |
|||
this.$$updateEventHandler)},$$updateEventHandler:function(a){this.$$debounceViewValueCommit(a&&a.type)}};ce({clazz:Sb,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]}});var uf=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:Sb,priority:1,compile:function(b){b.addClass(Za).addClass("ng-untouched").addClass(nb);return{pre:function(a,b,e,f){var g=f[0];b=f[1]||g.$$parentForm;if(f=f[2])g.$options=f.$options;g.$$initGetterSetters();b.$addControl(g); |
|||
e.$observe("name",function(a){g.$name!==a&&g.$$parentForm.$$renameControl(g,a)});a.$on("$destroy",function(){g.$$parentForm.$removeControl(g)})},post:function(b,c,e,f){function g(){k.$setTouched()}var k=f[0];k.$$setUpdateOnEvents();c.on("blur",function(){k.$touched||(a.$$phase?b.$evalAsync(g):b.$apply(g))})}}}}}],Tb,Bh=/(\s+|^)default(\s+|$)/;Mc.prototype={getOption:function(a){return this.$$options[a]},createChild:function(a){var b=!1;a=S({},a);r(a,function(d,c){"$inherit"===d?"*"===c?b=!0:(a[c]= |
|||
this.$$options[c],"updateOn"===c&&(a.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===c&&(a.updateOnDefault=!1,a[c]=V(d.replace(Bh,function(){a.updateOnDefault=!0;return" "})))},this);b&&(delete a["*"],ie(a,this.$$options));ie(a,Tb.$$options);return new Mc(a)}};Tb=new Mc({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});var yf=function(){function a(a,d){this.$$attrs=a;this.$$scope=d}a.$inject=["$attrs","$scope"];a.prototype={$onInit:function(){var a= |
|||
this.parentCtrl?this.parentCtrl.$options:Tb,d=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=a.createChild(d)}};return{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:a}},jf=Ra({terminal:!0,priority:1E3}),Ch=F("ngOptions"),Dh=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/, |
|||
sf=["$compile","$document","$parse",function(a,b,d){function c(a,b,c){function e(a,b,c,d,f){this.selectValue=a;this.viewValue=b;this.label=c;this.group=d;this.disabled=f}function f(a){var b;if(!r&&za(a))b=a;else{b=[];for(var c in a)a.hasOwnProperty(c)&&"$"!==c.charAt(0)&&b.push(c)}return b}var p=a.match(Dh);if(!p)throw Ch("iexp",a,Aa(b));var n=p[5]||p[7],r=p[6];a=/ as /.test(p[0])&&p[1];var q=p[9];b=d(p[2]?p[1]:n);var t=a&&d(a)||b,w=q&&d(q),v=q?function(a,b){return w(c,b)}:function(a){return La(a)}, |
|||
x=function(a,b){return v(a,B(a,b))},A=d(p[2]||p[1]),y=d(p[3]||""),J=d(p[4]||""),I=d(p[8]),z={},B=r?function(a,b){z[r]=b;z[n]=a;return z}:function(a){z[n]=a;return z};return{trackBy:q,getTrackByValue:x,getWatchables:d(I,function(a){var b=[];a=a||[];for(var d=f(a),e=d.length,g=0;g<e;g++){var k=a===d?g:d[g],l=a[k],k=B(l,k),l=v(l,k);b.push(l);if(p[2]||p[1])l=A(c,k),b.push(l);p[4]&&(k=J(c,k),b.push(k))}return b}),getOptions:function(){for(var a=[],b={},d=I(c)||[],g=f(d),k=g.length,n=0;n<k;n++){var p=d=== |
|||
g?n:g[n],r=B(d[p],p),s=t(c,r),p=v(s,r),w=A(c,r),z=y(c,r),r=J(c,r),s=new e(p,s,w,z,r);a.push(s);b[p]=s}return{items:a,selectValueMap:b,getOptionFromViewValue:function(a){return b[x(a)]},getViewValueFromOption:function(a){return q?Ia(a.viewValue):a.viewValue}}}}}var e=z.document.createElement("option"),f=z.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(a,b,c,d){d[0].registerOption=E},post:function(d,k,h,l){function m(a){var b=(a=v.getOptionFromViewValue(a))&& |
|||
a.element;b&&!b.selected&&(b.selected=!0);return a}function p(a,b){a.element=b;b.disabled=a.disabled;a.label!==b.label&&(b.label=a.label,b.textContent=a.label);b.value=a.selectValue}var n=l[0],q=l[1],A=h.multiple;l=0;for(var t=k.children(),z=t.length;l<z;l++)if(""===t[l].value){n.hasEmptyOption=!0;n.emptyOption=t.eq(l);break}k.empty();l=!!n.emptyOption;x(e.cloneNode(!1)).val("?");var v,B=c(h.ngOptions,k,d),C=b[0].createDocumentFragment();n.generateUnknownOptionValue=function(a){return"?"};A?(n.writeValue= |
|||
function(a){if(v){var b=a&&a.map(m)||[];v.items.forEach(function(a){a.element.selected&&-1===Array.prototype.indexOf.call(b,a)&&(a.element.selected=!1)})}},n.readValue=function(){var a=k.val()||[],b=[];r(a,function(a){(a=v.selectValueMap[a])&&!a.disabled&&b.push(v.getViewValueFromOption(a))});return b},B.trackBy&&d.$watchCollection(function(){if(H(q.$viewValue))return q.$viewValue.map(function(a){return B.getTrackByValue(a)})},function(){q.$render()})):(n.writeValue=function(a){if(v){var b=k[0].options[k[0].selectedIndex], |
|||
c=v.getOptionFromViewValue(a);b&&b.removeAttribute("selected");c?(k[0].value!==c.selectValue&&(n.removeUnknownOption(),k[0].value=c.selectValue,c.element.selected=!0),c.element.setAttribute("selected","selected")):n.selectUnknownOrEmptyOption(a)}},n.readValue=function(){var a=v.selectValueMap[k.val()];return a&&!a.disabled?(n.unselectEmptyOption(),n.removeUnknownOption(),v.getViewValueFromOption(a)):null},B.trackBy&&d.$watch(function(){return B.getTrackByValue(q.$viewValue)},function(){q.$render()})); |
|||
l&&(a(n.emptyOption)(d),k.prepend(n.emptyOption),8===n.emptyOption[0].nodeType?(n.hasEmptyOption=!1,n.registerOption=function(a,b){""===b.val()&&(n.hasEmptyOption=!0,n.emptyOption=b,n.emptyOption.removeClass("ng-scope"),q.$render(),b.on("$destroy",function(){var a=n.$isEmptyOptionSelected();n.hasEmptyOption=!1;n.emptyOption=void 0;a&&q.$render()}))}):n.emptyOption.removeClass("ng-scope"));d.$watchCollection(B.getWatchables,function(){var a=v&&n.readValue();if(v)for(var b=v.items.length-1;0<=b;b--){var c= |
|||
v.items[b];w(c.group)?Gb(c.element.parentNode):Gb(c.element)}v=B.getOptions();var d={};v.items.forEach(function(a){var b;if(w(a.group)){b=d[a.group];b||(b=f.cloneNode(!1),C.appendChild(b),b.label=null===a.group?"null":a.group,d[a.group]=b);var c=e.cloneNode(!1);b.appendChild(c);p(a,c)}else b=e.cloneNode(!1),C.appendChild(b),p(a,b)});k[0].appendChild(C);q.$render();q.$isEmpty(a)||(b=n.readValue(),(B.trackBy||A?va(a,b):a===b)||(q.$setViewValue(b),q.$render()))})}}}}],kf=["$locale","$interpolate","$log", |
|||
function(a,b,d){var c=/{}/g,e=/^when(Minus)?(.+)$/;return{link:function(f,g,k){function h(a){g.text(a||"")}var l=k.count,m=k.$attr.when&&g.attr(k.$attr.when),p=k.offset||0,n=f.$eval(m)||{},q={},w=b.startSymbol(),t=b.endSymbol(),x=w+l+"-"+p+t,v=ca.noop,z;r(k,function(a,b){var c=e.exec(b);c&&(c=(c[1]?"-":"")+K(c[2]),n[c]=g.attr(k.$attr[b]))});r(n,function(a,d){q[d]=b(a.replace(c,x))});f.$watch(l,function(b){var c=parseFloat(b),e=Y(c);e||c in n||(c=a.pluralCat(c-p));c===z||e&&Y(z)||(v(),e=q[c],A(e)? |
|||
(null!=b&&d.debug("ngPluralize: no rule defined for '"+c+"' in "+m),v=E,h()):v=f.$watch(e,h),z=c)})}}}],ue=F("ngRef"),lf=["$parse",function(a){return{priority:-1,restrict:"A",compile:function(b,d){var c=xa(ua(b)),e=a(d.ngRef),f=e.assign||function(){throw ue("nonassign",d.ngRef);};return function(a,b,h){var l;if(h.hasOwnProperty("ngRefRead"))if("$element"===h.ngRefRead)l=b;else{if(l=b.data("$"+h.ngRefRead+"Controller"),!l)throw ue("noctrl",h.ngRefRead,d.ngRef);}else l=b.data("$"+c+"Controller");l= |
|||
l||b;f(a,l);b.on("$destroy",function(){e(a)===l&&f(a,null)})}}}}],mf=["$parse","$animate","$compile",function(a,b,d){var c=F("ngRepeat"),e=function(a,b,c,d,e,f,g){a[c]=d;e&&(a[e]=f);a.$index=b;a.$first=0===b;a.$last=b===g-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(b&1))},f=function(a,b,c){return La(c)},g=function(a,b){return b};return{restrict:"A",multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(k,h){var l=h.ngRepeat,m=d.$$createComment("end ngRepeat", |
|||
l),p=l.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!p)throw c("iexp",l);var n=p[1],q=p[2],w=p[3],t=p[4],p=n.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/);if(!p)throw c("iidexp",n);var x=p[3]||p[1],v=p[2];if(w&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(w)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(w)))throw c("badident",w);var A;if(t){var z={$id:La},y=a(t);A=function(a,b,c,d){v&& |
|||
(z[v]=b);z[x]=c;z.$index=d;return y(a,z)}}return function(a,d,h,k,n){var p=T();a.$watchCollection(q,function(h){var k,q,t=d[0],s,y=T(),B,C,E,D,H,F,K;w&&(a[w]=h);if(za(h))H=h,q=A||f;else for(K in q=A||g,H=[],h)ta.call(h,K)&&"$"!==K.charAt(0)&&H.push(K);B=H.length;K=Array(B);for(k=0;k<B;k++)if(C=h===H?k:H[k],E=h[C],D=q(a,C,E,k),p[D])F=p[D],delete p[D],y[D]=F,K[k]=F;else{if(y[D])throw r(K,function(a){a&&a.scope&&(p[a.id]=a)}),c("dupes",l,D,E);K[k]={id:D,scope:void 0,clone:void 0};y[D]=!0}z&&(z[x]=void 0); |
|||
for(s in p){F=p[s];D=ub(F.clone);b.leave(D);if(D[0].parentNode)for(k=0,q=D.length;k<q;k++)D[k].$$NG_REMOVED=!0;F.scope.$destroy()}for(k=0;k<B;k++)if(C=h===H?k:H[k],E=h[C],F=K[k],F.scope){s=t;do s=s.nextSibling;while(s&&s.$$NG_REMOVED);F.clone[0]!==s&&b.move(ub(F.clone),null,t);t=F.clone[F.clone.length-1];e(F.scope,k,x,E,v,C,B)}else n(function(a,c){F.scope=c;var d=m.cloneNode(!1);a[a.length++]=d;b.enter(a,null,t);t=d;F.clone=a;y[F.id]=F;e(F.scope,k,x,E,v,C,B)});p=y})}}}}],nf=["$animate",function(a){return{restrict:"A", |
|||
multiElement:!0,link:function(b,d,c){b.$watch(c.ngShow,function(b){a[b?"removeClass":"addClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],ef=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,d,c){b.$watch(c.ngHide,function(b){a[b?"addClass":"removeClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],of=Ra(function(a,b,d){a.$watchCollection(d.ngStyle,function(a,d){d&&a!==d&&r(d,function(a,c){b.css(c,"")});a&&b.css(a)})}),pf=["$animate","$compile",function(a, |
|||
b){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(d,c,e,f){var g=[],k=[],h=[],l=[],m=function(a,b){return function(c){!1!==c&&a.splice(b,1)}};d.$watch(e.ngSwitch||e.on,function(c){for(var d,e;h.length;)a.cancel(h.pop());d=0;for(e=l.length;d<e;++d){var q=ub(k[d].clone);l[d].$destroy();(h[d]=a.leave(q)).done(m(h,d))}k.length=0;l.length=0;(g=f.cases["!"+c]||f.cases["?"])&&r(g,function(c){c.transclude(function(d,e){l.push(e);var f=c.element;d[d.length++]=b.$$createComment("end ngSwitchWhen"); |
|||
k.push({clone:d});a.enter(d,f.parent(),f)})})})}}}],qf=Ra({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,d,c,e){a=d.ngSwitchWhen.split(d.ngSwitchWhenSeparator).sort().filter(function(a,b,c){return c[b-1]!==a});r(a,function(a){c.cases["!"+a]=c.cases["!"+a]||[];c.cases["!"+a].push({transclude:e,element:b})})}}),rf=Ra({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,d,c,e){c.cases["?"]=c.cases["?"]||[];c.cases["?"].push({transclude:e, |
|||
element:b})}}),Eh=F("ngTransclude"),tf=["$compile",function(a){return{restrict:"EAC",compile:function(b){var d=a(b.contents());b.empty();return function(a,b,f,g,k){function h(){d(a,function(a){b.append(a)})}if(!k)throw Eh("orphan",Aa(b));f.ngTransclude===f.$attr.ngTransclude&&(f.ngTransclude="");f=f.ngTransclude||f.ngTranscludeSlot;k(function(a,c){var d;if(d=a.length)a:{d=0;for(var f=a.length;d<f;d++){var g=a[d];if(g.nodeType!==Pa||g.nodeValue.trim()){d=!0;break a}}d=void 0}d?b.append(a):(h(),c.$destroy())}, |
|||
null,f);f&&!k.isSlotFilled(f)&&h()}}}}],Te=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,d){"text/ng-template"===d.type&&a.put(d.id,b[0].text)}}}],Fh={$setViewValue:E,$render:E},Gh=["$element","$scope",function(a,b){function d(){g||(g=!0,b.$$postDigest(function(){g=!1;e.ngModelCtrl.$render()}))}function c(a){k||(k=!0,b.$$postDigest(function(){b.$$destroyed||(k=!1,e.ngModelCtrl.$setViewValue(e.readValue()),a&&e.ngModelCtrl.$render())}))}var e=this,f=new Ib;e.selectValueMap= |
|||
{};e.ngModelCtrl=Fh;e.multiple=!1;e.unknownOption=x(z.document.createElement("option"));e.hasEmptyOption=!1;e.emptyOption=void 0;e.renderUnknownOption=function(b){b=e.generateUnknownOptionValue(b);e.unknownOption.val(b);a.prepend(e.unknownOption);Oa(e.unknownOption,!0);a.val(b)};e.updateUnknownOption=function(b){b=e.generateUnknownOptionValue(b);e.unknownOption.val(b);Oa(e.unknownOption,!0);a.val(b)};e.generateUnknownOptionValue=function(a){return"? "+La(a)+" ?"};e.removeUnknownOption=function(){e.unknownOption.parent()&& |
|||
e.unknownOption.remove()};e.selectEmptyOption=function(){e.emptyOption&&(a.val(""),Oa(e.emptyOption,!0))};e.unselectEmptyOption=function(){e.hasEmptyOption&&Oa(e.emptyOption,!1)};b.$on("$destroy",function(){e.renderUnknownOption=E});e.readValue=function(){var b=a.val(),b=b in e.selectValueMap?e.selectValueMap[b]:b;return e.hasOption(b)?b:null};e.writeValue=function(b){var c=a[0].options[a[0].selectedIndex];c&&Oa(x(c),!1);e.hasOption(b)?(e.removeUnknownOption(),c=La(b),a.val(c in e.selectValueMap? |
|||
c:b),Oa(x(a[0].options[a[0].selectedIndex]),!0)):e.selectUnknownOrEmptyOption(b)};e.addOption=function(a,b){if(8!==b[0].nodeType){Ja(a,'"option value"');""===a&&(e.hasEmptyOption=!0,e.emptyOption=b);var c=f.get(a)||0;f.set(a,c+1);d()}};e.removeOption=function(a){var b=f.get(a);b&&(1===b?(f.delete(a),""===a&&(e.hasEmptyOption=!1,e.emptyOption=void 0)):f.set(a,b-1))};e.hasOption=function(a){return!!f.get(a)};e.$hasEmptyOption=function(){return e.hasEmptyOption};e.$isUnknownOptionSelected=function(){return a[0].options[0]=== |
|||
e.unknownOption[0]};e.$isEmptyOptionSelected=function(){return e.hasEmptyOption&&a[0].options[a[0].selectedIndex]===e.emptyOption[0]};e.selectUnknownOrEmptyOption=function(a){null==a&&e.emptyOption?(e.removeUnknownOption(),e.selectEmptyOption()):e.unknownOption.parent().length?e.updateUnknownOption(a):e.renderUnknownOption(a)};var g=!1,k=!1;e.registerOption=function(a,b,f,g,k){if(f.$attr.ngValue){var q,r;f.$observe("value",function(a){var d,f=b.prop("selected");w(r)&&(e.removeOption(q),delete e.selectValueMap[r], |
|||
d=!0);r=La(a);q=a;e.selectValueMap[r]=a;e.addOption(a,b);b.attr("value",r);d&&f&&c()})}else g?f.$observe("value",function(a){e.readValue();var d,f=b.prop("selected");w(q)&&(e.removeOption(q),d=!0);q=a;e.addOption(a,b);d&&f&&c()}):k?a.$watch(k,function(a,d){f.$set("value",a);var g=b.prop("selected");d!==a&&e.removeOption(d);e.addOption(a,b);d&&g&&c()}):e.addOption(f.value,b);f.$observe("disabled",function(a){if("true"===a||a&&b.prop("selected"))e.multiple?c(!0):(e.ngModelCtrl.$setViewValue(null),e.ngModelCtrl.$render())}); |
|||
b.on("$destroy",function(){var a=e.readValue(),b=f.value;e.removeOption(b);d();(e.multiple&&a&&-1!==a.indexOf(b)||a===b)&&c(!0)})}}],Ue=function(){return{restrict:"E",require:["select","?ngModel"],controller:Gh,priority:1,link:{pre:function(a,b,d,c){var e=c[0],f=c[1];if(f){if(e.ngModelCtrl=f,b.on("change",function(){e.removeUnknownOption();a.$apply(function(){f.$setViewValue(e.readValue())})}),d.multiple){e.multiple=!0;e.readValue=function(){var a=[];r(b.find("option"),function(b){b.selected&&!b.disabled&& |
|||
(b=b.value,a.push(b in e.selectValueMap?e.selectValueMap[b]:b))});return a};e.writeValue=function(a){r(b.find("option"),function(b){var c=!!a&&(-1!==Array.prototype.indexOf.call(a,b.value)||-1!==Array.prototype.indexOf.call(a,e.selectValueMap[b.value]));c!==b.selected&&Oa(x(b),c)})};var g,k=NaN;a.$watch(function(){k!==f.$viewValue||va(g,f.$viewValue)||(g=ja(f.$viewValue),f.$render());k=f.$viewValue});f.$isEmpty=function(a){return!a||0===a.length}}}else e.registerOption=E},post:function(a,b,d,c){var e= |
|||
c[1];if(e){var f=c[0];e.$render=function(){f.writeValue(e.$viewValue)}}}}}},Ve=["$interpolate",function(a){return{restrict:"E",priority:100,compile:function(b,d){var c,e;w(d.ngValue)||(w(d.value)?c=a(d.value,!0):(e=a(b.text(),!0))||d.$set("value",b.text()));return function(a,b,d){var h=b.parent();(h=h.data("$selectController")||h.parent().data("$selectController"))&&h.registerOption(a,b,d,c,e)}}}}],bd=["$parse",function(a){return{restrict:"A",require:"?ngModel",link:function(b,d,c,e){if(e){var f= |
|||
c.hasOwnProperty("required")||a(c.ngRequired)(b);c.ngRequired||(c.required=!0);e.$validators.required=function(a,b){return!f||!e.$isEmpty(b)};c.$observe("required",function(a){f!==a&&(f=a,e.$validate())})}}}}],ad=["$parse",function(a){return{restrict:"A",require:"?ngModel",compile:function(b,d){var c,e;d.ngPattern&&(c=d.ngPattern,e="/"===d.ngPattern.charAt(0)&&ke.test(d.ngPattern)?function(){return d.ngPattern}:a(d.ngPattern));return function(a,b,d,h){if(h){var l=d.pattern;d.ngPattern?l=e(a):c=d.pattern; |
|||
var m=je(l,c,b);d.$observe("pattern",function(a){var d=m;m=je(a,c,b);(d&&d.toString())!==(m&&m.toString())&&h.$validate()});h.$validators.pattern=function(a,b){return h.$isEmpty(b)||A(m)||m.test(b)}}}}}}],dd=["$parse",function(a){return{restrict:"A",require:"?ngModel",link:function(b,d,c,e){if(e){var f=c.maxlength||a(c.ngMaxlength)(b),g=Ub(f);c.$observe("maxlength",function(a){f!==a&&(g=Ub(a),f=a,e.$validate())});e.$validators.maxlength=function(a,b){return 0>g||e.$isEmpty(b)||b.length<=g}}}}}],cd= |
|||
["$parse",function(a){return{restrict:"A",require:"?ngModel",link:function(b,d,c,e){if(e){var f=c.minlength||a(c.ngMinlength)(b),g=Ub(f)||-1;c.$observe("minlength",function(a){f!==a&&(g=Ub(a)||-1,f=a,e.$validate())});e.$validators.minlength=function(a,b){return e.$isEmpty(b)||b.length>=g}}}}}];z.angular.bootstrap?z.console&&console.log("WARNING: Tried to load AngularJS more than once."):(Je(),Oe(ca),ca.module("ngLocale",[],["$provide",function(a){function b(a){a+="";var b=a.indexOf(".");return-1== |
|||
b?0:a.length-b-1}a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONEMONTH:"January February March April May June July August September October November December".split(" "), |
|||
WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(a, |
|||
c){var e=a|0,f=c;void 0===f&&(f=Math.min(b(a),3));Math.pow(10,f);return 1==e&&0==f?"one":"other"}})}]),x(function(){Ee(z.document,Wc)}))})(window);!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(window.angular.element("<style>").text('@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}')); |
|||
//# sourceMappingURL=angular.min.js.map
|
|||
8
angjs2/bower_components/angular/angular.min.js.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,9 @@ |
|||
{ |
|||
"name": "angular", |
|||
"version": "1.8.1", |
|||
"license": "MIT", |
|||
"main": "./angular.js", |
|||
"ignore": [], |
|||
"dependencies": { |
|||
} |
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
require('./angular'); |
|||
module.exports = angular; |
|||
@ -0,0 +1,25 @@ |
|||
{ |
|||
"name": "angular", |
|||
"version": "1.8.1", |
|||
"description": "HTML enhanced for web apps", |
|||
"main": "index.js", |
|||
"scripts": { |
|||
"test": "echo \"Error: no test specified\" && exit 1" |
|||
}, |
|||
"repository": { |
|||
"type": "git", |
|||
"url": "https://github.com/angular/angular.js.git" |
|||
}, |
|||
"keywords": [ |
|||
"angular", |
|||
"framework", |
|||
"browser", |
|||
"client-side" |
|||
], |
|||
"author": "Angular Core Team <angular-core+npm@google.com>", |
|||
"license": "MIT", |
|||
"bugs": { |
|||
"url": "https://github.com/angular/angular.js/issues" |
|||
}, |
|||
"homepage": "http://angularjs.org" |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet" /> |
|||
<link href="https://cdnjs.cloudflare.com/ajax/libs/mocha/1.13.0/mocha.css" rel="stylesheet" /> |
|||
|
|||
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.17/require.min.js"></script> |
|||
<script src="main.js"></script> |
|||
</head> |
|||
<body> |
|||
<div class="container" style="margin-top:30px;"> |
|||
<h1>AngularJS Unit Test Example using RequireJS, Mocha, Chai and Sinon</h1> |
|||
<div id="mocha"></div> |
|||
</div> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,62 @@ |
|||
// Karma shared configuration
|
|||
|
|||
module.exports = function(config) { |
|||
config.set({ |
|||
|
|||
// base path, that will be used to resolve files and exclude
|
|||
basePath: '', |
|||
|
|||
// list of files / patterns to load in the browser
|
|||
files: [ |
|||
'bower_components/angular/angular.js', |
|||
'bower_components/angular-mocks/angular-mocks.js', |
|||
'src/**/*.js' |
|||
], |
|||
|
|||
// list of files / patterns to exclude
|
|||
exclude: [], |
|||
|
|||
/* Enable / disable watching file and executing tests |
|||
* whenever any file changes |
|||
*/ |
|||
autoWatch: true, |
|||
|
|||
// testing framework to use (jasmine/mocha/qunit/...)
|
|||
// as well as any additional frameworks (requirejs/chai/sinon/...)
|
|||
frameworks: [ |
|||
'mocha', |
|||
'chai', |
|||
'sinon' |
|||
], |
|||
|
|||
logLevel: config.LOG_INFO, |
|||
|
|||
// Shared plugins (default is 'karma-*'):
|
|||
plugins: [ |
|||
'karma-*' |
|||
], |
|||
|
|||
reporters: ['progress'], |
|||
|
|||
// web server port
|
|||
port: 8080, |
|||
|
|||
// Start these browsers, currently available:
|
|||
// - Chrome
|
|||
// - ChromeCanary
|
|||
// - Firefox
|
|||
// - Opera
|
|||
// - Safari (only Mac)
|
|||
// - PhantomJS
|
|||
// - IE (only Windows)
|
|||
browsers: [ |
|||
'ChromeHeadless' |
|||
], |
|||
|
|||
// Continuous Integration mode
|
|||
// if true, it capture browsers, run tests and exit
|
|||
singleRun: true |
|||
}); |
|||
}; |
|||
|
|||
|
|||
@ -0,0 +1,21 @@ |
|||
The MIT License (MIT) |
|||
|
|||
Copyright (c) 2016 Angular |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
@ -0,0 +1,63 @@ |
|||
# packaged angular-mocks |
|||
|
|||
This repo is for distribution on `npm` and `bower`. The source for this module is in the |
|||
[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngMock). |
|||
Please file issues and pull requests against that repo. |
|||
|
|||
## Install |
|||
|
|||
You can install this package either with `npm` or with `bower`. |
|||
|
|||
### npm |
|||
|
|||
```shell |
|||
npm install angular-mocks |
|||
``` |
|||
|
|||
You can `require` ngMock modules: |
|||
|
|||
```js |
|||
var angular = require('angular'); |
|||
angular.module('myMod', [ |
|||
require('angular-animate'), |
|||
require('angular-mocks/ngMock'), |
|||
require('angular-mocks/ngAnimateMock') |
|||
]); |
|||
``` |
|||
|
|||
### bower |
|||
|
|||
```shell |
|||
bower install angular-mocks |
|||
``` |
|||
|
|||
The mocks are then available at `bower_components/angular-mocks/angular-mocks.js`. |
|||
|
|||
## Documentation |
|||
|
|||
Documentation is available on the |
|||
[AngularJS docs site](https://docs.angularjs.org/guide/unit-testing). |
|||
|
|||
## License |
|||
|
|||
The MIT License |
|||
|
|||
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in |
|||
all copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|||
THE SOFTWARE. |
|||
3757
angjs2/lib/angular-mocks/angular-mocks.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,10 @@ |
|||
{ |
|||
"name": "angular-mocks", |
|||
"version": "1.8.2", |
|||
"license": "MIT", |
|||
"main": "./angular-mocks.js", |
|||
"ignore": [], |
|||
"dependencies": { |
|||
"angular": "1.8.2" |
|||
} |
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
require('./angular-mocks'); |
|||
module.exports = 'ngAnimateMock'; |
|||
@ -0,0 +1,2 @@ |
|||
require('./angular-mocks'); |
|||
module.exports = 'ngMock'; |
|||
@ -0,0 +1,2 @@ |
|||
require('./angular-mocks'); |
|||
module.exports = 'ngMockE2E'; |
|||
@ -0,0 +1,68 @@ |
|||
{ |
|||
"_args": [ |
|||
[ |
|||
"angular-mocks@1.8.2", |
|||
"/home/osboxes/Desktop/angular/angjs-requirejs" |
|||
] |
|||
], |
|||
"_development": true, |
|||
"_from": "angular-mocks@1.8.2", |
|||
"_id": "angular-mocks@1.8.2", |
|||
"_inBundle": false, |
|||
"_integrity": "sha512-I5L3P0l21HPdVsP4A4qWmENt4ePjjbkDFdAzOaM7QiibFySbt14DptPbt2IjeG4vFBr4vSLbhIz8Fk03DISl8Q==", |
|||
"_location": "/angular-mocks", |
|||
"_phantomChildren": {}, |
|||
"_requested": { |
|||
"type": "version", |
|||
"registry": true, |
|||
"raw": "angular-mocks@1.8.2", |
|||
"name": "angular-mocks", |
|||
"escapedName": "angular-mocks", |
|||
"rawSpec": "1.8.2", |
|||
"saveSpec": null, |
|||
"fetchSpec": "1.8.2" |
|||
}, |
|||
"_requiredBy": [ |
|||
"#DEV:/" |
|||
], |
|||
"_resolved": "https://registry.npmjs.org/angular-mocks/-/angular-mocks-1.8.2.tgz", |
|||
"_spec": "1.8.2", |
|||
"_where": "/home/osboxes/Desktop/angular/angjs-requirejs", |
|||
"author": { |
|||
"name": "Angular Core Team", |
|||
"email": "angular-core+npm@google.com" |
|||
}, |
|||
"bugs": { |
|||
"url": "https://github.com/angular/angular.js/issues" |
|||
}, |
|||
"description": "AngularJS mocks for testing", |
|||
"homepage": "http://angularjs.org", |
|||
"jspm": { |
|||
"shim": { |
|||
"angular-mocks": { |
|||
"deps": [ |
|||
"angular" |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
"keywords": [ |
|||
"angular", |
|||
"framework", |
|||
"browser", |
|||
"mocks", |
|||
"testing", |
|||
"client-side" |
|||
], |
|||
"license": "MIT", |
|||
"main": "angular-mocks.js", |
|||
"name": "angular-mocks", |
|||
"repository": { |
|||
"type": "git", |
|||
"url": "git+https://github.com/angular/angular.js.git" |
|||
}, |
|||
"scripts": { |
|||
"test": "echo \"Error: no test specified\" && exit 1" |
|||
}, |
|||
"version": "1.8.2" |
|||
} |
|||
@ -0,0 +1,21 @@ |
|||
The MIT License (MIT) |
|||
|
|||
Copyright (c) 2016 Angular |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
@ -0,0 +1,64 @@ |
|||
# packaged angular |
|||
|
|||
This repo is for distribution on `npm` and `bower`. The source for this module is in the |
|||
[main AngularJS repo](https://github.com/angular/angular.js). |
|||
Please file issues and pull requests against that repo. |
|||
|
|||
## Install |
|||
|
|||
You can install this package either with `npm` or with `bower`. |
|||
|
|||
### npm |
|||
|
|||
```shell |
|||
npm install angular |
|||
``` |
|||
|
|||
Then add a `<script>` to your `index.html`: |
|||
|
|||
```html |
|||
<script src="/node_modules/angular/angular.js"></script> |
|||
``` |
|||
|
|||
Or `require('angular')` from your code. |
|||
|
|||
### bower |
|||
|
|||
```shell |
|||
bower install angular |
|||
``` |
|||
|
|||
Then add a `<script>` to your `index.html`: |
|||
|
|||
```html |
|||
<script src="/bower_components/angular/angular.js"></script> |
|||
``` |
|||
|
|||
## Documentation |
|||
|
|||
Documentation is available on the |
|||
[AngularJS docs site](http://docs.angularjs.org/). |
|||
|
|||
## License |
|||
|
|||
The MIT License |
|||
|
|||
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in |
|||
all copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|||
THE SOFTWARE. |
|||
@ -0,0 +1,25 @@ |
|||
/* Include this file in your html if you are using the CSP mode. */ |
|||
|
|||
@charset "UTF-8"; |
|||
|
|||
[ng\:cloak], |
|||
[ng-cloak], |
|||
[data-ng-cloak], |
|||
[x-ng-cloak], |
|||
.ng-cloak, |
|||
.x-ng-cloak, |
|||
.ng-hide:not(.ng-hide-animate) { |
|||
display: none !important; |
|||
} |
|||
|
|||
ng\:form { |
|||
display: block; |
|||
} |
|||
|
|||
.ng-animate-shim { |
|||
visibility:hidden; |
|||
} |
|||
|
|||
.ng-anchor { |
|||
position:absolute; |
|||
} |
|||
36600
angjs2/lib/angular/angular.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,352 @@ |
|||
/* |
|||
AngularJS v1.8.2 |
|||
(c) 2010-2020 Google LLC. http://angularjs.org
|
|||
License: MIT |
|||
*/ |
|||
(function(z){'use strict';function ve(a){if(D(a))w(a.objectMaxDepth)&&(Xb.objectMaxDepth=Yb(a.objectMaxDepth)?a.objectMaxDepth:NaN),w(a.urlErrorParamsEnabled)&&Ga(a.urlErrorParamsEnabled)&&(Xb.urlErrorParamsEnabled=a.urlErrorParamsEnabled);else return Xb}function Yb(a){return X(a)&&0<a}function F(a,b){b=b||Error;return function(){var d=arguments[0],c;c="["+(a?a+":":"")+d+"] http://errors.angularjs.org/1.8.2/"+(a?a+"/":"")+d;for(d=1;d<arguments.length;d++){c=c+(1==d?"?":"&")+"p"+(d-1)+"=";var e=encodeURIComponent, |
|||
f;f=arguments[d];f="function"==typeof f?f.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof f?"undefined":"string"!=typeof f?JSON.stringify(f):f;c+=e(f)}return new b(c)}}function za(a){if(null==a||$a(a))return!1;if(H(a)||C(a)||x&&a instanceof x)return!0;var b="length"in Object(a)&&a.length;return X(b)&&(0<=b&&b-1 in a||"function"===typeof a.item)}function r(a,b,d){var c,e;if(a)if(B(a))for(c in a)"prototype"!==c&&"length"!==c&&"name"!==c&&a.hasOwnProperty(c)&&b.call(d,a[c],c,a);else if(H(a)|| |
|||
za(a)){var f="object"!==typeof a;c=0;for(e=a.length;c<e;c++)(f||c in a)&&b.call(d,a[c],c,a)}else if(a.forEach&&a.forEach!==r)a.forEach(b,d,a);else if(Pc(a))for(c in a)b.call(d,a[c],c,a);else if("function"===typeof a.hasOwnProperty)for(c in a)a.hasOwnProperty(c)&&b.call(d,a[c],c,a);else for(c in a)ta.call(a,c)&&b.call(d,a[c],c,a);return a}function Qc(a,b,d){for(var c=Object.keys(a).sort(),e=0;e<c.length;e++)b.call(d,a[c[e]],c[e]);return c}function Zb(a){return function(b,d){a(d,b)}}function we(){return++qb} |
|||
function $b(a,b,d){for(var c=a.$$hashKey,e=0,f=b.length;e<f;++e){var g=b[e];if(D(g)||B(g))for(var k=Object.keys(g),h=0,l=k.length;h<l;h++){var m=k[h],p=g[m];d&&D(p)?ha(p)?a[m]=new Date(p.valueOf()):ab(p)?a[m]=new RegExp(p):p.nodeName?a[m]=p.cloneNode(!0):ac(p)?a[m]=p.clone():"__proto__"!==m&&(D(a[m])||(a[m]=H(p)?[]:{}),$b(a[m],[p],!0)):a[m]=p}}c?a.$$hashKey=c:delete a.$$hashKey;return a}function S(a){return $b(a,Ha.call(arguments,1),!1)}function xe(a){return $b(a,Ha.call(arguments,1),!0)}function fa(a){return parseInt(a, |
|||
10)}function bc(a,b){return S(Object.create(a),b)}function E(){}function Ta(a){return a}function ia(a){return function(){return a}}function cc(a){return B(a.toString)&&a.toString!==la}function A(a){return"undefined"===typeof a}function w(a){return"undefined"!==typeof a}function D(a){return null!==a&&"object"===typeof a}function Pc(a){return null!==a&&"object"===typeof a&&!Rc(a)}function C(a){return"string"===typeof a}function X(a){return"number"===typeof a}function ha(a){return"[object Date]"===la.call(a)} |
|||
function H(a){return Array.isArray(a)||a instanceof Array}function dc(a){switch(la.call(a)){case "[object Error]":return!0;case "[object Exception]":return!0;case "[object DOMException]":return!0;default:return a instanceof Error}}function B(a){return"function"===typeof a}function ab(a){return"[object RegExp]"===la.call(a)}function $a(a){return a&&a.window===a}function bb(a){return a&&a.$evalAsync&&a.$watch}function Ga(a){return"boolean"===typeof a}function ye(a){return a&&X(a.length)&&ze.test(la.call(a))} |
|||
function ac(a){return!(!a||!(a.nodeName||a.prop&&a.attr&&a.find))}function Ae(a){var b={};a=a.split(",");var d;for(d=0;d<a.length;d++)b[a[d]]=!0;return b}function ua(a){return K(a.nodeName||a[0]&&a[0].nodeName)}function cb(a,b){var d=a.indexOf(b);0<=d&&a.splice(d,1);return d}function Ia(a,b,d){function c(a,b,c){c--;if(0>c)return"...";var d=b.$$hashKey,f;if(H(a)){f=0;for(var g=a.length;f<g;f++)b.push(e(a[f],c))}else if(Pc(a))for(f in a)b[f]=e(a[f],c);else if(a&&"function"===typeof a.hasOwnProperty)for(f in a)a.hasOwnProperty(f)&& |
|||
(b[f]=e(a[f],c));else for(f in a)ta.call(a,f)&&(b[f]=e(a[f],c));d?b.$$hashKey=d:delete b.$$hashKey;return b}function e(a,b){if(!D(a))return a;var d=g.indexOf(a);if(-1!==d)return k[d];if($a(a)||bb(a))throw oa("cpws");var d=!1,e=f(a);void 0===e&&(e=H(a)?[]:Object.create(Rc(a)),d=!0);g.push(a);k.push(e);return d?c(a,e,b):e}function f(a){switch(la.call(a)){case "[object Int8Array]":case "[object Int16Array]":case "[object Int32Array]":case "[object Float32Array]":case "[object Float64Array]":case "[object Uint8Array]":case "[object Uint8ClampedArray]":case "[object Uint16Array]":case "[object Uint32Array]":return new a.constructor(e(a.buffer), |
|||
a.byteOffset,a.length);case "[object ArrayBuffer]":if(!a.slice){var b=new ArrayBuffer(a.byteLength);(new Uint8Array(b)).set(new Uint8Array(a));return b}return a.slice(0);case "[object Boolean]":case "[object Number]":case "[object String]":case "[object Date]":return new a.constructor(a.valueOf());case "[object RegExp]":return b=new RegExp(a.source,a.toString().match(/[^/]*$/)[0]),b.lastIndex=a.lastIndex,b;case "[object Blob]":return new a.constructor([a],{type:a.type})}if(B(a.cloneNode))return a.cloneNode(!0)} |
|||
var g=[],k=[];d=Yb(d)?d:NaN;if(b){if(ye(b)||"[object ArrayBuffer]"===la.call(b))throw oa("cpta");if(a===b)throw oa("cpi");H(b)?b.length=0:r(b,function(a,c){"$$hashKey"!==c&&delete b[c]});g.push(a);k.push(b);return c(a,b,d)}return e(a,d)}function ec(a,b){return a===b||a!==a&&b!==b}function va(a,b){if(a===b)return!0;if(null===a||null===b)return!1;if(a!==a&&b!==b)return!0;var d=typeof a,c;if(d===typeof b&&"object"===d)if(H(a)){if(!H(b))return!1;if((d=a.length)===b.length){for(c=0;c<d;c++)if(!va(a[c], |
|||
b[c]))return!1;return!0}}else{if(ha(a))return ha(b)?ec(a.getTime(),b.getTime()):!1;if(ab(a))return ab(b)?a.toString()===b.toString():!1;if(bb(a)||bb(b)||$a(a)||$a(b)||H(b)||ha(b)||ab(b))return!1;d=T();for(c in a)if("$"!==c.charAt(0)&&!B(a[c])){if(!va(a[c],b[c]))return!1;d[c]=!0}for(c in b)if(!(c in d)&&"$"!==c.charAt(0)&&w(b[c])&&!B(b[c]))return!1;return!0}return!1}function db(a,b,d){return a.concat(Ha.call(b,d))}function Va(a,b){var d=2<arguments.length?Ha.call(arguments,2):[];return!B(b)||b instanceof |
|||
RegExp?b:d.length?function(){return arguments.length?b.apply(a,db(d,arguments,0)):b.apply(a,d)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function Sc(a,b){var d=b;"string"===typeof a&&"$"===a.charAt(0)&&"$"===a.charAt(1)?d=void 0:$a(b)?d="$WINDOW":b&&z.document===b?d="$DOCUMENT":bb(b)&&(d="$SCOPE");return d}function eb(a,b){if(!A(a))return X(b)||(b=b?2:null),JSON.stringify(a,Sc,b)}function Tc(a){return C(a)?JSON.parse(a):a}function fc(a,b){a=a.replace(Be,"");var d=Date.parse("Jan 01, 1970 00:00:00 "+ |
|||
a)/6E4;return Y(d)?b:d}function Uc(a,b){a=new Date(a.getTime());a.setMinutes(a.getMinutes()+b);return a}function gc(a,b,d){d=d?-1:1;var c=a.getTimezoneOffset();b=fc(b,c);return Uc(a,d*(b-c))}function Aa(a){a=x(a).clone().empty();var b=x("<div></div>").append(a).html();try{return a[0].nodeType===Pa?K(b):b.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,function(a,b){return"<"+K(b)})}catch(d){return K(b)}}function Vc(a){try{return decodeURIComponent(a)}catch(b){}}function hc(a){var b={};r((a||"").split("&"), |
|||
function(a){var c,e,f;a&&(e=a=a.replace(/\+/g,"%20"),c=a.indexOf("="),-1!==c&&(e=a.substring(0,c),f=a.substring(c+1)),e=Vc(e),w(e)&&(f=w(f)?Vc(f):!0,ta.call(b,e)?H(b[e])?b[e].push(f):b[e]=[b[e],f]:b[e]=f))});return b}function Ce(a){var b=[];r(a,function(a,c){H(a)?r(a,function(a){b.push(ba(c,!0)+(!0===a?"":"="+ba(a,!0)))}):b.push(ba(c,!0)+(!0===a?"":"="+ba(a,!0)))});return b.length?b.join("&"):""}function ic(a){return ba(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ba(a, |
|||
b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function De(a,b){var d,c,e=Qa.length;for(c=0;c<e;++c)if(d=Qa[c]+b,C(d=a.getAttribute(d)))return d;return null}function Ee(a,b){var d,c,e={};r(Qa,function(b){b+="app";!d&&a.hasAttribute&&a.hasAttribute(b)&&(d=a,c=a.getAttribute(b))});r(Qa,function(b){b+="app";var e;!d&&(e=a.querySelector("["+b.replace(":","\\:")+"]"))&&(d=e,c=e.getAttribute(b))}); |
|||
d&&(Fe?(e.strictDi=null!==De(d,"strict-di"),b(d,c?[c]:[],e)):z.console.error("AngularJS: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match."))}function Wc(a,b,d){D(d)||(d={});d=S({strictDi:!1},d);var c=function(){a=x(a);if(a.injector()){var c=a[0]===z.document?"document":Aa(a);throw oa("btstrpd",c.replace(/</,"<").replace(/>/,">"));}b=b||[];b.unshift(["$provide",function(b){b.value("$rootElement",a)}]);d.debugInfoEnabled&&b.push(["$compileProvider", |
|||
function(a){a.debugInfoEnabled(!0)}]);b.unshift("ng");c=fb(b,d.strictDi);c.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;z&&e.test(z.name)&&(d.debugInfoEnabled=!0,z.name=z.name.replace(e,""));if(z&&!f.test(z.name))return c();z.name=z.name.replace(f,"");ca.resumeBootstrap=function(a){r(a,function(a){b.push(a)});return c()};B(ca.resumeDeferredBootstrap)&& |
|||
ca.resumeDeferredBootstrap()}function Ge(){z.name="NG_ENABLE_DEBUG_INFO!"+z.name;z.location.reload()}function He(a){a=ca.element(a).injector();if(!a)throw oa("test");return a.get("$$testability")}function Xc(a,b){b=b||"_";return a.replace(Ie,function(a,c){return(c?b:"")+a.toLowerCase()})}function Je(){var a;if(!Yc){var b=rb();(sb=A(b)?z.jQuery:b?z[b]:void 0)&&sb.fn.on?(x=sb,S(sb.fn,{scope:Wa.scope,isolateScope:Wa.isolateScope,controller:Wa.controller,injector:Wa.injector,inheritedData:Wa.inheritedData})): |
|||
x=U;a=x.cleanData;x.cleanData=function(b){for(var c,e=0,f;null!=(f=b[e]);e++)(c=(x._data(f)||{}).events)&&c.$destroy&&x(f).triggerHandler("$destroy");a(b)};ca.element=x;Yc=!0}}function Ke(){U.legacyXHTMLReplacement=!0}function gb(a,b,d){if(!a)throw oa("areq",b||"?",d||"required");return a}function tb(a,b,d){d&&H(a)&&(a=a[a.length-1]);gb(B(a),b,"not a function, got "+(a&&"object"===typeof a?a.constructor.name||"Object":typeof a));return a}function Ja(a,b){if("hasOwnProperty"===a)throw oa("badname", |
|||
b);}function Le(a,b,d){if(!b)return a;b=b.split(".");for(var c,e=a,f=b.length,g=0;g<f;g++)c=b[g],a&&(a=(e=a)[c]);return!d&&B(a)?Va(e,a):a}function ub(a){for(var b=a[0],d=a[a.length-1],c,e=1;b!==d&&(b=b.nextSibling);e++)if(c||a[e]!==b)c||(c=x(Ha.call(a,0,e))),c.push(b);return c||a}function T(){return Object.create(null)}function jc(a){if(null==a)return"";switch(typeof a){case "string":break;case "number":a=""+a;break;default:a=!cc(a)||H(a)||ha(a)?eb(a):a.toString()}return a}function Me(a){function b(a, |
|||
b,c){return a[b]||(a[b]=c())}var d=F("$injector"),c=F("ng");a=b(a,"angular",Object);a.$$minErr=a.$$minErr||F;return b(a,"module",function(){var a={};return function(f,g,k){var h={};if("hasOwnProperty"===f)throw c("badname","module");g&&a.hasOwnProperty(f)&&(a[f]=null);return b(a,f,function(){function a(b,c,d,f){f||(f=e);return function(){f[d||"push"]([b,c,arguments]);return t}}function b(a,c,d){d||(d=e);return function(b,e){e&&B(e)&&(e.$$moduleName=f);d.push([a,c,arguments]);return t}}if(!g)throw d("nomod", |
|||
f);var e=[],n=[],s=[],G=a("$injector","invoke","push",n),t={_invokeQueue:e,_configBlocks:n,_runBlocks:s,info:function(a){if(w(a)){if(!D(a))throw c("aobj","value");h=a;return this}return h},requires:g,name:f,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),decorator:b("$provide","decorator",n),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider", |
|||
"register"),directive:b("$compileProvider","directive"),component:b("$compileProvider","component"),config:G,run:function(a){s.push(a);return this}};k&&G(k);return t})}})}function ja(a,b){if(H(a)){b=b||[];for(var d=0,c=a.length;d<c;d++)b[d]=a[d]}else if(D(a))for(d in b=b||{},a)if("$"!==d.charAt(0)||"$"!==d.charAt(1))b[d]=a[d];return b||a}function Ne(a,b){var d=[];Yb(b)&&(a=ca.copy(a,null,b));return JSON.stringify(a,function(a,b){b=Sc(a,b);if(D(b)){if(0<=d.indexOf(b))return"...";d.push(b)}return b})} |
|||
function Oe(a){S(a,{errorHandlingConfig:ve,bootstrap:Wc,copy:Ia,extend:S,merge:xe,equals:va,element:x,forEach:r,injector:fb,noop:E,bind:Va,toJson:eb,fromJson:Tc,identity:Ta,isUndefined:A,isDefined:w,isString:C,isFunction:B,isObject:D,isNumber:X,isElement:ac,isArray:H,version:Pe,isDate:ha,callbacks:{$$counter:0},getTestability:He,reloadWithDebugInfo:Ge,UNSAFE_restoreLegacyJqLiteXHTMLReplacement:Ke,$$minErr:F,$$csp:Ba,$$encodeUriSegment:ic,$$encodeUriQuery:ba,$$lowercase:K,$$stringify:jc,$$uppercase:vb}); |
|||
lc=Me(z);lc("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:Qe});a.provider("$compile",Zc).directive({a:Re,input:$c,textarea:$c,form:Se,script:Te,select:Ue,option:Ve,ngBind:We,ngBindHtml:Xe,ngBindTemplate:Ye,ngClass:Ze,ngClassEven:$e,ngClassOdd:af,ngCloak:bf,ngController:cf,ngForm:df,ngHide:ef,ngIf:ff,ngInclude:gf,ngInit:hf,ngNonBindable:jf,ngPluralize:kf,ngRef:lf,ngRepeat:mf,ngShow:nf,ngStyle:of,ngSwitch:pf,ngSwitchWhen:qf,ngSwitchDefault:rf,ngOptions:sf,ngTransclude:tf,ngModel:uf, |
|||
ngList:vf,ngChange:wf,pattern:ad,ngPattern:ad,required:bd,ngRequired:bd,minlength:cd,ngMinlength:cd,maxlength:dd,ngMaxlength:dd,ngValue:xf,ngModelOptions:yf}).directive({ngInclude:zf,input:Af}).directive(wb).directive(ed);a.provider({$anchorScroll:Bf,$animate:Cf,$animateCss:Df,$$animateJs:Ef,$$animateQueue:Ff,$$AnimateRunner:Gf,$$animateAsyncRun:Hf,$browser:If,$cacheFactory:Jf,$controller:Kf,$document:Lf,$$isDocumentHidden:Mf,$exceptionHandler:Nf,$filter:fd,$$forceReflow:Of,$interpolate:Pf,$interval:Qf, |
|||
$$intervalFactory:Rf,$http:Sf,$httpParamSerializer:Tf,$httpParamSerializerJQLike:Uf,$httpBackend:Vf,$xhrFactory:Wf,$jsonpCallbacks:Xf,$location:Yf,$log:Zf,$parse:$f,$rootScope:ag,$q:bg,$$q:cg,$sce:dg,$sceDelegate:eg,$sniffer:fg,$$taskTrackerFactory:gg,$templateCache:hg,$templateRequest:ig,$$testability:jg,$timeout:kg,$window:lg,$$rAF:mg,$$jqLite:ng,$$Map:og,$$cookieReader:pg})}]).info({angularVersion:"1.8.2"})}function xb(a,b){return b.toUpperCase()}function yb(a){return a.replace(qg,xb)}function mc(a){a= |
|||
a.nodeType;return 1===a||!a||9===a}function gd(a,b){var d,c,e,f=b.createDocumentFragment(),g=[],k;if(nc.test(a)){d=f.appendChild(b.createElement("div"));c=(rg.exec(a)||["",""])[1].toLowerCase();e=U.legacyXHTMLReplacement?a.replace(sg,"<$1></$2>"):a;if(10>wa)for(c=hb[c]||hb._default,d.innerHTML=c[1]+e+c[2],k=c[0];k--;)d=d.firstChild;else{c=qa[c]||[];for(k=c.length;-1<--k;)d.appendChild(z.document.createElement(c[k])),d=d.firstChild;d.innerHTML=e}g=db(g,d.childNodes);d=f.firstChild;d.textContent=""}else g.push(b.createTextNode(a)); |
|||
f.textContent="";f.innerHTML="";r(g,function(a){f.appendChild(a)});return f}function U(a){if(a instanceof U)return a;var b;C(a)&&(a=V(a),b=!0);if(!(this instanceof U)){if(b&&"<"!==a.charAt(0))throw oc("nosel");return new U(a)}if(b){b=z.document;var d;a=(d=tg.exec(a))?[b.createElement(d[1])]:(d=gd(a,b))?d.childNodes:[];pc(this,a)}else B(a)?hd(a):pc(this,a)}function qc(a){return a.cloneNode(!0)}function zb(a,b){!b&&mc(a)&&x.cleanData([a]);a.querySelectorAll&&x.cleanData(a.querySelectorAll("*"))}function id(a){for(var b in a)return!1; |
|||
return!0}function jd(a){var b=a.ng339,d=b&&Ka[b],c=d&&d.events,d=d&&d.data;d&&!id(d)||c&&!id(c)||(delete Ka[b],a.ng339=void 0)}function kd(a,b,d,c){if(w(c))throw oc("offargs");var e=(c=Ab(a))&&c.events,f=c&&c.handle;if(f){if(b){var g=function(b){var c=e[b];w(d)&&cb(c||[],d);w(d)&&c&&0<c.length||(a.removeEventListener(b,f),delete e[b])};r(b.split(" "),function(a){g(a);Bb[a]&&g(Bb[a])})}else for(b in e)"$destroy"!==b&&a.removeEventListener(b,f),delete e[b];jd(a)}}function rc(a,b){var d=a.ng339;if(d= |
|||
d&&Ka[d])b?delete d.data[b]:d.data={},jd(a)}function Ab(a,b){var d=a.ng339,d=d&&Ka[d];b&&!d&&(a.ng339=d=++ug,d=Ka[d]={events:{},data:{},handle:void 0});return d}function sc(a,b,d){if(mc(a)){var c,e=w(d),f=!e&&b&&!D(b),g=!b;a=(a=Ab(a,!f))&&a.data;if(e)a[yb(b)]=d;else{if(g)return a;if(f)return a&&a[yb(b)];for(c in b)a[yb(c)]=b[c]}}}function Cb(a,b){return a.getAttribute?-1<(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" "):!1}function Db(a,b){if(b&&a.setAttribute){var d= |
|||
(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),c=d;r(b.split(" "),function(a){a=V(a);c=c.replace(" "+a+" "," ")});c!==d&&a.setAttribute("class",V(c))}}function Eb(a,b){if(b&&a.setAttribute){var d=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),c=d;r(b.split(" "),function(a){a=V(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});c!==d&&a.setAttribute("class",V(c))}}function pc(a,b){if(b)if(b.nodeType)a[a.length++]=b;else{var d=b.length;if("number"===typeof d&&b.window!==b){if(d)for(var c= |
|||
0;c<d;c++)a[a.length++]=b[c]}else a[a.length++]=b}}function ld(a,b){return Fb(a,"$"+(b||"ngController")+"Controller")}function Fb(a,b,d){9===a.nodeType&&(a=a.documentElement);for(b=H(b)?b:[b];a;){for(var c=0,e=b.length;c<e;c++)if(w(d=x.data(a,b[c])))return d;a=a.parentNode||11===a.nodeType&&a.host}}function md(a){for(zb(a,!0);a.firstChild;)a.removeChild(a.firstChild)}function Gb(a,b){b||zb(a);var d=a.parentNode;d&&d.removeChild(a)}function vg(a,b){b=b||z;if("complete"===b.document.readyState)b.setTimeout(a); |
|||
else x(b).on("load",a)}function hd(a){function b(){z.document.removeEventListener("DOMContentLoaded",b);z.removeEventListener("load",b);a()}"complete"===z.document.readyState?z.setTimeout(a):(z.document.addEventListener("DOMContentLoaded",b),z.addEventListener("load",b))}function nd(a,b){var d=Hb[b.toLowerCase()];return d&&od[ua(a)]&&d}function wg(a,b){var d=function(c,d){c.isDefaultPrevented=function(){return c.defaultPrevented};var f=b[d||c.type],g=f?f.length:0;if(g){if(A(c.immediatePropagationStopped)){var k= |
|||
c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0;c.stopPropagation&&c.stopPropagation();k&&k.call(c)}}c.isImmediatePropagationStopped=function(){return!0===c.immediatePropagationStopped};var h=f.specialHandlerWrapper||xg;1<g&&(f=ja(f));for(var l=0;l<g;l++)c.isImmediatePropagationStopped()||h(a,c,f[l])}};d.elem=a;return d}function xg(a,b,d){d.call(a,b)}function yg(a,b,d){var c=b.relatedTarget;c&&(c===a||zg.call(a,c))||d.call(a,b)}function ng(){this.$get= |
|||
function(){return S(U,{hasClass:function(a,b){a.attr&&(a=a[0]);return Cb(a,b)},addClass:function(a,b){a.attr&&(a=a[0]);return Eb(a,b)},removeClass:function(a,b){a.attr&&(a=a[0]);return Db(a,b)}})}}function La(a,b){var d=a&&a.$$hashKey;if(d)return"function"===typeof d&&(d=a.$$hashKey()),d;d=typeof a;return d="function"===d||"object"===d&&null!==a?a.$$hashKey=d+":"+(b||we)():d+":"+a}function pd(){this._keys=[];this._values=[];this._lastKey=NaN;this._lastIndex=-1}function qd(a){a=Function.prototype.toString.call(a).replace(Ag, |
|||
"");return a.match(Bg)||a.match(Cg)}function Dg(a){return(a=qd(a))?"function("+(a[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function fb(a,b){function d(a){return function(b,c){if(D(b))r(b,Zb(a));else return a(b,c)}}function c(a,b){Ja(a,"service");if(B(b)||H(b))b=n.instantiate(b);if(!b.$get)throw Ca("pget",a);return p[a+"Provider"]=b}function e(a,b){return function(){var c=t.invoke(b,this);if(A(c))throw Ca("undef",a);return c}}function f(a,b,d){return c(a,{$get:!1!==d?e(a,b):b})}function g(a){gb(A(a)|| |
|||
H(a),"modulesToLoad","not an array");var b=[],c;r(a,function(a){function d(a){var b,c;b=0;for(c=a.length;b<c;b++){var e=a[b],f=n.get(e[0]);f[e[1]].apply(f,e[2])}}if(!m.get(a)){m.set(a,!0);try{C(a)?(c=lc(a),t.modules[a]=c,b=b.concat(g(c.requires)).concat(c._runBlocks),d(c._invokeQueue),d(c._configBlocks)):B(a)?b.push(n.invoke(a)):H(a)?b.push(n.invoke(a)):tb(a,"module")}catch(e){throw H(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1===e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),Ca("modulerr", |
|||
a,e.stack||e.message||e);}}});return b}function k(a,c){function d(b,e){if(a.hasOwnProperty(b)){if(a[b]===h)throw Ca("cdep",b+" <- "+l.join(" <- "));return a[b]}try{return l.unshift(b),a[b]=h,a[b]=c(b,e),a[b]}catch(f){throw a[b]===h&&delete a[b],f;}finally{l.shift()}}function e(a,c,f){var g=[];a=fb.$$annotate(a,b,f);for(var h=0,k=a.length;h<k;h++){var l=a[h];if("string"!==typeof l)throw Ca("itkn",l);g.push(c&&c.hasOwnProperty(l)?c[l]:d(l,f))}return g}return{invoke:function(a,b,c,d){"string"===typeof c&& |
|||
(d=c,c=null);c=e(a,c,d);H(a)&&(a=a[a.length-1]);d=a;if(wa||"function"!==typeof d)d=!1;else{var f=d.$$ngIsClass;Ga(f)||(f=d.$$ngIsClass=/^class\b/.test(Function.prototype.toString.call(d)));d=f}return d?(c.unshift(null),new (Function.prototype.bind.apply(a,c))):a.apply(b,c)},instantiate:function(a,b,c){var d=H(a)?a[a.length-1]:a;a=e(a,b,c);a.unshift(null);return new (Function.prototype.bind.apply(d,a))},get:d,annotate:fb.$$annotate,has:function(b){return p.hasOwnProperty(b+"Provider")||a.hasOwnProperty(b)}}} |
|||
b=!0===b;var h={},l=[],m=new Ib,p={$provide:{provider:d(c),factory:d(f),service:d(function(a,b){return f(a,["$injector",function(a){return a.instantiate(b)}])}),value:d(function(a,b){return f(a,ia(b),!1)}),constant:d(function(a,b){Ja(a,"constant");p[a]=b;s[a]=b}),decorator:function(a,b){var c=n.get(a+"Provider"),d=c.$get;c.$get=function(){var a=t.invoke(d,c);return t.invoke(b,null,{$delegate:a})}}}},n=p.$injector=k(p,function(a,b){ca.isString(b)&&l.push(b);throw Ca("unpr",l.join(" <- "));}),s={}, |
|||
G=k(s,function(a,b){var c=n.get(a+"Provider",b);return t.invoke(c.$get,c,void 0,a)}),t=G;p.$injectorProvider={$get:ia(G)};t.modules=n.modules=T();var N=g(a),t=G.get("$injector");t.strictDi=b;r(N,function(a){a&&t.invoke(a)});t.loadNewModules=function(a){r(g(a),function(a){a&&t.invoke(a)})};return t}function Bf(){var a=!0;this.disableAutoScrolling=function(){a=!1};this.$get=["$window","$location","$rootScope",function(b,d,c){function e(a){var b=null;Array.prototype.some.call(a,function(a){if("a"=== |
|||
ua(a))return b=a,!0});return b}function f(a){if(a){a.scrollIntoView();var c;c=g.yOffset;B(c)?c=c():ac(c)?(c=c[0],c="fixed"!==b.getComputedStyle(c).position?0:c.getBoundingClientRect().bottom):X(c)||(c=0);c&&(a=a.getBoundingClientRect().top,b.scrollBy(0,a-c))}else b.scrollTo(0,0)}function g(a){a=C(a)?a:X(a)?a.toString():d.hash();var b;a?(b=k.getElementById(a))?f(b):(b=e(k.getElementsByName(a)))?f(b):"top"===a&&f(null):f(null)}var k=b.document;a&&c.$watch(function(){return d.hash()},function(a,b){a=== |
|||
b&&""===a||vg(function(){c.$evalAsync(g)})});return g}]}function ib(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;H(a)&&(a=a.join(" "));H(b)&&(b=b.join(" "));return a+" "+b}function Eg(a){C(a)&&(a=a.split(" "));var b=T();r(a,function(a){a.length&&(b[a]=!0)});return b}function ra(a){return D(a)?a:{}}function Fg(a,b,d,c,e){function f(){pa=null;k()}function g(){t=y();t=A(t)?null:t;va(t,P)&&(t=P);N=P=t}function k(){var a=N;g();if(v!==h.url()||a!==t)v=h.url(),N=t,r(J,function(a){a(h.url(),t)})} |
|||
var h=this,l=a.location,m=a.history,p=a.setTimeout,n=a.clearTimeout,s={},G=e(d);h.isMock=!1;h.$$completeOutstandingRequest=G.completeTask;h.$$incOutstandingRequestCount=G.incTaskCount;h.notifyWhenNoOutstandingRequests=G.notifyWhenNoPendingTasks;var t,N,v=l.href,kc=b.find("base"),pa=null,y=c.history?function(){try{return m.state}catch(a){}}:E;g();h.url=function(b,d,e){A(e)&&(e=null);l!==a.location&&(l=a.location);m!==a.history&&(m=a.history);if(b){var f=N===e;b=ga(b).href;if(v===b&&(!c.history||f))return h; |
|||
var k=v&&Da(v)===Da(b);v=b;N=e;!c.history||k&&f?(k||(pa=b),d?l.replace(b):k?(d=l,e=b,f=e.indexOf("#"),e=-1===f?"":e.substr(f),d.hash=e):l.href=b,l.href!==b&&(pa=b)):(m[d?"replaceState":"pushState"](e,"",b),g());pa&&(pa=b);return h}return(pa||l.href).replace(/#$/,"")};h.state=function(){return t};var J=[],I=!1,P=null;h.onUrlChange=function(b){if(!I){if(c.history)x(a).on("popstate",f);x(a).on("hashchange",f);I=!0}J.push(b);return b};h.$$applicationDestroyed=function(){x(a).off("hashchange popstate", |
|||
f)};h.$$checkUrlChange=k;h.baseHref=function(){var a=kc.attr("href");return a?a.replace(/^(https?:)?\/\/[^/]*/,""):""};h.defer=function(a,b,c){var d;b=b||0;c=c||G.DEFAULT_TASK_TYPE;G.incTaskCount(c);d=p(function(){delete s[d];G.completeTask(a,c)},b);s[d]=c;return d};h.defer.cancel=function(a){if(s.hasOwnProperty(a)){var b=s[a];delete s[a];n(a);G.completeTask(E,b);return!0}return!1}}function If(){this.$get=["$window","$log","$sniffer","$document","$$taskTrackerFactory",function(a,b,d,c,e){return new Fg(a, |
|||
c,b,d,e)}]}function Jf(){this.$get=function(){function a(a,c){function e(a){a!==p&&(n?n===a&&(n=a.n):n=a,f(a.n,a.p),f(a,p),p=a,p.n=null)}function f(a,b){a!==b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw F("$cacheFactory")("iid",a);var g=0,k=S({},c,{id:a}),h=T(),l=c&&c.capacity||Number.MAX_VALUE,m=T(),p=null,n=null;return b[a]={put:function(a,b){if(!A(b)){if(l<Number.MAX_VALUE){var c=m[a]||(m[a]={key:a});e(c)}a in h||g++;h[a]=b;g>l&&this.remove(n.key);return b}},get:function(a){if(l<Number.MAX_VALUE){var b= |
|||
m[a];if(!b)return;e(b)}return h[a]},remove:function(a){if(l<Number.MAX_VALUE){var b=m[a];if(!b)return;b===p&&(p=b.p);b===n&&(n=b.n);f(b.n,b.p);delete m[a]}a in h&&(delete h[a],g--)},removeAll:function(){h=T();g=0;m=T();p=n=null},destroy:function(){m=k=h=null;delete b[a]},info:function(){return S({},k,{size:g})}}}var b={};a.info=function(){var a={};r(b,function(b,e){a[e]=b.info()});return a};a.get=function(a){return b[a]};return a}}function hg(){this.$get=["$cacheFactory",function(a){return a("templates")}]} |
|||
function Zc(a,b){function d(a,b,c){var d=/^([@&]|[=<](\*?))(\??)\s*([\w$]*)$/,e=T();r(a,function(a,f){a=a.trim();if(a in p)e[f]=p[a];else{var g=a.match(d);if(!g)throw $("iscp",b,f,a,c?"controller bindings definition":"isolate scope definition");e[f]={mode:g[1][0],collection:"*"===g[2],optional:"?"===g[3],attrName:g[4]||f};g[4]&&(p[a]=e[f])}});return e}function c(a){var b=a.charAt(0);if(!b||b!==K(b))throw $("baddir",a);if(a!==a.trim())throw $("baddir",a);}function e(a){var b=a.require||a.controller&& |
|||
a.name;!H(b)&&D(b)&&r(b,function(a,c){var d=a.match(l);a.substring(d[0].length)||(b[c]=d[0]+c)});return b}var f={},g=/^\s*directive:\s*([\w-]+)\s+(.*)$/,k=/(([\w-]+)(?::([^;]+))?;?)/,h=Ae("ngSrc,ngSrcset,src,srcset"),l=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,m=/^(on[a-z]+|formaction)$/,p=T();this.directive=function pa(b,d){gb(b,"name");Ja(b,"directive");C(b)?(c(b),gb(d,"directiveFactory"),f.hasOwnProperty(b)||(f[b]=[],a.factory(b+"Directive",["$injector","$exceptionHandler",function(a,c){var d=[];r(f[b],function(f, |
|||
g){try{var h=a.invoke(f);B(h)?h={compile:ia(h)}:!h.compile&&h.link&&(h.compile=ia(h.link));h.priority=h.priority||0;h.index=g;h.name=h.name||b;h.require=e(h);var k=h,l=h.restrict;if(l&&(!C(l)||!/[EACM]/.test(l)))throw $("badrestrict",l,b);k.restrict=l||"EA";h.$$moduleName=f.$$moduleName;d.push(h)}catch(m){c(m)}});return d}])),f[b].push(d)):r(b,Zb(pa));return this};this.component=function y(a,b){function c(a){function e(b){return B(b)||H(b)?function(c,d){return a.invoke(b,this,{$element:c,$attrs:d})}: |
|||
b}var f=b.template||b.templateUrl?b.template:"",g={controller:d,controllerAs:Gg(b.controller)||b.controllerAs||"$ctrl",template:e(f),templateUrl:e(b.templateUrl),transclude:b.transclude,scope:{},bindToController:b.bindings||{},restrict:"E",require:b.require};r(b,function(a,b){"$"===b.charAt(0)&&(g[b]=a)});return g}if(!C(a))return r(a,Zb(Va(this,y))),this;var d=b.controller||function(){};r(b,function(a,b){"$"===b.charAt(0)&&(c[b]=a,B(d)&&(d[b]=a))});c.$inject=["$injector"];return this.directive(a, |
|||
c)};this.aHrefSanitizationTrustedUrlList=function(a){return w(a)?(b.aHrefSanitizationTrustedUrlList(a),this):b.aHrefSanitizationTrustedUrlList()};Object.defineProperty(this,"aHrefSanitizationWhitelist",{get:function(){return this.aHrefSanitizationTrustedUrlList},set:function(a){this.aHrefSanitizationTrustedUrlList=a}});this.imgSrcSanitizationTrustedUrlList=function(a){return w(a)?(b.imgSrcSanitizationTrustedUrlList(a),this):b.imgSrcSanitizationTrustedUrlList()};Object.defineProperty(this,"imgSrcSanitizationWhitelist", |
|||
{get:function(){return this.imgSrcSanitizationTrustedUrlList},set:function(a){this.imgSrcSanitizationTrustedUrlList=a}});var n=!0;this.debugInfoEnabled=function(a){return w(a)?(n=a,this):n};var s=!1;this.strictComponentBindingsEnabled=function(a){return w(a)?(s=a,this):s};var G=10;this.onChangesTtl=function(a){return arguments.length?(G=a,this):G};var t=!0;this.commentDirectivesEnabled=function(a){return arguments.length?(t=a,this):t};var N=!0;this.cssClassDirectivesEnabled=function(a){return arguments.length? |
|||
(N=a,this):N};var v=T();this.addPropertySecurityContext=function(a,b,c){var d=a.toLowerCase()+"|"+b.toLowerCase();if(d in v&&v[d]!==c)throw $("ctxoverride",a,b,v[d],c);v[d]=c;return this};(function(){function a(b,c){r(c,function(a){v[a.toLowerCase()]=b})}a(W.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]);a(W.CSS,["*|style"]);a(W.URL,"area|href area|ping a|href a|ping blockquote|cite body|background del|cite input|src ins|cite q|cite".split(" "));a(W.MEDIA_URL,"audio|src img|src img|srcset source|src source|srcset track|src video|src video|poster".split(" ")); |
|||
a(W.RESOURCE_URL,"*|formAction applet|code applet|codebase base|href embed|src frame|src form|action head|profile html|manifest iframe|src link|href media|src object|codebase object|data script|src".split(" "))})();this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate",function(a,b,c,e,p,M,L,u,R){function q(){try{if(!--Ja)throw Ua=void 0,$("infchng",G);L.$apply(function(){for(var a=0,b=Ua.length;a<b;++a)try{Ua[a]()}catch(d){c(d)}Ua= |
|||
void 0})}finally{Ja++}}function ma(a,b){if(!a)return a;if(!C(a))throw $("srcset",b,a.toString());for(var c="",d=V(a),e=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,e=/\s/.test(d)?e:/(,)/,d=d.split(e),e=Math.floor(d.length/2),f=0;f<e;f++)var g=2*f,c=c+u.getTrustedMediaUrl(V(d[g])),c=c+(" "+V(d[g+1]));d=V(d[2*f]).split(/\s/);c+=u.getTrustedMediaUrl(V(d[0]));2===d.length&&(c+=" "+V(d[1]));return c}function w(a,b){if(b){var c=Object.keys(b),d,e,f;d=0;for(e=c.length;d<e;d++)f=c[d],this[f]=b[f]}else this.$attr= |
|||
{};this.$$element=a}function O(a,b,c){Fa.innerHTML="<span "+b+">";b=Fa.firstChild.attributes;var d=b[0];b.removeNamedItem(d.name);d.value=c;a.attributes.setNamedItem(d)}function sa(a,b){try{a.addClass(b)}catch(c){}}function da(a,b,c,d,e){a instanceof x||(a=x(a));var f=Xa(a,b,a,c,d,e);da.$$addScopeClass(a);var g=null;return function(b,c,d){if(!a)throw $("multilink");gb(b,"scope");e&&e.needsNewScope&&(b=b.$parent.$new());d=d||{};var h=d.parentBoundTranscludeFn,k=d.transcludeControllers;d=d.futureParentElement; |
|||
h&&h.$$boundTransclude&&(h=h.$$boundTransclude);g||(g=(d=d&&d[0])?"foreignobject"!==ua(d)&&la.call(d).match(/SVG/)?"svg":"html":"html");d="html"!==g?x(ja(g,x("<div></div>").append(a).html())):c?Wa.clone.call(a):a;if(k)for(var l in k)d.data("$"+l+"Controller",k[l].instance);da.$$addScopeInfo(d,b);c&&c(d,b);f&&f(b,d,d,h);c||(a=f=null);return d}}function Xa(a,b,c,d,e,f){function g(a,c,d,e){var f,k,l,m,p,I,t;if(n)for(t=Array(c.length),m=0;m<h.length;m+=3)f=h[m],t[f]=c[f];else t=c;m=0;for(p=h.length;m< |
|||
p;)k=t[h[m++]],c=h[m++],f=h[m++],c?(c.scope?(l=a.$new(),da.$$addScopeInfo(x(k),l)):l=a,I=c.transcludeOnThisElement?ka(a,c.transclude,e):!c.templateOnThisElement&&e?e:!e&&b?ka(a,b):null,c(f,l,k,d,I)):f&&f(a,k.childNodes,void 0,e)}for(var h=[],k=H(a)||a instanceof x,l,m,p,I,n,t=0;t<a.length;t++){l=new w;11===wa&&jb(a,t,k);m=tc(a[t],[],l,0===t?d:void 0,e);(f=m.length?aa(m,a[t],l,b,c,null,[],[],f):null)&&f.scope&&da.$$addScopeClass(l.$$element);l=f&&f.terminal||!(p=a[t].childNodes)||!p.length?null:Xa(p, |
|||
f?(f.transcludeOnThisElement||!f.templateOnThisElement)&&f.transclude:b);if(f||l)h.push(t,f,l),I=!0,n=n||f;f=null}return I?g:null}function jb(a,b,c){var d=a[b],e=d.parentNode,f;if(d.nodeType===Pa)for(;;){f=e?d.nextSibling:a[b+1];if(!f||f.nodeType!==Pa)break;d.nodeValue+=f.nodeValue;f.parentNode&&f.parentNode.removeChild(f);c&&f===a[b+1]&&a.splice(b+1,1)}}function ka(a,b,c){function d(e,f,g,h,k){e||(e=a.$new(!1,k),e.$$transcluded=!0);return b(e,f,{parentBoundTranscludeFn:c,transcludeControllers:g, |
|||
futureParentElement:h})}var e=d.$$slots=T(),f;for(f in b.$$slots)e[f]=b.$$slots[f]?ka(a,b.$$slots[f],c):null;return d}function tc(a,b,d,e,f){var g=d.$attr,h;switch(a.nodeType){case 1:h=ua(a);Y(b,xa(h),"E",e,f);for(var l,m,n,t,J,s=a.attributes,v=0,G=s&&s.length;v<G;v++){var P=!1,N=!1,r=!1,y=!1,u=!1,M;l=s[v];m=l.name;t=l.value;n=xa(m.toLowerCase());(J=n.match(Ra))?(r="Attr"===J[1],y="Prop"===J[1],u="On"===J[1],m=m.replace(rd,"").toLowerCase().substr(4+J[1].length).replace(/_(.)/g,function(a,b){return b.toUpperCase()})): |
|||
(M=n.match(Sa))&&ca(M[1])&&(P=m,N=m.substr(0,m.length-5)+"end",m=m.substr(0,m.length-6));if(y||u)d[n]=t,g[n]=l.name,y?Ea(a,b,n,m):b.push(sd(p,L,c,n,m,!1));else{n=xa(m.toLowerCase());g[n]=m;if(r||!d.hasOwnProperty(n))d[n]=t,nd(a,n)&&(d[n]=!0);Ia(a,b,t,n,r);Y(b,n,"A",e,f,P,N)}}"input"===h&&"hidden"===a.getAttribute("type")&&a.setAttribute("autocomplete","off");if(!Qa)break;g=a.className;D(g)&&(g=g.animVal);if(C(g)&&""!==g)for(;a=k.exec(g);)n=xa(a[2]),Y(b,n,"C",e,f)&&(d[n]=V(a[3])),g=g.substr(a.index+ |
|||
a[0].length);break;case Pa:na(b,a.nodeValue);break;case 8:if(!Oa)break;F(a,b,d,e,f)}b.sort(ia);return b}function F(a,b,c,d,e){try{var f=g.exec(a.nodeValue);if(f){var h=xa(f[1]);Y(b,h,"M",d,e)&&(c[h]=V(f[2]))}}catch(k){}}function U(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw $("uterdir",b,c);1===a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return x(d)}function W(a,b,c){return function(d,e,f,g,h){e=U(e[0], |
|||
b,c);return a(d,e,f,g,h)}}function Z(a,b,c,d,e,f){var g;return a?da(b,c,d,e,f):function(){g||(g=da(b,c,d,e,f),b=c=f=null);return g.apply(this,arguments)}}function aa(a,b,d,e,f,g,h,k,l){function m(a,b,c,d){if(a){c&&(a=W(a,c,d));a.require=u.require;a.directiveName=Q;if(s===u||u.$$isolateScope)a=Ba(a,{isolateScope:!0});h.push(a)}if(b){c&&(b=W(b,c,d));b.require=u.require;b.directiveName=Q;if(s===u||u.$$isolateScope)b=Ba(b,{isolateScope:!0});k.push(b)}}function p(a,e,f,g,l){function m(a,b,c,d){var e;bb(a)|| |
|||
(d=c,c=b,b=a,a=void 0);N&&(e=P);c||(c=N?Q.parent():Q);if(d){var f=l.$$slots[d];if(f)return f(a,b,e,c,R);if(A(f))throw $("noslot",d,Aa(Q));}else return l(a,b,e,c,R)}var n,u,L,y,G,P,M,Q;b===f?(g=d,Q=d.$$element):(Q=x(f),g=new w(Q,d));G=e;s?y=e.$new(!0):t&&(G=e.$parent);l&&(M=m,M.$$boundTransclude=l,M.isSlotFilled=function(a){return!!l.$$slots[a]});J&&(P=ea(Q,g,M,J,y,e,s));s&&(da.$$addScopeInfo(Q,y,!0,!(v&&(v===s||v===s.$$originalDirective))),da.$$addScopeClass(Q,!0),y.$$isolateBindings=s.$$isolateBindings, |
|||
u=Da(e,g,y,y.$$isolateBindings,s),u.removeWatches&&y.$on("$destroy",u.removeWatches));for(n in P){u=J[n];L=P[n];var Hg=u.$$bindings.bindToController;L.instance=L();Q.data("$"+u.name+"Controller",L.instance);L.bindingInfo=Da(G,g,L.instance,Hg,u)}r(J,function(a,b){var c=a.require;a.bindToController&&!H(c)&&D(c)&&S(P[b].instance,X(b,c,Q,P))});r(P,function(a){var b=a.instance;if(B(b.$onChanges))try{b.$onChanges(a.bindingInfo.initialChanges)}catch(d){c(d)}if(B(b.$onInit))try{b.$onInit()}catch(e){c(e)}B(b.$doCheck)&& |
|||
(G.$watch(function(){b.$doCheck()}),b.$doCheck());B(b.$onDestroy)&&G.$on("$destroy",function(){b.$onDestroy()})});n=0;for(u=h.length;n<u;n++)L=h[n],Ca(L,L.isolateScope?y:e,Q,g,L.require&&X(L.directiveName,L.require,Q,P),M);var R=e;s&&(s.template||null===s.templateUrl)&&(R=y);a&&a(R,f.childNodes,void 0,l);for(n=k.length-1;0<=n;n--)L=k[n],Ca(L,L.isolateScope?y:e,Q,g,L.require&&X(L.directiveName,L.require,Q,P),M);r(P,function(a){a=a.instance;B(a.$postLink)&&a.$postLink()})}l=l||{};for(var n=-Number.MAX_VALUE, |
|||
t=l.newScopeDirective,J=l.controllerDirectives,s=l.newIsolateScopeDirective,v=l.templateDirective,L=l.nonTlbTranscludeDirective,G=!1,P=!1,N=l.hasElementTranscludeDirective,y=d.$$element=x(b),u,Q,M,R=e,q,ma=!1,Jb=!1,O,sa=0,C=a.length;sa<C;sa++){u=a[sa];var E=u.$$start,jb=u.$$end;E&&(y=U(b,E,jb));M=void 0;if(n>u.priority)break;if(O=u.scope)u.templateUrl||(D(O)?(ba("new/isolated scope",s||t,u,y),s=u):ba("new/isolated scope",s,u,y)),t=t||u;Q=u.name;if(!ma&&(u.replace&&(u.templateUrl||u.template)||u.transclude&& |
|||
!u.$$tlb)){for(O=sa+1;ma=a[O++];)if(ma.transclude&&!ma.$$tlb||ma.replace&&(ma.templateUrl||ma.template)){Jb=!0;break}ma=!0}!u.templateUrl&&u.controller&&(J=J||T(),ba("'"+Q+"' controller",J[Q],u,y),J[Q]=u);if(O=u.transclude)if(G=!0,u.$$tlb||(ba("transclusion",L,u,y),L=u),"element"===O)N=!0,n=u.priority,M=y,y=d.$$element=x(da.$$createComment(Q,d[Q])),b=y[0],oa(f,Ha.call(M,0),b),R=Z(Jb,M,e,n,g&&g.name,{nonTlbTranscludeDirective:L});else{var ka=T();if(D(O)){M=z.document.createDocumentFragment();var Xa= |
|||
T(),F=T();r(O,function(a,b){var c="?"===a.charAt(0);a=c?a.substring(1):a;Xa[a]=b;ka[b]=null;F[b]=c});r(y.contents(),function(a){var b=Xa[xa(ua(a))];b?(F[b]=!0,ka[b]=ka[b]||z.document.createDocumentFragment(),ka[b].appendChild(a)):M.appendChild(a)});r(F,function(a,b){if(!a)throw $("reqslot",b);});for(var K in ka)ka[K]&&(R=x(ka[K].childNodes),ka[K]=Z(Jb,R,e));M=x(M.childNodes)}else M=x(qc(b)).contents();y.empty();R=Z(Jb,M,e,void 0,void 0,{needsNewScope:u.$$isolateScope||u.$$newScope});R.$$slots=ka}if(u.template)if(P= |
|||
!0,ba("template",v,u,y),v=u,O=B(u.template)?u.template(y,d):u.template,O=Na(O),u.replace){g=u;M=nc.test(O)?td(ja(u.templateNamespace,V(O))):[];b=M[0];if(1!==M.length||1!==b.nodeType)throw $("tplrt",Q,"");oa(f,y,b);C={$attr:{}};O=tc(b,[],C);var Ig=a.splice(sa+1,a.length-(sa+1));(s||t)&&fa(O,s,t);a=a.concat(O).concat(Ig);ga(d,C);C=a.length}else y.html(O);if(u.templateUrl)P=!0,ba("template",v,u,y),v=u,u.replace&&(g=u),p=ha(a.splice(sa,a.length-sa),y,d,f,G&&R,h,k,{controllerDirectives:J,newScopeDirective:t!== |
|||
u&&t,newIsolateScopeDirective:s,templateDirective:v,nonTlbTranscludeDirective:L}),C=a.length;else if(u.compile)try{q=u.compile(y,d,R);var Y=u.$$originalDirective||u;B(q)?m(null,Va(Y,q),E,jb):q&&m(Va(Y,q.pre),Va(Y,q.post),E,jb)}catch(ca){c(ca,Aa(y))}u.terminal&&(p.terminal=!0,n=Math.max(n,u.priority))}p.scope=t&&!0===t.scope;p.transcludeOnThisElement=G;p.templateOnThisElement=P;p.transclude=R;l.hasElementTranscludeDirective=N;return p}function X(a,b,c,d){var e;if(C(b)){var f=b.match(l);b=b.substring(f[0].length); |
|||
var g=f[1]||f[3],f="?"===f[2];"^^"===g?c=c.parent():e=(e=d&&d[b])&&e.instance;if(!e){var h="$"+b+"Controller";e="^^"===g&&c[0]&&9===c[0].nodeType?null:g?c.inheritedData(h):c.data(h)}if(!e&&!f)throw $("ctreq",b,a);}else if(H(b))for(e=[],g=0,f=b.length;g<f;g++)e[g]=X(a,b[g],c,d);else D(b)&&(e={},r(b,function(b,f){e[f]=X(a,b,c,d)}));return e||null}function ea(a,b,c,d,e,f,g){var h=T(),k;for(k in d){var l=d[k],m={$scope:l===g||l.$$isolateScope?e:f,$element:a,$attrs:b,$transclude:c},p=l.controller;"@"=== |
|||
p&&(p=b[l.name]);m=M(p,m,!0,l.controllerAs);h[l.name]=m;a.data("$"+l.name+"Controller",m.instance)}return h}function fa(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d]=bc(a[d],{$$isolateScope:b,$$newScope:c})}function Y(b,c,e,g,h,k,l){if(c===h)return null;var m=null;if(f.hasOwnProperty(c)){h=a.get(c+"Directive");for(var p=0,n=h.length;p<n;p++)if(c=h[p],(A(g)||g>c.priority)&&-1!==c.restrict.indexOf(e)){k&&(c=bc(c,{$$start:k,$$end:l}));if(!c.$$bindings){var I=m=c,t=c.name,u={isolateScope:null,bindToController:null}; |
|||
D(I.scope)&&(!0===I.bindToController?(u.bindToController=d(I.scope,t,!0),u.isolateScope={}):u.isolateScope=d(I.scope,t,!1));D(I.bindToController)&&(u.bindToController=d(I.bindToController,t,!0));if(u.bindToController&&!I.controller)throw $("noctrl",t);m=m.$$bindings=u;D(m.isolateScope)&&(c.$$isolateBindings=m.isolateScope)}b.push(c);m=c}}return m}function ca(b){if(f.hasOwnProperty(b))for(var c=a.get(b+"Directive"),d=0,e=c.length;d<e;d++)if(b=c[d],b.multiElement)return!0;return!1}function ga(a,b){var c= |
|||
b.$attr,d=a.$attr;r(a,function(d,e){"$"!==e.charAt(0)&&(b[e]&&b[e]!==d&&(d=d.length?d+(("style"===e?";":" ")+b[e]):b[e]),a.$set(e,d,!0,c[e]))});r(b,function(b,e){a.hasOwnProperty(e)||"$"===e.charAt(0)||(a[e]=b,"class"!==e&&"style"!==e&&(d[e]=c[e]))})}function ha(a,b,d,f,g,h,k,l){var m=[],p,n,t=b[0],u=a.shift(),J=bc(u,{templateUrl:null,transclude:null,replace:null,$$originalDirective:u}),s=B(u.templateUrl)?u.templateUrl(b,d):u.templateUrl,L=u.templateNamespace;b.empty();e(s).then(function(c){var e, |
|||
I;c=Na(c);if(u.replace){c=nc.test(c)?td(ja(L,V(c))):[];e=c[0];if(1!==c.length||1!==e.nodeType)throw $("tplrt",u.name,s);c={$attr:{}};oa(f,b,e);var v=tc(e,[],c);D(u.scope)&&fa(v,!0);a=v.concat(a);ga(d,c)}else e=t,b.html(c);a.unshift(J);p=aa(a,e,d,g,b,u,h,k,l);r(f,function(a,c){a===e&&(f[c]=b[0])});for(n=Xa(b[0].childNodes,g);m.length;){c=m.shift();I=m.shift();var y=m.shift(),P=m.shift(),v=b[0];if(!c.$$destroyed){if(I!==t){var G=I.className;l.hasElementTranscludeDirective&&u.replace||(v=qc(e));oa(y, |
|||
x(I),v);sa(x(v),G)}I=p.transcludeOnThisElement?ka(c,p.transclude,P):P;p(n,c,v,f,I)}}m=null}).catch(function(a){dc(a)&&c(a)});return function(a,b,c,d,e){a=e;b.$$destroyed||(m?m.push(b,c,d,a):(p.transcludeOnThisElement&&(a=ka(b,p.transclude,e)),p(n,b,c,d,a)))}}function ia(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function ba(a,b,c,d){function e(a){return a?" (module: "+a+")":""}if(b)throw $("multidir",b.name,e(b.$$moduleName),c.name,e(c.$$moduleName), |
|||
a,Aa(d));}function na(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:function(a){a=a.parent();var b=!!a.length;b&&da.$$addBindingClass(a);return function(a,c){var e=c.parent();b||da.$$addBindingClass(e);da.$$addBindingInfo(e,d.expressions);a.$watch(d,function(a){c[0].nodeValue=a})}}})}function ja(a,b){a=K(a||"html");switch(a){case "svg":case "math":var c=z.document.createElement("div");c.innerHTML="<"+a+">"+b+"</"+a+">";return c.childNodes[0].childNodes;default:return b}}function qa(a,b){if("srcdoc"=== |
|||
b)return u.HTML;if("src"===b||"ngSrc"===b)return-1===["img","video","audio","source","track"].indexOf(a)?u.RESOURCE_URL:u.MEDIA_URL;if("xlinkHref"===b)return"image"===a?u.MEDIA_URL:"a"===a?u.URL:u.RESOURCE_URL;if("form"===a&&"action"===b||"base"===a&&"href"===b||"link"===a&&"href"===b)return u.RESOURCE_URL;if("a"===a&&("href"===b||"ngHref"===b))return u.URL}function ya(a,b){var c=b.toLowerCase();return v[a+"|"+c]||v["*|"+c]}function za(a){return ma(u.valueOf(a),"ng-prop-srcset")}function Ea(a,b,c, |
|||
d){if(m.test(d))throw $("nodomevents");a=ua(a);var e=ya(a,d),f=Ta;"srcset"!==d||"img"!==a&&"source"!==a?e&&(f=u.getTrusted.bind(u,e)):f=za;b.push({priority:100,compile:function(a,b){var e=p(b[c]),g=p(b[c],function(a){return u.valueOf(a)});return{pre:function(a,b){function c(){var g=e(a);b[0][d]=f(g)}c();a.$watch(g,c)}}}})}function Ia(a,c,d,e,f){var g=ua(a),k=qa(g,e),l=h[e]||f,p=b(d,!f,k,l);if(p){if("multiple"===e&&"select"===g)throw $("selmulti",Aa(a));if(m.test(e))throw $("nodomevents");c.push({priority:100, |
|||
compile:function(){return{pre:function(a,c,f){c=f.$$observers||(f.$$observers=T());var g=f[e];g!==d&&(p=g&&b(g,!0,k,l),d=g);p&&(f[e]=p(a),(c[e]||(c[e]=[])).$$inter=!0,(f.$$observers&&f.$$observers[e].$$scope||a).$watch(p,function(a,b){"class"===e&&a!==b?f.$updateClass(a,b):f.$set(e,a)}))}}}})}}function oa(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g<h;g++)if(a[g]===d){a[g++]=c;h=g+e-1;for(var k=a.length;g<k;g++,h++)h<k?a[g]=a[h]:delete a[g];a.length-=e-1;a.context===d&& |
|||
(a.context=c);break}f&&f.replaceChild(c,d);a=z.document.createDocumentFragment();for(g=0;g<e;g++)a.appendChild(b[g]);x.hasData(d)&&(x.data(c,x.data(d)),x(d).off("$destroy"));x.cleanData(a.querySelectorAll("*"));for(g=1;g<e;g++)delete b[g];b[0]=c;b.length=1}function Ba(a,b){return S(function(){return a.apply(null,arguments)},a,b)}function Ca(a,b,d,e,f,g){try{a(b,d,e,f,g)}catch(h){c(h,Aa(d))}}function ra(a,b){if(s)throw $("missingattr",a,b);}function Da(a,c,d,e,f){function g(b,c,e){B(d.$onChanges)&& |
|||
!ec(c,e)&&(Ua||(a.$$postDigest(q),Ua=[]),m||(m={},Ua.push(h)),m[b]&&(e=m[b].previousValue),m[b]=new Kb(e,c))}function h(){d.$onChanges(m);m=void 0}var k=[],l={},m;r(e,function(e,h){var m=e.attrName,n=e.optional,I,t,u,s;switch(e.mode){case "@":n||ta.call(c,m)||(ra(m,f.name),d[h]=c[m]=void 0);n=c.$observe(m,function(a){if(C(a)||Ga(a))g(h,a,d[h]),d[h]=a});c.$$observers[m].$$scope=a;I=c[m];C(I)?d[h]=b(I)(a):Ga(I)&&(d[h]=I);l[h]=new Kb(uc,d[h]);k.push(n);break;case "=":if(!ta.call(c,m)){if(n)break;ra(m, |
|||
f.name);c[m]=void 0}if(n&&!c[m])break;t=p(c[m]);s=t.literal?va:ec;u=t.assign||function(){I=d[h]=t(a);throw $("nonassign",c[m],m,f.name);};I=d[h]=t(a);n=function(b){s(b,d[h])||(s(b,I)?u(a,b=d[h]):d[h]=b);return I=b};n.$stateful=!0;n=e.collection?a.$watchCollection(c[m],n):a.$watch(p(c[m],n),null,t.literal);k.push(n);break;case "<":if(!ta.call(c,m)){if(n)break;ra(m,f.name);c[m]=void 0}if(n&&!c[m])break;t=p(c[m]);var v=t.literal,L=d[h]=t(a);l[h]=new Kb(uc,d[h]);n=a[e.collection?"$watchCollection":"$watch"](t, |
|||
function(a,b){if(b===a){if(b===L||v&&va(b,L))return;b=L}g(h,a,b);d[h]=a});k.push(n);break;case "&":n||ta.call(c,m)||ra(m,f.name);t=c.hasOwnProperty(m)?p(c[m]):E;if(t===E&&n)break;d[h]=function(b){return t(a,b)}}});return{initialChanges:l,removeWatches:k.length&&function(){for(var a=0,b=k.length;a<b;++a)k[a]()}}}var Ma=/^\w/,Fa=z.document.createElement("div"),Oa=t,Qa=N,Ja=G,Ua;w.prototype={$normalize:xa,$addClass:function(a){a&&0<a.length&&R.addClass(this.$$element,a)},$removeClass:function(a){a&& |
|||
0<a.length&&R.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=ud(a,b);c&&c.length&&R.addClass(this.$$element,c);(c=ud(b,a))&&c.length&&R.removeClass(this.$$element,c)},$set:function(a,b,d,e){var f=nd(this.$$element[0],a),g=vd[a],h=a;f?(this.$$element.prop(a,b),e=f):g&&(this[g]=b,h=g);this[a]=b;e?this.$attr[a]=e:(e=this.$attr[a])||(this.$attr[a]=e=Xc(a,"-"));"img"===ua(this.$$element)&&"srcset"===a&&(this[a]=b=ma(b,"$set('srcset', value)"));!1!==d&&(null===b||A(b)?this.$$element.removeAttr(e): |
|||
Ma.test(e)?f&&!1===b?this.$$element.removeAttr(e):this.$$element.attr(e,b):O(this.$$element[0],e,b));(a=this.$$observers)&&r(a[h],function(a){try{a(b)}catch(d){c(d)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=T()),e=d[a]||(d[a]=[]);e.push(b);L.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||A(c[a])||b(c[a])});return function(){cb(e,b)}}};var Ka=b.startSymbol(),La=b.endSymbol(),Na="{{"===Ka&&"}}"===La?Ta:function(a){return a.replace(/\{\{/g,Ka).replace(/}}/g,La)},Ra= |
|||
/^ng(Attr|Prop|On)([A-Z].*)$/,Sa=/^(.+)Start$/;da.$$addBindingInfo=n?function(a,b){var c=a.data("$binding")||[];H(b)?c=c.concat(b):c.push(b);a.data("$binding",c)}:E;da.$$addBindingClass=n?function(a){sa(a,"ng-binding")}:E;da.$$addScopeInfo=n?function(a,b,c,d){a.data(c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope",b)}:E;da.$$addScopeClass=n?function(a,b){sa(a,b?"ng-isolate-scope":"ng-scope")}:E;da.$$createComment=function(a,b){var c="";n&&(c=" "+(a||"")+": ",b&&(c+=b+" "));return z.document.createComment(c)}; |
|||
return da}]}function Kb(a,b){this.previousValue=a;this.currentValue=b}function xa(a){return a.replace(rd,"").replace(Jg,function(a,d,c){return c?d.toUpperCase():d})}function ud(a,b){var d="",c=a.split(/\s+/),e=b.split(/\s+/),f=0;a:for(;f<c.length;f++){for(var g=c[f],k=0;k<e.length;k++)if(g===e[k])continue a;d+=(0<d.length?" ":"")+g}return d}function td(a){a=x(a);var b=a.length;if(1>=b)return a;for(;b--;){var d=a[b];(8===d.nodeType||d.nodeType===Pa&&""===d.nodeValue.trim())&&Kg.call(a,b,1)}return a} |
|||
function Gg(a,b){if(b&&C(b))return b;if(C(a)){var d=wd.exec(a);if(d)return d[3]}}function Kf(){var a={};this.has=function(b){return a.hasOwnProperty(b)};this.register=function(b,d){Ja(b,"controller");D(b)?S(a,b):a[b]=d};this.$get=["$injector",function(b){function d(a,b,d,g){if(!a||!D(a.$scope))throw F("$controller")("noscp",g,b);a.$scope[b]=d}return function(c,e,f,g){var k,h,l;f=!0===f;g&&C(g)&&(l=g);if(C(c)){g=c.match(wd);if(!g)throw xd("ctrlfmt",c);h=g[1];l=l||g[3];c=a.hasOwnProperty(h)?a[h]:Le(e.$scope, |
|||
h,!0);if(!c)throw xd("ctrlreg",h);tb(c,h,!0)}if(f)return f=(H(c)?c[c.length-1]:c).prototype,k=Object.create(f||null),l&&d(e,l,k,h||c.name),S(function(){var a=b.invoke(c,k,e,h);a!==k&&(D(a)||B(a))&&(k=a,l&&d(e,l,k,h||c.name));return k},{instance:k,identifier:l});k=b.instantiate(c,e,h);l&&d(e,l,k,h||c.name);return k}}]}function Lf(){this.$get=["$window",function(a){return x(a.document)}]}function Mf(){this.$get=["$document","$rootScope",function(a,b){function d(){e=c.hidden}var c=a[0],e=c&&c.hidden; |
|||
a.on("visibilitychange",d);b.$on("$destroy",function(){a.off("visibilitychange",d)});return function(){return e}}]}function Nf(){this.$get=["$log",function(a){return function(b,d){a.error.apply(a,arguments)}}]}function vc(a){return D(a)?ha(a)?a.toISOString():eb(a):a}function Tf(){this.$get=function(){return function(a){if(!a)return"";var b=[];Qc(a,function(a,c){null===a||A(a)||B(a)||(H(a)?r(a,function(a){b.push(ba(c)+"="+ba(vc(a)))}):b.push(ba(c)+"="+ba(vc(a))))});return b.join("&")}}}function Uf(){this.$get= |
|||
function(){return function(a){function b(a,e,f){H(a)?r(a,function(a,c){b(a,e+"["+(D(a)?c:"")+"]")}):D(a)&&!ha(a)?Qc(a,function(a,c){b(a,e+(f?"":"[")+c+(f?"":"]"))}):(B(a)&&(a=a()),d.push(ba(e)+"="+(null==a?"":ba(vc(a)))))}if(!a)return"";var d=[];b(a,"",!0);return d.join("&")}}}function wc(a,b){if(C(a)){var d=a.replace(Lg,"").trim();if(d){var c=b("Content-Type"),c=c&&0===c.indexOf(yd),e;(e=c)||(e=(e=d.match(Mg))&&Ng[e[0]].test(d));if(e)try{a=Tc(d)}catch(f){if(!c)return a;throw Lb("baddata",a,f);}}}return a} |
|||
function zd(a){var b=T(),d;C(a)?r(a.split("\n"),function(a){d=a.indexOf(":");var e=K(V(a.substr(0,d)));a=V(a.substr(d+1));e&&(b[e]=b[e]?b[e]+", "+a:a)}):D(a)&&r(a,function(a,d){var f=K(d),g=V(a);f&&(b[f]=b[f]?b[f]+", "+g:g)});return b}function Ad(a){var b;return function(d){b||(b=zd(a));return d?(d=b[K(d)],void 0===d&&(d=null),d):b}}function Bd(a,b,d,c){if(B(c))return c(a,b,d);r(c,function(c){a=c(a,b,d)});return a}function Sf(){var a=this.defaults={transformResponse:[wc],transformRequest:[function(a){return D(a)&& |
|||
"[object File]"!==la.call(a)&&"[object Blob]"!==la.call(a)&&"[object FormData]"!==la.call(a)?eb(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ja(xc),put:ja(xc),patch:ja(xc)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},b=!1;this.useApplyAsync=function(a){return w(a)?(b=!!a,this):b};var d=this.interceptors=[],c=this.xsrfTrustedOrigins=[];Object.defineProperty(this,"xsrfWhitelistedOrigins", |
|||
{get:function(){return this.xsrfTrustedOrigins},set:function(a){this.xsrfTrustedOrigins=a}});this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function(e,f,g,k,h,l,m,p){function n(b){function c(a,b){for(var d=0,e=b.length;d<e;){var f=b[d++],g=b[d++];a=a.then(f,g)}b.length=0;return a}function d(a,b){var c,e={};r(a,function(a,d){B(a)?(c=a(b),null!=c&&(e[d]=c)):e[d]=a});return e}function f(a){var b=S({},a);b.data=Bd(a.data,a.headers,a.status,g.transformResponse); |
|||
a=a.status;return 200<=a&&300>a?b:l.reject(b)}if(!D(b))throw F("$http")("badreq",b);if(!C(p.valueOf(b.url)))throw F("$http")("badreq",b.url);var g=S({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer,jsonpCallbackParam:a.jsonpCallbackParam},b);g.headers=function(b){var c=a.headers,e=S({},b.headers),f,g,h,c=S({},c.common,c[K(b.method)]);a:for(f in c){g=K(f);for(h in e)if(K(h)===g)continue a;e[f]=c[f]}return d(e,ja(b))}(b);g.method= |
|||
vb(g.method);g.paramSerializer=C(g.paramSerializer)?m.get(g.paramSerializer):g.paramSerializer;e.$$incOutstandingRequestCount("$http");var h=[],k=[];b=l.resolve(g);r(v,function(a){(a.request||a.requestError)&&h.unshift(a.request,a.requestError);(a.response||a.responseError)&&k.push(a.response,a.responseError)});b=c(b,h);b=b.then(function(b){var c=b.headers,d=Bd(b.data,Ad(c),void 0,b.transformRequest);A(d)&&r(c,function(a,b){"content-type"===K(b)&&delete c[b]});A(b.withCredentials)&&!A(a.withCredentials)&& |
|||
(b.withCredentials=a.withCredentials);return s(b,d).then(f,f)});b=c(b,k);return b=b.finally(function(){e.$$completeOutstandingRequest(E,"$http")})}function s(c,d){function e(a){if(a){var c={};r(a,function(a,d){c[d]=function(c){function d(){a(c)}b?h.$applyAsync(d):h.$$phase?d():h.$apply(d)}});return c}}function k(a,c,d,e,f){function g(){m(c,a,d,e,f)}R&&(200<=a&&300>a?R.put(O,[a,c,zd(d),e,f]):R.remove(O));b?h.$applyAsync(g):(g(),h.$$phase||h.$apply())}function m(a,b,d,e,f){b=-1<=b?b:0;(200<=b&&300> |
|||
b?L.resolve:L.reject)({data:a,status:b,headers:Ad(d),config:c,statusText:e,xhrStatus:f})}function s(a){m(a.data,a.status,ja(a.headers()),a.statusText,a.xhrStatus)}function v(){var a=n.pendingRequests.indexOf(c);-1!==a&&n.pendingRequests.splice(a,1)}var L=l.defer(),u=L.promise,R,q,ma=c.headers,x="jsonp"===K(c.method),O=c.url;x?O=p.getTrustedResourceUrl(O):C(O)||(O=p.valueOf(O));O=G(O,c.paramSerializer(c.params));x&&(O=t(O,c.jsonpCallbackParam));n.pendingRequests.push(c);u.then(v,v);!c.cache&&!a.cache|| |
|||
!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(R=D(c.cache)?c.cache:D(a.cache)?a.cache:N);R&&(q=R.get(O),w(q)?q&&B(q.then)?q.then(s,s):H(q)?m(q[1],q[0],ja(q[2]),q[3],q[4]):m(q,200,{},"OK","complete"):R.put(O,u));A(q)&&((q=kc(c.url)?g()[c.xsrfCookieName||a.xsrfCookieName]:void 0)&&(ma[c.xsrfHeaderName||a.xsrfHeaderName]=q),f(c.method,O,d,k,ma,c.timeout,c.withCredentials,c.responseType,e(c.eventHandlers),e(c.uploadEventHandlers)));return u}function G(a,b){0<b.length&&(a+=(-1===a.indexOf("?")? |
|||
"?":"&")+b);return a}function t(a,b){var c=a.split("?");if(2<c.length)throw Lb("badjsonp",a);c=hc(c[1]);r(c,function(c,d){if("JSON_CALLBACK"===c)throw Lb("badjsonp",a);if(d===b)throw Lb("badjsonp",b,a);});return a+=(-1===a.indexOf("?")?"?":"&")+b+"=JSON_CALLBACK"}var N=k("$http");a.paramSerializer=C(a.paramSerializer)?m.get(a.paramSerializer):a.paramSerializer;var v=[];r(d,function(a){v.unshift(C(a)?m.get(a):m.invoke(a))});var kc=Og(c);n.pendingRequests=[];(function(a){r(arguments,function(a){n[a]= |
|||
function(b,c){return n(S({},c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){r(arguments,function(a){n[a]=function(b,c,d){return n(S({},d||{},{method:a,url:b,data:c}))}})})("post","put","patch");n.defaults=a;return n}]}function Wf(){this.$get=function(){return function(){return new z.XMLHttpRequest}}}function Vf(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function(a,b,d,c){return Pg(a,c,a.defer,b,d[0])}]}function Pg(a,b,d,c,e){function f(a,b,d){a=a.replace("JSON_CALLBACK", |
|||
b);var f=e.createElement("script"),m=null;f.type="text/javascript";f.src=a;f.async=!0;m=function(a){f.removeEventListener("load",m);f.removeEventListener("error",m);e.body.removeChild(f);f=null;var g=-1,s="unknown";a&&("load"!==a.type||c.wasCalled(b)||(a={type:"error"}),s=a.type,g="error"===a.type?404:200);d&&d(g,s)};f.addEventListener("load",m);f.addEventListener("error",m);e.body.appendChild(f);return m}return function(e,k,h,l,m,p,n,s,G,t){function N(a){J="timeout"===a;pa&&pa();y&&y.abort()}function v(a, |
|||
b,c,e,f,g){w(P)&&d.cancel(P);pa=y=null;a(b,c,e,f,g)}k=k||a.url();if("jsonp"===K(e))var q=c.createCallback(k),pa=f(k,q,function(a,b){var d=200===a&&c.getResponse(q);v(l,a,d,"",b,"complete");c.removeCallback(q)});else{var y=b(e,k),J=!1;y.open(e,k,!0);r(m,function(a,b){w(a)&&y.setRequestHeader(b,a)});y.onload=function(){var a=y.statusText||"",b="response"in y?y.response:y.responseText,c=1223===y.status?204:y.status;0===c&&(c=b?200:"file"===ga(k).protocol?404:0);v(l,c,b,y.getAllResponseHeaders(),a,"complete")}; |
|||
y.onerror=function(){v(l,-1,null,null,"","error")};y.ontimeout=function(){v(l,-1,null,null,"","timeout")};y.onabort=function(){v(l,-1,null,null,"",J?"timeout":"abort")};r(G,function(a,b){y.addEventListener(b,a)});r(t,function(a,b){y.upload.addEventListener(b,a)});n&&(y.withCredentials=!0);if(s)try{y.responseType=s}catch(I){if("json"!==s)throw I;}y.send(A(h)?null:h)}if(0<p)var P=d(function(){N("timeout")},p);else p&&B(p.then)&&p.then(function(){N(w(p.$$timeoutId)?"timeout":"abort")})}}function Pf(){var a= |
|||
"{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a};this.endSymbol=function(a){return a?(b=a,this):b};this.$get=["$parse","$exceptionHandler","$sce",function(d,c,e){function f(a){return"\\\\\\"+a}function g(c){return c.replace(p,a).replace(n,b)}function k(a,b,c,d){var e=a.$watch(function(a){e();return d(a)},b,c);return e}function h(f,h,n,p){function v(a){try{return a=n&&!r?e.getTrusted(n,a):e.valueOf(a),p&&!w(a)?a:jc(a)}catch(b){c(Ma.interr(f,b))}}var r=n===e.URL||n===e.MEDIA_URL;if(!f.length|| |
|||
-1===f.indexOf(a)){if(h)return;h=g(f);r&&(h=e.getTrusted(n,h));h=ia(h);h.exp=f;h.expressions=[];h.$$watchDelegate=k;return h}p=!!p;for(var q,y,J=0,I=[],P,Q=f.length,M=[],L=[],u;J<Q;)if(-1!==(q=f.indexOf(a,J))&&-1!==(y=f.indexOf(b,q+l)))J!==q&&M.push(g(f.substring(J,q))),J=f.substring(q+l,y),I.push(J),J=y+m,L.push(M.length),M.push("");else{J!==Q&&M.push(g(f.substring(J)));break}u=1===M.length&&1===L.length;var R=r&&u?void 0:v;P=I.map(function(a){return d(a,R)});if(!h||I.length){var x=function(a){for(var b= |
|||
0,c=I.length;b<c;b++){if(p&&A(a[b]))return;M[L[b]]=a[b]}if(r)return e.getTrusted(n,u?M[0]:M.join(""));n&&1<M.length&&Ma.throwNoconcat(f);return M.join("")};return S(function(a){var b=0,d=I.length,e=Array(d);try{for(;b<d;b++)e[b]=P[b](a);return x(e)}catch(g){c(Ma.interr(f,g))}},{exp:f,expressions:I,$$watchDelegate:function(a,b){var c;return a.$watchGroup(P,function(d,e){var f=x(d);b.call(this,f,d!==e?c:f,a);c=f})}})}}var l=a.length,m=b.length,p=new RegExp(a.replace(/./g,f),"g"),n=new RegExp(b.replace(/./g, |
|||
f),"g");h.startSymbol=function(){return a};h.endSymbol=function(){return b};return h}]}function Qf(){this.$get=["$$intervalFactory","$window",function(a,b){var d={},c=function(a){b.clearInterval(a);delete d[a]},e=a(function(a,c,e){a=b.setInterval(a,c);d[a]=e;return a},c);e.cancel=function(a){if(!a)return!1;if(!a.hasOwnProperty("$$intervalId"))throw Qg("badprom");if(!d.hasOwnProperty(a.$$intervalId))return!1;a=a.$$intervalId;var b=d[a],e=b.promise;e.$$state&&(e.$$state.pur=!0);b.reject("canceled"); |
|||
c(a);return!0};return e}]}function Rf(){this.$get=["$browser","$q","$$q","$rootScope",function(a,b,d,c){return function(e,f){return function(g,k,h,l){function m(){p?g.apply(null,n):g(s)}var p=4<arguments.length,n=p?Ha.call(arguments,4):[],s=0,G=w(l)&&!l,t=(G?d:b).defer(),r=t.promise;h=w(h)?h:0;r.$$intervalId=e(function(){G?a.defer(m):c.$evalAsync(m);t.notify(s++);0<h&&s>=h&&(t.resolve(s),f(r.$$intervalId));G||c.$apply()},k,t,G);return r}}}]}function Cd(a,b){var d=ga(a);b.$$protocol=d.protocol;b.$$host= |
|||
d.hostname;b.$$port=fa(d.port)||Rg[d.protocol]||null}function Dd(a,b,d){if(Sg.test(a))throw kb("badpath",a);var c="/"!==a.charAt(0);c&&(a="/"+a);a=ga(a);for(var c=(c&&"/"===a.pathname.charAt(0)?a.pathname.substring(1):a.pathname).split("/"),e=c.length;e--;)c[e]=decodeURIComponent(c[e]),d&&(c[e]=c[e].replace(/\//g,"%2F"));d=c.join("/");b.$$path=d;b.$$search=hc(a.search);b.$$hash=decodeURIComponent(a.hash);b.$$path&&"/"!==b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function yc(a,b){return a.slice(0, |
|||
b.length)===b}function ya(a,b){if(yc(b,a))return b.substr(a.length)}function Da(a){var b=a.indexOf("#");return-1===b?a:a.substr(0,b)}function zc(a,b,d){this.$$html5=!0;d=d||"";Cd(a,this);this.$$parse=function(a){var d=ya(b,a);if(!C(d))throw kb("ipthprfx",a,b);Dd(d,this,!0);this.$$path||(this.$$path="/");this.$$compose()};this.$$normalizeUrl=function(a){return b+a.substr(1)};this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;w(f=ya(a,c))?(g=f,g=d&&w(f=ya(d,f))? |
|||
b+(ya("/",f)||f):a+g):w(f=ya(b,c))?g=b+f:b===c+"/"&&(g=b);g&&this.$$parse(g);return!!g}}function Ac(a,b,d){Cd(a,this);this.$$parse=function(c){var e=ya(a,c)||ya(b,c),f;A(e)||"#"!==e.charAt(0)?this.$$html5?f=e:(f="",A(e)&&(a=c,this.replace())):(f=ya(d,e),A(f)&&(f=e));Dd(f,this,!1);c=this.$$path;var e=a,g=/^\/[A-Z]:(\/.*)/;yc(f,e)&&(f=f.replace(e,""));g.exec(f)||(c=(f=g.exec(c))?f[1]:c);this.$$path=c;this.$$compose()};this.$$normalizeUrl=function(b){return a+(b?d+b:"")};this.$$parseLinkUrl=function(b, |
|||
d){return Da(a)===Da(b)?(this.$$parse(b),!0):!1}}function Ed(a,b,d){this.$$html5=!0;Ac.apply(this,arguments);this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;a===Da(c)?f=c:(g=ya(b,c))?f=a+d+g:b===c+"/"&&(f=b);f&&this.$$parse(f);return!!f};this.$$normalizeUrl=function(b){return a+d+b}}function Mb(a){return function(){return this[a]}}function Fd(a,b){return function(d){if(A(d))return this[a];this[a]=b(d);this.$$compose();return this}}function Yf(){var a="!", |
|||
b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return w(b)?(a=b,this):a};this.html5Mode=function(a){if(Ga(a))return b.enabled=a,this;if(D(a)){Ga(a.enabled)&&(b.enabled=a.enabled);Ga(a.requireBase)&&(b.requireBase=a.requireBase);if(Ga(a.rewriteLinks)||C(a.rewriteLinks))b.rewriteLinks=a.rewriteLinks;return this}return b};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(d,c,e,f,g){function k(a,b){return a===b||ga(a).href===ga(b).href}function h(a, |
|||
b,d){var e=m.url(),f=m.$$state;try{c.url(a,b,d),m.$$state=c.state()}catch(g){throw m.url(e),m.$$state=f,g;}}function l(a,b){d.$broadcast("$locationChangeSuccess",m.absUrl(),a,m.$$state,b)}var m,p;p=c.baseHref();var n=c.url(),s;if(b.enabled){if(!p&&b.requireBase)throw kb("nobase");s=n.substring(0,n.indexOf("/",n.indexOf("//")+2))+(p||"/");p=e.history?zc:Ed}else s=Da(n),p=Ac;var r=s.substr(0,Da(s).lastIndexOf("/")+1);m=new p(s,r,"#"+a);m.$$parseLinkUrl(n,n);m.$$state=c.state();var t=/^\s*(javascript|mailto):/i; |
|||
f.on("click",function(a){var e=b.rewriteLinks;if(e&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!==a.which&&2!==a.button){for(var g=x(a.target);"a"!==ua(g[0]);)if(g[0]===f[0]||!(g=g.parent())[0])return;if(!C(e)||!A(g.attr(e))){var e=g.prop("href"),h=g.attr("href")||g.attr("xlink:href");D(e)&&"[object SVGAnimatedString]"===e.toString()&&(e=ga(e.animVal).href);t.test(e)||!e||g.attr("target")||a.isDefaultPrevented()||!m.$$parseLinkUrl(e,h)||(a.preventDefault(),m.absUrl()!==c.url()&&d.$apply())}}});m.absUrl()!== |
|||
n&&c.url(m.absUrl(),!0);var N=!0;c.onUrlChange(function(a,b){yc(a,r)?(d.$evalAsync(function(){var c=m.absUrl(),e=m.$$state,f;m.$$parse(a);m.$$state=b;f=d.$broadcast("$locationChangeStart",a,c,b,e).defaultPrevented;m.absUrl()===a&&(f?(m.$$parse(c),m.$$state=e,h(c,!1,e)):(N=!1,l(c,e)))}),d.$$phase||d.$digest()):g.location.href=a});d.$watch(function(){if(N||m.$$urlUpdatedByLocation){m.$$urlUpdatedByLocation=!1;var a=c.url(),b=m.absUrl(),f=c.state(),g=m.$$replace,n=!k(a,b)||m.$$html5&&e.history&&f!== |
|||
m.$$state;if(N||n)N=!1,d.$evalAsync(function(){var b=m.absUrl(),c=d.$broadcast("$locationChangeStart",b,a,m.$$state,f).defaultPrevented;m.absUrl()===b&&(c?(m.$$parse(a),m.$$state=f):(n&&h(b,g,f===m.$$state?null:m.$$state),l(a,f)))})}m.$$replace=!1});return m}]}function Zf(){var a=!0,b=this;this.debugEnabled=function(b){return w(b)?(a=b,this):a};this.$get=["$window",function(d){function c(a){dc(a)&&(a.stack&&f?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&& |
|||
(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=d.console||{},e=b[a]||b.log||E;return function(){var a=[];r(arguments,function(b){a.push(c(b))});return Function.prototype.apply.call(e,b,a)}}var f=wa||/\bEdge\//.test(d.navigator&&d.navigator.userAgent);return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Tg(a){return a+""}function Ug(a,b){return"undefined"!==typeof a?a: |
|||
b}function Gd(a,b){return"undefined"===typeof a?b:"undefined"===typeof b?a:a+b}function Vg(a,b){switch(a.type){case q.MemberExpression:if(a.computed)return!1;break;case q.UnaryExpression:return 1;case q.BinaryExpression:return"+"!==a.operator?1:!1;case q.CallExpression:return!1}return void 0===b?Hd:b}function Z(a,b,d){var c,e,f=a.isPure=Vg(a,d);switch(a.type){case q.Program:c=!0;r(a.body,function(a){Z(a.expression,b,f);c=c&&a.expression.constant});a.constant=c;break;case q.Literal:a.constant=!0;a.toWatch= |
|||
[];break;case q.UnaryExpression:Z(a.argument,b,f);a.constant=a.argument.constant;a.toWatch=a.argument.toWatch;break;case q.BinaryExpression:Z(a.left,b,f);Z(a.right,b,f);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case q.LogicalExpression:Z(a.left,b,f);Z(a.right,b,f);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.constant?[]:[a];break;case q.ConditionalExpression:Z(a.test,b,f);Z(a.alternate,b,f);Z(a.consequent,b,f);a.constant=a.test.constant&& |
|||
a.alternate.constant&&a.consequent.constant;a.toWatch=a.constant?[]:[a];break;case q.Identifier:a.constant=!1;a.toWatch=[a];break;case q.MemberExpression:Z(a.object,b,f);a.computed&&Z(a.property,b,f);a.constant=a.object.constant&&(!a.computed||a.property.constant);a.toWatch=a.constant?[]:[a];break;case q.CallExpression:c=d=a.filter?!b(a.callee.name).$stateful:!1;e=[];r(a.arguments,function(a){Z(a,b,f);c=c&&a.constant;e.push.apply(e,a.toWatch)});a.constant=c;a.toWatch=d?e:[a];break;case q.AssignmentExpression:Z(a.left, |
|||
b,f);Z(a.right,b,f);a.constant=a.left.constant&&a.right.constant;a.toWatch=[a];break;case q.ArrayExpression:c=!0;e=[];r(a.elements,function(a){Z(a,b,f);c=c&&a.constant;e.push.apply(e,a.toWatch)});a.constant=c;a.toWatch=e;break;case q.ObjectExpression:c=!0;e=[];r(a.properties,function(a){Z(a.value,b,f);c=c&&a.value.constant;e.push.apply(e,a.value.toWatch);a.computed&&(Z(a.key,b,!1),c=c&&a.key.constant,e.push.apply(e,a.key.toWatch))});a.constant=c;a.toWatch=e;break;case q.ThisExpression:a.constant= |
|||
!1;a.toWatch=[];break;case q.LocalsExpression:a.constant=!1,a.toWatch=[]}}function Id(a){if(1===a.length){a=a[0].expression;var b=a.toWatch;return 1!==b.length?b:b[0]!==a?b:void 0}}function Jd(a){return a.type===q.Identifier||a.type===q.MemberExpression}function Kd(a){if(1===a.body.length&&Jd(a.body[0].expression))return{type:q.AssignmentExpression,left:a.body[0].expression,right:{type:q.NGValueParameter},operator:"="}}function Ld(a){this.$filter=a}function Md(a){this.$filter=a}function Nb(a,b,d){this.ast= |
|||
new q(a,d);this.astCompiler=d.csp?new Md(b):new Ld(b)}function Bc(a){return B(a.valueOf)?a.valueOf():Wg.call(a)}function $f(){var a=T(),b={"true":!0,"false":!1,"null":null,undefined:void 0},d,c;this.addLiteral=function(a,c){b[a]=c};this.setIdentifierFns=function(a,b){d=a;c=b;return this};this.$get=["$filter",function(e){function f(b,c){var d,f;switch(typeof b){case "string":return f=b=b.trim(),d=a[f],d||(d=new Ob(G),d=(new Nb(d,e,G)).parse(b),a[f]=p(d)),s(d,c);case "function":return s(b,c);default:return s(E, |
|||
c)}}function g(a,b,c){return null==a||null==b?a===b:"object"!==typeof a||(a=Bc(a),"object"!==typeof a||c)?a===b||a!==a&&b!==b:!1}function k(a,b,c,d,e){var f=d.inputs,h;if(1===f.length){var k=g,f=f[0];return a.$watch(function(a){var b=f(a);g(b,k,f.isPure)||(h=d(a,void 0,void 0,[b]),k=b&&Bc(b));return h},b,c,e)}for(var l=[],m=[],n=0,p=f.length;n<p;n++)l[n]=g,m[n]=null;return a.$watch(function(a){for(var b=!1,c=0,e=f.length;c<e;c++){var k=f[c](a);if(b||(b=!g(k,l[c],f[c].isPure)))m[c]=k,l[c]=k&&Bc(k)}b&& |
|||
(h=d(a,void 0,void 0,m));return h},b,c,e)}function h(a,b,c,d,e){function f(){h(m)&&k()}function g(a,b,c,d){m=u&&d?d[0]:n(a,b,c,d);h(m)&&a.$$postDigest(f);return s(m)}var h=d.literal?l:w,k,m,n=d.$$intercepted||d,s=d.$$interceptor||Ta,u=d.inputs&&!n.inputs;g.literal=d.literal;g.constant=d.constant;g.inputs=d.inputs;p(g);return k=a.$watch(g,b,c,e)}function l(a){var b=!0;r(a,function(a){w(a)||(b=!1)});return b}function m(a,b,c,d){var e=a.$watch(function(a){e();return d(a)},b,c);return e}function p(a){a.constant? |
|||
a.$$watchDelegate=m:a.oneTime?a.$$watchDelegate=h:a.inputs&&(a.$$watchDelegate=k);return a}function n(a,b){function c(d){return b(a(d))}c.$stateful=a.$stateful||b.$stateful;c.$$pure=a.$$pure&&b.$$pure;return c}function s(a,b){if(!b)return a;a.$$interceptor&&(b=n(a.$$interceptor,b),a=a.$$intercepted);var c=!1,d=function(d,e,f,g){d=c&&g?g[0]:a(d,e,f,g);return b(d)};d.$$intercepted=a;d.$$interceptor=b;d.literal=a.literal;d.oneTime=a.oneTime;d.constant=a.constant;b.$stateful||(c=!a.inputs,d.inputs=a.inputs? |
|||
a.inputs:[a],b.$$pure||(d.inputs=d.inputs.map(function(a){return a.isPure===Hd?function(b){return a(b)}:a})));return p(d)}var G={csp:Ba().noUnsafeEval,literals:Ia(b),isIdentifierStart:B(d)&&d,isIdentifierContinue:B(c)&&c};f.$$getAst=function(a){var b=new Ob(G);return(new Nb(b,e,G)).getAst(a).ast};return f}]}function bg(){var a=!0;this.$get=["$rootScope","$exceptionHandler",function(b,d){return Nd(function(a){b.$evalAsync(a)},d,a)}];this.errorOnUnhandledRejections=function(b){return w(b)?(a=b,this): |
|||
a}}function cg(){var a=!0;this.$get=["$browser","$exceptionHandler",function(b,d){return Nd(function(a){b.defer(a)},d,a)}];this.errorOnUnhandledRejections=function(b){return w(b)?(a=b,this):a}}function Nd(a,b,d){function c(){return new e}function e(){var a=this.promise=new f;this.resolve=function(b){h(a,b)};this.reject=function(b){m(a,b)};this.notify=function(b){n(a,b)}}function f(){this.$$state={status:0}}function g(){for(;!w&&x.length;){var a=x.shift();if(!a.pur){a.pur=!0;var c=a.value,c="Possibly unhandled rejection: "+ |
|||
("function"===typeof c?c.toString().replace(/ \{[\s\S]*$/,""):A(c)?"undefined":"string"!==typeof c?Ne(c,void 0):c);dc(a.value)?b(a.value,c):b(c)}}}function k(c){!d||c.pending||2!==c.status||c.pur||(0===w&&0===x.length&&a(g),x.push(c));!c.processScheduled&&c.pending&&(c.processScheduled=!0,++w,a(function(){var e,f,k;k=c.pending;c.processScheduled=!1;c.pending=void 0;try{for(var l=0,n=k.length;l<n;++l){c.pur=!0;f=k[l][0];e=k[l][c.status];try{B(e)?h(f,e(c.value)):1===c.status?h(f,c.value):m(f,c.value)}catch(p){m(f, |
|||
p),p&&!0===p.$$passToExceptionHandler&&b(p)}}}finally{--w,d&&0===w&&a(g)}}))}function h(a,b){a.$$state.status||(b===a?p(a,v("qcycle",b)):l(a,b))}function l(a,b){function c(b){g||(g=!0,l(a,b))}function d(b){g||(g=!0,p(a,b))}function e(b){n(a,b)}var f,g=!1;try{if(D(b)||B(b))f=b.then;B(f)?(a.$$state.status=-1,f.call(b,c,d,e)):(a.$$state.value=b,a.$$state.status=1,k(a.$$state))}catch(h){d(h)}}function m(a,b){a.$$state.status||p(a,b)}function p(a,b){a.$$state.value=b;a.$$state.status=2;k(a.$$state)}function n(c, |
|||
d){var e=c.$$state.pending;0>=c.$$state.status&&e&&e.length&&a(function(){for(var a,c,f=0,g=e.length;f<g;f++){c=e[f][0];a=e[f][3];try{n(c,B(a)?a(d):d)}catch(h){b(h)}}})}function s(a){var b=new f;m(b,a);return b}function G(a,b,c){var d=null;try{B(c)&&(d=c())}catch(e){return s(e)}return d&&B(d.then)?d.then(function(){return b(a)},s):b(a)}function t(a,b,c,d){var e=new f;h(e,a);return e.then(b,c,d)}function q(a){if(!B(a))throw v("norslvr",a);var b=new f;a(function(a){h(b,a)},function(a){m(b,a)});return b} |
|||
var v=F("$q",TypeError),w=0,x=[];S(f.prototype,{then:function(a,b,c){if(A(a)&&A(b)&&A(c))return this;var d=new f;this.$$state.pending=this.$$state.pending||[];this.$$state.pending.push([d,a,b,c]);0<this.$$state.status&&k(this.$$state);return d},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return G(b,y,a)},function(b){return G(b,s,a)},b)}});var y=t;q.prototype=f.prototype;q.defer=c;q.reject=s;q.when=t;q.resolve=y;q.all=function(a){var b=new f,c= |
|||
0,d=H(a)?[]:{};r(a,function(a,e){c++;t(a).then(function(a){d[e]=a;--c||h(b,d)},function(a){m(b,a)})});0===c&&h(b,d);return b};q.race=function(a){var b=c();r(a,function(a){t(a).then(b.resolve,b.reject)});return b.promise};return q}function mg(){this.$get=["$window","$timeout",function(a,b){var d=a.requestAnimationFrame||a.webkitRequestAnimationFrame,c=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,e=!!d,f=e?function(a){var b=d(a);return function(){c(b)}}: |
|||
function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};f.supported=e;return f}]}function ag(){function a(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$id=++qb;this.$$ChildScope=null;this.$$suspended=!1}b.prototype=a;return b}var b=10,d=F("$rootScope"),c=null,e=null;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$exceptionHandler","$parse","$browser", |
|||
function(f,g,k){function h(a){a.currentScope.$$destroyed=!0}function l(a){9===wa&&(a.$$childHead&&l(a.$$childHead),a.$$nextSibling&&l(a.$$nextSibling));a.$parent=a.$$nextSibling=a.$$prevSibling=a.$$childHead=a.$$childTail=a.$root=a.$$watchers=null}function m(){this.$id=++qb;this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this.$root=this;this.$$suspended=this.$$destroyed=!1;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount= |
|||
0;this.$$isolateBindings=null}function p(a){if(v.$$phase)throw d("inprog",v.$$phase);v.$$phase=a}function n(a,b){do a.$$watchersCount+=b;while(a=a.$parent)}function s(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function G(){}function t(){for(;y.length;)try{y.shift()()}catch(a){f(a)}e=null}function q(){null===e&&(e=k.defer(function(){v.$apply(t)},null,"$applyAsync"))}m.prototype={constructor:m,$new:function(b,c){var d;c=c||this;b?(d=new m, |
|||
d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=a(this)),d=new this.$$ChildScope);d.$parent=c;d.$$prevSibling=c.$$childTail;c.$$childHead?(c.$$childTail.$$nextSibling=d,c.$$childTail=d):c.$$childHead=c.$$childTail=d;(b||c!==this)&&d.$on("$destroy",h);return d},$watch:function(a,b,d,e){var f=g(a);b=B(b)?b:E;if(f.$$watchDelegate)return f.$$watchDelegate(this,b,d,f,a);var h=this,k=h.$$watchers,l={fn:b,last:G,get:f,exp:e||a,eq:!!d};c=null;k||(k=h.$$watchers=[],k.$$digestWatchIndex=-1);k.unshift(l); |
|||
k.$$digestWatchIndex++;n(this,1);return function(){var a=cb(k,l);0<=a&&(n(h,-1),a<k.$$digestWatchIndex&&k.$$digestWatchIndex--);c=null}},$watchGroup:function(a,b){function c(){h=!1;try{k?(k=!1,b(e,e,g)):b(e,d,g)}finally{for(var f=0;f<a.length;f++)d[f]=e[f]}}var d=Array(a.length),e=Array(a.length),f=[],g=this,h=!1,k=!0;if(!a.length){var l=!0;g.$evalAsync(function(){l&&b(e,e,g)});return function(){l=!1}}if(1===a.length)return this.$watch(a[0],function(a,c,f){e[0]=a;d[0]=c;b(e,a===c?e:d,f)});r(a,function(a, |
|||
b){var d=g.$watch(a,function(a){e[b]=a;h||(h=!0,g.$evalAsync(c))});f.push(d)});return function(){for(;f.length;)f.shift()()}},$watchCollection:function(a,b){function c(a){e=a;var b,d,g,h;if(!A(e)){if(D(e))if(za(e))for(f!==n&&(f=n,t=f.length=0,l++),a=e.length,t!==a&&(l++,f.length=t=a),b=0;b<a;b++)h=f[b],g=e[b],d=h!==h&&g!==g,d||h===g||(l++,f[b]=g);else{f!==p&&(f=p={},t=0,l++);a=0;for(b in e)ta.call(e,b)&&(a++,g=e[b],h=f[b],b in f?(d=h!==h&&g!==g,d||h===g||(l++,f[b]=g)):(t++,f[b]=g,l++));if(t>a)for(b in l++, |
|||
f)ta.call(e,b)||(t--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$$pure=g(a).literal;c.$stateful=!c.$$pure;var d=this,e,f,h,k=1<b.length,l=0,m=g(a,c),n=[],p={},s=!0,t=0;return this.$watch(m,function(){s?(s=!1,b(e,e,d)):b(e,h,d);if(k)if(D(e))if(za(e)){h=Array(e.length);for(var a=0;a<e.length;a++)h[a]=e[a]}else for(a in h={},e)ta.call(e,a)&&(h[a]=e[a]);else h=e})},$digest:function(){var a,g,h,l,m,n,s,r=b,q,y=w.length?v:this,N=[],A,z;p("$digest");k.$$checkUrlChange();this===v&&null!==e&&(k.defer.cancel(e), |
|||
t());c=null;do{s=!1;q=y;for(n=0;n<w.length;n++){try{z=w[n],l=z.fn,l(z.scope,z.locals)}catch(C){f(C)}c=null}w.length=0;a:do{if(n=!q.$$suspended&&q.$$watchers)for(n.$$digestWatchIndex=n.length;n.$$digestWatchIndex--;)try{if(a=n[n.$$digestWatchIndex])if(m=a.get,(g=m(q))!==(h=a.last)&&!(a.eq?va(g,h):Y(g)&&Y(h)))s=!0,c=a,a.last=a.eq?Ia(g,null):g,l=a.fn,l(g,h===G?g:h,q),5>r&&(A=4-r,N[A]||(N[A]=[]),N[A].push({msg:B(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:g,oldVal:h}));else if(a===c){s= |
|||
!1;break a}}catch(E){f(E)}if(!(n=!q.$$suspended&&q.$$watchersCount&&q.$$childHead||q!==y&&q.$$nextSibling))for(;q!==y&&!(n=q.$$nextSibling);)q=q.$parent}while(q=n);if((s||w.length)&&!r--)throw v.$$phase=null,d("infdig",b,N);}while(s||w.length);for(v.$$phase=null;J<x.length;)try{x[J++]()}catch(D){f(D)}x.length=J=0;k.$$checkUrlChange()},$suspend:function(){this.$$suspended=!0},$isSuspended:function(){return this.$$suspended},$resume:function(){this.$$suspended=!1},$destroy:function(){if(!this.$$destroyed){var a= |
|||
this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this===v&&k.$$applicationDestroyed();n(this,-this.$$watchersCount);for(var b in this.$$listenerCount)s(this,this.$$listenerCount[b],b);a&&a.$$childHead===this&&(a.$$childHead=this.$$nextSibling);a&&a.$$childTail===this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply= |
|||
this.$evalAsync=this.$applyAsync=E;this.$on=this.$watch=this.$watchGroup=function(){return E};this.$$listeners={};this.$$nextSibling=null;l(this)}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a,b){v.$$phase||w.length||k.defer(function(){w.length&&v.$digest()},null,"$evalAsync");w.push({scope:this,fn:g(a),locals:b})},$$postDigest:function(a){x.push(a)},$apply:function(a){try{p("$apply");try{return this.$eval(a)}finally{v.$$phase=null}}catch(b){f(b)}finally{try{v.$digest()}catch(c){throw f(c), |
|||
c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&y.push(b);a=g(a);q()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(delete c[d],s(e,1,a))}},$emit:function(a,b){var c=[],d,e=this,g=!1,h={name:a,targetScope:e,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented= |
|||
!0},defaultPrevented:!1},k=db([h],arguments,1),l,m;do{d=e.$$listeners[a]||c;h.currentScope=e;l=0;for(m=d.length;l<m;l++)if(d[l])try{d[l].apply(null,k)}catch(n){f(n)}else d.splice(l,1),l--,m--;if(g)break;e=e.$parent}while(e);h.currentScope=null;return h},$broadcast:function(a,b){var c=this,d=this,e={name:a,targetScope:this,preventDefault:function(){e.defaultPrevented=!0},defaultPrevented:!1};if(!this.$$listenerCount[a])return e;for(var g=db([e],arguments,1),h,k;c=d;){e.currentScope=c;d=c.$$listeners[a]|| |
|||
[];h=0;for(k=d.length;h<k;h++)if(d[h])try{d[h].apply(null,g)}catch(l){f(l)}else d.splice(h,1),h--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}e.currentScope=null;return e}};var v=new m,w=v.$$asyncQueue=[],x=v.$$postDigestQueue=[],y=v.$$applyAsyncQueue=[],J=0;return v}]}function Qe(){var a=/^\s*(https?|s?ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationTrustedUrlList=function(b){return w(b)? |
|||
(a=b,this):a};this.imgSrcSanitizationTrustedUrlList=function(a){return w(a)?(b=a,this):b};this.$get=function(){return function(d,c){var e=c?b:a,f=ga(d&&d.trim()).href;return""===f||f.match(e)?d:"unsafe:"+f}}}function Xg(a){if("self"===a)return a;if(C(a)){if(-1<a.indexOf("***"))throw Ea("iwcard",a);a=Od(a).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*");return new RegExp("^"+a+"$")}if(ab(a))return new RegExp("^"+a.source+"$");throw Ea("imatcher");}function Pd(a){var b=[];w(a)&&r(a,function(a){b.push(Xg(a))}); |
|||
return b}function eg(){this.SCE_CONTEXTS=W;var a=["self"],b=[];this.trustedResourceUrlList=function(b){arguments.length&&(a=Pd(b));return a};Object.defineProperty(this,"resourceUrlWhitelist",{get:function(){return this.trustedResourceUrlList},set:function(a){this.trustedResourceUrlList=a}});this.bannedResourceUrlList=function(a){arguments.length&&(b=Pd(a));return b};Object.defineProperty(this,"resourceUrlBlacklist",{get:function(){return this.bannedResourceUrlList},set:function(a){this.bannedResourceUrlList= |
|||
a}});this.$get=["$injector","$$sanitizeUri",function(d,c){function e(a,b){var c;"self"===a?(c=Cc(b,Qd))||(z.document.baseURI?c=z.document.baseURI:(Na||(Na=z.document.createElement("a"),Na.href=".",Na=Na.cloneNode(!1)),c=Na.href),c=Cc(b,c)):c=!!a.exec(b.href);return c}function f(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()}; |
|||
return b}var g=function(a){throw Ea("unsafe");};d.has("$sanitize")&&(g=d.get("$sanitize"));var k=f(),h={};h[W.HTML]=f(k);h[W.CSS]=f(k);h[W.MEDIA_URL]=f(k);h[W.URL]=f(h[W.MEDIA_URL]);h[W.JS]=f(k);h[W.RESOURCE_URL]=f(h[W.URL]);return{trustAs:function(a,b){var c=h.hasOwnProperty(a)?h[a]:null;if(!c)throw Ea("icontext",a,b);if(null===b||A(b)||""===b)return b;if("string"!==typeof b)throw Ea("itype",a);return new c(b)},getTrusted:function(d,f){if(null===f||A(f)||""===f)return f;var k=h.hasOwnProperty(d)? |
|||
h[d]:null;if(k&&f instanceof k)return f.$$unwrapTrustedValue();B(f.$$unwrapTrustedValue)&&(f=f.$$unwrapTrustedValue());if(d===W.MEDIA_URL||d===W.URL)return c(f.toString(),d===W.MEDIA_URL);if(d===W.RESOURCE_URL){var k=ga(f.toString()),n,s,r=!1;n=0;for(s=a.length;n<s;n++)if(e(a[n],k)){r=!0;break}if(r)for(n=0,s=b.length;n<s;n++)if(e(b[n],k)){r=!1;break}if(r)return f;throw Ea("insecurl",f.toString());}if(d===W.HTML)return g(f);throw Ea("unsafe");},valueOf:function(a){return a instanceof k?a.$$unwrapTrustedValue(): |
|||
a}}}]}function dg(){var a=!0;this.enabled=function(b){arguments.length&&(a=!!b);return a};this.$get=["$parse","$sceDelegate",function(b,d){if(a&&8>wa)throw Ea("iequirks");var c=ja(W);c.isEnabled=function(){return a};c.trustAs=d.trustAs;c.getTrusted=d.getTrusted;c.valueOf=d.valueOf;a||(c.trustAs=c.getTrusted=function(a,b){return b},c.valueOf=Ta);c.parseAs=function(a,d){var e=b(d);return e.literal&&e.constant?e:b(d,function(b){return c.getTrusted(a,b)})};var e=c.parseAs,f=c.getTrusted,g=c.trustAs;r(W, |
|||
function(a,b){var d=K(b);c[("parse_as_"+d).replace(Dc,xb)]=function(b){return e(a,b)};c[("get_trusted_"+d).replace(Dc,xb)]=function(b){return f(a,b)};c[("trust_as_"+d).replace(Dc,xb)]=function(b){return g(a,b)}});return c}]}function fg(){this.$get=["$window","$document",function(a,b){var d={},c=!((!a.nw||!a.nw.process)&&a.chrome&&(a.chrome.app&&a.chrome.app.runtime||!a.chrome.app&&a.chrome.runtime&&a.chrome.runtime.id))&&a.history&&a.history.pushState,e=fa((/android (\d+)/.exec(K((a.navigator||{}).userAgent))|| |
|||
[])[1]),f=/Boxee/i.test((a.navigator||{}).userAgent),g=b[0]||{},k=g.body&&g.body.style,h=!1,l=!1;k&&(h=!!("transition"in k||"webkitTransition"in k),l=!!("animation"in k||"webkitAnimation"in k));return{history:!(!c||4>e||f),hasEvent:function(a){if("input"===a&&wa)return!1;if(A(d[a])){var b=g.createElement("div");d[a]="on"+a in b}return d[a]},csp:Ba(),transitions:h,animations:l,android:e}}]}function gg(){this.$get=ia(function(a){return new Yg(a)})}function Yg(a){function b(){var a=e.pop();return a&& |
|||
a.cb}function d(a){for(var b=e.length-1;0<=b;--b){var c=e[b];if(c.type===a)return e.splice(b,1),c.cb}}var c={},e=[],f=this.ALL_TASKS_TYPE="$$all$$",g=this.DEFAULT_TASK_TYPE="$$default$$";this.completeTask=function(e,h){h=h||g;try{e()}finally{var l;l=h||g;c[l]&&(c[l]--,c[f]--);l=c[h];var m=c[f];if(!m||!l)for(l=m?d:b;m=l(h);)try{m()}catch(p){a.error(p)}}};this.incTaskCount=function(a){a=a||g;c[a]=(c[a]||0)+1;c[f]=(c[f]||0)+1};this.notifyWhenNoPendingTasks=function(a,b){b=b||f;c[b]?e.push({type:b,cb:a}): |
|||
a()}}function ig(){var a;this.httpOptions=function(b){return b?(a=b,this):a};this.$get=["$exceptionHandler","$templateCache","$http","$q","$sce",function(b,d,c,e,f){function g(k,h){g.totalPendingRequests++;if(!C(k)||A(d.get(k)))k=f.getTrustedResourceUrl(k);var l=c.defaults&&c.defaults.transformResponse;H(l)?l=l.filter(function(a){return a!==wc}):l===wc&&(l=null);return c.get(k,S({cache:d,transformResponse:l},a)).finally(function(){g.totalPendingRequests--}).then(function(a){return d.put(k,a.data)}, |
|||
function(a){h||(a=Zg("tpload",k,a.status,a.statusText),b(a));return e.reject(a)})}g.totalPendingRequests=0;return g}]}function jg(){this.$get=["$rootScope","$browser","$location",function(a,b,d){return{findBindings:function(a,b,d){a=a.getElementsByClassName("ng-binding");var g=[];r(a,function(a){var c=ca.element(a).data("$binding");c&&r(c,function(c){d?(new RegExp("(^|\\s)"+Od(b)+"(\\s|\\||$)")).test(c)&&g.push(a):-1!==c.indexOf(b)&&g.push(a)})});return g},findModels:function(a,b,d){for(var g=["ng-", |
|||
"data-ng-","ng\\:"],k=0;k<g.length;++k){var h=a.querySelectorAll("["+g[k]+"model"+(d?"=":"*=")+'"'+b+'"]');if(h.length)return h}},getLocation:function(){return d.url()},setLocation:function(b){b!==d.url()&&(d.url(b),a.$digest())},whenStable:function(a){b.notifyWhenNoOutstandingRequests(a)}}}]}function kg(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(a,b,d,c,e){function f(f,h,l){B(f)||(l=h,h=f,f=E);var m=Ha.call(arguments,3),p=w(l)&&!l,n=(p?c:d).defer(),s=n.promise,r; |
|||
r=b.defer(function(){try{n.resolve(f.apply(null,m))}catch(b){n.reject(b),e(b)}finally{delete g[s.$$timeoutId]}p||a.$apply()},h,"$timeout");s.$$timeoutId=r;g[r]=n;return s}var g={};f.cancel=function(a){if(!a)return!1;if(!a.hasOwnProperty("$$timeoutId"))throw $g("badprom");if(!g.hasOwnProperty(a.$$timeoutId))return!1;a=a.$$timeoutId;var c=g[a],d=c.promise;d.$$state&&(d.$$state.pur=!0);c.reject("canceled");delete g[a];return b.defer.cancel(a)};return f}]}function ga(a){if(!C(a))return a;wa&&(aa.setAttribute("href", |
|||
a),a=aa.href);aa.setAttribute("href",a);a=aa.hostname;!ah&&-1<a.indexOf(":")&&(a="["+a+"]");return{href:aa.href,protocol:aa.protocol?aa.protocol.replace(/:$/,""):"",host:aa.host,search:aa.search?aa.search.replace(/^\?/,""):"",hash:aa.hash?aa.hash.replace(/^#/,""):"",hostname:a,port:aa.port,pathname:"/"===aa.pathname.charAt(0)?aa.pathname:"/"+aa.pathname}}function Og(a){var b=[Qd].concat(a.map(ga));return function(a){a=ga(a);return b.some(Cc.bind(null,a))}}function Cc(a,b){a=ga(a);b=ga(b);return a.protocol=== |
|||
b.protocol&&a.host===b.host}function lg(){this.$get=ia(z)}function Rd(a){function b(a){try{return decodeURIComponent(a)}catch(b){return a}}var d=a[0]||{},c={},e="";return function(){var a,g,k,h,l;try{a=d.cookie||""}catch(m){a=""}if(a!==e)for(e=a,a=e.split("; "),c={},k=0;k<a.length;k++)g=a[k],h=g.indexOf("="),0<h&&(l=b(g.substring(0,h)),A(c[l])&&(c[l]=b(g.substring(h+1))));return c}}function pg(){this.$get=Rd}function fd(a){function b(d,c){if(D(d)){var e={};r(d,function(a,c){e[c]=b(c,a)});return e}return a.factory(d+ |
|||
"Filter",c)}this.register=b;this.$get=["$injector",function(a){return function(b){return a.get(b+"Filter")}}];b("currency",Sd);b("date",Td);b("filter",bh);b("json",ch);b("limitTo",dh);b("lowercase",eh);b("number",Ud);b("orderBy",Vd);b("uppercase",fh)}function bh(){return function(a,b,d,c){if(!za(a)){if(null==a)return a;throw F("filter")("notarray",a);}c=c||"$";var e;switch(Ec(b)){case "function":break;case "boolean":case "null":case "number":case "string":e=!0;case "object":b=gh(b,d,c,e);break;default:return a}return Array.prototype.filter.call(a, |
|||
b)}}function gh(a,b,d,c){var e=D(a)&&d in a;!0===b?b=va:B(b)||(b=function(a,b){if(A(a))return!1;if(null===a||null===b)return a===b;if(D(b)||D(a)&&!cc(a))return!1;a=K(""+a);b=K(""+b);return-1!==a.indexOf(b)});return function(f){return e&&!D(f)?Fa(f,a[d],b,d,!1):Fa(f,a,b,d,c)}}function Fa(a,b,d,c,e,f){var g=Ec(a),k=Ec(b);if("string"===k&&"!"===b.charAt(0))return!Fa(a,b.substring(1),d,c,e);if(H(a))return a.some(function(a){return Fa(a,b,d,c,e)});switch(g){case "object":var h;if(e){for(h in a)if(h.charAt&& |
|||
"$"!==h.charAt(0)&&Fa(a[h],b,d,c,!0))return!0;return f?!1:Fa(a,b,d,c,!1)}if("object"===k){for(h in b)if(f=b[h],!B(f)&&!A(f)&&(g=h===c,!Fa(g?a:a[h],f,d,c,g,g)))return!1;return!0}return d(a,b);case "function":return!1;default:return d(a,b)}}function Ec(a){return null===a?"null":typeof a}function Sd(a){var b=a.NUMBER_FORMATS;return function(a,c,e){A(c)&&(c=b.CURRENCY_SYM);A(e)&&(e=b.PATTERNS[1].maxFrac);var f=c?/\u00A4/g:/\s*\u00A4\s*/g;return null==a?a:Wd(a,b.PATTERNS[1],b.GROUP_SEP,b.DECIMAL_SEP,e).replace(f, |
|||
c)}}function Ud(a){var b=a.NUMBER_FORMATS;return function(a,c){return null==a?a:Wd(a,b.PATTERNS[0],b.GROUP_SEP,b.DECIMAL_SEP,c)}}function hh(a){var b=0,d,c,e,f,g;-1<(c=a.indexOf(Xd))&&(a=a.replace(Xd,""));0<(e=a.search(/e/i))?(0>c&&(c=e),c+=+a.slice(e+1),a=a.substring(0,e)):0>c&&(c=a.length);for(e=0;a.charAt(e)===Fc;e++);if(e===(g=a.length))d=[0],c=1;else{for(g--;a.charAt(g)===Fc;)g--;c-=e;d=[];for(f=0;e<=g;e++,f++)d[f]=+a.charAt(e)}c>Yd&&(d=d.splice(0,Yd-1),b=c-1,c=1);return{d:d,e:b,i:c}}function ih(a, |
|||
b,d,c){var e=a.d,f=e.length-a.i;b=A(b)?Math.min(Math.max(d,f),c):+b;d=b+a.i;c=e[d];if(0<d){e.splice(Math.max(a.i,d));for(var g=d;g<e.length;g++)e[g]=0}else for(f=Math.max(0,f),a.i=1,e.length=Math.max(1,d=b+1),e[0]=0,g=1;g<d;g++)e[g]=0;if(5<=c)if(0>d-1){for(c=0;c>d;c--)e.unshift(0),a.i++;e.unshift(1);a.i++}else e[d-1]++;for(;f<Math.max(0,b);f++)e.push(0);if(b=e.reduceRight(function(a,b,c,d){b+=a;d[c]=b%10;return Math.floor(b/10)},0))e.unshift(b),a.i++}function Wd(a,b,d,c,e){if(!C(a)&&!X(a)||isNaN(a))return""; |
|||
var f=!isFinite(a),g=!1,k=Math.abs(a)+"",h="";if(f)h="\u221e";else{g=hh(k);ih(g,e,b.minFrac,b.maxFrac);h=g.d;k=g.i;e=g.e;f=[];for(g=h.reduce(function(a,b){return a&&!b},!0);0>k;)h.unshift(0),k++;0<k?f=h.splice(k,h.length):(f=h,h=[0]);k=[];for(h.length>=b.lgSize&&k.unshift(h.splice(-b.lgSize,h.length).join(""));h.length>b.gSize;)k.unshift(h.splice(-b.gSize,h.length).join(""));h.length&&k.unshift(h.join(""));h=k.join(d);f.length&&(h+=c+f.join(""));e&&(h+="e+"+e)}return 0>a&&!g?b.negPre+h+b.negSuf:b.posPre+ |
|||
h+b.posSuf}function Pb(a,b,d,c){var e="";if(0>a||c&&0>=a)c?a=-a+1:(a=-a,e="-");for(a=""+a;a.length<b;)a=Fc+a;d&&(a=a.substr(a.length-b));return e+a}function ea(a,b,d,c,e){d=d||0;return function(f){f=f["get"+a]();if(0<d||f>-d)f+=d;0===f&&-12===d&&(f=12);return Pb(f,b,c,e)}}function lb(a,b,d){return function(c,e){var f=c["get"+a](),g=vb((d?"STANDALONE":"")+(b?"SHORT":"")+a);return e[g][f]}}function Zd(a){var b=(new Date(a,0,1)).getDay();return new Date(a,0,(4>=b?5:12)-b)}function $d(a){return function(b){var d= |
|||
Zd(b.getFullYear());b=+new Date(b.getFullYear(),b.getMonth(),b.getDate()+(4-b.getDay()))-+d;b=1+Math.round(b/6048E5);return Pb(b,a)}}function Gc(a,b){return 0>=a.getFullYear()?b.ERAS[0]:b.ERAS[1]}function Td(a){function b(a){var b;if(b=a.match(d)){a=new Date(0);var f=0,g=0,k=b[8]?a.setUTCFullYear:a.setFullYear,h=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=fa(b[9]+b[10]),g=fa(b[9]+b[11]));k.call(a,fa(b[1]),fa(b[2])-1,fa(b[3]));f=fa(b[4]||0)-f;g=fa(b[5]||0)-g;k=fa(b[6]||0);b=Math.round(1E3*parseFloat("0."+ |
|||
(b[7]||0)));h.call(a,f,g,k,b)}return a}var d=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,f){var g="",k=[],h,l;d=d||"mediumDate";d=a.DATETIME_FORMATS[d]||d;C(c)&&(c=jh.test(c)?fa(c):b(c));X(c)&&(c=new Date(c));if(!ha(c)||!isFinite(c.getTime()))return c;for(;d;)(l=kh.exec(d))?(k=db(k,l,1),d=k.pop()):(k.push(d),d=null);var m=c.getTimezoneOffset();f&&(m=fc(f,m),c=gc(c,f,!0));r(k,function(b){h=lh[b];g+=h?h(c,a.DATETIME_FORMATS, |
|||
m):"''"===b?"'":b.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function ch(){return function(a,b){A(b)&&(b=2);return eb(a,b)}}function dh(){return function(a,b,d){b=Infinity===Math.abs(Number(b))?Number(b):fa(b);if(Y(b))return a;X(a)&&(a=a.toString());if(!za(a))return a;d=!d||isNaN(d)?0:fa(d);d=0>d?Math.max(0,a.length+d):d;return 0<=b?Hc(a,d,d+b):0===d?Hc(a,b,a.length):Hc(a,Math.max(0,d+b),d)}}function Hc(a,b,d){return C(a)?a.slice(b,d):Ha.call(a,b,d)}function Vd(a){function b(b){return b.map(function(b){var c= |
|||
1,d=Ta;if(B(b))d=b;else if(C(b)){if("+"===b.charAt(0)||"-"===b.charAt(0))c="-"===b.charAt(0)?-1:1,b=b.substring(1);if(""!==b&&(d=a(b),d.constant))var e=d(),d=function(a){return a[e]}}return{get:d,descending:c}})}function d(a){switch(typeof a){case "number":case "boolean":case "string":return!0;default:return!1}}function c(a,b){var c=0,d=a.type,h=b.type;if(d===h){var h=a.value,l=b.value;"string"===d?(h=h.toLowerCase(),l=l.toLowerCase()):"object"===d&&(D(h)&&(h=a.index),D(l)&&(l=b.index));h!==l&&(c= |
|||
h<l?-1:1)}else c="undefined"===d?1:"undefined"===h?-1:"null"===d?1:"null"===h?-1:d<h?-1:1;return c}return function(a,f,g,k){if(null==a)return a;if(!za(a))throw F("orderBy")("notarray",a);H(f)||(f=[f]);0===f.length&&(f=["+"]);var h=b(f),l=g?-1:1,m=B(k)?k:c;a=Array.prototype.map.call(a,function(a,b){return{value:a,tieBreaker:{value:b,type:"number",index:b},predicateValues:h.map(function(c){var e=c.get(a);c=typeof e;if(null===e)c="null";else if("object"===c)a:{if(B(e.valueOf)&&(e=e.valueOf(),d(e)))break a; |
|||
cc(e)&&(e=e.toString(),d(e))}return{value:e,type:c,index:b}})}});a.sort(function(a,b){for(var d=0,e=h.length;d<e;d++){var f=m(a.predicateValues[d],b.predicateValues[d]);if(f)return f*h[d].descending*l}return(m(a.tieBreaker,b.tieBreaker)||c(a.tieBreaker,b.tieBreaker))*l});return a=a.map(function(a){return a.value})}}function Ra(a){B(a)&&(a={link:a});a.restrict=a.restrict||"AC";return ia(a)}function Qb(a,b,d,c,e){this.$$controls=[];this.$error={};this.$$success={};this.$pending=void 0;this.$name=e(b.name|| |
|||
b.ngForm||"")(d);this.$dirty=!1;this.$valid=this.$pristine=!0;this.$submitted=this.$invalid=!1;this.$$parentForm=mb;this.$$element=a;this.$$animate=c;ae(this)}function ae(a){a.$$classCache={};a.$$classCache[be]=!(a.$$classCache[nb]=a.$$element.hasClass(nb))}function ce(a){function b(a,b,c){c&&!a.$$classCache[b]?(a.$$animate.addClass(a.$$element,b),a.$$classCache[b]=!0):!c&&a.$$classCache[b]&&(a.$$animate.removeClass(a.$$element,b),a.$$classCache[b]=!1)}function d(a,c,d){c=c?"-"+Xc(c,"-"):"";b(a,nb+ |
|||
c,!0===d);b(a,be+c,!1===d)}var c=a.set,e=a.unset;a.clazz.prototype.$setValidity=function(a,g,k){A(g)?(this.$pending||(this.$pending={}),c(this.$pending,a,k)):(this.$pending&&e(this.$pending,a,k),de(this.$pending)&&(this.$pending=void 0));Ga(g)?g?(e(this.$error,a,k),c(this.$$success,a,k)):(c(this.$error,a,k),e(this.$$success,a,k)):(e(this.$error,a,k),e(this.$$success,a,k));this.$pending?(b(this,"ng-pending",!0),this.$valid=this.$invalid=void 0,d(this,"",null)):(b(this,"ng-pending",!1),this.$valid= |
|||
de(this.$error),this.$invalid=!this.$valid,d(this,"",this.$valid));g=this.$pending&&this.$pending[a]?void 0:this.$error[a]?!1:this.$$success[a]?!0:null;d(this,a,g);this.$$parentForm.$setValidity(a,g,this)}}function de(a){if(a)for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}function Ic(a){a.$formatters.push(function(b){return a.$isEmpty(b)?b:b.toString()})}function Sa(a,b,d,c,e,f){var g=K(b[0].type);if(!e.android){var k=!1;b.on("compositionstart",function(){k=!0});b.on("compositionupdate", |
|||
function(a){if(A(a.data)||""===a.data)k=!1});b.on("compositionend",function(){k=!1;l()})}var h,l=function(a){h&&(f.defer.cancel(h),h=null);if(!k){var e=b.val();a=a&&a.type;"password"===g||d.ngTrim&&"false"===d.ngTrim||(e=V(e));(c.$viewValue!==e||""===e&&c.$$hasNativeValidators)&&c.$setViewValue(e,a)}};if(e.hasEvent("input"))b.on("input",l);else{var m=function(a,b,c){h||(h=f.defer(function(){h=null;b&&b.value===c||l(a)}))};b.on("keydown",function(a){var b=a.keyCode;91===b||15<b&&19>b||37<=b&&40>=b|| |
|||
m(a,this,this.value)});if(e.hasEvent("paste"))b.on("paste cut drop",m)}b.on("change",l);if(ee[g]&&c.$$hasNativeValidators&&g===d.type)b.on("keydown wheel mousedown",function(a){if(!h){var b=this.validity,c=b.badInput,d=b.typeMismatch;h=f.defer(function(){h=null;b.badInput===c&&b.typeMismatch===d||l(a)})}});c.$render=function(){var a=c.$isEmpty(c.$viewValue)?"":c.$viewValue;b.val()!==a&&b.val(a)}}function Rb(a,b){return function(d,c){var e,f;if(ha(d))return d;if(C(d)){'"'===d.charAt(0)&&'"'===d.charAt(d.length- |
|||
1)&&(d=d.substring(1,d.length-1));if(mh.test(d))return new Date(d);a.lastIndex=0;if(e=a.exec(d))return e.shift(),f=c?{yyyy:c.getFullYear(),MM:c.getMonth()+1,dd:c.getDate(),HH:c.getHours(),mm:c.getMinutes(),ss:c.getSeconds(),sss:c.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},r(e,function(a,c){c<b.length&&(f[b[c]]=+a)}),e=new Date(f.yyyy,f.MM-1,f.dd,f.HH,f.mm,f.ss||0,1E3*f.sss||0),100>f.yyyy&&e.setFullYear(f.yyyy),e}return NaN}}function ob(a,b,d,c){return function(e,f,g,k,h,l,m, |
|||
p){function n(a){return a&&!(a.getTime&&a.getTime()!==a.getTime())}function s(a){return w(a)&&!ha(a)?r(a)||void 0:a}function r(a,b){var c=k.$options.getOption("timezone");v&&v!==c&&(b=Uc(b,fc(v)));var e=d(a,b);!isNaN(e)&&c&&(e=gc(e,c));return e}Jc(e,f,g,k,a);Sa(e,f,g,k,h,l);var t="time"===a||"datetimelocal"===a,q,v;k.$parsers.push(function(c){if(k.$isEmpty(c))return null;if(b.test(c))return r(c,q);k.$$parserName=a});k.$formatters.push(function(a){if(a&&!ha(a))throw pb("datefmt",a);if(n(a)){q=a;var b= |
|||
k.$options.getOption("timezone");b&&(v=b,q=gc(q,b,!0));var d=c;t&&C(k.$options.getOption("timeSecondsFormat"))&&(d=c.replace("ss.sss",k.$options.getOption("timeSecondsFormat")).replace(/:$/,""));a=m("date")(a,d,b);t&&k.$options.getOption("timeStripZeroSeconds")&&(a=a.replace(/(?::00)?(?:\.000)?$/,""));return a}v=q=null;return""});if(w(g.min)||g.ngMin){var x=g.min||p(g.ngMin)(e),z=s(x);k.$validators.min=function(a){return!n(a)||A(z)||d(a)>=z};g.$observe("min",function(a){a!==x&&(z=s(a),x=a,k.$validate())})}if(w(g.max)|| |
|||
g.ngMax){var y=g.max||p(g.ngMax)(e),J=s(y);k.$validators.max=function(a){return!n(a)||A(J)||d(a)<=J};g.$observe("max",function(a){a!==y&&(J=s(a),y=a,k.$validate())})}}}function Jc(a,b,d,c,e){(c.$$hasNativeValidators=D(b[0].validity))&&c.$parsers.push(function(a){var d=b.prop("validity")||{};if(d.badInput||d.typeMismatch)c.$$parserName=e;else return a})}function fe(a){a.$parsers.push(function(b){if(a.$isEmpty(b))return null;if(nh.test(b))return parseFloat(b);a.$$parserName="number"});a.$formatters.push(function(b){if(!a.$isEmpty(b)){if(!X(b))throw pb("numfmt", |
|||
b);b=b.toString()}return b})}function na(a){w(a)&&!X(a)&&(a=parseFloat(a));return Y(a)?void 0:a}function Kc(a){var b=a.toString(),d=b.indexOf(".");return-1===d?-1<a&&1>a&&(a=/e-(\d+)$/.exec(b))?Number(a[1]):0:b.length-d-1}function ge(a,b,d){a=Number(a);var c=(a|0)!==a,e=(b|0)!==b,f=(d|0)!==d;if(c||e||f){var g=c?Kc(a):0,k=e?Kc(b):0,h=f?Kc(d):0,g=Math.max(g,k,h),g=Math.pow(10,g);a*=g;b*=g;d*=g;c&&(a=Math.round(a));e&&(b=Math.round(b));f&&(d=Math.round(d))}return 0===(a-b)%d}function he(a,b,d,c,e){if(w(c)){a= |
|||
a(c);if(!a.constant)throw pb("constexpr",d,c);return a(b)}return e}function Lc(a,b){function d(a,b){if(!a||!a.length)return[];if(!b||!b.length)return a;var c=[],d=0;a:for(;d<a.length;d++){for(var e=a[d],m=0;m<b.length;m++)if(e===b[m])continue a;c.push(e)}return c}function c(a){if(!a)return a;var b=a;H(a)?b=a.map(c).join(" "):D(a)?b=Object.keys(a).filter(function(b){return a[b]}).join(" "):C(a)||(b=a+"");return b}a="ngClass"+a;var e;return["$parse",function(f){return{restrict:"AC",link:function(g, |
|||
k,h){function l(a,b){var c=[];r(a,function(a){if(0<b||p[a])p[a]=(p[a]||0)+b,p[a]===+(0<b)&&c.push(a)});return c.join(" ")}function m(a){if(a===b){var c=s,c=l(c&&c.split(" "),1);h.$addClass(c)}else c=s,c=l(c&&c.split(" "),-1),h.$removeClass(c);n=a}var p=k.data("$classCounts"),n=!0,s;p||(p=T(),k.data("$classCounts",p));"ngClass"!==a&&(e||(e=f("$index",function(a){return a&1})),g.$watch(e,m));g.$watch(f(h[a],c),function(a){if(n===b){var c=s&&s.split(" "),e=a&&a.split(" "),f=d(c,e),c=d(e,c),f=l(f,-1), |
|||
c=l(c,1);h.$addClass(c);h.$removeClass(f)}s=a})}}}]}function sd(a,b,d,c,e,f){return{restrict:"A",compile:function(g,k){var h=a(k[c]);return function(a,c){c.on(e,function(c){var e=function(){h(a,{$event:c})};if(b.$$phase)if(f)a.$evalAsync(e);else try{e()}catch(g){d(g)}else a.$apply(e)})}}}}function Sb(a,b,d,c,e,f,g,k,h){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=void 0;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners= |
|||
[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=void 0;this.$name=h(d.name||"",!1)(a);this.$$parentForm=mb;this.$options=Tb;this.$$updateEvents="";this.$$updateEventHandler=this.$$updateEventHandler.bind(this);this.$$parsedNgModel=e(d.ngModel);this.$$parsedNgModelAssign=this.$$parsedNgModel.assign;this.$$ngModelGet=this.$$parsedNgModel;this.$$ngModelSet=this.$$parsedNgModelAssign;this.$$pendingDebounce= |
|||
null;this.$$parserValid=void 0;this.$$parserName="parse";this.$$currentValidationRunId=0;this.$$scope=a;this.$$rootScope=a.$root;this.$$attr=d;this.$$element=c;this.$$animate=f;this.$$timeout=g;this.$$parse=e;this.$$q=k;this.$$exceptionHandler=b;ae(this);oh(this)}function oh(a){a.$$scope.$watch(function(b){b=a.$$ngModelGet(b);b===a.$modelValue||a.$modelValue!==a.$modelValue&&b!==b||a.$$setModelValue(b);return b})}function Mc(a){this.$$options=a}function ie(a,b){r(b,function(b,c){w(a[c])||(a[c]=b)})} |
|||
function Oa(a,b){a.prop("selected",b);a.attr("selected",b)}function je(a,b,d){if(a){C(a)&&(a=new RegExp("^"+a+"$"));if(!a.test)throw F("ngPattern")("noregexp",b,a,Aa(d));return a}}function Ub(a){a=fa(a);return Y(a)?-1:a}var Xb={objectMaxDepth:5,urlErrorParamsEnabled:!0},ke=/^\/(.+)\/([a-z]*)$/,ta=Object.prototype.hasOwnProperty,K=function(a){return C(a)?a.toLowerCase():a},vb=function(a){return C(a)?a.toUpperCase():a},wa,x,sb,Ha=[].slice,Kg=[].splice,ph=[].push,la=Object.prototype.toString,Rc=Object.getPrototypeOf, |
|||
oa=F("ng"),ca=z.angular||(z.angular={}),lc,qb=0;wa=z.document.documentMode;var Y=Number.isNaN||function(a){return a!==a};E.$inject=[];Ta.$inject=[];var ze=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/,V=function(a){return C(a)?a.trim():a},Od=function(a){return a.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},Ba=function(){if(!w(Ba.rules)){var a=z.document.querySelector("[ng-csp]")||z.document.querySelector("[data-ng-csp]");if(a){var b= |
|||
a.getAttribute("ng-csp")||a.getAttribute("data-ng-csp");Ba.rules={noUnsafeEval:!b||-1!==b.indexOf("no-unsafe-eval"),noInlineStyle:!b||-1!==b.indexOf("no-inline-style")}}else{a=Ba;try{new Function(""),b=!1}catch(d){b=!0}a.rules={noUnsafeEval:b,noInlineStyle:!1}}}return Ba.rules},rb=function(){if(w(rb.name_))return rb.name_;var a,b,d=Qa.length,c,e;for(b=0;b<d;++b)if(c=Qa[b],a=z.document.querySelector("["+c.replace(":","\\:")+"jq]")){e=a.getAttribute(c+"jq");break}return rb.name_=e},Be=/:/g,Qa=["ng-", |
|||
"data-ng-","ng:","x-ng-"],Fe=function(a){var b=a.currentScript;if(!b)return!0;if(!(b instanceof z.HTMLScriptElement||b instanceof z.SVGScriptElement))return!1;b=b.attributes;return[b.getNamedItem("src"),b.getNamedItem("href"),b.getNamedItem("xlink:href")].every(function(b){if(!b)return!0;if(!b.value)return!1;var c=a.createElement("a");c.href=b.value;if(a.location.origin===c.origin)return!0;switch(c.protocol){case "http:":case "https:":case "ftp:":case "blob:":case "file:":case "data:":return!0;default:return!1}})}(z.document), |
|||
Ie=/[A-Z]/g,Yc=!1,Pa=3,Pe={full:"1.8.2",major:1,minor:8,dot:2,codeName:"meteoric-mining"};U.expando="ng339";var Ka=U.cache={},ug=1;U._data=function(a){return this.cache[a[this.expando]]||{}};var qg=/-([a-z])/g,qh=/^-ms-/,Bb={mouseleave:"mouseout",mouseenter:"mouseover"},oc=F("jqLite"),tg=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,nc=/<|&#?\w+;/,rg=/<([\w:-]+)/,sg=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,qa={thead:["table"],col:["colgroup","table"],tr:["tbody","table"],td:["tr", |
|||
"tbody","table"]};qa.tbody=qa.tfoot=qa.colgroup=qa.caption=qa.thead;qa.th=qa.td;var hb={option:[1,'<select multiple="multiple">',"</select>"],_default:[0,"",""]},Nc;for(Nc in qa){var le=qa[Nc],me=le.slice().reverse();hb[Nc]=[me.length,"<"+me.join("><")+">","</"+le.join("></")+">"]}hb.optgroup=hb.option;var zg=z.Node.prototype.contains||function(a){return!!(this.compareDocumentPosition(a)&16)},Wa=U.prototype={ready:hd,toString:function(){var a=[];r(this,function(b){a.push(""+b)});return"["+a.join(", ")+ |
|||
"]"},eq:function(a){return 0<=a?x(this[a]):x(this[this.length+a])},length:0,push:ph,sort:[].sort,splice:[].splice},Hb={};r("multiple selected checked disabled readOnly required open".split(" "),function(a){Hb[K(a)]=a});var od={};r("input select option textarea button form details".split(" "),function(a){od[a]=!0});var vd={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};r({data:sc,removeData:rc,hasData:function(a){for(var b in Ka[a.ng339])return!0; |
|||
return!1},cleanData:function(a){for(var b=0,d=a.length;b<d;b++)rc(a[b]),kd(a[b])}},function(a,b){U[b]=a});r({data:sc,inheritedData:Fb,scope:function(a){return x.data(a,"$scope")||Fb(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return x.data(a,"$isolateScope")||x.data(a,"$isolateScopeNoTemplate")},controller:ld,injector:function(a){return Fb(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:Cb,css:function(a,b,d){b=yb(b.replace(qh,"ms-"));if(w(d))a.style[b]= |
|||
d;else return a.style[b]},attr:function(a,b,d){var c=a.nodeType;if(c!==Pa&&2!==c&&8!==c&&a.getAttribute){var c=K(b),e=Hb[c];if(w(d))null===d||!1===d&&e?a.removeAttribute(b):a.setAttribute(b,e?c:d);else return a=a.getAttribute(b),e&&null!==a&&(a=c),null===a?void 0:a}},prop:function(a,b,d){if(w(d))a[b]=d;else return a[b]},text:function(){function a(a,d){if(A(d)){var c=a.nodeType;return 1===c||c===Pa?a.textContent:""}a.textContent=d}a.$dv="";return a}(),val:function(a,b){if(A(b)){if(a.multiple&&"select"=== |
|||
ua(a)){var d=[];r(a.options,function(a){a.selected&&d.push(a.value||a.text)});return d}return a.value}a.value=b},html:function(a,b){if(A(b))return a.innerHTML;zb(a,!0);a.innerHTML=b},empty:md},function(a,b){U.prototype[b]=function(b,c){var e,f,g=this.length;if(a!==md&&A(2===a.length&&a!==Cb&&a!==ld?b:c)){if(D(b)){for(e=0;e<g;e++)if(a===sc)a(this[e],b);else for(f in b)a(this[e],f,b[f]);return this}e=a.$dv;g=A(e)?Math.min(g,1):g;for(f=0;f<g;f++){var k=a(this[f],b,c);e=e?e+k:k}return e}for(e=0;e<g;e++)a(this[e], |
|||
b,c);return this}});r({removeData:rc,on:function(a,b,d,c){if(w(c))throw oc("onargs");if(mc(a)){c=Ab(a,!0);var e=c.events,f=c.handle;f||(f=c.handle=wg(a,e));c=0<=b.indexOf(" ")?b.split(" "):[b];for(var g=c.length,k=function(b,c,g){var k=e[b];k||(k=e[b]=[],k.specialHandlerWrapper=c,"$destroy"===b||g||a.addEventListener(b,f));k.push(d)};g--;)b=c[g],Bb[b]?(k(Bb[b],yg),k(b,void 0,!0)):k(b)}},off:kd,one:function(a,b,d){a=x(a);a.on(b,function e(){a.off(b,d);a.off(b,e)});a.on(b,d)},replaceWith:function(a, |
|||
b){var d,c=a.parentNode;zb(a);r(new U(b),function(b){d?c.insertBefore(b,d.nextSibling):c.replaceChild(b,a);d=b})},children:function(a){var b=[];r(a.childNodes,function(a){1===a.nodeType&&b.push(a)});return b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){var d=a.nodeType;if(1===d||11===d){b=new U(b);for(var d=0,c=b.length;d<c;d++)a.appendChild(b[d])}},prepend:function(a,b){if(1===a.nodeType){var d=a.firstChild;r(new U(b),function(b){a.insertBefore(b,d)})}}, |
|||
wrap:function(a,b){var d=x(b).eq(0).clone()[0],c=a.parentNode;c&&c.replaceChild(d,a);d.appendChild(a)},remove:Gb,detach:function(a){Gb(a,!0)},after:function(a,b){var d=a,c=a.parentNode;if(c){b=new U(b);for(var e=0,f=b.length;e<f;e++){var g=b[e];c.insertBefore(g,d.nextSibling);d=g}}},addClass:Eb,removeClass:Db,toggleClass:function(a,b,d){b&&r(b.split(" "),function(b){var e=d;A(e)&&(e=!Cb(a,b));(e?Eb:Db)(a,b)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){return a.nextElementSibling}, |
|||
find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:qc,triggerHandler:function(a,b,d){var c,e,f=b.type||b,g=Ab(a);if(g=(g=g&&g.events)&&g[f])c={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:E,type:f,target:a},b.type&&(c=S(c, |
|||
b)),b=ja(g),e=d?[c].concat(d):[c],r(b,function(b){c.isImmediatePropagationStopped()||b.apply(a,e)})}},function(a,b){U.prototype[b]=function(b,c,e){for(var f,g=0,k=this.length;g<k;g++)A(f)?(f=a(this[g],b,c,e),w(f)&&(f=x(f))):pc(f,a(this[g],b,c,e));return w(f)?f:this}});U.prototype.bind=U.prototype.on;U.prototype.unbind=U.prototype.off;var rh=Object.create(null);pd.prototype={_idx:function(a){a!==this._lastKey&&(this._lastKey=a,this._lastIndex=this._keys.indexOf(a));return this._lastIndex},_transformKey:function(a){return Y(a)? |
|||
rh:a},get:function(a){a=this._transformKey(a);a=this._idx(a);if(-1!==a)return this._values[a]},has:function(a){a=this._transformKey(a);return-1!==this._idx(a)},set:function(a,b){a=this._transformKey(a);var d=this._idx(a);-1===d&&(d=this._lastIndex=this._keys.length);this._keys[d]=a;this._values[d]=b},delete:function(a){a=this._transformKey(a);a=this._idx(a);if(-1===a)return!1;this._keys.splice(a,1);this._values.splice(a,1);this._lastKey=NaN;this._lastIndex=-1;return!0}};var Ib=pd,og=[function(){this.$get= |
|||
[function(){return Ib}]}],Bg=/^([^(]+?)=>/,Cg=/^[^(]*\(\s*([^)]*)\)/m,sh=/,/,th=/^\s*(_?)(\S+?)\1\s*$/,Ag=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Ca=F("$injector");fb.$$annotate=function(a,b,d){var c;if("function"===typeof a){if(!(c=a.$inject)){c=[];if(a.length){if(b)throw C(d)&&d||(d=a.name||Dg(a)),Ca("strictdi",d);b=qd(a);r(b[1].split(sh),function(a){a.replace(th,function(a,b,d){c.push(d)})})}a.$inject=c}}else H(a)?(b=a.length-1,tb(a[b],"fn"),c=a.slice(0,b)):tb(a,"fn",!0);return c};var ne=F("$animate"), |
|||
Ef=function(){this.$get=E},Ff=function(){var a=new Ib,b=[];this.$get=["$$AnimateRunner","$rootScope",function(d,c){function e(a,b,c){var d=!1;b&&(b=C(b)?b.split(" "):H(b)?b:[],r(b,function(b){b&&(d=!0,a[b]=c)}));return d}function f(){r(b,function(b){var c=a.get(b);if(c){var d=Eg(b.attr("class")),e="",f="";r(c,function(a,b){a!==!!d[b]&&(a?e+=(e.length?" ":"")+b:f+=(f.length?" ":"")+b)});r(b,function(a){e&&Eb(a,e);f&&Db(a,f)});a.delete(b)}});b.length=0}return{enabled:E,on:E,off:E,pin:E,push:function(g, |
|||
k,h,l){l&&l();h=h||{};h.from&&g.css(h.from);h.to&&g.css(h.to);if(h.addClass||h.removeClass)if(k=h.addClass,l=h.removeClass,h=a.get(g)||{},k=e(h,k,!0),l=e(h,l,!1),k||l)a.set(g,h),b.push(g),1===b.length&&c.$$postDigest(f);g=new d;g.complete();return g}}}]},Cf=["$provide",function(a){var b=this,d=null,c=null;this.$$registeredAnimations=Object.create(null);this.register=function(c,d){if(c&&"."!==c.charAt(0))throw ne("notcsel",c);var g=c+"-animation";b.$$registeredAnimations[c.substr(1)]=g;a.factory(g, |
|||
d)};this.customFilter=function(a){1===arguments.length&&(c=B(a)?a:null);return c};this.classNameFilter=function(a){if(1===arguments.length&&(d=a instanceof RegExp?a:null)&&/[(\s|\/)]ng-animate[(\s|\/)]/.test(d.toString()))throw d=null,ne("nongcls","ng-animate");return d};this.$get=["$$animateQueue",function(a){function b(a,c,d){if(d){var e;a:{for(e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){e=f;break a}}e=void 0}!e||e.parentNode||e.previousElementSibling||(d=null)}d?d.after(a):c.prepend(a)}return{on:a.on, |
|||
off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.cancel&&a.cancel()},enter:function(c,d,h,l){d=d&&x(d);h=h&&x(h);d=d||h.parent();b(c,d,h);return a.push(c,"enter",ra(l))},move:function(c,d,h,l){d=d&&x(d);h=h&&x(h);d=d||h.parent();b(c,d,h);return a.push(c,"move",ra(l))},leave:function(b,c){return a.push(b,"leave",ra(c),function(){b.remove()})},addClass:function(b,c,d){d=ra(d);d.addClass=ib(d.addclass,c);return a.push(b,"addClass",d)},removeClass:function(b,c,d){d=ra(d);d.removeClass=ib(d.removeClass, |
|||
c);return a.push(b,"removeClass",d)},setClass:function(b,c,d,f){f=ra(f);f.addClass=ib(f.addClass,c);f.removeClass=ib(f.removeClass,d);return a.push(b,"setClass",f)},animate:function(b,c,d,f,m){m=ra(m);m.from=m.from?S(m.from,c):c;m.to=m.to?S(m.to,d):d;m.tempClasses=ib(m.tempClasses,f||"ng-inline-animate");return a.push(b,"animate",m)}}}]}],Hf=function(){this.$get=["$$rAF",function(a){function b(b){d.push(b);1<d.length||a(function(){for(var a=0;a<d.length;a++)d[a]();d=[]})}var d=[];return function(){var a= |
|||
!1;b(function(){a=!0});return function(d){a?d():b(d)}}}]},Gf=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function(a,b,d,c,e){function f(a){this.setHost(a);var b=d();this._doneCallbacks=[];this._tick=function(a){c()?e(a,0,!1):b(a)};this._state=0}f.chain=function(a,b){function c(){if(d===a.length)b(!0);else a[d](function(a){!1===a?b(!1):(d++,c())})}var d=0;c()};f.all=function(a,b){function c(f){e=e&&f;++d===a.length&&b(e)}var d=0,e=!0;r(a,function(a){a.done(c)})}; |
|||
f.prototype={setHost:function(a){this.host=a||{}},done:function(a){2===this._state?a():this._doneCallbacks.push(a)},progress:E,getPromise:function(){if(!this.promise){var b=this;this.promise=a(function(a,c){b.done(function(b){!1===b?c():a()})})}return this.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&& |
|||
this.host.resume()},end:function(){this.host.end&&this.host.end();this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel();this._resolve(!1)},complete:function(a){var b=this;0===b._state&&(b._state=1,b._tick(function(){b._resolve(a)}))},_resolve:function(a){2!==this._state&&(r(this._doneCallbacks,function(b){b(a)}),this._doneCallbacks.length=0,this._state=2)}};return f}]},Df=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(a,b,d){return function(b,e){function f(){a(function(){g.addClass&& |
|||
(b.addClass(g.addClass),g.addClass=null);g.removeClass&&(b.removeClass(g.removeClass),g.removeClass=null);g.to&&(b.css(g.to),g.to=null);k||h.complete();k=!0});return h}var g=e||{};g.$$prepared||(g=Ia(g));g.cleanupStyles&&(g.from=g.to=null);g.from&&(b.css(g.from),g.from=null);var k,h=new d;return{start:f,end:f}}}]},$=F("$compile"),uc=new function(){};Zc.$inject=["$provide","$$sanitizeUriProvider"];Kb.prototype.isFirstChange=function(){return this.previousValue===uc};var rd=/^((?:x|data)[:\-_])/i,Jg= |
|||
/[:\-_]+(.)/g,xd=F("$controller"),wd=/^(\S+)(\s+as\s+([\w$]+))?$/,Of=function(){this.$get=["$document",function(a){return function(b){b?!b.nodeType&&b instanceof x&&(b=b[0]):b=a[0].body;return b.offsetWidth+1}}]},yd="application/json",xc={"Content-Type":yd+";charset=utf-8"},Mg=/^\[|^\{(?!\{)/,Ng={"[":/]$/,"{":/}$/},Lg=/^\)]\}',?\n/,Lb=F("$http"),Ma=ca.$interpolateMinErr=F("$interpolate");Ma.throwNoconcat=function(a){throw Ma("noconcat",a);};Ma.interr=function(a,b){return Ma("interr",a,b.toString())}; |
|||
var Qg=F("$interval"),Xf=function(){this.$get=function(){function a(a){var b=function(a){b.data=a;b.called=!0};b.id=a;return b}var b=ca.callbacks,d={};return{createCallback:function(c){c="_"+(b.$$counter++).toString(36);var e="angular.callbacks."+c,f=a(c);d[e]=b[c]=f;return e},wasCalled:function(a){return d[a].called},getResponse:function(a){return d[a].data},removeCallback:function(a){delete b[d[a].id];delete d[a]}}}},uh=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,Rg={http:80,https:443,ftp:21},kb=F("$location"), |
|||
Sg=/^\s*[\\/]{2,}/,vh={$$absUrl:"",$$html5:!1,$$replace:!1,$$compose:function(){for(var a=this.$$path,b=this.$$hash,d=Ce(this.$$search),b=b?"#"+ic(b):"",a=a.split("/"),c=a.length;c--;)a[c]=ic(a[c].replace(/%2F/g,"/"));this.$$url=a.join("/")+(d?"?"+d:"")+b;this.$$absUrl=this.$$normalizeUrl(this.$$url);this.$$urlUpdatedByLocation=!0},absUrl:Mb("$$absUrl"),url:function(a){if(A(a))return this.$$url;var b=uh.exec(a);(b[1]||""===a)&&this.path(decodeURIComponent(b[1]));(b[2]||b[1]||""===a)&&this.search(b[3]|| |
|||
"");this.hash(b[5]||"");return this},protocol:Mb("$$protocol"),host:Mb("$$host"),port:Mb("$$port"),path:Fd("$$path",function(a){a=null!==a?a.toString():"";return"/"===a.charAt(0)?a:"/"+a}),search:function(a,b){switch(arguments.length){case 0:return this.$$search;case 1:if(C(a)||X(a))a=a.toString(),this.$$search=hc(a);else if(D(a))a=Ia(a,{}),r(a,function(b,c){null==b&&delete a[c]}),this.$$search=a;else throw kb("isrcharg");break;default:A(b)||null===b?delete this.$$search[a]:this.$$search[a]=b}this.$$compose(); |
|||
return this},hash:Fd("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){this.$$replace=!0;return this}};r([Ed,Ac,zc],function(a){a.prototype=Object.create(vh);a.prototype.state=function(b){if(!arguments.length)return this.$$state;if(a!==zc||!this.$$html5)throw kb("nostate");this.$$state=A(b)?null:b;this.$$urlUpdatedByLocation=!0;return this}});var Ya=F("$parse"),Wg={}.constructor.prototype.valueOf,Vb=T();r("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(a){Vb[a]= |
|||
!0});var wh={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Ob=function(a){this.options=a};Ob.prototype={constructor:Ob,lex:function(a){this.text=a;this.index=0;for(this.tokens=[];this.index<this.text.length;)if(a=this.text.charAt(this.index),'"'===a||"'"===a)this.readString(a);else if(this.isNumber(a)||"."===a&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(a,"(){}[].,;:?"))this.tokens.push({index:this.index, |
|||
text:a}),this.index++;else if(this.isWhitespace(a))this.index++;else{var b=a+this.peek(),d=b+this.peek(2),c=Vb[b],e=Vb[d];Vb[a]||c||e?(a=e?d:c?b:a,this.tokens.push({index:this.index,text:a,operator:!0}),this.index+=a.length):this.throwError("Unexpected next character ",this.index,this.index+1)}return this.tokens},is:function(a,b){return-1!==b.indexOf(a)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a&&"string"=== |
|||
typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdentifierStart:function(a){return this.options.isIdentifierStart?this.options.isIdentifierStart(a,this.codePointAt(a)):this.isValidIdentifierStart(a)},isValidIdentifierStart:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isIdentifierContinue:function(a){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(a,this.codePointAt(a)):this.isValidIdentifierContinue(a)}, |
|||
isValidIdentifierContinue:function(a,b){return this.isValidIdentifierStart(a,b)||this.isNumber(a)},codePointAt:function(a){return 1===a.length?a.charCodeAt(0):(a.charCodeAt(0)<<10)+a.charCodeAt(1)-56613888},peekMultichar:function(){var a=this.text.charAt(this.index),b=this.peek();if(!b)return a;var d=a.charCodeAt(0),c=b.charCodeAt(0);return 55296<=d&&56319>=d&&56320<=c&&57343>=c?a+b:a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,d){d=d||this.index;b= |
|||
w(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,d)+"]":" "+d;throw Ya("lexerr",a,b,this.text);},readNumber:function(){for(var a="",b=this.index;this.index<this.text.length;){var d=K(this.text.charAt(this.index));if("."===d||this.isNumber(d))a+=d;else{var c=this.peek();if("e"===d&&this.isExpOperator(c))a+=d;else if(this.isExpOperator(d)&&c&&this.isNumber(c)&&"e"===a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||c&&this.isNumber(c)||"e"!==a.charAt(a.length-1))break;else this.throwError("Invalid exponent")}this.index++}this.tokens.push({index:b, |
|||
text:a,constant:!0,value:Number(a)})},readIdent:function(){var a=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var b=this.peekMultichar();if(!this.isIdentifierContinue(b))break;this.index+=b.length}this.tokens.push({index:a,text:this.text.slice(a,this.index),identifier:!0})},readString:function(a){var b=this.index;this.index++;for(var d="",c=a,e=!1;this.index<this.text.length;){var f=this.text.charAt(this.index),c=c+f;if(e)"u"===f?(e=this.text.substring(this.index+ |
|||
1,this.index+5),e.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+e+"]"),this.index+=4,d+=String.fromCharCode(parseInt(e,16))):d+=wh[f]||f,e=!1;else if("\\"===f)e=!0;else{if(f===a){this.index++;this.tokens.push({index:b,text:c,constant:!0,value:d});return}d+=f}this.index++}this.throwError("Unterminated quote",b)}};var q=function(a,b){this.lexer=a;this.options=b};q.Program="Program";q.ExpressionStatement="ExpressionStatement";q.AssignmentExpression="AssignmentExpression";q.ConditionalExpression= |
|||
"ConditionalExpression";q.LogicalExpression="LogicalExpression";q.BinaryExpression="BinaryExpression";q.UnaryExpression="UnaryExpression";q.CallExpression="CallExpression";q.MemberExpression="MemberExpression";q.Identifier="Identifier";q.Literal="Literal";q.ArrayExpression="ArrayExpression";q.Property="Property";q.ObjectExpression="ObjectExpression";q.ThisExpression="ThisExpression";q.LocalsExpression="LocalsExpression";q.NGValueParameter="NGValueParameter";q.prototype={ast:function(a){this.text= |
|||
a;this.tokens=this.lexer.lex(a);a=this.program();0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);return a},program:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:q.Program,body:a}},expressionStatement:function(){return{type:q.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var a=this.expression();this.expect("|");)a=this.filter(a);return a}, |
|||
expression:function(){return this.assignment()},assignment:function(){var a=this.ternary();if(this.expect("=")){if(!Jd(a))throw Ya("lval");a={type:q.AssignmentExpression,left:a,right:this.assignment(),operator:"="}}return a},ternary:function(){var a=this.logicalOR(),b,d;return this.expect("?")&&(b=this.expression(),this.consume(":"))?(d=this.expression(),{type:q.ConditionalExpression,test:a,alternate:b,consequent:d}):a},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:q.LogicalExpression, |
|||
operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=this.equality();this.expect("&&");)a={type:q.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a=this.relational(),b;b=this.expect("==","!=","===","!==");)a={type:q.BinaryExpression,operator:b.text,left:a,right:this.relational()};return a},relational:function(){for(var a=this.additive(),b;b=this.expect("<",">","<=",">=");)a={type:q.BinaryExpression,operator:b.text, |
|||
left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),b;b=this.expect("+","-");)a={type:q.BinaryExpression,operator:b.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),b;b=this.expect("*","/","%");)a={type:q.BinaryExpression,operator:b.text,left:a,right:this.unary()};return a},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:q.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()}, |
|||
primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?a=Ia(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?a={type:q.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression", |
|||
this.peek());for(var b;b=this.expect("(","[",".");)"("===b.text?(a={type:q.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:q.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:q.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){a=[a];for(var b={type:q.CallExpression,callee:this.identifier(),arguments:a,filter:!0};this.expect(":");)a.push(this.expression()); |
|||
return b},parseArguments:function(){var a=[];if(")"!==this.peekToken().text){do a.push(this.filterChain());while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:q.Identifier,name:a.text}},constant:function(){return{type:q.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","))}this.consume("]"); |
|||
return{type:q.ArrayExpression,elements:a}},object:function(){var a=[],b;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;b={type:q.Property,kind:"init"};this.peek().constant?(b.key=this.constant(),b.computed=!1,this.consume(":"),b.value=this.expression()):this.peek().identifier?(b.key=this.identifier(),b.computed=!1,this.peek(":")?(this.consume(":"),b.value=this.expression()):b.value=b.key):this.peek("[")?(this.consume("["),b.key=this.expression(),this.consume("]"),b.computed=!0,this.consume(":"), |
|||
b.value=this.expression()):this.throwError("invalid key",this.peek());a.push(b)}while(this.expect(","))}this.consume("}");return{type:q.ObjectExpression,properties:a}},throwError:function(a,b){throw Ya("syntax",b.text,a,b.index+1,this.text,this.text.substring(b.index));},consume:function(a){if(0===this.tokens.length)throw Ya("ueoe",this.text);var b=this.expect(a);b||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return b},peekToken:function(){if(0===this.tokens.length)throw Ya("ueoe", |
|||
this.text);return this.tokens[0]},peek:function(a,b,d,c){return this.peekAhead(0,a,b,d,c)},peekAhead:function(a,b,d,c,e){if(this.tokens.length>a){a=this.tokens[a];var f=a.text;if(f===b||f===d||f===c||f===e||!(b||d||c||e))return a}return!1},expect:function(a,b,d,c){return(a=this.peek(a,b,d,c))?(this.tokens.shift(),a):!1},selfReferential:{"this":{type:q.ThisExpression},$locals:{type:q.LocalsExpression}}};var Hd=2;Ld.prototype={compile:function(a){var b=this;this.state={nextId:0,filters:{},fn:{vars:[], |
|||
body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]};Z(a,b.$filter);var d="",c;this.stage="assign";if(c=Kd(a))this.state.computing="assign",d=this.nextId(),this.recurse(c,d),this.return_(d),d="fn.assign="+this.generateFunction("assign","s,v,l");c=Id(a.body);b.stage="inputs";r(c,function(a,c){var d="fn"+c;b.state[d]={vars:[],body:[],own:{}};b.state.computing=d;var k=b.nextId();b.recurse(a,k);b.return_(k);b.state.inputs.push({name:d,isPure:a.isPure});a.watchId=c});this.state.computing="fn";this.stage= |
|||
"main";this.recurse(a);a='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+d+this.watchFns()+"return fn;";a=(new Function("$filter","getStringValue","ifDefined","plus",a))(this.$filter,Tg,Ug,Gd);this.state=this.stage=void 0;return a},USE:"use",STRICT:"strict",watchFns:function(){var a=[],b=this.state.inputs,d=this;r(b,function(b){a.push("var "+b.name+"="+d.generateFunction(b.name,"s"));b.isPure&&a.push(b.name,".isPure="+JSON.stringify(b.isPure)+ |
|||
";")});b.length&&a.push("fn.inputs=["+b.map(function(a){return a.name}).join(",")+"];");return a.join("")},generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;r(this.state.filters,function(d,c){a.push(d+"=$filter("+b.escape(c)+")")});return a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")}, |
|||
recurse:function(a,b,d,c,e,f){var g,k,h=this,l,m,p;c=c||E;if(!f&&w(a.watchId))b=b||this.nextId(),this.if_("i",this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,d,c,e,!0));else switch(a.type){case q.Program:r(a.body,function(b,c){h.recurse(b.expression,void 0,void 0,function(a){k=a});c!==a.body.length-1?h.current().body.push(k,";"):h.return_(k)});break;case q.Literal:m=this.escape(a.value);this.assign(b,m);c(b||m);break;case q.UnaryExpression:this.recurse(a.argument,void 0, |
|||
void 0,function(a){k=a});m=a.operator+"("+this.ifDefined(k,0)+")";this.assign(b,m);c(m);break;case q.BinaryExpression:this.recurse(a.left,void 0,void 0,function(a){g=a});this.recurse(a.right,void 0,void 0,function(a){k=a});m="+"===a.operator?this.plus(g,k):"-"===a.operator?this.ifDefined(g,0)+a.operator+this.ifDefined(k,0):"("+g+")"+a.operator+"("+k+")";this.assign(b,m);c(m);break;case q.LogicalExpression:b=b||this.nextId();h.recurse(a.left,b);h.if_("&&"===a.operator?b:h.not(b),h.lazyRecurse(a.right, |
|||
b));c(b);break;case q.ConditionalExpression:b=b||this.nextId();h.recurse(a.test,b);h.if_(b,h.lazyRecurse(a.alternate,b),h.lazyRecurse(a.consequent,b));c(b);break;case q.Identifier:b=b||this.nextId();d&&(d.context="inputs"===h.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name);h.if_("inputs"===h.stage||h.not(h.getHasOwnProperty("l",a.name)),function(){h.if_("inputs"===h.stage||"s",function(){e&&1!==e&&h.if_(h.isNull(h.nonComputedMember("s",a.name)), |
|||
h.lazyAssign(h.nonComputedMember("s",a.name),"{}"));h.assign(b,h.nonComputedMember("s",a.name))})},b&&h.lazyAssign(b,h.nonComputedMember("l",a.name)));c(b);break;case q.MemberExpression:g=d&&(d.context=this.nextId())||this.nextId();b=b||this.nextId();h.recurse(a.object,g,void 0,function(){h.if_(h.notNull(g),function(){a.computed?(k=h.nextId(),h.recurse(a.property,k),h.getStringValue(k),e&&1!==e&&h.if_(h.not(h.computedMember(g,k)),h.lazyAssign(h.computedMember(g,k),"{}")),m=h.computedMember(g,k),h.assign(b, |
|||
m),d&&(d.computed=!0,d.name=k)):(e&&1!==e&&h.if_(h.isNull(h.nonComputedMember(g,a.property.name)),h.lazyAssign(h.nonComputedMember(g,a.property.name),"{}")),m=h.nonComputedMember(g,a.property.name),h.assign(b,m),d&&(d.computed=!1,d.name=a.property.name))},function(){h.assign(b,"undefined")});c(b)},!!e);break;case q.CallExpression:b=b||this.nextId();a.filter?(k=h.filter(a.callee.name),l=[],r(a.arguments,function(a){var b=h.nextId();h.recurse(a,b);l.push(b)}),m=k+"("+l.join(",")+")",h.assign(b,m),c(b)): |
|||
(k=h.nextId(),g={},l=[],h.recurse(a.callee,k,g,function(){h.if_(h.notNull(k),function(){r(a.arguments,function(b){h.recurse(b,a.constant?void 0:h.nextId(),void 0,function(a){l.push(a)})});m=g.name?h.member(g.context,g.name,g.computed)+"("+l.join(",")+")":k+"("+l.join(",")+")";h.assign(b,m)},function(){h.assign(b,"undefined")});c(b)}));break;case q.AssignmentExpression:k=this.nextId();g={};this.recurse(a.left,void 0,g,function(){h.if_(h.notNull(g.context),function(){h.recurse(a.right,k);m=h.member(g.context, |
|||
g.name,g.computed)+a.operator+k;h.assign(b,m);c(b||m)})},1);break;case q.ArrayExpression:l=[];r(a.elements,function(b){h.recurse(b,a.constant?void 0:h.nextId(),void 0,function(a){l.push(a)})});m="["+l.join(",")+"]";this.assign(b,m);c(b||m);break;case q.ObjectExpression:l=[];p=!1;r(a.properties,function(a){a.computed&&(p=!0)});p?(b=b||this.nextId(),this.assign(b,"{}"),r(a.properties,function(a){a.computed?(g=h.nextId(),h.recurse(a.key,g)):g=a.key.type===q.Identifier?a.key.name:""+a.key.value;k=h.nextId(); |
|||
h.recurse(a.value,k);h.assign(h.member(b,g,a.computed),k)})):(r(a.properties,function(b){h.recurse(b.value,a.constant?void 0:h.nextId(),void 0,function(a){l.push(h.escape(b.key.type===q.Identifier?b.key.name:""+b.key.value)+":"+a)})}),m="{"+l.join(",")+"}",this.assign(b,m));c(b||m);break;case q.ThisExpression:this.assign(b,"s");c(b||"s");break;case q.LocalsExpression:this.assign(b,"l");c(b||"l");break;case q.NGValueParameter:this.assign(b,"v"),c(b||"v")}},getHasOwnProperty:function(a,b){var d=a+"."+ |
|||
b,c=this.current().own;c.hasOwnProperty(d)||(c[d]=this.nextId(!1,a+"&&("+this.escape(b)+" in "+a+")"));return c[d]},assign:function(a,b){if(a)return this.current().body.push(a,"=",b,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a,b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a, |
|||
b,d){if(!0===a)b();else{var c=this.current().body;c.push("if(",a,"){");b();c.push("}");d&&(c.push("else{"),d(),c.push("}"))}},not:function(a){return"!("+a+")"},isNull:function(a){return a+"==null"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,b){var d=/[^$_a-zA-Z0-9]/g;return/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(b)?a+"."+b:a+'["'+b.replace(d,this.stringEscapeFn)+'"]'},computedMember:function(a,b){return a+"["+b+"]"},member:function(a,b,d){return d?this.computedMember(a,b):this.nonComputedMember(a, |
|||
b)},getStringValue:function(a){this.assign(a,"getStringValue("+a+")")},lazyRecurse:function(a,b,d,c,e,f){var g=this;return function(){g.recurse(a,b,d,c,e,f)}},lazyAssign:function(a,b){var d=this;return function(){d.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(C(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(X(a))return a.toString();if(!0===a)return"true";if(!1=== |
|||
a)return"false";if(null===a)return"null";if("undefined"===typeof a)return"undefined";throw Ya("esc");},nextId:function(a,b){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(b?"="+b:""));return d},current:function(){return this.state[this.state.computing]}};Md.prototype={compile:function(a){var b=this;Z(a,b.$filter);var d,c;if(d=Kd(a))c=this.recurse(d);d=Id(a.body);var e;d&&(e=[],r(d,function(a,c){var d=b.recurse(a);d.isPure=a.isPure;a.input=d;e.push(d);a.watchId=c}));var f=[];r(a.body, |
|||
function(a){f.push(b.recurse(a.expression))});a=0===a.body.length?E:1===a.body.length?f[0]:function(a,b){var c;r(f,function(d){c=d(a,b)});return c};c&&(a.assign=function(a,b,d){return c(a,d,b)});e&&(a.inputs=e);return a},recurse:function(a,b,d){var c,e,f=this,g;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case q.Literal:return this.value(a.value,b);case q.UnaryExpression:return e=this.recurse(a.argument),this["unary"+a.operator](e,b);case q.BinaryExpression:return c=this.recurse(a.left), |
|||
e=this.recurse(a.right),this["binary"+a.operator](c,e,b);case q.LogicalExpression:return c=this.recurse(a.left),e=this.recurse(a.right),this["binary"+a.operator](c,e,b);case q.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case q.Identifier:return f.identifier(a.name,b,d);case q.MemberExpression:return c=this.recurse(a.object,!1,!!d),a.computed||(e=a.property.name),a.computed&&(e=this.recurse(a.property)),a.computed?this.computedMember(c, |
|||
e,b,d):this.nonComputedMember(c,e,b,d);case q.CallExpression:return g=[],r(a.arguments,function(a){g.push(f.recurse(a))}),a.filter&&(e=this.$filter(a.callee.name)),a.filter||(e=this.recurse(a.callee,!0)),a.filter?function(a,c,d,f){for(var p=[],n=0;n<g.length;++n)p.push(g[n](a,c,d,f));a=e.apply(void 0,p,f);return b?{context:void 0,name:void 0,value:a}:a}:function(a,c,d,f){var p=e(a,c,d,f),n;if(null!=p.value){n=[];for(var s=0;s<g.length;++s)n.push(g[s](a,c,d,f));n=p.value.apply(p.context,n)}return b? |
|||
{value:n}:n};case q.AssignmentExpression:return c=this.recurse(a.left,!0,1),e=this.recurse(a.right),function(a,d,f,g){var p=c(a,d,f,g);a=e(a,d,f,g);p.context[p.name]=a;return b?{value:a}:a};case q.ArrayExpression:return g=[],r(a.elements,function(a){g.push(f.recurse(a))}),function(a,c,d,e){for(var f=[],n=0;n<g.length;++n)f.push(g[n](a,c,d,e));return b?{value:f}:f};case q.ObjectExpression:return g=[],r(a.properties,function(a){a.computed?g.push({key:f.recurse(a.key),computed:!0,value:f.recurse(a.value)}): |
|||
g.push({key:a.key.type===q.Identifier?a.key.name:""+a.key.value,computed:!1,value:f.recurse(a.value)})}),function(a,c,d,e){for(var f={},n=0;n<g.length;++n)g[n].computed?f[g[n].key(a,c,d,e)]=g[n].value(a,c,d,e):f[g[n].key]=g[n].value(a,c,d,e);return b?{value:f}:f};case q.ThisExpression:return function(a){return b?{value:a}:a};case q.LocalsExpression:return function(a,c){return b?{value:c}:c};case q.NGValueParameter:return function(a,c,d){return b?{value:d}:d}}},"unary+":function(a,b){return function(d, |
|||
c,e,f){d=a(d,c,e,f);d=w(d)?+d:0;return b?{value:d}:d}},"unary-":function(a,b){return function(d,c,e,f){d=a(d,c,e,f);d=w(d)?-d:-0;return b?{value:d}:d}},"unary!":function(a,b){return function(d,c,e,f){d=!a(d,c,e,f);return b?{value:d}:d}},"binary+":function(a,b,d){return function(c,e,f,g){var k=a(c,e,f,g);c=b(c,e,f,g);k=Gd(k,c);return d?{value:k}:k}},"binary-":function(a,b,d){return function(c,e,f,g){var k=a(c,e,f,g);c=b(c,e,f,g);k=(w(k)?k:0)-(w(c)?c:0);return d?{value:k}:k}},"binary*":function(a,b, |
|||
d){return function(c,e,f,g){c=a(c,e,f,g)*b(c,e,f,g);return d?{value:c}:c}},"binary/":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)/b(c,e,f,g);return d?{value:c}:c}},"binary%":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)%b(c,e,f,g);return d?{value:c}:c}},"binary===":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)===b(c,e,f,g);return d?{value:c}:c}},"binary!==":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)!==b(c,e,f,g);return d?{value:c}:c}},"binary==":function(a,b,d){return function(c, |
|||
e,f,g){c=a(c,e,f,g)==b(c,e,f,g);return d?{value:c}:c}},"binary!=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)!=b(c,e,f,g);return d?{value:c}:c}},"binary<":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)<b(c,e,f,g);return d?{value:c}:c}},"binary>":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)>b(c,e,f,g);return d?{value:c}:c}},"binary<=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)<=b(c,e,f,g);return d?{value:c}:c}},"binary>=":function(a,b,d){return function(c,e,f,g){c= |
|||
a(c,e,f,g)>=b(c,e,f,g);return d?{value:c}:c}},"binary&&":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)&&b(c,e,f,g);return d?{value:c}:c}},"binary||":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)||b(c,e,f,g);return d?{value:c}:c}},"ternary?:":function(a,b,d,c){return function(e,f,g,k){e=a(e,f,g,k)?b(e,f,g,k):d(e,f,g,k);return c?{value:e}:e}},value:function(a,b){return function(){return b?{context:void 0,name:void 0,value:a}:a}},identifier:function(a,b,d){return function(c,e,f,g){c= |
|||
e&&a in e?e:c;d&&1!==d&&c&&null==c[a]&&(c[a]={});e=c?c[a]:void 0;return b?{context:c,name:a,value:e}:e}},computedMember:function(a,b,d,c){return function(e,f,g,k){var h=a(e,f,g,k),l,m;null!=h&&(l=b(e,f,g,k),l+="",c&&1!==c&&h&&!h[l]&&(h[l]={}),m=h[l]);return d?{context:h,name:l,value:m}:m}},nonComputedMember:function(a,b,d,c){return function(e,f,g,k){e=a(e,f,g,k);c&&1!==c&&e&&null==e[b]&&(e[b]={});f=null!=e?e[b]:void 0;return d?{context:e,name:b,value:f}:f}},inputs:function(a,b){return function(d, |
|||
c,e,f){return f?f[b]:a(d,c,e)}}};Nb.prototype={constructor:Nb,parse:function(a){a=this.getAst(a);var b=this.astCompiler.compile(a.ast),d=a.ast;b.literal=0===d.body.length||1===d.body.length&&(d.body[0].expression.type===q.Literal||d.body[0].expression.type===q.ArrayExpression||d.body[0].expression.type===q.ObjectExpression);b.constant=a.ast.constant;b.oneTime=a.oneTime;return b},getAst:function(a){var b=!1;a=a.trim();":"===a.charAt(0)&&":"===a.charAt(1)&&(b=!0,a=a.substring(2));return{ast:this.ast.ast(a), |
|||
oneTime:b}}};var Ea=F("$sce"),W={HTML:"html",CSS:"css",MEDIA_URL:"mediaUrl",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Dc=/_([a-z])/g,Zg=F("$templateRequest"),$g=F("$timeout"),aa=z.document.createElement("a"),Qd=ga(z.location.href),Na;aa.href="http://[::1]";var ah="[::1]"===aa.hostname;Rd.$inject=["$document"];fd.$inject=["$provide"];var Yd=22,Xd=".",Fc="0";Sd.$inject=["$locale"];Ud.$inject=["$locale"];var lh={yyyy:ea("FullYear",4,0,!1,!0),yy:ea("FullYear",2,0,!0,!0),y:ea("FullYear",1,0,!1,!0), |
|||
MMMM:lb("Month"),MMM:lb("Month",!0),MM:ea("Month",2,1),M:ea("Month",1,1),LLLL:lb("Month",!1,!0),dd:ea("Date",2),d:ea("Date",1),HH:ea("Hours",2),H:ea("Hours",1),hh:ea("Hours",2,-12),h:ea("Hours",1,-12),mm:ea("Minutes",2),m:ea("Minutes",1),ss:ea("Seconds",2),s:ea("Seconds",1),sss:ea("Milliseconds",3),EEEE:lb("Day"),EEE:lb("Day",!0),a:function(a,b){return 12>a.getHours()?b.AMPMS[0]:b.AMPMS[1]},Z:function(a,b,d){a=-1*d;return a=(0<=a?"+":"")+(Pb(Math[0<a?"floor":"ceil"](a/60),2)+Pb(Math.abs(a%60),2))}, |
|||
ww:$d(2),w:$d(1),G:Gc,GG:Gc,GGG:Gc,GGGG:function(a,b){return 0>=a.getFullYear()?b.ERANAMES[0]:b.ERANAMES[1]}},kh=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/,jh=/^-?\d+$/;Td.$inject=["$locale"];var eh=ia(K),fh=ia(vb);Vd.$inject=["$parse"];var Re=ia({restrict:"E",compile:function(a,b){if(!b.href&&!b.xlinkHref)return function(a,b){if("a"===b[0].nodeName.toLowerCase()){var e="[object SVGAnimatedString]"===la.call(b.prop("href"))?"xlink:href":"href"; |
|||
b.on("click",function(a){b.attr(e)||a.preventDefault()})}}}}),wb={};r(Hb,function(a,b){function d(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}if("multiple"!==a){var c=xa("ng-"+b),e=d;"checked"===a&&(e=function(a,b,e){e.ngModel!==e[c]&&d(a,b,e)});wb[c]=function(){return{restrict:"A",priority:100,link:e}}}});r(vd,function(a,b){wb[b]=function(){return{priority:100,link:function(a,c,e){if("ngPattern"===b&&"/"===e.ngPattern.charAt(0)&&(c=e.ngPattern.match(ke))){e.$set("ngPattern",new RegExp(c[1], |
|||
c[2]));return}a.$watch(e[b],function(a){e.$set(b,a)})}}}});r(["src","srcset","href"],function(a){var b=xa("ng-"+a);wb[b]=["$sce",function(d){return{priority:99,link:function(c,e,f){var g=a,k=a;"href"===a&&"[object SVGAnimatedString]"===la.call(e.prop("href"))&&(k="xlinkHref",f.$attr[k]="xlink:href",g=null);f.$set(b,d.getTrustedMediaUrl(f[b]));f.$observe(b,function(b){b?(f.$set(k,b),wa&&g&&e.prop(g,f[k])):"href"===a&&f.$set(k,null)})}}}]});var mb={$addControl:E,$getControls:ia([]),$$renameControl:function(a, |
|||
b){a.$name=b},$removeControl:E,$setValidity:E,$setDirty:E,$setPristine:E,$setSubmitted:E,$$setSubmitted:E};Qb.$inject=["$element","$attrs","$scope","$animate","$interpolate"];Qb.prototype={$rollbackViewValue:function(){r(this.$$controls,function(a){a.$rollbackViewValue()})},$commitViewValue:function(){r(this.$$controls,function(a){a.$commitViewValue()})},$addControl:function(a){Ja(a.$name,"input");this.$$controls.push(a);a.$name&&(this[a.$name]=a);a.$$parentForm=this},$getControls:function(){return ja(this.$$controls)}, |
|||
$$renameControl:function(a,b){var d=a.$name;this[d]===a&&delete this[d];this[b]=a;a.$name=b},$removeControl:function(a){a.$name&&this[a.$name]===a&&delete this[a.$name];r(this.$pending,function(b,d){this.$setValidity(d,null,a)},this);r(this.$error,function(b,d){this.$setValidity(d,null,a)},this);r(this.$$success,function(b,d){this.$setValidity(d,null,a)},this);cb(this.$$controls,a);a.$$parentForm=mb},$setDirty:function(){this.$$animate.removeClass(this.$$element,Za);this.$$animate.addClass(this.$$element, |
|||
Wb);this.$dirty=!0;this.$pristine=!1;this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,Za,Wb+" ng-submitted");this.$dirty=!1;this.$pristine=!0;this.$submitted=!1;r(this.$$controls,function(a){a.$setPristine()})},$setUntouched:function(){r(this.$$controls,function(a){a.$setUntouched()})},$setSubmitted:function(){for(var a=this;a.$$parentForm&&a.$$parentForm!==mb;)a=a.$$parentForm;a.$$setSubmitted()},$$setSubmitted:function(){this.$$animate.addClass(this.$$element, |
|||
"ng-submitted");this.$submitted=!0;r(this.$$controls,function(a){a.$$setSubmitted&&a.$$setSubmitted()})}};ce({clazz:Qb,set:function(a,b,d){var c=a[b];c?-1===c.indexOf(d)&&c.push(d):a[b]=[d]},unset:function(a,b,d){var c=a[b];c&&(cb(c,d),0===c.length&&delete a[b])}});var oe=function(a){return["$timeout","$parse",function(b,d){function c(a){return""===a?d('this[""]').assign:d(a).assign||E}return{name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:Qb,compile:function(d,f){d.addClass(Za).addClass(nb); |
|||
var g=f.name?"name":a&&f.ngForm?"ngForm":!1;return{pre:function(a,d,e,f){var p=f[0];if(!("action"in e)){var n=function(b){a.$apply(function(){p.$commitViewValue();p.$setSubmitted()});b.preventDefault()};d[0].addEventListener("submit",n);d.on("$destroy",function(){b(function(){d[0].removeEventListener("submit",n)},0,!1)})}(f[1]||p.$$parentForm).$addControl(p);var s=g?c(p.$name):E;g&&(s(a,p),e.$observe(g,function(b){p.$name!==b&&(s(a,void 0),p.$$parentForm.$$renameControl(p,b),s=c(p.$name),s(a,p))})); |
|||
d.on("$destroy",function(){p.$$parentForm.$removeControl(p);s(a,void 0);S(p,mb)})}}}}}]},Se=oe(),df=oe(!0),mh=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,xh=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,yh=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/, |
|||
nh=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,pe=/^(\d{4,})-(\d{2})-(\d{2})$/,qe=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Oc=/^(\d{4,})-W(\d\d)$/,re=/^(\d{4,})-(\d\d)$/,se=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,ee=T();r(["date","datetime-local","month","time","week"],function(a){ee[a]=!0});var te={text:function(a,b,d,c,e,f){Sa(a,b,d,c,e,f);Ic(c)},date:ob("date",pe,Rb(pe,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":ob("datetimelocal",qe,Rb(qe,"yyyy MM dd HH mm ss sss".split(" ")), |
|||
"yyyy-MM-ddTHH:mm:ss.sss"),time:ob("time",se,Rb(se,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:ob("week",Oc,function(a,b){if(ha(a))return a;if(C(a)){Oc.lastIndex=0;var d=Oc.exec(a);if(d){var c=+d[1],e=+d[2],f=d=0,g=0,k=0,h=Zd(c),e=7*(e-1);b&&(d=b.getHours(),f=b.getMinutes(),g=b.getSeconds(),k=b.getMilliseconds());return new Date(c,0,h.getDate()+e,d,f,g,k)}}return NaN},"yyyy-Www"),month:ob("month",re,Rb(re,["yyyy","MM"]),"yyyy-MM"),number:function(a,b,d,c,e,f,g,k){Jc(a,b,d,c,"number");fe(c);Sa(a, |
|||
b,d,c,e,f);var h;if(w(d.min)||d.ngMin){var l=d.min||k(d.ngMin)(a);h=na(l);c.$validators.min=function(a,b){return c.$isEmpty(b)||A(h)||b>=h};d.$observe("min",function(a){a!==l&&(h=na(a),l=a,c.$validate())})}if(w(d.max)||d.ngMax){var m=d.max||k(d.ngMax)(a),p=na(m);c.$validators.max=function(a,b){return c.$isEmpty(b)||A(p)||b<=p};d.$observe("max",function(a){a!==m&&(p=na(a),m=a,c.$validate())})}if(w(d.step)||d.ngStep){var n=d.step||k(d.ngStep)(a),s=na(n);c.$validators.step=function(a,b){return c.$isEmpty(b)|| |
|||
A(s)||ge(b,h||0,s)};d.$observe("step",function(a){a!==n&&(s=na(a),n=a,c.$validate())})}},url:function(a,b,d,c,e,f){Sa(a,b,d,c,e,f);Ic(c);c.$validators.url=function(a,b){var d=a||b;return c.$isEmpty(d)||xh.test(d)}},email:function(a,b,d,c,e,f){Sa(a,b,d,c,e,f);Ic(c);c.$validators.email=function(a,b){var d=a||b;return c.$isEmpty(d)||yh.test(d)}},radio:function(a,b,d,c){var e=!d.ngTrim||"false"!==V(d.ngTrim);A(d.name)&&b.attr("name",++qb);b.on("change",function(a){var g;b[0].checked&&(g=d.value,e&&(g= |
|||
V(g)),c.$setViewValue(g,a&&a.type))});c.$render=function(){var a=d.value;e&&(a=V(a));b[0].checked=a===c.$viewValue};d.$observe("value",c.$render)},range:function(a,b,d,c,e,f){function g(a,c){b.attr(a,d[a]);var e=d[a];d.$observe(a,function(a){a!==e&&(e=a,c(a))})}function k(a){p=na(a);Y(c.$modelValue)||(m?(a=b.val(),p>a&&(a=p,b.val(a)),c.$setViewValue(a)):c.$validate())}function h(a){n=na(a);Y(c.$modelValue)||(m?(a=b.val(),n<a&&(b.val(n),a=n<p?p:n),c.$setViewValue(a)):c.$validate())}function l(a){s= |
|||
na(a);Y(c.$modelValue)||(m?c.$viewValue!==b.val()&&c.$setViewValue(b.val()):c.$validate())}Jc(a,b,d,c,"range");fe(c);Sa(a,b,d,c,e,f);var m=c.$$hasNativeValidators&&"range"===b[0].type,p=m?0:void 0,n=m?100:void 0,s=m?1:void 0,r=b[0].validity;a=w(d.min);e=w(d.max);f=w(d.step);var q=c.$render;c.$render=m&&w(r.rangeUnderflow)&&w(r.rangeOverflow)?function(){q();c.$setViewValue(b.val())}:q;a&&(p=na(d.min),c.$validators.min=m?function(){return!0}:function(a,b){return c.$isEmpty(b)||A(p)||b>=p},g("min",k)); |
|||
e&&(n=na(d.max),c.$validators.max=m?function(){return!0}:function(a,b){return c.$isEmpty(b)||A(n)||b<=n},g("max",h));f&&(s=na(d.step),c.$validators.step=m?function(){return!r.stepMismatch}:function(a,b){return c.$isEmpty(b)||A(s)||ge(b,p||0,s)},g("step",l))},checkbox:function(a,b,d,c,e,f,g,k){var h=he(k,a,"ngTrueValue",d.ngTrueValue,!0),l=he(k,a,"ngFalseValue",d.ngFalseValue,!1);b.on("change",function(a){c.$setViewValue(b[0].checked,a&&a.type)});c.$render=function(){b[0].checked=c.$viewValue};c.$isEmpty= |
|||
function(a){return!1===a};c.$formatters.push(function(a){return va(a,h)});c.$parsers.push(function(a){return a?h:l})},hidden:E,button:E,submit:E,reset:E,file:E},$c=["$browser","$sniffer","$filter","$parse",function(a,b,d,c){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,f,g,k){k[0]&&(te[K(g.type)]||te.text)(e,f,g,k[0],b,a,d,c)}}}}],Af=function(){var a={configurable:!0,enumerable:!1,get:function(){return this.getAttribute("value")||""},set:function(a){this.setAttribute("value",a)}}; |
|||
return{restrict:"E",priority:200,compile:function(b,d){if("hidden"===K(d.type))return{pre:function(b,d,f,g){b=d[0];b.parentNode&&b.parentNode.insertBefore(b,b.nextSibling);Object.defineProperty&&Object.defineProperty(b,"value",a)}}}}},zh=/^(true|false|\d+)$/,xf=function(){function a(a,d,c){var e=w(c)?c:9===wa?"":null;a.prop("value",e);d.$set("value",c)}return{restrict:"A",priority:100,compile:function(b,d){return zh.test(d.ngValue)?function(b,d,f){b=b.$eval(f.ngValue);a(d,f,b)}:function(b,d,f){b.$watch(f.ngValue, |
|||
function(b){a(d,f,b)})}}}},We=["$compile",function(a){return{restrict:"AC",compile:function(b){a.$$addBindingClass(b);return function(b,c,e){a.$$addBindingInfo(c,e.ngBind);c=c[0];b.$watch(e.ngBind,function(a){c.textContent=jc(a)})}}}}],Ye=["$interpolate","$compile",function(a,b){return{compile:function(d){b.$$addBindingClass(d);return function(c,d,f){c=a(d.attr(f.$attr.ngBindTemplate));b.$$addBindingInfo(d,c.expressions);d=d[0];f.$observe("ngBindTemplate",function(a){d.textContent=A(a)?"":a})}}}}], |
|||
Xe=["$sce","$parse","$compile",function(a,b,d){return{restrict:"A",compile:function(c,e){var f=b(e.ngBindHtml),g=b(e.ngBindHtml,function(b){return a.valueOf(b)});d.$$addBindingClass(c);return function(b,c,e){d.$$addBindingInfo(c,e.ngBindHtml);b.$watch(g,function(){var d=f(b);c.html(a.getTrustedHtml(d)||"")})}}}}],wf=ia({restrict:"A",require:"ngModel",link:function(a,b,d,c){c.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Ze=Lc("",!0),af=Lc("Odd",0),$e=Lc("Even",1),bf=Ra({compile:function(a, |
|||
b){b.$set("ngCloak",void 0);a.removeClass("ng-cloak")}}),cf=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],ed={},Ah={blur:!0,focus:!0};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=xa("ng-"+a);ed[b]=["$parse","$rootScope","$exceptionHandler",function(d,c,e){return sd(d,c,e,b,a,Ah[a])}]});var ff=["$animate","$compile",function(a,b){return{multiElement:!0, |
|||
transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(d,c,e,f,g){var k,h,l;d.$watch(e.ngIf,function(d){d?h||g(function(d,f){h=f;d[d.length++]=b.$$createComment("end ngIf",e.ngIf);k={clone:d};a.enter(d,c.parent(),c)}):(l&&(l.remove(),l=null),h&&(h.$destroy(),h=null),k&&(l=ub(k.clone),a.leave(l).done(function(a){!1!==a&&(l=null)}),k=null))})}}}],gf=["$templateRequest","$anchorScroll","$animate",function(a,b,d){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element", |
|||
controller:ca.noop,compile:function(c,e){var f=e.ngInclude||e.src,g=e.onload||"",k=e.autoscroll;return function(c,e,m,p,n){var r=0,q,t,x,v=function(){t&&(t.remove(),t=null);q&&(q.$destroy(),q=null);x&&(d.leave(x).done(function(a){!1!==a&&(t=null)}),t=x,x=null)};c.$watch(f,function(f){var m=function(a){!1===a||!w(k)||k&&!c.$eval(k)||b()},t=++r;f?(a(f,!0).then(function(a){if(!c.$$destroyed&&t===r){var b=c.$new();p.template=a;a=n(b,function(a){v();d.enter(a,null,e).done(m)});q=b;x=a;q.$emit("$includeContentLoaded", |
|||
f);c.$eval(g)}},function(){c.$$destroyed||t!==r||(v(),c.$emit("$includeContentError",f))}),c.$emit("$includeContentRequested",f)):(v(),p.template=null)})}}}}],zf=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(b,d,c,e){la.call(d[0]).match(/SVG/)?(d.empty(),a(gd(e.template,z.document).childNodes)(b,function(a){d.append(a)},{futureParentElement:d})):(d.html(e.template),a(d.contents())(b))}}}],hf=Ra({priority:450,compile:function(){return{pre:function(a, |
|||
b,d){a.$eval(d.ngInit)}}}}),vf=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,d,c){var e=d.ngList||", ",f="false"!==d.ngTrim,g=f?V(e):e;c.$parsers.push(function(a){if(!A(a)){var b=[];a&&r(a.split(g),function(a){a&&b.push(f?V(a):a)});return b}});c.$formatters.push(function(a){if(H(a))return a.join(e)});c.$isEmpty=function(a){return!a||!a.length}}}},nb="ng-valid",be="ng-invalid",Za="ng-pristine",Wb="ng-dirty",pb=F("ngModel");Sb.$inject="$scope $exceptionHandler $attrs $element $parse $animate $timeout $q $interpolate".split(" "); |
|||
Sb.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var a=this.$$parse(this.$$attr.ngModel+"()"),b=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function(b){var c=this.$$parsedNgModel(b);B(c)&&(c=a(b));return c};this.$$ngModelSet=function(a,c){B(this.$$parsedNgModel(a))?b(a,{$$$p:c}):this.$$parsedNgModelAssign(a,c)}}else if(!this.$$parsedNgModel.assign)throw pb("nonassign",this.$$attr.ngModel,Aa(this.$$element));},$render:E,$isEmpty:function(a){return A(a)|| |
|||
""===a||null===a||a!==a},$$updateEmptyClasses:function(a){this.$isEmpty(a)?(this.$$animate.removeClass(this.$$element,"ng-not-empty"),this.$$animate.addClass(this.$$element,"ng-empty")):(this.$$animate.removeClass(this.$$element,"ng-empty"),this.$$animate.addClass(this.$$element,"ng-not-empty"))},$setPristine:function(){this.$dirty=!1;this.$pristine=!0;this.$$animate.removeClass(this.$$element,Wb);this.$$animate.addClass(this.$$element,Za)},$setDirty:function(){this.$dirty=!0;this.$pristine=!1;this.$$animate.removeClass(this.$$element, |
|||
Za);this.$$animate.addClass(this.$$element,Wb);this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1;this.$untouched=!0;this.$$animate.setClass(this.$$element,"ng-untouched","ng-touched")},$setTouched:function(){this.$touched=!0;this.$untouched=!1;this.$$animate.setClass(this.$$element,"ng-touched","ng-untouched")},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce);this.$viewValue=this.$$lastCommittedViewValue;this.$render()},$validate:function(){if(!Y(this.$modelValue)){var a= |
|||
this.$$lastCommittedViewValue,b=this.$$rawModelValue,d=this.$valid,c=this.$modelValue,e=this.$options.getOption("allowInvalid"),f=this;this.$$runValidators(b,a,function(a){e||d===a||(f.$modelValue=a?b:void 0,f.$modelValue!==c&&f.$$writeModelToScope())})}},$$runValidators:function(a,b,d){function c(){var c=!0;r(h.$validators,function(d,e){var g=Boolean(d(a,b));c=c&&g;f(e,g)});return c?!0:(r(h.$asyncValidators,function(a,b){f(b,null)}),!1)}function e(){var c=[],d=!0;r(h.$asyncValidators,function(e, |
|||
g){var h=e(a,b);if(!h||!B(h.then))throw pb("nopromise",h);f(g,void 0);c.push(h.then(function(){f(g,!0)},function(){d=!1;f(g,!1)}))});c.length?h.$$q.all(c).then(function(){g(d)},E):g(!0)}function f(a,b){k===h.$$currentValidationRunId&&h.$setValidity(a,b)}function g(a){k===h.$$currentValidationRunId&&d(a)}this.$$currentValidationRunId++;var k=this.$$currentValidationRunId,h=this;(function(){var a=h.$$parserName;if(A(h.$$parserValid))f(a,null);else return h.$$parserValid||(r(h.$validators,function(a, |
|||
b){f(b,null)}),r(h.$asyncValidators,function(a,b){f(b,null)})),f(a,h.$$parserValid),h.$$parserValid;return!0})()?c()?e():g(!1):g(!1)},$commitViewValue:function(){var a=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce);if(this.$$lastCommittedViewValue!==a||""===a&&this.$$hasNativeValidators)this.$$updateEmptyClasses(a),this.$$lastCommittedViewValue=a,this.$pristine&&this.$setDirty(),this.$$parseAndValidate()},$$parseAndValidate:function(){var a=this.$$lastCommittedViewValue,b=this;this.$$parserValid= |
|||
A(a)?void 0:!0;this.$setValidity(this.$$parserName,null);this.$$parserName="parse";if(this.$$parserValid)for(var d=0;d<this.$parsers.length;d++)if(a=this.$parsers[d](a),A(a)){this.$$parserValid=!1;break}Y(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));var c=this.$modelValue,e=this.$options.getOption("allowInvalid");this.$$rawModelValue=a;e&&(this.$modelValue=a,b.$modelValue!==c&&b.$$writeModelToScope());this.$$runValidators(a,this.$$lastCommittedViewValue,function(d){e||(b.$modelValue= |
|||
d?a:void 0,b.$modelValue!==c&&b.$$writeModelToScope())})},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,this.$modelValue);r(this.$viewChangeListeners,function(a){try{a()}catch(b){this.$$exceptionHandler(b)}},this)},$setViewValue:function(a,b){this.$viewValue=a;this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(b)},$$debounceViewValueCommit:function(a){var b=this.$options.getOption("debounce");X(b[a])?b=b[a]:X(b["default"])&&-1===this.$options.getOption("updateOn").indexOf(a)? |
|||
b=b["default"]:X(b["*"])&&(b=b["*"]);this.$$timeout.cancel(this.$$pendingDebounce);var d=this;0<b?this.$$pendingDebounce=this.$$timeout(function(){d.$commitViewValue()},b):this.$$rootScope.$$phase?this.$commitViewValue():this.$$scope.$apply(function(){d.$commitViewValue()})},$overrideModelOptions:function(a){this.$options=this.$options.createChild(a);this.$$setUpdateOnEvents()},$processModelValue:function(){var a=this.$$format();this.$viewValue!==a&&(this.$$updateEmptyClasses(a),this.$viewValue=this.$$lastCommittedViewValue= |
|||
a,this.$render(),this.$$runValidators(this.$modelValue,this.$viewValue,E))},$$format:function(){for(var a=this.$formatters,b=a.length,d=this.$modelValue;b--;)d=a[b](d);return d},$$setModelValue:function(a){this.$modelValue=this.$$rawModelValue=a;this.$$parserValid=void 0;this.$processModelValue()},$$setUpdateOnEvents:function(){this.$$updateEvents&&this.$$element.off(this.$$updateEvents,this.$$updateEventHandler);if(this.$$updateEvents=this.$options.getOption("updateOn"))this.$$element.on(this.$$updateEvents, |
|||
this.$$updateEventHandler)},$$updateEventHandler:function(a){this.$$debounceViewValueCommit(a&&a.type)}};ce({clazz:Sb,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]}});var uf=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:Sb,priority:1,compile:function(b){b.addClass(Za).addClass("ng-untouched").addClass(nb);return{pre:function(a,b,e,f){var g=f[0];b=f[1]||g.$$parentForm;if(f=f[2])g.$options=f.$options;g.$$initGetterSetters();b.$addControl(g); |
|||
e.$observe("name",function(a){g.$name!==a&&g.$$parentForm.$$renameControl(g,a)});a.$on("$destroy",function(){g.$$parentForm.$removeControl(g)})},post:function(b,c,e,f){function g(){k.$setTouched()}var k=f[0];k.$$setUpdateOnEvents();c.on("blur",function(){k.$touched||(a.$$phase?b.$evalAsync(g):b.$apply(g))})}}}}}],Tb,Bh=/(\s+|^)default(\s+|$)/;Mc.prototype={getOption:function(a){return this.$$options[a]},createChild:function(a){var b=!1;a=S({},a);r(a,function(d,c){"$inherit"===d?"*"===c?b=!0:(a[c]= |
|||
this.$$options[c],"updateOn"===c&&(a.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===c&&(a.updateOnDefault=!1,a[c]=V(d.replace(Bh,function(){a.updateOnDefault=!0;return" "})))},this);b&&(delete a["*"],ie(a,this.$$options));ie(a,Tb.$$options);return new Mc(a)}};Tb=new Mc({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});var yf=function(){function a(a,d){this.$$attrs=a;this.$$scope=d}a.$inject=["$attrs","$scope"];a.prototype={$onInit:function(){var a= |
|||
this.parentCtrl?this.parentCtrl.$options:Tb,d=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=a.createChild(d)}};return{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:a}},jf=Ra({terminal:!0,priority:1E3}),Ch=F("ngOptions"),Dh=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/, |
|||
sf=["$compile","$document","$parse",function(a,b,d){function c(a,b,c){function e(a,b,c,d,f){this.selectValue=a;this.viewValue=b;this.label=c;this.group=d;this.disabled=f}function f(a){var b;if(!r&&za(a))b=a;else{b=[];for(var c in a)a.hasOwnProperty(c)&&"$"!==c.charAt(0)&&b.push(c)}return b}var p=a.match(Dh);if(!p)throw Ch("iexp",a,Aa(b));var n=p[5]||p[7],r=p[6];a=/ as /.test(p[0])&&p[1];var q=p[9];b=d(p[2]?p[1]:n);var t=a&&d(a)||b,w=q&&d(q),v=q?function(a,b){return w(c,b)}:function(a){return La(a)}, |
|||
x=function(a,b){return v(a,B(a,b))},A=d(p[2]||p[1]),y=d(p[3]||""),J=d(p[4]||""),I=d(p[8]),z={},B=r?function(a,b){z[r]=b;z[n]=a;return z}:function(a){z[n]=a;return z};return{trackBy:q,getTrackByValue:x,getWatchables:d(I,function(a){var b=[];a=a||[];for(var d=f(a),e=d.length,g=0;g<e;g++){var k=a===d?g:d[g],l=a[k],k=B(l,k),l=v(l,k);b.push(l);if(p[2]||p[1])l=A(c,k),b.push(l);p[4]&&(k=J(c,k),b.push(k))}return b}),getOptions:function(){for(var a=[],b={},d=I(c)||[],g=f(d),k=g.length,n=0;n<k;n++){var p=d=== |
|||
g?n:g[n],r=B(d[p],p),s=t(c,r),p=v(s,r),w=A(c,r),z=y(c,r),r=J(c,r),s=new e(p,s,w,z,r);a.push(s);b[p]=s}return{items:a,selectValueMap:b,getOptionFromViewValue:function(a){return b[x(a)]},getViewValueFromOption:function(a){return q?Ia(a.viewValue):a.viewValue}}}}}var e=z.document.createElement("option"),f=z.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(a,b,c,d){d[0].registerOption=E},post:function(d,k,h,l){function m(a){var b=(a=v.getOptionFromViewValue(a))&& |
|||
a.element;b&&!b.selected&&(b.selected=!0);return a}function p(a,b){a.element=b;b.disabled=a.disabled;a.label!==b.label&&(b.label=a.label,b.textContent=a.label);b.value=a.selectValue}var n=l[0],q=l[1],A=h.multiple;l=0;for(var t=k.children(),z=t.length;l<z;l++)if(""===t[l].value){n.hasEmptyOption=!0;n.emptyOption=t.eq(l);break}k.empty();l=!!n.emptyOption;x(e.cloneNode(!1)).val("?");var v,B=c(h.ngOptions,k,d),C=b[0].createDocumentFragment();n.generateUnknownOptionValue=function(a){return"?"};A?(n.writeValue= |
|||
function(a){if(v){var b=a&&a.map(m)||[];v.items.forEach(function(a){a.element.selected&&-1===Array.prototype.indexOf.call(b,a)&&(a.element.selected=!1)})}},n.readValue=function(){var a=k.val()||[],b=[];r(a,function(a){(a=v.selectValueMap[a])&&!a.disabled&&b.push(v.getViewValueFromOption(a))});return b},B.trackBy&&d.$watchCollection(function(){if(H(q.$viewValue))return q.$viewValue.map(function(a){return B.getTrackByValue(a)})},function(){q.$render()})):(n.writeValue=function(a){if(v){var b=k[0].options[k[0].selectedIndex], |
|||
c=v.getOptionFromViewValue(a);b&&b.removeAttribute("selected");c?(k[0].value!==c.selectValue&&(n.removeUnknownOption(),k[0].value=c.selectValue,c.element.selected=!0),c.element.setAttribute("selected","selected")):n.selectUnknownOrEmptyOption(a)}},n.readValue=function(){var a=v.selectValueMap[k.val()];return a&&!a.disabled?(n.unselectEmptyOption(),n.removeUnknownOption(),v.getViewValueFromOption(a)):null},B.trackBy&&d.$watch(function(){return B.getTrackByValue(q.$viewValue)},function(){q.$render()})); |
|||
l&&(a(n.emptyOption)(d),k.prepend(n.emptyOption),8===n.emptyOption[0].nodeType?(n.hasEmptyOption=!1,n.registerOption=function(a,b){""===b.val()&&(n.hasEmptyOption=!0,n.emptyOption=b,n.emptyOption.removeClass("ng-scope"),q.$render(),b.on("$destroy",function(){var a=n.$isEmptyOptionSelected();n.hasEmptyOption=!1;n.emptyOption=void 0;a&&q.$render()}))}):n.emptyOption.removeClass("ng-scope"));d.$watchCollection(B.getWatchables,function(){var a=v&&n.readValue();if(v)for(var b=v.items.length-1;0<=b;b--){var c= |
|||
v.items[b];w(c.group)?Gb(c.element.parentNode):Gb(c.element)}v=B.getOptions();var d={};v.items.forEach(function(a){var b;if(w(a.group)){b=d[a.group];b||(b=f.cloneNode(!1),C.appendChild(b),b.label=null===a.group?"null":a.group,d[a.group]=b);var c=e.cloneNode(!1);b.appendChild(c);p(a,c)}else b=e.cloneNode(!1),C.appendChild(b),p(a,b)});k[0].appendChild(C);q.$render();q.$isEmpty(a)||(b=n.readValue(),(B.trackBy||A?va(a,b):a===b)||(q.$setViewValue(b),q.$render()))})}}}}],kf=["$locale","$interpolate","$log", |
|||
function(a,b,d){var c=/{}/g,e=/^when(Minus)?(.+)$/;return{link:function(f,g,k){function h(a){g.text(a||"")}var l=k.count,m=k.$attr.when&&g.attr(k.$attr.when),p=k.offset||0,n=f.$eval(m)||{},q={},w=b.startSymbol(),t=b.endSymbol(),x=w+l+"-"+p+t,v=ca.noop,z;r(k,function(a,b){var c=e.exec(b);c&&(c=(c[1]?"-":"")+K(c[2]),n[c]=g.attr(k.$attr[b]))});r(n,function(a,d){q[d]=b(a.replace(c,x))});f.$watch(l,function(b){var c=parseFloat(b),e=Y(c);e||c in n||(c=a.pluralCat(c-p));c===z||e&&Y(z)||(v(),e=q[c],A(e)? |
|||
(null!=b&&d.debug("ngPluralize: no rule defined for '"+c+"' in "+m),v=E,h()):v=f.$watch(e,h),z=c)})}}}],ue=F("ngRef"),lf=["$parse",function(a){return{priority:-1,restrict:"A",compile:function(b,d){var c=xa(ua(b)),e=a(d.ngRef),f=e.assign||function(){throw ue("nonassign",d.ngRef);};return function(a,b,h){var l;if(h.hasOwnProperty("ngRefRead"))if("$element"===h.ngRefRead)l=b;else{if(l=b.data("$"+h.ngRefRead+"Controller"),!l)throw ue("noctrl",h.ngRefRead,d.ngRef);}else l=b.data("$"+c+"Controller");l= |
|||
l||b;f(a,l);b.on("$destroy",function(){e(a)===l&&f(a,null)})}}}}],mf=["$parse","$animate","$compile",function(a,b,d){var c=F("ngRepeat"),e=function(a,b,c,d,e,f,g){a[c]=d;e&&(a[e]=f);a.$index=b;a.$first=0===b;a.$last=b===g-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(b&1))},f=function(a,b,c){return La(c)},g=function(a,b){return b};return{restrict:"A",multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(k,h){var l=h.ngRepeat,m=d.$$createComment("end ngRepeat", |
|||
l),p=l.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!p)throw c("iexp",l);var n=p[1],q=p[2],w=p[3],t=p[4],p=n.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/);if(!p)throw c("iidexp",n);var x=p[3]||p[1],v=p[2];if(w&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(w)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(w)))throw c("badident",w);var A;if(t){var z={$id:La},y=a(t);A=function(a,b,c,d){v&& |
|||
(z[v]=b);z[x]=c;z.$index=d;return y(a,z)}}return function(a,d,h,k,n){var p=T();a.$watchCollection(q,function(h){var k,q,t=d[0],s,y=T(),B,C,E,D,H,F,K;w&&(a[w]=h);if(za(h))H=h,q=A||f;else for(K in q=A||g,H=[],h)ta.call(h,K)&&"$"!==K.charAt(0)&&H.push(K);B=H.length;K=Array(B);for(k=0;k<B;k++)if(C=h===H?k:H[k],E=h[C],D=q(a,C,E,k),p[D])F=p[D],delete p[D],y[D]=F,K[k]=F;else{if(y[D])throw r(K,function(a){a&&a.scope&&(p[a.id]=a)}),c("dupes",l,D,E);K[k]={id:D,scope:void 0,clone:void 0};y[D]=!0}z&&(z[x]=void 0); |
|||
for(s in p){F=p[s];D=ub(F.clone);b.leave(D);if(D[0].parentNode)for(k=0,q=D.length;k<q;k++)D[k].$$NG_REMOVED=!0;F.scope.$destroy()}for(k=0;k<B;k++)if(C=h===H?k:H[k],E=h[C],F=K[k],F.scope){s=t;do s=s.nextSibling;while(s&&s.$$NG_REMOVED);F.clone[0]!==s&&b.move(ub(F.clone),null,t);t=F.clone[F.clone.length-1];e(F.scope,k,x,E,v,C,B)}else n(function(a,c){F.scope=c;var d=m.cloneNode(!1);a[a.length++]=d;b.enter(a,null,t);t=d;F.clone=a;y[F.id]=F;e(F.scope,k,x,E,v,C,B)});p=y})}}}}],nf=["$animate",function(a){return{restrict:"A", |
|||
multiElement:!0,link:function(b,d,c){b.$watch(c.ngShow,function(b){a[b?"removeClass":"addClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],ef=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,d,c){b.$watch(c.ngHide,function(b){a[b?"addClass":"removeClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],of=Ra(function(a,b,d){a.$watchCollection(d.ngStyle,function(a,d){d&&a!==d&&r(d,function(a,c){b.css(c,"")});a&&b.css(a)})}),pf=["$animate","$compile",function(a, |
|||
b){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(d,c,e,f){var g=[],k=[],h=[],l=[],m=function(a,b){return function(c){!1!==c&&a.splice(b,1)}};d.$watch(e.ngSwitch||e.on,function(c){for(var d,e;h.length;)a.cancel(h.pop());d=0;for(e=l.length;d<e;++d){var q=ub(k[d].clone);l[d].$destroy();(h[d]=a.leave(q)).done(m(h,d))}k.length=0;l.length=0;(g=f.cases["!"+c]||f.cases["?"])&&r(g,function(c){c.transclude(function(d,e){l.push(e);var f=c.element;d[d.length++]=b.$$createComment("end ngSwitchWhen"); |
|||
k.push({clone:d});a.enter(d,f.parent(),f)})})})}}}],qf=Ra({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,d,c,e){a=d.ngSwitchWhen.split(d.ngSwitchWhenSeparator).sort().filter(function(a,b,c){return c[b-1]!==a});r(a,function(a){c.cases["!"+a]=c.cases["!"+a]||[];c.cases["!"+a].push({transclude:e,element:b})})}}),rf=Ra({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,d,c,e){c.cases["?"]=c.cases["?"]||[];c.cases["?"].push({transclude:e, |
|||
element:b})}}),Eh=F("ngTransclude"),tf=["$compile",function(a){return{restrict:"EAC",compile:function(b){var d=a(b.contents());b.empty();return function(a,b,f,g,k){function h(){d(a,function(a){b.append(a)})}if(!k)throw Eh("orphan",Aa(b));f.ngTransclude===f.$attr.ngTransclude&&(f.ngTransclude="");f=f.ngTransclude||f.ngTranscludeSlot;k(function(a,c){var d;if(d=a.length)a:{d=0;for(var f=a.length;d<f;d++){var g=a[d];if(g.nodeType!==Pa||g.nodeValue.trim()){d=!0;break a}}d=void 0}d?b.append(a):(h(),c.$destroy())}, |
|||
null,f);f&&!k.isSlotFilled(f)&&h()}}}}],Te=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,d){"text/ng-template"===d.type&&a.put(d.id,b[0].text)}}}],Fh={$setViewValue:E,$render:E},Gh=["$element","$scope",function(a,b){function d(){g||(g=!0,b.$$postDigest(function(){g=!1;e.ngModelCtrl.$render()}))}function c(a){k||(k=!0,b.$$postDigest(function(){b.$$destroyed||(k=!1,e.ngModelCtrl.$setViewValue(e.readValue()),a&&e.ngModelCtrl.$render())}))}var e=this,f=new Ib;e.selectValueMap= |
|||
{};e.ngModelCtrl=Fh;e.multiple=!1;e.unknownOption=x(z.document.createElement("option"));e.hasEmptyOption=!1;e.emptyOption=void 0;e.renderUnknownOption=function(b){b=e.generateUnknownOptionValue(b);e.unknownOption.val(b);a.prepend(e.unknownOption);Oa(e.unknownOption,!0);a.val(b)};e.updateUnknownOption=function(b){b=e.generateUnknownOptionValue(b);e.unknownOption.val(b);Oa(e.unknownOption,!0);a.val(b)};e.generateUnknownOptionValue=function(a){return"? "+La(a)+" ?"};e.removeUnknownOption=function(){e.unknownOption.parent()&& |
|||
e.unknownOption.remove()};e.selectEmptyOption=function(){e.emptyOption&&(a.val(""),Oa(e.emptyOption,!0))};e.unselectEmptyOption=function(){e.hasEmptyOption&&Oa(e.emptyOption,!1)};b.$on("$destroy",function(){e.renderUnknownOption=E});e.readValue=function(){var b=a.val(),b=b in e.selectValueMap?e.selectValueMap[b]:b;return e.hasOption(b)?b:null};e.writeValue=function(b){var c=a[0].options[a[0].selectedIndex];c&&Oa(x(c),!1);e.hasOption(b)?(e.removeUnknownOption(),c=La(b),a.val(c in e.selectValueMap? |
|||
c:b),Oa(x(a[0].options[a[0].selectedIndex]),!0)):e.selectUnknownOrEmptyOption(b)};e.addOption=function(a,b){if(8!==b[0].nodeType){Ja(a,'"option value"');""===a&&(e.hasEmptyOption=!0,e.emptyOption=b);var c=f.get(a)||0;f.set(a,c+1);d()}};e.removeOption=function(a){var b=f.get(a);b&&(1===b?(f.delete(a),""===a&&(e.hasEmptyOption=!1,e.emptyOption=void 0)):f.set(a,b-1))};e.hasOption=function(a){return!!f.get(a)};e.$hasEmptyOption=function(){return e.hasEmptyOption};e.$isUnknownOptionSelected=function(){return a[0].options[0]=== |
|||
e.unknownOption[0]};e.$isEmptyOptionSelected=function(){return e.hasEmptyOption&&a[0].options[a[0].selectedIndex]===e.emptyOption[0]};e.selectUnknownOrEmptyOption=function(a){null==a&&e.emptyOption?(e.removeUnknownOption(),e.selectEmptyOption()):e.unknownOption.parent().length?e.updateUnknownOption(a):e.renderUnknownOption(a)};var g=!1,k=!1;e.registerOption=function(a,b,f,g,k){if(f.$attr.ngValue){var q,r;f.$observe("value",function(a){var d,f=b.prop("selected");w(r)&&(e.removeOption(q),delete e.selectValueMap[r], |
|||
d=!0);r=La(a);q=a;e.selectValueMap[r]=a;e.addOption(a,b);b.attr("value",r);d&&f&&c()})}else g?f.$observe("value",function(a){e.readValue();var d,f=b.prop("selected");w(q)&&(e.removeOption(q),d=!0);q=a;e.addOption(a,b);d&&f&&c()}):k?a.$watch(k,function(a,d){f.$set("value",a);var g=b.prop("selected");d!==a&&e.removeOption(d);e.addOption(a,b);d&&g&&c()}):e.addOption(f.value,b);f.$observe("disabled",function(a){if("true"===a||a&&b.prop("selected"))e.multiple?c(!0):(e.ngModelCtrl.$setViewValue(null),e.ngModelCtrl.$render())}); |
|||
b.on("$destroy",function(){var a=e.readValue(),b=f.value;e.removeOption(b);d();(e.multiple&&a&&-1!==a.indexOf(b)||a===b)&&c(!0)})}}],Ue=function(){return{restrict:"E",require:["select","?ngModel"],controller:Gh,priority:1,link:{pre:function(a,b,d,c){var e=c[0],f=c[1];if(f){if(e.ngModelCtrl=f,b.on("change",function(){e.removeUnknownOption();a.$apply(function(){f.$setViewValue(e.readValue())})}),d.multiple){e.multiple=!0;e.readValue=function(){var a=[];r(b.find("option"),function(b){b.selected&&!b.disabled&& |
|||
(b=b.value,a.push(b in e.selectValueMap?e.selectValueMap[b]:b))});return a};e.writeValue=function(a){r(b.find("option"),function(b){var c=!!a&&(-1!==Array.prototype.indexOf.call(a,b.value)||-1!==Array.prototype.indexOf.call(a,e.selectValueMap[b.value]));c!==b.selected&&Oa(x(b),c)})};var g,k=NaN;a.$watch(function(){k!==f.$viewValue||va(g,f.$viewValue)||(g=ja(f.$viewValue),f.$render());k=f.$viewValue});f.$isEmpty=function(a){return!a||0===a.length}}}else e.registerOption=E},post:function(a,b,d,c){var e= |
|||
c[1];if(e){var f=c[0];e.$render=function(){f.writeValue(e.$viewValue)}}}}}},Ve=["$interpolate",function(a){return{restrict:"E",priority:100,compile:function(b,d){var c,e;w(d.ngValue)||(w(d.value)?c=a(d.value,!0):(e=a(b.text(),!0))||d.$set("value",b.text()));return function(a,b,d){var h=b.parent();(h=h.data("$selectController")||h.parent().data("$selectController"))&&h.registerOption(a,b,d,c,e)}}}}],bd=["$parse",function(a){return{restrict:"A",require:"?ngModel",link:function(b,d,c,e){if(e){var f= |
|||
c.hasOwnProperty("required")||a(c.ngRequired)(b);c.ngRequired||(c.required=!0);e.$validators.required=function(a,b){return!f||!e.$isEmpty(b)};c.$observe("required",function(a){f!==a&&(f=a,e.$validate())})}}}}],ad=["$parse",function(a){return{restrict:"A",require:"?ngModel",compile:function(b,d){var c,e;d.ngPattern&&(c=d.ngPattern,e="/"===d.ngPattern.charAt(0)&&ke.test(d.ngPattern)?function(){return d.ngPattern}:a(d.ngPattern));return function(a,b,d,h){if(h){var l=d.pattern;d.ngPattern?l=e(a):c=d.pattern; |
|||
var m=je(l,c,b);d.$observe("pattern",function(a){var d=m;m=je(a,c,b);(d&&d.toString())!==(m&&m.toString())&&h.$validate()});h.$validators.pattern=function(a,b){return h.$isEmpty(b)||A(m)||m.test(b)}}}}}}],dd=["$parse",function(a){return{restrict:"A",require:"?ngModel",link:function(b,d,c,e){if(e){var f=c.maxlength||a(c.ngMaxlength)(b),g=Ub(f);c.$observe("maxlength",function(a){f!==a&&(g=Ub(a),f=a,e.$validate())});e.$validators.maxlength=function(a,b){return 0>g||e.$isEmpty(b)||b.length<=g}}}}}],cd= |
|||
["$parse",function(a){return{restrict:"A",require:"?ngModel",link:function(b,d,c,e){if(e){var f=c.minlength||a(c.ngMinlength)(b),g=Ub(f)||-1;c.$observe("minlength",function(a){f!==a&&(g=Ub(a)||-1,f=a,e.$validate())});e.$validators.minlength=function(a,b){return e.$isEmpty(b)||b.length>=g}}}}}];z.angular.bootstrap?z.console&&console.log("WARNING: Tried to load AngularJS more than once."):(Je(),Oe(ca),ca.module("ngLocale",[],["$provide",function(a){function b(a){a+="";var b=a.indexOf(".");return-1== |
|||
b?0:a.length-b-1}a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONEMONTH:"January February March April May June July August September October November December".split(" "), |
|||
WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(a, |
|||
c){var e=a|0,f=c;void 0===f&&(f=Math.min(b(a),3));Math.pow(10,f);return 1==e&&0==f?"one":"other"}})}]),x(function(){Ee(z.document,Wc)}))})(window);!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(window.angular.element("<style>").text('@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}')); |
|||
//# sourceMappingURL=angular.min.js.map
|
|||
8
angjs2/lib/angular/angular.min.js.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,9 @@ |
|||
{ |
|||
"name": "angular", |
|||
"version": "1.8.2", |
|||
"license": "MIT", |
|||
"main": "./angular.js", |
|||
"ignore": [], |
|||
"dependencies": { |
|||
} |
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
require('./angular'); |
|||
module.exports = angular; |
|||
@ -0,0 +1,57 @@ |
|||
{ |
|||
"_args": [ |
|||
[ |
|||
"angular@1.8.2", |
|||
"/home/osboxes/Desktop/angular/angjs-requirejs" |
|||
] |
|||
], |
|||
"_development": true, |
|||
"_from": "angular@1.8.2", |
|||
"_id": "angular@1.8.2", |
|||
"_inBundle": false, |
|||
"_integrity": "sha512-IauMOej2xEe7/7Ennahkbb5qd/HFADiNuLSESz9Q27inmi32zB0lnAsFeLEWcox3Gd1F6YhNd1CP7/9IukJ0Gw==", |
|||
"_location": "/angular", |
|||
"_phantomChildren": {}, |
|||
"_requested": { |
|||
"type": "version", |
|||
"registry": true, |
|||
"raw": "angular@1.8.2", |
|||
"name": "angular", |
|||
"escapedName": "angular", |
|||
"rawSpec": "1.8.2", |
|||
"saveSpec": null, |
|||
"fetchSpec": "1.8.2" |
|||
}, |
|||
"_requiredBy": [ |
|||
"#DEV:/" |
|||
], |
|||
"_resolved": "https://registry.npmjs.org/angular/-/angular-1.8.2.tgz", |
|||
"_spec": "1.8.2", |
|||
"_where": "/home/osboxes/Desktop/angular/angjs-requirejs", |
|||
"author": { |
|||
"name": "Angular Core Team", |
|||
"email": "angular-core+npm@google.com" |
|||
}, |
|||
"bugs": { |
|||
"url": "https://github.com/angular/angular.js/issues" |
|||
}, |
|||
"description": "HTML enhanced for web apps", |
|||
"homepage": "http://angularjs.org", |
|||
"keywords": [ |
|||
"angular", |
|||
"framework", |
|||
"browser", |
|||
"client-side" |
|||
], |
|||
"license": "MIT", |
|||
"main": "index.js", |
|||
"name": "angular", |
|||
"repository": { |
|||
"type": "git", |
|||
"url": "git+https://github.com/angular/angular.js.git" |
|||
}, |
|||
"scripts": { |
|||
"test": "echo \"Error: no test specified\" && exit 1" |
|||
}, |
|||
"version": "1.8.2" |
|||
} |
|||
@ -0,0 +1 @@ |
|||
* @chaijs/chai |
|||
@ -0,0 +1,58 @@ |
|||
# Contributor Code of Conduct |
|||
|
|||
> Read in: [Español](http://contributor-covenant.org/version/1/3/0/es/) | |
|||
[Français](http://contributor-covenant.org/version/1/3/0/fr/) | |
|||
[Italiano](http://contributor-covenant.org/version/1/3/0/it/) | |
|||
[Magyar](http://contributor-covenant.org/version/1/3/0/hu/) | |
|||
[Polskie](http://contributor-covenant.org/version/1/3/0/pl/) | |
|||
[Português](http://contributor-covenant.org/version/1/3/0/pt/) | |
|||
[Português do Brasil](http://contributor-covenant.org/version/1/3/0/pt_br/) |
|||
|
|||
As contributors and maintainers of this project, and in the interest of |
|||
fostering an open and welcoming community, we pledge to respect all people who |
|||
contribute through reporting issues, posting feature requests, updating |
|||
documentation, submitting pull requests or patches, and other activities. |
|||
|
|||
We are committed to making participation in this project a harassment-free |
|||
experience for everyone, regardless of level of experience, gender, gender |
|||
identity and expression, sexual orientation, disability, personal appearance, |
|||
body size, race, ethnicity, age, religion, or nationality. |
|||
|
|||
Examples of unacceptable behavior by participants include: |
|||
|
|||
* The use of sexualized language or imagery |
|||
* Personal attacks |
|||
* Trolling or insulting/derogatory comments |
|||
* Public or private harassment |
|||
* Publishing other's private information, such as physical or electronic |
|||
addresses, without explicit permission |
|||
* Other unethical or unprofessional conduct |
|||
|
|||
Project maintainers have the right and responsibility to remove, edit, or |
|||
reject comments, commits, code, wiki edits, issues, and other contributions |
|||
that are not aligned to this Code of Conduct, or to ban temporarily or |
|||
permanently any contributor for other behaviors that they deem inappropriate, |
|||
threatening, offensive, or harmful. |
|||
|
|||
By adopting this Code of Conduct, project maintainers commit themselves to |
|||
fairly and consistently applying these principles to every aspect of managing |
|||
this project. Project maintainers who do not follow or enforce the Code of |
|||
Conduct may be permanently removed from the project team. |
|||
|
|||
This Code of Conduct applies both within project spaces and in public spaces |
|||
when an individual is representing the project or its community. |
|||
|
|||
Instances of abusive, harassing, or otherwise unacceptable behavior may be |
|||
reported by contacting a project maintainer at chaijs@keithcirkel.co.uk. All |
|||
complaints will be reviewed and investigated and will result in a response that |
|||
is deemed necessary and appropriate to the circumstances. Maintainers are |
|||
obligated to maintain confidentiality with regard to the reporter of an |
|||
incident. |
|||
|
|||
|
|||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], |
|||
version 1.3.0, available at |
|||
[http://contributor-covenant.org/version/1/3/0/][version] |
|||
|
|||
[homepage]: http://contributor-covenant.org |
|||
[version]: http://contributor-covenant.org/version/1/3/0/ |
|||
@ -0,0 +1,218 @@ |
|||
# Chai Contribution Guidelines |
|||
|
|||
We like to encourage you to contribute to the Chai.js repository. This should be as easy as possible for you but there are a few things to consider when contributing. The following guidelines for contribution should be followed if you want to submit a pull request or open an issue. |
|||
|
|||
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue or assessing patches and features. |
|||
|
|||
#### Table of Contents |
|||
|
|||
- [TLDR;](#tldr) |
|||
- [Contributing](#contributing) |
|||
- [Bug Reports](#bugs) |
|||
- [Feature Requests](#features) |
|||
- [Pull Requests](#pull-requests) |
|||
- [Releasing](#releasing) |
|||
- [Support](#support) |
|||
- [Resources](#resources) |
|||
- [Core Contributors](#contributors) |
|||
|
|||
<a name="tldr"></a> |
|||
## TLDR; |
|||
|
|||
- Creating an Issue or Pull Request requires a [GitHub](http://github.com) account. |
|||
- Issue reports should be **clear**, **concise** and **reproducible**. Check to see if your issue has already been resolved in the [master]() branch or already reported in Chai's [GitHub Issue Tracker](https://github.com/chaijs/chai/issues). |
|||
- Pull Requests must adhere to strict [coding style guidelines](https://github.com/chaijs/chai/wiki/Chai-Coding-Style-Guide). |
|||
- In general, avoid submitting PRs for new Assertions without asking core contributors first. More than likely it would be better implemented as a plugin. |
|||
- Additional support is available via the [Google Group](http://groups.google.com/group/chaijs) or on irc.freenode.net#chaijs. |
|||
- **IMPORTANT**: By submitting a patch, you agree to allow the project owner to license your work under the same license as that used by the project. |
|||
|
|||
|
|||
|
|||
<a name="contributing"></a> |
|||
## Contributing |
|||
|
|||
The issue tracker is the preferred channel for [bug reports](#bugs), |
|||
[feature requests](#features) and [submitting pull |
|||
requests](#pull-requests), but please respect the following restrictions: |
|||
|
|||
* Please **do not** use the issue tracker for personal support requests (use |
|||
[Google Group](https://groups.google.com/forum/#!forum/chaijs) or IRC). |
|||
* Please **do not** derail or troll issues. Keep the discussion on topic and |
|||
respect the opinions of others |
|||
|
|||
<a name="bugs"></a> |
|||
### Bug Reports |
|||
|
|||
A bug is a **demonstrable problem** that is caused by the code in the repository. |
|||
|
|||
Guidelines for bug reports: |
|||
|
|||
1. **Use the GitHub issue search** — check if the issue has already been reported. |
|||
2. **Check if the issue has been fixed** — try to reproduce it using the latest `master` or development branch in the repository. |
|||
3. **Isolate the problem** — create a test case to demonstrate your issue. Provide either a repo, gist, or code sample to demonstrate you problem. |
|||
|
|||
A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and/or Node.js versions experience the problem? What would you expect to be the outcome? All these details will help people to fix any potential bugs. |
|||
|
|||
Example: |
|||
|
|||
> Short and descriptive example bug report title |
|||
> |
|||
> A summary of the issue and the browser/OS environment in which it occurs. If suitable, include the steps required to reproduce the bug. |
|||
> |
|||
> 1. This is the first step |
|||
> 2. This is the second step |
|||
> 3. Further steps, etc. |
|||
> |
|||
> `<url>` - a link to the reduced test case OR |
|||
> ```js |
|||
> expect(a).to.equal('a'); |
|||
> // code sample |
|||
> ``` |
|||
> |
|||
> Any other information you want to share that is relevant to the issue being reported. This might include the lines of code that you have identified as causing the bug, and potential solutions (and your opinions on their merits). |
|||
|
|||
<a name="features"></a> |
|||
### Feature Requests |
|||
|
|||
Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the project. It's up to *you* to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible. |
|||
|
|||
Furthermore, since Chai.js has a [robust plugin API](http://chaijs.com/guide/plugins/), we encourage you to publish **new Assertions** as plugins. If your feature is an enhancement to an **existing Assertion**, please propose your changes as an issue prior to opening a pull request. If the core Chai.js contributors feel your plugin would be better suited as a core assertion, they will invite you to open a PR in [chaijs/chai](https://github.com/chaijs/chai). |
|||
|
|||
<a name="pull-requests"></a> |
|||
### Pull Requests |
|||
|
|||
- PRs for new core-assertions are advised against. |
|||
- PRs for core-assertion bug fixes are always welcome. |
|||
- PRs for enhancing the interfaces are always welcome. |
|||
- PRs that increase test coverage are always welcome. |
|||
- PRs are scrutinized for coding-style. |
|||
|
|||
Good pull requests - patches, improvements, new features - are a fantastic help. They should remain focused in scope and avoid containing unrelated commits. |
|||
|
|||
**Please ask first** before embarking on any significant pull request (e.g. implementing features, refactoring code), otherwise you risk spending a lot of time working on something that the project's developers might not want to merge into the project. |
|||
|
|||
Please adhere to the coding conventions used throughout a project (indentation, accurate comments, etc.) and any other requirements (such as test coverage). Please review the [Chai.js Coding Style Guide](https://github.com/chaijs/chai/wiki/Chai-Coding-Style-Guide). |
|||
|
|||
Follow this process if you'd like your work considered for inclusion in the project: |
|||
|
|||
1. [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork, and configure the remotes: |
|||
|
|||
```bash |
|||
# Clone your fork of the repo into the current directory |
|||
git clone https://github.com/<your-username>/<repo-name> |
|||
# Navigate to the newly cloned directory |
|||
cd <repo-name> |
|||
# Assign the original repo to a remote called "upstream" |
|||
git remote add upstream https://github.com/<upstream-owner>/<repo-name> |
|||
``` |
|||
|
|||
2. If you cloned a while ago, get the latest changes from upstream: |
|||
|
|||
```bash |
|||
git checkout <dev-branch> |
|||
git pull upstream <dev-branch> |
|||
``` |
|||
|
|||
3. Create a new topic branch (off the main project development branch) to contain your feature, change, or fix: |
|||
|
|||
```bash |
|||
git checkout -b <topic-branch-name> |
|||
``` |
|||
|
|||
4. Commit your changes in logical chunks. Use Git's [interactive rebase](https://help.github.com/articles/interactive-rebase) feature to tidy up your commits before making them public. |
|||
|
|||
5. Run you code to make sure it works. If you're still having problems please try to run `make clean` and then test your code again. |
|||
|
|||
```bash |
|||
npm test |
|||
# when finished running tests... |
|||
git checkout chai.js |
|||
``` |
|||
|
|||
6. Locally merge (or rebase) the upstream development branch into your topic branch: |
|||
|
|||
```bash |
|||
git pull [--rebase] upstream <dev-branch> |
|||
``` |
|||
|
|||
7. Push your topic branch up to your fork: |
|||
|
|||
```bash |
|||
git push origin <topic-branch-name> |
|||
``` |
|||
|
|||
8. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) with a clear title and description. |
|||
|
|||
**IMPORTANT**: By submitting a patch, you agree to allow the project owner to license your work under the same license as that used by the project. |
|||
|
|||
<a name="releasing"></a> |
|||
## Releasing |
|||
|
|||
Releases can be **prepared** by anyone with access to the code. |
|||
|
|||
Simply run `make release-major`, `make release-minor`, or `make-release-patch` |
|||
and it will automatically do the following: |
|||
|
|||
- Build chai.js |
|||
- Bump the version numbers across the project |
|||
- Make a commit within git |
|||
|
|||
All you need to do is push the commit up and make a pull request, one of the core contributors will merge it and publish a release. |
|||
|
|||
### Publishing a Release |
|||
|
|||
Anyone who is a core contributor (see the [Core Contributors Heading in the Readme](https://github.com/chaijs/chai#core-contributors)) can publish a release: |
|||
|
|||
1. Go to the [Releases page on Github](https://github.com/chaijs/chai/releases) |
|||
2. Hit "Draft a new release" (if you can't see this, you're not a core contributor!) |
|||
3. Write human-friendly Release Notes based on changelog. |
|||
- The release title is "x.x.x / YYYY-MM-DD" (where x.x.x is the version number) |
|||
- If breaking changes, write migration tutorial(s) and reasoning. |
|||
- Callouts for community contributions (PRs) with links to PR and contributing user. |
|||
- Callouts for other fixes made by core contributors with links to issue. |
|||
4. Hit "Save Draft" and get other core contributors to check your work, or alternatively hit "Publish release" |
|||
5. That's it! |
|||
|
|||
<a name="support"></a> |
|||
## Support |
|||
|
|||
<a name="resources"></a> |
|||
### Resources |
|||
|
|||
For most of the documentation you are going to want to visit [ChaiJS.com](http://chaijs.com). |
|||
|
|||
- [Getting Started Guide](http://chaijs.com/guide/) |
|||
- [API Reference](http://chaijs.com/api/) |
|||
- [Plugins](http://chaijs.com/plugins/) |
|||
|
|||
Alternatively, the [wiki](https://github.com/chaijs/chai/wiki) might be what you are looking for. |
|||
|
|||
- [Chai Coding Style Guide](https://github.com/chaijs/chai/wiki/Chai-Coding-Style-Guide) |
|||
- [Third-party Resources](https://github.com/chaijs/chai/wiki/Third-Party-Resources) |
|||
|
|||
Or finally, you may find a core-contributor or like-minded developer in any of our support channels. |
|||
|
|||
- IRC: irc.freenode.org #chaijs |
|||
- [Mailing List / Google Group](https://groups.google.com/forum/#!forum/chaijs) |
|||
|
|||
<a name="contributors"></a> |
|||
### Core Contributors |
|||
|
|||
Feel free to reach out to any of the core-contributors with you questions or concerns. We will do our best to respond in a timely manner. |
|||
|
|||
- Jake Luer |
|||
- GH: [@logicalparadox](https://github.com/logicalparadox) |
|||
- TW: [@jakeluer](http://twitter.com/jakeluer) |
|||
- IRC: logicalparadox |
|||
- Veselin Todorov |
|||
- GH: [@vesln](https://github.com/vesln/) |
|||
- TW: [@vesln](http://twitter.com/vesln) |
|||
- IRC: vesln |
|||
- Keith Cirkel |
|||
- GH: [@keithamus](https://github.com/keithamus) |
|||
- TW: [@keithamus](http://twitter.com/keithamus) |
|||
- IRC: keithamus |
|||
- Lucas Fernandes da Costa |
|||
- GH: [@lucasfcosta](https://github.com/lucasfcosta) |
|||
- TW: [@lfernandescosta](https://twitter.com/lfernandescosta) |
|||
- IRC: lucasfcosta |
|||
1059
angjs2/lib/chai/History.md
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,21 @@ |
|||
MIT License |
|||
|
|||
Copyright (c) 2017 Chai.js Assertion Library |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
|||
@ -0,0 +1,212 @@ |
|||
<h1 align=center> |
|||
<a href="http://chaijs.com" title="Chai Documentation"> |
|||
<img alt="ChaiJS" src="http://chaijs.com/img/chai-logo.png"> |
|||
</a> |
|||
<br> |
|||
chai |
|||
</h1> |
|||
|
|||
<p align=center> |
|||
Chai is a BDD / TDD assertion library for <a href="http://nodejs.org">node</a> and the browser that can be delightfully paired with any javascript testing framework. |
|||
</p> |
|||
|
|||
<p align=center> |
|||
<a href="./LICENSE"> |
|||
<img |
|||
alt="license:mit" |
|||
src="https://img.shields.io/badge/license-mit-green.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
<a href="https://github.com/chaijs/chai/releases"> |
|||
<img |
|||
alt="tag:?" |
|||
src="https://img.shields.io/github/tag/chaijs/chai.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
<a href="https://www.npmjs.com/package/chai"> |
|||
<img |
|||
alt="node:?" |
|||
src="https://img.shields.io/badge/node-%3E=4.0-blue.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
<br/> |
|||
<a href="https://saucelabs.com/u/chaijs"> |
|||
<img |
|||
alt="Selenium Test Status" |
|||
src="https://saucelabs.com/browser-matrix/chaijs.svg" |
|||
/> |
|||
</a> |
|||
<br/> |
|||
<a href="https://www.npmjs.com/packages/chai"> |
|||
<img |
|||
alt="downloads:?" |
|||
src="https://img.shields.io/npm/dm/chai.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
<a href="https://travis-ci.org/chaijs/chai"> |
|||
<img |
|||
alt="build:?" |
|||
src="https://img.shields.io/travis/chaijs/chai/master.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
<a href="https://codecov.io/gh/chaijs/chai"> |
|||
<img |
|||
alt="coverage:?" |
|||
src="https://img.shields.io/codecov/c/github/chaijs/chai.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
<a href=""> |
|||
<img |
|||
alt="devDependencies:?" |
|||
src="https://img.shields.io/david/chaijs/chai.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
<br/> |
|||
<a href="https://chai-slack.herokuapp.com/"> |
|||
<img |
|||
alt="Join the Slack chat" |
|||
src="https://img.shields.io/badge/slack-join%20chat-E2206F.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
<a href="https://gitter.im/chaijs/chai"> |
|||
<img |
|||
alt="Join the Gitter chat" |
|||
src="https://img.shields.io/badge/gitter-join%20chat-D0104D.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
<a href="https://opencollective.com/chaijs"> |
|||
<img |
|||
alt="OpenCollective Backers" |
|||
src="https://opencollective.com/chaijs/backers/badge.svg?style=flat-square" |
|||
/> |
|||
</a> |
|||
</p> |
|||
|
|||
For more information or to download plugins, view the [documentation](http://chaijs.com). |
|||
|
|||
## What is Chai? |
|||
|
|||
Chai is an _assertion library_, similar to Node's built-in `assert`. It makes testing much easier by giving you lots of assertions you can run against your code. |
|||
|
|||
## Installation |
|||
|
|||
### Node.js |
|||
|
|||
`chai` is available on [npm](http://npmjs.org). To install it, type: |
|||
|
|||
$ npm install chai |
|||
|
|||
### Browsers |
|||
|
|||
You can also use it within the browser; install via npm and use the `chai.js` file found within the download. For example: |
|||
|
|||
```html |
|||
<script src="./node_modules/chai/chai.js"></script> |
|||
``` |
|||
|
|||
## Usage |
|||
|
|||
Import the library in your code, and then pick one of the styles you'd like to use - either `assert`, `expect` or `should`: |
|||
|
|||
```js |
|||
var chai = require('chai'); |
|||
var assert = chai.assert; // Using Assert style |
|||
var expect = chai.expect; // Using Expect style |
|||
var should = chai.should(); // Using Should style |
|||
``` |
|||
|
|||
### Pre-Native Modules Usage (_registers the chai testing style globally_) |
|||
|
|||
```js |
|||
require('chai/register-assert'); // Using Assert style |
|||
require('chai/register-expect'); // Using Expect style |
|||
require('chai/register-should'); // Using Should style |
|||
``` |
|||
|
|||
### Pre-Native Modules Usage (_as local variables_) |
|||
|
|||
```js |
|||
const { assert } = require('chai'); // Using Assert style |
|||
const { expect } = require('chai'); // Using Expect style |
|||
const { should } = require('chai'); // Using Should style |
|||
should(); // Modifies `Object.prototype` |
|||
|
|||
const { expect, use } = require('chai'); // Creates local variables `expect` and `use`; useful for plugin use |
|||
``` |
|||
|
|||
### Native Modules Usage (_registers the chai testing style globally_) |
|||
|
|||
```js |
|||
import 'chai/register-assert'; // Using Assert style |
|||
import 'chai/register-expect'; // Using Expect style |
|||
import 'chai/register-should'; // Using Should style |
|||
``` |
|||
|
|||
### Native Modules Usage (_local import only_) |
|||
|
|||
```js |
|||
import { assert } from 'chai'; // Using Assert style |
|||
import { expect } from 'chai'; // Using Expect style |
|||
import { should } from 'chai'; // Using Should style |
|||
should(); // Modifies `Object.prototype` |
|||
``` |
|||
|
|||
### Usage with Mocha |
|||
|
|||
```bash |
|||
mocha spec.js -r chai/register-assert # Using Assert style |
|||
mocha spec.js -r chai/register-expect # Using Expect style |
|||
mocha spec.js -r chai/register-should # Using Should style |
|||
``` |
|||
|
|||
[Read more about these styles in our docs](http://chaijs.com/guide/styles/). |
|||
|
|||
## Plugins |
|||
|
|||
Chai offers a robust Plugin architecture for extending Chai's assertions and interfaces. |
|||
|
|||
- Need a plugin? View the [official plugin list](http://chaijs.com/plugins). |
|||
- Want to build a plugin? Read the [plugin api documentation](http://chaijs.com/guide/plugins/). |
|||
- Have a plugin and want it listed? Simply add the following keywords to your package.json: |
|||
- `chai-plugin` |
|||
- `browser` if your plugin works in the browser as well as Node.js |
|||
- `browser-only` if your plugin does not work with Node.js |
|||
|
|||
### Related Projects |
|||
|
|||
- [chaijs / chai-docs](https://github.com/chaijs/chai-docs): The chaijs.com website source code. |
|||
- [chaijs / assertion-error](https://github.com/chaijs/assertion-error): Custom `Error` constructor thrown upon an assertion failing. |
|||
- [chaijs / deep-eql](https://github.com/chaijs/deep-eql): Improved deep equality testing for Node.js and the browser. |
|||
- [chaijs / type-detect](https://github.com/chaijs/type-detect): Improved typeof detection for Node.js and the browser. |
|||
- [chaijs / check-error](https://github.com/chaijs/check-error): Error comparison and information related utility for Node.js and the browser. |
|||
- [chaijs / loupe](https://github.com/chaijs/loupe): Inspect utility for Node.js and browsers. |
|||
- [chaijs / pathval](https://github.com/chaijs/pathval): Object value retrieval given a string path. |
|||
- [chaijs / get-func-name](https://github.com/chaijs/get-func-name): Utility for getting a function's name for node and the browser. |
|||
|
|||
### Contributing |
|||
|
|||
Thank you very much for considering to contribute! |
|||
|
|||
Please make sure you follow our [Code Of Conduct](https://github.com/chaijs/chai/blob/master/CODE_OF_CONDUCT.md) and we also strongly recommend reading our [Contributing Guide](https://github.com/chaijs/chai/blob/master/CONTRIBUTING.md). |
|||
|
|||
Here are a few issues other contributors frequently ran into when opening pull requests: |
|||
|
|||
- Please do not commit changes to the `chai.js` build. We do it once per release. |
|||
- Before pushing your commits, please make sure you [rebase](https://github.com/chaijs/chai/blob/master/CONTRIBUTING.md#pull-requests) them. |
|||
|
|||
### Contributors |
|||
|
|||
Please see the full |
|||
[Contributors Graph](https://github.com/chaijs/chai/graphs/contributors) for our |
|||
list of contributors. |
|||
|
|||
### Core Contributors |
|||
|
|||
Feel free to reach out to any of the core contributors with your questions or |
|||
concerns. We will do our best to respond in a timely manner. |
|||
|
|||
[](https://github.com/logicalparadox) |
|||
[](https://github.com/vesln) |
|||
[](https://github.com/keithamus) |
|||
[](https://github.com/lucasfcosta) |
|||
[](https://github.com/meeber) |
|||
@ -0,0 +1,737 @@ |
|||
# Release Notes |
|||
|
|||
## Note |
|||
|
|||
As of 3.0.0, the ReleaseNotes.md file has been deprecated. [Please refer to the release notes available on Github](https://github.com/chaijs/chai/releases). Or |
|||
[the release notes on the chaijs.com website](https://chaijs.com/releases). |
|||
|
|||
--- |
|||
|
|||
## 2.3.0 / 2015-04-26 |
|||
|
|||
Added `ownPropertyDescriptor` assertion: |
|||
|
|||
```js |
|||
expect('test').to.have.ownPropertyDescriptor('length'); |
|||
expect('test').to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 4 }); |
|||
expect('test').not.to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 3 }); |
|||
expect('test').ownPropertyDescriptor('length').to.have.property('enumerable', false); |
|||
expect('test').ownPropertyDescriptor('length').to.have.keys('value'); |
|||
``` |
|||
|
|||
### Community Contributions |
|||
|
|||
#### Code Features & Fixes |
|||
|
|||
* [#408](https://github.com/chaijs/chai/pull/408) Add `ownPropertyDescriptor` |
|||
assertion. |
|||
By [@ljharb](https://github.com/ljharb) |
|||
* [#422](https://github.com/chaijs/chai/pull/422) Improve ownPropertyDescriptor |
|||
tests. |
|||
By [@ljharb](https://github.com/ljharb) |
|||
|
|||
#### Documentation fixes |
|||
|
|||
* [#417](https://github.com/chaijs/chai/pull/417) Fix documentation typo |
|||
By [@astorije](https://github.com/astorije) |
|||
* [#423](https://github.com/chaijs/chai/pull/423) Fix inconsistency in docs. |
|||
By [@ehntoo](https://github.com/ehntoo) |
|||
|
|||
|
|||
## 2.2.0 / 2015-03-26 |
|||
|
|||
Deep property strings can now be escaped using `\\` - for example: |
|||
|
|||
```js |
|||
var deepCss = { '.link': { '[target]': 42 }}; |
|||
expect(deepCss).to.have.deep.property('\\.link.\\[target\\]', 42) |
|||
``` |
|||
|
|||
### Community Contributions |
|||
|
|||
#### Code Features & Fixes |
|||
|
|||
* [#402](https://github.com/chaijs/chai/pull/402) Allow escaping of deep |
|||
property keys. |
|||
By [@umireon](https://github.com/umireon) |
|||
|
|||
#### Documentation fixes |
|||
|
|||
* [#405](https://github.com/chaijs/chai/pull/405) Tweak documentation around |
|||
deep property escaping. |
|||
By [@keithamus](https://github.com/keithamus) |
|||
|
|||
|
|||
## 2.1.2 / 2015-03-15 |
|||
|
|||
A minor bug fix. No new features. |
|||
|
|||
### Community Contributions |
|||
|
|||
#### Code Features & Fixes |
|||
|
|||
* [#395](https://github.com/chaijs/chai/pull/395) Fix eval-related bugs with |
|||
assert.operator ([#386](https://github.com/chaijs/chai/pull/386)). |
|||
By [@cjqed](https://github.com/cjqed) |
|||
|
|||
## 2.1.1 / 2015-03-04 |
|||
|
|||
Two minor bugfixes. No new features. |
|||
|
|||
### Community Contributions |
|||
|
|||
#### Code Features & Fixes |
|||
|
|||
* [#385](https://github.com/chaijs/chai/pull/385) Fix a bug (also described in |
|||
[#387](https://github.com/chaijs/chai/pull/385)) where `deep.property` would not work with single |
|||
key names. By [@eldritch-fossicker](https://github.com/eldritch-fossicker) |
|||
* [#379](https://github.com/chaijs/chai/pull/379) Fix bug where tools which overwrite |
|||
primitive prototypes, such as Babel or core-js would fail. |
|||
By [@dcneiner](https://github.com/dcneiner) |
|||
|
|||
#### Documentation fixes |
|||
|
|||
* [#382](https://github.com/chaijs/chai/pull/382) Add doc for showDiff argument in assert. |
|||
By [@astorije](https://github.com/astorije) |
|||
* [#383](https://github.com/chaijs/chai/pull/383) Improve wording for truncateTreshold docs |
|||
By [@gurdiga](https://github.com/gurdiga) |
|||
* [#381](https://github.com/chaijs/chai/pull/381) Improve wording for assert.empty docs |
|||
By [@astorije](https://github.com/astorije) |
|||
|
|||
## 2.1.0 / 2015-02-23 |
|||
|
|||
Small release; fixes an issue where the Chai lib was incorrectly reporting the |
|||
version number. |
|||
|
|||
Adds new `should.fail()` and `expect.fail()` methods, which are convinience |
|||
methods to throw Assertion Errors. |
|||
|
|||
### Community Contributions |
|||
|
|||
#### Code Features & Fixes |
|||
|
|||
* [#356](https://github.com/chaijs/chai/pull/356) Add should.fail(), expect.fail(). By [@Soviut](https://github.com/Soviut) |
|||
* [#374](https://github.com/chaijs/chai/pull/374) Increment version. By [@jmm](https://github.com/jmm) |
|||
|
|||
## 2.0.0 / 2015-02-09 |
|||
|
|||
Unfortunately with 1.10.0 - compatibility broke with older versions because of |
|||
the `addChainableNoop`. This change has been reverted. |
|||
|
|||
Any plugins using `addChainableNoop` should cease to do so. |
|||
|
|||
Any developers wishing for this behaviour can use [dirty-chai](https://www.npmjs.com/package/dirty-chai) |
|||
by [@joshperry](https://github.com/joshperry) |
|||
|
|||
### Community Contributions |
|||
|
|||
#### Code Features & Fixes |
|||
|
|||
* [#361](https://github.com/chaijs/chai/pull/361) `.keys()` now accepts Objects, extracting keys from them. By [@gregglind](https://github.com/gregglind) |
|||
* [#359](https://github.com/chaijs/chai/pull/359) `.keys()` no longer mutates passed arrays. By [@gregglind](https://github.com/gregglind) |
|||
* [#349](https://github.com/chaijs/chai/pull/349) Add a new chainable keyword - `.which`. By [@toastynerd](https://github.com/toastynerd) |
|||
* [#333](https://github.com/chaijs/chai/pull/333) Add `.change`, `.increase` and `.decrease` assertions. By [@cmpolis](https://github.com/cmpolis) |
|||
* [#335](https://github.com/chaijs/chai/pull/335) `chai.util` is now exposed [@DingoEatingFuzz](https://github.com/DingoEatingFuzz) |
|||
* [#328](https://github.com/chaijs/chai/pull/328) Add `.includes` and `.contains` aliases (for `.include` and `.contain`). By [@lo1tuma](https://github.com/lo1tuma) |
|||
* [#313](https://github.com/chaijs/chai/pull/313) Add `.any.keys()` and `.all.keys()` qualifiers. By [@cjqed](https://github.com/cjqed) |
|||
* [#312](https://github.com/chaijs/chai/pull/312) Add `assert.sameDeepMembers()`. By [@cjqed](https://github.com/cjqed) |
|||
* [#311](https://github.com/chaijs/chai/pull/311) Add `assert.isAbove()` and `assert.isBelow()`. By [@cjqed](https://github.com/cjqed) |
|||
* [#308](https://github.com/chaijs/chai/pull/308) `property` and `deep.property` now pass if a value is set to `undefined`. By [@prodatakey](https://github.com/prodatakey) |
|||
* [#309](https://github.com/chaijs/chai/pull/309) optimize deep equal in Arrays. By [@ericdouglas](https://github.com/ericdouglas) |
|||
* [#306](https://github.com/chaijs/chai/pull/306) revert #297 - allowing lint-friendly tests. By [@keithamus](https://github.com/keithamus) |
|||
|
|||
#### Documentation fixes |
|||
|
|||
* [#357](https://github.com/chaijs/chai/pull/357) Copyright year updated in docs. By [@danilovaz](https://github.com/danilovaz) |
|||
* [#325](https://github.com/chaijs/chai/pull/325) Fix documentation for overwriteChainableMethod. By [@chasenlehara](https://github.com/chasenlehara) |
|||
* [#334](https://github.com/chaijs/chai/pull/334) Typo fix. By [@hurrymaplelad](https://github.com/hurrymaplelad) |
|||
* [#317](https://github.com/chaijs/chai/pull/317) Typo fix. By [@jasonkarns](https://github.com/jasonkarns) |
|||
* [#318](https://github.com/chaijs/chai/pull/318) Typo fix. By [@jasonkarns](https://github.com/jasonkarns) |
|||
* [#316](https://github.com/chaijs/chai/pull/316) Typo fix. By [@jasonkarns](https://github.com/jasonkarns) |
|||
|
|||
|
|||
## 1.10.0 / 2014-11-10 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- No changes required |
|||
- **Plugin Developers:** |
|||
- Review `addChainableNoop` notes below. |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
|
|||
### Noop Function for Terminating Assertion Properties |
|||
|
|||
The following assertions can now also be used in the function-call form: |
|||
|
|||
* ok |
|||
* true |
|||
* false |
|||
* null |
|||
* undefined |
|||
* exist |
|||
* empty |
|||
* arguments |
|||
* Arguments |
|||
|
|||
The above list of assertions are property getters that assert immediately on |
|||
access. Because of that, they were written to be used by terminating the assertion |
|||
chain with a property access. |
|||
|
|||
```js |
|||
expect(true).to.be.true; |
|||
foo.should.be.ok; |
|||
``` |
|||
|
|||
This syntax is definitely aesthetically pleasing but, if you are linting your |
|||
test code, your linter will complain with an error something like "Expected an |
|||
assignment or function call and instead saw an expression." Since the linter |
|||
doesn't know about the property getter it assumes this line has no side-effects, |
|||
and throws a warning in case you made a mistake. |
|||
|
|||
Squelching these errors is not a good solution as test code is getting to be |
|||
just as important as, if not more than, production code. Catching syntactical |
|||
errors in tests using static analysis is a great tool to help make sure that your |
|||
tests are well-defined and free of typos. |
|||
|
|||
A better option was to provide a function-call form for these assertions so that |
|||
the code's intent is more clear and the linters stop complaining about something |
|||
looking off. This form is added in addition to the existing property access form |
|||
and does not impact existing test code. |
|||
|
|||
```js |
|||
expect(true).to.be.true(); |
|||
foo.should.be.ok(); |
|||
``` |
|||
|
|||
These forms can also be mixed in any way, these are all functionally identical: |
|||
|
|||
```js |
|||
expect(true).to.be.true.and.not.false(); |
|||
expect(true).to.be.true().and.not.false; |
|||
expect(true).to.be.true.and.not.false; |
|||
``` |
|||
|
|||
#### Plugin Authors |
|||
|
|||
If you would like to provide this function-call form for your terminating assertion |
|||
properties, there is a new function to register these types of asserts. Instead |
|||
of using `addProperty` to register terminating assertions, simply use `addChainableNoop` |
|||
instead; the arguments to both are identical. The latter will make the assertion |
|||
available in both the attribute and function-call forms and should have no impact |
|||
on existing users of your plugin. |
|||
|
|||
### Community Contributions |
|||
|
|||
- [#297](https://github.com/chaijs/chai/pull/297) Allow writing lint-friendly tests. [@joshperry](https://github.com/joshperry) |
|||
- [#298](https://github.com/chaijs/chai/pull/298) Add check for logging `-0`. [@dasilvacontin](https://github.com/dasilvacontin) |
|||
- [#300](https://github.com/chaijs/chai/pull/300) Fix #299: the test is defining global variables [@julienw](https://github.com/julienw) |
|||
|
|||
Thank you to all who took time to contribute! |
|||
|
|||
## 1.9.2 / 2014-09-29 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- No changes required |
|||
- **Plugin Developers:** |
|||
- No changes required |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
|
|||
### Community Contributions |
|||
|
|||
- [#264](https://github.com/chaijs/chai/pull/264) Show diff for keys assertions [@cjthompson](https://github.com/cjthompson) |
|||
- [#267](https://github.com/chaijs/chai/pull/267) Use SVG badges [@shinnn](https://github.com/shinnn) |
|||
- [#268](https://github.com/chaijs/chai/pull/268) Allow messages to be functions (sinon-compat) [@charlierudolph](https://github.com/charlierudolph) |
|||
- [#269](https://github.com/chaijs/chai/pull/269) Remove unused argument for #lengthOf [@charlierudolph](https://github.com/charlierudolph) |
|||
- [#275](https://github.com/chaijs/chai/pull/275) Rewrite pretty-printing HTML elements to prevent throwing internal errors [@DrRataplan](https://github.com/DrRataplan) |
|||
- [#277](https://github.com/chaijs/chai/pull/277) Fix assert documentation for #sameMembers [@charlierudolph](https://github.com/charlierudolph) |
|||
- [#279](https://github.com/chaijs/chai/pull/279) closeTo should check value's type before assertion [@mohayonao](https://github.com/mohayonao) |
|||
- [#289](https://github.com/chaijs/chai/pull/289) satisfy is called twice [@charlierudolph](https://github.com/charlierudolph) |
|||
- [#292](https://github.com/chaijs/chai/pull/292) resolve conflicts with node-webkit and global usage [@boneskull](https://github.com/boneskull) |
|||
|
|||
Thank you to all who took time to contribute! |
|||
|
|||
## 1.9.1 / 2014-03-19 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- Migrate configuration options to new interface. (see notes) |
|||
- **Plugin Developers:** |
|||
- No changes required |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
|
|||
### Configuration |
|||
|
|||
There have been requests for changes and additions to the configuration mechanisms |
|||
and their impact in the Chai architecture. As such, we have decoupled the |
|||
configuration from the `Assertion` constructor. This not only allows for centralized |
|||
configuration, but will allow us to shift the responsibility from the `Assertion` |
|||
constructor to the `assert` interface in future releases. |
|||
|
|||
These changes have been implemented in a non-breaking way, but a depretiation |
|||
warning will be presented to users until they migrate. The old config method will |
|||
be removed in either `v1.11.0` or `v2.0.0`, whichever comes first. |
|||
|
|||
#### Quick Migration |
|||
|
|||
```js |
|||
// change this: |
|||
chai.Assertion.includeStack = true; |
|||
chai.Assertion.showDiff = false; |
|||
|
|||
// ... to this: |
|||
chai.config.includeStack = true; |
|||
chai.config.showDiff = false; |
|||
``` |
|||
|
|||
#### All Config Options |
|||
|
|||
##### config.includeStack |
|||
|
|||
- **@param** _{Boolean}_ |
|||
- **@default** `false` |
|||
|
|||
User configurable property, influences whether stack trace is included in |
|||
Assertion error message. Default of `false` suppresses stack trace in the error |
|||
message. |
|||
|
|||
##### config.showDiff |
|||
|
|||
- **@param** _{Boolean}_ |
|||
- **@default** `true` |
|||
|
|||
User configurable property, influences whether or not the `showDiff` flag |
|||
should be included in the thrown AssertionErrors. `false` will always be `false`; |
|||
`true` will be true when the assertion has requested a diff be shown. |
|||
|
|||
##### config.truncateThreshold **(NEW)** |
|||
|
|||
- **@param** _{Number}_ |
|||
- **@default** `40` |
|||
|
|||
User configurable property, sets length threshold for actual and expected values |
|||
in assertion errors. If this threshold is exceeded, the value is truncated. |
|||
|
|||
Set it to zero if you want to disable truncating altogether. |
|||
|
|||
```js |
|||
chai.config.truncateThreshold = 0; // disable truncating |
|||
``` |
|||
|
|||
### Community Contributions |
|||
|
|||
- [#228](https://github.com/chaijs/chai/pull/228) Deep equality check for memebers. [@duncanbeevers](https://github.com/duncanbeevers) |
|||
- [#247](https://github.com/chaijs/chai/pull/247) Proofreading. [@didorellano](https://github.com/didoarellano) |
|||
- [#244](https://github.com/chaijs/chai/pull/244) Fix `contain`/`include` 1.9.0 regression. [@leider](https://github.com/leider) |
|||
- [#233](https://github.com/chaijs/chai/pull/233) Improvements to `ssfi` for `assert` interface. [@refack](https://github.com/refack) |
|||
- [#251](https://github.com/chaijs/chai/pull/251) New config option: object display threshold. [@romario333](https://github.com/romario333) |
|||
|
|||
Thank you to all who took time to contribute! |
|||
|
|||
### Other Bug Fixes |
|||
|
|||
- [#183](https://github.com/chaijs/chai/issues/183) Allow `undefined` for actual. (internal api) |
|||
- Update Karam(+plugins)/Istanbul to most recent versions. |
|||
|
|||
## 1.9.0 / 2014-01-29 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- No changes required |
|||
- **Plugin Developers:** |
|||
- Review [#219](https://github.com/chaijs/chai/pull/219). |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
|
|||
### Community Contributions |
|||
|
|||
- [#202](https://github.com/chaijs/chai/pull/201) Improve error message for .throw(). [@andreineculau](https://github.com/andreineculau) |
|||
- [#217](https://github.com/chaijs/chai/pull/217) Chai tests can be run with `--watch`. [@demands](https://github.com/demands) |
|||
- [#219](https://github.com/chaijs/chai/pull/219) Add overwriteChainableMethod utility. [@demands](https://github.com/demands) |
|||
- [#224](https://github.com/chaijs/chai/pull/224) Return error on throw method to chain on error properties. [@vbardales](https://github.com/vbardales) |
|||
- [#226](https://github.com/chaijs/chai/pull/226) Add `has` to language chains. [@duncanbeevers](https://github.com/duncanbeevers) |
|||
- [#230](https://github.com/chaijs/chai/pull/230) Support `{a:1,b:2}.should.include({a:1})` [@jkroso](https://github.com/jkroso) |
|||
- [#231](https://github.com/chaijs/chai/pull/231) Update Copyright notices to 2014 [@duncanbeevers](https://github.com/duncanbeevers) |
|||
- [#232](https://github.com/chaijs/chai/pull/232) Avoid error instantiation if possible on assert.throws. [@laconbass](https://github.com/laconbass) |
|||
|
|||
Thank you to all who took time to contribute! |
|||
|
|||
### Other Bug Fixes |
|||
|
|||
- [#225](https://github.com/chaijs/chai/pull/225) Improved AMD wrapper provided by upstream `component(1)`. |
|||
- [#185](https://github.com/chaijs/chai/issues/185) `assert.throws()` returns thrown error for further assertions. |
|||
- [#237](https://github.com/chaijs/chai/pull/237) Remove coveralls/jscoverage, include istanbul coverage report in travis test. |
|||
- Update Karma and Sauce runner versions for consistent CI results. No more karma@canary. |
|||
|
|||
## 1.8.1 / 2013-10-10 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
- **Plugin Developers:** |
|||
- No changes required |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
|
|||
### Browserify |
|||
|
|||
This is a small patch that updates the dependency tree so browserify users can install |
|||
chai. (Remove conditional requires) |
|||
|
|||
## 1.8.0 / 2013-09-18 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- See `deep.equal` notes. |
|||
- **Plugin Developers:** |
|||
- No changes required |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
|
|||
### Deep Equals |
|||
|
|||
This version of Chai focused on a overhaul to the deep equal utility. The code for this |
|||
tool has been removed from the core lib and can now be found at: |
|||
[chai / deep-eql](https://github.com/chaijs/deep-eql). As stated in previous releases, |
|||
this is part of a larger initiative to provide transparency, independent testing, and coverage for |
|||
some of the more complicated internal tools. |
|||
|
|||
For the most part `.deep.equal` will behave the same as it has. However, in order to provide a |
|||
consistent ruleset across all types being tested, the following changes have been made and _might_ |
|||
require changes to your tests. |
|||
|
|||
**1.** Strict equality for non-traversable nodes according to [egal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). |
|||
|
|||
_Previously:_ Non-traversable equal via `===`. |
|||
|
|||
```js |
|||
expect(NaN).to.deep.equal(NaN); |
|||
expect(-0).to.not.deep.equal(+0); |
|||
``` |
|||
|
|||
**2.** Arguments are not Arrays (and all types must be equal): |
|||
|
|||
_Previously:_ Some crazy nonsense that led to empty arrays deep equaling empty objects deep equaling dates. |
|||
|
|||
```js |
|||
expect(arguments).to.not.deep.equal([]); |
|||
expect(Array.prototype.slice.call(arguments)).to.deep.equal([]); |
|||
``` |
|||
|
|||
- [#156](https://github.com/chaijs/chai/issues/156) Empty object is eql to empty array |
|||
- [#192](https://github.com/chaijs/chai/issues/192) empty object is eql to a Date object |
|||
- [#194](https://github.com/chaijs/chai/issues/194) refactor deep-equal utility |
|||
|
|||
### CI and Browser Testing |
|||
|
|||
Chai now runs the browser CI suite using [Karma](http://karma-runner.github.io/) directed at |
|||
[SauceLabs](https://saucelabs.com/). This means we get to know where our browser support stands... |
|||
and we get a cool badge: |
|||
|
|||
[](https://saucelabs.com/u/logicalparadox) |
|||
|
|||
Look for the list of browsers/versions to expand over the coming releases. |
|||
|
|||
- [#195](https://github.com/chaijs/chai/issues/195) karma test framework |
|||
|
|||
## 1.7.2 / 2013-06-27 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- No changes required. |
|||
- **Plugin Developers:** |
|||
- No changes required |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
|
|||
### Coverage Reporting |
|||
|
|||
Coverage reporting has always been available for core-developers but the data has never been published |
|||
for our end users. In our ongoing effort to improve accountability this data will now be published via |
|||
the [coveralls.io](https://coveralls.io/) service. A badge has been added to the README and the full report |
|||
can be viewed online at the [chai coveralls project](https://coveralls.io/r/chaijs/chai). Furthermore, PRs |
|||
will receive automated messages indicating how their PR impacts test coverage. This service is tied to TravisCI. |
|||
|
|||
### Other Fixes |
|||
|
|||
- [#175](https://github.com/chaijs/chai/issues/175) Add `bower.json`. (Fix ignore all) |
|||
|
|||
## 1.7.1 / 2013-06-24 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- No changes required. |
|||
- **Plugin Developers:** |
|||
- No changes required |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
|
|||
### Official Bower Support |
|||
|
|||
Support has been added for the Bower Package Manager ([bower.io])(http://bower.io/). Though |
|||
Chai could be installed via Bower in the past, this update adds official support via the `bower.json` |
|||
specification file. |
|||
|
|||
- [#175](https://github.com/chaijs/chai/issues/175) Add `bower.json`. |
|||
|
|||
## 1.7.0 / 2013-06-17 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- No changes required. |
|||
- **Plugin Developers:** |
|||
- Review AssertionError update notice. |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated dependencies. |
|||
|
|||
### AssertionError Update Notice |
|||
|
|||
Chai now uses [chaijs/assertion-error](https://github.com/chaijs/assertion-error) instead an internal |
|||
constructor. This will allow for further iteration/experimentation of the AssertionError constructor |
|||
independant of Chai. Future plans include stack parsing for callsite support. |
|||
|
|||
This update constructor has a different constructor param signature that conforms more with the standard |
|||
`Error` object. If your plugin throws and `AssertionError` directly you will need to update your plugin |
|||
with the new signature. |
|||
|
|||
```js |
|||
var AssertionError = require('chai').AssertionError; |
|||
|
|||
/** |
|||
* previous |
|||
* |
|||
* @param {Object} options |
|||
*/ |
|||
|
|||
throw new AssertionError({ |
|||
message: 'An assertion error occurred' |
|||
, actual: actual |
|||
, expect: expect |
|||
, startStackFunction: arguments.callee |
|||
, showStack: true |
|||
}); |
|||
|
|||
/** |
|||
* new |
|||
* |
|||
* @param {String} message |
|||
* @param {Object} options |
|||
* @param {Function} start stack function |
|||
*/ |
|||
|
|||
throw new AssertionError('An assertion error occurred', { |
|||
actual: actual |
|||
, expect: expect |
|||
, showStack: true |
|||
}, arguments.callee); |
|||
|
|||
// other signatures |
|||
throw new AssertionError('An assertion error occurred'); |
|||
throw new AssertionError('An assertion error occurred', null, arguments.callee); |
|||
``` |
|||
|
|||
#### External Dependencies |
|||
|
|||
This is the first non-developement dependency for Chai. As Chai continues to evolve we will begin adding |
|||
more; the next will likely be improved type detection and deep equality. With Chai's userbase continually growing |
|||
there is an higher need for accountability and documentation. External dependencies will allow us to iterate and |
|||
test on features independent from our interfaces. |
|||
|
|||
Note: The browser packaged version `chai.js` will ALWAYS contain all dependencies needed to run Chai. |
|||
|
|||
### Community Contributions |
|||
|
|||
- [#169](https://github.com/chaijs/chai/pull/169) Fix deep equal comparison for Date/Regexp types. [@katsgeorgeek](https://github.com/katsgeorgeek) |
|||
- [#171](https://github.com/chaijs/chai/pull/171) Add `assert.notOk()`. [@Bartvds](https://github.com/Bartvds) |
|||
- [#173](https://github.com/chaijs/chai/pull/173) Fix `inspect` utility. [@domenic](https://github.com/domenic) |
|||
|
|||
Thank you to all who took the time to contribute! |
|||
|
|||
## 1.6.1 / 2013-06-05 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- No changes required. |
|||
- **Plugin Developers:** |
|||
- No changes required. |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated developement dependencies. |
|||
|
|||
### Deep Equality |
|||
|
|||
Regular Expressions are now tested as part of all deep equality assertions. In previous versions |
|||
they silently passed for all scenarios. Thanks to [@katsgeorgeek](https://github.com/katsgeorgeek) for the contribution. |
|||
|
|||
### Community Contributions |
|||
|
|||
- [#161](https://github.com/chaijs/chai/pull/161) Fix documented name for assert interface's isDefined method. [@brandonpayton](https://github.com/brandonpayton) |
|||
- [#168](https://github.com/chaijs/chai/pull/168) Fix comparison equality of two regexps for when using deep equality. [@katsgeorgeek](https://github.com/katsgeorgeek) |
|||
|
|||
Thank you to all who took the time to contribute! |
|||
|
|||
### Additional Notes |
|||
|
|||
- Mocha has been locked at version `1.8.x` to ensure `mocha-phantomjs` compatibility. |
|||
|
|||
## 1.6.0 / 2013-04-29 |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- No changes required. |
|||
- **Plugin Developers:** |
|||
- No changes required. |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated developement dependencies. |
|||
|
|||
### New Assertions |
|||
|
|||
#### Array Members Inclusion |
|||
|
|||
Asserts that the target is a superset of `set`, or that the target and `set` have the same members. |
|||
Order is not taken into account. Thanks to [@NickHeiner](https://github.com/NickHeiner) for the contribution. |
|||
|
|||
```js |
|||
// (expect/should) full set |
|||
expect([4, 2]).to.have.members([2, 4]); |
|||
expect([5, 2]).to.not.have.members([5, 2, 1]); |
|||
|
|||
// (expect/should) inclusion |
|||
expect([1, 2, 3]).to.include.members([3, 2]); |
|||
expect([1, 2, 3]).to.not.include.members([3, 2, 8]); |
|||
|
|||
// (assert) full set |
|||
assert.sameMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'same members'); |
|||
|
|||
// (assert) inclusion |
|||
assert.includeMembers([ 1, 2, 3 ], [ 2, 1 ], 'include members'); |
|||
|
|||
``` |
|||
|
|||
#### Non-inclusion for Assert Interface |
|||
|
|||
Most `assert` functions have a negative version, like `instanceOf()` has a corresponding `notInstaceOf()`. |
|||
However `include()` did not have a corresponding `notInclude()`. This has been added. |
|||
|
|||
```js |
|||
assert.notInclude([ 1, 2, 3 ], 8); |
|||
assert.notInclude('foobar', 'baz'); |
|||
``` |
|||
|
|||
### Community Contributions |
|||
|
|||
- [#140](https://github.com/chaijs/chai/pull/140) Restore `call`/`apply` methods for plugin interface. [@RubenVerborgh](https://github.com/RubenVerborgh) |
|||
- [#148](https://github.com/chaijs/chai/issues/148)/[#153](https://github.com/chaijs/chai/pull/153) Add `members` and `include.members` assertions. [#NickHeiner](https://github.com/NickHeiner) |
|||
|
|||
Thank you to all who took time to contribute! |
|||
|
|||
### Other Bug Fixes |
|||
|
|||
- [#142](https://github.com/chaijs/chai/issues/142) `assert#include` will no longer silently pass on wrong-type haystack. |
|||
- [#158](https://github.com/chaijs/chai/issues/158) `assert#notInclude` has been added. |
|||
- Travis-CI now tests Node.js `v0.10.x`. Support for `v0.6.x` has been removed. `v0.8.x` is still tested as before. |
|||
|
|||
## 1.5.0 / 2013-02-03 |
|||
|
|||
### Migration Requirements |
|||
|
|||
The following changes are required if you are upgrading from the previous version: |
|||
|
|||
- **Users:** |
|||
- _Update [2013-02-04]:_ Some users may notice a small subset of deep equality assertions will no longer pass. This is the result of |
|||
[#120](https://github.com/chaijs/chai/issues/120), an improvement to our deep equality algorithm. Users will need to revise their assertions |
|||
to be more granular should this occur. Further information: [#139](https://github.com/chaijs/chai/issues/139). |
|||
- **Plugin Developers:** |
|||
- No changes required. |
|||
- **Core Contributors:** |
|||
- Refresh `node_modules` folder for updated developement dependencies. |
|||
|
|||
### Community Contributions |
|||
|
|||
- [#126](https://github.com/chaijs/chai/pull/126): Add `eqls` alias for `eql`. [@RubenVerborgh](https://github.com/RubenVerborgh) |
|||
- [#127](https://github.com/chaijs/chai/issues/127): Performance refactor for chainable methods. [@RubenVerborgh](https://github.com/RubenVerborgh) |
|||
- [#133](https://github.com/chaijs/chai/pull/133): Assertion `.throw` support for primitives. [@RubenVerborgh](https://github.com/RubenVerborgh) |
|||
- [#137](https://github.com/chaijs/chai/issues/137): Assertion `.throw` support for empty messages. [@timnew](https://github.com/timnew) |
|||
- [#136](https://github.com/chaijs/chai/pull/136): Fix backward negation messages when using `.above()` and `.below()`. [@whatthejeff](https://github.com/whatthejeff) |
|||
|
|||
Thank you to all who took time to contribute! |
|||
|
|||
### Other Bug Fixes |
|||
|
|||
- Improve type detection of `.a()`/`.an()` to work in cross-browser scenarios. |
|||
- [#116](https://github.com/chaijs/chai/issues/116): `.throw()` has cleaner display of errors when WebKit browsers. |
|||
- [#120](https://github.com/chaijs/chai/issues/120): `.eql()` now works to compare dom nodes in browsers. |
|||
|
|||
|
|||
### Usage Updates |
|||
|
|||
#### For Users |
|||
|
|||
**1. Component Support:** Chai now included the proper configuration to be installed as a |
|||
[component](https://github.com/component/component). Component users are encouraged to consult |
|||
[chaijs.com](http://chaijs.com) for the latest version number as using the master branch |
|||
does not gaurantee stability. |
|||
|
|||
```js |
|||
// relevant component.json |
|||
devDependencies: { |
|||
"chaijs/chai": "1.5.0" |
|||
} |
|||
``` |
|||
|
|||
Alternatively, bleeding-edge is available: |
|||
|
|||
$ component install chaijs/chai |
|||
|
|||
**2. Configurable showDiff:** Some test runners (such as [mocha](http://visionmedia.github.com/mocha/)) |
|||
include support for showing the diff of strings and objects when an equality error occurs. Chai has |
|||
already included support for this, however some users may not prefer this display behavior. To revert to |
|||
no diff display, the following configuration is available: |
|||
|
|||
```js |
|||
chai.Assertion.showDiff = false; // diff output disabled |
|||
chai.Assertion.showDiff = true; // default, diff output enabled |
|||
``` |
|||
|
|||
#### For Plugin Developers |
|||
|
|||
**1. New Utility - type**: The new utility `.type()` is available as a better implementation of `typeof` |
|||
that can be used cross-browser. It handles the inconsistencies of Array, `null`, and `undefined` detection. |
|||
|
|||
- **@param** _{Mixed}_ object to detect type of |
|||
- **@return** _{String}_ object type |
|||
|
|||
```js |
|||
chai.use(function (c, utils) { |
|||
// some examples |
|||
utils.type({}); // 'object' |
|||
utils.type(null); // `null' |
|||
utils.type(undefined); // `undefined` |
|||
utils.type([]); // `array` |
|||
}); |
|||
``` |
|||
|
|||
#### For Core Contributors |
|||
|
|||
**1. Browser Testing**: Browser testing of the `./chai.js` file is now available in the command line |
|||
via PhantomJS. `make test` and Travis-CI will now also rebuild and test `./chai.js`. Consequently, all |
|||
pull requests will now be browser tested in this way. |
|||
|
|||
_Note: Contributors opening pull requests should still NOT include the browser build._ |
|||
|
|||
**2. SauceLabs Testing**: Early SauceLab support has been enabled with the file `./support/mocha-cloud.js`. |
|||
Those interested in trying it out should create a free [Open Sauce](https://saucelabs.com/signup/plan) account |
|||
and include their credentials in `./test/auth/sauce.json`. |
|||
@ -0,0 +1,26 @@ |
|||
{ |
|||
"name": "chai", |
|||
"description": "BDD/TDD assertion library for node.js and the browser. Test framework agnostic.", |
|||
"license": "MIT", |
|||
"keywords": [ |
|||
"test", |
|||
"assertion", |
|||
"assert", |
|||
"testing", |
|||
"chai" |
|||
], |
|||
"main": "chai.js", |
|||
"ignore": [ |
|||
"build", |
|||
"components", |
|||
"lib", |
|||
"node_modules", |
|||
"support", |
|||
"test", |
|||
"index.js", |
|||
"Makefile", |
|||
".*" |
|||
], |
|||
"dependencies": {}, |
|||
"devDependencies": {} |
|||
} |
|||
10854
angjs2/lib/chai/chai.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1 @@ |
|||
module.exports = require('./lib/chai'); |
|||
@ -0,0 +1,28 @@ |
|||
module.exports = function(config) { |
|||
config.set({ |
|||
frameworks: [ 'mocha' ] |
|||
, files: [ |
|||
'chai.js' |
|||
, 'test/bootstrap/index.js' |
|||
, 'test/*.js' |
|||
] |
|||
, reporters: [ 'progress' ] |
|||
, colors: true |
|||
, logLevel: config.LOG_INFO |
|||
, autoWatch: false |
|||
, browsers: [ 'PhantomJS' ] |
|||
, browserDisconnectTimeout: 10000 |
|||
, browserDisconnectTolerance: 2 |
|||
, browserNoActivityTimeout: 20000 |
|||
, singleRun: true |
|||
}); |
|||
|
|||
switch (process.env.CHAI_TEST_ENV) { |
|||
case 'sauce': |
|||
require('./karma.sauce')(config); |
|||
break; |
|||
default: |
|||
// ...
|
|||
break; |
|||
}; |
|||
}; |
|||
@ -0,0 +1,41 @@ |
|||
var version = require('./package.json').version; |
|||
var ts = new Date().getTime(); |
|||
|
|||
module.exports = function(config) { |
|||
var auth; |
|||
|
|||
try { |
|||
auth = require('./test/auth/index'); |
|||
} catch(ex) { |
|||
auth = {}; |
|||
auth.SAUCE_USERNAME = process.env.SAUCE_USERNAME || null; |
|||
auth.SAUCE_ACCESS_KEY = process.env.SAUCE_ACCESS_KEY || null; |
|||
} |
|||
|
|||
if (!auth.SAUCE_USERNAME || !auth.SAUCE_ACCESS_KEY) return; |
|||
if (process.env.SKIP_SAUCE) return; |
|||
|
|||
var branch = process.env.TRAVIS_BRANCH || 'local' |
|||
var browserConfig = require('./sauce.browsers'); |
|||
var browsers = Object.keys(browserConfig); |
|||
var tags = [ 'chaijs_' + version, auth.SAUCE_USERNAME + '@' + branch ]; |
|||
var tunnel = process.env.TRAVIS_JOB_NUMBER || ts; |
|||
|
|||
if (process.env.TRAVIS_JOB_NUMBER) { |
|||
tags.push('travis@' + process.env.TRAVIS_JOB_NUMBER); |
|||
} |
|||
|
|||
config.browsers = config.browsers.concat(browsers); |
|||
config.customLaunchers = browserConfig; |
|||
config.reporters.push('saucelabs'); |
|||
config.captureTimeout = 300000; |
|||
|
|||
config.sauceLabs = { |
|||
username: auth.SAUCE_USERNAME |
|||
, accessKey: auth.SAUCE_ACCESS_KEY |
|||
, startConnect: ('TRAVIS' in process.env) === false |
|||
, tags: tags |
|||
, testName: 'ChaiJS' |
|||
, tunnelIdentifier: tunnel |
|||
}; |
|||
}; |
|||
@ -0,0 +1,92 @@ |
|||
/*! |
|||
* chai |
|||
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
var used = []; |
|||
|
|||
/*! |
|||
* Chai version |
|||
*/ |
|||
|
|||
exports.version = '4.2.0'; |
|||
|
|||
/*! |
|||
* Assertion Error |
|||
*/ |
|||
|
|||
exports.AssertionError = require('assertion-error'); |
|||
|
|||
/*! |
|||
* Utils for plugins (not exported) |
|||
*/ |
|||
|
|||
var util = require('./chai/utils'); |
|||
|
|||
/** |
|||
* # .use(function) |
|||
* |
|||
* Provides a way to extend the internals of Chai. |
|||
* |
|||
* @param {Function} |
|||
* @returns {this} for chaining |
|||
* @api public |
|||
*/ |
|||
|
|||
exports.use = function (fn) { |
|||
if (!~used.indexOf(fn)) { |
|||
fn(exports, util); |
|||
used.push(fn); |
|||
} |
|||
|
|||
return exports; |
|||
}; |
|||
|
|||
/*! |
|||
* Utility Functions |
|||
*/ |
|||
|
|||
exports.util = util; |
|||
|
|||
/*! |
|||
* Configuration |
|||
*/ |
|||
|
|||
var config = require('./chai/config'); |
|||
exports.config = config; |
|||
|
|||
/*! |
|||
* Primary `Assertion` prototype |
|||
*/ |
|||
|
|||
var assertion = require('./chai/assertion'); |
|||
exports.use(assertion); |
|||
|
|||
/*! |
|||
* Core Assertions |
|||
*/ |
|||
|
|||
var core = require('./chai/core/assertions'); |
|||
exports.use(core); |
|||
|
|||
/*! |
|||
* Expect interface |
|||
*/ |
|||
|
|||
var expect = require('./chai/interface/expect'); |
|||
exports.use(expect); |
|||
|
|||
/*! |
|||
* Should interface |
|||
*/ |
|||
|
|||
var should = require('./chai/interface/should'); |
|||
exports.use(should); |
|||
|
|||
/*! |
|||
* Assert interface |
|||
*/ |
|||
|
|||
var assert = require('./chai/interface/assert'); |
|||
exports.use(assert); |
|||
@ -0,0 +1,165 @@ |
|||
/*! |
|||
* chai |
|||
* http://chaijs.com
|
|||
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
var config = require('./config'); |
|||
|
|||
module.exports = function (_chai, util) { |
|||
/*! |
|||
* Module dependencies. |
|||
*/ |
|||
|
|||
var AssertionError = _chai.AssertionError |
|||
, flag = util.flag; |
|||
|
|||
/*! |
|||
* Module export. |
|||
*/ |
|||
|
|||
_chai.Assertion = Assertion; |
|||
|
|||
/*! |
|||
* Assertion Constructor |
|||
* |
|||
* Creates object for chaining. |
|||
* |
|||
* `Assertion` objects contain metadata in the form of flags. Three flags can |
|||
* be assigned during instantiation by passing arguments to this constructor: |
|||
* |
|||
* - `object`: This flag contains the target of the assertion. For example, in |
|||
* the assertion `expect(numKittens).to.equal(7);`, the `object` flag will |
|||
* contain `numKittens` so that the `equal` assertion can reference it when |
|||
* needed. |
|||
* |
|||
* - `message`: This flag contains an optional custom error message to be |
|||
* prepended to the error message that's generated by the assertion when it |
|||
* fails. |
|||
* |
|||
* - `ssfi`: This flag stands for "start stack function indicator". It |
|||
* contains a function reference that serves as the starting point for |
|||
* removing frames from the stack trace of the error that's created by the |
|||
* assertion when it fails. The goal is to provide a cleaner stack trace to |
|||
* end users by removing Chai's internal functions. Note that it only works |
|||
* in environments that support `Error.captureStackTrace`, and only when |
|||
* `Chai.config.includeStack` hasn't been set to `false`. |
|||
* |
|||
* - `lockSsfi`: This flag controls whether or not the given `ssfi` flag |
|||
* should retain its current value, even as assertions are chained off of |
|||
* this object. This is usually set to `true` when creating a new assertion |
|||
* from within another assertion. It's also temporarily set to `true` before |
|||
* an overwritten assertion gets called by the overwriting assertion. |
|||
* |
|||
* @param {Mixed} obj target of the assertion |
|||
* @param {String} msg (optional) custom error message |
|||
* @param {Function} ssfi (optional) starting point for removing stack frames |
|||
* @param {Boolean} lockSsfi (optional) whether or not the ssfi flag is locked |
|||
* @api private |
|||
*/ |
|||
|
|||
function Assertion (obj, msg, ssfi, lockSsfi) { |
|||
flag(this, 'ssfi', ssfi || Assertion); |
|||
flag(this, 'lockSsfi', lockSsfi); |
|||
flag(this, 'object', obj); |
|||
flag(this, 'message', msg); |
|||
|
|||
return util.proxify(this); |
|||
} |
|||
|
|||
Object.defineProperty(Assertion, 'includeStack', { |
|||
get: function() { |
|||
console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.'); |
|||
return config.includeStack; |
|||
}, |
|||
set: function(value) { |
|||
console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.'); |
|||
config.includeStack = value; |
|||
} |
|||
}); |
|||
|
|||
Object.defineProperty(Assertion, 'showDiff', { |
|||
get: function() { |
|||
console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.'); |
|||
return config.showDiff; |
|||
}, |
|||
set: function(value) { |
|||
console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.'); |
|||
config.showDiff = value; |
|||
} |
|||
}); |
|||
|
|||
Assertion.addProperty = function (name, fn) { |
|||
util.addProperty(this.prototype, name, fn); |
|||
}; |
|||
|
|||
Assertion.addMethod = function (name, fn) { |
|||
util.addMethod(this.prototype, name, fn); |
|||
}; |
|||
|
|||
Assertion.addChainableMethod = function (name, fn, chainingBehavior) { |
|||
util.addChainableMethod(this.prototype, name, fn, chainingBehavior); |
|||
}; |
|||
|
|||
Assertion.overwriteProperty = function (name, fn) { |
|||
util.overwriteProperty(this.prototype, name, fn); |
|||
}; |
|||
|
|||
Assertion.overwriteMethod = function (name, fn) { |
|||
util.overwriteMethod(this.prototype, name, fn); |
|||
}; |
|||
|
|||
Assertion.overwriteChainableMethod = function (name, fn, chainingBehavior) { |
|||
util.overwriteChainableMethod(this.prototype, name, fn, chainingBehavior); |
|||
}; |
|||
|
|||
/** |
|||
* ### .assert(expression, message, negateMessage, expected, actual, showDiff) |
|||
* |
|||
* Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass. |
|||
* |
|||
* @name assert |
|||
* @param {Philosophical} expression to be tested |
|||
* @param {String|Function} message or function that returns message to display if expression fails |
|||
* @param {String|Function} negatedMessage or function that returns negatedMessage to display if negated expression fails |
|||
* @param {Mixed} expected value (remember to check for negation) |
|||
* @param {Mixed} actual (optional) will default to `this.obj` |
|||
* @param {Boolean} showDiff (optional) when set to `true`, assert will display a diff in addition to the message if expression fails |
|||
* @api private |
|||
*/ |
|||
|
|||
Assertion.prototype.assert = function (expr, msg, negateMsg, expected, _actual, showDiff) { |
|||
var ok = util.test(this, arguments); |
|||
if (false !== showDiff) showDiff = true; |
|||
if (undefined === expected && undefined === _actual) showDiff = false; |
|||
if (true !== config.showDiff) showDiff = false; |
|||
|
|||
if (!ok) { |
|||
msg = util.getMessage(this, arguments); |
|||
var actual = util.getActual(this, arguments); |
|||
throw new AssertionError(msg, { |
|||
actual: actual |
|||
, expected: expected |
|||
, showDiff: showDiff |
|||
}, (config.includeStack) ? this.assert : flag(this, 'ssfi')); |
|||
} |
|||
}; |
|||
|
|||
/*! |
|||
* ### ._obj |
|||
* |
|||
* Quick reference to stored `actual` value for plugin developers. |
|||
* |
|||
* @api private |
|||
*/ |
|||
|
|||
Object.defineProperty(Assertion.prototype, '_obj', |
|||
{ get: function () { |
|||
return flag(this, 'object'); |
|||
} |
|||
, set: function (val) { |
|||
flag(this, 'object', val); |
|||
} |
|||
}); |
|||
}; |
|||
@ -0,0 +1,94 @@ |
|||
module.exports = { |
|||
|
|||
/** |
|||
* ### config.includeStack |
|||
* |
|||
* User configurable property, influences whether stack trace |
|||
* is included in Assertion error message. Default of false |
|||
* suppresses stack trace in the error message. |
|||
* |
|||
* chai.config.includeStack = true; // enable stack on error
|
|||
* |
|||
* @param {Boolean} |
|||
* @api public |
|||
*/ |
|||
|
|||
includeStack: false, |
|||
|
|||
/** |
|||
* ### config.showDiff |
|||
* |
|||
* User configurable property, influences whether or not |
|||
* the `showDiff` flag should be included in the thrown |
|||
* AssertionErrors. `false` will always be `false`; `true` |
|||
* will be true when the assertion has requested a diff |
|||
* be shown. |
|||
* |
|||
* @param {Boolean} |
|||
* @api public |
|||
*/ |
|||
|
|||
showDiff: true, |
|||
|
|||
/** |
|||
* ### config.truncateThreshold |
|||
* |
|||
* User configurable property, sets length threshold for actual and |
|||
* expected values in assertion errors. If this threshold is exceeded, for |
|||
* example for large data structures, the value is replaced with something |
|||
* like `[ Array(3) ]` or `{ Object (prop1, prop2) }`. |
|||
* |
|||
* Set it to zero if you want to disable truncating altogether. |
|||
* |
|||
* This is especially userful when doing assertions on arrays: having this |
|||
* set to a reasonable large value makes the failure messages readily |
|||
* inspectable. |
|||
* |
|||
* chai.config.truncateThreshold = 0; // disable truncating
|
|||
* |
|||
* @param {Number} |
|||
* @api public |
|||
*/ |
|||
|
|||
truncateThreshold: 40, |
|||
|
|||
/** |
|||
* ### config.useProxy |
|||
* |
|||
* User configurable property, defines if chai will use a Proxy to throw |
|||
* an error when a non-existent property is read, which protects users |
|||
* from typos when using property-based assertions. |
|||
* |
|||
* Set it to false if you want to disable this feature. |
|||
* |
|||
* chai.config.useProxy = false; // disable use of Proxy
|
|||
* |
|||
* This feature is automatically disabled regardless of this config value |
|||
* in environments that don't support proxies. |
|||
* |
|||
* @param {Boolean} |
|||
* @api public |
|||
*/ |
|||
|
|||
useProxy: true, |
|||
|
|||
/** |
|||
* ### config.proxyExcludedKeys |
|||
* |
|||
* User configurable property, defines which properties should be ignored |
|||
* instead of throwing an error if they do not exist on the assertion. |
|||
* This is only applied if the environment Chai is running in supports proxies and |
|||
* if the `useProxy` configuration setting is enabled. |
|||
* By default, `then` and `inspect` will not throw an error if they do not exist on the |
|||
* assertion object because the `.inspect` property is read by `util.inspect` (for example, when |
|||
* using `console.log` on the assertion object) and `.then` is necessary for promise type-checking. |
|||
* |
|||
* // By default these keys will not throw an error if they do not exist on the assertion object
|
|||
* chai.config.proxyExcludedKeys = ['then', 'inspect']; |
|||
* |
|||
* @param {Array} |
|||
* @api public |
|||
*/ |
|||
|
|||
proxyExcludedKeys: ['then', 'catch', 'inspect', 'toJSON'] |
|||
}; |
|||
3804
angjs2/lib/chai/lib/chai/core/assertions.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
3113
angjs2/lib/chai/lib/chai/interface/assert.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,47 @@ |
|||
/*! |
|||
* chai |
|||
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
module.exports = function (chai, util) { |
|||
chai.expect = function (val, message) { |
|||
return new chai.Assertion(val, message); |
|||
}; |
|||
|
|||
/** |
|||
* ### .fail([message]) |
|||
* ### .fail(actual, expected, [message], [operator]) |
|||
* |
|||
* Throw a failure. |
|||
* |
|||
* expect.fail(); |
|||
* expect.fail("custom error message"); |
|||
* expect.fail(1, 2); |
|||
* expect.fail(1, 2, "custom error message"); |
|||
* expect.fail(1, 2, "custom error message", ">"); |
|||
* expect.fail(1, 2, undefined, ">"); |
|||
* |
|||
* @name fail |
|||
* @param {Mixed} actual |
|||
* @param {Mixed} expected |
|||
* @param {String} message |
|||
* @param {String} operator |
|||
* @namespace BDD |
|||
* @api public |
|||
*/ |
|||
|
|||
chai.expect.fail = function (actual, expected, message, operator) { |
|||
if (arguments.length < 2) { |
|||
message = actual; |
|||
actual = undefined; |
|||
} |
|||
|
|||
message = message || 'expect.fail()'; |
|||
throw new chai.AssertionError(message, { |
|||
actual: actual |
|||
, expected: expected |
|||
, operator: operator |
|||
}, chai.expect.fail); |
|||
}; |
|||
}; |
|||
@ -0,0 +1,218 @@ |
|||
/*! |
|||
* chai |
|||
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
module.exports = function (chai, util) { |
|||
var Assertion = chai.Assertion; |
|||
|
|||
function loadShould () { |
|||
// explicitly define this method as function as to have it's name to include as `ssfi`
|
|||
function shouldGetter() { |
|||
if (this instanceof String |
|||
|| this instanceof Number |
|||
|| this instanceof Boolean |
|||
|| typeof Symbol === 'function' && this instanceof Symbol) { |
|||
return new Assertion(this.valueOf(), null, shouldGetter); |
|||
} |
|||
return new Assertion(this, null, shouldGetter); |
|||
} |
|||
function shouldSetter(value) { |
|||
// See https://github.com/chaijs/chai/issues/86: this makes
|
|||
// `whatever.should = someValue` actually set `someValue`, which is
|
|||
// especially useful for `global.should = require('chai').should()`.
|
|||
//
|
|||
// Note that we have to use [[DefineProperty]] instead of [[Put]]
|
|||
// since otherwise we would trigger this very setter!
|
|||
Object.defineProperty(this, 'should', { |
|||
value: value, |
|||
enumerable: true, |
|||
configurable: true, |
|||
writable: true |
|||
}); |
|||
} |
|||
// modify Object.prototype to have `should`
|
|||
Object.defineProperty(Object.prototype, 'should', { |
|||
set: shouldSetter |
|||
, get: shouldGetter |
|||
, configurable: true |
|||
}); |
|||
|
|||
var should = {}; |
|||
|
|||
/** |
|||
* ### .fail([message]) |
|||
* ### .fail(actual, expected, [message], [operator]) |
|||
* |
|||
* Throw a failure. |
|||
* |
|||
* should.fail(); |
|||
* should.fail("custom error message"); |
|||
* should.fail(1, 2); |
|||
* should.fail(1, 2, "custom error message"); |
|||
* should.fail(1, 2, "custom error message", ">"); |
|||
* should.fail(1, 2, undefined, ">"); |
|||
* |
|||
* |
|||
* @name fail |
|||
* @param {Mixed} actual |
|||
* @param {Mixed} expected |
|||
* @param {String} message |
|||
* @param {String} operator |
|||
* @namespace BDD |
|||
* @api public |
|||
*/ |
|||
|
|||
should.fail = function (actual, expected, message, operator) { |
|||
if (arguments.length < 2) { |
|||
message = actual; |
|||
actual = undefined; |
|||
} |
|||
|
|||
message = message || 'should.fail()'; |
|||
throw new chai.AssertionError(message, { |
|||
actual: actual |
|||
, expected: expected |
|||
, operator: operator |
|||
}, should.fail); |
|||
}; |
|||
|
|||
/** |
|||
* ### .equal(actual, expected, [message]) |
|||
* |
|||
* Asserts non-strict equality (`==`) of `actual` and `expected`. |
|||
* |
|||
* should.equal(3, '3', '== coerces values to strings'); |
|||
* |
|||
* @name equal |
|||
* @param {Mixed} actual |
|||
* @param {Mixed} expected |
|||
* @param {String} message |
|||
* @namespace Should |
|||
* @api public |
|||
*/ |
|||
|
|||
should.equal = function (val1, val2, msg) { |
|||
new Assertion(val1, msg).to.equal(val2); |
|||
}; |
|||
|
|||
/** |
|||
* ### .throw(function, [constructor/string/regexp], [string/regexp], [message]) |
|||
* |
|||
* Asserts that `function` will throw an error that is an instance of |
|||
* `constructor`, or alternately that it will throw an error with message |
|||
* matching `regexp`. |
|||
* |
|||
* should.throw(fn, 'function throws a reference error'); |
|||
* should.throw(fn, /function throws a reference error/); |
|||
* should.throw(fn, ReferenceError); |
|||
* should.throw(fn, ReferenceError, 'function throws a reference error'); |
|||
* should.throw(fn, ReferenceError, /function throws a reference error/); |
|||
* |
|||
* @name throw |
|||
* @alias Throw |
|||
* @param {Function} function |
|||
* @param {ErrorConstructor} constructor |
|||
* @param {RegExp} regexp |
|||
* @param {String} message |
|||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
|||
* @namespace Should |
|||
* @api public |
|||
*/ |
|||
|
|||
should.Throw = function (fn, errt, errs, msg) { |
|||
new Assertion(fn, msg).to.Throw(errt, errs); |
|||
}; |
|||
|
|||
/** |
|||
* ### .exist |
|||
* |
|||
* Asserts that the target is neither `null` nor `undefined`. |
|||
* |
|||
* var foo = 'hi'; |
|||
* |
|||
* should.exist(foo, 'foo exists'); |
|||
* |
|||
* @name exist |
|||
* @namespace Should |
|||
* @api public |
|||
*/ |
|||
|
|||
should.exist = function (val, msg) { |
|||
new Assertion(val, msg).to.exist; |
|||
} |
|||
|
|||
// negation
|
|||
should.not = {} |
|||
|
|||
/** |
|||
* ### .not.equal(actual, expected, [message]) |
|||
* |
|||
* Asserts non-strict inequality (`!=`) of `actual` and `expected`. |
|||
* |
|||
* should.not.equal(3, 4, 'these numbers are not equal'); |
|||
* |
|||
* @name not.equal |
|||
* @param {Mixed} actual |
|||
* @param {Mixed} expected |
|||
* @param {String} message |
|||
* @namespace Should |
|||
* @api public |
|||
*/ |
|||
|
|||
should.not.equal = function (val1, val2, msg) { |
|||
new Assertion(val1, msg).to.not.equal(val2); |
|||
}; |
|||
|
|||
/** |
|||
* ### .throw(function, [constructor/regexp], [message]) |
|||
* |
|||
* Asserts that `function` will _not_ throw an error that is an instance of |
|||
* `constructor`, or alternately that it will not throw an error with message |
|||
* matching `regexp`. |
|||
* |
|||
* should.not.throw(fn, Error, 'function does not throw'); |
|||
* |
|||
* @name not.throw |
|||
* @alias not.Throw |
|||
* @param {Function} function |
|||
* @param {ErrorConstructor} constructor |
|||
* @param {RegExp} regexp |
|||
* @param {String} message |
|||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
|||
* @namespace Should |
|||
* @api public |
|||
*/ |
|||
|
|||
should.not.Throw = function (fn, errt, errs, msg) { |
|||
new Assertion(fn, msg).to.not.Throw(errt, errs); |
|||
}; |
|||
|
|||
/** |
|||
* ### .not.exist |
|||
* |
|||
* Asserts that the target is neither `null` nor `undefined`. |
|||
* |
|||
* var bar = null; |
|||
* |
|||
* should.not.exist(bar, 'bar does not exist'); |
|||
* |
|||
* @name not.exist |
|||
* @namespace Should |
|||
* @api public |
|||
*/ |
|||
|
|||
should.not.exist = function (val, msg) { |
|||
new Assertion(val, msg).to.not.exist; |
|||
} |
|||
|
|||
should['throw'] = should['Throw']; |
|||
should.not['throw'] = should.not['Throw']; |
|||
|
|||
return should; |
|||
}; |
|||
|
|||
chai.should = loadShould; |
|||
chai.Should = loadShould; |
|||
}; |
|||
@ -0,0 +1,152 @@ |
|||
/*! |
|||
* Chai - addChainingMethod utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/*! |
|||
* Module dependencies |
|||
*/ |
|||
|
|||
var addLengthGuard = require('./addLengthGuard'); |
|||
var chai = require('../../chai'); |
|||
var flag = require('./flag'); |
|||
var proxify = require('./proxify'); |
|||
var transferFlags = require('./transferFlags'); |
|||
|
|||
/*! |
|||
* Module variables |
|||
*/ |
|||
|
|||
// Check whether `Object.setPrototypeOf` is supported
|
|||
var canSetPrototype = typeof Object.setPrototypeOf === 'function'; |
|||
|
|||
// Without `Object.setPrototypeOf` support, this module will need to add properties to a function.
|
|||
// However, some of functions' own props are not configurable and should be skipped.
|
|||
var testFn = function() {}; |
|||
var excludeNames = Object.getOwnPropertyNames(testFn).filter(function(name) { |
|||
var propDesc = Object.getOwnPropertyDescriptor(testFn, name); |
|||
|
|||
// Note: PhantomJS 1.x includes `callee` as one of `testFn`'s own properties,
|
|||
// but then returns `undefined` as the property descriptor for `callee`. As a
|
|||
// workaround, we perform an otherwise unnecessary type-check for `propDesc`,
|
|||
// and then filter it out if it's not an object as it should be.
|
|||
if (typeof propDesc !== 'object') |
|||
return true; |
|||
|
|||
return !propDesc.configurable; |
|||
}); |
|||
|
|||
// Cache `Function` properties
|
|||
var call = Function.prototype.call, |
|||
apply = Function.prototype.apply; |
|||
|
|||
/** |
|||
* ### .addChainableMethod(ctx, name, method, chainingBehavior) |
|||
* |
|||
* Adds a method to an object, such that the method can also be chained. |
|||
* |
|||
* utils.addChainableMethod(chai.Assertion.prototype, 'foo', function (str) { |
|||
* var obj = utils.flag(this, 'object'); |
|||
* new chai.Assertion(obj).to.be.equal(str); |
|||
* }); |
|||
* |
|||
* Can also be accessed directly from `chai.Assertion`. |
|||
* |
|||
* chai.Assertion.addChainableMethod('foo', fn, chainingBehavior); |
|||
* |
|||
* The result can then be used as both a method assertion, executing both `method` and |
|||
* `chainingBehavior`, or as a language chain, which only executes `chainingBehavior`. |
|||
* |
|||
* expect(fooStr).to.be.foo('bar'); |
|||
* expect(fooStr).to.be.foo.equal('foo'); |
|||
* |
|||
* @param {Object} ctx object to which the method is added |
|||
* @param {String} name of method to add |
|||
* @param {Function} method function to be used for `name`, when called |
|||
* @param {Function} chainingBehavior function to be called every time the property is accessed |
|||
* @namespace Utils |
|||
* @name addChainableMethod |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function addChainableMethod(ctx, name, method, chainingBehavior) { |
|||
if (typeof chainingBehavior !== 'function') { |
|||
chainingBehavior = function () { }; |
|||
} |
|||
|
|||
var chainableBehavior = { |
|||
method: method |
|||
, chainingBehavior: chainingBehavior |
|||
}; |
|||
|
|||
// save the methods so we can overwrite them later, if we need to.
|
|||
if (!ctx.__methods) { |
|||
ctx.__methods = {}; |
|||
} |
|||
ctx.__methods[name] = chainableBehavior; |
|||
|
|||
Object.defineProperty(ctx, name, |
|||
{ get: function chainableMethodGetter() { |
|||
chainableBehavior.chainingBehavior.call(this); |
|||
|
|||
var chainableMethodWrapper = function () { |
|||
// Setting the `ssfi` flag to `chainableMethodWrapper` causes this
|
|||
// function to be the starting point for removing implementation
|
|||
// frames from the stack trace of a failed assertion.
|
|||
//
|
|||
// However, we only want to use this function as the starting point if
|
|||
// the `lockSsfi` flag isn't set.
|
|||
//
|
|||
// If the `lockSsfi` flag is set, then this assertion is being
|
|||
// invoked from inside of another assertion. In this case, the `ssfi`
|
|||
// flag has already been set by the outer assertion.
|
|||
//
|
|||
// Note that overwriting a chainable method merely replaces the saved
|
|||
// methods in `ctx.__methods` instead of completely replacing the
|
|||
// overwritten assertion. Therefore, an overwriting assertion won't
|
|||
// set the `ssfi` or `lockSsfi` flags.
|
|||
if (!flag(this, 'lockSsfi')) { |
|||
flag(this, 'ssfi', chainableMethodWrapper); |
|||
} |
|||
|
|||
var result = chainableBehavior.method.apply(this, arguments); |
|||
if (result !== undefined) { |
|||
return result; |
|||
} |
|||
|
|||
var newAssertion = new chai.Assertion(); |
|||
transferFlags(this, newAssertion); |
|||
return newAssertion; |
|||
}; |
|||
|
|||
addLengthGuard(chainableMethodWrapper, name, true); |
|||
|
|||
// Use `Object.setPrototypeOf` if available
|
|||
if (canSetPrototype) { |
|||
// Inherit all properties from the object by replacing the `Function` prototype
|
|||
var prototype = Object.create(this); |
|||
// Restore the `call` and `apply` methods from `Function`
|
|||
prototype.call = call; |
|||
prototype.apply = apply; |
|||
Object.setPrototypeOf(chainableMethodWrapper, prototype); |
|||
} |
|||
// Otherwise, redefine all properties (slow!)
|
|||
else { |
|||
var asserterNames = Object.getOwnPropertyNames(ctx); |
|||
asserterNames.forEach(function (asserterName) { |
|||
if (excludeNames.indexOf(asserterName) !== -1) { |
|||
return; |
|||
} |
|||
|
|||
var pd = Object.getOwnPropertyDescriptor(ctx, asserterName); |
|||
Object.defineProperty(chainableMethodWrapper, asserterName, pd); |
|||
}); |
|||
} |
|||
|
|||
transferFlags(this, chainableMethodWrapper); |
|||
return proxify(chainableMethodWrapper); |
|||
} |
|||
, configurable: true |
|||
}); |
|||
}; |
|||
@ -0,0 +1,60 @@ |
|||
var fnLengthDesc = Object.getOwnPropertyDescriptor(function () {}, 'length'); |
|||
|
|||
/*! |
|||
* Chai - addLengthGuard utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .addLengthGuard(fn, assertionName, isChainable) |
|||
* |
|||
* Define `length` as a getter on the given uninvoked method assertion. The |
|||
* getter acts as a guard against chaining `length` directly off of an uninvoked |
|||
* method assertion, which is a problem because it references `function`'s |
|||
* built-in `length` property instead of Chai's `length` assertion. When the |
|||
* getter catches the user making this mistake, it throws an error with a |
|||
* helpful message. |
|||
* |
|||
* There are two ways in which this mistake can be made. The first way is by |
|||
* chaining the `length` assertion directly off of an uninvoked chainable |
|||
* method. In this case, Chai suggests that the user use `lengthOf` instead. The |
|||
* second way is by chaining the `length` assertion directly off of an uninvoked |
|||
* non-chainable method. Non-chainable methods must be invoked prior to |
|||
* chaining. In this case, Chai suggests that the user consult the docs for the |
|||
* given assertion. |
|||
* |
|||
* If the `length` property of functions is unconfigurable, then return `fn` |
|||
* without modification. |
|||
* |
|||
* Note that in ES6, the function's `length` property is configurable, so once |
|||
* support for legacy environments is dropped, Chai's `length` property can |
|||
* replace the built-in function's `length` property, and this length guard will |
|||
* no longer be necessary. In the mean time, maintaining consistency across all |
|||
* environments is the priority. |
|||
* |
|||
* @param {Function} fn |
|||
* @param {String} assertionName |
|||
* @param {Boolean} isChainable |
|||
* @namespace Utils |
|||
* @name addLengthGuard |
|||
*/ |
|||
|
|||
module.exports = function addLengthGuard (fn, assertionName, isChainable) { |
|||
if (!fnLengthDesc.configurable) return fn; |
|||
|
|||
Object.defineProperty(fn, 'length', { |
|||
get: function () { |
|||
if (isChainable) { |
|||
throw Error('Invalid Chai property: ' + assertionName + '.length. Due' + |
|||
' to a compatibility issue, "length" cannot directly follow "' + |
|||
assertionName + '". Use "' + assertionName + '.lengthOf" instead.'); |
|||
} |
|||
|
|||
throw Error('Invalid Chai property: ' + assertionName + '.length. See' + |
|||
' docs for proper usage of "' + assertionName + '".'); |
|||
} |
|||
}); |
|||
|
|||
return fn; |
|||
}; |
|||
@ -0,0 +1,68 @@ |
|||
/*! |
|||
* Chai - addMethod utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
var addLengthGuard = require('./addLengthGuard'); |
|||
var chai = require('../../chai'); |
|||
var flag = require('./flag'); |
|||
var proxify = require('./proxify'); |
|||
var transferFlags = require('./transferFlags'); |
|||
|
|||
/** |
|||
* ### .addMethod(ctx, name, method) |
|||
* |
|||
* Adds a method to the prototype of an object. |
|||
* |
|||
* utils.addMethod(chai.Assertion.prototype, 'foo', function (str) { |
|||
* var obj = utils.flag(this, 'object'); |
|||
* new chai.Assertion(obj).to.be.equal(str); |
|||
* }); |
|||
* |
|||
* Can also be accessed directly from `chai.Assertion`. |
|||
* |
|||
* chai.Assertion.addMethod('foo', fn); |
|||
* |
|||
* Then can be used as any other assertion. |
|||
* |
|||
* expect(fooStr).to.be.foo('bar'); |
|||
* |
|||
* @param {Object} ctx object to which the method is added |
|||
* @param {String} name of method to add |
|||
* @param {Function} method function to be used for name |
|||
* @namespace Utils |
|||
* @name addMethod |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function addMethod(ctx, name, method) { |
|||
var methodWrapper = function () { |
|||
// Setting the `ssfi` flag to `methodWrapper` causes this function to be the
|
|||
// starting point for removing implementation frames from the stack trace of
|
|||
// a failed assertion.
|
|||
//
|
|||
// However, we only want to use this function as the starting point if the
|
|||
// `lockSsfi` flag isn't set.
|
|||
//
|
|||
// If the `lockSsfi` flag is set, then either this assertion has been
|
|||
// overwritten by another assertion, or this assertion is being invoked from
|
|||
// inside of another assertion. In the first case, the `ssfi` flag has
|
|||
// already been set by the overwriting assertion. In the second case, the
|
|||
// `ssfi` flag has already been set by the outer assertion.
|
|||
if (!flag(this, 'lockSsfi')) { |
|||
flag(this, 'ssfi', methodWrapper); |
|||
} |
|||
|
|||
var result = method.apply(this, arguments); |
|||
if (result !== undefined) |
|||
return result; |
|||
|
|||
var newAssertion = new chai.Assertion(); |
|||
transferFlags(this, newAssertion); |
|||
return newAssertion; |
|||
}; |
|||
|
|||
addLengthGuard(methodWrapper, name, false); |
|||
ctx[name] = proxify(methodWrapper, name); |
|||
}; |
|||
@ -0,0 +1,72 @@ |
|||
/*! |
|||
* Chai - addProperty utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
var chai = require('../../chai'); |
|||
var flag = require('./flag'); |
|||
var isProxyEnabled = require('./isProxyEnabled'); |
|||
var transferFlags = require('./transferFlags'); |
|||
|
|||
/** |
|||
* ### .addProperty(ctx, name, getter) |
|||
* |
|||
* Adds a property to the prototype of an object. |
|||
* |
|||
* utils.addProperty(chai.Assertion.prototype, 'foo', function () { |
|||
* var obj = utils.flag(this, 'object'); |
|||
* new chai.Assertion(obj).to.be.instanceof(Foo); |
|||
* }); |
|||
* |
|||
* Can also be accessed directly from `chai.Assertion`. |
|||
* |
|||
* chai.Assertion.addProperty('foo', fn); |
|||
* |
|||
* Then can be used as any other assertion. |
|||
* |
|||
* expect(myFoo).to.be.foo; |
|||
* |
|||
* @param {Object} ctx object to which the property is added |
|||
* @param {String} name of property to add |
|||
* @param {Function} getter function to be used for name |
|||
* @namespace Utils |
|||
* @name addProperty |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function addProperty(ctx, name, getter) { |
|||
getter = getter === undefined ? function () {} : getter; |
|||
|
|||
Object.defineProperty(ctx, name, |
|||
{ get: function propertyGetter() { |
|||
// Setting the `ssfi` flag to `propertyGetter` causes this function to
|
|||
// be the starting point for removing implementation frames from the
|
|||
// stack trace of a failed assertion.
|
|||
//
|
|||
// However, we only want to use this function as the starting point if
|
|||
// the `lockSsfi` flag isn't set and proxy protection is disabled.
|
|||
//
|
|||
// If the `lockSsfi` flag is set, then either this assertion has been
|
|||
// overwritten by another assertion, or this assertion is being invoked
|
|||
// from inside of another assertion. In the first case, the `ssfi` flag
|
|||
// has already been set by the overwriting assertion. In the second
|
|||
// case, the `ssfi` flag has already been set by the outer assertion.
|
|||
//
|
|||
// If proxy protection is enabled, then the `ssfi` flag has already been
|
|||
// set by the proxy getter.
|
|||
if (!isProxyEnabled() && !flag(this, 'lockSsfi')) { |
|||
flag(this, 'ssfi', propertyGetter); |
|||
} |
|||
|
|||
var result = getter.call(this); |
|||
if (result !== undefined) |
|||
return result; |
|||
|
|||
var newAssertion = new chai.Assertion(); |
|||
transferFlags(this, newAssertion); |
|||
return newAssertion; |
|||
} |
|||
, configurable: true |
|||
}); |
|||
}; |
|||
@ -0,0 +1,31 @@ |
|||
/*! |
|||
* Chai - compareByInspect utility |
|||
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/*! |
|||
* Module dependencies |
|||
*/ |
|||
|
|||
var inspect = require('./inspect'); |
|||
|
|||
/** |
|||
* ### .compareByInspect(mixed, mixed) |
|||
* |
|||
* To be used as a compareFunction with Array.prototype.sort. Compares elements |
|||
* using inspect instead of default behavior of using toString so that Symbols |
|||
* and objects with irregular/missing toString can still be sorted without a |
|||
* TypeError. |
|||
* |
|||
* @param {Mixed} first element to compare |
|||
* @param {Mixed} second element to compare |
|||
* @returns {Number} -1 if 'a' should come before 'b'; otherwise 1 |
|||
* @name compareByInspect |
|||
* @namespace Utils |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function compareByInspect(a, b) { |
|||
return inspect(a) < inspect(b) ? -1 : 1; |
|||
}; |
|||
@ -0,0 +1,51 @@ |
|||
/*! |
|||
* Chai - expectTypes utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .expectTypes(obj, types) |
|||
* |
|||
* Ensures that the object being tested against is of a valid type. |
|||
* |
|||
* utils.expectTypes(this, ['array', 'object', 'string']); |
|||
* |
|||
* @param {Mixed} obj constructed Assertion |
|||
* @param {Array} type A list of allowed types for this assertion |
|||
* @namespace Utils |
|||
* @name expectTypes |
|||
* @api public |
|||
*/ |
|||
|
|||
var AssertionError = require('assertion-error'); |
|||
var flag = require('./flag'); |
|||
var type = require('type-detect'); |
|||
|
|||
module.exports = function expectTypes(obj, types) { |
|||
var flagMsg = flag(obj, 'message'); |
|||
var ssfi = flag(obj, 'ssfi'); |
|||
|
|||
flagMsg = flagMsg ? flagMsg + ': ' : ''; |
|||
|
|||
obj = flag(obj, 'object'); |
|||
types = types.map(function (t) { return t.toLowerCase(); }); |
|||
types.sort(); |
|||
|
|||
// Transforms ['lorem', 'ipsum'] into 'a lorem, or an ipsum'
|
|||
var str = types.map(function (t, index) { |
|||
var art = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(t.charAt(0)) ? 'an' : 'a'; |
|||
var or = types.length > 1 && index === types.length - 1 ? 'or ' : ''; |
|||
return or + art + ' ' + t; |
|||
}).join(', '); |
|||
|
|||
var objType = type(obj).toLowerCase(); |
|||
|
|||
if (!types.some(function (expected) { return objType === expected; })) { |
|||
throw new AssertionError( |
|||
flagMsg + 'object tested must be ' + str + ', but ' + objType + ' given', |
|||
undefined, |
|||
ssfi |
|||
); |
|||
} |
|||
}; |
|||
@ -0,0 +1,33 @@ |
|||
/*! |
|||
* Chai - flag utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .flag(object, key, [value]) |
|||
* |
|||
* Get or set a flag value on an object. If a |
|||
* value is provided it will be set, else it will |
|||
* return the currently set value or `undefined` if |
|||
* the value is not set. |
|||
* |
|||
* utils.flag(this, 'foo', 'bar'); // setter
|
|||
* utils.flag(this, 'foo'); // getter, returns `bar`
|
|||
* |
|||
* @param {Object} object constructed Assertion |
|||
* @param {String} key |
|||
* @param {Mixed} value (optional) |
|||
* @namespace Utils |
|||
* @name flag |
|||
* @api private |
|||
*/ |
|||
|
|||
module.exports = function flag(obj, key, value) { |
|||
var flags = obj.__flags || (obj.__flags = Object.create(null)); |
|||
if (arguments.length === 3) { |
|||
flags[key] = value; |
|||
} else { |
|||
return flags[key]; |
|||
} |
|||
}; |
|||
@ -0,0 +1,20 @@ |
|||
/*! |
|||
* Chai - getActual utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .getActual(object, [actual]) |
|||
* |
|||
* Returns the `actual` value for an Assertion. |
|||
* |
|||
* @param {Object} object (constructed Assertion) |
|||
* @param {Arguments} chai.Assertion.prototype.assert arguments |
|||
* @namespace Utils |
|||
* @name getActual |
|||
*/ |
|||
|
|||
module.exports = function getActual(obj, args) { |
|||
return args.length > 4 ? args[4] : obj._obj; |
|||
}; |
|||
@ -0,0 +1,26 @@ |
|||
/*! |
|||
* Chai - getEnumerableProperties utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .getEnumerableProperties(object) |
|||
* |
|||
* This allows the retrieval of enumerable property names of an object, |
|||
* inherited or not. |
|||
* |
|||
* @param {Object} object |
|||
* @returns {Array} |
|||
* @namespace Utils |
|||
* @name getEnumerableProperties |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function getEnumerableProperties(object) { |
|||
var result = []; |
|||
for (var name in object) { |
|||
result.push(name); |
|||
} |
|||
return result; |
|||
}; |
|||
@ -0,0 +1,50 @@ |
|||
/*! |
|||
* Chai - message composition utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/*! |
|||
* Module dependencies |
|||
*/ |
|||
|
|||
var flag = require('./flag') |
|||
, getActual = require('./getActual') |
|||
, objDisplay = require('./objDisplay'); |
|||
|
|||
/** |
|||
* ### .getMessage(object, message, negateMessage) |
|||
* |
|||
* Construct the error message based on flags |
|||
* and template tags. Template tags will return |
|||
* a stringified inspection of the object referenced. |
|||
* |
|||
* Message template tags: |
|||
* - `#{this}` current asserted object |
|||
* - `#{act}` actual value |
|||
* - `#{exp}` expected value |
|||
* |
|||
* @param {Object} object (constructed Assertion) |
|||
* @param {Arguments} chai.Assertion.prototype.assert arguments |
|||
* @namespace Utils |
|||
* @name getMessage |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function getMessage(obj, args) { |
|||
var negate = flag(obj, 'negate') |
|||
, val = flag(obj, 'object') |
|||
, expected = args[3] |
|||
, actual = getActual(obj, args) |
|||
, msg = negate ? args[2] : args[1] |
|||
, flagMsg = flag(obj, 'message'); |
|||
|
|||
if(typeof msg === "function") msg = msg(); |
|||
msg = msg || ''; |
|||
msg = msg |
|||
.replace(/#\{this\}/g, function () { return objDisplay(val); }) |
|||
.replace(/#\{act\}/g, function () { return objDisplay(actual); }) |
|||
.replace(/#\{exp\}/g, function () { return objDisplay(expected); }); |
|||
|
|||
return flagMsg ? flagMsg + ': ' + msg : msg; |
|||
}; |
|||
@ -0,0 +1,29 @@ |
|||
/*! |
|||
* Chai - getOwnEnumerableProperties utility |
|||
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/*! |
|||
* Module dependencies |
|||
*/ |
|||
|
|||
var getOwnEnumerablePropertySymbols = require('./getOwnEnumerablePropertySymbols'); |
|||
|
|||
/** |
|||
* ### .getOwnEnumerableProperties(object) |
|||
* |
|||
* This allows the retrieval of directly-owned enumerable property names and |
|||
* symbols of an object. This function is necessary because Object.keys only |
|||
* returns enumerable property names, not enumerable property symbols. |
|||
* |
|||
* @param {Object} object |
|||
* @returns {Array} |
|||
* @namespace Utils |
|||
* @name getOwnEnumerableProperties |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function getOwnEnumerableProperties(obj) { |
|||
return Object.keys(obj).concat(getOwnEnumerablePropertySymbols(obj)); |
|||
}; |
|||
@ -0,0 +1,27 @@ |
|||
/*! |
|||
* Chai - getOwnEnumerablePropertySymbols utility |
|||
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .getOwnEnumerablePropertySymbols(object) |
|||
* |
|||
* This allows the retrieval of directly-owned enumerable property symbols of an |
|||
* object. This function is necessary because Object.getOwnPropertySymbols |
|||
* returns both enumerable and non-enumerable property symbols. |
|||
* |
|||
* @param {Object} object |
|||
* @returns {Array} |
|||
* @namespace Utils |
|||
* @name getOwnEnumerablePropertySymbols |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function getOwnEnumerablePropertySymbols(obj) { |
|||
if (typeof Object.getOwnPropertySymbols !== 'function') return []; |
|||
|
|||
return Object.getOwnPropertySymbols(obj).filter(function (sym) { |
|||
return Object.getOwnPropertyDescriptor(obj, sym).enumerable; |
|||
}); |
|||
}; |
|||
@ -0,0 +1,36 @@ |
|||
/*! |
|||
* Chai - getProperties utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .getProperties(object) |
|||
* |
|||
* This allows the retrieval of property names of an object, enumerable or not, |
|||
* inherited or not. |
|||
* |
|||
* @param {Object} object |
|||
* @returns {Array} |
|||
* @namespace Utils |
|||
* @name getProperties |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function getProperties(object) { |
|||
var result = Object.getOwnPropertyNames(object); |
|||
|
|||
function addProperty(property) { |
|||
if (result.indexOf(property) === -1) { |
|||
result.push(property); |
|||
} |
|||
} |
|||
|
|||
var proto = Object.getPrototypeOf(object); |
|||
while (proto !== null) { |
|||
Object.getOwnPropertyNames(proto).forEach(addProperty); |
|||
proto = Object.getPrototypeOf(proto); |
|||
} |
|||
|
|||
return result; |
|||
}; |
|||
@ -0,0 +1,172 @@ |
|||
/*! |
|||
* chai |
|||
* Copyright(c) 2011 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/*! |
|||
* Dependencies that are used for multiple exports are required here only once |
|||
*/ |
|||
|
|||
var pathval = require('pathval'); |
|||
|
|||
/*! |
|||
* test utility |
|||
*/ |
|||
|
|||
exports.test = require('./test'); |
|||
|
|||
/*! |
|||
* type utility |
|||
*/ |
|||
|
|||
exports.type = require('type-detect'); |
|||
|
|||
/*! |
|||
* expectTypes utility |
|||
*/ |
|||
exports.expectTypes = require('./expectTypes'); |
|||
|
|||
/*! |
|||
* message utility |
|||
*/ |
|||
|
|||
exports.getMessage = require('./getMessage'); |
|||
|
|||
/*! |
|||
* actual utility |
|||
*/ |
|||
|
|||
exports.getActual = require('./getActual'); |
|||
|
|||
/*! |
|||
* Inspect util |
|||
*/ |
|||
|
|||
exports.inspect = require('./inspect'); |
|||
|
|||
/*! |
|||
* Object Display util |
|||
*/ |
|||
|
|||
exports.objDisplay = require('./objDisplay'); |
|||
|
|||
/*! |
|||
* Flag utility |
|||
*/ |
|||
|
|||
exports.flag = require('./flag'); |
|||
|
|||
/*! |
|||
* Flag transferring utility |
|||
*/ |
|||
|
|||
exports.transferFlags = require('./transferFlags'); |
|||
|
|||
/*! |
|||
* Deep equal utility |
|||
*/ |
|||
|
|||
exports.eql = require('deep-eql'); |
|||
|
|||
/*! |
|||
* Deep path info |
|||
*/ |
|||
|
|||
exports.getPathInfo = pathval.getPathInfo; |
|||
|
|||
/*! |
|||
* Check if a property exists |
|||
*/ |
|||
|
|||
exports.hasProperty = pathval.hasProperty; |
|||
|
|||
/*! |
|||
* Function name |
|||
*/ |
|||
|
|||
exports.getName = require('get-func-name'); |
|||
|
|||
/*! |
|||
* add Property |
|||
*/ |
|||
|
|||
exports.addProperty = require('./addProperty'); |
|||
|
|||
/*! |
|||
* add Method |
|||
*/ |
|||
|
|||
exports.addMethod = require('./addMethod'); |
|||
|
|||
/*! |
|||
* overwrite Property |
|||
*/ |
|||
|
|||
exports.overwriteProperty = require('./overwriteProperty'); |
|||
|
|||
/*! |
|||
* overwrite Method |
|||
*/ |
|||
|
|||
exports.overwriteMethod = require('./overwriteMethod'); |
|||
|
|||
/*! |
|||
* Add a chainable method |
|||
*/ |
|||
|
|||
exports.addChainableMethod = require('./addChainableMethod'); |
|||
|
|||
/*! |
|||
* Overwrite chainable method |
|||
*/ |
|||
|
|||
exports.overwriteChainableMethod = require('./overwriteChainableMethod'); |
|||
|
|||
/*! |
|||
* Compare by inspect method |
|||
*/ |
|||
|
|||
exports.compareByInspect = require('./compareByInspect'); |
|||
|
|||
/*! |
|||
* Get own enumerable property symbols method |
|||
*/ |
|||
|
|||
exports.getOwnEnumerablePropertySymbols = require('./getOwnEnumerablePropertySymbols'); |
|||
|
|||
/*! |
|||
* Get own enumerable properties method |
|||
*/ |
|||
|
|||
exports.getOwnEnumerableProperties = require('./getOwnEnumerableProperties'); |
|||
|
|||
/*! |
|||
* Checks error against a given set of criteria |
|||
*/ |
|||
|
|||
exports.checkError = require('check-error'); |
|||
|
|||
/*! |
|||
* Proxify util |
|||
*/ |
|||
|
|||
exports.proxify = require('./proxify'); |
|||
|
|||
/*! |
|||
* addLengthGuard util |
|||
*/ |
|||
|
|||
exports.addLengthGuard = require('./addLengthGuard'); |
|||
|
|||
/*! |
|||
* isProxyEnabled helper |
|||
*/ |
|||
|
|||
exports.isProxyEnabled = require('./isProxyEnabled'); |
|||
|
|||
/*! |
|||
* isNaN method |
|||
*/ |
|||
|
|||
exports.isNaN = require('./isNaN'); |
|||
@ -0,0 +1,376 @@ |
|||
// This is (almost) directly from Node.js utils
|
|||
// https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js
|
|||
|
|||
var getName = require('get-func-name'); |
|||
var getProperties = require('./getProperties'); |
|||
var getEnumerableProperties = require('./getEnumerableProperties'); |
|||
var config = require('../config'); |
|||
|
|||
module.exports = inspect; |
|||
|
|||
/** |
|||
* ### .inspect(obj, [showHidden], [depth], [colors]) |
|||
* |
|||
* Echoes the value of a value. Tries to print the value out |
|||
* in the best way possible given the different types. |
|||
* |
|||
* @param {Object} obj The object to print out. |
|||
* @param {Boolean} showHidden Flag that shows hidden (not enumerable) |
|||
* properties of objects. Default is false. |
|||
* @param {Number} depth Depth in which to descend in object. Default is 2. |
|||
* @param {Boolean} colors Flag to turn on ANSI escape codes to color the |
|||
* output. Default is false (no coloring). |
|||
* @namespace Utils |
|||
* @name inspect |
|||
*/ |
|||
function inspect(obj, showHidden, depth, colors) { |
|||
var ctx = { |
|||
showHidden: showHidden, |
|||
seen: [], |
|||
stylize: function (str) { return str; } |
|||
}; |
|||
return formatValue(ctx, obj, (typeof depth === 'undefined' ? 2 : depth)); |
|||
} |
|||
|
|||
// Returns true if object is a DOM element.
|
|||
var isDOMElement = function (object) { |
|||
if (typeof HTMLElement === 'object') { |
|||
return object instanceof HTMLElement; |
|||
} else { |
|||
return object && |
|||
typeof object === 'object' && |
|||
'nodeType' in object && |
|||
object.nodeType === 1 && |
|||
typeof object.nodeName === 'string'; |
|||
} |
|||
}; |
|||
|
|||
function formatValue(ctx, value, recurseTimes) { |
|||
// Provide a hook for user-specified inspect functions.
|
|||
// Check that value is an object with an inspect function on it
|
|||
if (value && typeof value.inspect === 'function' && |
|||
// Filter out the util module, it's inspect function is special
|
|||
value.inspect !== exports.inspect && |
|||
// Also filter out any prototype objects using the circular check.
|
|||
!(value.constructor && value.constructor.prototype === value)) { |
|||
var ret = value.inspect(recurseTimes, ctx); |
|||
if (typeof ret !== 'string') { |
|||
ret = formatValue(ctx, ret, recurseTimes); |
|||
} |
|||
return ret; |
|||
} |
|||
|
|||
// Primitive types cannot have properties
|
|||
var primitive = formatPrimitive(ctx, value); |
|||
if (primitive) { |
|||
return primitive; |
|||
} |
|||
|
|||
// If this is a DOM element, try to get the outer HTML.
|
|||
if (isDOMElement(value)) { |
|||
if ('outerHTML' in value) { |
|||
return value.outerHTML; |
|||
// This value does not have an outerHTML attribute,
|
|||
// it could still be an XML element
|
|||
} else { |
|||
// Attempt to serialize it
|
|||
try { |
|||
if (document.xmlVersion) { |
|||
var xmlSerializer = new XMLSerializer(); |
|||
return xmlSerializer.serializeToString(value); |
|||
} else { |
|||
// Firefox 11- do not support outerHTML
|
|||
// It does, however, support innerHTML
|
|||
// Use the following to render the element
|
|||
var ns = "http://www.w3.org/1999/xhtml"; |
|||
var container = document.createElementNS(ns, '_'); |
|||
|
|||
container.appendChild(value.cloneNode(false)); |
|||
var html = container.innerHTML |
|||
.replace('><', '>' + value.innerHTML + '<'); |
|||
container.innerHTML = ''; |
|||
return html; |
|||
} |
|||
} catch (err) { |
|||
// This could be a non-native DOM implementation,
|
|||
// continue with the normal flow:
|
|||
// printing the element as if it is an object.
|
|||
} |
|||
} |
|||
} |
|||
|
|||
// Look up the keys of the object.
|
|||
var visibleKeys = getEnumerableProperties(value); |
|||
var keys = ctx.showHidden ? getProperties(value) : visibleKeys; |
|||
|
|||
var name, nameSuffix; |
|||
|
|||
// Some type of object without properties can be shortcut.
|
|||
// In IE, errors have a single `stack` property, or if they are vanilla `Error`,
|
|||
// a `stack` plus `description` property; ignore those for consistency.
|
|||
if (keys.length === 0 || (isError(value) && ( |
|||
(keys.length === 1 && keys[0] === 'stack') || |
|||
(keys.length === 2 && keys[0] === 'description' && keys[1] === 'stack') |
|||
))) { |
|||
if (typeof value === 'function') { |
|||
name = getName(value); |
|||
nameSuffix = name ? ': ' + name : ''; |
|||
return ctx.stylize('[Function' + nameSuffix + ']', 'special'); |
|||
} |
|||
if (isRegExp(value)) { |
|||
return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); |
|||
} |
|||
if (isDate(value)) { |
|||
return ctx.stylize(Date.prototype.toUTCString.call(value), 'date'); |
|||
} |
|||
if (isError(value)) { |
|||
return formatError(value); |
|||
} |
|||
} |
|||
|
|||
var base = '' |
|||
, array = false |
|||
, typedArray = false |
|||
, braces = ['{', '}']; |
|||
|
|||
if (isTypedArray(value)) { |
|||
typedArray = true; |
|||
braces = ['[', ']']; |
|||
} |
|||
|
|||
// Make Array say that they are Array
|
|||
if (isArray(value)) { |
|||
array = true; |
|||
braces = ['[', ']']; |
|||
} |
|||
|
|||
// Make functions say that they are functions
|
|||
if (typeof value === 'function') { |
|||
name = getName(value); |
|||
nameSuffix = name ? ': ' + name : ''; |
|||
base = ' [Function' + nameSuffix + ']'; |
|||
} |
|||
|
|||
// Make RegExps say that they are RegExps
|
|||
if (isRegExp(value)) { |
|||
base = ' ' + RegExp.prototype.toString.call(value); |
|||
} |
|||
|
|||
// Make dates with properties first say the date
|
|||
if (isDate(value)) { |
|||
base = ' ' + Date.prototype.toUTCString.call(value); |
|||
} |
|||
|
|||
// Make error with message first say the error
|
|||
if (isError(value)) { |
|||
return formatError(value); |
|||
} |
|||
|
|||
if (keys.length === 0 && (!array || value.length == 0)) { |
|||
return braces[0] + base + braces[1]; |
|||
} |
|||
|
|||
if (recurseTimes < 0) { |
|||
if (isRegExp(value)) { |
|||
return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); |
|||
} else { |
|||
return ctx.stylize('[Object]', 'special'); |
|||
} |
|||
} |
|||
|
|||
ctx.seen.push(value); |
|||
|
|||
var output; |
|||
if (array) { |
|||
output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); |
|||
} else if (typedArray) { |
|||
return formatTypedArray(value); |
|||
} else { |
|||
output = keys.map(function(key) { |
|||
return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); |
|||
}); |
|||
} |
|||
|
|||
ctx.seen.pop(); |
|||
|
|||
return reduceToSingleString(output, base, braces); |
|||
} |
|||
|
|||
function formatPrimitive(ctx, value) { |
|||
switch (typeof value) { |
|||
case 'undefined': |
|||
return ctx.stylize('undefined', 'undefined'); |
|||
|
|||
case 'string': |
|||
var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') |
|||
.replace(/'/g, "\\'") |
|||
.replace(/\\"/g, '"') + '\''; |
|||
return ctx.stylize(simple, 'string'); |
|||
|
|||
case 'number': |
|||
if (value === 0 && (1/value) === -Infinity) { |
|||
return ctx.stylize('-0', 'number'); |
|||
} |
|||
return ctx.stylize('' + value, 'number'); |
|||
|
|||
case 'boolean': |
|||
return ctx.stylize('' + value, 'boolean'); |
|||
|
|||
case 'symbol': |
|||
return ctx.stylize(value.toString(), 'symbol'); |
|||
} |
|||
// For some reason typeof null is "object", so special case here.
|
|||
if (value === null) { |
|||
return ctx.stylize('null', 'null'); |
|||
} |
|||
} |
|||
|
|||
function formatError(value) { |
|||
return '[' + Error.prototype.toString.call(value) + ']'; |
|||
} |
|||
|
|||
function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { |
|||
var output = []; |
|||
for (var i = 0, l = value.length; i < l; ++i) { |
|||
if (Object.prototype.hasOwnProperty.call(value, String(i))) { |
|||
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, |
|||
String(i), true)); |
|||
} else { |
|||
output.push(''); |
|||
} |
|||
} |
|||
|
|||
keys.forEach(function(key) { |
|||
if (!key.match(/^\d+$/)) { |
|||
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, |
|||
key, true)); |
|||
} |
|||
}); |
|||
return output; |
|||
} |
|||
|
|||
function formatTypedArray(value) { |
|||
var str = '[ '; |
|||
|
|||
for (var i = 0; i < value.length; ++i) { |
|||
if (str.length >= config.truncateThreshold - 7) { |
|||
str += '...'; |
|||
break; |
|||
} |
|||
str += value[i] + ', '; |
|||
} |
|||
str += ' ]'; |
|||
|
|||
// Removing trailing `, ` if the array was not truncated
|
|||
if (str.indexOf(', ]') !== -1) { |
|||
str = str.replace(', ]', ' ]'); |
|||
} |
|||
|
|||
return str; |
|||
} |
|||
|
|||
function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { |
|||
var name; |
|||
var propDescriptor = Object.getOwnPropertyDescriptor(value, key); |
|||
var str; |
|||
|
|||
if (propDescriptor) { |
|||
if (propDescriptor.get) { |
|||
if (propDescriptor.set) { |
|||
str = ctx.stylize('[Getter/Setter]', 'special'); |
|||
} else { |
|||
str = ctx.stylize('[Getter]', 'special'); |
|||
} |
|||
} else { |
|||
if (propDescriptor.set) { |
|||
str = ctx.stylize('[Setter]', 'special'); |
|||
} |
|||
} |
|||
} |
|||
if (visibleKeys.indexOf(key) < 0) { |
|||
name = '[' + key + ']'; |
|||
} |
|||
if (!str) { |
|||
if (ctx.seen.indexOf(value[key]) < 0) { |
|||
if (recurseTimes === null) { |
|||
str = formatValue(ctx, value[key], null); |
|||
} else { |
|||
str = formatValue(ctx, value[key], recurseTimes - 1); |
|||
} |
|||
if (str.indexOf('\n') > -1) { |
|||
if (array) { |
|||
str = str.split('\n').map(function(line) { |
|||
return ' ' + line; |
|||
}).join('\n').substr(2); |
|||
} else { |
|||
str = '\n' + str.split('\n').map(function(line) { |
|||
return ' ' + line; |
|||
}).join('\n'); |
|||
} |
|||
} |
|||
} else { |
|||
str = ctx.stylize('[Circular]', 'special'); |
|||
} |
|||
} |
|||
if (typeof name === 'undefined') { |
|||
if (array && key.match(/^\d+$/)) { |
|||
return str; |
|||
} |
|||
name = JSON.stringify('' + key); |
|||
if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { |
|||
name = name.substr(1, name.length - 2); |
|||
name = ctx.stylize(name, 'name'); |
|||
} else { |
|||
name = name.replace(/'/g, "\\'") |
|||
.replace(/\\"/g, '"') |
|||
.replace(/(^"|"$)/g, "'"); |
|||
name = ctx.stylize(name, 'string'); |
|||
} |
|||
} |
|||
|
|||
return name + ': ' + str; |
|||
} |
|||
|
|||
function reduceToSingleString(output, base, braces) { |
|||
var length = output.reduce(function(prev, cur) { |
|||
return prev + cur.length + 1; |
|||
}, 0); |
|||
|
|||
if (length > 60) { |
|||
return braces[0] + |
|||
(base === '' ? '' : base + '\n ') + |
|||
' ' + |
|||
output.join(',\n ') + |
|||
' ' + |
|||
braces[1]; |
|||
} |
|||
|
|||
return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; |
|||
} |
|||
|
|||
function isTypedArray(ar) { |
|||
// Unfortunately there's no way to check if an object is a TypedArray
|
|||
// We have to check if it's one of these types
|
|||
return (typeof ar === 'object' && /\w+Array]$/.test(objectToString(ar))); |
|||
} |
|||
|
|||
function isArray(ar) { |
|||
return Array.isArray(ar) || |
|||
(typeof ar === 'object' && objectToString(ar) === '[object Array]'); |
|||
} |
|||
|
|||
function isRegExp(re) { |
|||
return typeof re === 'object' && objectToString(re) === '[object RegExp]'; |
|||
} |
|||
|
|||
function isDate(d) { |
|||
return typeof d === 'object' && objectToString(d) === '[object Date]'; |
|||
} |
|||
|
|||
function isError(e) { |
|||
return typeof e === 'object' && objectToString(e) === '[object Error]'; |
|||
} |
|||
|
|||
function objectToString(o) { |
|||
return Object.prototype.toString.call(o); |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
/*! |
|||
* Chai - isNaN utility |
|||
* Copyright(c) 2012-2015 Sakthipriyan Vairamani <thechargingvolcano@gmail.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .isNaN(value) |
|||
* |
|||
* Checks if the given value is NaN or not. |
|||
* |
|||
* utils.isNaN(NaN); // true
|
|||
* |
|||
* @param {Value} The value which has to be checked if it is NaN |
|||
* @name isNaN |
|||
* @api private |
|||
*/ |
|||
|
|||
function isNaN(value) { |
|||
// Refer http://www.ecma-international.org/ecma-262/6.0/#sec-isnan-number
|
|||
// section's NOTE.
|
|||
return value !== value; |
|||
} |
|||
|
|||
// If ECMAScript 6's Number.isNaN is present, prefer that.
|
|||
module.exports = Number.isNaN || isNaN; |
|||
@ -0,0 +1,24 @@ |
|||
var config = require('../config'); |
|||
|
|||
/*! |
|||
* Chai - isProxyEnabled helper |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .isProxyEnabled() |
|||
* |
|||
* Helper function to check if Chai's proxy protection feature is enabled. If |
|||
* proxies are unsupported or disabled via the user's Chai config, then return |
|||
* false. Otherwise, return true. |
|||
* |
|||
* @namespace Utils |
|||
* @name isProxyEnabled |
|||
*/ |
|||
|
|||
module.exports = function isProxyEnabled() { |
|||
return config.useProxy && |
|||
typeof Proxy !== 'undefined' && |
|||
typeof Reflect !== 'undefined'; |
|||
}; |
|||
@ -0,0 +1,50 @@ |
|||
/*! |
|||
* Chai - flag utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/*! |
|||
* Module dependencies |
|||
*/ |
|||
|
|||
var inspect = require('./inspect'); |
|||
var config = require('../config'); |
|||
|
|||
/** |
|||
* ### .objDisplay(object) |
|||
* |
|||
* Determines if an object or an array matches |
|||
* criteria to be inspected in-line for error |
|||
* messages or should be truncated. |
|||
* |
|||
* @param {Mixed} javascript object to inspect |
|||
* @name objDisplay |
|||
* @namespace Utils |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function objDisplay(obj) { |
|||
var str = inspect(obj) |
|||
, type = Object.prototype.toString.call(obj); |
|||
|
|||
if (config.truncateThreshold && str.length >= config.truncateThreshold) { |
|||
if (type === '[object Function]') { |
|||
return !obj.name || obj.name === '' |
|||
? '[Function]' |
|||
: '[Function: ' + obj.name + ']'; |
|||
} else if (type === '[object Array]') { |
|||
return '[ Array(' + obj.length + ') ]'; |
|||
} else if (type === '[object Object]') { |
|||
var keys = Object.keys(obj) |
|||
, kstr = keys.length > 2 |
|||
? keys.splice(0, 2).join(', ') + ', ...' |
|||
: keys.join(', '); |
|||
return '{ Object (' + kstr + ') }'; |
|||
} else { |
|||
return str; |
|||
} |
|||
} else { |
|||
return str; |
|||
} |
|||
}; |
|||
@ -0,0 +1,69 @@ |
|||
/*! |
|||
* Chai - overwriteChainableMethod utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
var chai = require('../../chai'); |
|||
var transferFlags = require('./transferFlags'); |
|||
|
|||
/** |
|||
* ### .overwriteChainableMethod(ctx, name, method, chainingBehavior) |
|||
* |
|||
* Overwrites an already existing chainable method |
|||
* and provides access to the previous function or |
|||
* property. Must return functions to be used for |
|||
* name. |
|||
* |
|||
* utils.overwriteChainableMethod(chai.Assertion.prototype, 'lengthOf', |
|||
* function (_super) { |
|||
* } |
|||
* , function (_super) { |
|||
* } |
|||
* ); |
|||
* |
|||
* Can also be accessed directly from `chai.Assertion`. |
|||
* |
|||
* chai.Assertion.overwriteChainableMethod('foo', fn, fn); |
|||
* |
|||
* Then can be used as any other assertion. |
|||
* |
|||
* expect(myFoo).to.have.lengthOf(3); |
|||
* expect(myFoo).to.have.lengthOf.above(3); |
|||
* |
|||
* @param {Object} ctx object whose method / property is to be overwritten |
|||
* @param {String} name of method / property to overwrite |
|||
* @param {Function} method function that returns a function to be used for name |
|||
* @param {Function} chainingBehavior function that returns a function to be used for property |
|||
* @namespace Utils |
|||
* @name overwriteChainableMethod |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function overwriteChainableMethod(ctx, name, method, chainingBehavior) { |
|||
var chainableBehavior = ctx.__methods[name]; |
|||
|
|||
var _chainingBehavior = chainableBehavior.chainingBehavior; |
|||
chainableBehavior.chainingBehavior = function overwritingChainableMethodGetter() { |
|||
var result = chainingBehavior(_chainingBehavior).call(this); |
|||
if (result !== undefined) { |
|||
return result; |
|||
} |
|||
|
|||
var newAssertion = new chai.Assertion(); |
|||
transferFlags(this, newAssertion); |
|||
return newAssertion; |
|||
}; |
|||
|
|||
var _method = chainableBehavior.method; |
|||
chainableBehavior.method = function overwritingChainableMethodWrapper() { |
|||
var result = method(_method).apply(this, arguments); |
|||
if (result !== undefined) { |
|||
return result; |
|||
} |
|||
|
|||
var newAssertion = new chai.Assertion(); |
|||
transferFlags(this, newAssertion); |
|||
return newAssertion; |
|||
}; |
|||
}; |
|||
@ -0,0 +1,92 @@ |
|||
/*! |
|||
* Chai - overwriteMethod utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
var addLengthGuard = require('./addLengthGuard'); |
|||
var chai = require('../../chai'); |
|||
var flag = require('./flag'); |
|||
var proxify = require('./proxify'); |
|||
var transferFlags = require('./transferFlags'); |
|||
|
|||
/** |
|||
* ### .overwriteMethod(ctx, name, fn) |
|||
* |
|||
* Overwrites an already existing method and provides |
|||
* access to previous function. Must return function |
|||
* to be used for name. |
|||
* |
|||
* utils.overwriteMethod(chai.Assertion.prototype, 'equal', function (_super) { |
|||
* return function (str) { |
|||
* var obj = utils.flag(this, 'object'); |
|||
* if (obj instanceof Foo) { |
|||
* new chai.Assertion(obj.value).to.equal(str); |
|||
* } else { |
|||
* _super.apply(this, arguments); |
|||
* } |
|||
* } |
|||
* }); |
|||
* |
|||
* Can also be accessed directly from `chai.Assertion`. |
|||
* |
|||
* chai.Assertion.overwriteMethod('foo', fn); |
|||
* |
|||
* Then can be used as any other assertion. |
|||
* |
|||
* expect(myFoo).to.equal('bar'); |
|||
* |
|||
* @param {Object} ctx object whose method is to be overwritten |
|||
* @param {String} name of method to overwrite |
|||
* @param {Function} method function that returns a function to be used for name |
|||
* @namespace Utils |
|||
* @name overwriteMethod |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function overwriteMethod(ctx, name, method) { |
|||
var _method = ctx[name] |
|||
, _super = function () { |
|||
throw new Error(name + ' is not a function'); |
|||
}; |
|||
|
|||
if (_method && 'function' === typeof _method) |
|||
_super = _method; |
|||
|
|||
var overwritingMethodWrapper = function () { |
|||
// Setting the `ssfi` flag to `overwritingMethodWrapper` causes this
|
|||
// function to be the starting point for removing implementation frames from
|
|||
// the stack trace of a failed assertion.
|
|||
//
|
|||
// However, we only want to use this function as the starting point if the
|
|||
// `lockSsfi` flag isn't set.
|
|||
//
|
|||
// If the `lockSsfi` flag is set, then either this assertion has been
|
|||
// overwritten by another assertion, or this assertion is being invoked from
|
|||
// inside of another assertion. In the first case, the `ssfi` flag has
|
|||
// already been set by the overwriting assertion. In the second case, the
|
|||
// `ssfi` flag has already been set by the outer assertion.
|
|||
if (!flag(this, 'lockSsfi')) { |
|||
flag(this, 'ssfi', overwritingMethodWrapper); |
|||
} |
|||
|
|||
// Setting the `lockSsfi` flag to `true` prevents the overwritten assertion
|
|||
// from changing the `ssfi` flag. By this point, the `ssfi` flag is already
|
|||
// set to the correct starting point for this assertion.
|
|||
var origLockSsfi = flag(this, 'lockSsfi'); |
|||
flag(this, 'lockSsfi', true); |
|||
var result = method(_super).apply(this, arguments); |
|||
flag(this, 'lockSsfi', origLockSsfi); |
|||
|
|||
if (result !== undefined) { |
|||
return result; |
|||
} |
|||
|
|||
var newAssertion = new chai.Assertion(); |
|||
transferFlags(this, newAssertion); |
|||
return newAssertion; |
|||
} |
|||
|
|||
addLengthGuard(overwritingMethodWrapper, name, false); |
|||
ctx[name] = proxify(overwritingMethodWrapper, name); |
|||
}; |
|||
@ -0,0 +1,92 @@ |
|||
/*! |
|||
* Chai - overwriteProperty utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
var chai = require('../../chai'); |
|||
var flag = require('./flag'); |
|||
var isProxyEnabled = require('./isProxyEnabled'); |
|||
var transferFlags = require('./transferFlags'); |
|||
|
|||
/** |
|||
* ### .overwriteProperty(ctx, name, fn) |
|||
* |
|||
* Overwrites an already existing property getter and provides |
|||
* access to previous value. Must return function to use as getter. |
|||
* |
|||
* utils.overwriteProperty(chai.Assertion.prototype, 'ok', function (_super) { |
|||
* return function () { |
|||
* var obj = utils.flag(this, 'object'); |
|||
* if (obj instanceof Foo) { |
|||
* new chai.Assertion(obj.name).to.equal('bar'); |
|||
* } else { |
|||
* _super.call(this); |
|||
* } |
|||
* } |
|||
* }); |
|||
* |
|||
* |
|||
* Can also be accessed directly from `chai.Assertion`. |
|||
* |
|||
* chai.Assertion.overwriteProperty('foo', fn); |
|||
* |
|||
* Then can be used as any other assertion. |
|||
* |
|||
* expect(myFoo).to.be.ok; |
|||
* |
|||
* @param {Object} ctx object whose property is to be overwritten |
|||
* @param {String} name of property to overwrite |
|||
* @param {Function} getter function that returns a getter function to be used for name |
|||
* @namespace Utils |
|||
* @name overwriteProperty |
|||
* @api public |
|||
*/ |
|||
|
|||
module.exports = function overwriteProperty(ctx, name, getter) { |
|||
var _get = Object.getOwnPropertyDescriptor(ctx, name) |
|||
, _super = function () {}; |
|||
|
|||
if (_get && 'function' === typeof _get.get) |
|||
_super = _get.get |
|||
|
|||
Object.defineProperty(ctx, name, |
|||
{ get: function overwritingPropertyGetter() { |
|||
// Setting the `ssfi` flag to `overwritingPropertyGetter` causes this
|
|||
// function to be the starting point for removing implementation frames
|
|||
// from the stack trace of a failed assertion.
|
|||
//
|
|||
// However, we only want to use this function as the starting point if
|
|||
// the `lockSsfi` flag isn't set and proxy protection is disabled.
|
|||
//
|
|||
// If the `lockSsfi` flag is set, then either this assertion has been
|
|||
// overwritten by another assertion, or this assertion is being invoked
|
|||
// from inside of another assertion. In the first case, the `ssfi` flag
|
|||
// has already been set by the overwriting assertion. In the second
|
|||
// case, the `ssfi` flag has already been set by the outer assertion.
|
|||
//
|
|||
// If proxy protection is enabled, then the `ssfi` flag has already been
|
|||
// set by the proxy getter.
|
|||
if (!isProxyEnabled() && !flag(this, 'lockSsfi')) { |
|||
flag(this, 'ssfi', overwritingPropertyGetter); |
|||
} |
|||
|
|||
// Setting the `lockSsfi` flag to `true` prevents the overwritten
|
|||
// assertion from changing the `ssfi` flag. By this point, the `ssfi`
|
|||
// flag is already set to the correct starting point for this assertion.
|
|||
var origLockSsfi = flag(this, 'lockSsfi'); |
|||
flag(this, 'lockSsfi', true); |
|||
var result = getter(_super).call(this); |
|||
flag(this, 'lockSsfi', origLockSsfi); |
|||
|
|||
if (result !== undefined) { |
|||
return result; |
|||
} |
|||
|
|||
var newAssertion = new chai.Assertion(); |
|||
transferFlags(this, newAssertion); |
|||
return newAssertion; |
|||
} |
|||
, configurable: true |
|||
}); |
|||
}; |
|||
@ -0,0 +1,147 @@ |
|||
var config = require('../config'); |
|||
var flag = require('./flag'); |
|||
var getProperties = require('./getProperties'); |
|||
var isProxyEnabled = require('./isProxyEnabled'); |
|||
|
|||
/*! |
|||
* Chai - proxify utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .proxify(object) |
|||
* |
|||
* Return a proxy of given object that throws an error when a non-existent |
|||
* property is read. By default, the root cause is assumed to be a misspelled |
|||
* property, and thus an attempt is made to offer a reasonable suggestion from |
|||
* the list of existing properties. However, if a nonChainableMethodName is |
|||
* provided, then the root cause is instead a failure to invoke a non-chainable |
|||
* method prior to reading the non-existent property. |
|||
* |
|||
* If proxies are unsupported or disabled via the user's Chai config, then |
|||
* return object without modification. |
|||
* |
|||
* @param {Object} obj |
|||
* @param {String} nonChainableMethodName |
|||
* @namespace Utils |
|||
* @name proxify |
|||
*/ |
|||
|
|||
var builtins = ['__flags', '__methods', '_obj', 'assert']; |
|||
|
|||
module.exports = function proxify(obj, nonChainableMethodName) { |
|||
if (!isProxyEnabled()) return obj; |
|||
|
|||
return new Proxy(obj, { |
|||
get: function proxyGetter(target, property) { |
|||
// This check is here because we should not throw errors on Symbol properties
|
|||
// such as `Symbol.toStringTag`.
|
|||
// The values for which an error should be thrown can be configured using
|
|||
// the `config.proxyExcludedKeys` setting.
|
|||
if (typeof property === 'string' && |
|||
config.proxyExcludedKeys.indexOf(property) === -1 && |
|||
!Reflect.has(target, property)) { |
|||
// Special message for invalid property access of non-chainable methods.
|
|||
if (nonChainableMethodName) { |
|||
throw Error('Invalid Chai property: ' + nonChainableMethodName + '.' + |
|||
property + '. See docs for proper usage of "' + |
|||
nonChainableMethodName + '".'); |
|||
} |
|||
|
|||
// If the property is reasonably close to an existing Chai property,
|
|||
// suggest that property to the user. Only suggest properties with a
|
|||
// distance less than 4.
|
|||
var suggestion = null; |
|||
var suggestionDistance = 4; |
|||
getProperties(target).forEach(function(prop) { |
|||
if ( |
|||
!Object.prototype.hasOwnProperty(prop) && |
|||
builtins.indexOf(prop) === -1 |
|||
) { |
|||
var dist = stringDistanceCapped( |
|||
property, |
|||
prop, |
|||
suggestionDistance |
|||
); |
|||
if (dist < suggestionDistance) { |
|||
suggestion = prop; |
|||
suggestionDistance = dist; |
|||
} |
|||
} |
|||
}); |
|||
|
|||
if (suggestion !== null) { |
|||
throw Error('Invalid Chai property: ' + property + |
|||
'. Did you mean "' + suggestion + '"?'); |
|||
} else { |
|||
throw Error('Invalid Chai property: ' + property); |
|||
} |
|||
} |
|||
|
|||
// Use this proxy getter as the starting point for removing implementation
|
|||
// frames from the stack trace of a failed assertion. For property
|
|||
// assertions, this prevents the proxy getter from showing up in the stack
|
|||
// trace since it's invoked before the property getter. For method and
|
|||
// chainable method assertions, this flag will end up getting changed to
|
|||
// the method wrapper, which is good since this frame will no longer be in
|
|||
// the stack once the method is invoked. Note that Chai builtin assertion
|
|||
// properties such as `__flags` are skipped since this is only meant to
|
|||
// capture the starting point of an assertion. This step is also skipped
|
|||
// if the `lockSsfi` flag is set, thus indicating that this assertion is
|
|||
// being called from within another assertion. In that case, the `ssfi`
|
|||
// flag is already set to the outer assertion's starting point.
|
|||
if (builtins.indexOf(property) === -1 && !flag(target, 'lockSsfi')) { |
|||
flag(target, 'ssfi', proxyGetter); |
|||
} |
|||
|
|||
return Reflect.get(target, property); |
|||
} |
|||
}); |
|||
}; |
|||
|
|||
/** |
|||
* # stringDistanceCapped(strA, strB, cap) |
|||
* Return the Levenshtein distance between two strings, but no more than cap. |
|||
* @param {string} strA |
|||
* @param {string} strB |
|||
* @param {number} number |
|||
* @return {number} min(string distance between strA and strB, cap) |
|||
* @api private |
|||
*/ |
|||
|
|||
function stringDistanceCapped(strA, strB, cap) { |
|||
if (Math.abs(strA.length - strB.length) >= cap) { |
|||
return cap; |
|||
} |
|||
|
|||
var memo = []; |
|||
// `memo` is a two-dimensional array containing distances.
|
|||
// memo[i][j] is the distance between strA.slice(0, i) and
|
|||
// strB.slice(0, j).
|
|||
for (var i = 0; i <= strA.length; i++) { |
|||
memo[i] = Array(strB.length + 1).fill(0); |
|||
memo[i][0] = i; |
|||
} |
|||
for (var j = 0; j < strB.length; j++) { |
|||
memo[0][j] = j; |
|||
} |
|||
|
|||
for (var i = 1; i <= strA.length; i++) { |
|||
var ch = strA.charCodeAt(i - 1); |
|||
for (var j = 1; j <= strB.length; j++) { |
|||
if (Math.abs(i - j) >= cap) { |
|||
memo[i][j] = cap; |
|||
continue; |
|||
} |
|||
memo[i][j] = Math.min( |
|||
memo[i - 1][j] + 1, |
|||
memo[i][j - 1] + 1, |
|||
memo[i - 1][j - 1] + |
|||
(ch === strB.charCodeAt(j - 1) ? 0 : 1) |
|||
); |
|||
} |
|||
} |
|||
|
|||
return memo[strA.length][strB.length]; |
|||
} |
|||
@ -0,0 +1,28 @@ |
|||
/*! |
|||
* Chai - test utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/*! |
|||
* Module dependencies |
|||
*/ |
|||
|
|||
var flag = require('./flag'); |
|||
|
|||
/** |
|||
* ### .test(object, expression) |
|||
* |
|||
* Test and object for expression. |
|||
* |
|||
* @param {Object} object (constructed Assertion) |
|||
* @param {Arguments} chai.Assertion.prototype.assert arguments |
|||
* @namespace Utils |
|||
* @name test |
|||
*/ |
|||
|
|||
module.exports = function test(obj, args) { |
|||
var negate = flag(obj, 'negate') |
|||
, expr = args[0]; |
|||
return negate ? !expr : expr; |
|||
}; |
|||
@ -0,0 +1,45 @@ |
|||
/*! |
|||
* Chai - transferFlags utility |
|||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> |
|||
* MIT Licensed |
|||
*/ |
|||
|
|||
/** |
|||
* ### .transferFlags(assertion, object, includeAll = true) |
|||
* |
|||
* Transfer all the flags for `assertion` to `object`. If |
|||
* `includeAll` is set to `false`, then the base Chai |
|||
* assertion flags (namely `object`, `ssfi`, `lockSsfi`, |
|||
* and `message`) will not be transferred. |
|||
* |
|||
* |
|||
* var newAssertion = new Assertion(); |
|||
* utils.transferFlags(assertion, newAssertion); |
|||
* |
|||
* var anotherAssertion = new Assertion(myObj); |
|||
* utils.transferFlags(assertion, anotherAssertion, false); |
|||
* |
|||
* @param {Assertion} assertion the assertion to transfer the flags from |
|||
* @param {Object} object the object to transfer the flags to; usually a new assertion |
|||
* @param {Boolean} includeAll |
|||
* @namespace Utils |
|||
* @name transferFlags |
|||
* @api private |
|||
*/ |
|||
|
|||
module.exports = function transferFlags(assertion, object, includeAll) { |
|||
var flags = assertion.__flags || (assertion.__flags = Object.create(null)); |
|||
|
|||
if (!object.__flags) { |
|||
object.__flags = Object.create(null); |
|||
} |
|||
|
|||
includeAll = arguments.length === 3 ? includeAll : true; |
|||
|
|||
for (var flag in flags) { |
|||
if (includeAll || |
|||
(flag !== 'object' && flag !== 'ssfi' && flag !== 'lockSsfi' && flag != 'message')) { |
|||
object.__flags[flag] = flags[flag]; |
|||
} |
|||
} |
|||
}; |
|||
@ -0,0 +1,100 @@ |
|||
{ |
|||
"_args": [ |
|||
[ |
|||
"chai@4.2.0", |
|||
"/home/osboxes/Desktop/angular/angjs-requirejs" |
|||
] |
|||
], |
|||
"_development": true, |
|||
"_from": "chai@4.2.0", |
|||
"_id": "chai@4.2.0", |
|||
"_inBundle": false, |
|||
"_integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", |
|||
"_location": "/chai", |
|||
"_phantomChildren": {}, |
|||
"_requested": { |
|||
"type": "version", |
|||
"registry": true, |
|||
"raw": "chai@4.2.0", |
|||
"name": "chai", |
|||
"escapedName": "chai", |
|||
"rawSpec": "4.2.0", |
|||
"saveSpec": null, |
|||
"fetchSpec": "4.2.0" |
|||
}, |
|||
"_requiredBy": [ |
|||
"#DEV:/" |
|||
], |
|||
"_resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", |
|||
"_spec": "4.2.0", |
|||
"_where": "/home/osboxes/Desktop/angular/angjs-requirejs", |
|||
"author": { |
|||
"name": "Jake Luer", |
|||
"email": "jake@alogicalparadox.com" |
|||
}, |
|||
"bugs": { |
|||
"url": "https://github.com/chaijs/chai/issues" |
|||
}, |
|||
"contributors": [ |
|||
{ |
|||
"name": "Jake Luer", |
|||
"email": "jake@alogicalparadox.com" |
|||
}, |
|||
{ |
|||
"name": "Domenic Denicola", |
|||
"email": "domenic@domenicdenicola.com", |
|||
"url": "http://domenicdenicola.com" |
|||
}, |
|||
{ |
|||
"name": "Veselin Todorov", |
|||
"email": "hi@vesln.com" |
|||
}, |
|||
{ |
|||
"name": "John Firebaugh", |
|||
"email": "john.firebaugh@gmail.com" |
|||
} |
|||
], |
|||
"dependencies": { |
|||
"assertion-error": "^1.1.0", |
|||
"check-error": "^1.0.2", |
|||
"deep-eql": "^3.0.1", |
|||
"get-func-name": "^2.0.0", |
|||
"pathval": "^1.1.0", |
|||
"type-detect": "^4.0.5" |
|||
}, |
|||
"description": "BDD/TDD assertion library for node.js and the browser. Test framework agnostic.", |
|||
"devDependencies": { |
|||
"browserify": "^16.0.0", |
|||
"bump-cli": "^1.1.3", |
|||
"codecov": "^3.0.0", |
|||
"istanbul": "^0.4.3", |
|||
"karma": "^2.0.0", |
|||
"karma-firefox-launcher": "^1.0.0", |
|||
"karma-mocha": "^1.0.1", |
|||
"karma-phantomjs-launcher": "^1.0.0", |
|||
"karma-sauce-launcher": "^1.2.0", |
|||
"mocha": "^5.0.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">=4" |
|||
}, |
|||
"homepage": "http://chaijs.com", |
|||
"keywords": [ |
|||
"test", |
|||
"assertion", |
|||
"assert", |
|||
"testing", |
|||
"chai" |
|||
], |
|||
"license": "MIT", |
|||
"main": "./index", |
|||
"name": "chai", |
|||
"repository": { |
|||
"type": "git", |
|||
"url": "git+https://github.com/chaijs/chai.git" |
|||
}, |
|||
"scripts": { |
|||
"test": "make test" |
|||
}, |
|||
"version": "4.2.0" |
|||
} |
|||
@ -0,0 +1 @@ |
|||
global.assert = require('./').assert; |
|||
@ -0,0 +1 @@ |
|||
global.expect = require('./').expect; |
|||
@ -0,0 +1 @@ |
|||
global.should = require('./').should(); |
|||
@ -0,0 +1,102 @@ |
|||
|
|||
/*! |
|||
* Chrome |
|||
*/ |
|||
|
|||
exports['SL_Chrome'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'chrome' |
|||
}; |
|||
|
|||
/*! |
|||
* Firefox |
|||
*/ |
|||
|
|||
exports['SL_Firefox'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'firefox' |
|||
}; |
|||
|
|||
exports['SL_Firefox_ESR'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'firefox' |
|||
, version: 38 |
|||
}; |
|||
|
|||
/*! |
|||
* Internet Explorer |
|||
*/ |
|||
|
|||
exports['SL_IE'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'internet explorer' |
|||
}; |
|||
|
|||
exports['SL_IE_Old'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'internet explorer' |
|||
, version: 10 |
|||
}; |
|||
|
|||
exports['SL_Edge'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'microsoftedge' |
|||
}; |
|||
|
|||
/*! |
|||
* Safari |
|||
*/ |
|||
|
|||
exports['SL_Safari'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'safari' |
|||
, platform: 'Mac 10.11' |
|||
}; |
|||
|
|||
/*! |
|||
* iPhone |
|||
*/ |
|||
|
|||
/*! |
|||
* TODO: These take forever to boot or shut down. Causes timeout. |
|||
* |
|||
|
|||
exports['SL_iPhone_6'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'iphone' |
|||
, platform: 'Mac 10.8' |
|||
, version: '6' |
|||
}; |
|||
|
|||
exports['SL_iPhone_5-1'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'iphone' |
|||
, platform: 'Mac 10.8' |
|||
, version: '5.1' |
|||
}; |
|||
|
|||
exports['SL_iPhone_5'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'iphone' |
|||
, platform: 'Mac 10.6' |
|||
, version: '5' |
|||
}; |
|||
|
|||
*/ |
|||
|
|||
/*! |
|||
* Android |
|||
*/ |
|||
|
|||
/*! |
|||
* TODO: fails because of error serialization |
|||
* |
|||
|
|||
exports['SL_Android_4'] = { |
|||
base: 'SauceLabs' |
|||
, browserName: 'android' |
|||
, platform: 'Linux' |
|||
, version: '4' |
|||
}; |
|||
|
|||
*/ |
|||
1711
angjs2/lib/mocha/CHANGELOG.md
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,22 @@ |
|||
(The MIT License) |
|||
|
|||
Copyright (c) 2011-2017 JS Foundation and contributors, https://js.foundation |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining |
|||
a copy of this software and associated documentation files (the |
|||
'Software'), to deal in the Software without restriction, including |
|||
without limitation the rights to use, copy, modify, merge, publish, |
|||
distribute, sublicense, and/or sell copies of the Software, and to |
|||
permit persons to whom the Software is furnished to do so, subject to |
|||
the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be |
|||
included in all copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, |
|||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
|||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
|||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
|||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
|||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|||
@ -0,0 +1,124 @@ |
|||
# Mocha needs YOU! |
|||
|
|||
*Did you know* Mocha [is a dependency of over 100,000 projects](https://libraries.io/npm/mocha) published to npm alone? |
|||
|
|||
**Despite this, we're currently unable to merge most pull requests due to lack of maintenance resources.** |
|||
|
|||
**Are you interested in triaging issues or reviewing open PRs? Have some time to hack on its codebase?** If you would like to help maintain Mocha, please contact `@boneskull` on [Gitter](https://gitter.im/mochajs/mocha). |
|||
|
|||
*Thank you* :kissing_heart: to all of you interested in helping. These are Mocha's immediate needs: |
|||
|
|||
1. Increase test coverage on Node.js and browser |
|||
- Increase integration coverage for all reporters |
|||
- `html` reporter must be tested in browser |
|||
- ~~Basic console reporters (*not* `nyan`, `landing`, etc.) must be tested in **both** browser and Node.js contexts; PhantomJS can consume all console reporters~~ |
|||
- ~~Filesystem-based reporters must be tested in Node.js context~~ |
|||
- **UPDATE - May 24 2017**: Thanks to [community contributions](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md#mag-coverage), the coverage on most reporters has increased dramatically! The `html` reporter is still in [dire need of coverage](https://coveralls.io/builds/11674428/source?filename=lib%2Freporters%2Fhtml.js). |
|||
- Increase coverage against all interfaces (`exports` in particular). Ideally this becomes a "matrix" where we repeat sets of integration tests across all interfaces. |
|||
- Refactor non-Node.js-specific tests to allow them to run in a browser context. Node.js-specific tests include those which *require* the CLI or filesystem. Most everything else is fair game. |
|||
2. Review current open pull requests |
|||
- We need individuals familiar with Mocha's codebase. Got questions? Ask them in [our chat room](https://gitter.im/mochajs/mocha). |
|||
- Pull requests **must** have supporting tests. The only exceptions are pure cosmetic or non-functional changes. |
|||
- Pull request contributors must sign the CLA. |
|||
3. Close old, inactive issues and pull requests |
|||
- ~~A bot should do this. We need a bot. Got a bot?~~ We now use GitHub's own [probot-stale](https://www.npmjs.com/package/probot-stale). |
|||
4. Triage issues |
|||
- If we run into "critical" bugs, they need fixing. |
|||
- "Critical" means Mocha is broken w/o workarounds for a *large percentage* of users |
|||
- Otherwise: respond to issues, close new dupe issues, confirm bugs, ask for more info, etc. |
|||
|
|||
Once we gain ground on the above items, we can work together formalize our contribution guidelines and governance. For further info & ideas, please see our [projects](https://github.com/mochajs/mocha/projects/). |
|||
|
|||
*You needn't be a maintainer to submit a pull request for test coverage!* |
|||
|
|||
-- @boneskull, *Jan 17 2016* |
|||
|
|||
<br><br> |
|||
<p align="center"> |
|||
<img src="https://cldup.com/xFVFxOioAU.svg" alt="Mocha test framework"/> |
|||
</p> |
|||
|
|||
[](http://travis-ci.org/mochajs/mocha) |
|||
[](https://coveralls.io/github/mochajs/mocha) |
|||
[](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmochajs%2Fmocha?ref=badge_shield) |
|||
[](https://gitter.im/mochajs/mocha?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
|||
[](#backers) |
|||
[](#sponsors) |
|||
<br><img alt="Mocha Browser Support h/t SauceLabs" src="https://saucelabs.com/browser-matrix/mochajs.svg" width="354"> |
|||
|
|||
Mocha is a simple, flexible, fun JavaScript test framework for node.js and the browser. For more information view the [documentation](http://mochajs.org). |
|||
|
|||
## Links |
|||
|
|||
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md) |
|||
- [Google Group](http://groups.google.com/group/mochajs) |
|||
- [Wiki](https://github.com/mochajs/mocha/wiki) |
|||
- Mocha [Extensions and reporters](https://github.com/mochajs/mocha/wiki) |
|||
|
|||
|
|||
## Backers |
|||
|
|||
[Become a backer]((https://opencollective.com/mochajs#backer)) and show your support to our open source project. |
|||
|
|||
<a href="https://opencollective.com/mochajs/backer/0/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/0/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/1/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/1/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/2/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/2/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/3/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/3/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/4/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/4/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/5/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/5/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/6/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/6/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/7/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/7/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/8/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/8/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/9/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/9/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/10/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/10/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/11/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/11/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/12/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/12/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/13/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/13/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/14/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/14/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/15/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/15/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/16/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/16/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/17/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/17/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/18/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/18/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/19/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/19/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/20/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/20/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/21/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/21/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/22/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/22/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/23/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/23/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/24/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/24/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/25/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/25/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/26/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/26/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/27/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/27/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/28/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/28/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/backer/29/website" target="_blank"><img src="https://opencollective.com/mochajs/backer/29/avatar"></a> |
|||
|
|||
|
|||
## Sponsors |
|||
|
|||
Does your company use Mocha? Ask your manager or marketing team if your company would be interested in supporting our project. Support will allow the maintainers to dedicate more time for maintenance and new features for everyone. Also, your company's logo will show [on GitHub](https://github.com/mochajs/mocha#readme) and on [our site](https://mochajs.org)--who doesn't want a little extra exposure? [Here's the info](https://opencollective.com/mochajs#sponsor). |
|||
|
|||
<a href="https://opencollective.com/mochajs/sponsor/0/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/0/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/1/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/1/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/2/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/2/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/3/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/3/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/4/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/4/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/5/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/5/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/6/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/6/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/7/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/7/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/8/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/8/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/9/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/9/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/10/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/10/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/11/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/11/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/12/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/12/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/13/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/13/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/14/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/14/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/15/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/15/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/16/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/16/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/17/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/17/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/18/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/18/avatar"></a> |
|||
<a href="https://opencollective.com/mochajs/sponsor/19/website" target="_blank"><img src="https://opencollective.com/mochajs/sponsor/19/avatar"></a> |
|||
|
|||
## License |
|||
|
|||
[MIT](LICENSE) |
|||
|
|||
[](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmochajs%2Fmocha?ref=badge_large) |
|||
@ -0,0 +1,572 @@ |
|||
#!/usr/bin/env node |
|||
'use strict'; |
|||
|
|||
/* eslint no-unused-vars: off */ |
|||
|
|||
/** |
|||
* Module dependencies. |
|||
*/ |
|||
|
|||
var program = require('commander'); |
|||
var path = require('path'); |
|||
var fs = require('fs'); |
|||
var resolve = path.resolve; |
|||
var exists = fs.existsSync || path.existsSync; |
|||
var Mocha = require('../'); |
|||
var utils = Mocha.utils; |
|||
var interfaceNames = Object.keys(Mocha.interfaces); |
|||
var join = path.join; |
|||
var cwd = process.cwd(); |
|||
var getOptions = require('./options'); |
|||
var mocha = new Mocha(); |
|||
|
|||
/** |
|||
* Save timer references to avoid Sinon interfering (see GH-237). |
|||
*/ |
|||
|
|||
var Date = global.Date; |
|||
var setTimeout = global.setTimeout; |
|||
var setInterval = global.setInterval; |
|||
var clearTimeout = global.clearTimeout; |
|||
var clearInterval = global.clearInterval; |
|||
|
|||
/** |
|||
* Files. |
|||
*/ |
|||
|
|||
var files = []; |
|||
|
|||
/** |
|||
* Globals. |
|||
*/ |
|||
|
|||
var globals = []; |
|||
|
|||
/** |
|||
* Requires. |
|||
*/ |
|||
|
|||
var requires = []; |
|||
|
|||
/** |
|||
* Images. |
|||
*/ |
|||
|
|||
var images = { |
|||
fail: path.join(__dirname, '..', 'images', 'error.png'), |
|||
pass: path.join(__dirname, '..', 'images', 'ok.png') |
|||
}; |
|||
|
|||
// options |
|||
|
|||
program |
|||
.version(JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf8')).version) |
|||
.usage('[debug] [options] [files]') |
|||
.option('-A, --async-only', 'force all tests to take a callback (async) or return a promise') |
|||
.option('-c, --colors', 'force enabling of colors') |
|||
.option('-C, --no-colors', 'force disabling of colors') |
|||
.option('-G, --growl', 'enable growl notification support') |
|||
.option('-O, --reporter-options <k=v,k2=v2,...>', 'reporter-specific options') |
|||
.option('-R, --reporter <name>', 'specify the reporter to use', 'spec') |
|||
.option('-S, --sort', 'sort test files') |
|||
.option('-b, --bail', 'bail after first test failure') |
|||
.option('-d, --debug', "enable node's debugger, synonym for node --debug") |
|||
.option('-g, --grep <pattern>', 'only run tests matching <pattern>') |
|||
.option('-f, --fgrep <string>', 'only run tests containing <string>') |
|||
.option('-gc, --expose-gc', 'expose gc extension') |
|||
.option('-i, --invert', 'inverts --grep and --fgrep matches') |
|||
.option('-r, --require <name>', 'require the given module') |
|||
.option('-s, --slow <ms>', '"slow" test threshold in milliseconds [75]') |
|||
.option('-t, --timeout <ms>', 'set test-case timeout in milliseconds [2000]') |
|||
.option('-u, --ui <name>', 'specify user-interface (' + interfaceNames.join('|') + ')', 'bdd') |
|||
.option('-w, --watch', 'watch files for changes') |
|||
.option('--check-leaks', 'check for global variable leaks') |
|||
.option('--full-trace', 'display the full stack trace') |
|||
.option('--compilers <ext>:<module>,...', 'use the given module(s) to compile files', list, []) |
|||
.option('--debug-brk', "enable node's debugger breaking on the first line") |
|||
.option('--globals <names>', 'allow the given comma-delimited global [names]', list, []) |
|||
.option('--es_staging', 'enable all staged features') |
|||
.option('--harmony<_classes,_generators,...>', 'all node --harmony* flags are available') |
|||
.option('--preserve-symlinks', 'Instructs the module loader to preserve symbolic links when resolving and caching modules') |
|||
.option('--icu-data-dir', 'include ICU data') |
|||
.option('--inline-diffs', 'display actual/expected differences inline within each string') |
|||
.option('--inspect', 'activate devtools in chrome') |
|||
.option('--inspect-brk', 'activate devtools in chrome and break on the first line') |
|||
.option('--interfaces', 'display available interfaces') |
|||
.option('--no-deprecation', 'silence deprecation warnings') |
|||
.option('--no-exit', 'require a clean shutdown of the event loop: mocha will not call process.exit') |
|||
.option('--no-timeouts', 'disables timeouts, given implicitly with --debug') |
|||
.option('--no-warnings', 'silence all node process warnings') |
|||
.option('--opts <path>', 'specify opts path', 'test/mocha.opts') |
|||
.option('--perf-basic-prof', 'enable perf linux profiler (basic support)') |
|||
.option('--napi-modules', 'enable experimental NAPI modules') |
|||
.option('--prof', 'log statistical profiling information') |
|||
.option('--log-timer-events', 'Time events including external callbacks') |
|||
.option('--recursive', 'include sub directories') |
|||
.option('--reporters', 'display available reporters') |
|||
.option('--retries <times>', 'set numbers of time to retry a failed test case') |
|||
.option('--throw-deprecation', 'throw an exception anytime a deprecated function is used') |
|||
.option('--trace', 'trace function calls') |
|||
.option('--trace-deprecation', 'show stack traces on deprecations') |
|||
.option('--trace-warnings', 'show stack traces on node process warnings') |
|||
.option('--use_strict', 'enforce strict mode') |
|||
.option('--watch-extensions <ext>,...', 'additional extensions to monitor with --watch', list, []) |
|||
.option('--delay', 'wait for async suite definition') |
|||
.option('--allow-uncaught', 'enable uncaught errors to propagate') |
|||
.option('--forbid-only', 'causes test marked with only to fail the suite') |
|||
.option('--forbid-pending', 'causes pending tests and test marked with skip to fail the suite'); |
|||
|
|||
program._name = 'mocha'; |
|||
|
|||
// init command |
|||
|
|||
program |
|||
.command('init <path>') |
|||
.description('initialize a client-side mocha setup at <path>') |
|||
.action(function (path) { |
|||
var mkdir = require('mkdirp'); |
|||
mkdir.sync(path); |
|||
var css = fs.readFileSync(join(__dirname, '..', 'mocha.css')); |
|||
var js = fs.readFileSync(join(__dirname, '..', 'mocha.js')); |
|||
var tmpl = fs.readFileSync(join(__dirname, '..', 'lib/template.html')); |
|||
fs.writeFileSync(join(path, 'mocha.css'), css); |
|||
fs.writeFileSync(join(path, 'mocha.js'), js); |
|||
fs.writeFileSync(join(path, 'tests.js'), ''); |
|||
fs.writeFileSync(join(path, 'index.html'), tmpl); |
|||
process.exit(0); |
|||
}); |
|||
|
|||
// --globals |
|||
|
|||
program.on('globals', function (val) { |
|||
globals = globals.concat(list(val)); |
|||
}); |
|||
|
|||
// --reporters |
|||
|
|||
program.on('reporters', function () { |
|||
console.log(); |
|||
console.log(' dot - dot matrix'); |
|||
console.log(' doc - html documentation'); |
|||
console.log(' spec - hierarchical spec list'); |
|||
console.log(' json - single json object'); |
|||
console.log(' progress - progress bar'); |
|||
console.log(' list - spec-style listing'); |
|||
console.log(' tap - test-anything-protocol'); |
|||
console.log(' landing - unicode landing strip'); |
|||
console.log(' xunit - xunit reporter'); |
|||
console.log(' min - minimal reporter (great with --watch)'); |
|||
console.log(' json-stream - newline delimited json events'); |
|||
console.log(' markdown - markdown documentation (github flavour)'); |
|||
console.log(' nyan - nyan cat!'); |
|||
console.log(); |
|||
process.exit(); |
|||
}); |
|||
|
|||
// --interfaces |
|||
|
|||
program.on('interfaces', function () { |
|||
console.log(''); |
|||
interfaceNames.forEach(function (interfaceName) { |
|||
console.log(' ' + interfaceName); |
|||
}); |
|||
console.log(''); |
|||
process.exit(); |
|||
}); |
|||
|
|||
// -r, --require |
|||
|
|||
module.paths.push(cwd, join(cwd, 'node_modules')); |
|||
|
|||
program.on('require', function (mod) { |
|||
var abs = exists(mod) || exists(mod + '.js'); |
|||
if (abs) { |
|||
mod = resolve(mod); |
|||
} |
|||
requires.push(mod); |
|||
}); |
|||
|
|||
// If not already done, load mocha.opts |
|||
if (!process.env.LOADED_MOCHA_OPTS) { |
|||
getOptions(); |
|||
} |
|||
|
|||
// parse args |
|||
|
|||
program.parse(process.argv); |
|||
|
|||
// infinite stack traces |
|||
|
|||
Error.stackTraceLimit = Infinity; // TODO: config |
|||
|
|||
// reporter options |
|||
|
|||
var reporterOptions = {}; |
|||
if (program.reporterOptions !== undefined) { |
|||
program.reporterOptions.split(',').forEach(function (opt) { |
|||
var L = opt.split('='); |
|||
if (L.length > 2 || L.length === 0) { |
|||
throw new Error("invalid reporter option '" + opt + "'"); |
|||
} else if (L.length === 2) { |
|||
reporterOptions[L[0]] = L[1]; |
|||
} else { |
|||
reporterOptions[L[0]] = true; |
|||
} |
|||
}); |
|||
} |
|||
|
|||
// reporter |
|||
|
|||
mocha.reporter(program.reporter, reporterOptions); |
|||
|
|||
// load reporter |
|||
|
|||
var Reporter = null; |
|||
try { |
|||
Reporter = require('../lib/reporters/' + program.reporter); |
|||
} catch (err) { |
|||
try { |
|||
Reporter = require(program.reporter); |
|||
} catch (err2) { |
|||
throw new Error('reporter "' + program.reporter + '" does not exist'); |
|||
} |
|||
} |
|||
|
|||
// --no-colors |
|||
|
|||
if (!program.colors) { |
|||
mocha.useColors(false); |
|||
} |
|||
|
|||
// --colors |
|||
|
|||
if (~process.argv.indexOf('--colors') || ~process.argv.indexOf('-c')) { |
|||
mocha.useColors(true); |
|||
} |
|||
|
|||
// --inline-diffs |
|||
|
|||
if (program.inlineDiffs) { |
|||
mocha.useInlineDiffs(true); |
|||
} |
|||
|
|||
// --slow <ms> |
|||
|
|||
if (program.slow) { |
|||
mocha.suite.slow(program.slow); |
|||
} |
|||
|
|||
// --no-timeouts |
|||
|
|||
if (!program.timeouts) { |
|||
mocha.enableTimeouts(false); |
|||
} |
|||
|
|||
// --timeout |
|||
|
|||
if (program.timeout) { |
|||
mocha.suite.timeout(program.timeout); |
|||
} |
|||
|
|||
// --bail |
|||
|
|||
mocha.suite.bail(program.bail); |
|||
|
|||
// --grep |
|||
|
|||
if (program.grep) { |
|||
mocha.grep(program.grep); |
|||
} |
|||
|
|||
// --fgrep |
|||
|
|||
if (program.fgrep) { |
|||
mocha.fgrep(program.fgrep); |
|||
} |
|||
|
|||
// --invert |
|||
|
|||
if (program.invert) { |
|||
mocha.invert(); |
|||
} |
|||
|
|||
// --check-leaks |
|||
|
|||
if (program.checkLeaks) { |
|||
mocha.checkLeaks(); |
|||
} |
|||
|
|||
// --stack-trace |
|||
|
|||
if (program.fullTrace) { |
|||
mocha.fullTrace(); |
|||
} |
|||
|
|||
// --growl |
|||
|
|||
if (program.growl) { |
|||
mocha.growl(); |
|||
} |
|||
|
|||
// --async-only |
|||
|
|||
if (program.asyncOnly) { |
|||
mocha.asyncOnly(); |
|||
} |
|||
|
|||
// --delay |
|||
|
|||
if (program.delay) { |
|||
mocha.delay(); |
|||
} |
|||
|
|||
// --allow-uncaught |
|||
|
|||
if (program.allowUncaught) { |
|||
mocha.allowUncaught(); |
|||
} |
|||
|
|||
// --globals |
|||
|
|||
mocha.globals(globals); |
|||
|
|||
// --retries |
|||
|
|||
if (program.retries) { |
|||
mocha.suite.retries(program.retries); |
|||
} |
|||
|
|||
// --forbid-only |
|||
|
|||
if (program.forbidOnly) mocha.forbidOnly(); |
|||
|
|||
// --forbid-pending |
|||
|
|||
if (program.forbidPending) mocha.forbidPending(); |
|||
|
|||
// custom compiler support |
|||
|
|||
var extensions = ['js']; |
|||
program.compilers.forEach(function (c) { |
|||
var idx = c.indexOf(':'); |
|||
var ext = c.slice(0, idx); |
|||
var mod = c.slice(idx + 1); |
|||
|
|||
if (mod[0] === '.') { |
|||
mod = join(process.cwd(), mod); |
|||
} |
|||
require(mod); |
|||
extensions.push(ext); |
|||
program.watchExtensions.push(ext); |
|||
}); |
|||
|
|||
// requires |
|||
|
|||
requires.forEach(function (mod) { |
|||
require(mod); |
|||
}); |
|||
|
|||
// interface |
|||
|
|||
mocha.ui(program.ui); |
|||
|
|||
// args |
|||
|
|||
var args = program.args; |
|||
|
|||
// default files to test/*.{js,coffee} |
|||
|
|||
if (!args.length) { |
|||
args.push('test'); |
|||
} |
|||
|
|||
args.forEach(function (arg) { |
|||
var newFiles; |
|||
try { |
|||
newFiles = utils.lookupFiles(arg, extensions, program.recursive); |
|||
} catch (err) { |
|||
if (err.message.indexOf('cannot resolve path') === 0) { |
|||
console.error('Warning: Could not find any test files matching pattern: ' + arg); |
|||
return; |
|||
} |
|||
|
|||
throw err; |
|||
} |
|||
|
|||
files = files.concat(newFiles); |
|||
}); |
|||
|
|||
if (!files.length) { |
|||
console.error('No test files found'); |
|||
process.exit(1); |
|||
} |
|||
|
|||
// resolve |
|||
|
|||
files = files.map(function (path) { |
|||
return resolve(path); |
|||
}); |
|||
|
|||
if (program.sort) { |
|||
files.sort(); |
|||
} |
|||
|
|||
// --watch |
|||
|
|||
var runner; |
|||
var loadAndRun; |
|||
var purge; |
|||
var rerun; |
|||
|
|||
if (program.watch) { |
|||
console.log(); |
|||
hideCursor(); |
|||
process.on('SIGINT', function () { |
|||
showCursor(); |
|||
console.log('\n'); |
|||
process.exit(130); |
|||
}); |
|||
|
|||
var watchFiles = utils.files(cwd, [ 'js' ].concat(program.watchExtensions)); |
|||
var runAgain = false; |
|||
|
|||
loadAndRun = function loadAndRun () { |
|||
try { |
|||
mocha.files = files; |
|||
runAgain = false; |
|||
runner = mocha.run(function () { |
|||
runner = null; |
|||
if (runAgain) { |
|||
rerun(); |
|||
} |
|||
}); |
|||
} catch (e) { |
|||
console.log(e.stack); |
|||
} |
|||
}; |
|||
|
|||
purge = function purge () { |
|||
watchFiles.forEach(function (file) { |
|||
delete require.cache[file]; |
|||
}); |
|||
}; |
|||
|
|||
loadAndRun(); |
|||
|
|||
rerun = function rerun () { |
|||
purge(); |
|||
stop(); |
|||
if (!program.grep) { |
|||
mocha.grep(null); |
|||
} |
|||
mocha.suite = mocha.suite.clone(); |
|||
mocha.suite.ctx = new Mocha.Context(); |
|||
mocha.ui(program.ui); |
|||
loadAndRun(); |
|||
}; |
|||
|
|||
utils.watch(watchFiles, function () { |
|||
runAgain = true; |
|||
if (runner) { |
|||
runner.abort(); |
|||
} else { |
|||
rerun(); |
|||
} |
|||
}); |
|||
} else { |
|||
// load |
|||
|
|||
mocha.files = files; |
|||
runner = mocha.run(program.exit ? exit : exitLater); |
|||
} |
|||
|
|||
function exitLater (code) { |
|||
process.on('exit', function () { |
|||
process.exit(Math.min(code, 255)); |
|||
}); |
|||
} |
|||
|
|||
function exit (code) { |
|||
var clampedCode = Math.min(code, 255); |
|||
|
|||
// Eagerly set the process's exit code in case stream.write doesn't |
|||
// execute its callback before the process terminates. |
|||
process.exitCode = clampedCode; |
|||
|
|||
// flush output for Node.js Windows pipe bug |
|||
// https://github.com/joyent/node/issues/6247 is just one bug example |
|||
// https://github.com/visionmedia/mocha/issues/333 has a good discussion |
|||
function done () { |
|||
if (!(draining--)) { |
|||
process.exit(clampedCode); |
|||
} |
|||
} |
|||
|
|||
var draining = 0; |
|||
var streams = [process.stdout, process.stderr]; |
|||
|
|||
streams.forEach(function (stream) { |
|||
// submit empty write request and wait for completion |
|||
draining += 1; |
|||
stream.write('', done); |
|||
}); |
|||
|
|||
done(); |
|||
} |
|||
|
|||
process.on('SIGINT', function () { |
|||
runner.abort(); |
|||
|
|||
// This is a hack: |
|||
// Instead of `process.exit(130)`, set runner.failures to 130 (exit code for SIGINT) |
|||
// The amount of failures will be emitted as error code later |
|||
runner.failures = 130; |
|||
}); |
|||
|
|||
/** |
|||
* Parse list. |
|||
*/ |
|||
|
|||
function list (str) { |
|||
return str.split(/ *, */); |
|||
} |
|||
|
|||
/** |
|||
* Hide the cursor. |
|||
*/ |
|||
|
|||
function hideCursor () { |
|||
process.stdout.write('\u001b[?25l'); |
|||
} |
|||
|
|||
/** |
|||
* Show the cursor. |
|||
*/ |
|||
|
|||
function showCursor () { |
|||
process.stdout.write('\u001b[?25h'); |
|||
} |
|||
|
|||
/** |
|||
* Stop play()ing. |
|||
*/ |
|||
|
|||
function stop () { |
|||
process.stdout.write('\u001b[2K'); |
|||
clearInterval(play.timer); |
|||
} |
|||
|
|||
/** |
|||
* Play the given array of strings. |
|||
*/ |
|||
|
|||
function play (arr, interval) { |
|||
var len = arr.length; |
|||
interval = interval || 100; |
|||
var i = 0; |
|||
|
|||
play.timer = setInterval(function () { |
|||
var str = arr[i++ % len]; |
|||
process.stdout.write('\u001b[0G' + str); |
|||
}, interval); |
|||
} |
|||
@ -0,0 +1,87 @@ |
|||
#!/usr/bin/env node |
|||
|
|||
'use strict'; |
|||
|
|||
/** |
|||
* This tiny wrapper file checks for known node flags and appends them |
|||
* when found, before invoking the "real" _mocha(1) executable. |
|||
*/ |
|||
|
|||
var spawn = require('child_process').spawn; |
|||
var path = require('path'); |
|||
var getOptions = require('./options'); |
|||
var args = [path.join(__dirname, '_mocha')]; |
|||
|
|||
// Load mocha.opts into process.argv |
|||
// Must be loaded here to handle node-specific options |
|||
getOptions(); |
|||
|
|||
process.argv.slice(2).forEach(function (arg) { |
|||
var flag = arg.split('=')[0]; |
|||
|
|||
switch (flag) { |
|||
case '-d': |
|||
args.unshift('--debug'); |
|||
args.push('--no-timeouts'); |
|||
break; |
|||
case 'debug': |
|||
case '--debug': |
|||
case '--debug-brk': |
|||
case '--inspect': |
|||
case '--inspect-brk': |
|||
args.unshift(arg); |
|||
args.push('--no-timeouts'); |
|||
break; |
|||
case '-gc': |
|||
case '--expose-gc': |
|||
args.unshift('--expose-gc'); |
|||
break; |
|||
case '--gc-global': |
|||
case '--es_staging': |
|||
case '--no-deprecation': |
|||
case '--no-warnings': |
|||
case '--prof': |
|||
case '--log-timer-events': |
|||
case '--throw-deprecation': |
|||
case '--trace-deprecation': |
|||
case '--trace-warnings': |
|||
case '--use_strict': |
|||
case '--allow-natives-syntax': |
|||
case '--perf-basic-prof': |
|||
case '--napi-modules': |
|||
args.unshift(arg); |
|||
break; |
|||
default: |
|||
if (arg.indexOf('--harmony') === 0) { |
|||
args.unshift(arg); |
|||
} else if (arg.indexOf('--trace') === 0) { |
|||
args.unshift(arg); |
|||
} else if (arg.indexOf('--icu-data-dir') === 0) { |
|||
args.unshift(arg); |
|||
} else if (arg.indexOf('--max-old-space-size') === 0) { |
|||
args.unshift(arg); |
|||
} else if (arg.indexOf('--preserve-symlinks') === 0) { |
|||
args.unshift(arg); |
|||
} else { |
|||
args.push(arg); |
|||
} |
|||
break; |
|||
} |
|||
}); |
|||
|
|||
var proc = spawn(process.execPath, args, { stdio: 'inherit' }); |
|||
proc.on('exit', function (code, signal) { |
|||
process.on('exit', function () { |
|||
if (signal) { |
|||
process.kill(process.pid, signal); |
|||
} else { |
|||
process.exit(code); |
|||
} |
|||
}); |
|||
}); |
|||
|
|||
// terminate children. |
|||
process.on('SIGINT', function () { |
|||
proc.kill('SIGINT'); // calls runner.abort() |
|||
proc.kill('SIGTERM'); // if that didn't work, we're probably in an infinite loop, so make it die. |
|||
}); |
|||
@ -0,0 +1,41 @@ |
|||
'use strict'; |
|||
|
|||
/** |
|||
* Dependencies. |
|||
*/ |
|||
|
|||
var fs = require('fs'); |
|||
|
|||
/** |
|||
* Export `getOptions`. |
|||
*/ |
|||
|
|||
module.exports = getOptions; |
|||
|
|||
/** |
|||
* Get options. |
|||
*/ |
|||
|
|||
function getOptions () { |
|||
var optsPath = process.argv.indexOf('--opts') === -1 |
|||
? 'test/mocha.opts' |
|||
: process.argv[process.argv.indexOf('--opts') + 1]; |
|||
|
|||
try { |
|||
var opts = fs.readFileSync(optsPath, 'utf8') |
|||
.replace(/\\\s/g, '%20') |
|||
.split(/\s/) |
|||
.filter(Boolean) |
|||
.map(function (value) { |
|||
return value.replace(/%20/g, ' '); |
|||
}); |
|||
|
|||
process.argv = process.argv |
|||
.slice(0, 2) |
|||
.concat(opts.concat(process.argv.slice(2))); |
|||
} catch (err) { |
|||
// ignore
|
|||
} |
|||
|
|||
process.env.LOADED_MOCHA_OPTS = true; |
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
{ |
|||
"name": "mocha", |
|||
"homepage": "https://mochajs.org", |
|||
"description": "simple, flexible, fun test framework", |
|||
"repository": { |
|||
"type": "git", |
|||
"url": "git://github.com/mochajs/mocha.git" |
|||
}, |
|||
"main": [ |
|||
"mocha.js", |
|||
"mocha.css" |
|||
], |
|||
"ignore": [ |
|||
"bin", |
|||
"editors", |
|||
"images", |
|||
"lib", |
|||
"scripts", |
|||
"test", |
|||
"assets", |
|||
"media", |
|||
".*", |
|||
"index.js", |
|||
"karma.conf.js", |
|||
"browser-entry.js", |
|||
"Makefile", |
|||
"package.json", |
|||
"appveyor.yml" |
|||
], |
|||
"keywords": [ |
|||
"mocha", |
|||
"test", |
|||
"bdd", |
|||
"tdd", |
|||
"tap" |
|||
], |
|||
"license": "MIT" |
|||
} |
|||
@ -0,0 +1,187 @@ |
|||
'use strict'; |
|||
|
|||
/* eslint no-unused-vars: off */ |
|||
/* eslint-env commonjs */ |
|||
|
|||
/** |
|||
* Shim process.stdout. |
|||
*/ |
|||
|
|||
process.stdout = require('browser-stdout')(); |
|||
|
|||
var Mocha = require('./lib/mocha'); |
|||
|
|||
/** |
|||
* Create a Mocha instance. |
|||
* |
|||
* @return {undefined} |
|||
*/ |
|||
|
|||
var mocha = new Mocha({ reporter: 'html' }); |
|||
|
|||
/** |
|||
* Save timer references to avoid Sinon interfering (see GH-237). |
|||
*/ |
|||
|
|||
var Date = global.Date; |
|||
var setTimeout = global.setTimeout; |
|||
var setInterval = global.setInterval; |
|||
var clearTimeout = global.clearTimeout; |
|||
var clearInterval = global.clearInterval; |
|||
|
|||
var uncaughtExceptionHandlers = []; |
|||
|
|||
var originalOnerrorHandler = global.onerror; |
|||
|
|||
/** |
|||
* Remove uncaughtException listener. |
|||
* Revert to original onerror handler if previously defined. |
|||
*/ |
|||
|
|||
process.removeListener = function (e, fn) { |
|||
if (e === 'uncaughtException') { |
|||
if (originalOnerrorHandler) { |
|||
global.onerror = originalOnerrorHandler; |
|||
} else { |
|||
global.onerror = function () {}; |
|||
} |
|||
var i = Mocha.utils.indexOf(uncaughtExceptionHandlers, fn); |
|||
if (i !== -1) { |
|||
uncaughtExceptionHandlers.splice(i, 1); |
|||
} |
|||
} |
|||
}; |
|||
|
|||
/** |
|||
* Implements uncaughtException listener. |
|||
*/ |
|||
|
|||
process.on = function (e, fn) { |
|||
if (e === 'uncaughtException') { |
|||
global.onerror = function (err, url, line) { |
|||
fn(new Error(err + ' (' + url + ':' + line + ')')); |
|||
return !mocha.allowUncaught; |
|||
}; |
|||
uncaughtExceptionHandlers.push(fn); |
|||
} |
|||
}; |
|||
|
|||
// The BDD UI is registered by default, but no UI will be functional in the
|
|||
// browser without an explicit call to the overridden `mocha.ui` (see below).
|
|||
// Ensure that this default UI does not expose its methods to the global scope.
|
|||
mocha.suite.removeAllListeners('pre-require'); |
|||
|
|||
var immediateQueue = []; |
|||
var immediateTimeout; |
|||
|
|||
function timeslice () { |
|||
var immediateStart = new Date().getTime(); |
|||
while (immediateQueue.length && (new Date().getTime() - immediateStart) < 100) { |
|||
immediateQueue.shift()(); |
|||
} |
|||
if (immediateQueue.length) { |
|||
immediateTimeout = setTimeout(timeslice, 0); |
|||
} else { |
|||
immediateTimeout = null; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* High-performance override of Runner.immediately. |
|||
*/ |
|||
|
|||
Mocha.Runner.immediately = function (callback) { |
|||
immediateQueue.push(callback); |
|||
if (!immediateTimeout) { |
|||
immediateTimeout = setTimeout(timeslice, 0); |
|||
} |
|||
}; |
|||
|
|||
/** |
|||
* Function to allow assertion libraries to throw errors directly into mocha. |
|||
* This is useful when running tests in a browser because window.onerror will |
|||
* only receive the 'message' attribute of the Error. |
|||
*/ |
|||
mocha.throwError = function (err) { |
|||
Mocha.utils.forEach(uncaughtExceptionHandlers, function (fn) { |
|||
fn(err); |
|||
}); |
|||
throw err; |
|||
}; |
|||
|
|||
/** |
|||
* Override ui to ensure that the ui functions are initialized. |
|||
* Normally this would happen in Mocha.prototype.loadFiles. |
|||
*/ |
|||
|
|||
mocha.ui = function (ui) { |
|||
Mocha.prototype.ui.call(this, ui); |
|||
this.suite.emit('pre-require', global, null, this); |
|||
return this; |
|||
}; |
|||
|
|||
/** |
|||
* Setup mocha with the given setting options. |
|||
*/ |
|||
|
|||
mocha.setup = function (opts) { |
|||
if (typeof opts === 'string') { |
|||
opts = { ui: opts }; |
|||
} |
|||
for (var opt in opts) { |
|||
if (opts.hasOwnProperty(opt)) { |
|||
this[opt](opts[opt]); |
|||
} |
|||
} |
|||
return this; |
|||
}; |
|||
|
|||
/** |
|||
* Run mocha, returning the Runner. |
|||
*/ |
|||
|
|||
mocha.run = function (fn) { |
|||
var options = mocha.options; |
|||
mocha.globals('location'); |
|||
|
|||
var query = Mocha.utils.parseQuery(global.location.search || ''); |
|||
if (query.grep) { |
|||
mocha.grep(query.grep); |
|||
} |
|||
if (query.fgrep) { |
|||
mocha.fgrep(query.fgrep); |
|||
} |
|||
if (query.invert) { |
|||
mocha.invert(); |
|||
} |
|||
|
|||
return Mocha.prototype.run.call(mocha, function (err) { |
|||
// The DOM Document is not available in Web Workers.
|
|||
var document = global.document; |
|||
if (document && document.getElementById('mocha') && options.noHighlighting !== true) { |
|||
Mocha.utils.highlightTags('code'); |
|||
} |
|||
if (fn) { |
|||
fn(err); |
|||
} |
|||
}); |
|||
}; |
|||
|
|||
/** |
|||
* Expose the process shim. |
|||
* https://github.com/mochajs/mocha/pull/916
|
|||
*/ |
|||
|
|||
Mocha.process = process; |
|||
|
|||
/** |
|||
* Expose mocha. |
|||
*/ |
|||
|
|||
global.Mocha = Mocha; |
|||
global.mocha = mocha; |
|||
|
|||
// this allows test/acceptance/required-tokens.js to pass; thus,
|
|||
// you can now do `const describe = require('mocha').describe` in a
|
|||
// browser context (assuming browserification). should fix #880
|
|||
module.exports = global; |
|||
Some files were not shown because too many files changed in this diff
Write
Preview
Loading…
Cancel
Save
Reference in new issue