+ *
69
+ * ### Deprecation warning: use [[TransitionService.onStart]] instead
70
+ *
71
+ * Additional arguments to the event handler are provided:
72
+ * - `toState`: the Transition Target state
73
+ * - `toParams`: the Transition Target Params
74
+ * - `fromState`: the state the transition is coming from
75
+ * - `fromParams`: the parameters from the state the transition is coming from
76
+ * - `options`: any Transition Options
77
+ * - `$transition$`: the [[Transition]] that was cancelled
78
+ *
79
+ * @event $stateChangeCancel
80
+ * @deprecated
81
+ */
82
+var $stateChangeCancel;
83
+/**
84
+ * An event broadcast on `$rootScope` once the state transition is **complete**.
85
+ *
86
+ * ### Deprecation warning: use [[TransitionService.onStart]] and [[Transition.promise]], or [[Transition.onSuccess]]
87
+ *
88
+ * Additional arguments to the event handler are provided:
89
+ * - `toState`: the Transition Target state
90
+ * - `toParams`: the Transition Target Params
91
+ * - `fromState`: the state the transition is coming from
92
+ * - `fromParams`: the parameters from the state the transition is coming from
93
+ * - `options`: any Transition Options
94
+ * - `$transition$`: the [[Transition]] that just succeeded
95
+ *
96
+ * @event $stateChangeSuccess
97
+ * @deprecated
98
+ */
99
+var $stateChangeSuccess;
100
+/**
101
+ * An event broadcast on `$rootScope` when an **error occurs** during transition.
102
+ *
103
+ * ### Deprecation warning: use [[TransitionService.onStart]] and [[Transition.promise]], or [[Transition.onError]]
104
+ *
105
+ * It's important to note that if you
106
+ * have any errors in your resolve functions (javascript errors, non-existent services, etc)
107
+ * they will not throw traditionally. You must listen for this $stateChangeError event to
108
+ * catch **ALL** errors.
109
+ *
110
+ * Additional arguments to the event handler are provided:
111
+ * - `toState`: the Transition Target state
112
+ * - `toParams`: the Transition Target Params
113
+ * - `fromState`: the state the transition is coming from
114
+ * - `fromParams`: the parameters from the state the transition is coming from
115
+ * - `error`: The reason the transition errored.
116
+ * - `options`: any Transition Options
117
+ * - `$transition$`: the [[Transition]] that errored
118
+ *
119
+ * @event $stateChangeError
120
+ * @deprecated
121
+ */
122
+var $stateChangeError;
123
+/**
124
+ * An event broadcast on `$rootScope` when a requested state **cannot be found** using the provided state name.
125
+ *
126
+ * ### Deprecation warning: use [[StateService.onInvalid]] instead
127
+ *
128
+ * The event is broadcast allowing any handlers a single chance to deal with the error (usually by
129
+ * lazy-loading the unfound state). A `TargetState` object is passed to the listener handler,
130
+ * you can see its properties in the example. You can use `event.preventDefault()` to abort the
131
+ * transition and the promise returned from `transitionTo()` will be rejected with a
132
+ * `'transition aborted'` error.
133
+ *
134
+ * Additional arguments to the event handler are provided:
135
+ * - `unfoundState` Unfound State information. Contains: `to, toParams, options` properties.
136
+ * - `fromState`: the state the transition is coming from
137
+ * - `fromParams`: the parameters from the state the transition is coming from
138
+ * - `options`: any Transition Options
139
+ *
140
+ * #### Example:
141
+ * ```js
142
+ * // somewhere, assume lazy.state has not been defined
143
+ * $state.go("lazy.state", { a: 1, b: 2 }, { inherit: false });
144
+ *
145
+ * // somewhere else
146
+ * $scope.$on('$stateNotFound', function(event, transition) {
147
+ * function(event, unfoundState, fromState, fromParams){
148
+ *     console.log(unfoundState.to); // "lazy.state"
149
+ *     console.log(unfoundState.toParams); // {a:1, b:2}
150
+ *     console.log(unfoundState.options); // {inherit:false} + default options
151
+ * });
152
+ * ```
153
+ *
154
+ * @event $stateNotFound
155
+ * @deprecated
156
+ */
157
+var $stateNotFound;
158
+(function () {
159
+    var isFunction = ng.isFunction, isString = ng.isString;
160
+    function applyPairs(memo, keyValTuple) {
161
+        var key, value;
162
+        if (Array.isArray(keyValTuple))
163
+            key = keyValTuple[0], value = keyValTuple[1];
164
+        if (!isString(key))
165
+            throw new Error("invalid parameters to applyPairs");
166
+        memo[key] = value;
167
+        return memo;
168
+    }
169
+    function stateChangeStartHandler($transition$) {
170
+        if (!$transition$.options().notify || !$transition$.valid() || $transition$.ignored())
171
+            return;
172
+        var $injector = $transition$.injector();
173
+        var $stateEvents = $injector.get('$stateEvents');
174
+        var $rootScope = $injector.get('$rootScope');
175
+        var $state = $injector.get('$state');
176
+        var $urlRouter = $injector.get('$urlRouter');
177
+        var enabledEvents = $stateEvents.provider.enabled();
178
+        var toParams = $transition$.params("to");
179
+        var fromParams = $transition$.params("from");
180
+        if (enabledEvents.$stateChangeSuccess) {
181
+            var startEvent = $rootScope.$broadcast('$stateChangeStart', $transition$.to(), toParams, $transition$.from(), fromParams, $transition$.options(), $transition$);
182
+            if (startEvent.defaultPrevented) {
183
+                if (enabledEvents.$stateChangeCancel) {
184
+                    $rootScope.$broadcast('$stateChangeCancel', $transition$.to(), toParams, $transition$.from(), fromParams, $transition$.options(), $transition$);
185
+                }
186
+                //Don't update and resync url if there's been a new transition started. see issue #2238, #600
187
+                if ($state.transition == null)
188
+                    $urlRouter.update();
189
+                return false;
190
+            }
191
+            // right after global state is updated
192
+            var successOpts = { priority: 9999 };
193
+            $transition$.onSuccess({}, function () {
194
+                $rootScope.$broadcast('$stateChangeSuccess', $transition$.to(), toParams, $transition$.from(), fromParams, $transition$.options(), $transition$);
195
+            }, successOpts);
196
+        }
197
+        if (enabledEvents.$stateChangeError) {
198
+            $transition$.promise["catch"](function (error) {
199
+                if (error && (error.type === 2 /* RejectType.SUPERSEDED */ || error.type === 3 /* RejectType.ABORTED */))
200
+                    return;
201
+                var evt = $rootScope.$broadcast('$stateChangeError', $transition$.to(), toParams, $transition$.from(), fromParams, error, $transition$.options(), $transition$);
202
+                if (!evt.defaultPrevented) {
203
+                    $urlRouter.update();
204
+                }
205
+            });
206
+        }
207
+    }
208
+    stateNotFoundHandler.$inject = ['$to$', '$from$', '$state', '$rootScope', '$urlRouter'];
209
+    function stateNotFoundHandler($to$, $from$, injector) {
210
+        var $state = injector.get('$state');
211
+        var $rootScope = injector.get('$rootScope');
212
+        var $urlRouter = injector.get('$urlRouter');
213
+        var redirect = { to: $to$.identifier(), toParams: $to$.params(), options: $to$.options() };
214
+        var e = $rootScope.$broadcast('$stateNotFound', redirect, $from$.state(), $from$.params());
215
+        if (e.defaultPrevented || e.retry)
216
+            $urlRouter.update();
217
+        function redirectFn() {
218
+            return $state.target(redirect.to, redirect.toParams, redirect.options);
219
+        }
220
+        if (e.defaultPrevented) {
221
+            return false;
222
+        }
223
+        else if (e.retry || !!$state.get(redirect.to)) {
224
+            return e.retry && isFunction(e.retry.then) ? e.retry.then(redirectFn) : redirectFn();
225
+        }
226
+    }
227
+    $StateEventsProvider.$inject = ['$stateProvider'];
228
+    function $StateEventsProvider($stateProvider) {
229
+        $StateEventsProvider.prototype.instance = this;
230
+        var runtime = false;
231
+        var allEvents = ['$stateChangeStart', '$stateNotFound', '$stateChangeSuccess', '$stateChangeError'];
232
+        var enabledStateEvents = allEvents.map(function (e) { return [e, true]; }).reduce(applyPairs, {});
233
+        function assertNotRuntime() {
234
+            if (runtime)
235
+                throw new Error("Cannot enable events at runtime (use $stateEventsProvider");
236
+        }
237
+        /**
238
+         * Enables the deprecated UI-Router 0.2.x State Events
239
+         * [ '$stateChangeStart', '$stateNotFound', '$stateChangeSuccess', '$stateChangeError' ]
240
+         */
241
+        this.enable = function () {
242
+            var events = [];
243
+            for (var _i = 0; _i < arguments.length; _i++) {
244
+                events[_i] = arguments[_i];
245
+            }
246
+            assertNotRuntime();
247
+            if (!events || !events.length)
248
+                events = allEvents;
249
+            events.forEach(function (event) { return enabledStateEvents[event] = true; });
250
+        };
251
+        /**
252
+         * Disables the deprecated UI-Router 0.2.x State Events
253
+         * [ '$stateChangeStart', '$stateNotFound', '$stateChangeSuccess', '$stateChangeError' ]
254
+         */
255
+        this.disable = function () {
256
+            var events = [];
257
+            for (var _i = 0; _i < arguments.length; _i++) {
258
+                events[_i] = arguments[_i];
259
+            }
260
+            assertNotRuntime();
261
+            if (!events || !events.length)
262
+                events = allEvents;
263
+            events.forEach(function (event) { return delete enabledStateEvents[event]; });
264
+        };
265
+        this.enabled = function () { return enabledStateEvents; };
266
+        this.$get = $get;
267
+        $get.$inject = ['$transitions'];
268
+        function $get($transitions) {
269
+            runtime = true;
270
+            if (enabledStateEvents["$stateNotFound"])
271
+                $stateProvider.onInvalid(stateNotFoundHandler);
272
+            if (enabledStateEvents.$stateChangeStart)
273
+                $transitions.onBefore({}, stateChangeStartHandler, { priority: 1000 });
274
+            return {
275
+                provider: $StateEventsProvider.prototype.instance
276
+            };
277
+        }
278
+    }
279
+    ng.module('ui.router.state.events', ['ui.router.state'])
280
+        .provider("$stateEvents", $StateEventsProvider)
281
+        .run(['$stateEvents', function ($stateEvents) {
282
+        }]);
283
+})();
284
+
285
+exports.$stateChangeStart = $stateChangeStart;
286
+exports.$stateChangeCancel = $stateChangeCancel;
287
+exports.$stateChangeSuccess = $stateChangeSuccess;
288
+exports.$stateChangeError = $stateChangeError;
289
+exports.$stateNotFound = $stateNotFound;
290
+
291
+Object.defineProperty(exports, '__esModule', { value: true });
292
+
293
+})));
294
+//# sourceMappingURL=stateEvents.js.map

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 17 - 0
static/bower_components/angular-ui-router/release/stateEvents.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
static/bower_components/angular-ui-router/release/stateEvents.min.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 102 - 0
static/bower_components/angular-ui-router/release/stateEvents.min.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2014 - 0
static/bower_components/angular-ui-router/release/ui-router-angularjs.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 70 - 0
static/bower_components/angular-ui-router/release/ui-router-angularjs.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 9 - 0
static/bower_components/angular-ui-router/release/ui-router-angularjs.min.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 541 - 0
static/bower_components/angular-ui-router/release/ui-router-angularjs.min.js.map


+ 116 - 0
static/bower_components/angular-ui-router/rollup.config.js

@@ -0,0 +1,116 @@
1
+import nodeResolve from 'rollup-plugin-node-resolve';
2
+import uglify from 'rollup-plugin-uglify';
3
+import progress from 'rollup-plugin-progress';
4
+import sourcemaps from 'rollup-plugin-sourcemaps';
5
+import visualizer from 'rollup-plugin-visualizer';
6
+
7
+const MINIFY = process.env.MINIFY;
8
+const MONOLITHIC = process.env.MONOLITHIC;
9
+const ROUTER = process.env.ROUTER;
10
+const EVENTS = process.env.EVENTS;
11
+const RESOLVE = process.env.RESOLVE;
12
+
13
+const pkg = require('./package.json');
14
+let banner =
15
+`/**
16
+ * ${pkg.description}`;
17
+if (ROUTER && MONOLITHIC) {
18
+  banner += `
19
+ * NOTICE: This monolithic bundle also bundles the @uirouter/core code.
20
+ *         This causes it to be incompatible with plugins that depend on @uirouter/core.
21
+ *         We recommend switching to the ui-router-core.js and ui-router-angularjs.js bundles instead.
22
+ *         For more information, see https://ui-router.github.io/blog/uirouter-for-angularjs-umd-bundles`
23
+} else if (ROUTER) {
24
+  banner += `
25
+ * This bundle requires the ui-router-core.js bundle from the @uirouter/core package.`
26
+}
27
+banner += `
28
+ * @version v${pkg.version}
29
+ * @link ${pkg.homepage}
30
+ * @license MIT License, http://www.opensource.org/licenses/MIT
31
+ */`;
32
+
33
+const uglifyOpts = { output: {} };
34
+// retain multiline comment with @license
35
+uglifyOpts.output.comments = (node, comment) =>
36
+comment.type === 'comment2' && /@license/i.test(comment.value);
37
+
38
+const onwarn = (warning) => {
39
+  // Suppress this error message... https://github.com/rollup/rollup/wiki/Troubleshooting#this-is-undefined
40
+  const ignores = ['THIS_IS_UNDEFINED'];
41
+  if (!ignores.some(code => code === warning.code)) {
42
+    console.error(warning.message);
43
+  }
44
+};
45
+
46
+const plugins = [
47
+  nodeResolve({jsnext: true}),
48
+  progress({ clearLine: false }),
49
+  sourcemaps(),
50
+];
51
+
52
+if (MINIFY) plugins.push(uglify(uglifyOpts));
53
+if (ROUTER && MINIFY) plugins.push(visualizer({ sourcemap: true }));
54
+
55
+const extension = MINIFY ? ".min.js" : ".js";
56
+
57
+const BASE_CONFIG = {
58
+  sourcemap: true,
59
+  exports: 'named',
60
+  plugins: plugins,
61
+  banner: banner,
62
+  onwarn: onwarn,
63
+};
64
+
65
+const ROUTER_CONFIG = Object.assign({
66
+  input: 'lib-esm/index.js',
67
+  external: ['angular', '@uirouter/core'],
68
+  output: {
69
+    file: 'release/ui-router-angularjs' + extension,
70
+    format: 'umd',
71
+    name: '@uirouter/angularjs',
72
+    globals: { angular: 'angular', '@uirouter/core': '@uirouter/core' },
73
+  },
74
+}, BASE_CONFIG);
75
+
76
+// Also bundles the code from @uirouter/core into the same bundle
77
+const MONOLITHIC_ROUTER_CONFIG = Object.assign({
78
+  input: 'lib-esm/index.js',
79
+  external: 'angular',
80
+  output: {
81
+    file: 'release/angular-ui-router' + extension,
82
+    format: 'umd',
83
+    name: '@uirouter/angularjs',
84
+    globals: { angular: 'angular' },
85
+  },
86
+}, BASE_CONFIG);
87
+
88
+const EVENTS_CONFIG = Object.assign({}, BASE_CONFIG, {
89
+  input: 'lib-esm/legacy/stateEvents.js',
90
+  external: ['angular', '@uirouter/core'],
91
+  output: {
92
+    file: 'release/stateEvents' + extension,
93
+    format: 'umd',
94
+    name: '@uirouter/angularjs-state-events',
95
+    globals: { angular: 'angular', '@uirouter/core': '@uirouter/core' },
96
+  },
97
+});
98
+
99
+const RESOLVE_CONFIG = Object.assign({}, BASE_CONFIG, {
100
+  input: 'lib-esm/legacy/resolveService.js',
101
+  external: ['angular', '@uirouter/core'],
102
+  output: {
103
+    file: 'release/resolveService' + extension,
104
+    format: 'umd',
105
+    name: '@uirouter/angularjs-resolve-service',
106
+    globals: { angular: 'angular', '@uirouter/core': '@uirouter/core' },
107
+  },
108
+});
109
+
110
+const CONFIG =
111
+    RESOLVE ? RESOLVE_CONFIG :
112
+    EVENTS ? EVENTS_CONFIG :
113
+    MONOLITHIC ? MONOLITHIC_ROUTER_CONFIG :
114
+    ROUTER ? ROUTER_CONFIG : ROUTER_CONFIG;
115
+
116
+export default CONFIG;

+ 60 - 0
static/bower_components/angular-ui-router/tslint.json

@@ -0,0 +1,60 @@
1
+{ 
2
+  "rules": {
3
+    "align": [true, "parameters", "statements"],
4
+    "ban": false,
5
+    "class-name": true,
6
+    "comment-format": [false, "check-space", "check-lowercase" ],
7
+    "curly": false,
8
+    "eofline": false,
9
+    "forin": true,
10
+    "indent": [true, "spaces"],
11
+    "interface-name": false,
12
+    "jsdoc-format": true,
13
+    "label-position": true,
14
+    "label-undefined": true,
15
+    "max-line-length": [true, 180],
16
+    "member-access": false,
17
+    "member-ordering": [false, "public-before-private", "static-before-instance", "variables-before-functions" ],
18
+    "no-any": false,
19
+    "no-arg": true,
20
+    "no-bitwise": true,
21
+    "no-conditional-assignment": true,
22
+    "no-console": [true, "debug", "info", "time", "timeEnd", "trace" ],
23
+    "no-construct": true,
24
+    "no-constructor-vars": false,
25
+    "no-debugger": true,
26
+    "no-duplicate-key": true,
27
+    "no-shadowed-variable": true,
28
+    "no-duplicate-variable": true,
29
+    "no-empty": false,
30
+    "no-eval": true,
31
+    "no-internal-module": true,
32
+    "no-require-imports": true,
33
+    "no-string-literal": false,
34
+    "no-switch-case-fall-through": true,
35
+    "no-trailing-comma": true,
36
+    "no-trailing-whitespace": false,
37
+    "no-unreachable": true,
38
+    "no-unused-expression": [true, "allow-fast-null-checks"],
39
+    "no-unused-variable": true,
40
+    "no-use-before-declare": true,
41
+    "no-var-keyword": true,
42
+    "no-var-requires": true,
43
+    "one-line": [true, "check-open-brace", "check-catch", "check-else", "check-whitespace" ],
44
+    "quotemark": [false, "double"],
45
+    "radix": true,
46
+    "semicolon": true,
47
+    "switch-default": true,
48
+    "triple-equals": [true, "allow-null-check"],
49
+    "typedef": [false, "call-signature", "parameter", "property-declaration", "variable-declaration", "member-variable-declaration" ],
50
+    "typedef-whitespace": [true, {
51
+        "call-signature": "nospace",
52
+        "index-signature": "nospace",
53
+        "parameter": "nospace",
54
+        "variable-declaration": "nospace"
55
+    }],
56
+    "use-strict": [false, "check-module", "check-function" ],
57
+    "variable-name": false,
58
+    "whitespace": [true, "check-branch", "check-decl", "check-operator", "check-separator", "check-type" ]
59
+}
60
+}

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 3984 - 0
static/bower_components/angular-ui-router/yarn.lock


+ 18 - 0
static/bower_components/angular/.bower.json

@@ -0,0 +1,18 @@
1
+{
2
+  "name": "angular",
3
+  "version": "1.6.6",
4
+  "license": "MIT",
5
+  "main": "./angular.js",
6
+  "ignore": [],
7
+  "dependencies": {},
8
+  "homepage": "https://github.com/angular/bower-angular",
9
+  "_release": "1.6.6",
10
+  "_resolution": {
11
+    "type": "version",
12
+    "tag": "v1.6.6",
13
+    "commit": "928fe478bd68d049ff9863dc51814eac24d33b9a"
14
+  },
15
+  "_source": "https://github.com/angular/bower-angular.git",
16
+  "_target": ">= 1.2.0",
17
+  "_originalSource": "angular"
18
+}

+ 21 - 0
static/bower_components/angular/LICENSE.md

@@ -0,0 +1,21 @@
1
+The MIT License (MIT)
2
+
3
+Copyright (c) 2016 Angular
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.

+ 64 - 0
static/bower_components/angular/README.md

@@ -0,0 +1,64 @@
1
+# packaged angular
2
+
3
+This repo is for distribution on `npm` and `bower`. The source for this module is in the
4
+[main AngularJS repo](https://github.com/angular/angular.js).
5
+Please file issues and pull requests against that repo.
6
+
7
+## Install
8
+
9
+You can install this package either with `npm` or with `bower`.
10
+
11
+### npm
12
+
13
+```shell
14
+npm install angular
15
+```
16
+
17
+Then add a `<script>` to your `index.html`:
18
+
19
+```html
20
+<script src="/node_modules/angular/angular.js"></script>
21
+```
22
+
23
+Or `require('angular')` from your code.
24
+
25
+### bower
26
+
27
+```shell
28
+bower install angular
29
+```
30
+
31
+Then add a `<script>` to your `index.html`:
32
+
33
+```html
34
+<script src="/bower_components/angular/angular.js"></script>
35
+```
36
+
37
+## Documentation
38
+
39
+Documentation is available on the
40
+[AngularJS docs site](http://docs.angularjs.org/).
41
+
42
+## License
43
+
44
+The MIT License
45
+
46
+Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
47
+
48
+Permission is hereby granted, free of charge, to any person obtaining a copy
49
+of this software and associated documentation files (the "Software"), to deal
50
+in the Software without restriction, including without limitation the rights
51
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
52
+copies of the Software, and to permit persons to whom the Software is
53
+furnished to do so, subject to the following conditions:
54
+
55
+The above copyright notice and this permission notice shall be included in
56
+all copies or substantial portions of the Software.
57
+
58
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
59
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
60
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
61
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
62
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
63
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
64
+THE SOFTWARE.

+ 21 - 0
static/bower_components/angular/angular-csp.css

@@ -0,0 +1,21 @@
1
+/* Include this file in your html if you are using the CSP mode. */
2
+
3
+@charset "UTF-8";
4
+
5
+[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
6
+.ng-cloak, .x-ng-cloak,
7
+.ng-hide:not(.ng-hide-animate) {
8
+  display: none !important;
9
+}
10
+
11
+ng\:form {
12
+  display: block;
13
+}
14
+
15
+.ng-animate-shim {
16
+  visibility:hidden;
17
+}
18
+
19
+.ng-anchor {
20
+  position:absolute;
21
+}

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 33889 - 0
static/bower_components/angular/angular.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 335 - 0
static/bower_components/angular/angular.min.js


BIN
static/bower_components/angular/angular.min.js.gzip


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
static/bower_components/angular/angular.min.js.map


+ 9 - 0
static/bower_components/angular/bower.json

@@ -0,0 +1,9 @@
1
+{
2
+  "name": "angular",
3
+  "version": "1.6.6",
4
+  "license": "MIT",
5
+  "main": "./angular.js",
6
+  "ignore": [],
7
+  "dependencies": {
8
+  }
9
+}

+ 2 - 0
static/bower_components/angular/index.js

@@ -0,0 +1,2 @@
1
+require('./angular');
2
+module.exports = angular;

+ 25 - 0
static/bower_components/angular/package.json

@@ -0,0 +1,25 @@
1
+{
2
+  "name": "angular",
3
+  "version": "1.6.6",
4
+  "description": "HTML enhanced for web apps",
5
+  "main": "index.js",
6
+  "scripts": {
7
+    "test": "echo \"Error: no test specified\" && exit 1"
8
+  },
9
+  "repository": {
10
+    "type": "git",
11
+    "url": "https://github.com/angular/angular.js.git"
12
+  },
13
+  "keywords": [
14
+    "angular",
15
+    "framework",
16
+    "browser",
17
+    "client-side"
18
+  ],
19
+  "author": "Angular Core Team <angular-core+npm@google.com>",
20
+  "license": "MIT",
21
+  "bugs": {
22
+    "url": "https://github.com/angular/angular.js/issues"
23
+  },
24
+  "homepage": "http://angularjs.org"
25
+}

+ 25 - 0
static/bower_components/jquery/.bower.json

@@ -0,0 +1,25 @@
1
+{
2
+  "name": "jquery",
3
+  "main": "dist/jquery.js",
4
+  "license": "MIT",
5
+  "ignore": [
6
+    "package.json"
7
+  ],
8
+  "keywords": [
9
+    "jquery",
10
+    "javascript",
11
+    "browser",
12
+    "library"
13
+  ],
14
+  "homepage": "https://github.com/jquery/jquery-dist",
15
+  "version": "3.2.1",
16
+  "_release": "3.2.1",
17
+  "_resolution": {
18
+    "type": "version",
19
+    "tag": "3.2.1",
20
+    "commit": "77d2a51d0520d2ee44173afdf4e40a9201f5964e"
21
+  },
22
+  "_source": "https://github.com/jquery/jquery-dist.git",
23
+  "_target": ">=1.7",
24
+  "_originalSource": "jquery"
25
+}

+ 301 - 0
static/bower_components/jquery/AUTHORS.txt

@@ -0,0 +1,301 @@
1
+Authors ordered by first contribution.
2
+
3
+John Resig <jeresig@gmail.com>
4
+Gilles van den Hoven <gilles0181@gmail.com>
5
+Michael Geary <mike@geary.com>
6
+Stefan Petre <stefan.petre@gmail.com>
7
+Yehuda Katz <wycats@gmail.com>
8
+Corey Jewett <cj@syntheticplayground.com>
9
+Klaus Hartl <klaus.hartl@gmail.com>
10
+Franck Marcia <franck.marcia@gmail.com>
11
+Jörn Zaefferer <joern.zaefferer@gmail.com>
12
+Paul Bakaus <paul.bakaus@gmail.com>
13
+Brandon Aaron <brandon.aaron@gmail.com>
14
+Mike Alsup <malsup@gmail.com>
15
+Dave Methvin <dave.methvin@gmail.com>
16
+Ed Engelhardt <edengelhardt@gmail.com>
17
+Sean Catchpole <littlecooldude@gmail.com>
18
+Paul Mclanahan <pmclanahan@gmail.com>
19
+David Serduke <davidserduke@gmail.com>
20
+Richard D. Worth <rdworth@gmail.com>
21
+Scott González <scott.gonzalez@gmail.com>
22
+Ariel Flesler <aflesler@gmail.com>
23
+Jon Evans <jon@springyweb.com>
24
+TJ Holowaychuk <tj@vision-media.ca>
25
+Michael Bensoussan <mickey@seesmic.com>
26
+Robert Katić <robert.katic@gmail.com>
27
+Louis-Rémi Babé <lrbabe@gmail.com>
28
+Earle Castledine <mrspeaker@gmail.com>
29
+Damian Janowski <damian.janowski@gmail.com>
30
+Rich Dougherty <rich@rd.gen.nz>
31
+Kim Dalsgaard <kim@kimdalsgaard.com>
32
+Andrea Giammarchi <andrea.giammarchi@gmail.com>
33
+Mark Gibson <jollytoad@gmail.com>
34
+Karl Swedberg <kswedberg@gmail.com>
35
+Justin Meyer <justinbmeyer@gmail.com>
36
+Ben Alman <cowboy@rj3.net>
37
+James Padolsey <cla@padolsey.net>
38
+David Petersen <public@petersendidit.com>
39
+Batiste Bieler <batiste.bieler@gmail.com>
40
+Alexander Farkas <info@corrupt-system.de>
41
+Rick Waldron <waldron.rick@gmail.com>
42
+Filipe Fortes <filipe@fortes.com>
43
+Neeraj Singh <neerajdotname@gmail.com>
44
+Paul Irish <paul.irish@gmail.com>
45
+Iraê Carvalho <irae@irae.pro.br>
46
+Matt Curry <matt@pseudocoder.com>
47
+Michael Monteleone <michael@michaelmonteleone.net>
48
+Noah Sloan <noah.sloan@gmail.com>
49
+Tom Viner <github@viner.tv>
50
+Douglas Neiner <doug@dougneiner.com>
51
+Adam J. Sontag <ajpiano@ajpiano.com>
52
+Dave Reed <dareed@microsoft.com>
53
+Ralph Whitbeck <ralph.whitbeck@gmail.com>
54
+Carl Fürstenberg <azatoth@gmail.com>
55
+Jacob Wright <jacwright@gmail.com>
56
+J. Ryan Stinnett <jryans@gmail.com>
57
+unknown <Igen005@.upcorp.ad.uprr.com>
58
+temp01 <temp01irc@gmail.com>
59
+Heungsub Lee <h@subl.ee>
60
+Colin Snover <github.com@zetafleet.com>
61
+Ryan W Tenney <ryan@10e.us>
62
+Pinhook <contact@pinhooklabs.com>
63
+Ron Otten <r.j.g.otten@gmail.com>
64
+Jephte Clain <Jephte.Clain@univ-reunion.fr>
65
+Anton Matzneller <obhvsbypqghgc@gmail.com>
66
+Alex Sexton <AlexSexton@gmail.com>
67
+Dan Heberden <danheberden@gmail.com>
68
+Henri Wiechers <hwiechers@gmail.com>
69
+Russell Holbrook <russell.holbrook@patch.com>
70
+Julian Aubourg <aubourg.julian@gmail.com>
71
+Gianni Alessandro Chiappetta <gianni@runlevel6.org>
72
+Scott Jehl <scottjehl@gmail.com>
73
+James Burke <jrburke@gmail.com>
74
+Jonas Pfenniger <jonas@pfenniger.name>
75
+Xavi Ramirez <xavi.rmz@gmail.com>
76
+Jared Grippe <jared@deadlyicon.com>
77
+Sylvester Keil <sylvester@keil.or.at>
78
+Brandon Sterne <bsterne@mozilla.com>
79
+Mathias Bynens <mathias@qiwi.be>
80
+Timmy Willison <4timmywil@gmail.com>
81
+Corey Frang <gnarf37@gmail.com>
82
+Digitalxero <digitalxero>
83
+Anton Kovalyov <anton@kovalyov.net>
84
+David Murdoch <david@davidmurdoch.com>
85
+Josh Varner <josh.varner@gmail.com>
86
+Charles McNulty <cmcnulty@kznf.com>
87
+Jordan Boesch <jboesch26@gmail.com>
88
+Jess Thrysoee <jess@thrysoee.dk>
89
+Michael Murray <m@murz.net>
90
+Lee Carpenter <elcarpie@gmail.com>
91
+Alexis Abril <me@alexisabril.com>
92
+Rob Morgan <robbym@gmail.com>
93
+John Firebaugh <john_firebaugh@bigfix.com>
94
+Sam Bisbee <sam@sbisbee.com>
95
+Gilmore Davidson <gilmoreorless@gmail.com>
96
+Brian Brennan <me@brianlovesthings.com>
97
+Xavier Montillet <xavierm02.net@gmail.com>
98
+Daniel Pihlstrom <sciolist.se@gmail.com>
99
+Sahab Yazdani <sahab.yazdani+github@gmail.com>
100
+avaly <github-com@agachi.name>
101
+Scott Hughes <hi@scott-hughes.me>
102
+Mike Sherov <mike.sherov@gmail.com>
103
+Greg Hazel <ghazel@gmail.com>
104
+Schalk Neethling <schalk@ossreleasefeed.com>
105
+Denis Knauf <Denis.Knauf@gmail.com>
106
+Timo Tijhof <krinklemail@gmail.com>
107
+Steen Nielsen <swinedk@gmail.com>
108
+Anton Ryzhov <anton@ryzhov.me>
109
+Shi Chuan <shichuanr@gmail.com>
110
+Berker Peksag <berker.peksag@gmail.com>
111
+Toby Brain <tobyb@freshview.com>
112
+Matt Mueller <mattmuelle@gmail.com>
113
+Justin <drakefjustin@gmail.com>
114
+Daniel Herman <daniel.c.herman@gmail.com>
115
+Oleg Gaidarenko <markelog@gmail.com>
116
+Richard Gibson <richard.gibson@gmail.com>
117
+Rafaël Blais Masson <rafbmasson@gmail.com>
118
+cmc3cn <59194618@qq.com>
119
+Joe Presbrey <presbrey@gmail.com>
120
+Sindre Sorhus <sindresorhus@gmail.com>
121
+Arne de Bree <arne@bukkie.nl>
122
+Vladislav Zarakovsky <vlad.zar@gmail.com>
123
+Andrew E Monat <amonat@gmail.com>
124
+Oskari <admin@o-programs.com>
125
+Joao Henrique de Andrade Bruni <joaohbruni@yahoo.com.br>
126
+tsinha <tsinha@Anthonys-MacBook-Pro.local>
127
+Matt Farmer <matt@frmr.me>
128
+Trey Hunner <treyhunner@gmail.com>
129
+Jason Moon <jmoon@socialcast.com>
130
+Jeffery To <jeffery.to@gmail.com>
131
+Kris Borchers <kris.borchers@gmail.com>
132
+Vladimir Zhuravlev <private.face@gmail.com>
133
+Jacob Thornton <jacobthornton@gmail.com>
134
+Chad Killingsworth <chadkillingsworth@missouristate.edu>
135
+Nowres Rafid <nowres.rafed@gmail.com>
136
+David Benjamin <davidben@mit.edu>
137
+Uri Gilad <antishok@gmail.com>
138
+Chris Faulkner <thefaulkner@gmail.com>
139
+Elijah Manor <elijah.manor@gmail.com>
140
+Daniel Chatfield <chatfielddaniel@gmail.com>
141
+Nikita Govorov <nikita.govorov@gmail.com>
142
+Wesley Walser <waw325@gmail.com>
143
+Mike Pennisi <mike@mikepennisi.com>
144
+Markus Staab <markus.staab@redaxo.de>
145
+Dave Riddle <david@joyvuu.com>
146
+Callum Macrae <callum@lynxphp.com>
147
+Benjamin Truyman <bentruyman@gmail.com>
148
+James Huston <james@jameshuston.net>
149
+Erick Ruiz de Chávez <erickrdch@gmail.com>
150
+David Bonner <dbonner@cogolabs.com>
151
+Akintayo Akinwunmi <aakinwunmi@judge.com>
152
+MORGAN <morgan@morgangraphics.com>
153
+Ismail Khair <ismail.khair@gmail.com>
154
+Carl Danley <carldanley@gmail.com>
155
+Mike Petrovich <michael.c.petrovich@gmail.com>
156
+Greg Lavallee <greglavallee@wapolabs.com>
157
+Daniel Gálvez <dgalvez@editablething.com>
158
+Sai Lung Wong <sai.wong@huffingtonpost.com>
159
+Tom H Fuertes <TomFuertes@gmail.com>
160
+Roland Eckl <eckl.roland@googlemail.com>
161
+Jay Merrifield <fracmak@gmail.com>
162
+Allen J Schmidt Jr <cobrasoft@gmail.com>
163
+Jonathan Sampson <jjdsampson@gmail.com>
164
+Marcel Greter <marcel.greter@ocbnet.ch>
165
+Matthias Jäggli <matthias.jaeggli@gmail.com>
166
+David Fox <dfoxinator@gmail.com>
167
+Yiming He <yiminghe@gmail.com>
168
+Devin Cooper <cooper.semantics@gmail.com>
169
+Paul Ramos <paul.b.ramos@gmail.com>
170
+Rod Vagg <rod@vagg.org>
171
+Bennett Sorbo <bsorbo@gmail.com>
172
+Sebastian Burkhard <sebi.burkhard@gmail.com>
173
+Zachary Adam Kaplan <razic@viralkitty.com>
174
+nanto_vi <nanto@moon.email.ne.jp>
175
+nanto <nanto@moon.email.ne.jp>
176
+Danil Somsikov <danilasomsikov@gmail.com>
177
+Ryunosuke SATO <tricknotes.rs@gmail.com>
178
+Jean Boussier <jean.boussier@gmail.com>
179
+Adam Coulombe <me@adam.co>
180
+Andrew Plummer <plummer.andrew@gmail.com>
181
+Mark Raddatz <mraddatz@gmail.com>
182
+Isaac Z. Schlueter <i@izs.me>
183
+Karl Sieburg <ksieburg@yahoo.com>
184
+Pascal Borreli <pascal@borreli.com>
185
+Nguyen Phuc Lam <ruado1987@gmail.com>
186
+Dmitry Gusev <dmitry.gusev@gmail.com>
187
+Michał Gołębiowski <m.goleb@gmail.com>
188
+Li Xudong <istonelee@gmail.com>
189
+Steven Benner <admin@stevenbenner.com>
190
+Tom H Fuertes <tomfuertes@gmail.com>
191
+Renato Oliveira dos Santos <ros3@cin.ufpe.br>
192
+ros3cin <ros3@cin.ufpe.br>
193
+Jason Bedard <jason+jquery@jbedard.ca>
194
+Kyle Robinson Young <kyle@dontkry.com>
195
+Chris Talkington <chris@talkingtontech.com>
196
+Eddie Monge <eddie@eddiemonge.com>
197
+Terry Jones <terry@jon.es>
198
+Jason Merino <jasonmerino@gmail.com>
199
+Jeremy Dunck <jdunck@gmail.com>
200
+Chris Price <price.c@gmail.com>
201
+Guy Bedford <guybedford@gmail.com>
202
+Amey Sakhadeo <me@ameyms.com>
203
+Mike Sidorov <mikes.ekb@gmail.com>
204
+Anthony Ryan <anthonyryan1@gmail.com>
205
+Dominik D. Geyer <dominik.geyer@gmail.com>
206
+George Kats <katsgeorgeek@gmail.com>
207
+Lihan Li <frankieteardrop@gmail.com>
208
+Ronny Springer <springer.ronny@gmail.com>
209
+Chris Antaki <ChrisAntaki@gmail.com>
210
+Marian Sollmann <marian.sollmann@cargomedia.ch>
211
+njhamann <njhamann@gmail.com>
212
+Ilya Kantor <iliakan@gmail.com>
213
+David Hong <d.hong@me.com>
214
+John Paul <john@johnkpaul.com>
215
+Jakob Stoeck <jakob@pokermania.de>
216
+Christopher Jones <chris@cjqed.com>
217
+Forbes Lindesay <forbes@lindesay.co.uk>
218
+S. Andrew Sheppard <andrew@wq.io>
219
+Leonardo Balter <leonardo.balter@gmail.com>
220
+Roman Reiß <me@silverwind.io>
221
+Benjy Cui <benjytrys@gmail.com>
222
+Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com>
223
+John Hoven <hovenj@gmail.com>
224
+Philip Jägenstedt <philip@foolip.org>
225
+Christian Kosmowski <ksmwsk@gmail.com>
226
+Liang Peng <poppinlp@gmail.com>
227
+TJ VanToll <tj.vantoll@gmail.com>
228
+Senya Pugach <upisfree@outlook.com>
229
+Aurelio De Rosa <aurelioderosa@gmail.com>
230
+Nazar Mokrynskyi <nazar@mokrynskyi.com>
231
+Amit Merchant <bullredeyes@gmail.com>
232
+Jason Bedard <jason+github@jbedard.ca>
233
+Arthur Verschaeve <contact@arthurverschaeve.be>
234
+Dan Hart <danhart@notonthehighstreet.com>
235
+Bin Xin <rhyzix@gmail.com>
236
+David Corbacho <davidcorbacho@gmail.com>
237
+Veaceslav Grimalschi <grimalschi@yandex.ru>
238
+Daniel Husar <dano.husar@gmail.com>
239
+Frederic Hemberger <mail@frederic-hemberger.de>
240
+Ben Toews <mastahyeti@gmail.com>
241
+Aditya Raghavan <araghavan3@gmail.com>
242
+Victor Homyakov <vkhomyackov@gmail.com>
243
+Shivaji Varma <contact@shivajivarma.com>
244
+Nicolas HENRY <icewil@gmail.com>
245
+Anne-Gaelle Colom <coloma@westminster.ac.uk>
246
+George Mauer <gmauer@gmail.com>
247
+Leonardo Braga <leonardo.braga@gmail.com>
248
+Stephen Edgar <stephen@netweb.com.au>
249
+Thomas Tortorini <thomastortorini@gmail.com>
250
+Winston Howes <winstonhowes@gmail.com>
251
+Jon Hester <jon.d.hester@gmail.com>
252
+Alexander O'Mara <me@alexomara.com>
253
+Bastian Buchholz <buchholz.bastian@googlemail.com>
254
+Arthur Stolyar <nekr.fabula@gmail.com>
255
+Calvin Metcalf <calvin.metcalf@gmail.com>
256
+Mu Haibao <mhbseal@163.com>
257
+Richard McDaniel <rm0026@uah.edu>
258
+Chris Rebert <github@rebertia.com>
259
+Gabriel Schulhof <gabriel.schulhof@intel.com>
260
+Gilad Peleg <giladp007@gmail.com>
261
+Martin Naumann <martin@geekonaut.de>
262
+Marek Lewandowski <m.lewandowski@cksource.com>
263
+Bruno Pérel <brunoperel@gmail.com>
264
+Reed Loden <reed@reedloden.com>
265
+Daniel Nill <daniellnill@gmail.com>
266
+Yongwoo Jeon <yongwoo.jeon@navercorp.com>
267
+Sean Henderson <seanh.za@gmail.com>
268
+Richard Kraaijenhagen <stdin+git@riichard.com>
269
+Connor Atherton <c.liam.atherton@gmail.com>
270
+Gary Ye <garysye@gmail.com>
271
+Christian Grete <webmaster@christiangrete.com>
272
+Liza Ramo <liza.h.ramo@gmail.com>
273
+Julian Alexander Murillo <julian.alexander.murillo@gmail.com>
274
+Joelle Fleurantin <joasqueeniebee@gmail.com>
275
+Jae Sung Park <alberto.park@gmail.com>
276
+Jun Sun <klsforever@gmail.com>
277
+Josh Soref <apache@soref.com>
278
+Henry Wong <henryw4k@gmail.com>
279
+Jon Dufresne <jon.dufresne@gmail.com>
280
+Martijn W. van der Lee <martijn@vanderlee.com>
281
+Devin Wilson <dwilson6.github@gmail.com>
282
+Steve Mao <maochenyan@gmail.com>
283
+Zack Hall <zackhall@outlook.com>
284
+Bernhard M. Wiedemann <jquerybmw@lsmod.de>
285
+Todor Prikumov <tono_pr@abv.bg>
286
+Jha Naman <createnaman@gmail.com>
287
+William Robinet <william.robinet@conostix.com>
288
+Alexander Lisianoi <all3fox@gmail.com>
289
+Vitaliy Terziev <vitaliyterziev@gmail.com>
290
+Joe Trumbull <trumbull.j@gmail.com>
291
+Alexander K <xpyro@ya.ru>
292
+Damian Senn <jquery@topaxi.codes>
293
+Ralin Chimev <ralin.chimev@gmail.com>
294
+Felipe Sateler <fsateler@gmail.com>
295
+Christophe Tafani-Dereeper <christophetd@hotmail.fr>
296
+Manoj Kumar <nithmanoj@gmail.com>
297
+David Broder-Rodgers <broder93@gmail.com>
298
+Alex Louden <alex@louden.com>
299
+Alex Padilla <alexonezero@outlook.com>
300
+南漂一卒 <shiy007@qq.com>
301
+karan-96 <karanbatra96@gmail.com>

+ 36 - 0
static/bower_components/jquery/LICENSE.txt

@@ -0,0 +1,36 @@
1
+Copyright JS Foundation and other contributors, https://js.foundation/
2
+
3
+This software consists of voluntary contributions made by many
4
+individuals. For exact contribution history, see the revision history
5
+available at https://github.com/jquery/jquery
6
+
7
+The following license applies to all parts of this software except as
8
+documented below:
9
+
10
+====
11
+
12
+Permission is hereby granted, free of charge, to any person obtaining
13
+a copy of this software and associated documentation files (the
14
+"Software"), to deal in the Software without restriction, including
15
+without limitation the rights to use, copy, modify, merge, publish,
16
+distribute, sublicense, and/or sell copies of the Software, and to
17
+permit persons to whom the Software is furnished to do so, subject to
18
+the following conditions:
19
+
20
+The above copyright notice and this permission notice shall be
21
+included in all copies or substantial portions of the Software.
22
+
23
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
27
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
+
31
+====
32
+
33
+All files located in the node_modules and external directories are
34
+externally maintained libraries used by this software which have their
35
+own licenses; we recommend you read them, as their terms may differ from
36
+the terms above.

+ 67 - 0
static/bower_components/jquery/README.md

@@ -0,0 +1,67 @@
1
+# jQuery
2
+
3
+> jQuery is a fast, small, and feature-rich JavaScript library.
4
+
5
+For information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/).
6
+For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery).
7
+
8
+If upgrading, please see the [blog post for 3.2.1](https://blog.jquery.com/2017/03/20/jquery-3-2-1-now-available/). This includes notable differences from the previous version and a more readable changelog.
9
+
10
+## Including jQuery
11
+
12
+Below are some of the most common ways to include jQuery.
13
+
14
+### Browser
15
+
16
+#### Script tag
17
+
18
+```html
19
+<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
20
+```
21
+
22
+#### Babel
23
+
24
+[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively.
25
+
26
+```js
27
+import $ from "jquery";
28
+```
29
+
30
+#### Browserify/Webpack
31
+
32
+There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this...
33
+
34
+```js
35
+var $ = require("jquery");
36
+```
37
+
38
+#### AMD (Asynchronous Module Definition)
39
+
40
+AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html).
41
+
42
+```js
43
+define(["jquery"], function($) {
44
+
45
+});
46
+```
47
+
48
+### Node
49
+
50
+To include jQuery in [Node](nodejs.org), first install with npm.
51
+
52
+```sh
53
+npm install jquery
54
+```
55
+
56
+For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes.
57
+
58
+```js
59
+require("jsdom").env("", function(err, window) {
60
+	if (err) {
61
+		console.error(err);
62
+		return;
63
+	}
64
+
65
+	var $ = require("jquery")(window);
66
+});
67
+```

+ 14 - 0
static/bower_components/jquery/bower.json

@@ -0,0 +1,14 @@
1
+{
2
+  "name": "jquery",
3
+  "main": "dist/jquery.js",
4
+  "license": "MIT",
5
+  "ignore": [
6
+    "package.json"
7
+  ],
8
+  "keywords": [
9
+    "jquery",
10
+    "javascript",
11
+    "browser",
12
+    "library"
13
+  ]
14
+}

+ 476 - 0
static/bower_components/jquery/dist/core.js

@@ -0,0 +1,476 @@
1
+/* global Symbol */
2
+// Defining this global in .eslintrc.json would create a danger of using the global
3
+// unguarded in another place, it seems safer to define global only for this module
4
+
5
+define( [
6
+	"./var/arr",
7
+	"./var/document",
8
+	"./var/getProto",
9
+	"./var/slice",
10
+	"./var/concat",
11
+	"./var/push",
12
+	"./var/indexOf",
13
+	"./var/class2type",
14
+	"./var/toString",
15
+	"./var/hasOwn",
16
+	"./var/fnToString",
17
+	"./var/ObjectFunctionString",
18
+	"./var/support",
19
+	"./core/DOMEval"
20
+], function( arr, document, getProto, slice, concat, push, indexOf,
21
+	class2type, toString, hasOwn, fnToString, ObjectFunctionString,
22
+	support, DOMEval ) {
23
+
24
+"use strict";
25
+
26
+var
27
+	version = "3.2.1",
28
+
29
+	// Define a local copy of jQuery
30
+	jQuery = function( selector, context ) {
31
+
32
+		// The jQuery object is actually just the init constructor 'enhanced'
33
+		// Need init if jQuery is called (just allow error to be thrown if not included)
34
+		return new jQuery.fn.init( selector, context );
35
+	},
36
+
37
+	// Support: Android <=4.0 only
38
+	// Make sure we trim BOM and NBSP
39
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
40
+
41
+	// Matches dashed string for camelizing
42
+	rmsPrefix = /^-ms-/,
43
+	rdashAlpha = /-([a-z])/g,
44
+
45
+	// Used by jQuery.camelCase as callback to replace()
46
+	fcamelCase = function( all, letter ) {
47
+		return letter.toUpperCase();
48
+	};
49
+
50
+jQuery.fn = jQuery.prototype = {
51
+
52
+	// The current version of jQuery being used
53
+	jquery: version,
54
+
55
+	constructor: jQuery,
56
+
57
+	// The default length of a jQuery object is 0
58
+	length: 0,
59
+
60
+	toArray: function() {
61
+		return slice.call( this );
62
+	},
63
+
64
+	// Get the Nth element in the matched element set OR
65
+	// Get the whole matched element set as a clean array
66
+	get: function( num ) {
67
+
68
+		// Return all the elements in a clean array
69
+		if ( num == null ) {
70
+			return slice.call( this );
71
+		}
72
+
73
+		// Return just the one element from the set
74
+		return num < 0 ? this[ num + this.length ] : this[ num ];
75
+	},
76
+
77
+	// Take an array of elements and push it onto the stack
78
+	// (returning the new matched element set)
79
+	pushStack: function( elems ) {
80
+
81
+		// Build a new jQuery matched element set
82
+		var ret = jQuery.merge( this.constructor(), elems );
83
+
84
+		// Add the old object onto the stack (as a reference)
85
+		ret.prevObject = this;
86
+
87
+		// Return the newly-formed element set
88
+		return ret;
89
+	},
90
+
91
+	// Execute a callback for every element in the matched set.
92
+	each: function( callback ) {
93
+		return jQuery.each( this, callback );
94
+	},
95
+
96
+	map: function( callback ) {
97
+		return this.pushStack( jQuery.map( this, function( elem, i ) {
98
+			return callback.call( elem, i, elem );
99
+		} ) );
100
+	},
101
+
102
+	slice: function() {
103
+		return this.pushStack( slice.apply( this, arguments ) );
104
+	},
105
+
106
+	first: function() {
107
+		return this.eq( 0 );
108
+	},
109
+
110
+	last: function() {
111
+		return this.eq( -1 );
112
+	},
113
+
114
+	eq: function( i ) {
115
+		var len = this.length,
116
+			j = +i + ( i < 0 ? len : 0 );
117
+		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
118
+	},
119
+
120
+	end: function() {
121
+		return this.prevObject || this.constructor();
122
+	},
123
+
124
+	// For internal use only.
125
+	// Behaves like an Array's method, not like a jQuery method.
126
+	push: push,
127
+	sort: arr.sort,
128
+	splice: arr.splice
129
+};
130
+
131
+jQuery.extend = jQuery.fn.extend = function() {
132
+	var options, name, src, copy, copyIsArray, clone,
133
+		target = arguments[ 0 ] || {},
134
+		i = 1,
135
+		length = arguments.length,
136
+		deep = false;
137
+
138
+	// Handle a deep copy situation
139
+	if ( typeof target === "boolean" ) {
140
+		deep = target;
141
+
142
+		// Skip the boolean and the target
143
+		target = arguments[ i ] || {};
144
+		i++;
145
+	}
146
+
147
+	// Handle case when target is a string or something (possible in deep copy)
148
+	if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
149
+		target = {};
150
+	}
151
+
152
+	// Extend jQuery itself if only one argument is passed
153
+	if ( i === length ) {
154
+		target = this;
155
+		i--;
156
+	}
157
+
158
+	for ( ; i < length; i++ ) {
159
+
160
+		// Only deal with non-null/undefined values
161
+		if ( ( options = arguments[ i ] ) != null ) {
162
+
163
+			// Extend the base object
164
+			for ( name in options ) {
165
+				src = target[ name ];
166
+				copy = options[ name ];
167
+
168
+				// Prevent never-ending loop
169
+				if ( target === copy ) {
170
+					continue;
171
+				}
172
+
173
+				// Recurse if we're merging plain objects or arrays
174
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
175
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
176
+
177
+					if ( copyIsArray ) {
178
+						copyIsArray = false;
179
+						clone = src && Array.isArray( src ) ? src : [];
180
+
181
+					} else {
182
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
183
+					}
184
+
185
+					// Never move original objects, clone them
186
+					target[ name ] = jQuery.extend( deep, clone, copy );
187
+
188
+				// Don't bring in undefined values
189
+				} else if ( copy !== undefined ) {
190
+					target[ name ] = copy;
191
+				}
192
+			}
193
+		}
194
+	}
195
+
196
+	// Return the modified object
197
+	return target;
198
+};
199
+
200
+jQuery.extend( {
201
+
202
+	// Unique for each copy of jQuery on the page
203
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
204
+
205
+	// Assume jQuery is ready without the ready module
206
+	isReady: true,
207
+
208
+	error: function( msg ) {
209
+		throw new Error( msg );
210
+	},
211
+
212
+	noop: function() {},
213
+
214
+	isFunction: function( obj ) {
215
+		return jQuery.type( obj ) === "function";
216
+	},
217
+
218
+	isWindow: function( obj ) {
219
+		return obj != null && obj === obj.window;
220
+	},
221
+
222
+	isNumeric: function( obj ) {
223
+
224
+		// As of jQuery 3.0, isNumeric is limited to
225
+		// strings and numbers (primitives or objects)
226
+		// that can be coerced to finite numbers (gh-2662)
227
+		var type = jQuery.type( obj );
228
+		return ( type === "number" || type === "string" ) &&
229
+
230
+			// parseFloat NaNs numeric-cast false positives ("")
231
+			// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
232
+			// subtraction forces infinities to NaN
233
+			!isNaN( obj - parseFloat( obj ) );
234
+	},
235
+
236
+	isPlainObject: function( obj ) {
237
+		var proto, Ctor;
238
+
239
+		// Detect obvious negatives
240
+		// Use toString instead of jQuery.type to catch host objects
241
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
242
+			return false;
243
+		}
244
+
245
+		proto = getProto( obj );
246
+
247
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
248
+		if ( !proto ) {
249
+			return true;
250
+		}
251
+
252
+		// Objects with prototype are plain iff they were constructed by a global Object function
253
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
254
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
255
+	},
256
+
257
+	isEmptyObject: function( obj ) {
258
+
259
+		/* eslint-disable no-unused-vars */
260
+		// See https://github.com/eslint/eslint/issues/6125
261
+		var name;
262
+
263
+		for ( name in obj ) {
264
+			return false;
265
+		}
266
+		return true;
267
+	},
268
+
269
+	type: function( obj ) {
270
+		if ( obj == null ) {
271
+			return obj + "";
272
+		}
273
+
274
+		// Support: Android <=2.3 only (functionish RegExp)
275
+		return typeof obj === "object" || typeof obj === "function" ?
276
+			class2type[ toString.call( obj ) ] || "object" :
277
+			typeof obj;
278
+	},
279
+
280
+	// Evaluates a script in a global context
281
+	globalEval: function( code ) {
282
+		DOMEval( code );
283
+	},
284
+
285
+	// Convert dashed to camelCase; used by the css and data modules
286
+	// Support: IE <=9 - 11, Edge 12 - 13
287
+	// Microsoft forgot to hump their vendor prefix (#9572)
288
+	camelCase: function( string ) {
289
+		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
290
+	},
291
+
292
+	each: function( obj, callback ) {
293
+		var length, i = 0;
294
+
295
+		if ( isArrayLike( obj ) ) {
296
+			length = obj.length;
297
+			for ( ; i < length; i++ ) {
298
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
299
+					break;
300
+				}
301
+			}
302
+		} else {
303
+			for ( i in obj ) {
304
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
305
+					break;
306
+				}
307
+			}
308
+		}
309
+
310
+		return obj;
311
+	},
312
+
313
+	// Support: Android <=4.0 only
314
+	trim: function( text ) {
315
+		return text == null ?
316
+			"" :
317
+			( text + "" ).replace( rtrim, "" );
318
+	},
319
+
320
+	// results is for internal usage only
321
+	makeArray: function( arr, results ) {
322
+		var ret = results || [];
323
+
324
+		if ( arr != null ) {
325
+			if ( isArrayLike( Object( arr ) ) ) {
326
+				jQuery.merge( ret,
327
+					typeof arr === "string" ?
328
+					[ arr ] : arr
329
+				);
330
+			} else {
331
+				push.call( ret, arr );
332
+			}
333
+		}
334
+
335
+		return ret;
336
+	},
337
+
338
+	inArray: function( elem, arr, i ) {
339
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
340
+	},
341
+
342
+	// Support: Android <=4.0 only, PhantomJS 1 only
343
+	// push.apply(_, arraylike) throws on ancient WebKit
344
+	merge: function( first, second ) {
345
+		var len = +second.length,
346
+			j = 0,
347
+			i = first.length;
348
+
349
+		for ( ; j < len; j++ ) {
350
+			first[ i++ ] = second[ j ];
351
+		}
352
+
353
+		first.length = i;
354
+
355
+		return first;
356
+	},
357
+
358
+	grep: function( elems, callback, invert ) {
359
+		var callbackInverse,
360
+			matches = [],
361
+			i = 0,
362
+			length = elems.length,
363
+			callbackExpect = !invert;
364
+
365
+		// Go through the array, only saving the items
366
+		// that pass the validator function
367
+		for ( ; i < length; i++ ) {
368
+			callbackInverse = !callback( elems[ i ], i );
369
+			if ( callbackInverse !== callbackExpect ) {
370
+				matches.push( elems[ i ] );
371
+			}
372
+		}
373
+
374
+		return matches;
375
+	},
376
+
377
+	// arg is for internal usage only
378
+	map: function( elems, callback, arg ) {
379
+		var length, value,
380
+			i = 0,
381
+			ret = [];
382
+
383
+		// Go through the array, translating each of the items to their new values
384
+		if ( isArrayLike( elems ) ) {
385
+			length = elems.length;
386
+			for ( ; i < length; i++ ) {
387
+				value = callback( elems[ i ], i, arg );
388
+
389
+				if ( value != null ) {
390
+					ret.push( value );
391
+				}
392
+			}
393
+
394
+		// Go through every key on the object,
395
+		} else {
396
+			for ( i in elems ) {
397
+				value = callback( elems[ i ], i, arg );
398
+
399
+				if ( value != null ) {
400
+					ret.push( value );
401
+				}
402
+			}
403
+		}
404
+
405
+		// Flatten any nested arrays
406
+		return concat.apply( [], ret );
407
+	},
408
+
409
+	// A global GUID counter for objects
410
+	guid: 1,
411
+
412
+	// Bind a function to a context, optionally partially applying any
413
+	// arguments.
414
+	proxy: function( fn, context ) {
415
+		var tmp, args, proxy;
416
+
417
+		if ( typeof context === "string" ) {
418
+			tmp = fn[ context ];
419
+			context = fn;
420
+			fn = tmp;
421
+		}
422
+
423
+		// Quick check to determine if target is callable, in the spec
424
+		// this throws a TypeError, but we will just return undefined.
425
+		if ( !jQuery.isFunction( fn ) ) {
426
+			return undefined;
427
+		}
428
+
429
+		// Simulated bind
430
+		args = slice.call( arguments, 2 );
431
+		proxy = function() {
432
+			return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
433
+		};
434
+
435
+		// Set the guid of unique handler to the same of original handler, so it can be removed
436
+		proxy.guid = fn.guid = fn.guid || jQuery.guid++;
437
+
438
+		return proxy;
439
+	},
440
+
441
+	now: Date.now,
442
+
443
+	// jQuery.support is not used in Core but other projects attach their
444
+	// properties to it so it needs to exist.
445
+	support: support
446
+} );
447
+
448
+if ( typeof Symbol === "function" ) {
449
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
450
+}
451
+
452
+// Populate the class2type map
453
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
454
+function( i, name ) {
455
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
456
+} );
457
+
458
+function isArrayLike( obj ) {
459
+
460
+	// Support: real iOS 8.2 only (not reproducible in simulator)
461
+	// `in` check used to prevent JIT error (gh-2145)
462
+	// hasOwn isn't used here due to false negatives
463
+	// regarding Nodelist length in IE
464
+	var length = !!obj && "length" in obj && obj.length,
465
+		type = jQuery.type( obj );
466
+
467
+	if ( type === "function" || jQuery.isWindow( obj ) ) {
468
+		return false;
469
+	}
470
+
471
+	return type === "array" || length === 0 ||
472
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
473
+}
474
+
475
+return jQuery;
476
+} );

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 10253 - 0
static/bower_components/jquery/dist/jquery.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 0
static/bower_components/jquery/dist/jquery.min.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
static/bower_components/jquery/dist/jquery.min.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8160 - 0
static/bower_components/jquery/dist/jquery.slim.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 0
static/bower_components/jquery/dist/jquery.slim.min.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
static/bower_components/jquery/dist/jquery.slim.min.map


+ 36 - 0
static/bower_components/jquery/external/sizzle/LICENSE.txt

@@ -0,0 +1,36 @@
1
+Copyright jQuery Foundation and other contributors, https://jquery.org/
2
+
3
+This software consists of voluntary contributions made by many
4
+individuals. For exact contribution history, see the revision history
5
+available at https://github.com/jquery/sizzle
6
+
7
+The following license applies to all parts of this software except as
8
+documented below:
9
+
10
+====
11
+
12
+Permission is hereby granted, free of charge, to any person obtaining
13
+a copy of this software and associated documentation files (the
14
+"Software"), to deal in the Software without restriction, including
15
+without limitation the rights to use, copy, modify, merge, publish,
16
+distribute, sublicense, and/or sell copies of the Software, and to
17
+permit persons to whom the Software is furnished to do so, subject to
18
+the following conditions:
19
+
20
+The above copyright notice and this permission notice shall be
21
+included in all copies or substantial portions of the Software.
22
+
23
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
27
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
+
31
+====
32
+
33
+All files located in the node_modules and external directories are
34
+externally maintained libraries used by this software which have their
35
+own licenses; we recommend you read them, as their terms may differ from
36
+the terms above.

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2272 - 0
static/bower_components/jquery/external/sizzle/dist/sizzle.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 3 - 0
static/bower_components/jquery/external/sizzle/dist/sizzle.min.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
static/bower_components/jquery/external/sizzle/dist/sizzle.min.map


+ 5 - 0
static/bower_components/jquery/src/.eslintrc.json

@@ -0,0 +1,5 @@
1
+{
2
+	"root": true,
3
+
4
+	"extends": "../.eslintrc-browser.json"
5
+}

+ 855 - 0
static/bower_components/jquery/src/ajax.js

@@ -0,0 +1,855 @@
1
+define( [
2
+	"./core",
3
+	"./var/document",
4
+	"./var/rnothtmlwhite",
5
+	"./ajax/var/location",
6
+	"./ajax/var/nonce",
7
+	"./ajax/var/rquery",
8
+
9
+	"./core/init",
10
+	"./ajax/parseXML",
11
+	"./event/trigger",
12
+	"./deferred",
13
+	"./serialize" // jQuery.param
14
+], function( jQuery, document, rnothtmlwhite, location, nonce, rquery ) {
15
+
16
+"use strict";
17
+
18
+var
19
+	r20 = /%20/g,
20
+	rhash = /#.*$/,
21
+	rantiCache = /([?&])_=[^&]*/,
22
+	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
23
+
24
+	// #7653, #8125, #8152: local protocol detection
25
+	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
26
+	rnoContent = /^(?:GET|HEAD)$/,
27
+	rprotocol = /^\/\//,
28
+
29
+	/* Prefilters
30
+	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
31
+	 * 2) These are called:
32
+	 *    - BEFORE asking for a transport
33
+	 *    - AFTER param serialization (s.data is a string if s.processData is true)
34
+	 * 3) key is the dataType
35
+	 * 4) the catchall symbol "*" can be used
36
+	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
37
+	 */
38
+	prefilters = {},
39
+
40
+	/* Transports bindings
41
+	 * 1) key is the dataType
42
+	 * 2) the catchall symbol "*" can be used
43
+	 * 3) selection will start with transport dataType and THEN go to "*" if needed
44
+	 */
45
+	transports = {},
46
+
47
+	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
48
+	allTypes = "*/".concat( "*" ),
49
+
50
+	// Anchor tag for parsing the document origin
51
+	originAnchor = document.createElement( "a" );
52
+	originAnchor.href = location.href;
53
+
54
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
55
+function addToPrefiltersOrTransports( structure ) {
56
+
57
+	// dataTypeExpression is optional and defaults to "*"
58
+	return function( dataTypeExpression, func ) {
59
+
60
+		if ( typeof dataTypeExpression !== "string" ) {
61
+			func = dataTypeExpression;
62
+			dataTypeExpression = "*";
63
+		}
64
+
65
+		var dataType,
66
+			i = 0,
67
+			dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
68
+
69
+		if ( jQuery.isFunction( func ) ) {
70
+
71
+			// For each dataType in the dataTypeExpression
72
+			while ( ( dataType = dataTypes[ i++ ] ) ) {
73
+
74
+				// Prepend if requested
75
+				if ( dataType[ 0 ] === "+" ) {
76
+					dataType = dataType.slice( 1 ) || "*";
77
+					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
78
+
79
+				// Otherwise append
80
+				} else {
81
+					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
82
+				}
83
+			}
84
+		}
85
+	};
86
+}
87
+
88
+// Base inspection function for prefilters and transports
89
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
90
+
91
+	var inspected = {},
92
+		seekingTransport = ( structure === transports );
93
+
94
+	function inspect( dataType ) {
95
+		var selected;
96
+		inspected[ dataType ] = true;
97
+		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
98
+			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
99
+			if ( typeof dataTypeOrTransport === "string" &&
100
+				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
101
+
102
+				options.dataTypes.unshift( dataTypeOrTransport );
103
+				inspect( dataTypeOrTransport );
104
+				return false;
105
+			} else if ( seekingTransport ) {
106
+				return !( selected = dataTypeOrTransport );
107
+			}
108
+		} );
109
+		return selected;
110
+	}
111
+
112
+	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
113
+}
114
+
115
+// A special extend for ajax options
116
+// that takes "flat" options (not to be deep extended)
117
+// Fixes #9887
118
+function ajaxExtend( target, src ) {
119
+	var key, deep,
120
+		flatOptions = jQuery.ajaxSettings.flatOptions || {};
121
+
122
+	for ( key in src ) {
123
+		if ( src[ key ] !== undefined ) {
124
+			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
125
+		}
126
+	}
127
+	if ( deep ) {
128
+		jQuery.extend( true, target, deep );
129
+	}
130
+
131
+	return target;
132
+}
133
+
134
+/* Handles responses to an ajax request:
135
+ * - finds the right dataType (mediates between content-type and expected dataType)
136
+ * - returns the corresponding response
137
+ */
138
+function ajaxHandleResponses( s, jqXHR, responses ) {
139
+
140
+	var ct, type, finalDataType, firstDataType,
141
+		contents = s.contents,
142
+		dataTypes = s.dataTypes;
143
+
144
+	// Remove auto dataType and get content-type in the process
145
+	while ( dataTypes[ 0 ] === "*" ) {
146
+		dataTypes.shift();
147
+		if ( ct === undefined ) {
148
+			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
149
+		}
150
+	}
151
+
152
+	// Check if we're dealing with a known content-type
153
+	if ( ct ) {
154
+		for ( type in contents ) {
155
+			if ( contents[ type ] && contents[ type ].test( ct ) ) {
156
+				dataTypes.unshift( type );
157
+				break;
158
+			}
159
+		}
160
+	}
161
+
162
+	// Check to see if we have a response for the expected dataType
163
+	if ( dataTypes[ 0 ] in responses ) {
164
+		finalDataType = dataTypes[ 0 ];
165
+	} else {
166
+
167
+		// Try convertible dataTypes
168
+		for ( type in responses ) {
169
+			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
170
+				finalDataType = type;
171
+				break;
172
+			}
173
+			if ( !firstDataType ) {
174
+				firstDataType = type;
175
+			}
176
+		}
177
+
178
+		// Or just use first one
179
+		finalDataType = finalDataType || firstDataType;
180
+	}
181
+
182
+	// If we found a dataType
183
+	// We add the dataType to the list if needed
184
+	// and return the corresponding response
185
+	if ( finalDataType ) {
186
+		if ( finalDataType !== dataTypes[ 0 ] ) {
187
+			dataTypes.unshift( finalDataType );
188
+		}
189
+		return responses[ finalDataType ];
190
+	}
191
+}
192
+
193
+/* Chain conversions given the request and the original response
194
+ * Also sets the responseXXX fields on the jqXHR instance
195
+ */
196
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
197
+	var conv2, current, conv, tmp, prev,
198
+		converters = {},
199
+
200
+		// Work with a copy of dataTypes in case we need to modify it for conversion
201
+		dataTypes = s.dataTypes.slice();
202
+
203
+	// Create converters map with lowercased keys
204
+	if ( dataTypes[ 1 ] ) {
205
+		for ( conv in s.converters ) {
206
+			converters[ conv.toLowerCase() ] = s.converters[ conv ];
207
+		}
208
+	}
209
+
210
+	current = dataTypes.shift();
211
+
212
+	// Convert to each sequential dataType
213
+	while ( current ) {
214
+
215
+		if ( s.responseFields[ current ] ) {
216
+			jqXHR[ s.responseFields[ current ] ] = response;
217
+		}
218
+
219
+		// Apply the dataFilter if provided
220
+		if ( !prev && isSuccess && s.dataFilter ) {
221
+			response = s.dataFilter( response, s.dataType );
222
+		}
223
+
224
+		prev = current;
225
+		current = dataTypes.shift();
226
+
227
+		if ( current ) {
228
+
229
+			// There's only work to do if current dataType is non-auto
230
+			if ( current === "*" ) {
231
+
232
+				current = prev;
233
+
234
+			// Convert response if prev dataType is non-auto and differs from current
235
+			} else if ( prev !== "*" && prev !== current ) {
236
+
237
+				// Seek a direct converter
238
+				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
239
+
240
+				// If none found, seek a pair
241
+				if ( !conv ) {
242
+					for ( conv2 in converters ) {
243
+
244
+						// If conv2 outputs current
245
+						tmp = conv2.split( " " );
246
+						if ( tmp[ 1 ] === current ) {
247
+
248
+							// If prev can be converted to accepted input
249
+							conv = converters[ prev + " " + tmp[ 0 ] ] ||
250
+								converters[ "* " + tmp[ 0 ] ];
251
+							if ( conv ) {
252
+
253
+								// Condense equivalence converters
254
+								if ( conv === true ) {
255
+									conv = converters[ conv2 ];
256
+
257
+								// Otherwise, insert the intermediate dataType
258
+								} else if ( converters[ conv2 ] !== true ) {
259
+									current = tmp[ 0 ];
260
+									dataTypes.unshift( tmp[ 1 ] );
261
+								}
262
+								break;
263
+							}
264
+						}
265
+					}
266
+				}
267
+
268
+				// Apply converter (if not an equivalence)
269
+				if ( conv !== true ) {
270
+
271
+					// Unless errors are allowed to bubble, catch and return them
272
+					if ( conv && s.throws ) {
273
+						response = conv( response );
274
+					} else {
275
+						try {
276
+							response = conv( response );
277
+						} catch ( e ) {
278
+							return {
279
+								state: "parsererror",
280
+								error: conv ? e : "No conversion from " + prev + " to " + current
281
+							};
282
+						}
283
+					}
284
+				}
285
+			}
286
+		}
287
+	}
288
+
289
+	return { state: "success", data: response };
290
+}
291
+
292
+jQuery.extend( {
293
+
294
+	// Counter for holding the number of active queries
295
+	active: 0,
296
+
297
+	// Last-Modified header cache for next request
298
+	lastModified: {},
299
+	etag: {},
300
+
301
+	ajaxSettings: {
302
+		url: location.href,
303
+		type: "GET",
304
+		isLocal: rlocalProtocol.test( location.protocol ),
305
+		global: true,
306
+		processData: true,
307
+		async: true,
308
+		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
309
+
310
+		/*
311
+		timeout: 0,
312
+		data: null,
313
+		dataType: null,
314
+		username: null,
315
+		password: null,
316
+		cache: null,
317
+		throws: false,
318
+		traditional: false,
319
+		headers: {},
320
+		*/
321
+
322
+		accepts: {
323
+			"*": allTypes,
324
+			text: "text/plain",
325
+			html: "text/html",
326
+			xml: "application/xml, text/xml",
327
+			json: "application/json, text/javascript"
328
+		},
329
+
330
+		contents: {
331
+			xml: /\bxml\b/,
332
+			html: /\bhtml/,
333
+			json: /\bjson\b/
334
+		},
335
+
336
+		responseFields: {
337
+			xml: "responseXML",
338
+			text: "responseText",
339
+			json: "responseJSON"
340
+		},
341
+
342
+		// Data converters
343
+		// Keys separate source (or catchall "*") and destination types with a single space
344
+		converters: {
345
+
346
+			// Convert anything to text
347
+			"* text": String,
348
+
349
+			// Text to html (true = no transformation)
350
+			"text html": true,
351
+
352
+			// Evaluate text as a json expression
353
+			"text json": JSON.parse,
354
+
355
+			// Parse text as xml
356
+			"text xml": jQuery.parseXML
357
+		},
358
+
359
+		// For options that shouldn't be deep extended:
360
+		// you can add your own custom options here if
361
+		// and when you create one that shouldn't be
362
+		// deep extended (see ajaxExtend)
363
+		flatOptions: {
364
+			url: true,
365
+			context: true
366
+		}
367
+	},
368
+
369
+	// Creates a full fledged settings object into target
370
+	// with both ajaxSettings and settings fields.
371
+	// If target is omitted, writes into ajaxSettings.
372
+	ajaxSetup: function( target, settings ) {
373
+		return settings ?
374
+
375
+			// Building a settings object
376
+			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
377
+
378
+			// Extending ajaxSettings
379
+			ajaxExtend( jQuery.ajaxSettings, target );
380
+	},
381
+
382
+	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
383
+	ajaxTransport: addToPrefiltersOrTransports( transports ),
384
+
385
+	// Main method
386
+	ajax: function( url, options ) {
387
+
388
+		// If url is an object, simulate pre-1.5 signature
389
+		if ( typeof url === "object" ) {
390
+			options = url;
391
+			url = undefined;
392
+		}
393
+
394
+		// Force options to be an object
395
+		options = options || {};
396
+
397
+		var transport,
398
+
399
+			// URL without anti-cache param
400
+			cacheURL,
401
+
402
+			// Response headers
403
+			responseHeadersString,
404
+			responseHeaders,
405
+
406
+			// timeout handle
407
+			timeoutTimer,
408
+
409
+			// Url cleanup var
410
+			urlAnchor,
411
+
412
+			// Request state (becomes false upon send and true upon completion)
413
+			completed,
414
+
415
+			// To know if global events are to be dispatched
416
+			fireGlobals,
417
+
418
+			// Loop variable
419
+			i,
420
+
421
+			// uncached part of the url
422
+			uncached,
423
+
424
+			// Create the final options object
425
+			s = jQuery.ajaxSetup( {}, options ),
426
+
427
+			// Callbacks context
428
+			callbackContext = s.context || s,
429
+
430
+			// Context for global events is callbackContext if it is a DOM node or jQuery collection
431
+			globalEventContext = s.context &&
432
+				( callbackContext.nodeType || callbackContext.jquery ) ?
433
+					jQuery( callbackContext ) :
434
+					jQuery.event,
435
+
436
+			// Deferreds
437
+			deferred = jQuery.Deferred(),
438
+			completeDeferred = jQuery.Callbacks( "once memory" ),
439
+
440
+			// Status-dependent callbacks
441
+			statusCode = s.statusCode || {},
442
+
443
+			// Headers (they are sent all at once)
444
+			requestHeaders = {},
445
+			requestHeadersNames = {},
446
+
447
+			// Default abort message
448
+			strAbort = "canceled",
449
+
450
+			// Fake xhr
451
+			jqXHR = {
452
+				readyState: 0,
453
+
454
+				// Builds headers hashtable if needed
455
+				getResponseHeader: function( key ) {
456
+					var match;
457
+					if ( completed ) {
458
+						if ( !responseHeaders ) {
459
+							responseHeaders = {};
460
+							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
461
+								responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
462
+							}
463
+						}
464
+						match = responseHeaders[ key.toLowerCase() ];
465
+					}
466
+					return match == null ? null : match;
467
+				},
468
+
469
+				// Raw string
470
+				getAllResponseHeaders: function() {
471
+					return completed ? responseHeadersString : null;
472
+				},
473
+
474
+				// Caches the header
475
+				setRequestHeader: function( name, value ) {
476
+					if ( completed == null ) {
477
+						name = requestHeadersNames[ name.toLowerCase() ] =
478
+							requestHeadersNames[ name.toLowerCase() ] || name;
479
+						requestHeaders[ name ] = value;
480
+					}
481
+					return this;
482
+				},
483
+
484
+				// Overrides response content-type header
485
+				overrideMimeType: function( type ) {
486
+					if ( completed == null ) {
487
+						s.mimeType = type;
488
+					}
489
+					return this;
490
+				},
491
+
492
+				// Status-dependent callbacks
493
+				statusCode: function( map ) {
494
+					var code;
495
+					if ( map ) {
496
+						if ( completed ) {
497
+
498
+							// Execute the appropriate callbacks
499
+							jqXHR.always( map[ jqXHR.status ] );
500
+						} else {
501
+
502
+							// Lazy-add the new callbacks in a way that preserves old ones
503
+							for ( code in map ) {
504
+								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
505
+							}
506
+						}
507
+					}
508
+					return this;
509
+				},
510
+
511
+				// Cancel the request
512
+				abort: function( statusText ) {
513
+					var finalText = statusText || strAbort;
514
+					if ( transport ) {
515
+						transport.abort( finalText );
516
+					}
517
+					done( 0, finalText );
518
+					return this;
519
+				}
520
+			};
521
+
522
+		// Attach deferreds
523
+		deferred.promise( jqXHR );
524
+
525
+		// Add protocol if not provided (prefilters might expect it)
526
+		// Handle falsy url in the settings object (#10093: consistency with old signature)
527
+		// We also use the url parameter if available
528
+		s.url = ( ( url || s.url || location.href ) + "" )
529
+			.replace( rprotocol, location.protocol + "//" );
530
+
531
+		// Alias method option to type as per ticket #12004
532
+		s.type = options.method || options.type || s.method || s.type;
533
+
534
+		// Extract dataTypes list
535
+		s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
536
+
537
+		// A cross-domain request is in order when the origin doesn't match the current origin.
538
+		if ( s.crossDomain == null ) {
539
+			urlAnchor = document.createElement( "a" );
540
+
541
+			// Support: IE <=8 - 11, Edge 12 - 13
542
+			// IE throws exception on accessing the href property if url is malformed,
543
+			// e.g. http://example.com:80x/
544
+			try {
545
+				urlAnchor.href = s.url;
546
+
547
+				// Support: IE <=8 - 11 only
548
+				// Anchor's host property isn't correctly set when s.url is relative
549
+				urlAnchor.href = urlAnchor.href;
550
+				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
551
+					urlAnchor.protocol + "//" + urlAnchor.host;
552
+			} catch ( e ) {
553
+
554
+				// If there is an error parsing the URL, assume it is crossDomain,
555
+				// it can be rejected by the transport if it is invalid
556
+				s.crossDomain = true;
557
+			}
558
+		}
559
+
560
+		// Convert data if not already a string
561
+		if ( s.data && s.processData && typeof s.data !== "string" ) {
562
+			s.data = jQuery.param( s.data, s.traditional );
563
+		}
564
+
565
+		// Apply prefilters
566
+		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
567
+
568
+		// If request was aborted inside a prefilter, stop there
569
+		if ( completed ) {
570
+			return jqXHR;
571
+		}
572
+
573
+		// We can fire global events as of now if asked to
574
+		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
575
+		fireGlobals = jQuery.event && s.global;
576
+
577
+		// Watch for a new set of requests
578
+		if ( fireGlobals && jQuery.active++ === 0 ) {
579
+			jQuery.event.trigger( "ajaxStart" );
580
+		}
581
+
582
+		// Uppercase the type
583
+		s.type = s.type.toUpperCase();
584
+
585
+		// Determine if request has content
586
+		s.hasContent = !rnoContent.test( s.type );
587
+
588
+		// Save the URL in case we're toying with the If-Modified-Since
589
+		// and/or If-None-Match header later on
590
+		// Remove hash to simplify url manipulation
591
+		cacheURL = s.url.replace( rhash, "" );
592
+
593
+		// More options handling for requests with no content
594
+		if ( !s.hasContent ) {
595
+
596
+			// Remember the hash so we can put it back
597
+			uncached = s.url.slice( cacheURL.length );
598
+
599
+			// If data is available, append data to url
600
+			if ( s.data ) {
601
+				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
602
+
603
+				// #9682: remove data so that it's not used in an eventual retry
604
+				delete s.data;
605
+			}
606
+
607
+			// Add or update anti-cache param if needed
608
+			if ( s.cache === false ) {
609
+				cacheURL = cacheURL.replace( rantiCache, "$1" );
610
+				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
611
+			}
612
+
613
+			// Put hash and anti-cache on the URL that will be requested (gh-1732)
614
+			s.url = cacheURL + uncached;
615
+
616
+		// Change '%20' to '+' if this is encoded form body content (gh-2658)
617
+		} else if ( s.data && s.processData &&
618
+			( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
619
+			s.data = s.data.replace( r20, "+" );
620
+		}
621
+
622
+		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
623
+		if ( s.ifModified ) {
624
+			if ( jQuery.lastModified[ cacheURL ] ) {
625
+				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
626
+			}
627
+			if ( jQuery.etag[ cacheURL ] ) {
628
+				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
629
+			}
630
+		}
631
+
632
+		// Set the correct header, if data is being sent
633
+		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
634
+			jqXHR.setRequestHeader( "Content-Type", s.contentType );
635
+		}
636
+
637
+		// Set the Accepts header for the server, depending on the dataType
638
+		jqXHR.setRequestHeader(
639
+			"Accept",
640
+			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
641
+				s.accepts[ s.dataTypes[ 0 ] ] +
642
+					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
643
+				s.accepts[ "*" ]
644
+		);
645
+
646
+		// Check for headers option
647
+		for ( i in s.headers ) {
648
+			jqXHR.setRequestHeader( i, s.headers[ i ] );
649
+		}
650
+
651
+		// Allow custom headers/mimetypes and early abort
652
+		if ( s.beforeSend &&
653
+			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
654
+
655
+			// Abort if not done already and return
656
+			return jqXHR.abort();
657
+		}
658
+
659
+		// Aborting is no longer a cancellation
660
+		strAbort = "abort";
661
+
662
+		// Install callbacks on deferreds
663
+		completeDeferred.add( s.complete );
664
+		jqXHR.done( s.success );
665
+		jqXHR.fail( s.error );
666
+
667
+		// Get transport
668
+		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
669
+
670
+		// If no transport, we auto-abort
671
+		if ( !transport ) {
672
+			done( -1, "No Transport" );
673
+		} else {
674
+			jqXHR.readyState = 1;
675
+
676
+			// Send global event
677
+			if ( fireGlobals ) {
678
+				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
679
+			}
680
+
681
+			// If request was aborted inside ajaxSend, stop there
682
+			if ( completed ) {
683
+				return jqXHR;
684
+			}
685
+
686
+			// Timeout
687
+			if ( s.async && s.timeout > 0 ) {
688
+				timeoutTimer = window.setTimeout( function() {
689
+					jqXHR.abort( "timeout" );
690
+				}, s.timeout );
691
+			}
692
+
693
+			try {
694
+				completed = false;
695
+				transport.send( requestHeaders, done );
696
+			} catch ( e ) {
697
+
698
+				// Rethrow post-completion exceptions
699
+				if ( completed ) {
700
+					throw e;
701
+				}
702
+
703
+				// Propagate others as results
704
+				done( -1, e );
705
+			}
706
+		}
707
+
708
+		// Callback for when everything is done
709
+		function done( status, nativeStatusText, responses, headers ) {
710
+			var isSuccess, success, error, response, modified,
711
+				statusText = nativeStatusText;
712
+
713
+			// Ignore repeat invocations
714
+			if ( completed ) {
715
+				return;
716
+			}
717
+
718
+			completed = true;
719
+
720
+			// Clear timeout if it exists
721
+			if ( timeoutTimer ) {
722
+				window.clearTimeout( timeoutTimer );
723
+			}
724
+
725
+			// Dereference transport for early garbage collection
726
+			// (no matter how long the jqXHR object will be used)
727
+			transport = undefined;
728
+
729
+			// Cache response headers
730
+			responseHeadersString = headers || "";
731
+
732
+			// Set readyState
733
+			jqXHR.readyState = status > 0 ? 4 : 0;
734
+
735
+			// Determine if successful
736
+			isSuccess = status >= 200 && status < 300 || status === 304;
737
+
738
+			// Get response data
739
+			if ( responses ) {
740
+				response = ajaxHandleResponses( s, jqXHR, responses );
741
+			}
742
+
743
+			// Convert no matter what (that way responseXXX fields are always set)
744
+			response = ajaxConvert( s, response, jqXHR, isSuccess );
745
+
746
+			// If successful, handle type chaining
747
+			if ( isSuccess ) {
748
+
749
+				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
750
+				if ( s.ifModified ) {
751
+					modified = jqXHR.getResponseHeader( "Last-Modified" );
752
+					if ( modified ) {
753
+						jQuery.lastModified[ cacheURL ] = modified;
754
+					}
755
+					modified = jqXHR.getResponseHeader( "etag" );
756
+					if ( modified ) {
757
+						jQuery.etag[ cacheURL ] = modified;
758
+					}
759
+				}
760
+
761
+				// if no content
762
+				if ( status === 204 || s.type === "HEAD" ) {
763
+					statusText = "nocontent";
764
+
765
+				// if not modified
766
+				} else if ( status === 304 ) {
767
+					statusText = "notmodified";
768
+
769
+				// If we have data, let's convert it
770
+				} else {
771
+					statusText = response.state;
772
+					success = response.data;
773
+					error = response.error;
774
+					isSuccess = !error;
775
+				}
776
+			} else {
777
+
778
+				// Extract error from statusText and normalize for non-aborts
779
+				error = statusText;
780
+				if ( status || !statusText ) {
781
+					statusText = "error";
782
+					if ( status < 0 ) {
783
+						status = 0;
784
+					}
785
+				}
786
+			}
787
+
788
+			// Set data for the fake xhr object
789
+			jqXHR.status = status;
790
+			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
791
+
792
+			// Success/Error
793
+			if ( isSuccess ) {
794
+				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
795
+			} else {
796
+				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
797
+			}
798
+
799
+			// Status-dependent callbacks
800
+			jqXHR.statusCode( statusCode );
801
+			statusCode = undefined;
802
+
803
+			if ( fireGlobals ) {
804
+				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
805
+					[ jqXHR, s, isSuccess ? success : error ] );
806
+			}
807
+
808
+			// Complete
809
+			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
810
+
811
+			if ( fireGlobals ) {
812
+				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
813
+
814
+				// Handle the global AJAX counter
815
+				if ( !( --jQuery.active ) ) {
816
+					jQuery.event.trigger( "ajaxStop" );
817
+				}
818
+			}
819
+		}
820
+
821
+		return jqXHR;
822
+	},
823
+
824
+	getJSON: function( url, data, callback ) {
825
+		return jQuery.get( url, data, callback, "json" );
826
+	},
827
+
828
+	getScript: function( url, callback ) {
829
+		return jQuery.get( url, undefined, callback, "script" );
830
+	}
831
+} );
832
+
833
+jQuery.each( [ "get", "post" ], function( i, method ) {
834
+	jQuery[ method ] = function( url, data, callback, type ) {
835
+
836
+		// Shift arguments if data argument was omitted
837
+		if ( jQuery.isFunction( data ) ) {
838
+			type = type || callback;
839
+			callback = data;
840
+			data = undefined;
841
+		}
842
+
843
+		// The url can be an options object (which then must have .url)
844
+		return jQuery.ajax( jQuery.extend( {
845
+			url: url,
846
+			type: method,
847
+			dataType: type,
848
+			data: data,
849
+			success: callback
850
+		}, jQuery.isPlainObject( url ) && url ) );
851
+	};
852
+} );
853
+
854
+return jQuery;
855
+} );

+ 102 - 0
static/bower_components/jquery/src/ajax/jsonp.js

@@ -0,0 +1,102 @@
1
+define( [
2
+	"../core",
3
+	"./var/nonce",
4
+	"./var/rquery",
5
+	"../ajax"
6
+], function( jQuery, nonce, rquery ) {
7
+
8
+"use strict";
9
+
10
+var oldCallbacks = [],
11
+	rjsonp = /(=)\?(?=&|$)|\?\?/;
12
+
13
+// Default jsonp settings
14
+jQuery.ajaxSetup( {
15
+	jsonp: "callback",
16
+	jsonpCallback: function() {
17
+		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
18
+		this[ callback ] = true;
19
+		return callback;
20
+	}
21
+} );
22
+
23
+// Detect, normalize options and install callbacks for jsonp requests
24
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
25
+
26
+	var callbackName, overwritten, responseContainer,
27
+		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
28
+			"url" :
29
+			typeof s.data === "string" &&
30
+				( s.contentType || "" )
31
+					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
32
+				rjsonp.test( s.data ) && "data"
33
+		);
34
+
35
+	// Handle iff the expected data type is "jsonp" or we have a parameter to set
36
+	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
37
+
38
+		// Get callback name, remembering preexisting value associated with it
39
+		callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
40
+			s.jsonpCallback() :
41
+			s.jsonpCallback;
42
+
43
+		// Insert callback into url or form data
44
+		if ( jsonProp ) {
45
+			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
46
+		} else if ( s.jsonp !== false ) {
47
+			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
48
+		}
49
+
50
+		// Use data converter to retrieve json after script execution
51
+		s.converters[ "script json" ] = function() {
52
+			if ( !responseContainer ) {
53
+				jQuery.error( callbackName + " was not called" );
54
+			}
55
+			return responseContainer[ 0 ];
56
+		};
57
+
58
+		// Force json dataType
59
+		s.dataTypes[ 0 ] = "json";
60
+
61
+		// Install callback
62
+		overwritten = window[ callbackName ];
63
+		window[ callbackName ] = function() {
64
+			responseContainer = arguments;
65
+		};
66
+
67
+		// Clean-up function (fires after converters)
68
+		jqXHR.always( function() {
69
+
70
+			// If previous value didn't exist - remove it
71
+			if ( overwritten === undefined ) {
72
+				jQuery( window ).removeProp( callbackName );
73
+
74
+			// Otherwise restore preexisting value
75
+			} else {
76
+				window[ callbackName ] = overwritten;
77
+			}
78
+
79
+			// Save back as free
80
+			if ( s[ callbackName ] ) {
81
+
82
+				// Make sure that re-using the options doesn't screw things around
83
+				s.jsonpCallback = originalSettings.jsonpCallback;
84
+
85
+				// Save the callback name for future use
86
+				oldCallbacks.push( callbackName );
87
+			}
88
+
89
+			// Call if it was a function and we have a response
90
+			if ( responseContainer && jQuery.isFunction( overwritten ) ) {
91
+				overwritten( responseContainer[ 0 ] );
92
+			}
93
+
94
+			responseContainer = overwritten = undefined;
95
+		} );
96
+
97
+		// Delegate to script
98
+		return "script";
99
+	}
100
+} );
101
+
102
+} );

+ 76 - 0
static/bower_components/jquery/src/ajax/load.js

@@ -0,0 +1,76 @@
1
+define( [
2
+	"../core",
3
+	"../core/stripAndCollapse",
4
+	"../core/parseHTML",
5
+	"../ajax",
6
+	"../traversing",
7
+	"../manipulation",
8
+	"../selector"
9
+], function( jQuery, stripAndCollapse ) {
10
+
11
+"use strict";
12
+
13
+/**
14
+ * Load a url into a page
15
+ */
16
+jQuery.fn.load = function( url, params, callback ) {
17
+	var selector, type, response,
18
+		self = this,
19
+		off = url.indexOf( " " );
20
+
21
+	if ( off > -1 ) {
22
+		selector = stripAndCollapse( url.slice( off ) );
23
+		url = url.slice( 0, off );
24
+	}
25
+
26
+	// If it's a function
27
+	if ( jQuery.isFunction( params ) ) {
28
+
29
+		// We assume that it's the callback
30
+		callback = params;
31
+		params = undefined;
32
+
33
+	// Otherwise, build a param string
34
+	} else if ( params && typeof params === "object" ) {
35
+		type = "POST";
36
+	}
37
+
38
+	// If we have elements to modify, make the request
39
+	if ( self.length > 0 ) {
40
+		jQuery.ajax( {
41
+			url: url,
42
+
43
+			// If "type" variable is undefined, then "GET" method will be used.
44
+			// Make value of this field explicit since
45
+			// user can override it through ajaxSetup method
46
+			type: type || "GET",
47
+			dataType: "html",
48
+			data: params
49
+		} ).done( function( responseText ) {
50
+
51
+			// Save response for use in complete callback
52
+			response = arguments;
53
+
54
+			self.html( selector ?
55
+
56
+				// If a selector was specified, locate the right elements in a dummy div
57
+				// Exclude scripts to avoid IE 'Permission Denied' errors
58
+				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
59
+
60
+				// Otherwise use the full result
61
+				responseText );
62
+
63
+		// If the request succeeds, this function gets "data", "status", "jqXHR"
64
+		// but they are ignored because response was set above.
65
+		// If it fails, this function gets "jqXHR", "status", "error"
66
+		} ).always( callback && function( jqXHR, status ) {
67
+			self.each( function() {
68
+				callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
69
+			} );
70
+		} );
71
+	}
72
+
73
+	return this;
74
+};
75
+
76
+} );

+ 30 - 0
static/bower_components/jquery/src/ajax/parseXML.js

@@ -0,0 +1,30 @@
1
+define( [
2
+	"../core"
3
+], function( jQuery ) {
4
+
5
+"use strict";
6
+
7
+// Cross-browser xml parsing
8
+jQuery.parseXML = function( data ) {
9
+	var xml;
10
+	if ( !data || typeof data !== "string" ) {
11
+		return null;
12
+	}
13
+
14
+	// Support: IE 9 - 11 only
15
+	// IE throws on parseFromString with invalid input.
16
+	try {
17
+		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
18
+	} catch ( e ) {
19
+		xml = undefined;
20
+	}
21
+
22
+	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
23
+		jQuery.error( "Invalid XML: " + data );
24
+	}
25
+	return xml;
26
+};
27
+
28
+return jQuery.parseXML;
29
+
30
+} );

+ 77 - 0
static/bower_components/jquery/src/ajax/script.js

@@ -0,0 +1,77 @@
1
+define( [
2
+	"../core",
3
+	"../var/document",
4
+	"../ajax"
5
+], function( jQuery, document ) {
6
+
7
+"use strict";
8
+
9
+// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
10
+jQuery.ajaxPrefilter( function( s ) {
11
+	if ( s.crossDomain ) {
12
+		s.contents.script = false;
13
+	}
14
+} );
15
+
16
+// Install script dataType
17
+jQuery.ajaxSetup( {
18
+	accepts: {
19
+		script: "text/javascript, application/javascript, " +
20
+			"application/ecmascript, application/x-ecmascript"
21
+	},
22
+	contents: {
23
+		script: /\b(?:java|ecma)script\b/
24
+	},
25
+	converters: {
26
+		"text script": function( text ) {
27
+			jQuery.globalEval( text );
28
+			return text;
29
+		}
30
+	}
31
+} );
32
+
33
+// Handle cache's special case and crossDomain
34
+jQuery.ajaxPrefilter( "script", function( s ) {
35
+	if ( s.cache === undefined ) {
36
+		s.cache = false;
37
+	}
38
+	if ( s.crossDomain ) {
39
+		s.type = "GET";
40
+	}
41
+} );
42
+
43
+// Bind script tag hack transport
44
+jQuery.ajaxTransport( "script", function( s ) {
45
+
46
+	// This transport only deals with cross domain requests
47
+	if ( s.crossDomain ) {
48
+		var script, callback;
49
+		return {
50
+			send: function( _, complete ) {
51
+				script = jQuery( "<script>" ).prop( {
52
+					charset: s.scriptCharset,
53
+					src: s.url
54
+				} ).on(
55
+					"load error",
56
+					callback = function( evt ) {
57
+						script.remove();
58
+						callback = null;
59
+						if ( evt ) {
60
+							complete( evt.type === "error" ? 404 : 200, evt.type );
61
+						}
62
+					}
63
+				);
64
+
65
+				// Use native DOM manipulation to avoid our domManip AJAX trickery
66
+				document.head.appendChild( script[ 0 ] );
67
+			},
68
+			abort: function() {
69
+				if ( callback ) {
70
+					callback();
71
+				}
72
+			}
73
+		};
74
+	}
75
+} );
76
+
77
+} );

+ 5 - 0
static/bower_components/jquery/src/ajax/var/location.js

@@ -0,0 +1,5 @@
1
+define( function() {
2
+	"use strict";
3
+
4
+	return window.location;
5
+} );

+ 0 - 0
static/bower_components/jquery/src/ajax/var/nonce.js


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio

Pierakstīties - Gogs: Simplico Git Service

Pierakstīties

Aizmirsi paroli?