Last active
September 7, 2025 15:02
-
-
Save Sg4Dylan/32881c66c63421c19639f068b74a8ffb to your computer and use it in GitHub Desktop.
bookwalker.com.tw online reader DRM
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| Open Source Software Licenses | |
| PUBLUS | |
| Copyright(c) 2013-2014 ACCESS CO., LTD. All rights reserved. | |
| This software includes all or part of the following open source software which is available under each license terms and conditions as follows: | |
| * Backbone.js 0.9.2 | |
| (c) 2010-2012 Jeremy Ashkenas, DocumentCloud Inc. | |
| Backbone may be freely distributed under the MIT license. | |
| For all details and documentation: | |
| http://backbonejs.org | |
| * easyXDM 2.4.20.7 | |
| http://easyxdm.net/ | |
| Copyright(c) 2009-2011, Øyvind Sean Kinsey, [email protected]. | |
| Permission is hereby granted, free of charge, to any person obtaining a copy | |
| of this software and associated documentation files (the "Software"), to deal | |
| in the Software without restriction, including without limitation the rights | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| copies of the Software, and to permit persons to whom the Software is | |
| furnished to do so, subject to the following conditions: | |
| The above copyright notice and this permission notice shall be included in | |
| all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
| THE SOFTWARE. | |
| * jQuery Cookie Plugin 1.3.1 | |
| https://github.com/carhartl/jquery-cookie | |
| Copyright 2013 Klaus Hartl | |
| Released under the MIT license | |
| * jQuery Cryptography Plug-in 1.0.0 | |
| copyright 2008 Scott Thompson http://www.itsyndicate.ca - [email protected] | |
| http://www.opensource.org/licenses/mit-license.php | |
| A set of functions to do some basic cryptography encoding/decoding | |
| I compiled from some javascripts I found into a jQuery plug-in. | |
| Thanks go out to the original authors. | |
| Also a big thanks to Wade W. Hedgren http://homepages.uc.edu/~hedgreww | |
| for the 1.1.1 upgrade to conform correctly to RFC4648 Sec5 url save base64 | |
| --- Base64 Encoding and Decoding code was written by | |
| Base64 code from Tyler Akins -- http://rumkin.com | |
| and is placed in the public domain | |
| --- MD5 and SHA1 Functions based upon Paul Johnston's javascript libraries. | |
| A JavaScript implementation of the RSA Data Security, Inc. MD5 Message | |
| Digest Algorithm, as defined in RFC 1321. | |
| Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. | |
| Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet | |
| Distributed under the BSD License | |
| See http://pajhome.org.uk/crypt/md5 for more info. | |
| xTea Encrypt and Decrypt | |
| copyright 2000-2005 Chris Veness | |
| http://www.movable-type.co.uk | |
| * TouchSwipe - jQuery Plugin 1.6.3 | |
| Matt Bryson http://www.github.com/mattbryson | |
| https://github.com/mattbryson/TouchSwipe-Jquery-Plugin | |
| http://labs.skinkers.com/touchSwipe/ | |
| http://plugins.jquery.com/project/touchSwipe | |
| Copyright (c) 2010 Matt Bryson | |
| Dual licensed under the MIT or GPL Version 2 licenses. | |
| * jQuery JavaScript Library v1.8.0 | |
| http://jquery.com/ | |
| Includes Sizzle.js | |
| http://sizzlejs.com/ | |
| Copyright 2012 jQuery Foundation and other contributors | |
| Released under the MIT license | |
| http://jquery.org/license | |
| Date: Thu Aug 09 2012 16:24:48 GMT-0400 (Eastern Daylight Time) | |
| * jQuery UI v1.9.0 | |
| http://jqueryui.com | |
| Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT | |
| * parseUri 1.2.2 | |
| (c) Steven Levithan <stevenlevithan.com> | |
| MIT License | |
| * Underscore.js 1.3.3 | |
| (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. | |
| Underscore may be freely distributed under the MIT license. | |
| * CLDR JavaScript Library v0.2.3 | |
| http://jquery.com/ | |
| Copyright 2013 Rafael Xavier de Souza | |
| Released under the MIT license | |
| http://jquery.org/license | |
| Date: 2013-11-29T18:37Z | |
| * Globalize v1.0.0-pre | |
| http://github.com/jquery/globalize | |
| Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors | |
| Released under the MIT license | |
| http://jquery.org/license | |
| Date: 2013-12-24T12:28Z | |
| * This product includes the modified file of Unicode CLDR 24. | |
| Copyright c 1991-2013 Unicode, Inc. All rights reserved. Distributed under | |
| the Terms of Use in http://www.unicode.org/copyright.html. | |
| Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of the Unicode data files and any associated documentation (the "Data | |
| Files") or Unicode software and any associated documentation (the "Software") | |
| to deal in the Data Files or Software without restriction, including without | |
| limitation the rights to use, copy, modify, merge, publish, distribute, and/or | |
| sell copies of the Data Files or Software, and to permit persons to whom the | |
| Data Files or Software are furnished to do so, provided that (a) the above | |
| copyright notice(s) and this permission notice appear with all copies of the | |
| Data Files or Software, (b) both the above copyright notice(s) and this | |
| permission notice appear in associated documentation, and (c) there is clear | |
| notice in each modified Data File or in the Software as well as in the | |
| documentation associated with the Data File(s) or Software that the data or | |
| software has been modified. | |
| THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY | |
| KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD | |
| PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN | |
| THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL | |
| DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR | |
| PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS | |
| ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE | |
| DATA FILES OR SOFTWARE. | |
| * jcarousellite.custom.js 1.8.8 | |
| http://www.gmarwaha.com/ | |
| Copyright (c) 2012 Karl Swedberg | |
| Permission is hereby granted, free of charge, to any person | |
| obtaining a copy of this software and associated documentation | |
| files (the "Software"), to deal in the Software without | |
| restriction, including without limitation the rights to use, | |
| copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| copies of the Software, and to permit persons to whom the | |
| Software is furnished to do so, subject to the following | |
| conditions: | |
| The above copyright notice and this permission notice shall be | |
| included in all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | |
| OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |
| HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
| WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |
| OTHER DEALINGS IN THE SOFTWARE. | |
| * jquery.mousewheel.js 3.1.11 | |
| Copyright (c) 2013, Brandon Aaron (http://brandon.aaron.sh) | |
| Permission is hereby granted, free of charge, to any person obtaining | |
| a copy of this software and associated documentation files (the | |
| "Software"), to deal in the Software without restriction, including | |
| without limitation the rights to use, copy, modify, merge, publish, | |
| distribute, sublicense, and/or sell copies of the Software, and to | |
| permit persons to whom the Software is furnished to do so, subject to | |
| the following conditions: | |
| The above copyright notice and this permission notice shall be | |
| included in all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| * jquery.dotdotdot.js 1.8.1 | |
| http://dotdotdot.frebsite.nl/ | |
| The MIT License (MIT) | |
| Copyright (c) 2015 Fred Heusschen | |
| Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | |
| The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| * aws-sdk.min.js 2.19.0 | |
| https://github.com/aws/aws-sdk-js/releases | |
| The bundled package of the AWS SDK for JavaScript is available under the | |
| Apache License, Version 2.0: | |
| Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. | |
| Licensed under the Apache License, Version 2.0 (the "License"). You | |
| may not use this file except in compliance with the License. A copy of | |
| the License is located at | |
| http://aws.amazon.com/apache2.0/ | |
| or in the "license" file accompanying this file. This file is | |
| distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF | |
| ANY KIND, either express or implied. See the License for the specific | |
| language governing permissions and limitations under the License. | |
| This product bundles browserify, which is available under a | |
| "3-clause BSD" license: | |
| Copyright Joyent, Inc. and other Node contributors. | |
| Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of this software and associated documentation files (the | |
| "Software"), to deal in the Software without restriction, including | |
| without limitation the rights to use, copy, modify, merge, publish, | |
| distribute, sublicense, and/or sell copies of the Software, and to permit | |
| persons to whom the Software is furnished to do so, subject to the | |
| following conditions: | |
| The above copyright notice and this permission notice shall be included | |
| in all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
| OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | |
| NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | |
| DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR | |
| OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | |
| USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| This product bundles crypto-browserify, which is available under | |
| the MIT license: | |
| Copyright (c) 2013 Dominic Tarr | |
| Permission is hereby granted, free of charge, | |
| to any person obtaining a copy of this software and | |
| associated documentation files (the "Software"), to | |
| deal in the Software without restriction, including | |
| without limitation the rights to use, copy, modify, | |
| merge, publish, distribute, sublicense, and/or sell | |
| copies of the Software, and to permit persons to whom | |
| the Software is furnished to do so, | |
| subject to the following conditions: | |
| The above copyright notice and this permission notice | |
| shall be included in all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | |
| OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |
| IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR | |
| ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | |
| TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | |
| SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| This product bundles MD5, SHA-1, and SHA-256 hashing algorithm components, | |
| which are available under a BSD license: | |
| Copyright (c) 1998 - 2009, Paul Johnston & Contributors | |
| All rights reserved. | |
| Redistribution and use in source and binary forms, with or without | |
| modification, are permitted provided that the following conditions are met: | |
| Redistributions of source code must retain the above copyrightnotice, | |
| this list of conditions and the following disclaimer. Redistributions | |
| in binary form must reproduce the above copyright notice, this list of | |
| conditions and the following disclaimer in the documentation and/or | |
| other materials provided with the distribution. | |
| Neither the name of the author nor the names of its contributors may | |
| be used to endorse or promote products derived from this software | |
| without specific prior written permission. | |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | |
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | |
| THE POSSIBILITY OF SUCH DAMAGE. | |
| * aws-sdk-mobile-analytics.min.js 0.9.2 | |
| https://github.com/aws/aws-sdk-mobile-analytics-js | |
| Apache License | |
| Version 2.0, January 2004 | |
| TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | |
| 1. Definitions. | |
| “License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. | |
| “Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. | |
| “Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. | |
| “You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License. | |
| “Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. | |
| “Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. | |
| “Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). | |
| “Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. | |
| “Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.” | |
| “Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. | |
| 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. | |
| 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. | |
| 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: | |
| You must give any other recipients of the Work or Derivative Works a copy of this License; and | |
| You must cause any modified files to carry prominent notices stating that You changed the files; and | |
| You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and | |
| If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. | |
| You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. | |
| 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. | |
| 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. | |
| 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. | |
| 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. | |
| 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. | |
| END OF TERMS AND CONDITIONS | |
| * platform.js 1.3.4 | |
| https://github.com/bestiejs/platform.js/ | |
| Copyright 2014-2016 Benjamin Tan <https://demoneaux.github.io/> | |
| Copyright 2011-2013 John-David Dalton <http://allyoucanleet.com/> | |
| Permission is hereby granted, free of charge, to any person obtaining | |
| a copy of this software and associated documentation files (the | |
| "Software"), to deal in the Software without restriction, including | |
| without limitation the rights to use, copy, modify, merge, publish, | |
| distribute, sublicense, and/or sell copies of the Software, and to | |
| permit persons to whom the Software is furnished to do so, subject to | |
| the following conditions: | |
| The above copyright notice and this permission notice shall be | |
| included in all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| * quadtree.js | |
| http://www.mikechambers.com/blog/2011/03/21/javascript-quadtree-implementation/ | |
| The MIT License | |
| Copyright (c) 2011 Mike Chambers | |
| Permission is hereby granted, free of charge, to any person obtaining a copy | |
| of this software and associated documentation files (the "Software"), to deal | |
| in the Software without restriction, including without limitation the rights | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| copies of the Software, and to permit persons to whom the Software is | |
| furnished to do so, subject to the following conditions: | |
| The above copyright notice and this permission notice shall be included in | |
| all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
| THE SOFTWARE. | |
| */ | |
| function parseUri(a) { | |
| for (var b = parseUri.options, c = b.parser[b.strictMode ? "strict" : "loose"].exec(a), d = {}, e = 14; e--; ) | |
| d[b.key[e]] = c[e] || ""; | |
| return d[b.q.name] = {}, | |
| d[b.key[12]].replace(b.q.parser, function(a, c, e) { | |
| c && (d[b.q.name][c] = e) | |
| }), | |
| d | |
| } | |
| !function(a, b) { | |
| function c(a) { | |
| var b = oa[a] = {}; | |
| return $.each(a.split(ba), function(a, c) { | |
| b[c] = !0 | |
| }), | |
| b | |
| } | |
| function d(a, c, d) { | |
| if (d === b && 1 === a.nodeType) { | |
| var e = "data-" + c.replace(qa, "-$1").toLowerCase(); | |
| if (d = a.getAttribute(e), | |
| "string" == typeof d) { | |
| try { | |
| d = "true" === d || "false" !== d && ("null" === d ? null : +d + "" === d ? +d : pa.test(d) ? $.parseJSON(d) : d) | |
| } catch (f) {} | |
| $.data(a, c, d) | |
| } else | |
| d = b | |
| } | |
| return d | |
| } | |
| function e(a) { | |
| var b; | |
| for (b in a) | |
| if (("data" !== b || !$.isEmptyObject(a[b])) && "toJSON" !== b) | |
| return !1; | |
| return !0 | |
| } | |
| function f() { | |
| return !1 | |
| } | |
| function g() { | |
| return !0 | |
| } | |
| function h(a) { | |
| return !a || !a.parentNode || 11 === a.parentNode.nodeType | |
| } | |
| function i(a, b) { | |
| do | |
| a = a[b]; | |
| while (a && 1 !== a.nodeType);return a | |
| } | |
| function j(a, b, c) { | |
| if (b = b || 0, | |
| $.isFunction(b)) | |
| return $.grep(a, function(a, d) { | |
| var e = !!b.call(a, d, a); | |
| return e === c | |
| }); | |
| if (b.nodeType) | |
| return $.grep(a, function(a, d) { | |
| return a === b === c | |
| }); | |
| if ("string" == typeof b) { | |
| var d = $.grep(a, function(a) { | |
| return 1 === a.nodeType | |
| }); | |
| if (Ka.test(b)) | |
| return $.filter(b, d, !c); | |
| b = $.filter(b, d) | |
| } | |
| return $.grep(a, function(a, d) { | |
| return $.inArray(a, b) >= 0 === c | |
| }) | |
| } | |
| function k(a) { | |
| var b = Na.split("|") | |
| , c = a.createDocumentFragment(); | |
| if (c.createElement) | |
| for (; b.length; ) | |
| c.createElement(b.pop()); | |
| return c | |
| } | |
| function l(a, b) { | |
| return a.getElementsByTagName(b)[0] || a.appendChild(a.ownerDocument.createElement(b)) | |
| } | |
| function m(a, b) { | |
| if (1 === b.nodeType && $.hasData(a)) { | |
| var c, d, e, f = $._data(a), g = $._data(b, f), h = f.events; | |
| if (h) { | |
| delete g.handle, | |
| g.events = {}; | |
| for (c in h) | |
| for (d = 0, | |
| e = h[c].length; d < e; d++) | |
| $.event.add(b, c, h[c][d]) | |
| } | |
| g.data && (g.data = $.extend({}, g.data)) | |
| } | |
| } | |
| function n(a, b) { | |
| var c; | |
| 1 === b.nodeType && (b.clearAttributes && b.clearAttributes(), | |
| b.mergeAttributes && b.mergeAttributes(a), | |
| c = b.nodeName.toLowerCase(), | |
| "object" === c ? (b.parentNode && (b.outerHTML = a.outerHTML), | |
| $.support.html5Clone && a.innerHTML && !$.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : "input" === c && Xa.test(a.type) ? (b.defaultChecked = b.checked = a.checked, | |
| b.value !== a.value && (b.value = a.value)) : "option" === c ? b.selected = a.defaultSelected : "input" === c || "textarea" === c ? b.defaultValue = a.defaultValue : "script" === c && b.text !== a.text && (b.text = a.text), | |
| b.removeAttribute($.expando)) | |
| } | |
| function o(a) { | |
| return "undefined" != typeof a.getElementsByTagName ? a.getElementsByTagName("*") : "undefined" != typeof a.querySelectorAll ? a.querySelectorAll("*") : [] | |
| } | |
| function p(a) { | |
| Xa.test(a.type) && (a.defaultChecked = a.checked) | |
| } | |
| function q(a, b) { | |
| if (b in a) | |
| return b; | |
| for (var c = b.charAt(0).toUpperCase() + b.slice(1), d = b, e = qb.length; e--; ) | |
| if (b = qb[e] + c, | |
| b in a) | |
| return b; | |
| return d | |
| } | |
| function r(a, b) { | |
| return a = b || a, | |
| "none" === $.css(a, "display") || !$.contains(a.ownerDocument, a) | |
| } | |
| function s(a, b) { | |
| for (var c, d, e = [], f = 0, g = a.length; f < g; f++) | |
| c = a[f], | |
| c.style && (e[f] = $._data(c, "olddisplay"), | |
| b ? (e[f] || "none" !== c.style.display || (c.style.display = ""), | |
| "" === c.style.display && r(c) && (e[f] = $._data(c, "olddisplay", w(c.nodeName)))) : (d = cb(c, "display"), | |
| e[f] || "none" === d || $._data(c, "olddisplay", d))); | |
| for (f = 0; f < g; f++) | |
| c = a[f], | |
| c.style && (b && "none" !== c.style.display && "" !== c.style.display || (c.style.display = b ? e[f] || "" : "none")); | |
| return a | |
| } | |
| function t(a, b, c) { | |
| var d = jb.exec(b); | |
| return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b | |
| } | |
| function u(a, b, c, d) { | |
| for (var e = c === (d ? "border" : "content") ? 4 : "width" === b ? 1 : 0, f = 0; e < 4; e += 2) | |
| "margin" === c && (f += $.css(a, c + pb[e], !0)), | |
| d ? ("content" === c && (f -= parseFloat(cb(a, "padding" + pb[e])) || 0), | |
| "margin" !== c && (f -= parseFloat(cb(a, "border" + pb[e] + "Width")) || 0)) : (f += parseFloat(cb(a, "padding" + pb[e])) || 0, | |
| "padding" !== c && (f += parseFloat(cb(a, "border" + pb[e] + "Width")) || 0)); | |
| return f | |
| } | |
| function v(a, b, c) { | |
| var d = "width" === b ? a.offsetWidth : a.offsetHeight | |
| , e = !0 | |
| , f = $.support.boxSizing && "border-box" === $.css(a, "boxSizing"); | |
| if (d <= 0) { | |
| if (d = cb(a, b), | |
| (d < 0 || null == d) && (d = a.style[b]), | |
| kb.test(d)) | |
| return d; | |
| e = f && ($.support.boxSizingReliable || d === a.style[b]), | |
| d = parseFloat(d) || 0 | |
| } | |
| return d + u(a, b, c || (f ? "border" : "content"), e) + "px" | |
| } | |
| function w(a) { | |
| if (mb[a]) | |
| return mb[a]; | |
| var b = $("<" + a + ">").appendTo(P.body) | |
| , c = b.css("display"); | |
| return b.remove(), | |
| "none" !== c && "" !== c || (db = P.body.appendChild(db || $.extend(P.createElement("iframe"), { | |
| frameBorder: 0, | |
| width: 0, | |
| height: 0 | |
| })), | |
| eb && db.createElement || (eb = (db.contentWindow || db.contentDocument).document, | |
| eb.write("<!doctype html><html><body>"), | |
| eb.close()), | |
| b = eb.body.appendChild(eb.createElement(a)), | |
| c = cb(b, "display"), | |
| P.body.removeChild(db)), | |
| mb[a] = c, | |
| c | |
| } | |
| function x(a, b, c, d) { | |
| var e; | |
| if ($.isArray(b)) | |
| $.each(b, function(b, e) { | |
| c || tb.test(a) ? d(a, e) : x(a + "[" + ("object" == typeof e ? b : "") + "]", e, c, d) | |
| }); | |
| else if (c || "object" !== $.type(b)) | |
| d(a, b); | |
| else | |
| for (e in b) | |
| x(a + "[" + e + "]", b[e], c, d) | |
| } | |
| function y(a) { | |
| return function(b, c) { | |
| "string" != typeof b && (c = b, | |
| b = "*"); | |
| var d, e, f, g = b.toLowerCase().split(ba), h = 0, i = g.length; | |
| if ($.isFunction(c)) | |
| for (; h < i; h++) | |
| d = g[h], | |
| f = /^\+/.test(d), | |
| f && (d = d.substr(1) || "*"), | |
| e = a[d] = a[d] || [], | |
| e[f ? "unshift" : "push"](c) | |
| } | |
| } | |
| function z(a, c, d, e, f, g) { | |
| f = f || c.dataTypes[0], | |
| g = g || {}, | |
| g[f] = !0; | |
| for (var h, i = a[f], j = 0, k = i ? i.length : 0, l = a === Jb; j < k && (l || !h); j++) | |
| h = i[j](c, d, e), | |
| "string" == typeof h && (!l || g[h] ? h = b : (c.dataTypes.unshift(h), | |
| h = z(a, c, d, e, h, g))); | |
| return !l && h || g["*"] || (h = z(a, c, d, e, "*", g)), | |
| h | |
| } | |
| function A(a, c) { | |
| var d, e, f = $.ajaxSettings.flatOptions || {}; | |
| for (d in c) | |
| c[d] !== b && ((f[d] ? a : e || (e = {}))[d] = c[d]); | |
| e && $.extend(!0, a, e) | |
| } | |
| function B(a, c, d) { | |
| var e, f, g, h, i = a.contents, j = a.dataTypes, k = a.responseFields; | |
| for (f in k) | |
| f in d && (c[k[f]] = d[f]); | |
| for (; "*" === j[0]; ) | |
| j.shift(), | |
| e === b && (e = a.mimeType || c.getResponseHeader("content-type")); | |
| if (e) | |
| for (f in i) | |
| if (i[f] && i[f].test(e)) { | |
| j.unshift(f); | |
| break | |
| } | |
| if (j[0]in d) | |
| g = j[0]; | |
| else { | |
| for (f in d) { | |
| if (!j[0] || a.converters[f + " " + j[0]]) { | |
| g = f; | |
| break | |
| } | |
| h || (h = f) | |
| } | |
| g = g || h | |
| } | |
| if (g) | |
| return g !== j[0] && j.unshift(g), | |
| d[g] | |
| } | |
| function C(a, b) { | |
| var c, d, e, f, g = a.dataTypes.slice(), h = g[0], i = {}, j = 0; | |
| if (a.dataFilter && (b = a.dataFilter(b, a.dataType)), | |
| g[1]) | |
| for (c in a.converters) | |
| i[c.toLowerCase()] = a.converters[c]; | |
| for (; e = g[++j]; ) | |
| if ("*" !== e) { | |
| if ("*" !== h && h !== e) { | |
| if (c = i[h + " " + e] || i["* " + e], | |
| !c) | |
| for (d in i) | |
| if (f = d.split(" "), | |
| f[1] === e && (c = i[h + " " + f[0]] || i["* " + f[0]])) { | |
| c === !0 ? c = i[d] : i[d] !== !0 && (e = f[0], | |
| g.splice(j--, 0, e)); | |
| break | |
| } | |
| if (c !== !0) | |
| if (c && a["throws"]) | |
| b = c(b); | |
| else | |
| try { | |
| b = c(b) | |
| } catch (k) { | |
| return { | |
| state: "parsererror", | |
| error: c ? k : "No conversion from " + h + " to " + e | |
| } | |
| } | |
| } | |
| h = e | |
| } | |
| return { | |
| state: "success", | |
| data: b | |
| } | |
| } | |
| function D() { | |
| try { | |
| return new a.XMLHttpRequest | |
| } catch (b) {} | |
| } | |
| function E() { | |
| try { | |
| return new a.ActiveXObject("Microsoft.XMLHTTP") | |
| } catch (b) {} | |
| } | |
| function F() { | |
| return setTimeout(function() { | |
| Ub = b | |
| }, 0), | |
| Ub = $.now() | |
| } | |
| function G(a, b) { | |
| $.each(b, function(b, c) { | |
| for (var d = ($b[b] || []).concat($b["*"]), e = 0, f = d.length; e < f; e++) | |
| if (d[e].call(a, b, c)) | |
| return | |
| }) | |
| } | |
| function H(a, b, c) { | |
| var d, e = 0, f = Zb.length, g = $.Deferred().always(function() { | |
| delete h.elem | |
| }), h = function() { | |
| for (var b = Ub || F(), c = Math.max(0, i.startTime + i.duration - b), d = c / i.duration || 0, e = 1 - d, f = 0, h = i.tweens.length; f < h; f++) | |
| i.tweens[f].run(e); | |
| return g.notifyWith(a, [i, e, c]), | |
| e < 1 && h ? c : (g.resolveWith(a, [i]), | |
| !1) | |
| }, i = g.promise({ | |
| elem: a, | |
| props: $.extend({}, b), | |
| opts: $.extend(!0, { | |
| specialEasing: {} | |
| }, c), | |
| originalProperties: b, | |
| originalOptions: c, | |
| startTime: Ub || F(), | |
| duration: c.duration, | |
| tweens: [], | |
| createTween: function(b, c, d) { | |
| var e = $.Tween(a, i.opts, b, c, i.opts.specialEasing[b] || i.opts.easing); | |
| return i.tweens.push(e), | |
| e | |
| }, | |
| stop: function(b) { | |
| for (var c = 0, d = b ? i.tweens.length : 0; c < d; c++) | |
| i.tweens[c].run(1); | |
| return b ? g.resolveWith(a, [i, b]) : g.rejectWith(a, [i, b]), | |
| this | |
| } | |
| }), j = i.props; | |
| for (I(j, i.opts.specialEasing); e < f; e++) | |
| if (d = Zb[e].call(i, a, j, i.opts)) | |
| return d; | |
| return G(i, j), | |
| $.isFunction(i.opts.start) && i.opts.start.call(a, i), | |
| $.fx.timer($.extend(h, { | |
| anim: i, | |
| queue: i.opts.queue, | |
| elem: a | |
| })), | |
| i.progress(i.opts.progress).done(i.opts.done, i.opts.complete).fail(i.opts.fail).always(i.opts.always) | |
| } | |
| function I(a, b) { | |
| var c, d, e, f, g; | |
| for (c in a) | |
| if (d = $.camelCase(c), | |
| e = b[d], | |
| f = a[c], | |
| $.isArray(f) && (e = f[1], | |
| f = a[c] = f[0]), | |
| c !== d && (a[d] = f, | |
| delete a[c]), | |
| g = $.cssHooks[d], | |
| g && "expand"in g) { | |
| f = g.expand(f), | |
| delete a[d]; | |
| for (c in f) | |
| c in a || (a[c] = f[c], | |
| b[c] = e) | |
| } else | |
| b[d] = e | |
| } | |
| function J(a, b, c) { | |
| var d, e, f, g, h, i, j, k, l = this, m = a.style, n = {}, o = [], p = a.nodeType && r(a); | |
| c.queue || (j = $._queueHooks(a, "fx"), | |
| null == j.unqueued && (j.unqueued = 0, | |
| k = j.empty.fire, | |
| j.empty.fire = function() { | |
| j.unqueued || k() | |
| } | |
| ), | |
| j.unqueued++, | |
| l.always(function() { | |
| l.always(function() { | |
| j.unqueued--, | |
| $.queue(a, "fx").length || j.empty.fire() | |
| }) | |
| })), | |
| 1 === a.nodeType && ("height"in b || "width"in b) && (c.overflow = [m.overflow, m.overflowX, m.overflowY], | |
| "inline" === $.css(a, "display") && "none" === $.css(a, "float") && ($.support.inlineBlockNeedsLayout && "inline" !== w(a.nodeName) ? m.zoom = 1 : m.display = "inline-block")), | |
| c.overflow && (m.overflow = "hidden", | |
| $.support.shrinkWrapBlocks || l.done(function() { | |
| m.overflow = c.overflow[0], | |
| m.overflowX = c.overflow[1], | |
| m.overflowY = c.overflow[2] | |
| })); | |
| for (d in b) | |
| if (f = b[d], | |
| Wb.exec(f)) { | |
| if (delete b[d], | |
| f === (p ? "hide" : "show")) | |
| continue; | |
| o.push(d) | |
| } | |
| if (g = o.length) | |
| for (h = $._data(a, "fxshow") || $._data(a, "fxshow", {}), | |
| p ? $(a).show() : l.done(function() { | |
| $(a).hide() | |
| }), | |
| l.done(function() { | |
| var b; | |
| $.removeData(a, "fxshow", !0); | |
| for (b in n) | |
| $.style(a, b, n[b]) | |
| }), | |
| d = 0; d < g; d++) | |
| e = o[d], | |
| i = l.createTween(e, p ? h[e] : 0), | |
| n[e] = h[e] || $.style(a, e), | |
| e in h || (h[e] = i.start, | |
| p && (i.end = i.start, | |
| i.start = "width" === e || "height" === e ? 1 : 0)) | |
| } | |
| function K(a, b, c, d, e) { | |
| return new K.prototype.init(a,b,c,d,e) | |
| } | |
| function L(a, b) { | |
| for (var c, d = { | |
| height: a | |
| }, e = 0; e < 4; e += 2 - b) | |
| c = pb[e], | |
| d["margin" + c] = d["padding" + c] = a; | |
| return b && (d.opacity = d.width = a), | |
| d | |
| } | |
| function M(a) { | |
| return $.isWindow(a) ? a : 9 === a.nodeType && (a.defaultView || a.parentWindow) | |
| } | |
| var N, O, P = a.document, Q = a.location, R = a.navigator, S = a.jQuery, T = a.$, U = Array.prototype.push, V = Array.prototype.slice, W = Array.prototype.indexOf, X = Object.prototype.toString, Y = Object.prototype.hasOwnProperty, Z = String.prototype.trim, $ = function(a, b) { | |
| return new $.fn.init(a,b,N) | |
| }, _ = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, aa = /\S/, ba = /\s+/, ca = aa.test("\xa0") ? /^[\s\xA0]+|[\s\xA0]+$/g : /^\s+|\s+$/g, da = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, ea = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, fa = /^[\],:{}\s]*$/, ga = /(?:^|:|,)(?:\s*\[)+/g, ha = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, ia = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g, ja = /^-ms-/, ka = /-([\da-z])/gi, la = function(a, b) { | |
| return (b + "").toUpperCase() | |
| }, ma = function() { | |
| P.addEventListener ? (P.removeEventListener("DOMContentLoaded", ma, !1), | |
| $.ready()) : "complete" === P.readyState && (P.detachEvent("onreadystatechange", ma), | |
| $.ready()) | |
| }, na = {}; | |
| $.fn = $.prototype = { | |
| constructor: $, | |
| init: function(a, c, d) { | |
| var e, f, g; | |
| if (!a) | |
| return this; | |
| if (a.nodeType) | |
| return this.context = this[0] = a, | |
| this.length = 1, | |
| this; | |
| if ("string" == typeof a) { | |
| if (e = "<" === a.charAt(0) && ">" === a.charAt(a.length - 1) && a.length >= 3 ? [null, a, null] : da.exec(a), | |
| !e || !e[1] && c) | |
| return !c || c.jquery ? (c || d).find(a) : this.constructor(c).find(a); | |
| if (e[1]) | |
| return c = c instanceof $ ? c[0] : c, | |
| g = c && c.nodeType ? c.ownerDocument || c : P, | |
| a = $.parseHTML(e[1], g, !0), | |
| ea.test(e[1]) && $.isPlainObject(c) && this.attr.call(a, c, !0), | |
| $.merge(this, a); | |
| if (f = P.getElementById(e[2]), | |
| f && f.parentNode) { | |
| if (f.id !== e[2]) | |
| return d.find(a); | |
| this.length = 1, | |
| this[0] = f | |
| } | |
| return this.context = P, | |
| this.selector = a, | |
| this | |
| } | |
| return $.isFunction(a) ? d.ready(a) : (a.selector !== b && (this.selector = a.selector, | |
| this.context = a.context), | |
| $.makeArray(a, this)) | |
| }, | |
| selector: "", | |
| jquery: "1.8.0", | |
| length: 0, | |
| size: function() { | |
| return this.length | |
| }, | |
| toArray: function() { | |
| return V.call(this) | |
| }, | |
| get: function(a) { | |
| return null == a ? this.toArray() : a < 0 ? this[this.length + a] : this[a] | |
| }, | |
| pushStack: function(a, b, c) { | |
| var d = $.merge(this.constructor(), a); | |
| return d.prevObject = this, | |
| d.context = this.context, | |
| "find" === b ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"), | |
| d | |
| }, | |
| each: function(a, b) { | |
| return $.each(this, a, b) | |
| }, | |
| ready: function(a) { | |
| return $.ready.promise().done(a), | |
| this | |
| }, | |
| eq: function(a) { | |
| return a = +a, | |
| a === -1 ? this.slice(a) : this.slice(a, a + 1) | |
| }, | |
| first: function() { | |
| return this.eq(0) | |
| }, | |
| last: function() { | |
| return this.eq(-1) | |
| }, | |
| slice: function() { | |
| return this.pushStack(V.apply(this, arguments), "slice", V.call(arguments).join(",")) | |
| }, | |
| map: function(a) { | |
| return this.pushStack($.map(this, function(b, c) { | |
| return a.call(b, c, b) | |
| })) | |
| }, | |
| end: function() { | |
| return this.prevObject || this.constructor(null) | |
| }, | |
| push: U, | |
| sort: [].sort, | |
| splice: [].splice | |
| }, | |
| $.fn.init.prototype = $.fn, | |
| $.extend = $.fn.extend = function() { | |
| var a, c, d, e, f, g, h = arguments[0] || {}, i = 1, j = arguments.length, k = !1; | |
| for ("boolean" == typeof h && (k = h, | |
| h = arguments[1] || {}, | |
| i = 2), | |
| "object" == typeof h || $.isFunction(h) || (h = {}), | |
| j === i && (h = this, | |
| --i); i < j; i++) | |
| if (null != (a = arguments[i])) | |
| for (c in a) | |
| d = h[c], | |
| e = a[c], | |
| h !== e && (k && e && ($.isPlainObject(e) || (f = $.isArray(e))) ? (f ? (f = !1, | |
| g = d && $.isArray(d) ? d : []) : g = d && $.isPlainObject(d) ? d : {}, | |
| h[c] = $.extend(k, g, e)) : e !== b && (h[c] = e)); | |
| return h | |
| } | |
| , | |
| $.extend({ | |
| noConflict: function(b) { | |
| return a.$ === $ && (a.$ = T), | |
| b && a.jQuery === $ && (a.jQuery = S), | |
| $ | |
| }, | |
| isReady: !1, | |
| readyWait: 1, | |
| holdReady: function(a) { | |
| a ? $.readyWait++ : $.ready(!0) | |
| }, | |
| ready: function(a) { | |
| if (a === !0 ? !--$.readyWait : !$.isReady) { | |
| if (!P.body) | |
| return setTimeout($.ready, 1); | |
| $.isReady = !0, | |
| a !== !0 && --$.readyWait > 0 || (O.resolveWith(P, [$]), | |
| $.fn.trigger && $(P).trigger("ready").off("ready")) | |
| } | |
| }, | |
| isFunction: function(a) { | |
| return "function" === $.type(a) | |
| }, | |
| isArray: Array.isArray || function(a) { | |
| return "array" === $.type(a) | |
| } | |
| , | |
| isWindow: function(a) { | |
| return null != a && a == a.window | |
| }, | |
| isNumeric: function(a) { | |
| return !isNaN(parseFloat(a)) && isFinite(a) | |
| }, | |
| type: function(a) { | |
| return null == a ? String(a) : na[X.call(a)] || "object" | |
| }, | |
| isPlainObject: function(a) { | |
| if (!a || "object" !== $.type(a) || a.nodeType || $.isWindow(a)) | |
| return !1; | |
| try { | |
| if (a.constructor && !Y.call(a, "constructor") && !Y.call(a.constructor.prototype, "isPrototypeOf")) | |
| return !1 | |
| } catch (c) { | |
| return !1 | |
| } | |
| var d; | |
| for (d in a) | |
| ; | |
| return d === b || Y.call(a, d) | |
| }, | |
| isEmptyObject: function(a) { | |
| var b; | |
| for (b in a) | |
| return !1; | |
| return !0 | |
| }, | |
| error: function(a) { | |
| throw new Error(a) | |
| }, | |
| parseHTML: function(a, b, c) { | |
| var d; | |
| return a && "string" == typeof a ? ("boolean" == typeof b && (c = b, | |
| b = 0), | |
| b = b || P, | |
| (d = ea.exec(a)) ? [b.createElement(d[1])] : (d = $.buildFragment([a], b, c ? null : []), | |
| $.merge([], (d.cacheable ? $.clone(d.fragment) : d.fragment).childNodes))) : null | |
| }, | |
| parseJSON: function(b) { | |
| return b && "string" == typeof b ? (b = $.trim(b), | |
| a.JSON && a.JSON.parse ? a.JSON.parse(b) : fa.test(b.replace(ha, "@").replace(ia, "]").replace(ga, "")) ? new Function("return " + b)() : void $.error("Invalid JSON: " + b)) : null | |
| }, | |
| parseXML: function(c) { | |
| var d, e; | |
| if (!c || "string" != typeof c) | |
| return null; | |
| try { | |
| a.DOMParser ? (e = new DOMParser, | |
| d = e.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), | |
| d.async = "false", | |
| d.loadXML(c)) | |
| } catch (f) { | |
| d = b | |
| } | |
| return d && d.documentElement && !d.getElementsByTagName("parsererror").length || $.error("Invalid XML: " + c), | |
| d | |
| }, | |
| noop: function() {}, | |
| globalEval: function(b) { | |
| b && aa.test(b) && (a.execScript || function(b) { | |
| a.eval.call(a, b) | |
| } | |
| )(b) | |
| }, | |
| camelCase: function(a) { | |
| return a.replace(ja, "ms-").replace(ka, la) | |
| }, | |
| nodeName: function(a, b) { | |
| return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() | |
| }, | |
| each: function(a, c, d) { | |
| var e, f = 0, g = a.length, h = g === b || $.isFunction(a); | |
| if (d) | |
| if (h) { | |
| for (e in a) | |
| if (c.apply(a[e], d) === !1) | |
| break | |
| } else | |
| for (; f < g && c.apply(a[f++], d) !== !1; ) | |
| ; | |
| else if (h) { | |
| for (e in a) | |
| if (c.call(a[e], e, a[e]) === !1) | |
| break | |
| } else | |
| for (; f < g && c.call(a[f], f, a[f++]) !== !1; ) | |
| ; | |
| return a | |
| }, | |
| trim: Z ? function(a) { | |
| return null == a ? "" : Z.call(a) | |
| } | |
| : function(a) { | |
| return null == a ? "" : a.toString().replace(ca, "") | |
| } | |
| , | |
| makeArray: function(a, b) { | |
| var c, d = b || []; | |
| return null != a && (c = $.type(a), | |
| null == a.length || "string" === c || "function" === c || "regexp" === c || $.isWindow(a) ? U.call(d, a) : $.merge(d, a)), | |
| d | |
| }, | |
| inArray: function(a, b, c) { | |
| var d; | |
| if (b) { | |
| if (W) | |
| return W.call(b, a, c); | |
| for (d = b.length, | |
| c = c ? c < 0 ? Math.max(0, d + c) : c : 0; c < d; c++) | |
| if (c in b && b[c] === a) | |
| return c | |
| } | |
| return -1 | |
| }, | |
| merge: function(a, c) { | |
| var d = c.length | |
| , e = a.length | |
| , f = 0; | |
| if ("number" == typeof d) | |
| for (; f < d; f++) | |
| a[e++] = c[f]; | |
| else | |
| for (; c[f] !== b; ) | |
| a[e++] = c[f++]; | |
| return a.length = e, | |
| a | |
| }, | |
| grep: function(a, b, c) { | |
| var d, e = [], f = 0, g = a.length; | |
| for (c = !!c; f < g; f++) | |
| d = !!b(a[f], f), | |
| c !== d && e.push(a[f]); | |
| return e | |
| }, | |
| map: function(a, c, d) { | |
| var e, f, g = [], h = 0, i = a.length, j = a instanceof $ || i !== b && "number" == typeof i && (i > 0 && a[0] && a[i - 1] || 0 === i || $.isArray(a)); | |
| if (j) | |
| for (; h < i; h++) | |
| e = c(a[h], h, d), | |
| null != e && (g[g.length] = e); | |
| else | |
| for (f in a) | |
| e = c(a[f], f, d), | |
| null != e && (g[g.length] = e); | |
| return g.concat.apply([], g) | |
| }, | |
| guid: 1, | |
| proxy: function(a, c) { | |
| var d, e, f; | |
| return "string" == typeof c && (d = a[c], | |
| c = a, | |
| a = d), | |
| $.isFunction(a) ? (e = V.call(arguments, 2), | |
| f = function() { | |
| return a.apply(c, e.concat(V.call(arguments))) | |
| } | |
| , | |
| f.guid = a.guid = a.guid || f.guid || $.guid++, | |
| f) : b | |
| }, | |
| access: function(a, c, d, e, f, g, h) { | |
| var i, j = null == d, k = 0, l = a.length; | |
| if (d && "object" == typeof d) { | |
| for (k in d) | |
| $.access(a, c, k, d[k], 1, g, e); | |
| f = 1 | |
| } else if (e !== b) { | |
| if (i = h === b && $.isFunction(e), | |
| j && (i ? (i = c, | |
| c = function(a, b, c) { | |
| return i.call($(a), c) | |
| } | |
| ) : (c.call(a, e), | |
| c = null)), | |
| c) | |
| for (; k < l; k++) | |
| c(a[k], d, i ? e.call(a[k], k, c(a[k], d)) : e, h); | |
| f = 1 | |
| } | |
| return f ? a : j ? c.call(a) : l ? c(a[0], d) : g | |
| }, | |
| now: function() { | |
| return (new Date).getTime() | |
| } | |
| }), | |
| $.ready.promise = function(b) { | |
| if (!O) | |
| if (O = $.Deferred(), | |
| "complete" === P.readyState || "loading" !== P.readyState && P.addEventListener) | |
| setTimeout($.ready, 1); | |
| else if (P.addEventListener) | |
| P.addEventListener("DOMContentLoaded", ma, !1), | |
| a.addEventListener("load", $.ready, !1); | |
| else { | |
| P.attachEvent("onreadystatechange", ma), | |
| a.attachEvent("onload", $.ready); | |
| var c = !1; | |
| try { | |
| c = null == a.frameElement && P.documentElement | |
| } catch (d) {} | |
| c && c.doScroll && !function e() { | |
| if (!$.isReady) { | |
| try { | |
| c.doScroll("left") | |
| } catch (a) { | |
| return setTimeout(e, 50) | |
| } | |
| $.ready() | |
| } | |
| }() | |
| } | |
| return O.promise(b) | |
| } | |
| , | |
| $.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) { | |
| na["[object " + b + "]"] = b.toLowerCase() | |
| }), | |
| N = $(P); | |
| var oa = {}; | |
| $.Callbacks = function(a) { | |
| a = "string" == typeof a ? oa[a] || c(a) : $.extend({}, a); | |
| var d, e, f, g, h, i, j = [], k = !a.once && [], l = function(b) { | |
| for (d = a.memory && b, | |
| e = !0, | |
| i = g || 0, | |
| g = 0, | |
| h = j.length, | |
| f = !0; j && i < h; i++) | |
| if (j[i].apply(b[0], b[1]) === !1 && a.stopOnFalse) { | |
| d = !1; | |
| break | |
| } | |
| f = !1, | |
| j && (k ? k.length && l(k.shift()) : d ? j = [] : m.disable()) | |
| }, m = { | |
| add: function() { | |
| if (j) { | |
| var b = j.length; | |
| !function c(b) { | |
| $.each(b, function(b, d) { | |
| !$.isFunction(d) || a.unique && m.has(d) ? d && d.length && c(d) : j.push(d) | |
| }) | |
| }(arguments), | |
| f ? h = j.length : d && (g = b, | |
| l(d)) | |
| } | |
| return this | |
| }, | |
| remove: function() { | |
| return j && $.each(arguments, function(a, b) { | |
| for (var c; (c = $.inArray(b, j, c)) > -1; ) | |
| j.splice(c, 1), | |
| f && (c <= h && h--, | |
| c <= i && i--) | |
| }), | |
| this | |
| }, | |
| has: function(a) { | |
| return $.inArray(a, j) > -1 | |
| }, | |
| empty: function() { | |
| return j = [], | |
| this | |
| }, | |
| disable: function() { | |
| return j = k = d = b, | |
| this | |
| }, | |
| disabled: function() { | |
| return !j | |
| }, | |
| lock: function() { | |
| return k = b, | |
| d || m.disable(), | |
| this | |
| }, | |
| locked: function() { | |
| return !k | |
| }, | |
| fireWith: function(a, b) { | |
| return b = b || [], | |
| b = [a, b.slice ? b.slice() : b], | |
| !j || e && !k || (f ? k.push(b) : l(b)), | |
| this | |
| }, | |
| fire: function() { | |
| return m.fireWith(this, arguments), | |
| this | |
| }, | |
| fired: function() { | |
| return !!e | |
| } | |
| }; | |
| return m | |
| } | |
| , | |
| $.extend({ | |
| Deferred: function(a) { | |
| var b = [["resolve", "done", $.Callbacks("once memory"), "resolved"], ["reject", "fail", $.Callbacks("once memory"), "rejected"], ["notify", "progress", $.Callbacks("memory")]] | |
| , c = "pending" | |
| , d = { | |
| state: function() { | |
| return c | |
| }, | |
| always: function() { | |
| return e.done(arguments).fail(arguments), | |
| this | |
| }, | |
| then: function() { | |
| var a = arguments; | |
| return $.Deferred(function(c) { | |
| $.each(b, function(b, d) { | |
| var f = d[0] | |
| , g = a[b]; | |
| e[d[1]]($.isFunction(g) ? function() { | |
| var a = g.apply(this, arguments); | |
| a && $.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f + "With"](this === e ? c : this, [a]) | |
| } | |
| : c[f]) | |
| }), | |
| a = null | |
| }).promise() | |
| }, | |
| promise: function(a) { | |
| return "object" == typeof a ? $.extend(a, d) : d | |
| } | |
| } | |
| , e = {}; | |
| return d.pipe = d.then, | |
| $.each(b, function(a, f) { | |
| var g = f[2] | |
| , h = f[3]; | |
| d[f[1]] = g.add, | |
| h && g.add(function() { | |
| c = h | |
| }, b[1 ^ a][2].disable, b[2][2].lock), | |
| e[f[0]] = g.fire, | |
| e[f[0] + "With"] = g.fireWith | |
| }), | |
| d.promise(e), | |
| a && a.call(e, e), | |
| e | |
| }, | |
| when: function(a) { | |
| var b, c, d, e = 0, f = V.call(arguments), g = f.length, h = 1 !== g || a && $.isFunction(a.promise) ? g : 0, i = 1 === h ? a : $.Deferred(), j = function(a, c, d) { | |
| return function(e) { | |
| c[a] = this, | |
| d[a] = arguments.length > 1 ? V.call(arguments) : e, | |
| d === b ? i.notifyWith(c, d) : --h || i.resolveWith(c, d) | |
| } | |
| }; | |
| if (g > 1) | |
| for (b = new Array(g), | |
| c = new Array(g), | |
| d = new Array(g); e < g; e++) | |
| f[e] && $.isFunction(f[e].promise) ? f[e].promise().done(j(e, d, f)).fail(i.reject).progress(j(e, c, b)) : --h; | |
| return h || i.resolveWith(d, f), | |
| i.promise() | |
| } | |
| }), | |
| $.support = function() { | |
| var b, c, d, e, f, g, h, i, j, k, l, m = P.createElement("div"); | |
| if (m.setAttribute("className", "t"), | |
| m.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", | |
| c = m.getElementsByTagName("*"), | |
| d = m.getElementsByTagName("a")[0], | |
| d.style.cssText = "top:1px;float:left;opacity:.5", | |
| !c || !c.length || !d) | |
| return {}; | |
| e = P.createElement("select"), | |
| f = e.appendChild(P.createElement("option")), | |
| g = m.getElementsByTagName("input")[0], | |
| b = { | |
| leadingWhitespace: 3 === m.firstChild.nodeType, | |
| tbody: !m.getElementsByTagName("tbody").length, | |
| htmlSerialize: !!m.getElementsByTagName("link").length, | |
| style: /top/.test(d.getAttribute("style")), | |
| hrefNormalized: "/a" === d.getAttribute("href"), | |
| opacity: /^0.5/.test(d.style.opacity), | |
| cssFloat: !!d.style.cssFloat, | |
| checkOn: "on" === g.value, | |
| optSelected: f.selected, | |
| getSetAttribute: "t" !== m.className, | |
| enctype: !!P.createElement("form").enctype, | |
| html5Clone: "<:nav></:nav>" !== P.createElement("nav").cloneNode(!0).outerHTML, | |
| boxModel: "CSS1Compat" === P.compatMode, | |
| submitBubbles: !0, | |
| changeBubbles: !0, | |
| focusinBubbles: !1, | |
| deleteExpando: !0, | |
| noCloneEvent: !0, | |
| inlineBlockNeedsLayout: !1, | |
| shrinkWrapBlocks: !1, | |
| reliableMarginRight: !0, | |
| boxSizingReliable: !0, | |
| pixelPosition: !1 | |
| }, | |
| g.checked = !0, | |
| b.noCloneChecked = g.cloneNode(!0).checked, | |
| e.disabled = !0, | |
| b.optDisabled = !f.disabled; | |
| try { | |
| delete m.test | |
| } catch (n) { | |
| b.deleteExpando = !1 | |
| } | |
| if (!m.addEventListener && m.attachEvent && m.fireEvent && (m.attachEvent("onclick", l = function() { | |
| b.noCloneEvent = !1 | |
| } | |
| ), | |
| m.cloneNode(!0).fireEvent("onclick"), | |
| m.detachEvent("onclick", l)), | |
| g = P.createElement("input"), | |
| g.value = "t", | |
| g.setAttribute("type", "radio"), | |
| b.radioValue = "t" === g.value, | |
| g.setAttribute("checked", "checked"), | |
| g.setAttribute("name", "t"), | |
| m.appendChild(g), | |
| h = P.createDocumentFragment(), | |
| h.appendChild(m.lastChild), | |
| b.checkClone = h.cloneNode(!0).cloneNode(!0).lastChild.checked, | |
| b.appendChecked = g.checked, | |
| h.removeChild(g), | |
| h.appendChild(m), | |
| m.attachEvent) | |
| for (j in { | |
| submit: !0, | |
| change: !0, | |
| focusin: !0 | |
| }) | |
| i = "on" + j, | |
| k = i in m, | |
| k || (m.setAttribute(i, "return;"), | |
| k = "function" == typeof m[i]), | |
| b[j + "Bubbles"] = k; | |
| return $(function() { | |
| var c, d, e, f, g = "padding:0;margin:0;border:0;display:block;overflow:hidden;", h = P.getElementsByTagName("body")[0]; | |
| h && (c = P.createElement("div"), | |
| c.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", | |
| h.insertBefore(c, h.firstChild), | |
| d = P.createElement("div"), | |
| c.appendChild(d), | |
| d.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", | |
| e = d.getElementsByTagName("td"), | |
| e[0].style.cssText = "padding:0;margin:0;border:0;display:none", | |
| k = 0 === e[0].offsetHeight, | |
| e[0].style.display = "", | |
| e[1].style.display = "none", | |
| b.reliableHiddenOffsets = k && 0 === e[0].offsetHeight, | |
| d.innerHTML = "", | |
| d.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", | |
| b.boxSizing = 4 === d.offsetWidth, | |
| b.doesNotIncludeMarginInBodyOffset = 1 !== h.offsetTop, | |
| a.getComputedStyle && (b.pixelPosition = "1%" !== (a.getComputedStyle(d, null) || {}).top, | |
| b.boxSizingReliable = "4px" === (a.getComputedStyle(d, null) || { | |
| width: "4px" | |
| }).width, | |
| f = P.createElement("div"), | |
| f.style.cssText = d.style.cssText = g, | |
| f.style.marginRight = f.style.width = "0", | |
| d.style.width = "1px", | |
| d.appendChild(f), | |
| b.reliableMarginRight = !parseFloat((a.getComputedStyle(f, null) || {}).marginRight)), | |
| "undefined" != typeof d.style.zoom && (d.innerHTML = "", | |
| d.style.cssText = g + "width:1px;padding:1px;display:inline;zoom:1", | |
| b.inlineBlockNeedsLayout = 3 === d.offsetWidth, | |
| d.style.display = "block", | |
| d.style.overflow = "visible", | |
| d.innerHTML = "<div></div>", | |
| d.firstChild.style.width = "5px", | |
| b.shrinkWrapBlocks = 3 !== d.offsetWidth, | |
| c.style.zoom = 1), | |
| h.removeChild(c), | |
| c = d = e = f = null) | |
| }), | |
| h.removeChild(m), | |
| c = d = e = f = g = h = m = null, | |
| b | |
| }(); | |
| var pa = /^(?:\{.*\}|\[.*\])$/ | |
| , qa = /([A-Z])/g; | |
| $.extend({ | |
| cache: {}, | |
| deletedIds: [], | |
| uuid: 0, | |
| expando: "jQuery" + ($.fn.jquery + Math.random()).replace(/\D/g, ""), | |
| noData: { | |
| embed: !0, | |
| object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", | |
| applet: !0 | |
| }, | |
| hasData: function(a) { | |
| return a = a.nodeType ? $.cache[a[$.expando]] : a[$.expando], | |
| !!a && !e(a) | |
| }, | |
| data: function(a, c, d, e) { | |
| if ($.acceptData(a)) { | |
| var f, g, h = $.expando, i = "string" == typeof c, j = a.nodeType, k = j ? $.cache : a, l = j ? a[h] : a[h] && h; | |
| if (l && k[l] && (e || k[l].data) || !i || d !== b) | |
| return l || (j ? a[h] = l = $.deletedIds.pop() || ++$.uuid : l = h), | |
| k[l] || (k[l] = {}, | |
| j || (k[l].toJSON = $.noop)), | |
| "object" != typeof c && "function" != typeof c || (e ? k[l] = $.extend(k[l], c) : k[l].data = $.extend(k[l].data, c)), | |
| f = k[l], | |
| e || (f.data || (f.data = {}), | |
| f = f.data), | |
| d !== b && (f[$.camelCase(c)] = d), | |
| i ? (g = f[c], | |
| null == g && (g = f[$.camelCase(c)])) : g = f, | |
| g | |
| } | |
| }, | |
| removeData: function(a, b, c) { | |
| if ($.acceptData(a)) { | |
| var d, f, g, h = a.nodeType, i = h ? $.cache : a, j = h ? a[$.expando] : $.expando; | |
| if (i[j]) { | |
| if (b && (d = c ? i[j] : i[j].data)) { | |
| $.isArray(b) || (b in d ? b = [b] : (b = $.camelCase(b), | |
| b = b in d ? [b] : b.split(" "))); | |
| for (f = 0, | |
| g = b.length; f < g; f++) | |
| delete d[b[f]]; | |
| if (!(c ? e : $.isEmptyObject)(d)) | |
| return | |
| } | |
| (c || (delete i[j].data, | |
| e(i[j]))) && (h ? $.cleanData([a], !0) : $.support.deleteExpando || i != i.window ? delete i[j] : i[j] = null) | |
| } | |
| } | |
| }, | |
| _data: function(a, b, c) { | |
| return $.data(a, b, c, !0) | |
| }, | |
| acceptData: function(a) { | |
| var b = a.nodeName && $.noData[a.nodeName.toLowerCase()]; | |
| return !b || b !== !0 && a.getAttribute("classid") === b | |
| } | |
| }), | |
| $.fn.extend({ | |
| data: function(a, c) { | |
| var e, f, g, h, i, j = this[0], k = 0, l = null; | |
| if (a === b) { | |
| if (this.length && (l = $.data(j), | |
| 1 === j.nodeType && !$._data(j, "parsedAttrs"))) { | |
| for (g = j.attributes, | |
| i = g.length; k < i; k++) | |
| h = g[k].name, | |
| 0 === h.indexOf("data-") && (h = $.camelCase(h.substring(5)), | |
| d(j, h, l[h])); | |
| $._data(j, "parsedAttrs", !0) | |
| } | |
| return l | |
| } | |
| return "object" == typeof a ? this.each(function() { | |
| $.data(this, a) | |
| }) : (e = a.split(".", 2), | |
| e[1] = e[1] ? "." + e[1] : "", | |
| f = e[1] + "!", | |
| $.access(this, function(c) { | |
| return c === b ? (l = this.triggerHandler("getData" + f, [e[0]]), | |
| l === b && j && (l = $.data(j, a), | |
| l = d(j, a, l)), | |
| l === b && e[1] ? this.data(e[0]) : l) : (e[1] = c, | |
| void this.each(function() { | |
| var b = $(this); | |
| b.triggerHandler("setData" + f, e), | |
| $.data(this, a, c), | |
| b.triggerHandler("changeData" + f, e) | |
| })) | |
| }, null, c, arguments.length > 1, null, !1)) | |
| }, | |
| removeData: function(a) { | |
| return this.each(function() { | |
| $.removeData(this, a) | |
| }) | |
| } | |
| }), | |
| $.extend({ | |
| queue: function(a, b, c) { | |
| var d; | |
| if (a) | |
| return b = (b || "fx") + "queue", | |
| d = $._data(a, b), | |
| c && (!d || $.isArray(c) ? d = $._data(a, b, $.makeArray(c)) : d.push(c)), | |
| d || [] | |
| }, | |
| dequeue: function(a, b) { | |
| b = b || "fx"; | |
| var c = $.queue(a, b) | |
| , d = c.shift() | |
| , e = $._queueHooks(a, b) | |
| , f = function() { | |
| $.dequeue(a, b) | |
| }; | |
| "inprogress" === d && (d = c.shift()), | |
| d && ("fx" === b && c.unshift("inprogress"), | |
| delete e.stop, | |
| d.call(a, f, e)), | |
| !c.length && e && e.empty.fire() | |
| }, | |
| _queueHooks: function(a, b) { | |
| var c = b + "queueHooks"; | |
| return $._data(a, c) || $._data(a, c, { | |
| empty: $.Callbacks("once memory").add(function() { | |
| $.removeData(a, b + "queue", !0), | |
| $.removeData(a, c, !0) | |
| }) | |
| }) | |
| } | |
| }), | |
| $.fn.extend({ | |
| queue: function(a, c) { | |
| var d = 2; | |
| return "string" != typeof a && (c = a, | |
| a = "fx", | |
| d--), | |
| arguments.length < d ? $.queue(this[0], a) : c === b ? this : this.each(function() { | |
| var b = $.queue(this, a, c); | |
| $._queueHooks(this, a), | |
| "fx" === a && "inprogress" !== b[0] && $.dequeue(this, a) | |
| }) | |
| }, | |
| dequeue: function(a) { | |
| return this.each(function() { | |
| $.dequeue(this, a) | |
| }) | |
| }, | |
| delay: function(a, b) { | |
| return a = $.fx ? $.fx.speeds[a] || a : a, | |
| b = b || "fx", | |
| this.queue(b, function(b, c) { | |
| var d = setTimeout(b, a); | |
| c.stop = function() { | |
| clearTimeout(d) | |
| } | |
| }) | |
| }, | |
| clearQueue: function(a) { | |
| return this.queue(a || "fx", []) | |
| }, | |
| promise: function(a, c) { | |
| var d, e = 1, f = $.Deferred(), g = this, h = this.length, i = function() { | |
| --e || f.resolveWith(g, [g]) | |
| }; | |
| for ("string" != typeof a && (c = a, | |
| a = b), | |
| a = a || "fx"; h--; ) | |
| (d = $._data(g[h], a + "queueHooks")) && d.empty && (e++, | |
| d.empty.add(i)); | |
| return i(), | |
| f.promise(c) | |
| } | |
| }); | |
| var ra, sa, ta, ua = /[\t\r\n]/g, va = /\r/g, wa = /^(?:button|input)$/i, xa = /^(?:button|input|object|select|textarea)$/i, ya = /^a(?:rea|)$/i, za = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, Aa = $.support.getSetAttribute; | |
| $.fn.extend({ | |
| attr: function(a, b) { | |
| return $.access(this, $.attr, a, b, arguments.length > 1) | |
| }, | |
| removeAttr: function(a) { | |
| return this.each(function() { | |
| $.removeAttr(this, a) | |
| }) | |
| }, | |
| prop: function(a, b) { | |
| return $.access(this, $.prop, a, b, arguments.length > 1) | |
| }, | |
| removeProp: function(a) { | |
| return a = $.propFix[a] || a, | |
| this.each(function() { | |
| try { | |
| this[a] = b, | |
| delete this[a] | |
| } catch (c) {} | |
| }) | |
| }, | |
| addClass: function(a) { | |
| var b, c, d, e, f, g, h; | |
| if ($.isFunction(a)) | |
| return this.each(function(b) { | |
| $(this).addClass(a.call(this, b, this.className)) | |
| }); | |
| if (a && "string" == typeof a) | |
| for (b = a.split(ba), | |
| c = 0, | |
| d = this.length; c < d; c++) | |
| if (e = this[c], | |
| 1 === e.nodeType) | |
| if (e.className || 1 !== b.length) { | |
| for (f = " " + e.className + " ", | |
| g = 0, | |
| h = b.length; g < h; g++) | |
| ~f.indexOf(" " + b[g] + " ") || (f += b[g] + " "); | |
| e.className = $.trim(f) | |
| } else | |
| e.className = a; | |
| return this | |
| }, | |
| removeClass: function(a) { | |
| var c, d, e, f, g, h, i; | |
| if ($.isFunction(a)) | |
| return this.each(function(b) { | |
| $(this).removeClass(a.call(this, b, this.className)) | |
| }); | |
| if (a && "string" == typeof a || a === b) | |
| for (c = (a || "").split(ba), | |
| h = 0, | |
| i = this.length; h < i; h++) | |
| if (e = this[h], | |
| 1 === e.nodeType && e.className) { | |
| for (d = (" " + e.className + " ").replace(ua, " "), | |
| f = 0, | |
| g = c.length; f < g; f++) | |
| for (; d.indexOf(" " + c[f] + " ") > -1; ) | |
| d = d.replace(" " + c[f] + " ", " "); | |
| e.className = a ? $.trim(d) : "" | |
| } | |
| return this | |
| }, | |
| toggleClass: function(a, b) { | |
| var c = typeof a | |
| , d = "boolean" == typeof b; | |
| return $.isFunction(a) ? this.each(function(c) { | |
| $(this).toggleClass(a.call(this, c, this.className, b), b) | |
| }) : this.each(function() { | |
| if ("string" === c) | |
| for (var e, f = 0, g = $(this), h = b, i = a.split(ba); e = i[f++]; ) | |
| h = d ? h : !g.hasClass(e), | |
| g[h ? "addClass" : "removeClass"](e); | |
| else | |
| "undefined" !== c && "boolean" !== c || (this.className && $._data(this, "__className__", this.className), | |
| this.className = this.className || a === !1 ? "" : $._data(this, "__className__") || "") | |
| }) | |
| }, | |
| hasClass: function(a) { | |
| for (var b = " " + a + " ", c = 0, d = this.length; c < d; c++) | |
| if (1 === this[c].nodeType && (" " + this[c].className + " ").replace(ua, " ").indexOf(b) > -1) | |
| return !0; | |
| return !1 | |
| }, | |
| val: function(a) { | |
| var c, d, e, f = this[0]; | |
| { | |
| if (arguments.length) | |
| return e = $.isFunction(a), | |
| this.each(function(d) { | |
| var f, g = $(this); | |
| 1 === this.nodeType && (f = e ? a.call(this, d, g.val()) : a, | |
| null == f ? f = "" : "number" == typeof f ? f += "" : $.isArray(f) && (f = $.map(f, function(a) { | |
| return null == a ? "" : a + "" | |
| })), | |
| c = $.valHooks[this.type] || $.valHooks[this.nodeName.toLowerCase()], | |
| c && "set"in c && c.set(this, f, "value") !== b || (this.value = f)) | |
| }); | |
| if (f) | |
| return c = $.valHooks[f.type] || $.valHooks[f.nodeName.toLowerCase()], | |
| c && "get"in c && (d = c.get(f, "value")) !== b ? d : (d = f.value, | |
| "string" == typeof d ? d.replace(va, "") : null == d ? "" : d) | |
| } | |
| } | |
| }), | |
| $.extend({ | |
| valHooks: { | |
| option: { | |
| get: function(a) { | |
| var b = a.attributes.value; | |
| return !b || b.specified ? a.value : a.text | |
| } | |
| }, | |
| select: { | |
| get: function(a) { | |
| var b, c, d, e, f = a.selectedIndex, g = [], h = a.options, i = "select-one" === a.type; | |
| if (f < 0) | |
| return null; | |
| for (c = i ? f : 0, | |
| d = i ? f + 1 : h.length; c < d; c++) | |
| if (e = h[c], | |
| e.selected && ($.support.optDisabled ? !e.disabled : null === e.getAttribute("disabled")) && (!e.parentNode.disabled || !$.nodeName(e.parentNode, "optgroup"))) { | |
| if (b = $(e).val(), | |
| i) | |
| return b; | |
| g.push(b) | |
| } | |
| return i && !g.length && h.length ? $(h[f]).val() : g | |
| }, | |
| set: function(a, b) { | |
| var c = $.makeArray(b); | |
| return $(a).find("option").each(function() { | |
| this.selected = $.inArray($(this).val(), c) >= 0 | |
| }), | |
| c.length || (a.selectedIndex = -1), | |
| c | |
| } | |
| } | |
| }, | |
| attrFn: {}, | |
| attr: function(a, c, d, e) { | |
| var f, g, h, i = a.nodeType; | |
| if (a && 3 !== i && 8 !== i && 2 !== i) | |
| return e && $.isFunction($.fn[c]) ? $(a)[c](d) : "undefined" == typeof a.getAttribute ? $.prop(a, c, d) : (h = 1 !== i || !$.isXMLDoc(a), | |
| h && (c = c.toLowerCase(), | |
| g = $.attrHooks[c] || (za.test(c) ? sa : ra)), | |
| d !== b ? null === d ? void $.removeAttr(a, c) : g && "set"in g && h && (f = g.set(a, d, c)) !== b ? f : (a.setAttribute(c, "" + d), | |
| d) : g && "get"in g && h && null !== (f = g.get(a, c)) ? f : (f = a.getAttribute(c), | |
| null === f ? b : f)) | |
| }, | |
| removeAttr: function(a, b) { | |
| var c, d, e, f, g = 0; | |
| if (b && 1 === a.nodeType) | |
| for (d = b.split(ba); g < d.length; g++) | |
| e = d[g], | |
| e && (c = $.propFix[e] || e, | |
| f = za.test(e), | |
| f || $.attr(a, e, ""), | |
| a.removeAttribute(Aa ? e : c), | |
| f && c in a && (a[c] = !1)) | |
| }, | |
| attrHooks: { | |
| type: { | |
| set: function(a, b) { | |
| if (wa.test(a.nodeName) && a.parentNode) | |
| $.error("type property can't be changed"); | |
| else if (!$.support.radioValue && "radio" === b && $.nodeName(a, "input")) { | |
| var c = a.value; | |
| return a.setAttribute("type", b), | |
| c && (a.value = c), | |
| b | |
| } | |
| } | |
| }, | |
| value: { | |
| get: function(a, b) { | |
| return ra && $.nodeName(a, "button") ? ra.get(a, b) : b in a ? a.value : null | |
| }, | |
| set: function(a, b, c) { | |
| return ra && $.nodeName(a, "button") ? ra.set(a, b, c) : void (a.value = b) | |
| } | |
| } | |
| }, | |
| propFix: { | |
| tabindex: "tabIndex", | |
| readonly: "readOnly", | |
| "for": "htmlFor", | |
| "class": "className", | |
| maxlength: "maxLength", | |
| cellspacing: "cellSpacing", | |
| cellpadding: "cellPadding", | |
| rowspan: "rowSpan", | |
| colspan: "colSpan", | |
| usemap: "useMap", | |
| frameborder: "frameBorder", | |
| contenteditable: "contentEditable" | |
| }, | |
| prop: function(a, c, d) { | |
| var e, f, g, h = a.nodeType; | |
| if (a && 3 !== h && 8 !== h && 2 !== h) | |
| return g = 1 !== h || !$.isXMLDoc(a), | |
| g && (c = $.propFix[c] || c, | |
| f = $.propHooks[c]), | |
| d !== b ? f && "set"in f && (e = f.set(a, d, c)) !== b ? e : a[c] = d : f && "get"in f && null !== (e = f.get(a, c)) ? e : a[c] | |
| }, | |
| propHooks: { | |
| tabIndex: { | |
| get: function(a) { | |
| var c = a.getAttributeNode("tabindex"); | |
| return c && c.specified ? parseInt(c.value, 10) : xa.test(a.nodeName) || ya.test(a.nodeName) && a.href ? 0 : b | |
| } | |
| } | |
| } | |
| }), | |
| sa = { | |
| get: function(a, c) { | |
| var d, e = $.prop(a, c); | |
| return e === !0 || "boolean" != typeof e && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b | |
| }, | |
| set: function(a, b, c) { | |
| var d; | |
| return b === !1 ? $.removeAttr(a, c) : (d = $.propFix[c] || c, | |
| d in a && (a[d] = !0), | |
| a.setAttribute(c, c.toLowerCase())), | |
| c | |
| } | |
| }, | |
| Aa || (ta = { | |
| name: !0, | |
| id: !0, | |
| coords: !0 | |
| }, | |
| ra = $.valHooks.button = { | |
| get: function(a, c) { | |
| var d; | |
| return d = a.getAttributeNode(c), | |
| d && (ta[c] ? "" !== d.value : d.specified) ? d.value : b | |
| }, | |
| set: function(a, b, c) { | |
| var d = a.getAttributeNode(c); | |
| return d || (d = P.createAttribute(c), | |
| a.setAttributeNode(d)), | |
| d.value = b + "" | |
| } | |
| }, | |
| $.each(["width", "height"], function(a, b) { | |
| $.attrHooks[b] = $.extend($.attrHooks[b], { | |
| set: function(a, c) { | |
| if ("" === c) | |
| return a.setAttribute(b, "auto"), | |
| c | |
| } | |
| }) | |
| }), | |
| $.attrHooks.contenteditable = { | |
| get: ra.get, | |
| set: function(a, b, c) { | |
| "" === b && (b = "false"), | |
| ra.set(a, b, c) | |
| } | |
| }), | |
| $.support.hrefNormalized || $.each(["href", "src", "width", "height"], function(a, c) { | |
| $.attrHooks[c] = $.extend($.attrHooks[c], { | |
| get: function(a) { | |
| var d = a.getAttribute(c, 2); | |
| return null === d ? b : d | |
| } | |
| }) | |
| }), | |
| $.support.style || ($.attrHooks.style = { | |
| get: function(a) { | |
| return a.style.cssText.toLowerCase() || b | |
| }, | |
| set: function(a, b) { | |
| return a.style.cssText = "" + b | |
| } | |
| }), | |
| $.support.optSelected || ($.propHooks.selected = $.extend($.propHooks.selected, { | |
| get: function(a) { | |
| var b = a.parentNode; | |
| return b && (b.selectedIndex, | |
| b.parentNode && b.parentNode.selectedIndex), | |
| null | |
| } | |
| })), | |
| $.support.enctype || ($.propFix.enctype = "encoding"), | |
| $.support.checkOn || $.each(["radio", "checkbox"], function() { | |
| $.valHooks[this] = { | |
| get: function(a) { | |
| return null === a.getAttribute("value") ? "on" : a.value | |
| } | |
| } | |
| }), | |
| $.each(["radio", "checkbox"], function() { | |
| $.valHooks[this] = $.extend($.valHooks[this], { | |
| set: function(a, b) { | |
| if ($.isArray(b)) | |
| return a.checked = $.inArray($(a).val(), b) >= 0 | |
| } | |
| }) | |
| }); | |
| var Ba = /^(?:textarea|input|select)$/i | |
| , Ca = /^([^\.]*|)(?:\.(.+)|)$/ | |
| , Da = /(?:^|\s)hover(\.\S+|)\b/ | |
| , Ea = /^key/ | |
| , Fa = /^(?:mouse|contextmenu)|click/ | |
| , Ga = /^(?:focusinfocus|focusoutblur)$/ | |
| , Ha = function(a) { | |
| return $.event.special.hover ? a : a.replace(Da, "mouseenter$1 mouseleave$1") | |
| }; | |
| $.event = { | |
| add: function(a, c, d, e, f) { | |
| var g, h, i, j, k, l, m, n, o, p, q; | |
| if (3 !== a.nodeType && 8 !== a.nodeType && c && d && (g = $._data(a))) { | |
| for (d.handler && (o = d, | |
| d = o.handler, | |
| f = o.selector), | |
| d.guid || (d.guid = $.guid++), | |
| i = g.events, | |
| i || (g.events = i = {}), | |
| h = g.handle, | |
| h || (g.handle = h = function(a) { | |
| return "undefined" == typeof $ || a && $.event.triggered === a.type ? b : $.event.dispatch.apply(h.elem, arguments) | |
| } | |
| , | |
| h.elem = a), | |
| c = $.trim(Ha(c)).split(" "), | |
| j = 0; j < c.length; j++) | |
| k = Ca.exec(c[j]) || [], | |
| l = k[1], | |
| m = (k[2] || "").split(".").sort(), | |
| q = $.event.special[l] || {}, | |
| l = (f ? q.delegateType : q.bindType) || l, | |
| q = $.event.special[l] || {}, | |
| n = $.extend({ | |
| type: l, | |
| origType: k[1], | |
| data: e, | |
| handler: d, | |
| guid: d.guid, | |
| selector: f, | |
| namespace: m.join(".") | |
| }, o), | |
| p = i[l], | |
| p || (p = i[l] = [], | |
| p.delegateCount = 0, | |
| q.setup && q.setup.call(a, e, m, h) !== !1 || (a.addEventListener ? a.addEventListener(l, h, !1) : a.attachEvent && a.attachEvent("on" + l, h))), | |
| q.add && (q.add.call(a, n), | |
| n.handler.guid || (n.handler.guid = d.guid)), | |
| f ? p.splice(p.delegateCount++, 0, n) : p.push(n), | |
| $.event.global[l] = !0; | |
| a = null | |
| } | |
| }, | |
| global: {}, | |
| remove: function(a, b, c, d, e) { | |
| var f, g, h, i, j, k, l, m, n, o, p, q = $.hasData(a) && $._data(a); | |
| if (q && (m = q.events)) { | |
| for (b = $.trim(Ha(b || "")).split(" "), | |
| f = 0; f < b.length; f++) | |
| if (g = Ca.exec(b[f]) || [], | |
| h = i = g[1], | |
| j = g[2], | |
| h) { | |
| for (n = $.event.special[h] || {}, | |
| h = (d ? n.delegateType : n.bindType) || h, | |
| o = m[h] || [], | |
| k = o.length, | |
| j = j ? new RegExp("(^|\\.)" + j.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null, | |
| l = 0; l < o.length; l++) | |
| p = o[l], | |
| !e && i !== p.origType || c && c.guid !== p.guid || j && !j.test(p.namespace) || d && d !== p.selector && ("**" !== d || !p.selector) || (o.splice(l--, 1), | |
| p.selector && o.delegateCount--, | |
| n.remove && n.remove.call(a, p)); | |
| 0 === o.length && k !== o.length && (n.teardown && n.teardown.call(a, j, q.handle) !== !1 || $.removeEvent(a, h, q.handle), | |
| delete m[h]) | |
| } else | |
| for (h in m) | |
| $.event.remove(a, h + b[f], c, d, !0); | |
| $.isEmptyObject(m) && (delete q.handle, | |
| $.removeData(a, "events", !0)) | |
| } | |
| }, | |
| customEvent: { | |
| getData: !0, | |
| setData: !0, | |
| changeData: !0 | |
| }, | |
| trigger: function(c, d, e, f) { | |
| if (!e || 3 !== e.nodeType && 8 !== e.nodeType) { | |
| var g, h, i, j, k, l, m, n, o, p, q = c.type || c, r = []; | |
| if (!Ga.test(q + $.event.triggered) && (q.indexOf("!") >= 0 && (q = q.slice(0, -1), | |
| h = !0), | |
| q.indexOf(".") >= 0 && (r = q.split("."), | |
| q = r.shift(), | |
| r.sort()), | |
| e && !$.event.customEvent[q] || $.event.global[q])) | |
| if (c = "object" == typeof c ? c[$.expando] ? c : new $.Event(q,c) : new $.Event(q), | |
| c.type = q, | |
| c.isTrigger = !0, | |
| c.exclusive = h, | |
| c.namespace = r.join("."), | |
| c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + r.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, | |
| l = q.indexOf(":") < 0 ? "on" + q : "", | |
| e) { | |
| if (c.result = b, | |
| c.target || (c.target = e), | |
| d = null != d ? $.makeArray(d) : [], | |
| d.unshift(c), | |
| m = $.event.special[q] || {}, | |
| !m.trigger || m.trigger.apply(e, d) !== !1) { | |
| if (o = [[e, m.bindType || q]], | |
| !f && !m.noBubble && !$.isWindow(e)) { | |
| for (p = m.delegateType || q, | |
| j = Ga.test(p + q) ? e : e.parentNode, | |
| k = e; j; j = j.parentNode) | |
| o.push([j, p]), | |
| k = j; | |
| k === (e.ownerDocument || P) && o.push([k.defaultView || k.parentWindow || a, p]) | |
| } | |
| for (i = 0; i < o.length && !c.isPropagationStopped(); i++) | |
| j = o[i][0], | |
| c.type = o[i][1], | |
| n = ($._data(j, "events") || {})[c.type] && $._data(j, "handle"), | |
| n && n.apply(j, d), | |
| n = l && j[l], | |
| n && $.acceptData(j) && n.apply(j, d) === !1 && c.preventDefault(); | |
| return c.type = q, | |
| f || c.isDefaultPrevented() || m._default && m._default.apply(e.ownerDocument, d) !== !1 || "click" === q && $.nodeName(e, "a") || !$.acceptData(e) || l && e[q] && ("focus" !== q && "blur" !== q || 0 !== c.target.offsetWidth) && !$.isWindow(e) && (k = e[l], | |
| k && (e[l] = null), | |
| $.event.triggered = q, | |
| e[q](), | |
| $.event.triggered = b, | |
| k && (e[l] = k)), | |
| c.result | |
| } | |
| } else { | |
| g = $.cache; | |
| for (i in g) | |
| g[i].events && g[i].events[q] && $.event.trigger(c, d, g[i].handle.elem, !0) | |
| } | |
| } | |
| }, | |
| dispatch: function(c) { | |
| c = $.event.fix(c || a.event); | |
| var d, e, f, g, h, i, j, k, l, m, n = ($._data(this, "events") || {})[c.type] || [], o = n.delegateCount, p = [].slice.call(arguments), q = !c.exclusive && !c.namespace, r = $.event.special[c.type] || {}, s = []; | |
| if (p[0] = c, | |
| c.delegateTarget = this, | |
| !r.preDispatch || r.preDispatch.call(this, c) !== !1) { | |
| if (o && (!c.button || "click" !== c.type)) | |
| for (g = $(this), | |
| g.context = this, | |
| f = c.target; f != this; f = f.parentNode || this) | |
| if (f.disabled !== !0 || "click" !== c.type) { | |
| for (i = {}, | |
| k = [], | |
| g[0] = f, | |
| d = 0; d < o; d++) | |
| l = n[d], | |
| m = l.selector, | |
| i[m] === b && (i[m] = g.is(m)), | |
| i[m] && k.push(l); | |
| k.length && s.push({ | |
| elem: f, | |
| matches: k | |
| }) | |
| } | |
| for (n.length > o && s.push({ | |
| elem: this, | |
| matches: n.slice(o) | |
| }), | |
| d = 0; d < s.length && !c.isPropagationStopped(); d++) | |
| for (j = s[d], | |
| c.currentTarget = j.elem, | |
| e = 0; e < j.matches.length && !c.isImmediatePropagationStopped(); e++) | |
| l = j.matches[e], | |
| (q || !c.namespace && !l.namespace || c.namespace_re && c.namespace_re.test(l.namespace)) && (c.data = l.data, | |
| c.handleObj = l, | |
| h = (($.event.special[l.origType] || {}).handle || l.handler).apply(j.elem, p), | |
| h !== b && (c.result = h, | |
| h === !1 && (c.preventDefault(), | |
| c.stopPropagation()))); | |
| return r.postDispatch && r.postDispatch.call(this, c), | |
| c.result | |
| } | |
| }, | |
| props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), | |
| fixHooks: {}, | |
| keyHooks: { | |
| props: "char charCode key keyCode".split(" "), | |
| filter: function(a, b) { | |
| return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), | |
| a | |
| } | |
| }, | |
| mouseHooks: { | |
| props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), | |
| filter: function(a, c) { | |
| var d, e, f, g = c.button, h = c.fromElement; | |
| return null == a.pageX && null != c.clientX && (d = a.target.ownerDocument || P, | |
| e = d.documentElement, | |
| f = d.body, | |
| a.pageX = c.clientX + (e && e.scrollLeft || f && f.scrollLeft || 0) - (e && e.clientLeft || f && f.clientLeft || 0), | |
| a.pageY = c.clientY + (e && e.scrollTop || f && f.scrollTop || 0) - (e && e.clientTop || f && f.clientTop || 0)), | |
| !a.relatedTarget && h && (a.relatedTarget = h === a.target ? c.toElement : h), | |
| a.which || g === b || (a.which = 1 & g ? 1 : 2 & g ? 3 : 4 & g ? 2 : 0), | |
| a | |
| } | |
| }, | |
| fix: function(a) { | |
| if (a[$.expando]) | |
| return a; | |
| var b, c, d = a, e = $.event.fixHooks[a.type] || {}, f = e.props ? this.props.concat(e.props) : this.props; | |
| for (a = $.Event(d), | |
| b = f.length; b; ) | |
| c = f[--b], | |
| a[c] = d[c]; | |
| return a.target || (a.target = d.srcElement || P), | |
| 3 === a.target.nodeType && (a.target = a.target.parentNode), | |
| a.metaKey = !!a.metaKey, | |
| e.filter ? e.filter(a, d) : a | |
| }, | |
| special: { | |
| ready: { | |
| setup: $.bindReady | |
| }, | |
| load: { | |
| noBubble: !0 | |
| }, | |
| focus: { | |
| delegateType: "focusin" | |
| }, | |
| blur: { | |
| delegateType: "focusout" | |
| }, | |
| beforeunload: { | |
| setup: function(a, b, c) { | |
| $.isWindow(this) && (this.onbeforeunload = c) | |
| }, | |
| teardown: function(a, b) { | |
| this.onbeforeunload === b && (this.onbeforeunload = null) | |
| } | |
| } | |
| }, | |
| simulate: function(a, b, c, d) { | |
| var e = $.extend(new $.Event, c, { | |
| type: a, | |
| isSimulated: !0, | |
| originalEvent: {} | |
| }); | |
| d ? $.event.trigger(e, null, b) : $.event.dispatch.call(b, e), | |
| e.isDefaultPrevented() && c.preventDefault() | |
| } | |
| }, | |
| $.event.handle = $.event.dispatch, | |
| $.removeEvent = P.removeEventListener ? function(a, b, c) { | |
| a.removeEventListener && a.removeEventListener(b, c, !1) | |
| } | |
| : function(a, b, c) { | |
| var d = "on" + b; | |
| a.detachEvent && ("undefined" == typeof a[d] && (a[d] = null), | |
| a.detachEvent(d, c)) | |
| } | |
| , | |
| $.Event = function(a, b) { | |
| return this instanceof $.Event ? (a && a.type ? (this.originalEvent = a, | |
| this.type = a.type, | |
| this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? g : f) : this.type = a, | |
| b && $.extend(this, b), | |
| this.timeStamp = a && a.timeStamp || $.now(), | |
| void (this[$.expando] = !0)) : new $.Event(a,b) | |
| } | |
| , | |
| $.Event.prototype = { | |
| preventDefault: function() { | |
| this.isDefaultPrevented = g; | |
| var a = this.originalEvent; | |
| a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1) | |
| }, | |
| stopPropagation: function() { | |
| this.isPropagationStopped = g; | |
| var a = this.originalEvent; | |
| a && (a.stopPropagation && a.stopPropagation(), | |
| a.cancelBubble = !0) | |
| }, | |
| stopImmediatePropagation: function() { | |
| this.isImmediatePropagationStopped = g, | |
| this.stopPropagation() | |
| }, | |
| isDefaultPrevented: f, | |
| isPropagationStopped: f, | |
| isImmediatePropagationStopped: f | |
| }, | |
| $.each({ | |
| mouseenter: "mouseover", | |
| mouseleave: "mouseout" | |
| }, function(a, b) { | |
| $.event.special[a] = { | |
| delegateType: b, | |
| bindType: b, | |
| handle: function(a) { | |
| var c, d = this, e = a.relatedTarget, f = a.handleObj; | |
| f.selector; | |
| return e && (e === d || $.contains(d, e)) || (a.type = f.origType, | |
| c = f.handler.apply(this, arguments), | |
| a.type = b), | |
| c | |
| } | |
| } | |
| }), | |
| $.support.submitBubbles || ($.event.special.submit = { | |
| setup: function() { | |
| return !$.nodeName(this, "form") && void $.event.add(this, "click._submit keypress._submit", function(a) { | |
| var c = a.target | |
| , d = $.nodeName(c, "input") || $.nodeName(c, "button") ? c.form : b; | |
| d && !$._data(d, "_submit_attached") && ($.event.add(d, "submit._submit", function(a) { | |
| a._submit_bubble = !0 | |
| }), | |
| $._data(d, "_submit_attached", !0)) | |
| }) | |
| }, | |
| postDispatch: function(a) { | |
| a._submit_bubble && (delete a._submit_bubble, | |
| this.parentNode && !a.isTrigger && $.event.simulate("submit", this.parentNode, a, !0)) | |
| }, | |
| teardown: function() { | |
| return !$.nodeName(this, "form") && void $.event.remove(this, "._submit") | |
| } | |
| }), | |
| $.support.changeBubbles || ($.event.special.change = { | |
| setup: function() { | |
| return Ba.test(this.nodeName) ? ("checkbox" !== this.type && "radio" !== this.type || ($.event.add(this, "propertychange._change", function(a) { | |
| "checked" === a.originalEvent.propertyName && (this._just_changed = !0) | |
| }), | |
| $.event.add(this, "click._change", function(a) { | |
| this._just_changed && !a.isTrigger && (this._just_changed = !1), | |
| $.event.simulate("change", this, a, !0) | |
| })), | |
| !1) : void $.event.add(this, "beforeactivate._change", function(a) { | |
| var b = a.target; | |
| Ba.test(b.nodeName) && !$._data(b, "_change_attached") && ($.event.add(b, "change._change", function(a) { | |
| !this.parentNode || a.isSimulated || a.isTrigger || $.event.simulate("change", this.parentNode, a, !0) | |
| }), | |
| $._data(b, "_change_attached", !0)) | |
| }) | |
| }, | |
| handle: function(a) { | |
| var b = a.target; | |
| if (this !== b || a.isSimulated || a.isTrigger || "radio" !== b.type && "checkbox" !== b.type) | |
| return a.handleObj.handler.apply(this, arguments) | |
| }, | |
| teardown: function() { | |
| return $.event.remove(this, "._change"), | |
| Ba.test(this.nodeName) | |
| } | |
| }), | |
| $.support.focusinBubbles || $.each({ | |
| focus: "focusin", | |
| blur: "focusout" | |
| }, function(a, b) { | |
| var c = 0 | |
| , d = function(a) { | |
| $.event.simulate(b, a.target, $.event.fix(a), !0) | |
| }; | |
| $.event.special[b] = { | |
| setup: function() { | |
| 0 === c++ && P.addEventListener(a, d, !0) | |
| }, | |
| teardown: function() { | |
| 0 === --c && P.removeEventListener(a, d, !0) | |
| } | |
| } | |
| }), | |
| $.fn.extend({ | |
| on: function(a, c, d, e, g) { | |
| var h, i; | |
| if ("object" == typeof a) { | |
| "string" != typeof c && (d = d || c, | |
| c = b); | |
| for (i in a) | |
| this.on(i, c, d, a[i], g); | |
| return this | |
| } | |
| if (null == d && null == e ? (e = c, | |
| d = c = b) : null == e && ("string" == typeof c ? (e = d, | |
| d = b) : (e = d, | |
| d = c, | |
| c = b)), | |
| e === !1) | |
| e = f; | |
| else if (!e) | |
| return this; | |
| return 1 === g && (h = e, | |
| e = function(a) { | |
| return $().off(a), | |
| h.apply(this, arguments) | |
| } | |
| , | |
| e.guid = h.guid || (h.guid = $.guid++)), | |
| this.each(function() { | |
| $.event.add(this, a, e, d, c) | |
| }) | |
| }, | |
| one: function(a, b, c, d) { | |
| return this.on(a, b, c, d, 1) | |
| }, | |
| off: function(a, c, d) { | |
| var e, g; | |
| if (a && a.preventDefault && a.handleObj) | |
| return e = a.handleObj, | |
| $(a.delegateTarget).off(e.namespace ? e.origType + "." + e.namespace : e.origType, e.selector, e.handler), | |
| this; | |
| if ("object" == typeof a) { | |
| for (g in a) | |
| this.off(g, c, a[g]); | |
| return this | |
| } | |
| return c !== !1 && "function" != typeof c || (d = c, | |
| c = b), | |
| d === !1 && (d = f), | |
| this.each(function() { | |
| $.event.remove(this, a, d, c) | |
| }) | |
| }, | |
| bind: function(a, b, c) { | |
| return this.on(a, null, b, c) | |
| }, | |
| unbind: function(a, b) { | |
| return this.off(a, null, b) | |
| }, | |
| live: function(a, b, c) { | |
| return $(this.context).on(a, this.selector, b, c), | |
| this | |
| }, | |
| die: function(a, b) { | |
| return $(this.context).off(a, this.selector || "**", b), | |
| this | |
| }, | |
| delegate: function(a, b, c, d) { | |
| return this.on(b, a, c, d) | |
| }, | |
| undelegate: function(a, b, c) { | |
| return 1 == arguments.length ? this.off(a, "**") : this.off(b, a || "**", c) | |
| }, | |
| trigger: function(a, b) { | |
| return this.each(function() { | |
| $.event.trigger(a, b, this) | |
| }) | |
| }, | |
| triggerHandler: function(a, b) { | |
| if (this[0]) | |
| return $.event.trigger(a, b, this[0], !0) | |
| }, | |
| toggle: function(a) { | |
| var b = arguments | |
| , c = a.guid || $.guid++ | |
| , d = 0 | |
| , e = function(c) { | |
| var e = ($._data(this, "lastToggle" + a.guid) || 0) % d; | |
| return $._data(this, "lastToggle" + a.guid, e + 1), | |
| c.preventDefault(), | |
| b[e].apply(this, arguments) || !1 | |
| }; | |
| for (e.guid = c; d < b.length; ) | |
| b[d++].guid = c; | |
| return this.click(e) | |
| }, | |
| hover: function(a, b) { | |
| return this.mouseenter(a).mouseleave(b || a) | |
| } | |
| }), | |
| $.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(a, b) { | |
| $.fn[b] = function(a, c) { | |
| return null == c && (c = a, | |
| a = null), | |
| arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) | |
| } | |
| , | |
| Ea.test(b) && ($.event.fixHooks[b] = $.event.keyHooks), | |
| Fa.test(b) && ($.event.fixHooks[b] = $.event.mouseHooks) | |
| }), | |
| function(a, b) { | |
| function c(a, b, c, d) { | |
| for (var e = 0, f = b.length; e < f; e++) | |
| fa(a, b[e], c, d) | |
| } | |
| function d(a, b, d, e, f, g) { | |
| var h, i = ga.setFilters[b.toLowerCase()]; | |
| return i || fa.error(b), | |
| !a && (h = f) || c(a || "*", e, h = [], f), | |
| h.length > 0 ? i(h, d, g) : [] | |
| } | |
| function e(a, e, f, g, h) { | |
| for (var i, j, k, l, m, n, o, p, q = 0, r = h.length, s = S.POS, t = new RegExp("^" + s.source + "(?!" + y + ")","i"), u = function() { | |
| for (var a = 1, c = arguments.length - 2; a < c; a++) | |
| arguments[a] === b && (i[a] = b) | |
| }; q < r; q++) { | |
| for (s.exec(""), | |
| a = h[q], | |
| l = [], | |
| k = 0, | |
| m = g; i = s.exec(a); ) | |
| p = s.lastIndex = i.index + i[0].length, | |
| p > k && (o = a.slice(k, i.index), | |
| k = p, | |
| n = [e], | |
| I.test(o) && (m && (n = m), | |
| m = g), | |
| (j = O.test(o)) && (o = o.slice(0, -5).replace(I, "$&*")), | |
| i.length > 1 && i[0].replace(t, u), | |
| m = d(o, i[1], i[2], n, m, j)); | |
| m ? (l = l.concat(m), | |
| (o = a.slice(k)) && ")" !== o ? I.test(o) ? c(o, l, f, g) : fa(o, e, f, g ? g.concat(m) : m) : w.apply(f, l)) : fa(a, e, f, g) | |
| } | |
| return 1 === r ? f : fa.uniqueSort(f) | |
| } | |
| function f(a, b, c) { | |
| for (var d, e, f, g = [], h = 0, i = K.exec(a), j = !i.pop() && !i.pop(), k = j && a.match(J) || [""], l = ga.preFilter, m = ga.filter, n = !c && b !== p; null != (e = k[h]) && j; h++) | |
| for (g.push(d = []), | |
| n && (e = " " + e); e; ) { | |
| j = !1, | |
| (i = I.exec(e)) && (e = e.slice(i[0].length), | |
| j = d.push({ | |
| part: i.pop().replace(H, " "), | |
| captures: i | |
| })); | |
| for (f in m) | |
| !(i = S[f].exec(e)) || l[f] && !(i = l[f](i, b, c)) || (e = e.slice(i.shift().length), | |
| j = d.push({ | |
| part: f, | |
| captures: i | |
| })); | |
| if (!j) | |
| break | |
| } | |
| return j || fa.error(a), | |
| g | |
| } | |
| function g(a, b, c) { | |
| var d = b.dir | |
| , e = u++; | |
| return a || (a = function(a) { | |
| return a === c | |
| } | |
| ), | |
| b.first ? function(b, c) { | |
| for (; b = b[d]; ) | |
| if (1 === b.nodeType) | |
| return a(b, c) && b | |
| } | |
| : function(b, c) { | |
| for (var f, g = e + "." + l, h = g + "." + k; b = b[d]; ) | |
| if (1 === b.nodeType) { | |
| if ((f = b[x]) === h) | |
| return b.sizset; | |
| if ("string" == typeof f && 0 === f.indexOf(g)) { | |
| if (b.sizset) | |
| return b | |
| } else { | |
| if (b[x] = h, | |
| a(b, c)) | |
| return b.sizset = !0, | |
| b; | |
| b.sizset = !1 | |
| } | |
| } | |
| } | |
| } | |
| function h(a, b) { | |
| return a ? function(c, d) { | |
| var e = b(c, d); | |
| return e && a(e === !0 ? c : e, d) | |
| } | |
| : b | |
| } | |
| function i(a, b, c) { | |
| for (var d, e, f = 0; d = a[f]; f++) | |
| ga.relative[d.part] ? e = g(e, ga.relative[d.part], b) : (d.captures.push(b, c), | |
| e = h(e, ga.filter[d.part].apply(null, d.captures))); | |
| return e | |
| } | |
| function j(a) { | |
| return function(b, c) { | |
| for (var d, e = 0; d = a[e]; e++) | |
| if (d(b, c)) | |
| return !0; | |
| return !1 | |
| } | |
| } | |
| var k, l, m, n, o, p = a.document, q = p.documentElement, r = "undefined", s = !1, t = !0, u = 0, v = [].slice, w = [].push, x = ("sizcache" + Math.random()).replace(".", ""), y = "[\\x20\\t\\r\\n\\f]", z = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", A = z.replace("w", "w#"), B = "([*^$|!~]?=)", C = "\\[" + y + "*(" + z + ")" + y + "*(?:" + B + y + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + A + ")|)|)" + y + "*\\]", D = ":(" + z + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)", E = ":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)", F = y + "*([\\x20\\t\\r\\n\\f>+~])" + y + "*", G = "(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|" + C + "|" + D.replace(2, 7) + "|[^\\\\(),])+", H = new RegExp("^" + y + "+|((?:^|[^\\\\])(?:\\\\.)*)" + y + "+$","g"), I = new RegExp("^" + F), J = new RegExp(G + "?(?=" + y + "*,|$)","g"), K = new RegExp("^(?:(?!,)(?:(?:^|,)" + y + "*" + G + ")*?|" + y + "*(.*?))(\\)|$)"), L = new RegExp(G.slice(19, -6) + "\\x20\\t\\r\\n\\f>+~])+|" + F,"g"), M = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, N = /[\x20\t\r\n\f]*[+~]/, O = /:not\($/, P = /h\d/i, Q = /input|select|textarea|button/i, R = /\\(?!\\)/g, S = { | |
| ID: new RegExp("^#(" + z + ")"), | |
| CLASS: new RegExp("^\\.(" + z + ")"), | |
| NAME: new RegExp("^\\[name=['\"]?(" + z + ")['\"]?\\]"), | |
| TAG: new RegExp("^(" + z.replace("[-", "[-\\*") + ")"), | |
| ATTR: new RegExp("^" + C), | |
| PSEUDO: new RegExp("^" + D), | |
| CHILD: new RegExp("^:(only|nth|last|first)-child(?:\\(" + y + "*(even|odd|(([+-]|)(\\d*)n|)" + y + "*(?:([+-]|)" + y + "*(\\d+)|))" + y + "*\\)|)","i"), | |
| POS: new RegExp(E,"ig"), | |
| needsContext: new RegExp("^" + y + "*[>+~]|" + E,"i") | |
| }, T = {}, U = [], V = {}, W = [], X = function(a) { | |
| return a.sizzleFilter = !0, | |
| a | |
| }, Y = function(a) { | |
| return function(b) { | |
| return "input" === b.nodeName.toLowerCase() && b.type === a | |
| } | |
| }, Z = function(a) { | |
| return function(b) { | |
| var c = b.nodeName.toLowerCase(); | |
| return ("input" === c || "button" === c) && b.type === a | |
| } | |
| }, _ = function(a) { | |
| var b = !1 | |
| , c = p.createElement("div"); | |
| try { | |
| b = a(c) | |
| } catch (d) {} | |
| return c = null, | |
| b | |
| }, aa = _(function(a) { | |
| a.innerHTML = "<select></select>"; | |
| var b = typeof a.lastChild.getAttribute("multiple"); | |
| return "boolean" !== b && "string" !== b | |
| }), ba = _(function(a) { | |
| a.id = x + 0, | |
| a.innerHTML = "<a name='" + x + "'></a><div name='" + x + "'></div>", | |
| q.insertBefore(a, q.firstChild); | |
| var b = p.getElementsByName && p.getElementsByName(x).length === 2 + p.getElementsByName(x + 0).length; | |
| return o = !p.getElementById(x), | |
| q.removeChild(a), | |
| b | |
| }), ca = _(function(a) { | |
| return a.appendChild(p.createComment("")), | |
| 0 === a.getElementsByTagName("*").length | |
| }), da = _(function(a) { | |
| return a.innerHTML = "<a href='#'></a>", | |
| a.firstChild && typeof a.firstChild.getAttribute !== r && "#" === a.firstChild.getAttribute("href") | |
| }), ea = _(function(a) { | |
| return a.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>", | |
| !(!a.getElementsByClassName || 0 === a.getElementsByClassName("e").length) && (a.lastChild.className = "e", | |
| 1 !== a.getElementsByClassName("e").length) | |
| }), fa = function(a, b, c, d) { | |
| c = c || [], | |
| b = b || p; | |
| var e, f, g, h, i = b.nodeType; | |
| if (1 !== i && 9 !== i) | |
| return []; | |
| if (!a || "string" != typeof a) | |
| return c; | |
| if (g = ia(b), | |
| !g && !d && (e = M.exec(a))) | |
| if (h = e[1]) { | |
| if (9 === i) { | |
| if (f = b.getElementById(h), | |
| !f || !f.parentNode) | |
| return c; | |
| if (f.id === h) | |
| return c.push(f), | |
| c | |
| } else if (b.ownerDocument && (f = b.ownerDocument.getElementById(h)) && ja(b, f) && f.id === h) | |
| return c.push(f), | |
| c | |
| } else { | |
| if (e[2]) | |
| return w.apply(c, v.call(b.getElementsByTagName(a), 0)), | |
| c; | |
| if ((h = e[3]) && ea && b.getElementsByClassName) | |
| return w.apply(c, v.call(b.getElementsByClassName(h), 0)), | |
| c | |
| } | |
| return ma(a, b, c, d, g) | |
| }, ga = fa.selectors = { | |
| cacheLength: 50, | |
| match: S, | |
| order: ["ID", "TAG"], | |
| attrHandle: {}, | |
| createPseudo: X, | |
| find: { | |
| ID: o ? function(a, b, c) { | |
| if (typeof b.getElementById !== r && !c) { | |
| var d = b.getElementById(a); | |
| return d && d.parentNode ? [d] : [] | |
| } | |
| } | |
| : function(a, c, d) { | |
| if (typeof c.getElementById !== r && !d) { | |
| var e = c.getElementById(a); | |
| return e ? e.id === a || typeof e.getAttributeNode !== r && e.getAttributeNode("id").value === a ? [e] : b : [] | |
| } | |
| } | |
| , | |
| TAG: ca ? function(a, b) { | |
| if (typeof b.getElementsByTagName !== r) | |
| return b.getElementsByTagName(a) | |
| } | |
| : function(a, b) { | |
| var c = b.getElementsByTagName(a); | |
| if ("*" === a) { | |
| for (var d, e = [], f = 0; d = c[f]; f++) | |
| 1 === d.nodeType && e.push(d); | |
| return e | |
| } | |
| return c | |
| } | |
| }, | |
| relative: { | |
| ">": { | |
| dir: "parentNode", | |
| first: !0 | |
| }, | |
| " ": { | |
| dir: "parentNode" | |
| }, | |
| "+": { | |
| dir: "previousSibling", | |
| first: !0 | |
| }, | |
| "~": { | |
| dir: "previousSibling" | |
| } | |
| }, | |
| preFilter: { | |
| ATTR: function(a) { | |
| return a[1] = a[1].replace(R, ""), | |
| a[3] = (a[4] || a[5] || "").replace(R, ""), | |
| "~=" === a[2] && (a[3] = " " + a[3] + " "), | |
| a.slice(0, 4) | |
| }, | |
| CHILD: function(a) { | |
| return a[1] = a[1].toLowerCase(), | |
| "nth" === a[1] ? (a[2] || fa.error(a[0]), | |
| a[3] = +(a[3] ? a[4] + (a[5] || 1) : 2 * ("even" === a[2] || "odd" === a[2])), | |
| a[4] = +(a[6] + a[7] || "odd" === a[2])) : a[2] && fa.error(a[0]), | |
| a | |
| }, | |
| PSEUDO: function(a) { | |
| var b, c = a[4]; | |
| return S.CHILD.test(a[0]) ? null : (c && (b = K.exec(c)) && b.pop() && (a[0] = a[0].slice(0, b[0].length - c.length - 1), | |
| c = b[0].slice(0, -1)), | |
| a.splice(2, 3, c || a[3]), | |
| a) | |
| } | |
| }, | |
| filter: { | |
| ID: o ? function(a) { | |
| return a = a.replace(R, ""), | |
| function(b) { | |
| return b.getAttribute("id") === a | |
| } | |
| } | |
| : function(a) { | |
| return a = a.replace(R, ""), | |
| function(b) { | |
| var c = typeof b.getAttributeNode !== r && b.getAttributeNode("id"); | |
| return c && c.value === a | |
| } | |
| } | |
| , | |
| TAG: function(a) { | |
| return "*" === a ? function() { | |
| return !0 | |
| } | |
| : (a = a.replace(R, "").toLowerCase(), | |
| function(b) { | |
| return b.nodeName && b.nodeName.toLowerCase() === a | |
| } | |
| ) | |
| }, | |
| CLASS: function(a) { | |
| var b = T[a]; | |
| return b || (b = T[a] = new RegExp("(^|" + y + ")" + a + "(" + y + "|$)"), | |
| U.push(a), | |
| U.length > ga.cacheLength && delete T[U.shift()]), | |
| function(a) { | |
| return b.test(a.className || typeof a.getAttribute !== r && a.getAttribute("class") || "") | |
| } | |
| }, | |
| ATTR: function(a, b, c) { | |
| return b ? function(d) { | |
| var e = fa.attr(d, a) | |
| , f = e + ""; | |
| if (null == e) | |
| return "!=" === b; | |
| switch (b) { | |
| case "=": | |
| return f === c; | |
| case "!=": | |
| return f !== c; | |
| case "^=": | |
| return c && 0 === f.indexOf(c); | |
| case "*=": | |
| return c && f.indexOf(c) > -1; | |
| case "$=": | |
| return c && f.substr(f.length - c.length) === c; | |
| case "~=": | |
| return (" " + f + " ").indexOf(c) > -1; | |
| case "|=": | |
| return f === c || f.substr(0, c.length + 1) === c + "-" | |
| } | |
| } | |
| : function(b) { | |
| return null != fa.attr(b, a) | |
| } | |
| }, | |
| CHILD: function(a, b, c, d) { | |
| if ("nth" === a) { | |
| var e = u++; | |
| return function(a) { | |
| var b, f, g = 0, h = a; | |
| if (1 === c && 0 === d) | |
| return !0; | |
| if (b = a.parentNode, | |
| b && (b[x] !== e || !a.sizset)) { | |
| for (h = b.firstChild; h && (1 !== h.nodeType || (h.sizset = ++g, | |
| h !== a)); h = h.nextSibling) | |
| ; | |
| b[x] = e | |
| } | |
| return f = a.sizset - d, | |
| 0 === c ? 0 === f : f % c === 0 && f / c >= 0 | |
| } | |
| } | |
| return function(b) { | |
| var c = b; | |
| switch (a) { | |
| case "only": | |
| case "first": | |
| for (; c = c.previousSibling; ) | |
| if (1 === c.nodeType) | |
| return !1; | |
| if ("first" === a) | |
| return !0; | |
| c = b; | |
| case "last": | |
| for (; c = c.nextSibling; ) | |
| if (1 === c.nodeType) | |
| return !1; | |
| return !0 | |
| } | |
| } | |
| }, | |
| PSEUDO: function(a, b, c, d) { | |
| var e = ga.pseudos[a] || ga.pseudos[a.toLowerCase()]; | |
| return e || fa.error("unsupported pseudo: " + a), | |
| e.sizzleFilter ? e(b, c, d) : e | |
| } | |
| }, | |
| pseudos: { | |
| not: X(function(a, b, c) { | |
| var d = la(a.replace(H, "$1"), b, c); | |
| return function(a) { | |
| return !d(a) | |
| } | |
| }), | |
| enabled: function(a) { | |
| return a.disabled === !1 | |
| }, | |
| disabled: function(a) { | |
| return a.disabled === !0 | |
| }, | |
| checked: function(a) { | |
| var b = a.nodeName.toLowerCase(); | |
| return "input" === b && !!a.checked || "option" === b && !!a.selected | |
| }, | |
| selected: function(a) { | |
| return a.parentNode && a.parentNode.selectedIndex, | |
| a.selected === !0 | |
| }, | |
| parent: function(a) { | |
| return !ga.pseudos.empty(a) | |
| }, | |
| empty: function(a) { | |
| var b; | |
| for (a = a.firstChild; a; ) { | |
| if (a.nodeName > "@" || 3 === (b = a.nodeType) || 4 === b) | |
| return !1; | |
| a = a.nextSibling | |
| } | |
| return !0 | |
| }, | |
| contains: X(function(a) { | |
| return function(b) { | |
| return (b.textContent || b.innerText || ka(b)).indexOf(a) > -1 | |
| } | |
| }), | |
| has: X(function(a) { | |
| return function(b) { | |
| return fa(a, b).length > 0 | |
| } | |
| }), | |
| header: function(a) { | |
| return P.test(a.nodeName) | |
| }, | |
| text: function(a) { | |
| var b, c; | |
| return "input" === a.nodeName.toLowerCase() && "text" === (b = a.type) && (null == (c = a.getAttribute("type")) || c.toLowerCase() === b) | |
| }, | |
| radio: Y("radio"), | |
| checkbox: Y("checkbox"), | |
| file: Y("file"), | |
| password: Y("password"), | |
| image: Y("image"), | |
| submit: Z("submit"), | |
| reset: Z("reset"), | |
| button: function(a) { | |
| var b = a.nodeName.toLowerCase(); | |
| return "input" === b && "button" === a.type || "button" === b | |
| }, | |
| input: function(a) { | |
| return Q.test(a.nodeName) | |
| }, | |
| focus: function(a) { | |
| var b = a.ownerDocument; | |
| return a === b.activeElement && (!b.hasFocus || b.hasFocus()) && !(!a.type && !a.href) | |
| }, | |
| active: function(a) { | |
| return a === a.ownerDocument.activeElement | |
| } | |
| }, | |
| setFilters: { | |
| first: function(a, b, c) { | |
| return c ? a.slice(1) : [a[0]] | |
| }, | |
| last: function(a, b, c) { | |
| var d = a.pop(); | |
| return c ? a : [d] | |
| }, | |
| even: function(a, b, c) { | |
| for (var d = [], e = c ? 1 : 0, f = a.length; e < f; e += 2) | |
| d.push(a[e]); | |
| return d | |
| }, | |
| odd: function(a, b, c) { | |
| for (var d = [], e = c ? 0 : 1, f = a.length; e < f; e += 2) | |
| d.push(a[e]); | |
| return d | |
| }, | |
| lt: function(a, b, c) { | |
| return c ? a.slice(+b) : a.slice(0, +b) | |
| }, | |
| gt: function(a, b, c) { | |
| return c ? a.slice(0, +b + 1) : a.slice(+b + 1) | |
| }, | |
| eq: function(a, b, c) { | |
| var d = a.splice(+b, 1); | |
| return c ? a : d | |
| } | |
| } | |
| }; | |
| ga.setFilters.nth = ga.setFilters.eq, | |
| ga.filters = ga.pseudos, | |
| da || (ga.attrHandle = { | |
| href: function(a) { | |
| return a.getAttribute("href", 2) | |
| }, | |
| type: function(a) { | |
| return a.getAttribute("type") | |
| } | |
| }), | |
| ba && (ga.order.push("NAME"), | |
| ga.find.NAME = function(a, b) { | |
| if (typeof b.getElementsByName !== r) | |
| return b.getElementsByName(a) | |
| } | |
| ), | |
| ea && (ga.order.splice(1, 0, "CLASS"), | |
| ga.find.CLASS = function(a, b, c) { | |
| if (typeof b.getElementsByClassName !== r && !c) | |
| return b.getElementsByClassName(a) | |
| } | |
| ); | |
| try { | |
| v.call(q.childNodes, 0)[0].nodeType | |
| } catch (ha) { | |
| v = function(a) { | |
| for (var b, c = []; b = this[a]; a++) | |
| c.push(b); | |
| return c | |
| } | |
| } | |
| var ia = fa.isXML = function(a) { | |
| var b = a && (a.ownerDocument || a).documentElement; | |
| return !!b && "HTML" !== b.nodeName | |
| } | |
| , ja = fa.contains = q.compareDocumentPosition ? function(a, b) { | |
| return !!(16 & a.compareDocumentPosition(b)) | |
| } | |
| : q.contains ? function(a, b) { | |
| var c = 9 === a.nodeType ? a.documentElement : a | |
| , d = b.parentNode; | |
| return a === d || !!(d && 1 === d.nodeType && c.contains && c.contains(d)) | |
| } | |
| : function(a, b) { | |
| for (; b = b.parentNode; ) | |
| if (b === a) | |
| return !0; | |
| return !1 | |
| } | |
| , ka = fa.getText = function(a) { | |
| var b, c = "", d = 0, e = a.nodeType; | |
| if (e) { | |
| if (1 === e || 9 === e || 11 === e) { | |
| if ("string" == typeof a.textContent) | |
| return a.textContent; | |
| for (a = a.firstChild; a; a = a.nextSibling) | |
| c += ka(a) | |
| } else if (3 === e || 4 === e) | |
| return a.nodeValue | |
| } else | |
| for (; b = a[d]; d++) | |
| c += ka(b); | |
| return c | |
| } | |
| ; | |
| fa.attr = function(a, b) { | |
| var c, d = ia(a); | |
| return d || (b = b.toLowerCase()), | |
| ga.attrHandle[b] ? ga.attrHandle[b](a) : aa || d ? a.getAttribute(b) : (c = a.getAttributeNode(b), | |
| c ? "boolean" == typeof a[b] ? a[b] ? b : null : c.specified ? c.value : null : null) | |
| } | |
| , | |
| fa.error = function(a) { | |
| throw new Error("Syntax error, unrecognized expression: " + a) | |
| } | |
| , | |
| [0, 0].sort(function() { | |
| return t = 0 | |
| }), | |
| q.compareDocumentPosition ? m = function(a, b) { | |
| return a === b ? (s = !0, | |
| 0) : (a.compareDocumentPosition && b.compareDocumentPosition ? 4 & a.compareDocumentPosition(b) : a.compareDocumentPosition) ? -1 : 1 | |
| } | |
| : (m = function(a, b) { | |
| if (a === b) | |
| return s = !0, | |
| 0; | |
| if (a.sourceIndex && b.sourceIndex) | |
| return a.sourceIndex - b.sourceIndex; | |
| var c, d, e = [], f = [], g = a.parentNode, h = b.parentNode, i = g; | |
| if (g === h) | |
| return n(a, b); | |
| if (!g) | |
| return -1; | |
| if (!h) | |
| return 1; | |
| for (; i; ) | |
| e.unshift(i), | |
| i = i.parentNode; | |
| for (i = h; i; ) | |
| f.unshift(i), | |
| i = i.parentNode; | |
| c = e.length, | |
| d = f.length; | |
| for (var j = 0; j < c && j < d; j++) | |
| if (e[j] !== f[j]) | |
| return n(e[j], f[j]); | |
| return j === c ? n(a, f[j], -1) : n(e[j], b, 1) | |
| } | |
| , | |
| n = function(a, b, c) { | |
| if (a === b) | |
| return c; | |
| for (var d = a.nextSibling; d; ) { | |
| if (d === b) | |
| return -1; | |
| d = d.nextSibling | |
| } | |
| return 1 | |
| } | |
| ), | |
| fa.uniqueSort = function(a) { | |
| var b, c = 1; | |
| if (m && (s = t, | |
| a.sort(m), | |
| s)) | |
| for (; b = a[c]; c++) | |
| b === a[c - 1] && a.splice(c--, 1); | |
| return a | |
| } | |
| ; | |
| var la = fa.compile = function(a, b, c) { | |
| var d, e, g, h = V[a]; | |
| if (h && h.context === b) | |
| return h; | |
| for (e = f(a, b, c), | |
| g = 0; d = e[g]; g++) | |
| e[g] = i(d, b, c); | |
| return h = V[a] = j(e), | |
| h.context = b, | |
| h.runs = h.dirruns = 0, | |
| W.push(a), | |
| W.length > ga.cacheLength && delete V[W.shift()], | |
| h | |
| } | |
| ; | |
| fa.matches = function(a, b) { | |
| return fa(a, null, null, b) | |
| } | |
| , | |
| fa.matchesSelector = function(a, b) { | |
| return fa(b, null, null, [a]).length > 0 | |
| } | |
| ; | |
| var ma = function(a, b, c, d, f) { | |
| a = a.replace(H, "$1"); | |
| var g, h, i, j, m, n, o, p, q, r = a.match(J), s = a.match(L), t = b.nodeType; | |
| if (S.POS.test(a)) | |
| return e(a, b, c, d, r); | |
| if (d) | |
| g = v.call(d, 0); | |
| else if (r && 1 === r.length) { | |
| if (s.length > 1 && 9 === t && !f && (r = S.ID.exec(s[0]))) { | |
| if (b = ga.find.ID(r[1], b, f)[0], | |
| !b) | |
| return c; | |
| a = a.slice(s.shift().length) | |
| } | |
| for (p = (r = N.exec(s[0])) && !r.index && b.parentNode || b, | |
| q = s.pop(), | |
| n = q.split(":not")[0], | |
| i = 0, | |
| j = ga.order.length; i < j; i++) | |
| if (o = ga.order[i], | |
| r = S[o].exec(n)) { | |
| if (g = ga.find[o]((r[1] || "").replace(R, ""), p, f), | |
| null == g) | |
| continue; | |
| n === q && (a = a.slice(0, a.length - q.length) + n.replace(S[o], ""), | |
| a || w.apply(c, v.call(g, 0))); | |
| break | |
| } | |
| } | |
| if (a) | |
| for (h = la(a, b, f), | |
| l = h.dirruns++, | |
| null == g && (g = ga.find.TAG("*", N.test(a) && b.parentNode || b)), | |
| i = 0; m = g[i]; i++) | |
| k = h.runs++, | |
| h(m, b) && c.push(m); | |
| return c | |
| }; | |
| p.querySelectorAll && !function() { | |
| var a, b = ma, c = /'|\\/g, d = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, e = [], f = [":active"], g = q.matchesSelector || q.mozMatchesSelector || q.webkitMatchesSelector || q.oMatchesSelector || q.msMatchesSelector; | |
| _(function(a) { | |
| a.innerHTML = "<select><option selected></option></select>", | |
| a.querySelectorAll("[selected]").length || e.push("\\[" + y + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), | |
| a.querySelectorAll(":checked").length || e.push(":checked") | |
| }), | |
| _(function(a) { | |
| a.innerHTML = "<p test=''></p>", | |
| a.querySelectorAll("[test^='']").length && e.push("[*^$]=" + y + "*(?:\"\"|'')"), | |
| a.innerHTML = "<input type='hidden'>", | |
| a.querySelectorAll(":enabled").length || e.push(":enabled", ":disabled") | |
| }), | |
| e = e.length && new RegExp(e.join("|")), | |
| ma = function(a, d, f, g, h) { | |
| if (!(g || h || e && e.test(a))) | |
| if (9 === d.nodeType) | |
| try { | |
| return w.apply(f, v.call(d.querySelectorAll(a), 0)), | |
| f | |
| } catch (i) {} | |
| else if (1 === d.nodeType && "object" !== d.nodeName.toLowerCase()) { | |
| var j = d.getAttribute("id") | |
| , k = j || x | |
| , l = N.test(a) && d.parentNode || d; | |
| j ? k = k.replace(c, "\\$&") : d.setAttribute("id", k); | |
| try { | |
| return w.apply(f, v.call(l.querySelectorAll(a.replace(J, "[id='" + k + "'] $&")), 0)), | |
| f | |
| } catch (i) {} finally { | |
| j || d.removeAttribute("id") | |
| } | |
| } | |
| return b(a, d, f, g, h) | |
| } | |
| , | |
| g && (_(function(b) { | |
| a = g.call(b, "div"); | |
| try { | |
| g.call(b, "[test!='']:sizzle"), | |
| f.push(ga.match.PSEUDO) | |
| } catch (c) {} | |
| }), | |
| f = new RegExp(f.join("|")), | |
| fa.matchesSelector = function(b, c) { | |
| if (c = c.replace(d, "='$1']"), | |
| !(ia(b) || f.test(c) || e && e.test(c))) | |
| try { | |
| var h = g.call(b, c); | |
| if (h || a || b.document && 11 !== b.document.nodeType) | |
| return h | |
| } catch (i) {} | |
| return fa(c, null, null, [b]).length > 0 | |
| } | |
| ) | |
| }(), | |
| fa.attr = $.attr, | |
| $.find = fa, | |
| $.expr = fa.selectors, | |
| $.expr[":"] = $.expr.pseudos, | |
| $.unique = fa.uniqueSort, | |
| $.text = fa.getText, | |
| $.isXMLDoc = fa.isXML, | |
| $.contains = fa.contains | |
| }(a); | |
| var Ia = /Until$/ | |
| , Ja = /^(?:parents|prev(?:Until|All))/ | |
| , Ka = /^.[^:#\[\.,]*$/ | |
| , La = $.expr.match.needsContext | |
| , Ma = { | |
| children: !0, | |
| contents: !0, | |
| next: !0, | |
| prev: !0 | |
| }; | |
| $.fn.extend({ | |
| find: function(a) { | |
| var b, c, d, e, f, g, h = this; | |
| if ("string" != typeof a) | |
| return $(a).filter(function() { | |
| for (b = 0, | |
| c = h.length; b < c; b++) | |
| if ($.contains(h[b], this)) | |
| return !0 | |
| }); | |
| for (g = this.pushStack("", "find", a), | |
| b = 0, | |
| c = this.length; b < c; b++) | |
| if (d = g.length, | |
| $.find(a, this[b], g), | |
| b > 0) | |
| for (e = d; e < g.length; e++) | |
| for (f = 0; f < d; f++) | |
| if (g[f] === g[e]) { | |
| g.splice(e--, 1); | |
| break | |
| } | |
| return g | |
| }, | |
| has: function(a) { | |
| var b, c = $(a, this), d = c.length; | |
| return this.filter(function() { | |
| for (b = 0; b < d; b++) | |
| if ($.contains(this, c[b])) | |
| return !0 | |
| }) | |
| }, | |
| not: function(a) { | |
| return this.pushStack(j(this, a, !1), "not", a) | |
| }, | |
| filter: function(a) { | |
| return this.pushStack(j(this, a, !0), "filter", a) | |
| }, | |
| is: function(a) { | |
| return !!a && ("string" == typeof a ? La.test(a) ? $(a, this.context).index(this[0]) >= 0 : $.filter(a, this).length > 0 : this.filter(a).length > 0) | |
| }, | |
| closest: function(a, b) { | |
| for (var c, d = 0, e = this.length, f = [], g = La.test(a) || "string" != typeof a ? $(a, b || this.context) : 0; d < e; d++) | |
| for (c = this[d]; c && c.ownerDocument && c !== b && 11 !== c.nodeType; ) { | |
| if (g ? g.index(c) > -1 : $.find.matchesSelector(c, a)) { | |
| f.push(c); | |
| break | |
| } | |
| c = c.parentNode | |
| } | |
| return f = f.length > 1 ? $.unique(f) : f, | |
| this.pushStack(f, "closest", a) | |
| }, | |
| index: function(a) { | |
| return a ? "string" == typeof a ? $.inArray(this[0], $(a)) : $.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1 | |
| }, | |
| add: function(a, b) { | |
| var c = "string" == typeof a ? $(a, b) : $.makeArray(a && a.nodeType ? [a] : a) | |
| , d = $.merge(this.get(), c); | |
| return this.pushStack(h(c[0]) || h(d[0]) ? d : $.unique(d)) | |
| }, | |
| addBack: function(a) { | |
| return this.add(null == a ? this.prevObject : this.prevObject.filter(a)) | |
| } | |
| }), | |
| $.fn.andSelf = $.fn.addBack, | |
| $.each({ | |
| parent: function(a) { | |
| var b = a.parentNode; | |
| return b && 11 !== b.nodeType ? b : null | |
| }, | |
| parents: function(a) { | |
| return $.dir(a, "parentNode") | |
| }, | |
| parentsUntil: function(a, b, c) { | |
| return $.dir(a, "parentNode", c) | |
| }, | |
| next: function(a) { | |
| return i(a, "nextSibling") | |
| }, | |
| prev: function(a) { | |
| return i(a, "previousSibling") | |
| }, | |
| nextAll: function(a) { | |
| return $.dir(a, "nextSibling") | |
| }, | |
| prevAll: function(a) { | |
| return $.dir(a, "previousSibling") | |
| }, | |
| nextUntil: function(a, b, c) { | |
| return $.dir(a, "nextSibling", c) | |
| }, | |
| prevUntil: function(a, b, c) { | |
| return $.dir(a, "previousSibling", c) | |
| }, | |
| siblings: function(a) { | |
| return $.sibling((a.parentNode || {}).firstChild, a) | |
| }, | |
| children: function(a) { | |
| return $.sibling(a.firstChild) | |
| }, | |
| contents: function(a) { | |
| return $.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : $.merge([], a.childNodes) | |
| } | |
| }, function(a, b) { | |
| $.fn[a] = function(c, d) { | |
| var e = $.map(this, b, c); | |
| return Ia.test(a) || (d = c), | |
| d && "string" == typeof d && (e = $.filter(d, e)), | |
| e = this.length > 1 && !Ma[a] ? $.unique(e) : e, | |
| this.length > 1 && Ja.test(a) && (e = e.reverse()), | |
| this.pushStack(e, a, V.call(arguments).join(",")) | |
| } | |
| }), | |
| $.extend({ | |
| filter: function(a, b, c) { | |
| return c && (a = ":not(" + a + ")"), | |
| 1 === b.length ? $.find.matchesSelector(b[0], a) ? [b[0]] : [] : $.find.matches(a, b) | |
| }, | |
| dir: function(a, c, d) { | |
| for (var e = [], f = a[c]; f && 9 !== f.nodeType && (d === b || 1 !== f.nodeType || !$(f).is(d)); ) | |
| 1 === f.nodeType && e.push(f), | |
| f = f[c]; | |
| return e | |
| }, | |
| sibling: function(a, b) { | |
| for (var c = []; a; a = a.nextSibling) | |
| 1 === a.nodeType && a !== b && c.push(a); | |
| return c | |
| } | |
| }); | |
| var Na = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video" | |
| , Oa = / jQuery\d+="(?:null|\d+)"/g | |
| , Pa = /^\s+/ | |
| , Qa = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi | |
| , Ra = /<([\w:]+)/ | |
| , Sa = /<tbody/i | |
| , Ta = /<|&#?\w+;/ | |
| , Ua = /<(?:script|style|link)/i | |
| , Va = /<(?:script|object|embed|option|style)/i | |
| , Wa = new RegExp("<(?:" + Na + ")[\\s/>]","i") | |
| , Xa = /^(?:checkbox|radio)$/ | |
| , Ya = /checked\s*(?:[^=]|=\s*.checked.)/i | |
| , Za = /\/(java|ecma)script/i | |
| , $a = /^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g | |
| , _a = { | |
| option: [1, "<select multiple='multiple'>", "</select>"], | |
| legend: [1, "<fieldset>", "</fieldset>"], | |
| thead: [1, "<table>", "</table>"], | |
| tr: [2, "<table><tbody>", "</tbody></table>"], | |
| td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], | |
| col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], | |
| area: [1, "<map>", "</map>"], | |
| _default: [0, "", ""] | |
| } | |
| , ab = k(P) | |
| , bb = ab.appendChild(P.createElement("div")); | |
| _a.optgroup = _a.option, | |
| _a.tbody = _a.tfoot = _a.colgroup = _a.caption = _a.thead, | |
| _a.th = _a.td, | |
| $.support.htmlSerialize || (_a._default = [1, "X<div>", "</div>"]), | |
| $.fn.extend({ | |
| text: function(a) { | |
| return $.access(this, function(a) { | |
| return a === b ? $.text(this) : this.empty().append((this[0] && this[0].ownerDocument || P).createTextNode(a)) | |
| }, null, a, arguments.length) | |
| }, | |
| wrapAll: function(a) { | |
| if ($.isFunction(a)) | |
| return this.each(function(b) { | |
| $(this).wrapAll(a.call(this, b)) | |
| }); | |
| if (this[0]) { | |
| var b = $(a, this[0].ownerDocument).eq(0).clone(!0); | |
| this[0].parentNode && b.insertBefore(this[0]), | |
| b.map(function() { | |
| for (var a = this; a.firstChild && 1 === a.firstChild.nodeType; ) | |
| a = a.firstChild; | |
| return a | |
| }).append(this) | |
| } | |
| return this | |
| }, | |
| wrapInner: function(a) { | |
| return $.isFunction(a) ? this.each(function(b) { | |
| $(this).wrapInner(a.call(this, b)) | |
| }) : this.each(function() { | |
| var b = $(this) | |
| , c = b.contents(); | |
| c.length ? c.wrapAll(a) : b.append(a) | |
| }) | |
| }, | |
| wrap: function(a) { | |
| var b = $.isFunction(a); | |
| return this.each(function(c) { | |
| $(this).wrapAll(b ? a.call(this, c) : a) | |
| }) | |
| }, | |
| unwrap: function() { | |
| return this.parent().each(function() { | |
| $.nodeName(this, "body") || $(this).replaceWith(this.childNodes) | |
| }).end() | |
| }, | |
| append: function() { | |
| return this.domManip(arguments, !0, function(a) { | |
| 1 !== this.nodeType && 11 !== this.nodeType || this.appendChild(a) | |
| }) | |
| }, | |
| prepend: function() { | |
| return this.domManip(arguments, !0, function(a) { | |
| 1 !== this.nodeType && 11 !== this.nodeType || this.insertBefore(a, this.firstChild) | |
| }) | |
| }, | |
| before: function() { | |
| if (!h(this[0])) | |
| return this.domManip(arguments, !1, function(a) { | |
| this.parentNode.insertBefore(a, this) | |
| }); | |
| if (arguments.length) { | |
| var a = $.clean(arguments); | |
| return this.pushStack($.merge(a, this), "before", this.selector) | |
| } | |
| }, | |
| after: function() { | |
| if (!h(this[0])) | |
| return this.domManip(arguments, !1, function(a) { | |
| this.parentNode.insertBefore(a, this.nextSibling) | |
| }); | |
| if (arguments.length) { | |
| var a = $.clean(arguments); | |
| return this.pushStack($.merge(this, a), "after", this.selector) | |
| } | |
| }, | |
| remove: function(a, b) { | |
| for (var c, d = 0; null != (c = this[d]); d++) | |
| a && !$.filter(a, [c]).length || (b || 1 !== c.nodeType || ($.cleanData(c.getElementsByTagName("*")), | |
| $.cleanData([c])), | |
| c.parentNode && c.parentNode.removeChild(c)); | |
| return this | |
| }, | |
| empty: function() { | |
| for (var a, b = 0; null != (a = this[b]); b++) | |
| for (1 === a.nodeType && $.cleanData(a.getElementsByTagName("*")); a.firstChild; ) | |
| a.removeChild(a.firstChild); | |
| return this | |
| }, | |
| clone: function(a, b) { | |
| return a = null != a && a, | |
| b = null == b ? a : b, | |
| this.map(function() { | |
| return $.clone(this, a, b) | |
| }) | |
| }, | |
| html: function(a) { | |
| return $.access(this, function(a) { | |
| var c = this[0] || {} | |
| , d = 0 | |
| , e = this.length; | |
| if (a === b) | |
| return 1 === c.nodeType ? c.innerHTML.replace(Oa, "") : b; | |
| if ("string" == typeof a && !Ua.test(a) && ($.support.htmlSerialize || !Wa.test(a)) && ($.support.leadingWhitespace || !Pa.test(a)) && !_a[(Ra.exec(a) || ["", ""])[1].toLowerCase()]) { | |
| a = a.replace(Qa, "<$1></$2>"); | |
| try { | |
| for (; d < e; d++) | |
| c = this[d] || {}, | |
| 1 === c.nodeType && ($.cleanData(c.getElementsByTagName("*")), | |
| c.innerHTML = a); | |
| c = 0 | |
| } catch (f) {} | |
| } | |
| c && this.empty().append(a) | |
| }, null, a, arguments.length) | |
| }, | |
| replaceWith: function(a) { | |
| return h(this[0]) ? this.length ? this.pushStack($($.isFunction(a) ? a() : a), "replaceWith", a) : this : $.isFunction(a) ? this.each(function(b) { | |
| var c = $(this) | |
| , d = c.html(); | |
| c.replaceWith(a.call(this, b, d)) | |
| }) : ("string" != typeof a && (a = $(a).detach()), | |
| this.each(function() { | |
| var b = this.nextSibling | |
| , c = this.parentNode; | |
| $(this).remove(), | |
| b ? $(b).before(a) : $(c).append(a) | |
| })) | |
| }, | |
| detach: function(a) { | |
| return this.remove(a, !0) | |
| }, | |
| domManip: function(a, c, d) { | |
| a = [].concat.apply([], a); | |
| var e, f, g, h, i = 0, j = a[0], k = [], m = this.length; | |
| if (!$.support.checkClone && m > 1 && "string" == typeof j && Ya.test(j)) | |
| return this.each(function() { | |
| $(this).domManip(a, c, d) | |
| }); | |
| if ($.isFunction(j)) | |
| return this.each(function(e) { | |
| var f = $(this); | |
| a[0] = j.call(this, e, c ? f.html() : b), | |
| f.domManip(a, c, d) | |
| }); | |
| if (this[0]) { | |
| if (e = $.buildFragment(a, this, k), | |
| g = e.fragment, | |
| f = g.firstChild, | |
| 1 === g.childNodes.length && (g = f), | |
| f) | |
| for (c = c && $.nodeName(f, "tr"), | |
| h = e.cacheable || m - 1; i < m; i++) | |
| d.call(c && $.nodeName(this[i], "table") ? l(this[i], "tbody") : this[i], i === h ? g : $.clone(g, !0, !0)); | |
| g = f = null, | |
| k.length && $.each(k, function(a, b) { | |
| b.src ? $.ajax ? $.ajax({ | |
| url: b.src, | |
| type: "GET", | |
| dataType: "script", | |
| async: !1, | |
| global: !1, | |
| "throws": !0 | |
| }) : $.error("no ajax") : $.globalEval((b.text || b.textContent || b.innerHTML || "").replace($a, "")), | |
| b.parentNode && b.parentNode.removeChild(b) | |
| }) | |
| } | |
| return this | |
| } | |
| }), | |
| $.buildFragment = function(a, c, d) { | |
| var e, f, g, h = a[0]; | |
| return c = c || P, | |
| c = !c.nodeType && c[0] || c, | |
| c = c.ownerDocument || c, | |
| !(1 === a.length && "string" == typeof h && h.length < 512 && c === P && "<" === h.charAt(0)) || Va.test(h) || !$.support.checkClone && Ya.test(h) || !$.support.html5Clone && Wa.test(h) || (f = !0, | |
| e = $.fragments[h], | |
| g = e !== b), | |
| e || (e = c.createDocumentFragment(), | |
| $.clean(a, c, e, d), | |
| f && ($.fragments[h] = g && e)), | |
| { | |
| fragment: e, | |
| cacheable: f | |
| } | |
| } | |
| , | |
| $.fragments = {}, | |
| $.each({ | |
| appendTo: "append", | |
| prependTo: "prepend", | |
| insertBefore: "before", | |
| insertAfter: "after", | |
| replaceAll: "replaceWith" | |
| }, function(a, b) { | |
| $.fn[a] = function(c) { | |
| var d, e = 0, f = [], g = $(c), h = g.length, i = 1 === this.length && this[0].parentNode; | |
| if ((null == i || i && 11 === i.nodeType && 1 === i.childNodes.length) && 1 === h) | |
| return g[b](this[0]), | |
| this; | |
| for (; e < h; e++) | |
| d = (e > 0 ? this.clone(!0) : this).get(), | |
| $(g[e])[b](d), | |
| f = f.concat(d); | |
| return this.pushStack(f, a, g.selector) | |
| } | |
| }), | |
| $.extend({ | |
| clone: function(a, b, c) { | |
| var d, e, f, g; | |
| if ($.support.html5Clone || $.isXMLDoc(a) || !Wa.test("<" + a.nodeName + ">") ? g = a.cloneNode(!0) : (bb.innerHTML = a.outerHTML, | |
| bb.removeChild(g = bb.firstChild)), | |
| !($.support.noCloneEvent && $.support.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || $.isXMLDoc(a))) | |
| for (n(a, g), | |
| d = o(a), | |
| e = o(g), | |
| f = 0; d[f]; ++f) | |
| e[f] && n(d[f], e[f]); | |
| if (b && (m(a, g), | |
| c)) | |
| for (d = o(a), | |
| e = o(g), | |
| f = 0; d[f]; ++f) | |
| m(d[f], e[f]); | |
| return d = e = null, | |
| g | |
| }, | |
| clean: function(a, b, c, d) { | |
| var e, f, g, h, i, j, l, m, n, o, q, r = 0, s = []; | |
| for (b && "undefined" != typeof b.createDocumentFragment || (b = P), | |
| f = b === P && ab; null != (g = a[r]); r++) | |
| if ("number" == typeof g && (g += ""), | |
| g) { | |
| if ("string" == typeof g) | |
| if (Ta.test(g)) { | |
| for (f = f || k(b), | |
| l = l || f.appendChild(b.createElement("div")), | |
| g = g.replace(Qa, "<$1></$2>"), | |
| h = (Ra.exec(g) || ["", ""])[1].toLowerCase(), | |
| i = _a[h] || _a._default, | |
| j = i[0], | |
| l.innerHTML = i[1] + g + i[2]; j--; ) | |
| l = l.lastChild; | |
| if (!$.support.tbody) | |
| for (m = Sa.test(g), | |
| n = "table" !== h || m ? "<table>" !== i[1] || m ? [] : l.childNodes : l.firstChild && l.firstChild.childNodes, | |
| e = n.length - 1; e >= 0; --e) | |
| $.nodeName(n[e], "tbody") && !n[e].childNodes.length && n[e].parentNode.removeChild(n[e]); | |
| !$.support.leadingWhitespace && Pa.test(g) && l.insertBefore(b.createTextNode(Pa.exec(g)[0]), l.firstChild), | |
| g = l.childNodes, | |
| l = f.lastChild | |
| } else | |
| g = b.createTextNode(g); | |
| g.nodeType ? s.push(g) : s = $.merge(s, g) | |
| } | |
| if (l && (f.removeChild(l), | |
| g = l = f = null), | |
| !$.support.appendChecked) | |
| for (r = 0; null != (g = s[r]); r++) | |
| $.nodeName(g, "input") ? p(g) : "undefined" != typeof g.getElementsByTagName && $.grep(g.getElementsByTagName("input"), p); | |
| if (c) | |
| for (o = function(a) { | |
| if (!a.type || Za.test(a.type)) | |
| return d ? d.push(a.parentNode ? a.parentNode.removeChild(a) : a) : c.appendChild(a) | |
| } | |
| , | |
| r = 0; null != (g = s[r]); r++) | |
| $.nodeName(g, "script") && o(g) || (c.appendChild(g), | |
| "undefined" != typeof g.getElementsByTagName && (q = $.grep($.merge([], g.getElementsByTagName("script")), o), | |
| s.splice.apply(s, [r + 1, 0].concat(q)), | |
| r += q.length)); | |
| return s | |
| }, | |
| cleanData: function(a, b) { | |
| for (var c, d, e, f, g = 0, h = $.expando, i = $.cache, j = $.support.deleteExpando, k = $.event.special; null != (e = a[g]); g++) | |
| if ((b || $.acceptData(e)) && (d = e[h], | |
| c = d && i[d])) { | |
| if (c.events) | |
| for (f in c.events) | |
| k[f] ? $.event.remove(e, f) : $.removeEvent(e, f, c.handle); | |
| i[d] && (delete i[d], | |
| j ? delete e[h] : e.removeAttribute ? e.removeAttribute(h) : e[h] = null, | |
| $.deletedIds.push(d)) | |
| } | |
| } | |
| }), | |
| function() { | |
| var a, b; | |
| $.uaMatch = function(a) { | |
| a = a.toLowerCase(); | |
| var b = /(chrome)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || []; | |
| return { | |
| browser: b[1] || "", | |
| version: b[2] || "0" | |
| } | |
| } | |
| , | |
| a = $.uaMatch(R.userAgent), | |
| b = {}, | |
| a.browser && (b[a.browser] = !0, | |
| b.version = a.version), | |
| b.webkit && (b.safari = !0), | |
| $.browser = b, | |
| $.sub = function() { | |
| function a(b, c) { | |
| return new a.fn.init(b,c) | |
| } | |
| $.extend(!0, a, this), | |
| a.superclass = this, | |
| a.fn = a.prototype = this(), | |
| a.fn.constructor = a, | |
| a.sub = this.sub, | |
| a.fn.init = function(c, d) { | |
| return d && d instanceof $ && !(d instanceof a) && (d = a(d)), | |
| $.fn.init.call(this, c, d, b) | |
| } | |
| , | |
| a.fn.init.prototype = a.fn; | |
| var b = a(P); | |
| return a | |
| } | |
| }(); | |
| var cb, db, eb, fb = /alpha\([^)]*\)/i, gb = /opacity=([^)]*)/, hb = /^(top|right|bottom|left)$/, ib = /^margin/, jb = new RegExp("^(" + _ + ")(.*)$","i"), kb = new RegExp("^(" + _ + ")(?!px)[a-z%]+$","i"), lb = new RegExp("^([-+])=(" + _ + ")","i"), mb = {}, nb = { | |
| position: "absolute", | |
| visibility: "hidden", | |
| display: "block" | |
| }, ob = { | |
| letterSpacing: 0, | |
| fontWeight: 400, | |
| lineHeight: 1 | |
| }, pb = ["Top", "Right", "Bottom", "Left"], qb = ["Webkit", "O", "Moz", "ms"], rb = $.fn.toggle; | |
| $.fn.extend({ | |
| css: function(a, c) { | |
| return $.access(this, function(a, c, d) { | |
| return d !== b ? $.style(a, c, d) : $.css(a, c) | |
| }, a, c, arguments.length > 1) | |
| }, | |
| show: function() { | |
| return s(this, !0) | |
| }, | |
| hide: function() { | |
| return s(this) | |
| }, | |
| toggle: function(a, b) { | |
| var c = "boolean" == typeof a; | |
| return $.isFunction(a) && $.isFunction(b) ? rb.apply(this, arguments) : this.each(function() { | |
| (c ? a : r(this)) ? $(this).show() : $(this).hide() | |
| }) | |
| } | |
| }), | |
| $.extend({ | |
| cssHooks: { | |
| opacity: { | |
| get: function(a, b) { | |
| if (b) { | |
| var c = cb(a, "opacity"); | |
| return "" === c ? "1" : c | |
| } | |
| } | |
| } | |
| }, | |
| cssNumber: { | |
| fillOpacity: !0, | |
| fontWeight: !0, | |
| lineHeight: !0, | |
| opacity: !0, | |
| orphans: !0, | |
| widows: !0, | |
| zIndex: !0, | |
| zoom: !0 | |
| }, | |
| cssProps: { | |
| "float": $.support.cssFloat ? "cssFloat" : "styleFloat" | |
| }, | |
| style: function(a, c, d, e) { | |
| if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) { | |
| var f, g, h, i = $.camelCase(c), j = a.style; | |
| if (c = $.cssProps[i] || ($.cssProps[i] = q(j, i)), | |
| h = $.cssHooks[c] || $.cssHooks[i], | |
| d === b) | |
| return h && "get"in h && (f = h.get(a, !1, e)) !== b ? f : j[c]; | |
| if (g = typeof d, | |
| "string" === g && (f = lb.exec(d)) && (d = (f[1] + 1) * f[2] + parseFloat($.css(a, c)), | |
| g = "number"), | |
| !(null == d || "number" === g && isNaN(d) || ("number" !== g || $.cssNumber[i] || (d += "px"), | |
| h && "set"in h && (d = h.set(a, d, e)) === b))) | |
| try { | |
| j[c] = d | |
| } catch (k) {} | |
| } | |
| }, | |
| css: function(a, c, d, e) { | |
| var f, g, h, i = $.camelCase(c); | |
| return c = $.cssProps[i] || ($.cssProps[i] = q(a.style, i)), | |
| h = $.cssHooks[c] || $.cssHooks[i], | |
| h && "get"in h && (f = h.get(a, !0, e)), | |
| f === b && (f = cb(a, c)), | |
| "normal" === f && c in ob && (f = ob[c]), | |
| d || e !== b ? (g = parseFloat(f), | |
| d || $.isNumeric(g) ? g || 0 : f) : f | |
| }, | |
| swap: function(a, b, c) { | |
| var d, e, f = {}; | |
| for (e in b) | |
| f[e] = a.style[e], | |
| a.style[e] = b[e]; | |
| d = c.call(a); | |
| for (e in b) | |
| a.style[e] = f[e]; | |
| return d | |
| } | |
| }), | |
| a.getComputedStyle ? cb = function(a, b) { | |
| var c, d, e, f, g = getComputedStyle(a, null), h = a.style; | |
| return g && (c = g[b], | |
| "" !== c || $.contains(a.ownerDocument.documentElement, a) || (c = $.style(a, b)), | |
| kb.test(c) && ib.test(b) && (d = h.width, | |
| e = h.minWidth, | |
| f = h.maxWidth, | |
| h.minWidth = h.maxWidth = h.width = c, | |
| c = g.width, | |
| h.width = d, | |
| h.minWidth = e, | |
| h.maxWidth = f)), | |
| c | |
| } | |
| : P.documentElement.currentStyle && (cb = function(a, b) { | |
| var c, d, e = a.currentStyle && a.currentStyle[b], f = a.style; | |
| return null == e && f && f[b] && (e = f[b]), | |
| kb.test(e) && !hb.test(b) && (c = f.left, | |
| d = a.runtimeStyle && a.runtimeStyle.left, | |
| d && (a.runtimeStyle.left = a.currentStyle.left), | |
| f.left = "fontSize" === b ? "1em" : e, | |
| e = f.pixelLeft + "px", | |
| f.left = c, | |
| d && (a.runtimeStyle.left = d)), | |
| "" === e ? "auto" : e | |
| } | |
| ), | |
| $.each(["height", "width"], function(a, b) { | |
| $.cssHooks[b] = { | |
| get: function(a, c, d) { | |
| if (c) | |
| return 0 !== a.offsetWidth || "none" !== cb(a, "display") ? v(a, b, d) : $.swap(a, nb, function() { | |
| return v(a, b, d) | |
| }) | |
| }, | |
| set: function(a, c, d) { | |
| return t(a, c, d ? u(a, b, d, $.support.boxSizing && "border-box" === $.css(a, "boxSizing")) : 0) | |
| } | |
| } | |
| }), | |
| $.support.opacity || ($.cssHooks.opacity = { | |
| get: function(a, b) { | |
| return gb.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : b ? "1" : "" | |
| }, | |
| set: function(a, b) { | |
| var c = a.style | |
| , d = a.currentStyle | |
| , e = $.isNumeric(b) ? "alpha(opacity=" + 100 * b + ")" : "" | |
| , f = d && d.filter || c.filter || ""; | |
| c.zoom = 1, | |
| b >= 1 && "" === $.trim(f.replace(fb, "")) && c.removeAttribute && (c.removeAttribute("filter"), | |
| d && !d.filter) || (c.filter = fb.test(f) ? f.replace(fb, e) : f + " " + e) | |
| } | |
| }), | |
| $(function() { | |
| $.support.reliableMarginRight || ($.cssHooks.marginRight = { | |
| get: function(a, b) { | |
| return $.swap(a, { | |
| display: "inline-block" | |
| }, function() { | |
| if (b) | |
| return cb(a, "marginRight") | |
| }) | |
| } | |
| }), | |
| !$.support.pixelPosition && $.fn.position && $.each(["top", "left"], function(a, b) { | |
| $.cssHooks[b] = { | |
| get: function(a, c) { | |
| if (c) { | |
| var d = cb(a, b); | |
| return kb.test(d) ? $(a).position()[b] + "px" : d | |
| } | |
| } | |
| } | |
| }) | |
| }), | |
| $.expr && $.expr.filters && ($.expr.filters.hidden = function(a) { | |
| return 0 === a.offsetWidth && 0 === a.offsetHeight || !$.support.reliableHiddenOffsets && "none" === (a.style && a.style.display || cb(a, "display")) | |
| } | |
| , | |
| $.expr.filters.visible = function(a) { | |
| return !$.expr.filters.hidden(a) | |
| } | |
| ), | |
| $.each({ | |
| margin: "", | |
| padding: "", | |
| border: "Width" | |
| }, function(a, b) { | |
| $.cssHooks[a + b] = { | |
| expand: function(c) { | |
| var d, e = "string" == typeof c ? c.split(" ") : [c], f = {}; | |
| for (d = 0; d < 4; d++) | |
| f[a + pb[d] + b] = e[d] || e[d - 2] || e[0]; | |
| return f | |
| } | |
| }, | |
| ib.test(a) || ($.cssHooks[a + b].set = t) | |
| }); | |
| var sb = /%20/g | |
| , tb = /\[\]$/ | |
| , ub = /\r?\n/g | |
| , vb = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i | |
| , wb = /^(?:select|textarea)/i; | |
| $.fn.extend({ | |
| serialize: function() { | |
| return $.param(this.serializeArray()) | |
| }, | |
| serializeArray: function() { | |
| return this.map(function() { | |
| return this.elements ? $.makeArray(this.elements) : this | |
| }).filter(function() { | |
| return this.name && !this.disabled && (this.checked || wb.test(this.nodeName) || vb.test(this.type)) | |
| }).map(function(a, b) { | |
| var c = $(this).val(); | |
| return null == c ? null : $.isArray(c) ? $.map(c, function(a, c) { | |
| return { | |
| name: b.name, | |
| value: a.replace(ub, "\r\n") | |
| } | |
| }) : { | |
| name: b.name, | |
| value: c.replace(ub, "\r\n") | |
| } | |
| }).get() | |
| } | |
| }), | |
| $.param = function(a, c) { | |
| var d, e = [], f = function(a, b) { | |
| b = $.isFunction(b) ? b() : null == b ? "" : b, | |
| e[e.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) | |
| }; | |
| if (c === b && (c = $.ajaxSettings && $.ajaxSettings.traditional), | |
| $.isArray(a) || a.jquery && !$.isPlainObject(a)) | |
| $.each(a, function() { | |
| f(this.name, this.value) | |
| }); | |
| else | |
| for (d in a) | |
| x(d, a[d], c, f); | |
| return e.join("&").replace(sb, "+") | |
| } | |
| ; | |
| var xb, yb, zb = /#.*$/, Ab = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm, Bb = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, Cb = /^(?:GET|HEAD)$/, Db = /^\/\//, Eb = /\?/, Fb = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, Gb = /([?&])_=[^&]*/, Hb = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, Ib = $.fn.load, Jb = {}, Kb = {}, Lb = ["*/"] + ["*"]; | |
| try { | |
| xb = Q.href | |
| } catch (Mb) { | |
| xb = P.createElement("a"), | |
| xb.href = "", | |
| xb = xb.href | |
| } | |
| yb = Hb.exec(xb.toLowerCase()) || [], | |
| $.fn.load = function(a, c, d) { | |
| if ("string" != typeof a && Ib) | |
| return Ib.apply(this, arguments); | |
| if (!this.length) | |
| return this; | |
| var e, f, g, h = this, i = a.indexOf(" "); | |
| return i >= 0 && (e = a.slice(i, a.length), | |
| a = a.slice(0, i)), | |
| $.isFunction(c) ? (d = c, | |
| c = b) : "object" == typeof c && (f = "POST"), | |
| $.ajax({ | |
| url: a, | |
| type: f, | |
| dataType: "html", | |
| data: c, | |
| complete: function(a, b) { | |
| d && h.each(d, g || [a.responseText, b, a]) | |
| } | |
| }).done(function(a) { | |
| g = arguments, | |
| h.html(e ? $("<div>").append(a.replace(Fb, "")).find(e) : a) | |
| }), | |
| this | |
| } | |
| , | |
| $.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) { | |
| $.fn[b] = function(a) { | |
| return this.on(b, a) | |
| } | |
| }), | |
| $.each(["get", "post"], function(a, c) { | |
| $[c] = function(a, d, e, f) { | |
| return $.isFunction(d) && (f = f || e, | |
| e = d, | |
| d = b), | |
| $.ajax({ | |
| type: c, | |
| url: a, | |
| data: d, | |
| success: e, | |
| dataType: f | |
| }) | |
| } | |
| }), | |
| $.extend({ | |
| getScript: function(a, c) { | |
| return $.get(a, b, c, "script") | |
| }, | |
| getJSON: function(a, b, c) { | |
| return $.get(a, b, c, "json") | |
| }, | |
| ajaxSetup: function(a, b) { | |
| return b ? A(a, $.ajaxSettings) : (b = a, | |
| a = $.ajaxSettings), | |
| A(a, b), | |
| a | |
| }, | |
| ajaxSettings: { | |
| url: xb, | |
| isLocal: Bb.test(yb[1]), | |
| global: !0, | |
| type: "GET", | |
| contentType: "application/x-www-form-urlencoded; charset=UTF-8", | |
| processData: !0, | |
| async: !0, | |
| accepts: { | |
| xml: "application/xml, text/xml", | |
| html: "text/html", | |
| text: "text/plain", | |
| json: "application/json, text/javascript", | |
| "*": Lb | |
| }, | |
| contents: { | |
| xml: /xml/, | |
| html: /html/, | |
| json: /json/ | |
| }, | |
| responseFields: { | |
| xml: "responseXML", | |
| text: "responseText" | |
| }, | |
| converters: { | |
| "* text": a.String, | |
| "text html": !0, | |
| "text json": $.parseJSON, | |
| "text xml": $.parseXML | |
| }, | |
| flatOptions: { | |
| context: !0, | |
| url: !0 | |
| } | |
| }, | |
| ajaxPrefilter: y(Jb), | |
| ajaxTransport: y(Kb), | |
| ajax: function(a, c) { | |
| function d(a, c, d, g) { | |
| var j, l, s, t, v, x = c; | |
| 2 !== u && (u = 2, | |
| i && clearTimeout(i), | |
| h = b, | |
| f = g || "", | |
| w.readyState = a > 0 ? 4 : 0, | |
| d && (t = B(m, w, d)), | |
| a >= 200 && a < 300 || 304 === a ? (m.ifModified && (v = w.getResponseHeader("Last-Modified"), | |
| v && ($.lastModified[e] = v), | |
| v = w.getResponseHeader("Etag"), | |
| v && ($.etag[e] = v)), | |
| 304 === a ? (x = "notmodified", | |
| j = !0) : (j = C(m, t), | |
| x = j.state, | |
| l = j.data, | |
| s = j.error, | |
| j = !s)) : (s = x, | |
| x && !a || (x = "error", | |
| a < 0 && (a = 0))), | |
| w.status = a, | |
| w.statusText = "" + (c || x), | |
| j ? p.resolveWith(n, [l, x, w]) : p.rejectWith(n, [w, x, s]), | |
| w.statusCode(r), | |
| r = b, | |
| k && o.trigger("ajax" + (j ? "Success" : "Error"), [w, m, j ? l : s]), | |
| q.fireWith(n, [w, x]), | |
| k && (o.trigger("ajaxComplete", [w, m]), | |
| --$.active || $.event.trigger("ajaxStop"))) | |
| } | |
| "object" == typeof a && (c = a, | |
| a = b), | |
| c = c || {}; | |
| var e, f, g, h, i, j, k, l, m = $.ajaxSetup({}, c), n = m.context || m, o = n !== m && (n.nodeType || n instanceof $) ? $(n) : $.event, p = $.Deferred(), q = $.Callbacks("once memory"), r = m.statusCode || {}, s = {}, t = {}, u = 0, v = "canceled", w = { | |
| readyState: 0, | |
| setRequestHeader: function(a, b) { | |
| if (!u) { | |
| var c = a.toLowerCase(); | |
| a = t[c] = t[c] || a, | |
| s[a] = b | |
| } | |
| return this | |
| }, | |
| getAllResponseHeaders: function() { | |
| return 2 === u ? f : null | |
| }, | |
| getResponseHeader: function(a) { | |
| var c; | |
| if (2 === u) { | |
| if (!g) | |
| for (g = {}; c = Ab.exec(f); ) | |
| g[c[1].toLowerCase()] = c[2]; | |
| c = g[a.toLowerCase()] | |
| } | |
| return c === b ? null : c | |
| }, | |
| overrideMimeType: function(a) { | |
| return u || (m.mimeType = a), | |
| this | |
| }, | |
| abort: function(a) { | |
| return a = a || v, | |
| h && h.abort(a), | |
| d(0, a), | |
| this | |
| } | |
| }; | |
| if (p.promise(w), | |
| w.success = w.done, | |
| w.error = w.fail, | |
| w.complete = q.add, | |
| w.statusCode = function(a) { | |
| if (a) { | |
| var b; | |
| if (u < 2) | |
| for (b in a) | |
| r[b] = [r[b], a[b]]; | |
| else | |
| b = a[w.status], | |
| w.always(b) | |
| } | |
| return this | |
| } | |
| , | |
| m.url = ((a || m.url) + "").replace(zb, "").replace(Db, yb[1] + "//"), | |
| m.dataTypes = $.trim(m.dataType || "*").toLowerCase().split(ba), | |
| null == m.crossDomain && (j = Hb.exec(m.url.toLowerCase()), | |
| m.crossDomain = !(!j || j[1] == yb[1] && j[2] == yb[2] && (j[3] || ("http:" === j[1] ? 80 : 443)) == (yb[3] || ("http:" === yb[1] ? 80 : 443)))), | |
| m.data && m.processData && "string" != typeof m.data && (m.data = $.param(m.data, m.traditional)), | |
| z(Jb, m, c, w), | |
| 2 === u) | |
| return w; | |
| if (k = m.global, | |
| m.type = m.type.toUpperCase(), | |
| m.hasContent = !Cb.test(m.type), | |
| k && 0 === $.active++ && $.event.trigger("ajaxStart"), | |
| !m.hasContent && (m.data && (m.url += (Eb.test(m.url) ? "&" : "?") + m.data, | |
| delete m.data), | |
| e = m.url, | |
| m.cache === !1)) { | |
| var x = $.now() | |
| , y = m.url.replace(Gb, "$1_=" + x); | |
| m.url = y + (y === m.url ? (Eb.test(m.url) ? "&" : "?") + "_=" + x : "") | |
| } | |
| (m.data && m.hasContent && m.contentType !== !1 || c.contentType) && w.setRequestHeader("Content-Type", m.contentType), | |
| m.ifModified && (e = e || m.url, | |
| $.lastModified[e] && w.setRequestHeader("If-Modified-Since", $.lastModified[e]), | |
| $.etag[e] && w.setRequestHeader("If-None-Match", $.etag[e])), | |
| w.setRequestHeader("Accept", m.dataTypes[0] && m.accepts[m.dataTypes[0]] ? m.accepts[m.dataTypes[0]] + ("*" !== m.dataTypes[0] ? ", " + Lb + "; q=0.01" : "") : m.accepts["*"]); | |
| for (l in m.headers) | |
| w.setRequestHeader(l, m.headers[l]); | |
| if (m.beforeSend && (m.beforeSend.call(n, w, m) === !1 || 2 === u)) | |
| return w.abort(); | |
| v = "abort"; | |
| for (l in { | |
| success: 1, | |
| error: 1, | |
| complete: 1 | |
| }) | |
| w[l](m[l]); | |
| if (h = z(Kb, m, c, w)) { | |
| w.readyState = 1, | |
| k && o.trigger("ajaxSend", [w, m]), | |
| m.async && m.timeout > 0 && (i = setTimeout(function() { | |
| w.abort("timeout") | |
| }, m.timeout)); | |
| try { | |
| u = 1, | |
| h.send(s, d) | |
| } catch (A) { | |
| if (!(u < 2)) | |
| throw A; | |
| d(-1, A) | |
| } | |
| } else | |
| d(-1, "No Transport"); | |
| return w | |
| }, | |
| active: 0, | |
| lastModified: {}, | |
| etag: {} | |
| }); | |
| var Nb = [] | |
| , Ob = /\?/ | |
| , Pb = /(=)\?(?=&|$)|\?\?/ | |
| , Qb = $.now(); | |
| $.ajaxSetup({ | |
| jsonp: "callback", | |
| jsonpCallback: function() { | |
| var a = Nb.pop() || $.expando + "_" + Qb++; | |
| return this[a] = !0, | |
| a | |
| } | |
| }), | |
| $.ajaxPrefilter("json jsonp", function(c, d, e) { | |
| var f, g, h, i = c.data, j = c.url, k = c.jsonp !== !1, l = k && Pb.test(j), m = k && !l && "string" == typeof i && !(c.contentType || "").indexOf("application/x-www-form-urlencoded") && Pb.test(i); | |
| if ("jsonp" === c.dataTypes[0] || l || m) | |
| return f = c.jsonpCallback = $.isFunction(c.jsonpCallback) ? c.jsonpCallback() : c.jsonpCallback, | |
| g = a[f], | |
| l ? c.url = j.replace(Pb, "$1" + f) : m ? c.data = i.replace(Pb, "$1" + f) : k && (c.url += (Ob.test(j) ? "&" : "?") + c.jsonp + "=" + f), | |
| c.converters["script json"] = function() { | |
| return h || $.error(f + " was not called"), | |
| h[0] | |
| } | |
| , | |
| c.dataTypes[0] = "json", | |
| a[f] = function() { | |
| h = arguments | |
| } | |
| , | |
| e.always(function() { | |
| a[f] = g, | |
| c[f] && (c.jsonpCallback = d.jsonpCallback, | |
| Nb.push(f)), | |
| h && $.isFunction(g) && g(h[0]), | |
| h = g = b | |
| }), | |
| "script" | |
| }), | |
| $.ajaxSetup({ | |
| accepts: { | |
| script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" | |
| }, | |
| contents: { | |
| script: /javascript|ecmascript/ | |
| }, | |
| converters: { | |
| "text script": function(a) { | |
| return $.globalEval(a), | |
| a | |
| } | |
| } | |
| }), | |
| $.ajaxPrefilter("script", function(a) { | |
| a.cache === b && (a.cache = !1), | |
| a.crossDomain && (a.type = "GET", | |
| a.global = !1) | |
| }), | |
| $.ajaxTransport("script", function(a) { | |
| if (a.crossDomain) { | |
| var c, d = P.head || P.getElementsByTagName("head")[0] || P.documentElement; | |
| return { | |
| send: function(e, f) { | |
| c = P.createElement("script"), | |
| c.async = "async", | |
| a.scriptCharset && (c.charset = a.scriptCharset), | |
| c.src = a.url, | |
| c.onload = c.onreadystatechange = function(a, e) { | |
| (e || !c.readyState || /loaded|complete/.test(c.readyState)) && (c.onload = c.onreadystatechange = null, | |
| d && c.parentNode && d.removeChild(c), | |
| c = b, | |
| e || f(200, "success")) | |
| } | |
| , | |
| d.insertBefore(c, d.firstChild) | |
| }, | |
| abort: function() { | |
| c && c.onload(0, 1) | |
| } | |
| } | |
| } | |
| }); | |
| var Rb, Sb = !!a.ActiveXObject && function() { | |
| for (var a in Rb) | |
| Rb[a](0, 1) | |
| } | |
| , Tb = 0; | |
| $.ajaxSettings.xhr = a.ActiveXObject ? function() { | |
| return !this.isLocal && D() || E() | |
| } | |
| : D, | |
| function(a) { | |
| $.extend($.support, { | |
| ajax: !!a, | |
| cors: !!a && "withCredentials"in a | |
| }) | |
| }($.ajaxSettings.xhr()), | |
| $.support.ajax && $.ajaxTransport(function(c) { | |
| if (!c.crossDomain || $.support.cors) { | |
| var d; | |
| return { | |
| send: function(e, f) { | |
| var g, h, i = c.xhr(); | |
| if (c.username ? i.open(c.type, c.url, c.async, c.username, c.password) : i.open(c.type, c.url, c.async), | |
| c.xhrFields) | |
| for (h in c.xhrFields) | |
| i[h] = c.xhrFields[h]; | |
| c.mimeType && i.overrideMimeType && i.overrideMimeType(c.mimeType), | |
| c.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"); | |
| try { | |
| for (h in e) | |
| i.setRequestHeader(h, e[h]) | |
| } catch (j) {} | |
| i.send(c.hasContent && c.data || null), | |
| d = function(a, e) { | |
| var h, j, k, l, m; | |
| try { | |
| if (d && (e || 4 === i.readyState)) | |
| if (d = b, | |
| g && (i.onreadystatechange = $.noop, | |
| Sb && delete Rb[g]), | |
| e) | |
| 4 !== i.readyState && i.abort(); | |
| else { | |
| h = i.status, | |
| k = i.getAllResponseHeaders(), | |
| l = {}, | |
| m = i.responseXML, | |
| m && m.documentElement && (l.xml = m); | |
| try { | |
| l.text = i.responseText | |
| } catch (a) {} | |
| try { | |
| j = i.statusText | |
| } catch (n) { | |
| j = "" | |
| } | |
| h || !c.isLocal || c.crossDomain ? 1223 === h && (h = 204) : h = l.text ? 200 : 404 | |
| } | |
| } catch (o) { | |
| e || f(-1, o) | |
| } | |
| l && f(h, j, l, k) | |
| } | |
| , | |
| c.async ? 4 === i.readyState ? setTimeout(d, 0) : (g = ++Tb, | |
| Sb && (Rb || (Rb = {}, | |
| $(a).unload(Sb)), | |
| Rb[g] = d), | |
| i.onreadystatechange = d) : d() | |
| }, | |
| abort: function() { | |
| d && d(0, 1) | |
| } | |
| } | |
| } | |
| }); | |
| var Ub, Vb, Wb = /^(?:toggle|show|hide)$/, Xb = new RegExp("^(?:([-+])=|)(" + _ + ")([a-z%]*)$","i"), Yb = /queueHooks$/, Zb = [J], $b = { | |
| "*": [function(a, b) { | |
| var c, d, e, f = this.createTween(a, b), g = Xb.exec(b), h = f.cur(), i = +h || 0, j = 1; | |
| if (g) { | |
| if (c = +g[2], | |
| d = g[3] || ($.cssNumber[a] ? "" : "px"), | |
| "px" !== d && i) { | |
| i = $.css(f.elem, a, !0) || c || 1; | |
| do | |
| e = j = j || ".5", | |
| i /= j, | |
| $.style(f.elem, a, i + d), | |
| j = f.cur() / h; | |
| while (1 !== j && j !== e) | |
| } | |
| f.unit = d, | |
| f.start = i, | |
| f.end = g[1] ? i + (g[1] + 1) * c : c | |
| } | |
| return f | |
| } | |
| ] | |
| }; | |
| $.Animation = $.extend(H, { | |
| tweener: function(a, b) { | |
| $.isFunction(a) ? (b = a, | |
| a = ["*"]) : a = a.split(" "); | |
| for (var c, d = 0, e = a.length; d < e; d++) | |
| c = a[d], | |
| $b[c] = $b[c] || [], | |
| $b[c].unshift(b) | |
| }, | |
| prefilter: function(a, b) { | |
| b ? Zb.unshift(a) : Zb.push(a) | |
| } | |
| }), | |
| $.Tween = K, | |
| K.prototype = { | |
| constructor: K, | |
| init: function(a, b, c, d, e, f) { | |
| this.elem = a, | |
| this.prop = c, | |
| this.easing = e || "swing", | |
| this.options = b, | |
| this.start = this.now = this.cur(), | |
| this.end = d, | |
| this.unit = f || ($.cssNumber[c] ? "" : "px") | |
| }, | |
| cur: function() { | |
| var a = K.propHooks[this.prop]; | |
| return a && a.get ? a.get(this) : K.propHooks._default.get(this) | |
| }, | |
| run: function(a) { | |
| var b, c = K.propHooks[this.prop]; | |
| return this.pos = b = $.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration), | |
| this.now = (this.end - this.start) * b + this.start, | |
| this.options.step && this.options.step.call(this.elem, this.now, this), | |
| c && c.set ? c.set(this) : K.propHooks._default.set(this), | |
| this | |
| } | |
| }, | |
| K.prototype.init.prototype = K.prototype, | |
| K.propHooks = { | |
| _default: { | |
| get: function(a) { | |
| var b; | |
| return null == a.elem[a.prop] || a.elem.style && null != a.elem.style[a.prop] ? (b = $.css(a.elem, a.prop, !1, ""), | |
| b && "auto" !== b ? b : 0) : a.elem[a.prop] | |
| }, | |
| set: function(a) { | |
| $.fx.step[a.prop] ? $.fx.step[a.prop](a) : a.elem.style && (null != a.elem.style[$.cssProps[a.prop]] || $.cssHooks[a.prop]) ? $.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now | |
| } | |
| } | |
| }, | |
| K.propHooks.scrollTop = K.propHooks.scrollLeft = { | |
| set: function(a) { | |
| a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now) | |
| } | |
| }, | |
| $.each(["toggle", "show", "hide"], function(a, b) { | |
| var c = $.fn[b]; | |
| $.fn[b] = function(d, e, f) { | |
| return null == d || "boolean" == typeof d || !a && $.isFunction(d) && $.isFunction(e) ? c.apply(this, arguments) : this.animate(L(b, !0), d, e, f) | |
| } | |
| }), | |
| $.fn.extend({ | |
| fadeTo: function(a, b, c, d) { | |
| return this.filter(r).css("opacity", 0).show().end().animate({ | |
| opacity: b | |
| }, a, c, d) | |
| }, | |
| animate: function(a, b, c, d) { | |
| var e = $.isEmptyObject(a) | |
| , f = $.speed(b, c, d) | |
| , g = function() { | |
| var b = H(this, $.extend({}, a), f); | |
| e && b.stop(!0) | |
| }; | |
| return e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g) | |
| }, | |
| stop: function(a, c, d) { | |
| var e = function(a) { | |
| var b = a.stop; | |
| delete a.stop, | |
| b(d) | |
| }; | |
| return "string" != typeof a && (d = c, | |
| c = a, | |
| a = b), | |
| c && a !== !1 && this.queue(a || "fx", []), | |
| this.each(function() { | |
| var b = !0 | |
| , c = null != a && a + "queueHooks" | |
| , f = $.timers | |
| , g = $._data(this); | |
| if (c) | |
| g[c] && g[c].stop && e(g[c]); | |
| else | |
| for (c in g) | |
| g[c] && g[c].stop && Yb.test(c) && e(g[c]); | |
| for (c = f.length; c--; ) | |
| f[c].elem !== this || null != a && f[c].queue !== a || (f[c].anim.stop(d), | |
| b = !1, | |
| f.splice(c, 1)); | |
| !b && d || $.dequeue(this, a) | |
| }) | |
| } | |
| }), | |
| $.each({ | |
| slideDown: L("show"), | |
| slideUp: L("hide"), | |
| slideToggle: L("toggle"), | |
| fadeIn: { | |
| opacity: "show" | |
| }, | |
| fadeOut: { | |
| opacity: "hide" | |
| }, | |
| fadeToggle: { | |
| opacity: "toggle" | |
| } | |
| }, function(a, b) { | |
| $.fn[a] = function(a, c, d) { | |
| return this.animate(b, a, c, d) | |
| } | |
| }), | |
| $.speed = function(a, b, c) { | |
| var d = a && "object" == typeof a ? $.extend({}, a) : { | |
| complete: c || !c && b || $.isFunction(a) && a, | |
| duration: a, | |
| easing: c && b || b && !$.isFunction(b) && b | |
| }; | |
| return d.duration = $.fx.off ? 0 : "number" == typeof d.duration ? d.duration : d.duration in $.fx.speeds ? $.fx.speeds[d.duration] : $.fx.speeds._default, | |
| null != d.queue && d.queue !== !0 || (d.queue = "fx"), | |
| d.old = d.complete, | |
| d.complete = function() { | |
| $.isFunction(d.old) && d.old.call(this), | |
| d.queue && $.dequeue(this, d.queue) | |
| } | |
| , | |
| d | |
| } | |
| , | |
| $.easing = { | |
| linear: function(a) { | |
| return a | |
| }, | |
| swing: function(a) { | |
| return .5 - Math.cos(a * Math.PI) / 2 | |
| } | |
| }, | |
| $.timers = [], | |
| $.fx = K.prototype.init, | |
| $.fx.tick = function() { | |
| for (var a, b = $.timers, c = 0; c < b.length; c++) | |
| a = b[c], | |
| a() || b[c] !== a || b.splice(c--, 1); | |
| b.length || $.fx.stop() | |
| } | |
| , | |
| $.fx.timer = function(a) { | |
| a() && $.timers.push(a) && !Vb && (Vb = setInterval($.fx.tick, $.fx.interval)) | |
| } | |
| , | |
| $.fx.interval = 13, | |
| $.fx.stop = function() { | |
| clearInterval(Vb), | |
| Vb = null | |
| } | |
| , | |
| $.fx.speeds = { | |
| slow: 600, | |
| fast: 200, | |
| _default: 400 | |
| }, | |
| $.fx.step = {}, | |
| $.expr && $.expr.filters && ($.expr.filters.animated = function(a) { | |
| return $.grep($.timers, function(b) { | |
| return a === b.elem | |
| }).length | |
| } | |
| ); | |
| var _b = /^(?:body|html)$/i; | |
| $.fn.offset = function(a) { | |
| if (arguments.length) | |
| return a === b ? this : this.each(function(b) { | |
| $.offset.setOffset(this, a, b) | |
| }); | |
| var c, d, e, f, g, h, i, j, k, l, m = this[0], n = m && m.ownerDocument; | |
| if (n) | |
| return (e = n.body) === m ? $.offset.bodyOffset(m) : (d = n.documentElement, | |
| $.contains(d, m) ? (c = m.getBoundingClientRect(), | |
| f = M(n), | |
| g = d.clientTop || e.clientTop || 0, | |
| h = d.clientLeft || e.clientLeft || 0, | |
| i = f.pageYOffset || d.scrollTop, | |
| j = f.pageXOffset || d.scrollLeft, | |
| k = c.top + i - g, | |
| l = c.left + j - h, | |
| { | |
| top: k, | |
| left: l | |
| }) : { | |
| top: 0, | |
| left: 0 | |
| }) | |
| } | |
| , | |
| $.offset = { | |
| bodyOffset: function(a) { | |
| var b = a.offsetTop | |
| , c = a.offsetLeft; | |
| return $.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat($.css(a, "marginTop")) || 0, | |
| c += parseFloat($.css(a, "marginLeft")) || 0), | |
| { | |
| top: b, | |
| left: c | |
| } | |
| }, | |
| setOffset: function(a, b, c) { | |
| var d = $.css(a, "position"); | |
| "static" === d && (a.style.position = "relative"); | |
| var e, f, g = $(a), h = g.offset(), i = $.css(a, "top"), j = $.css(a, "left"), k = ("absolute" === d || "fixed" === d) && $.inArray("auto", [i, j]) > -1, l = {}, m = {}; | |
| k ? (m = g.position(), | |
| e = m.top, | |
| f = m.left) : (e = parseFloat(i) || 0, | |
| f = parseFloat(j) || 0), | |
| $.isFunction(b) && (b = b.call(a, c, h)), | |
| null != b.top && (l.top = b.top - h.top + e), | |
| null != b.left && (l.left = b.left - h.left + f), | |
| "using"in b ? b.using.call(a, l) : g.css(l) | |
| } | |
| }, | |
| $.fn.extend({ | |
| position: function() { | |
| if (this[0]) { | |
| var a = this[0] | |
| , b = this.offsetParent() | |
| , c = this.offset() | |
| , d = _b.test(b[0].nodeName) ? { | |
| top: 0, | |
| left: 0 | |
| } : b.offset(); | |
| return c.top -= parseFloat($.css(a, "marginTop")) || 0, | |
| c.left -= parseFloat($.css(a, "marginLeft")) || 0, | |
| d.top += parseFloat($.css(b[0], "borderTopWidth")) || 0, | |
| d.left += parseFloat($.css(b[0], "borderLeftWidth")) || 0, | |
| { | |
| top: c.top - d.top, | |
| left: c.left - d.left | |
| } | |
| } | |
| }, | |
| offsetParent: function() { | |
| return this.map(function() { | |
| for (var a = this.offsetParent || P.body; a && !_b.test(a.nodeName) && "static" === $.css(a, "position"); ) | |
| a = a.offsetParent; | |
| return a || P.body | |
| }) | |
| } | |
| }), | |
| $.each({ | |
| scrollLeft: "pageXOffset", | |
| scrollTop: "pageYOffset" | |
| }, function(a, c) { | |
| var d = /Y/.test(c); | |
| $.fn[a] = function(e) { | |
| return $.access(this, function(a, e, f) { | |
| var g = M(a); | |
| return f === b ? g ? c in g ? g[c] : g.document.documentElement[e] : a[e] : void (g ? g.scrollTo(d ? $(g).scrollLeft() : f, d ? f : $(g).scrollTop()) : a[e] = f) | |
| }, a, e, arguments.length, null) | |
| } | |
| }), | |
| $.each({ | |
| Height: "height", | |
| Width: "width" | |
| }, function(a, c) { | |
| $.each({ | |
| padding: "inner" + a, | |
| content: c, | |
| "": "outer" + a | |
| }, function(d, e) { | |
| $.fn[e] = function(e, f) { | |
| var g = arguments.length && (d || "boolean" != typeof e) | |
| , h = d || (e === !0 || f === !0 ? "margin" : "border"); | |
| return $.access(this, function(c, d, e) { | |
| var f; | |
| return $.isWindow(c) ? c.document.documentElement["client" + a] : 9 === c.nodeType ? (f = c.documentElement, | |
| Math.max(c.body["scroll" + a], f["scroll" + a], c.body["offset" + a], f["offset" + a], f["client" + a])) : e === b ? $.css(c, d, e, h) : $.style(c, d, e, h) | |
| }, c, g ? e : b, g) | |
| } | |
| }) | |
| }), | |
| a.jQuery = a.$ = $, | |
| "function" == typeof define && define.amd && define.amd.jQuery && define("jquery", [], function() { | |
| return $ | |
| }) | |
| }(window), | |
| function(a, b) { | |
| function c(b, c) { | |
| var e, f, g, h = b.nodeName.toLowerCase(); | |
| return "area" === h ? (e = b.parentNode, | |
| f = e.name, | |
| !(!b.href || !f || "map" !== e.nodeName.toLowerCase()) && (g = a("img[usemap=#" + f + "]")[0], | |
| !!g && d(g))) : (/input|select|textarea|button|object/.test(h) ? !b.disabled : "a" === h ? b.href || c : c) && d(b) | |
| } | |
| function d(b) { | |
| return !a(b).parents().andSelf().filter(function() { | |
| return "hidden" === a.css(this, "visibility") || a.expr.filters.hidden(this) | |
| }).length | |
| } | |
| var e = 0 | |
| , f = /^ui-id-\d+$/; | |
| a.ui = a.ui || {}, | |
| a.ui.version || (a.extend(a.ui, { | |
| version: "1.9.0", | |
| keyCode: { | |
| BACKSPACE: 8, | |
| COMMA: 188, | |
| DELETE: 46, | |
| DOWN: 40, | |
| END: 35, | |
| ENTER: 13, | |
| ESCAPE: 27, | |
| HOME: 36, | |
| LEFT: 37, | |
| NUMPAD_ADD: 107, | |
| NUMPAD_DECIMAL: 110, | |
| NUMPAD_DIVIDE: 111, | |
| NUMPAD_ENTER: 108, | |
| NUMPAD_MULTIPLY: 106, | |
| NUMPAD_SUBTRACT: 109, | |
| PAGE_DOWN: 34, | |
| PAGE_UP: 33, | |
| PERIOD: 190, | |
| RIGHT: 39, | |
| SPACE: 32, | |
| TAB: 9, | |
| UP: 38 | |
| } | |
| }), | |
| a.fn.extend({ | |
| _focus: a.fn.focus, | |
| focus: function(b, c) { | |
| return "number" == typeof b ? this.each(function() { | |
| var d = this; | |
| setTimeout(function() { | |
| a(d).focus(), | |
| c && c.call(d) | |
| }, b) | |
| }) : this._focus.apply(this, arguments) | |
| }, | |
| scrollParent: function() { | |
| var b; | |
| return b = a.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? this.parents().filter(function() { | |
| return /(relative|absolute|fixed)/.test(a.css(this, "position")) && /(auto|scroll)/.test(a.css(this, "overflow") + a.css(this, "overflow-y") + a.css(this, "overflow-x")) | |
| }).eq(0) : this.parents().filter(function() { | |
| return /(auto|scroll)/.test(a.css(this, "overflow") + a.css(this, "overflow-y") + a.css(this, "overflow-x")) | |
| }).eq(0), | |
| /fixed/.test(this.css("position")) || !b.length ? a(document) : b | |
| }, | |
| zIndex: function(c) { | |
| if (c !== b) | |
| return this.css("zIndex", c); | |
| if (this.length) | |
| for (var d, e, f = a(this[0]); f.length && f[0] !== document; ) { | |
| if (d = f.css("position"), | |
| ("absolute" === d || "relative" === d || "fixed" === d) && (e = parseInt(f.css("zIndex"), 10), | |
| !isNaN(e) && 0 !== e)) | |
| return e; | |
| f = f.parent() | |
| } | |
| return 0 | |
| }, | |
| uniqueId: function() { | |
| return this.each(function() { | |
| this.id || (this.id = "ui-id-" + ++e) | |
| }) | |
| }, | |
| removeUniqueId: function() { | |
| return this.each(function() { | |
| f.test(this.id) && a(this).removeAttr("id") | |
| }) | |
| } | |
| }), | |
| a("<a>").outerWidth(1).jquery || a.each(["Width", "Height"], function(c, d) { | |
| function e(b, c, d, e) { | |
| return a.each(f, function() { | |
| c -= parseFloat(a.css(b, "padding" + this)) || 0, | |
| d && (c -= parseFloat(a.css(b, "border" + this + "Width")) || 0), | |
| e && (c -= parseFloat(a.css(b, "margin" + this)) || 0) | |
| }), | |
| c | |
| } | |
| var f = "Width" === d ? ["Left", "Right"] : ["Top", "Bottom"] | |
| , g = d.toLowerCase() | |
| , h = { | |
| innerWidth: a.fn.innerWidth, | |
| innerHeight: a.fn.innerHeight, | |
| outerWidth: a.fn.outerWidth, | |
| outerHeight: a.fn.outerHeight | |
| }; | |
| a.fn["inner" + d] = function(c) { | |
| return c === b ? h["inner" + d].call(this) : this.each(function() { | |
| a(this).css(g, e(this, c) + "px") | |
| }) | |
| } | |
| , | |
| a.fn["outer" + d] = function(b, c) { | |
| return "number" != typeof b ? h["outer" + d].call(this, b) : this.each(function() { | |
| a(this).css(g, e(this, b, !0, c) + "px") | |
| }) | |
| } | |
| }), | |
| a.extend(a.expr[":"], { | |
| data: a.expr.createPseudo ? a.expr.createPseudo(function(b) { | |
| return function(c) { | |
| return !!a.data(c, b) | |
| } | |
| }) : function(b, c, d) { | |
| return !!a.data(b, d[3]) | |
| } | |
| , | |
| focusable: function(b) { | |
| return c(b, !isNaN(a.attr(b, "tabindex"))) | |
| }, | |
| tabbable: function(b) { | |
| var d = a.attr(b, "tabindex") | |
| , e = isNaN(d); | |
| return (e || d >= 0) && c(b, !e) | |
| } | |
| }), | |
| a(function() { | |
| var b = document.body | |
| , c = b.appendChild(c = document.createElement("div")); | |
| c.offsetHeight, | |
| a.extend(c.style, { | |
| minHeight: "100px", | |
| height: "auto", | |
| padding: 0, | |
| borderWidth: 0 | |
| }), | |
| a.support.minHeight = 100 === c.offsetHeight, | |
| a.support.selectstart = "onselectstart"in c, | |
| b.removeChild(c).style.display = "none" | |
| }), | |
| a.fn.extend({ | |
| disableSelection: function() { | |
| return this.bind((a.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function(a) { | |
| a.preventDefault() | |
| }) | |
| }, | |
| enableSelection: function() { | |
| return this.unbind(".ui-disableSelection") | |
| } | |
| }), | |
| a.extend(a.ui, { | |
| plugin: { | |
| add: function(b, c, d) { | |
| var e, f = a.ui[b].prototype; | |
| for (e in d) | |
| f.plugins[e] = f.plugins[e] || [], | |
| f.plugins[e].push([c, d[e]]) | |
| }, | |
| call: function(a, b, c) { | |
| var d, e = a.plugins[b]; | |
| if (e && a.element[0].parentNode && 11 !== a.element[0].parentNode.nodeType) | |
| for (d = 0; d < e.length; d++) | |
| a.options[e[d][0]] && e[d][1].apply(a.element, c) | |
| } | |
| }, | |
| contains: a.contains, | |
| hasScroll: function(b, c) { | |
| if ("hidden" === a(b).css("overflow")) | |
| return !1; | |
| var d = c && "left" === c ? "scrollLeft" : "scrollTop" | |
| , e = !1; | |
| return b[d] > 0 || (b[d] = 1, | |
| e = b[d] > 0, | |
| b[d] = 0, | |
| e) | |
| }, | |
| isOverAxis: function(a, b, c) { | |
| return a > b && a < b + c | |
| }, | |
| isOver: function(b, c, d, e, f, g) { | |
| return a.ui.isOverAxis(b, d, f) && a.ui.isOverAxis(c, e, g) | |
| } | |
| })) | |
| }(jQuery), | |
| function(a, b) { | |
| var c = 0 | |
| , d = Array.prototype.slice | |
| , e = a.cleanData; | |
| a.cleanData = function(b) { | |
| for (var c, d = 0; null != (c = b[d]); d++) | |
| try { | |
| a(c).triggerHandler("remove") | |
| } catch (f) {} | |
| e(b) | |
| } | |
| , | |
| a.widget = function(b, c, d) { | |
| var e, f, g, h, i = b.split(".")[0]; | |
| b = b.split(".")[1], | |
| e = i + "-" + b, | |
| d || (d = c, | |
| c = a.Widget), | |
| a.expr[":"][e.toLowerCase()] = function(b) { | |
| return !!a.data(b, e) | |
| } | |
| , | |
| a[i] = a[i] || {}, | |
| f = a[i][b], | |
| g = a[i][b] = function(a, b) { | |
| return this._createWidget ? void (arguments.length && this._createWidget(a, b)) : new g(a,b) | |
| } | |
| , | |
| a.extend(g, f, { | |
| version: d.version, | |
| _proto: a.extend({}, d), | |
| _childConstructors: [] | |
| }), | |
| h = new c, | |
| h.options = a.widget.extend({}, h.options), | |
| a.each(d, function(b, e) { | |
| a.isFunction(e) && (d[b] = function() { | |
| var a = function() { | |
| return c.prototype[b].apply(this, arguments) | |
| } | |
| , d = function(a) { | |
| return c.prototype[b].apply(this, a) | |
| }; | |
| return function() { | |
| var b, c = this._super, f = this._superApply; | |
| return this._super = a, | |
| this._superApply = d, | |
| b = e.apply(this, arguments), | |
| this._super = c, | |
| this._superApply = f, | |
| b | |
| } | |
| }()) | |
| }), | |
| g.prototype = a.widget.extend(h, { | |
| widgetEventPrefix: b | |
| }, d, { | |
| constructor: g, | |
| namespace: i, | |
| widgetName: b, | |
| widgetBaseClass: e, | |
| widgetFullName: e | |
| }), | |
| f ? (a.each(f._childConstructors, function(b, c) { | |
| var d = c.prototype; | |
| a.widget(d.namespace + "." + d.widgetName, g, c._proto) | |
| }), | |
| delete f._childConstructors) : c._childConstructors.push(g), | |
| a.widget.bridge(b, g) | |
| } | |
| , | |
| a.widget.extend = function(c) { | |
| for (var e, f, g = d.call(arguments, 1), h = 0, i = g.length; h < i; h++) | |
| for (e in g[h]) | |
| f = g[h][e], | |
| g[h].hasOwnProperty(e) && f !== b && (c[e] = a.isPlainObject(f) ? a.widget.extend({}, c[e], f) : f); | |
| return c | |
| } | |
| , | |
| a.widget.bridge = function(c, e) { | |
| var f = e.prototype.widgetFullName; | |
| a.fn[c] = function(g) { | |
| var h = "string" == typeof g | |
| , i = d.call(arguments, 1) | |
| , j = this; | |
| return g = !h && i.length ? a.widget.extend.apply(null, [g].concat(i)) : g, | |
| h ? this.each(function() { | |
| var d, e = a.data(this, f); | |
| return e ? a.isFunction(e[g]) && "_" !== g.charAt(0) ? (d = e[g].apply(e, i), | |
| d !== e && d !== b ? (j = d && d.jquery ? j.pushStack(d.get()) : d, | |
| !1) : void 0) : a.error("no such method '" + g + "' for " + c + " widget instance") : a.error("cannot call methods on " + c + " prior to initialization; attempted to call method '" + g + "'") | |
| }) : this.each(function() { | |
| var b = a.data(this, f); | |
| b ? b.option(g || {})._init() : new e(g,this) | |
| }), | |
| j | |
| } | |
| } | |
| , | |
| a.Widget = function(a, b) {} | |
| , | |
| a.Widget._childConstructors = [], | |
| a.Widget.prototype = { | |
| widgetName: "widget", | |
| widgetEventPrefix: "", | |
| defaultElement: "<div>", | |
| options: { | |
| disabled: !1, | |
| create: null | |
| }, | |
| _createWidget: function(b, d) { | |
| d = a(d || this.defaultElement || this)[0], | |
| this.element = a(d), | |
| this.uuid = c++, | |
| this.eventNamespace = "." + this.widgetName + this.uuid, | |
| this.options = a.widget.extend({}, this.options, this._getCreateOptions(), b), | |
| this.bindings = a(), | |
| this.hoverable = a(), | |
| this.focusable = a(), | |
| d !== this && (a.data(d, this.widgetName, this), | |
| a.data(d, this.widgetFullName, this), | |
| this._on({ | |
| remove: "destroy" | |
| }), | |
| this.document = a(d.style ? d.ownerDocument : d.document || d), | |
| this.window = a(this.document[0].defaultView || this.document[0].parentWindow)), | |
| this._create(), | |
| this._trigger("create", null, this._getCreateEventData()), | |
| this._init() | |
| }, | |
| _getCreateOptions: a.noop, | |
| _getCreateEventData: a.noop, | |
| _create: a.noop, | |
| _init: a.noop, | |
| destroy: function() { | |
| this._destroy(), | |
| this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)), | |
| this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName + "-disabled ui-state-disabled"), | |
| this.bindings.unbind(this.eventNamespace), | |
| this.hoverable.removeClass("ui-state-hover"), | |
| this.focusable.removeClass("ui-state-focus") | |
| }, | |
| _destroy: a.noop, | |
| widget: function() { | |
| return this.element | |
| }, | |
| option: function(c, d) { | |
| var e, f, g, h = c; | |
| if (0 === arguments.length) | |
| return a.widget.extend({}, this.options); | |
| if ("string" == typeof c) | |
| if (h = {}, | |
| e = c.split("."), | |
| c = e.shift(), | |
| e.length) { | |
| for (f = h[c] = a.widget.extend({}, this.options[c]), | |
| g = 0; g < e.length - 1; g++) | |
| f[e[g]] = f[e[g]] || {}, | |
| f = f[e[g]]; | |
| if (c = e.pop(), | |
| d === b) | |
| return f[c] === b ? null : f[c]; | |
| f[c] = d | |
| } else { | |
| if (d === b) | |
| return this.options[c] === b ? null : this.options[c]; | |
| h[c] = d | |
| } | |
| return this._setOptions(h), | |
| this | |
| }, | |
| _setOptions: function(a) { | |
| var b; | |
| for (b in a) | |
| this._setOption(b, a[b]); | |
| return this | |
| }, | |
| _setOption: function(a, b) { | |
| return this.options[a] = b, | |
| "disabled" === a && (this.widget().toggleClass(this.widgetFullName + "-disabled ui-state-disabled", !!b).attr("aria-disabled", b), | |
| this.hoverable.removeClass("ui-state-hover"), | |
| this.focusable.removeClass("ui-state-focus")), | |
| this | |
| }, | |
| enable: function() { | |
| return this._setOption("disabled", !1) | |
| }, | |
| disable: function() { | |
| return this._setOption("disabled", !0) | |
| }, | |
| _on: function(b, c) { | |
| c ? (b = a(b), | |
| this.bindings = this.bindings.add(b)) : (c = b, | |
| b = this.element); | |
| var d = this; | |
| a.each(c, function(c, e) { | |
| function f() { | |
| if (d.options.disabled !== !0 && !a(this).hasClass("ui-state-disabled")) | |
| return ("string" == typeof e ? d[e] : e).apply(d, arguments) | |
| } | |
| "string" != typeof e && (f.guid = e.guid = e.guid || f.guid || a.guid++); | |
| var g = c.match(/^(\w+)\s*(.*)$/) | |
| , h = g[1] + d.eventNamespace | |
| , i = g[2]; | |
| i ? d.widget().delegate(i, h, f) : b.bind(h, f) | |
| }) | |
| }, | |
| _off: function(a, b) { | |
| b = (b || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, | |
| a.unbind(b).undelegate(b) | |
| }, | |
| _delay: function(a, b) { | |
| function c() { | |
| return ("string" == typeof a ? d[a] : a).apply(d, arguments) | |
| } | |
| var d = this; | |
| return setTimeout(c, b || 0) | |
| }, | |
| _hoverable: function(b) { | |
| this.hoverable = this.hoverable.add(b), | |
| this._on(b, { | |
| mouseenter: function(b) { | |
| a(b.currentTarget).addClass("ui-state-hover") | |
| }, | |
| mouseleave: function(b) { | |
| a(b.currentTarget).removeClass("ui-state-hover") | |
| } | |
| }) | |
| }, | |
| _focusable: function(b) { | |
| this.focusable = this.focusable.add(b), | |
| this._on(b, { | |
| focusin: function(b) { | |
| a(b.currentTarget).addClass("ui-state-focus") | |
| }, | |
| focusout: function(b) { | |
| a(b.currentTarget).removeClass("ui-state-focus") | |
| } | |
| }) | |
| }, | |
| _trigger: function(b, c, d) { | |
| var e, f, g = this.options[b]; | |
| if (d = d || {}, | |
| c = a.Event(c), | |
| c.type = (b === this.widgetEventPrefix ? b : this.widgetEventPrefix + b).toLowerCase(), | |
| c.target = this.element[0], | |
| f = c.originalEvent) | |
| for (e in f) | |
| e in c || (c[e] = f[e]); | |
| return this.element.trigger(c, d), | |
| !(a.isFunction(g) && g.apply(this.element[0], [c].concat(d)) === !1 || c.isDefaultPrevented()) | |
| } | |
| }, | |
| a.each({ | |
| show: "fadeIn", | |
| hide: "fadeOut" | |
| }, function(b, c) { | |
| a.Widget.prototype["_" + b] = function(d, e, f) { | |
| "string" == typeof e && (e = { | |
| effect: e | |
| }); | |
| var g, h = e ? e === !0 || "number" == typeof e ? c : e.effect || c : b; | |
| e = e || {}, | |
| "number" == typeof e && (e = { | |
| duration: e | |
| }), | |
| g = !a.isEmptyObject(e), | |
| e.complete = f, | |
| e.delay && d.delay(e.delay), | |
| g && a.effects && (a.effects.effect[h] || a.uiBackCompat !== !1 && a.effects[h]) ? d[b](e) : h !== b && d[h] ? d[h](e.duration, e.easing, f) : d.queue(function(c) { | |
| a(this)[b](), | |
| f && f.call(d[0]), | |
| c() | |
| }) | |
| } | |
| }), | |
| a.uiBackCompat !== !1 && (a.Widget.prototype._getCreateOptions = function() { | |
| return a.metadata && a.metadata.get(this.element[0])[this.widgetName] | |
| } | |
| ) | |
| }(jQuery), | |
| function(a, b) { | |
| var c = !1; | |
| a(document).mouseup(function(a) { | |
| c = !1 | |
| }), | |
| a.widget("ui.mouse", { | |
| version: "1.9.0", | |
| options: { | |
| cancel: "input,textarea,button,select,option", | |
| distance: 1, | |
| delay: 0 | |
| }, | |
| _mouseInit: function() { | |
| var b = this; | |
| this.element.bind("mousedown." + this.widgetName, function(a) { | |
| return b._mouseDown(a) | |
| }).bind("click." + this.widgetName, function(c) { | |
| if (!0 === a.data(c.target, b.widgetName + ".preventClickEvent")) | |
| return a.removeData(c.target, b.widgetName + ".preventClickEvent"), | |
| c.stopImmediatePropagation(), | |
| !1 | |
| }), | |
| this.started = !1 | |
| }, | |
| _mouseDestroy: function() { | |
| this.element.unbind("." + this.widgetName), | |
| this._mouseMoveDelegate && a(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate) | |
| }, | |
| _mouseDown: function(b) { | |
| if (!c) { | |
| this._mouseStarted && this._mouseUp(b), | |
| this._mouseDownEvent = b; | |
| var d = this | |
| , e = 1 === b.which | |
| , f = !("string" != typeof this.options.cancel || !b.target.nodeName) && a(b.target).closest(this.options.cancel).length; | |
| return !(e && !f && this._mouseCapture(b)) || (this.mouseDelayMet = !this.options.delay, | |
| this.mouseDelayMet || (this._mouseDelaya6K = setTimeout(function() { | |
| d.mouseDelayMet = !0 | |
| }, this.options.delay)), | |
| this._mouseDistanceMet(b) && this._mouseDelayMet(b) && (this._mouseStarted = this._mouseStart(b) !== !1, | |
| !this._mouseStarted) ? (b.preventDefault(), | |
| !0) : (!0 === a.data(b.target, this.widgetName + ".preventClickEvent") && a.removeData(b.target, this.widgetName + ".preventClickEvent"), | |
| this._mouseMoveDelegate = function(a) { | |
| return d._mouseMove(a) | |
| } | |
| , | |
| this._mouseUpDelegate = function(a) { | |
| return d._mouseUp(a) | |
| } | |
| , | |
| a(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate), | |
| b.preventDefault(), | |
| c = !0, | |
| !0)) | |
| } | |
| }, | |
| _mouseMove: function(b) { | |
| return !a.browser.msie || document.documentMode >= 9 || b.button ? this._mouseStarted ? (this._mouseDrag(b), | |
| b.preventDefault()) : (this._mouseDistanceMet(b) && this._mouseDelayMet(b) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent, b) !== !1, | |
| this._mouseStarted ? this._mouseDrag(b) : this._mouseUp(b)), | |
| !this._mouseStarted) : this._mouseUp(b) | |
| }, | |
| _mouseUp: function(b) { | |
| return a(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate), | |
| this._mouseStarted && (this._mouseStarted = !1, | |
| b.target === this._mouseDownEvent.target && a.data(b.target, this.widgetName + ".preventClickEvent", !0), | |
| this._mouseStop(b)), | |
| !1 | |
| }, | |
| _mouseDistanceMet: function(a) { | |
| return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX), Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance | |
| }, | |
| _mouseDelayMet: function(a) { | |
| return this.mouseDelayMet | |
| }, | |
| _mouseStart: function(a) {}, | |
| _mouseDrag: function(a) {}, | |
| _mouseStop: function(a) {}, | |
| _mouseCapture: function(a) { | |
| return !0 | |
| } | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| function c(a, b, c) { | |
| return [parseInt(a[0], 10) * (m.test(a[0]) ? b / 100 : 1), parseInt(a[1], 10) * (m.test(a[1]) ? c / 100 : 1)] | |
| } | |
| function d(b, c) { | |
| return parseInt(a.css(b, c), 10) || 0 | |
| } | |
| a.ui = a.ui || {}; | |
| var e, f = Math.max, g = Math.abs, h = Math.round, i = /left|center|right/, j = /top|center|bottom/, k = /[\+\-]\d+%?/, l = /^\w+/, m = /%$/, n = a.fn.position; | |
| a.position = { | |
| scrollbarWidth: function() { | |
| if (e !== b) | |
| return e; | |
| var c, d, f = a("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), g = f.children()[0]; | |
| return a("body").append(f), | |
| c = g.offsetWidth, | |
| f.css("overflow", "scroll"), | |
| d = g.offsetWidth, | |
| c === d && (d = f[0].clientWidth), | |
| f.remove(), | |
| e = c - d | |
| }, | |
| getScrollInfo: function(b) { | |
| var c = b.isWindow ? "" : b.element.css("overflow-x") | |
| , d = b.isWindow ? "" : b.element.css("overflow-y") | |
| , e = "scroll" === c || "auto" === c && b.width < b.element[0].scrollWidth | |
| , f = "scroll" === d || "auto" === d && b.height < b.element[0].scrollHeight; | |
| return { | |
| width: e ? a.position.scrollbarWidth() : 0, | |
| height: f ? a.position.scrollbarWidth() : 0 | |
| } | |
| }, | |
| getWithinInfo: function(b) { | |
| var c = a(b || window) | |
| , d = a.isWindow(c[0]); | |
| return { | |
| element: c, | |
| isWindow: d, | |
| offset: c.offset() || { | |
| left: 0, | |
| top: 0 | |
| }, | |
| scrollLeft: c.scrollLeft(), | |
| scrollTop: c.scrollTop(), | |
| width: d ? c.width() : c.outerWidth(), | |
| height: d ? c.height() : c.outerHeight() | |
| } | |
| } | |
| }, | |
| a.fn.position = function(b) { | |
| if (!b || !b.of) | |
| return n.apply(this, arguments); | |
| b = a.extend({}, b); | |
| var e, m, o, p, q, r = a(b.of), s = a.position.getWithinInfo(b.within), t = a.position.getScrollInfo(s), u = r[0], v = (b.collision || "flip").split(" "), w = {}; | |
| return 9 === u.nodeType ? (m = r.width(), | |
| o = r.height(), | |
| p = { | |
| top: 0, | |
| left: 0 | |
| }) : a.isWindow(u) ? (m = r.width(), | |
| o = r.height(), | |
| p = { | |
| top: r.scrollTop(), | |
| left: r.scrollLeft() | |
| }) : u.preventDefault ? (b.at = "left top", | |
| m = o = 0, | |
| p = { | |
| top: u.pageY, | |
| left: u.pageX | |
| }) : (m = r.outerWidth(), | |
| o = r.outerHeight(), | |
| p = r.offset()), | |
| q = a.extend({}, p), | |
| a.each(["my", "at"], function() { | |
| var a, c, d = (b[this] || "").split(" "); | |
| 1 === d.length && (d = i.test(d[0]) ? d.concat(["center"]) : j.test(d[0]) ? ["center"].concat(d) : ["center", "center"]), | |
| d[0] = i.test(d[0]) ? d[0] : "center", | |
| d[1] = j.test(d[1]) ? d[1] : "center", | |
| a = k.exec(d[0]), | |
| c = k.exec(d[1]), | |
| w[this] = [a ? a[0] : 0, c ? c[0] : 0], | |
| b[this] = [l.exec(d[0])[0], l.exec(d[1])[0]] | |
| }), | |
| 1 === v.length && (v[1] = v[0]), | |
| "right" === b.at[0] ? q.left += m : "center" === b.at[0] && (q.left += m / 2), | |
| "bottom" === b.at[1] ? q.top += o : "center" === b.at[1] && (q.top += o / 2), | |
| e = c(w.at, m, o), | |
| q.left += e[0], | |
| q.top += e[1], | |
| this.each(function() { | |
| var i, j, k = a(this), l = k.outerWidth(), n = k.outerHeight(), u = d(this, "marginLeft"), x = d(this, "marginTop"), y = l + u + d(this, "marginRight") + t.width, z = n + x + d(this, "marginBottom") + t.height, A = a.extend({}, q), B = c(w.my, k.outerWidth(), k.outerHeight()); | |
| "right" === b.my[0] ? A.left -= l : "center" === b.my[0] && (A.left -= l / 2), | |
| "bottom" === b.my[1] ? A.top -= n : "center" === b.my[1] && (A.top -= n / 2), | |
| A.left += B[0], | |
| A.top += B[1], | |
| a.support.offsetFractions || (A.left = h(A.left), | |
| A.top = h(A.top)), | |
| i = { | |
| marginLeft: u, | |
| marginTop: x | |
| }, | |
| a.each(["left", "top"], function(c, d) { | |
| a.ui.position[v[c]] && a.ui.position[v[c]][d](A, { | |
| targetWidth: m, | |
| targetHeight: o, | |
| elemWidth: l, | |
| elemHeight: n, | |
| collisionPosition: i, | |
| collisionWidth: y, | |
| collisionHeight: z, | |
| offset: [e[0] + B[0], e[1] + B[1]], | |
| my: b.my, | |
| at: b.at, | |
| within: s, | |
| elem: k | |
| }) | |
| }), | |
| a.fn.bgiframe && k.bgiframe(), | |
| b.using && (j = function(a) { | |
| var c = p.left - A.left | |
| , d = c + m - l | |
| , e = p.top - A.top | |
| , h = e + o - n | |
| , i = { | |
| target: { | |
| element: r, | |
| left: p.left, | |
| top: p.top, | |
| width: m, | |
| height: o | |
| }, | |
| element: { | |
| element: k, | |
| left: A.left, | |
| top: A.top, | |
| width: l, | |
| height: n | |
| }, | |
| horizontal: d < 0 ? "left" : c > 0 ? "right" : "center", | |
| vertical: h < 0 ? "top" : e > 0 ? "bottom" : "middle" | |
| }; | |
| m < l && g(c + d) < m && (i.horizontal = "center"), | |
| o < n && g(e + h) < o && (i.vertical = "middle"), | |
| f(g(c), g(d)) > f(g(e), g(h)) ? i.important = "horizontal" : i.important = "vertical", | |
| b.using.call(this, a, i) | |
| } | |
| ), | |
| k.offset(a.extend(A, { | |
| using: j | |
| })) | |
| }) | |
| } | |
| , | |
| a.ui.position = { | |
| fit: { | |
| left: function(a, b) { | |
| var c, d = b.within, e = d.isWindow ? d.scrollLeft : d.offset.left, g = d.width, h = a.left - b.collisionPosition.marginLeft, i = e - h, j = h + b.collisionWidth - g - e; | |
| b.collisionWidth > g ? i > 0 && j <= 0 ? (c = a.left + i + b.collisionWidth - g - e, | |
| a.left += i - c) : j > 0 && i <= 0 ? a.left = e : i > j ? a.left = e + g - b.collisionWidth : a.left = e : i > 0 ? a.left += i : j > 0 ? a.left -= j : a.left = f(a.left - h, a.left) | |
| }, | |
| top: function(a, b) { | |
| var c, d = b.within, e = d.isWindow ? d.scrollTop : d.offset.top, g = b.within.height, h = a.top - b.collisionPosition.marginTop, i = e - h, j = h + b.collisionHeight - g - e; | |
| b.collisionHeight > g ? i > 0 && j <= 0 ? (c = a.top + i + b.collisionHeight - g - e, | |
| a.top += i - c) : j > 0 && i <= 0 ? a.top = e : i > j ? a.top = e + g - b.collisionHeight : a.top = e : i > 0 ? a.top += i : j > 0 ? a.top -= j : a.top = f(a.top - h, a.top) | |
| } | |
| }, | |
| flip: { | |
| left: function(a, b) { | |
| var c, d, e = b.within, f = e.offset.left + e.scrollLeft, h = e.width, i = e.isWindow ? e.scrollLeft : e.offset.left, j = a.left - b.collisionPosition.marginLeft, k = j - i, l = j + b.collisionWidth - h - i, m = "left" === b.my[0] ? -b.elemWidth : "right" === b.my[0] ? b.elemWidth : 0, n = "left" === b.at[0] ? b.targetWidth : "right" === b.at[0] ? -b.targetWidth : 0, o = -2 * b.offset[0]; | |
| k < 0 ? (c = a.left + m + n + o + b.collisionWidth - h - f, | |
| (c < 0 || c < g(k)) && (a.left += m + n + o)) : l > 0 && (d = a.left - b.collisionPosition.marginLeft + m + n + o - i, | |
| (d > 0 || g(d) < l) && (a.left += m + n + o)) | |
| }, | |
| top: function(a, b) { | |
| var c, d, e = b.within, f = e.offset.top + e.scrollTop, h = e.height, i = e.isWindow ? e.scrollTop : e.offset.top, j = a.top - b.collisionPosition.marginTop, k = j - i, l = j + b.collisionHeight - h - i, m = "top" === b.my[1], n = m ? -b.elemHeight : "bottom" === b.my[1] ? b.elemHeight : 0, o = "top" === b.at[1] ? b.targetHeight : "bottom" === b.at[1] ? -b.targetHeight : 0, p = -2 * b.offset[1]; | |
| k < 0 ? (d = a.top + n + o + p + b.collisionHeight - h - f, | |
| a.top + n + o + p > k && (d < 0 || d < g(k)) && (a.top += n + o + p)) : l > 0 && (c = a.top - b.collisionPosition.marginTop + n + o + p - i, | |
| a.top + n + o + p > l && (c > 0 || g(c) < l) && (a.top += n + o + p)) | |
| } | |
| }, | |
| flipfit: { | |
| left: function() { | |
| a.ui.position.flip.left.apply(this, arguments), | |
| a.ui.position.fit.left.apply(this, arguments) | |
| }, | |
| top: function() { | |
| a.ui.position.flip.top.apply(this, arguments), | |
| a.ui.position.fit.top.apply(this, arguments) | |
| } | |
| } | |
| }, | |
| function() { | |
| var b, c, d, e, f, g = document.getElementsByTagName("body")[0], h = document.createElement("div"); | |
| b = document.createElement(g ? "div" : "body"), | |
| d = { | |
| visibility: "hidden", | |
| width: 0, | |
| height: 0, | |
| border: 0, | |
| margin: 0, | |
| background: "none" | |
| }, | |
| g && a.extend(d, { | |
| position: "absolute", | |
| left: "-1000px", | |
| top: "-1000px" | |
| }); | |
| for (f in d) | |
| b.style[f] = d[f]; | |
| b.appendChild(h), | |
| c = g || document.documentElement, | |
| c.insertBefore(b, c.firstChild), | |
| h.style.cssText = "position: absolute; left: 10.7432222px;", | |
| e = a(h).offset().left, | |
| a.support.offsetFractions = e > 10 && e < 11, | |
| b.innerHTML = "", | |
| c.removeChild(b) | |
| }(), | |
| a.uiBackCompat !== !1 && !function(a) { | |
| var c = a.fn.position; | |
| a.fn.position = function(d) { | |
| if (!d || !d.offset) | |
| return c.call(this, d); | |
| var e = d.offset.split(" ") | |
| , f = d.at.split(" "); | |
| return 1 === e.length && (e[1] = e[0]), | |
| /^\d/.test(e[0]) && (e[0] = "+" + e[0]), | |
| /^\d/.test(e[1]) && (e[1] = "+" + e[1]), | |
| 1 === f.length && (/left|center|right/.test(f[0]) ? f[1] = "center" : (f[1] = f[0], | |
| f[0] = "center")), | |
| c.call(this, a.extend(d, { | |
| at: f[0] + e[0] + " " + f[1] + e[1], | |
| offset: b | |
| })) | |
| } | |
| }(jQuery) | |
| }(jQuery), | |
| function(a, b) { | |
| var c = 0 | |
| , d = {} | |
| , e = {}; | |
| d.height = d.paddingTop = d.paddingBottom = d.borderTopWidth = d.borderBottomWidth = "hide", | |
| e.height = e.paddingTop = e.paddingBottom = e.borderTopWidth = e.borderBottomWidth = "show", | |
| a.widget("ui.accordion", { | |
| version: "1.9.0", | |
| options: { | |
| active: 0, | |
| animate: {}, | |
| collapsible: !1, | |
| event: "click", | |
| header: "> li > :first-child,> :not(li):even", | |
| heightStyle: "auto", | |
| icons: { | |
| activeHeader: "ui-icon-triangle-1-s", | |
| header: "ui-icon-triangle-1-e" | |
| }, | |
| activate: null, | |
| beforeActivate: null | |
| }, | |
| _create: function() { | |
| var b = this.accordionId = "ui-accordion-" + (this.element.attr("id") || ++c) | |
| , d = this.options; | |
| this.prevShow = this.prevHide = a(), | |
| this.element.addClass("ui-accordion ui-widget ui-helper-reset"), | |
| this.headers = this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"), | |
| this._hoverable(this.headers), | |
| this._focusable(this.headers), | |
| this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").hide(), | |
| d.collapsible || d.active !== !1 || (d.active = 0), | |
| d.active < 0 && (d.active += this.headers.length), | |
| this.active = this._findActive(d.active).addClass("ui-accordion-header-active ui-state-active").toggleClass("ui-corner-all ui-corner-top"), | |
| this.active.next().addClass("ui-accordion-content-active").show(), | |
| this._createIcons(), | |
| this.originalHeight = this.element[0].style.height, | |
| this.refresh(), | |
| this.element.attr("role", "tablist"), | |
| this.headers.attr("role", "tab").each(function(c) { | |
| var d = a(this) | |
| , e = d.attr("id") | |
| , f = d.next() | |
| , g = f.attr("id"); | |
| e || (e = b + "-header-" + c, | |
| d.attr("id", e)), | |
| g || (g = b + "-panel-" + c, | |
| f.attr("id", g)), | |
| d.attr("aria-controls", g), | |
| f.attr("aria-labelledby", e) | |
| }).next().attr("role", "tabpanel"), | |
| this.headers.not(this.active).attr({ | |
| "aria-selected": "false", | |
| tabIndex: -1 | |
| }).next().attr({ | |
| "aria-expanded": "false", | |
| "aria-hidden": "true" | |
| }).hide(), | |
| this.active.length ? this.active.attr({ | |
| "aria-selected": "true", | |
| tabIndex: 0 | |
| }).next().attr({ | |
| "aria-expanded": "true", | |
| "aria-hidden": "false" | |
| }) : this.headers.eq(0).attr("tabIndex", 0), | |
| this._on(this.headers, { | |
| keydown: "_keydown" | |
| }), | |
| this._on(this.headers.next(), { | |
| keydown: "_panelKeyDown" | |
| }), | |
| this._setupEvents(d.event) | |
| }, | |
| _getCreateEventData: function() { | |
| return { | |
| header: this.active, | |
| content: this.active.length ? this.active.next() : a() | |
| } | |
| }, | |
| _createIcons: function() { | |
| var b = this.options.icons; | |
| b && (a("<span>").addClass("ui-accordion-header-icon ui-icon " + b.header).prependTo(this.headers), | |
| this.active.children(".ui-accordion-header-icon").removeClass(b.header).addClass(b.activeHeader), | |
| this.headers.addClass("ui-accordion-icons")) | |
| }, | |
| _destroyIcons: function() { | |
| this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove() | |
| }, | |
| _destroy: function() { | |
| var a; | |
| this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"), | |
| this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function() { | |
| /^ui-accordion/.test(this.id) && this.removeAttribute("id") | |
| }), | |
| this._destroyIcons(), | |
| a = this.headers.next().css("display", "").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function() { | |
| /^ui-accordion/.test(this.id) && this.removeAttribute("id") | |
| }), | |
| "content" !== this.options.heightStyle && (this.element.css("height", this.originalHeight), | |
| a.css("height", "")) | |
| }, | |
| _setOption: function(a, b) { | |
| return "active" === a ? void this._activate(b) : ("event" === a && (this.options.event && this._off(this.headers, this.options.event), | |
| this._setupEvents(b)), | |
| this._super(a, b), | |
| "collapsible" !== a || b || this.options.active !== !1 || this._activate(0), | |
| "icons" === a && (this._destroyIcons(), | |
| b && this._createIcons()), | |
| void ("disabled" === a && this.headers.add(this.headers.next()).toggleClass("ui-state-disabled", !!b))) | |
| }, | |
| _keydown: function(b) { | |
| if (!b.altKey && !b.ctrlKey) { | |
| var c = a.ui.keyCode | |
| , d = this.headers.length | |
| , e = this.headers.index(b.target) | |
| , f = !1; | |
| switch (b.keyCode) { | |
| case c.RIGHT: | |
| case c.DOWN: | |
| f = this.headers[(e + 1) % d]; | |
| break; | |
| case c.LEFT: | |
| case c.UP: | |
| f = this.headers[(e - 1 + d) % d]; | |
| break; | |
| case c.SPACE: | |
| case c.ENTER: | |
| this._eventHandler(b); | |
| break; | |
| case c.HOME: | |
| f = this.headers[0]; | |
| break; | |
| case c.END: | |
| f = this.headers[d - 1] | |
| } | |
| f && (a(b.target).attr("tabIndex", -1), | |
| a(f).attr("tabIndex", 0), | |
| f.focus(), | |
| b.preventDefault()) | |
| } | |
| }, | |
| _panelKeyDown: function(b) { | |
| b.keyCode === a.ui.keyCode.UP && b.ctrlKey && a(b.currentTarget).prev().focus() | |
| }, | |
| refresh: function() { | |
| var b, c, d = this.options.heightStyle, e = this.element.parent(); | |
| this.element.css("height", this.originalHeight), | |
| "fill" === d ? (a.support.minHeight || (c = e.css("overflow"), | |
| e.css("overflow", "hidden")), | |
| b = e.height(), | |
| this.element.siblings(":visible").each(function() { | |
| var c = a(this) | |
| , d = c.css("position"); | |
| "absolute" !== d && "fixed" !== d && (b -= c.outerHeight(!0)) | |
| }), | |
| c && e.css("overflow", c), | |
| this.headers.each(function() { | |
| b -= a(this).outerHeight(!0) | |
| }), | |
| this.headers.next().each(function() { | |
| a(this).height(Math.max(0, b - a(this).innerHeight() + a(this).height())) | |
| }).css("overflow", "auto")) : "auto" === d && (b = 0, | |
| this.headers.next().each(function() { | |
| b = Math.max(b, a(this).height("").height()) | |
| }).height(b)), | |
| "content" !== d && this.element.height(this.element.height()) | |
| }, | |
| _activate: function(b) { | |
| var c = this._findActive(b)[0]; | |
| c !== this.active[0] && (c = c || this.active[0], | |
| this._eventHandler({ | |
| target: c, | |
| currentTarget: c, | |
| preventDefault: a.noop | |
| })) | |
| }, | |
| _findActive: function(b) { | |
| return "number" == typeof b ? this.headers.eq(b) : a() | |
| }, | |
| _setupEvents: function(b) { | |
| var c = {}; | |
| b && (a.each(b.split(" "), function(a, b) { | |
| c[b] = "_eventHandler" | |
| }), | |
| this._on(this.headers, c)) | |
| }, | |
| _eventHandler: function(b) { | |
| var c = this.options | |
| , d = this.active | |
| , e = a(b.currentTarget) | |
| , f = e[0] === d[0] | |
| , g = f && c.collapsible | |
| , h = g ? a() : e.next() | |
| , i = d.next() | |
| , j = { | |
| oldHeader: d, | |
| oldPanel: i, | |
| newHeader: g ? a() : e, | |
| newPanel: h | |
| }; | |
| b.preventDefault(), | |
| f && !c.collapsible || this._trigger("beforeActivate", b, j) === !1 || (c.active = !g && this.headers.index(e), | |
| this.active = f ? a() : e, | |
| this._toggle(j), | |
| d.removeClass("ui-accordion-header-active ui-state-active"), | |
| c.icons && d.children(".ui-accordion-header-icon").removeClass(c.icons.activeHeader).addClass(c.icons.header), | |
| f || (e.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"), | |
| c.icons && e.children(".ui-accordion-header-icon").removeClass(c.icons.header).addClass(c.icons.activeHeader), | |
| e.next().addClass("ui-accordion-content-active"))) | |
| }, | |
| _toggle: function(b) { | |
| var c = b.newPanel | |
| , d = this.prevShow.length ? this.prevShow : b.oldPanel; | |
| this.prevShow.add(this.prevHide).stop(!0, !0), | |
| this.prevShow = c, | |
| this.prevHide = d, | |
| this.options.animate ? this._animate(c, d, b) : (d.hide(), | |
| c.show(), | |
| this._toggleComplete(b)), | |
| d.attr({ | |
| "aria-expanded": "false", | |
| "aria-hidden": "true" | |
| }), | |
| d.prev().attr("aria-selected", "false"), | |
| c.length && d.length ? d.prev().attr("tabIndex", -1) : c.length && this.headers.filter(function() { | |
| return 0 === a(this).attr("tabIndex") | |
| }).attr("tabIndex", -1), | |
| c.attr({ | |
| "aria-expanded": "true", | |
| "aria-hidden": "false" | |
| }).prev().attr({ | |
| "aria-selected": "true", | |
| tabIndex: 0 | |
| }) | |
| }, | |
| _animate: function(a, b, c) { | |
| var f, g, h, i = this, j = 0, k = a.length && (!b.length || a.index() < b.index()), l = this.options.animate || {}, m = k && l.down || l, n = function() { | |
| i._toggleComplete(c) | |
| }; | |
| return "number" == typeof m && (h = m), | |
| "string" == typeof m && (g = m), | |
| g = g || m.easing || l.easing, | |
| h = h || m.duration || l.duration, | |
| b.length ? a.length ? (f = a.show().outerHeight(), | |
| b.animate(d, { | |
| duration: h, | |
| easing: g, | |
| step: function(a, b) { | |
| b.now = Math.round(a) | |
| } | |
| }), | |
| void a.hide().animate(e, { | |
| duration: h, | |
| easing: g, | |
| complete: n, | |
| step: function(a, c) { | |
| c.now = Math.round(a), | |
| "height" !== c.prop ? j += c.now : "content" !== i.options.heightStyle && (c.now = Math.round(f - b.outerHeight() - j), | |
| j = 0) | |
| } | |
| })) : b.animate(d, h, g, n) : a.animate(e, h, g, n) | |
| }, | |
| _toggleComplete: function(a) { | |
| var b = a.oldPanel; | |
| b.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"), | |
| b.length && (b.parent()[0].className = b.parent()[0].className), | |
| this._trigger("activate", null, a) | |
| } | |
| }), | |
| a.uiBackCompat !== !1 && (!function(a, b) { | |
| a.extend(b.options, { | |
| navigation: !1, | |
| navigationFilter: function() { | |
| return this.href.toLowerCase() === location.href.toLowerCase() | |
| } | |
| }); | |
| var c = b._create; | |
| b._create = function() { | |
| if (this.options.navigation) { | |
| var b = this | |
| , d = this.element.find(this.options.header) | |
| , e = d.next() | |
| , f = d.add(e).find("a").filter(this.options.navigationFilter)[0]; | |
| f && d.add(e).each(function(c) { | |
| if (a.contains(this, f)) | |
| return b.options.active = Math.floor(c / 2), | |
| !1 | |
| }) | |
| } | |
| c.call(this) | |
| } | |
| }(jQuery, jQuery.ui.accordion.prototype), | |
| function(a, b) { | |
| a.extend(b.options, { | |
| heightStyle: null, | |
| autoHeight: !0, | |
| clearStyle: !1, | |
| fillSpace: !1 | |
| }); | |
| var c = b._create | |
| , d = b._setOption; | |
| a.extend(b, { | |
| _create: function() { | |
| this.options.heightStyle = this.options.heightStyle || this._mergeHeightStyle(), | |
| c.call(this) | |
| }, | |
| _setOption: function(a, b) { | |
| "autoHeight" !== a && "clearStyle" !== a && "fillSpace" !== a || (this.options.heightStyle = this._mergeHeightStyle()), | |
| d.apply(this, arguments) | |
| }, | |
| _mergeHeightStyle: function() { | |
| var a = this.options; | |
| return a.fillSpace ? "fill" : a.clearStyle ? "content" : a.autoHeight ? "auto" : void 0 | |
| } | |
| }) | |
| }(jQuery, jQuery.ui.accordion.prototype), | |
| function(a, b) { | |
| a.extend(b.options.icons, { | |
| activeHeader: null, | |
| headerSelected: "ui-icon-triangle-1-s" | |
| }); | |
| var c = b._createIcons; | |
| b._createIcons = function() { | |
| this.options.icons && (this.options.icons.activeHeader = this.options.icons.activeHeader || this.options.icons.headerSelected), | |
| c.call(this) | |
| } | |
| }(jQuery, jQuery.ui.accordion.prototype), | |
| function(a, b) { | |
| b.activate = b._activate; | |
| var c = b._findActive; | |
| b._findActive = function(a) { | |
| return a === -1 && (a = !1), | |
| a && "number" != typeof a && (a = this.headers.index(this.headers.filter(a)), | |
| a === -1 && (a = !1)), | |
| c.call(this, a) | |
| } | |
| }(jQuery, jQuery.ui.accordion.prototype), | |
| jQuery.ui.accordion.prototype.resize = jQuery.ui.accordion.prototype.refresh, | |
| function(a, b) { | |
| a.extend(b.options, { | |
| change: null, | |
| changestart: null | |
| }); | |
| var c = b._trigger; | |
| b._trigger = function(a, b, d) { | |
| var e = c.apply(this, arguments); | |
| return !!e && ("beforeActivate" === a ? e = c.call(this, "changestart", b, { | |
| oldHeader: d.oldHeader, | |
| oldContent: d.oldPanel, | |
| newHeader: d.newHeader, | |
| newContent: d.newPanel | |
| }) : "activate" === a && (e = c.call(this, "change", b, { | |
| oldHeader: d.oldHeader, | |
| oldContent: d.oldPanel, | |
| newHeader: d.newHeader, | |
| newContent: d.newPanel | |
| })), | |
| e) | |
| } | |
| }(jQuery, jQuery.ui.accordion.prototype), | |
| function(a, b) { | |
| a.extend(b.options, { | |
| animate: null, | |
| animated: "slide" | |
| }); | |
| var c = b._create; | |
| b._create = function() { | |
| var a = this.options; | |
| null === a.animate && (a.animated ? "slide" === a.animated ? a.animate = 300 : "bounceslide" === a.animated ? a.animate = { | |
| duration: 200, | |
| down: { | |
| easing: "easeOutBounce", | |
| duration: 1e3 | |
| } | |
| } : a.animate = a.animated : a.animate = !1), | |
| c.call(this) | |
| } | |
| }(jQuery, jQuery.ui.accordion.prototype)) | |
| }(jQuery), | |
| function(a, b) { | |
| var c = 0; | |
| a.widget("ui.autocomplete", { | |
| version: "1.9.0", | |
| defaultElement: "<input>", | |
| options: { | |
| appendTo: "body", | |
| autoFocus: !1, | |
| delay: 300, | |
| minLength: 1, | |
| position: { | |
| my: "left top", | |
| at: "left bottom", | |
| collision: "none" | |
| }, | |
| source: null, | |
| change: null, | |
| close: null, | |
| focus: null, | |
| open: null, | |
| response: null, | |
| search: null, | |
| select: null | |
| }, | |
| pending: 0, | |
| _create: function() { | |
| var b, c, d; | |
| this.isMultiLine = this._isMultiLine(), | |
| this.valueMethod = this.element[this.element.is("input,textarea") ? "val" : "text"], | |
| this.isNewMenu = !0, | |
| this.element.addClass("ui-autocomplete-input").attr("autocomplete", "off"), | |
| this._on({ | |
| keydown: function(e) { | |
| if (this.element.prop("readOnly")) | |
| return b = !0, | |
| d = !0, | |
| void (c = !0); | |
| b = !1, | |
| d = !1, | |
| c = !1; | |
| var f = a.ui.keyCode; | |
| switch (e.keyCode) { | |
| case f.PAGE_UP: | |
| b = !0, | |
| this._move("a6C", e); | |
| break; | |
| case f.PAGE_DOWN: | |
| b = !0, | |
| this._move("a6d", e); | |
| break; | |
| case f.UP: | |
| b = !0, | |
| this._keyEvent("previous", e); | |
| break; | |
| case f.DOWN: | |
| b = !0, | |
| this._keyEvent("next", e); | |
| break; | |
| case f.ENTER: | |
| case f.NUMPAD_ENTER: | |
| this.menu.active && (b = !0, | |
| e.preventDefault(), | |
| this.menu.select(e)); | |
| break; | |
| case f.TAB: | |
| this.menu.active && this.menu.select(e); | |
| break; | |
| case f.ESCAPE: | |
| this.menu.element.is(":visible") && (this._value(this.term), | |
| this.close(e), | |
| e.preventDefault()); | |
| break; | |
| default: | |
| c = !0, | |
| this._searchTimeout(e) | |
| } | |
| }, | |
| keypress: function(d) { | |
| if (b) | |
| return b = !1, | |
| void d.preventDefault(); | |
| if (!c) { | |
| var e = a.ui.keyCode; | |
| switch (d.keyCode) { | |
| case e.PAGE_UP: | |
| this._move("a6C", d); | |
| break; | |
| case e.PAGE_DOWN: | |
| this._move("a6d", d); | |
| break; | |
| case e.UP: | |
| this._keyEvent("previous", d); | |
| break; | |
| case e.DOWN: | |
| this._keyEvent("next", d) | |
| } | |
| } | |
| }, | |
| input: function(a) { | |
| return d ? (d = !1, | |
| void a.preventDefault()) : void this._searchTimeout(a) | |
| }, | |
| focus: function() { | |
| this.selectedItem = null, | |
| this.previous = this._value() | |
| }, | |
| blur: function(a) { | |
| return this.cancelBlur ? void delete this.cancelBlur : (clearTimeout(this.searching), | |
| this.close(a), | |
| void this._change(a)) | |
| } | |
| }), | |
| this._initSource(), | |
| this.menu = a("<ul>").addClass("ui-autocomplete").appendTo(this.document.find(this.options.appendTo || "body")[0]).menu({ | |
| input: a(), | |
| role: null | |
| }).zIndex(this.element.zIndex() + 1).hide().data("menu"), | |
| this._on(this.menu.element, { | |
| mousedown: function(b) { | |
| b.preventDefault(), | |
| this.cancelBlur = !0, | |
| this._delay(function() { | |
| delete this.cancelBlur | |
| }); | |
| var c = this.menu.element[0]; | |
| a(b.target).closest(".ui-menu-item").length || this._delay(function() { | |
| var b = this; | |
| this.document.one("mousedown", function(d) { | |
| d.target === b.element[0] || d.target === c || a.contains(c, d.target) || b.close() | |
| }) | |
| }) | |
| }, | |
| menufocus: function(b, c) { | |
| if (this.isNewMenu && (this.isNewMenu = !1, | |
| b.originalEvent && /^mouse/.test(b.originalEvent.type))) | |
| return this.menu.blur(), | |
| void this.document.one("mousemove", function() { | |
| a(b.target).trigger(b.originalEvent) | |
| }); | |
| var d = c.item.data("ui-autocomplete-item") || c.item.data("item.autocomplete"); | |
| !1 !== this._trigger("focus", b, { | |
| item: d | |
| }) ? b.originalEvent && /^key/.test(b.originalEvent.type) && this._value(d.value) : this.liveRegion.text(d.value) | |
| }, | |
| menuselect: function(a, b) { | |
| var c = b.item.data("ui-autocomplete-item") || b.item.data("item.autocomplete") | |
| , d = this.previous; | |
| this.element[0] !== this.document[0].activeElement && (this.element.focus(), | |
| this.previous = d, | |
| this._delay(function() { | |
| this.previous = d, | |
| this.selectedItem = c | |
| })), | |
| !1 !== this._trigger("select", a, { | |
| item: c | |
| }) && this._value(c.value), | |
| this.term = this._value(), | |
| this.close(a), | |
| this.selectedItem = c | |
| } | |
| }), | |
| this.liveRegion = a("<span>", { | |
| role: "status", | |
| "aria-live": "polite" | |
| }).addClass("ui-helper-hidden-accessible").insertAfter(this.element), | |
| a.fn.bgiframe && this.menu.element.bgiframe(), | |
| this._on(this.window, { | |
| beforeunload: function() { | |
| this.element.removeAttr("autocomplete") | |
| } | |
| }) | |
| }, | |
| _destroy: function() { | |
| clearTimeout(this.searching), | |
| this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"), | |
| this.menu.element.remove(), | |
| this.liveRegion.remove() | |
| }, | |
| _setOption: function(a, b) { | |
| this._super(a, b), | |
| "source" === a && this._initSource(), | |
| "appendTo" === a && this.menu.element.appendTo(this.document.find(b || "body")[0]), | |
| "disabled" === a && b && this.xhr && this.xhr.abort() | |
| }, | |
| _isMultiLine: function() { | |
| return !!this.element.is("textarea") || !this.element.is("input") && this.element.prop("isContentEditable") | |
| }, | |
| _initSource: function() { | |
| var b, c, d = this; | |
| a.isArray(this.options.source) ? (b = this.options.source, | |
| this.source = function(c, d) { | |
| d(a.ui.autocomplete.filter(b, c.term)) | |
| } | |
| ) : "string" == typeof this.options.source ? (c = this.options.source, | |
| this.source = function(b, e) { | |
| d.xhr && d.xhr.abort(), | |
| d.xhr = a.ajax({ | |
| url: c, | |
| data: b, | |
| dataType: "json", | |
| success: function(a, b) { | |
| e(a) | |
| }, | |
| error: function() { | |
| e([]) | |
| } | |
| }) | |
| } | |
| ) : this.source = this.options.source | |
| }, | |
| _searchTimeout: function(a) { | |
| clearTimeout(this.searching), | |
| this.searching = this._delay(function() { | |
| this.term !== this._value() && (this.selectedItem = null, | |
| this.search(null, a)) | |
| }, this.options.delay) | |
| }, | |
| search: function(a, b) { | |
| return a = null != a ? a : this._value(), | |
| this.term = this._value(), | |
| a.length < this.options.minLength ? this.close(b) : this._trigger("search", b) !== !1 ? this._search(a) : void 0 | |
| }, | |
| _search: function(a) { | |
| this.pending++, | |
| this.element.addClass("ui-autocomplete-loading"), | |
| this.cancelSearch = !1, | |
| this.source({ | |
| term: a | |
| }, this._response()) | |
| }, | |
| _response: function() { | |
| var a = this | |
| , b = ++c; | |
| return function(d) { | |
| b === c && a.__response(d), | |
| a.pending--, | |
| a.pending || a.element.removeClass("ui-autocomplete-loading") | |
| } | |
| }, | |
| __response: function(a) { | |
| a && (a = this._normalize(a)), | |
| this._trigger("response", null, { | |
| content: a | |
| }), | |
| !this.options.disabled && a && a.length && !this.cancelSearch ? (this._suggest(a), | |
| this._trigger("open")) : this._close() | |
| }, | |
| close: function(a) { | |
| this.cancelSearch = !0, | |
| this._close(a) | |
| }, | |
| _close: function(a) { | |
| this.menu.element.is(":visible") && (this.menu.element.hide(), | |
| this.menu.blur(), | |
| this.isNewMenu = !0, | |
| this._trigger("close", a)) | |
| }, | |
| _change: function(a) { | |
| this.previous !== this._value() && this._trigger("change", a, { | |
| item: this.selectedItem | |
| }) | |
| }, | |
| _normalize: function(b) { | |
| return b.length && b[0].label && b[0].value ? b : a.map(b, function(b) { | |
| return "string" == typeof b ? { | |
| label: b, | |
| value: b | |
| } : a.extend({ | |
| label: b.label || b.value, | |
| value: b.value || b.label | |
| }, b) | |
| }) | |
| }, | |
| _suggest: function(b) { | |
| var c = this.menu.element.empty().zIndex(this.element.zIndex() + 1); | |
| this._renderMenu(c, b), | |
| this.menu.refresh(), | |
| c.show(), | |
| this._resizeMenu(), | |
| c.position(a.extend({ | |
| of: this.element | |
| }, this.options.position)), | |
| this.options.autoFocus && this.menu.next() | |
| }, | |
| _resizeMenu: function() { | |
| var a = this.menu.element; | |
| a.outerWidth(Math.max(a.width("").outerWidth() + 1, this.element.outerWidth())) | |
| }, | |
| _renderMenu: function(b, c) { | |
| var d = this; | |
| a.each(c, function(a, c) { | |
| d._renderItemData(b, c) | |
| }) | |
| }, | |
| _renderItemData: function(a, b) { | |
| return this._renderItem(a, b).data("ui-autocomplete-item", b) | |
| }, | |
| _renderItem: function(b, c) { | |
| return a("<li>").append(a("<a>").text(c.label)).appendTo(b) | |
| }, | |
| _move: function(a, b) { | |
| return this.menu.element.is(":visible") ? this.menu.isFirstItem() && /^previous/.test(a) || this.menu.isLastItem() && /^next/.test(a) ? (this._value(this.term), | |
| void this.menu.blur()) : void this.menu[a](b) : void this.search(null, b) | |
| }, | |
| widget: function() { | |
| return this.menu.element | |
| }, | |
| _value: function(a) { | |
| return this.valueMethod.apply(this.element, arguments) | |
| }, | |
| _keyEvent: function(a, b) { | |
| this.isMultiLine && !this.menu.element.is(":visible") || (this._move(a, b), | |
| b.preventDefault()) | |
| } | |
| }), | |
| a.extend(a.ui.autocomplete, { | |
| escapeRegex: function(a) { | |
| return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&") | |
| }, | |
| filter: function(b, c) { | |
| var d = new RegExp(a.ui.autocomplete.escapeRegex(c),"i"); | |
| return a.grep(b, function(a) { | |
| return d.test(a.label || a.value || a) | |
| }) | |
| } | |
| }), | |
| a.widget("ui.autocomplete", a.ui.autocomplete, { | |
| options: { | |
| messages: { | |
| noResults: "No search results.", | |
| results: function(a) { | |
| return a + (a > 1 ? " results are" : " result is") + " available, use up and down arrow keys to navigate." | |
| } | |
| } | |
| }, | |
| __response: function(a) { | |
| var b; | |
| this._superApply(arguments), | |
| this.options.disabled || this.cancelSearch || (b = a && a.length ? this.options.messages.results(a.length) : this.options.messages.noResults, | |
| this.liveRegion.text(b)) | |
| } | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| var c, d, e, f, g = "ui-button ui-widget ui-state-default ui-corner-all", h = "ui-state-hover ui-state-active ", i = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only", j = function() { | |
| var b = a(this).find(":ui-button"); | |
| setTimeout(function() { | |
| b.button("refresh") | |
| }, 1) | |
| }, k = function(b) { | |
| var c = b.name | |
| , d = b.form | |
| , e = a([]); | |
| return c && (e = d ? a(d).find("[name='" + c + "']") : a("[name='" + c + "']", b.ownerDocument).filter(function() { | |
| return !this.form | |
| })), | |
| e | |
| }; | |
| a.widget("ui.button", { | |
| version: "1.9.0", | |
| defaultElement: "<button>", | |
| options: { | |
| disabled: null, | |
| text: !0, | |
| label: null, | |
| icons: { | |
| primary: null, | |
| secondary: null | |
| } | |
| }, | |
| _create: function() { | |
| this.element.closest("form").unbind("reset" + this.eventNamespace).bind("reset" + this.eventNamespace, j), | |
| "boolean" != typeof this.options.disabled ? this.options.disabled = !!this.element.prop("disabled") : this.element.prop("disabled", this.options.disabled), | |
| this._determineButtonType(), | |
| this.hasTitle = !!this.buttonElement.attr("title"); | |
| var b = this | |
| , h = this.options | |
| , i = "checkbox" === this.type || "radio" === this.type | |
| , l = "ui-state-hover" + (i ? "" : " ui-state-active") | |
| , m = "ui-state-focus"; | |
| null === h.label && (h.label = "input" === this.type ? this.buttonElement.val() : this.buttonElement.html()), | |
| this.buttonElement.addClass(g).attr("role", "button").bind("mouseenter" + this.eventNamespace, function() { | |
| h.disabled || (a(this).addClass("ui-state-hover"), | |
| this === c && a(this).addClass("ui-state-active")) | |
| }).bind("mouseleave" + this.eventNamespace, function() { | |
| h.disabled || a(this).removeClass(l) | |
| }).bind("click" + this.eventNamespace, function(a) { | |
| h.disabled && (a.preventDefault(), | |
| a.stopImmediatePropagation()) | |
| }), | |
| this.element.bind("focus" + this.eventNamespace, function() { | |
| b.buttonElement.addClass(m) | |
| }).bind("blur" + this.eventNamespace, function() { | |
| b.buttonElement.removeClass(m) | |
| }), | |
| i && (this.element.bind("change" + this.eventNamespace, function() { | |
| f || b.refresh() | |
| }), | |
| this.buttonElement.bind("mousedown" + this.eventNamespace, function(a) { | |
| h.disabled || (f = !1, | |
| d = a.pageX, | |
| e = a.pageY) | |
| }).bind("mouseup" + this.eventNamespace, function(a) { | |
| h.disabled || d !== a.pageX || e !== a.pageY | |
| })), | |
| "checkbox" === this.type ? this.buttonElement.bind("click" + this.eventNamespace, function() { | |
| return !h.disabled && !f && (a(this).toggleClass("ui-state-active"), | |
| void b.buttonElement.attr("aria-pressed", b.element[0].checked)) | |
| }) : "radio" === this.type ? this.buttonElement.bind("click" + this.eventNamespace, function() { | |
| if (h.disabled || f) | |
| return !1; | |
| a(this).addClass("ui-state-active"), | |
| b.buttonElement.attr("aria-pressed", "true"); | |
| var c = b.element[0]; | |
| k(c).not(c).map(function() { | |
| return a(this).button("widget")[0] | |
| }).removeClass("ui-state-active").attr("aria-pressed", "false") | |
| }) : (this.buttonElement.bind("mousedown" + this.eventNamespace, function() { | |
| return !h.disabled && (a(this).addClass("ui-state-active"), | |
| c = this, | |
| void b.document.one("mouseup", function() { | |
| c = null | |
| })) | |
| }).bind("mouseup" + this.eventNamespace, function() { | |
| return !h.disabled && void a(this).removeClass("ui-state-active") | |
| }).bind("keydown" + this.eventNamespace, function(b) { | |
| return !h.disabled && void (b.keyCode !== a.ui.keyCode.SPACE && b.keyCode !== a.ui.keyCode.ENTER || a(this).addClass("ui-state-active")) | |
| }).bind("keyup" + this.eventNamespace, function() { | |
| a(this).removeClass("ui-state-active") | |
| }), | |
| this.buttonElement.is("a") && this.buttonElement.keyup(function(b) { | |
| b.keyCode === a.ui.keyCode.SPACE && a(this).click() | |
| })), | |
| this._setOption("disabled", h.disabled), | |
| this._resetButton() | |
| }, | |
| _determineButtonType: function() { | |
| var a, b, c; | |
| this.element.is("[type=checkbox]") ? this.type = "checkbox" : this.element.is("[type=radio]") ? this.type = "radio" : this.element.is("input") ? this.type = "input" : this.type = "button", | |
| "checkbox" === this.type || "radio" === this.type ? (a = this.element.parents().last(), | |
| b = "label[for='" + this.element.attr("id") + "']", | |
| this.buttonElement = a.find(b), | |
| this.buttonElement.length || (a = a.length ? a.siblings() : this.element.siblings(), | |
| this.buttonElement = a.filter(b), | |
| this.buttonElement.length || (this.buttonElement = a.find(b))), | |
| this.element.addClass("ui-helper-hidden-accessible"), | |
| c = this.element.is(":checked"), | |
| c && this.buttonElement.addClass("ui-state-active"), | |
| this.buttonElement.prop("aria-pressed", c)) : this.buttonElement = this.element | |
| }, | |
| widget: function() { | |
| return this.buttonElement | |
| }, | |
| _destroy: function() { | |
| this.element.removeClass("ui-helper-hidden-accessible"), | |
| this.buttonElement.removeClass(g + " " + h + " " + i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()), | |
| this.hasTitle || this.buttonElement.removeAttr("title") | |
| }, | |
| _setOption: function(a, b) { | |
| return this._super(a, b), | |
| "disabled" === a ? void (b ? this.element.prop("disabled", !0) : this.element.prop("disabled", !1)) : void this._resetButton() | |
| }, | |
| refresh: function() { | |
| var b = this.element.is(":disabled"); | |
| b !== this.options.disabled && this._setOption("disabled", b), | |
| "radio" === this.type ? k(this.element[0]).each(function() { | |
| a(this).is(":checked") ? a(this).button("widget").addClass("ui-state-active").attr("aria-pressed", "true") : a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed", "false") | |
| }) : "checkbox" === this.type && (this.element.is(":checked") ? this.buttonElement.addClass("ui-state-active").attr("aria-pressed", "true") : this.buttonElement.removeClass("ui-state-active").attr("aria-pressed", "false")) | |
| }, | |
| _resetButton: function() { | |
| if ("input" === this.type) | |
| return void (this.options.label && this.element.val(this.options.label)); | |
| var b = this.buttonElement.removeClass(i) | |
| , c = a("<span></span>", this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text() | |
| , d = this.options.icons | |
| , e = d.primary && d.secondary | |
| , f = []; | |
| d.primary || d.secondary ? (this.options.text && f.push("ui-button-text-icon" + (e ? "s" : d.primary ? "-primary" : "-secondary")), | |
| d.primary && b.prepend("<span class='ui-button-icon-primary ui-icon " + d.primary + "'></span>"), | |
| d.secondary && b.append("<span class='ui-button-icon-secondary ui-icon " + d.secondary + "'></span>"), | |
| this.options.text || (f.push(e ? "ui-button-icons-only" : "ui-button-icon-only"), | |
| this.hasTitle || b.attr("title", a.trim(c)))) : f.push("ui-button-text-only"), | |
| b.addClass(f.join(" ")) | |
| } | |
| }), | |
| a.widget("ui.buttonset", { | |
| version: "1.9.0", | |
| options: { | |
| items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(button)" | |
| }, | |
| _create: function() { | |
| this.element.addClass("ui-buttonset") | |
| }, | |
| _init: function() { | |
| this.refresh() | |
| }, | |
| _setOption: function(a, b) { | |
| "disabled" === a && this.buttons.button("option", a, b), | |
| this._super(a, b) | |
| }, | |
| refresh: function() { | |
| var b = "rtl" === this.element.css("direction"); | |
| this.buttons = this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function() { | |
| return a(this).button("widget")[0] | |
| }).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b ? "ui-corner-right" : "ui-corner-left").end().filter(":last").addClass(b ? "ui-corner-left" : "ui-corner-right").end().end() | |
| }, | |
| _destroy: function() { | |
| this.element.removeClass("ui-buttonset"), | |
| this.buttons.map(function() { | |
| return a(this).button("widget")[0] | |
| }).removeClass("ui-corner-left ui-corner-right").end().button("destroy") | |
| } | |
| }) | |
| }(jQuery), | |
| function($, undefined) { | |
| function Datepicker() { | |
| this.debug = !1, | |
| this._curInst = null, | |
| this._keyEvent = !1, | |
| this._disabledInputs = [], | |
| this._datepickerShowing = !1, | |
| this._inDialog = !1, | |
| this._mainDivId = "ui-datepicker-div", | |
| this._inlineClass = "ui-datepicker-inline", | |
| this._appendClass = "ui-datepicker-append", | |
| this._triggerClass = "ui-datepicker-trigger", | |
| this._dialogClass = "ui-datepicker-dialog", | |
| this._disableClass = "ui-datepicker-disabled", | |
| this._unselectableClass = "ui-datepicker-unselectable", | |
| this._currentClass = "ui-datepicker-current-day", | |
| this._dayOverClass = "ui-datepicker-days-cell-over", | |
| this.regional = [], | |
| this.regional[""] = { | |
| closeText: "Done", | |
| prevText: "Prev", | |
| nextText: "Next", | |
| currentText: "Today", | |
| monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], | |
| monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], | |
| dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], | |
| dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], | |
| dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], | |
| weekHeader: "Wk", | |
| dateFormat: "mm/dd/yy", | |
| firstDay: 0, | |
| isRTL: !1, | |
| showMonthAfterYear: !1, | |
| yearSuffix: "" | |
| }, | |
| this._defaults = { | |
| showOn: "focus", | |
| showAnim: "fadeIn", | |
| showOptions: {}, | |
| defaultDate: null, | |
| appendText: "", | |
| buttonText: "...", | |
| buttonImage: "", | |
| buttonImageOnly: !1, | |
| hideIfNoPrevNext: !1, | |
| navigationAsDateFormat: !1, | |
| gotoCurrent: !1, | |
| changeMonth: !1, | |
| changeYear: !1, | |
| yearRange: "c-10:c+10", | |
| showOtherMonths: !1, | |
| selectOtherMonths: !1, | |
| showWeek: !1, | |
| calculateWeek: this.iso8601Week, | |
| shortYearCutoff: "+10", | |
| minDate: null, | |
| maxDate: null, | |
| duration: "fast", | |
| beforeShowDay: null, | |
| beforeShow: null, | |
| onSelect: null, | |
| onChangeMonthYear: null, | |
| onClose: null, | |
| numberOfMonths: 1, | |
| showCurrentAtPos: 0, | |
| stepMonths: 1, | |
| stepBigMonths: 12, | |
| altField: "", | |
| altFormat: "", | |
| constrainInput: !0, | |
| showButtonPanel: !1, | |
| autoSize: !1, | |
| disabled: !1 | |
| }, | |
| $.extend(this._defaults, this.regional[""]), | |
| this.dpDiv = bindHover($('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')) | |
| } | |
| function bindHover(a) { | |
| var b = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; | |
| return a.delegate(b, "mouseout", function() { | |
| $(this).removeClass("ui-state-hover"), | |
| this.className.indexOf("ui-datepicker-prev") != -1 && $(this).removeClass("ui-datepicker-prev-hover"), | |
| this.className.indexOf("ui-datepicker-next") != -1 && $(this).removeClass("ui-datepicker-next-hover") | |
| }).delegate(b, "mouseover", function() { | |
| $.datepicker._isDisabledDatepicker(instActive.inline ? a.parent()[0] : instActive.input[0]) || ($(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"), | |
| $(this).addClass("ui-state-hover"), | |
| this.className.indexOf("ui-datepicker-prev") != -1 && $(this).addClass("ui-datepicker-prev-hover"), | |
| this.className.indexOf("ui-datepicker-next") != -1 && $(this).addClass("ui-datepicker-next-hover")) | |
| }) | |
| } | |
| function extendRemove(a, b) { | |
| $.extend(a, b); | |
| for (var c in b) | |
| null != b[c] && b[c] != undefined || (a[c] = b[c]); | |
| return a | |
| } | |
| $.extend($.ui, { | |
| datepicker: { | |
| version: "1.9.0" | |
| } | |
| }); | |
| var PROP_NAME = "datepicker", dpuuid = (new Date).getTime(), instActive; | |
| $.extend(Datepicker.prototype, { | |
| markerClassName: "hasDatepicker", | |
| maxRows: 4, | |
| log: function() { | |
| this.debug && console.log.apply("", arguments) | |
| }, | |
| _widgetDatepicker: function() { | |
| return this.dpDiv | |
| }, | |
| setDefaults: function(a) { | |
| return extendRemove(this._defaults, a || {}), | |
| this | |
| }, | |
| _attachDatepicker: function(target, settings) { | |
| var inlineSettings = null; | |
| for (var attrName in this._defaults) { | |
| var attrValue = target.getAttribute("date:" + attrName); | |
| if (attrValue) { | |
| inlineSettings = inlineSettings || {}; | |
| try { | |
| inlineSettings[attrName] = eval(attrValue) | |
| } catch (err) { | |
| inlineSettings[attrName] = attrValue | |
| } | |
| } | |
| } | |
| var nodeName = target.nodeName.toLowerCase() | |
| , inline = "div" == nodeName || "span" == nodeName; | |
| target.id || (this.uuid += 1, | |
| target.id = "dp" + this.uuid); | |
| var inst = this._newInst($(target), inline); | |
| inst.settings = $.extend({}, settings || {}, inlineSettings || {}), | |
| "input" == nodeName ? this._connectDatepicker(target, inst) : inline && this._inlineDatepicker(target, inst) | |
| }, | |
| _newInst: function(a, b) { | |
| var c = a[0].id.replace(/([^A-Za-z0-9_-])/g, "\\\\$1"); | |
| return { | |
| id: c, | |
| input: a, | |
| selectedDay: 0, | |
| selectedMonth: 0, | |
| selectedYear: 0, | |
| drawMonth: 0, | |
| drawYear: 0, | |
| inline: b, | |
| dpDiv: b ? bindHover($('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')) : this.dpDiv | |
| } | |
| }, | |
| _connectDatepicker: function(a, b) { | |
| var c = $(a); | |
| b.append = $([]), | |
| b.trigger = $([]), | |
| c.hasClass(this.markerClassName) || (this._attachments(c, b), | |
| c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", function(a, c, d) { | |
| b.settings[c] = d | |
| }).bind("getData.datepicker", function(a, c) { | |
| return this._get(b, c) | |
| }), | |
| this._autoSize(b), | |
| $.data(a, PROP_NAME, b), | |
| b.settings.disabled && this._disableDatepicker(a)) | |
| }, | |
| _attachments: function(a, b) { | |
| var c = this._get(b, "appendText") | |
| , d = this._get(b, "isRTL"); | |
| b.append && b.append.remove(), | |
| c && (b.append = $('<span class="' + this._appendClass + '">' + c + "</span>"), | |
| a[d ? "before" : "after"](b.append)), | |
| a.unbind("focus", this._showDatepicker), | |
| b.trigger && b.trigger.remove(); | |
| var e = this._get(b, "showOn"); | |
| if ("focus" != e && "both" != e || a.focus(this._showDatepicker), | |
| "button" == e || "both" == e) { | |
| var f = this._get(b, "buttonText") | |
| , g = this._get(b, "buttonImage"); | |
| b.trigger = $(this._get(b, "buttonImageOnly") ? $("<img/>").addClass(this._triggerClass).attr({ | |
| src: g, | |
| alt: f, | |
| title: f | |
| }) : $('<button type="button"></button>').addClass(this._triggerClass).html("" == g ? f : $("<img/>").attr({ | |
| src: g, | |
| alt: f, | |
| title: f | |
| }))), | |
| a[d ? "before" : "after"](b.trigger), | |
| b.trigger.click(function() { | |
| return $.datepicker._datepickerShowing && $.datepicker._lastInput == a[0] ? $.datepicker._hideDatepicker() : $.datepicker._datepickerShowing && $.datepicker._lastInput != a[0] ? ($.datepicker._hideDatepicker(), | |
| $.datepicker._showDatepicker(a[0])) : $.datepicker._showDatepicker(a[0]), | |
| !1 | |
| }) | |
| } | |
| }, | |
| _autoSize: function(a) { | |
| if (this._get(a, "autoSize") && !a.inline) { | |
| var b = new Date(2009,11,20) | |
| , c = this._get(a, "dateFormat"); | |
| if (c.match(/[DM]/)) { | |
| var d = function(a) { | |
| for (var b = 0, c = 0, d = 0; d < a.length; d++) | |
| a[d].length > b && (b = a[d].length, | |
| c = d); | |
| return c | |
| }; | |
| b.setMonth(d(this._get(a, c.match(/MM/) ? "monthNames" : "monthNamesShort"))), | |
| b.setDate(d(this._get(a, c.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - b.getDay()) | |
| } | |
| a.input.attr("size", this._formatDate(a, b).length) | |
| } | |
| }, | |
| _inlineDatepicker: function(a, b) { | |
| var c = $(a); | |
| c.hasClass(this.markerClassName) || (c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker", function(a, c, d) { | |
| b.settings[c] = d | |
| }).bind("getData.datepicker", function(a, c) { | |
| return this._get(b, c) | |
| }), | |
| $.data(a, PROP_NAME, b), | |
| this._setDate(b, this._getDefaultDate(b), !0), | |
| this._updateDatepicker(b), | |
| this._updateAlternate(b), | |
| b.settings.disabled && this._disableDatepicker(a), | |
| b.dpDiv.css("display", "block")) | |
| }, | |
| _dialogDatepicker: function(a, b, c, d, e) { | |
| var f = this._dialogInst; | |
| if (!f) { | |
| this.uuid += 1; | |
| var g = "dp" + this.uuid; | |
| this._dialogInput = $('<input type="text" id="' + g + '" style="position: absolute; top: -100px; width: 0px;"/>'), | |
| this._dialogInput.keydown(this._doKeyDown), | |
| $("body").append(this._dialogInput), | |
| f = this._dialogInst = this._newInst(this._dialogInput, !1), | |
| f.settings = {}, | |
| $.data(this._dialogInput[0], PROP_NAME, f) | |
| } | |
| if (extendRemove(f.settings, d || {}), | |
| b = b && b.constructor == Date ? this._formatDate(f, b) : b, | |
| this._dialogInput.val(b), | |
| this._pos = e ? e.length ? e : [e.pageX, e.pageY] : null, | |
| !this._pos) { | |
| var h = document.documentElement.clientWidth | |
| , i = document.documentElement.clientHeight | |
| , j = document.documentElement.scrollLeft || document.body.scrollLeft | |
| , k = document.documentElement.scrollTop || document.body.scrollTop; | |
| this._pos = [h / 2 - 100 + j, i / 2 - 150 + k] | |
| } | |
| return this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"), | |
| f.settings.onSelect = c, | |
| this._inDialog = !0, | |
| this.dpDiv.addClass(this._dialogClass), | |
| this._showDatepicker(this._dialogInput[0]), | |
| $.blockUI && $.blockUI(this.dpDiv), | |
| $.data(this._dialogInput[0], PROP_NAME, f), | |
| this | |
| }, | |
| _destroyDatepicker: function(a) { | |
| var b = $(a) | |
| , c = $.data(a, PROP_NAME); | |
| if (b.hasClass(this.markerClassName)) { | |
| var d = a.nodeName.toLowerCase(); | |
| $.removeData(a, PROP_NAME), | |
| "input" == d ? (c.append.remove(), | |
| c.trigger.remove(), | |
| b.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup", this._doKeyUp)) : "div" != d && "span" != d || b.removeClass(this.markerClassName).empty() | |
| } | |
| }, | |
| _enableDatepicker: function(a) { | |
| var b = $(a) | |
| , c = $.data(a, PROP_NAME); | |
| if (b.hasClass(this.markerClassName)) { | |
| var d = a.nodeName.toLowerCase(); | |
| if ("input" == d) | |
| a.disabled = !1, | |
| c.trigger.filter("button").each(function() { | |
| this.disabled = !1 | |
| }).end().filter("img").css({ | |
| opacity: "1.0", | |
| cursor: "" | |
| }); | |
| else if ("div" == d || "span" == d) { | |
| var e = b.children("." + this._inlineClass); | |
| e.children().removeClass("ui-state-disabled"), | |
| e.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !1) | |
| } | |
| this._disabledInputs = $.map(this._disabledInputs, function(b) { | |
| return b == a ? null : b | |
| }) | |
| } | |
| }, | |
| _disableDatepicker: function(a) { | |
| var b = $(a) | |
| , c = $.data(a, PROP_NAME); | |
| if (b.hasClass(this.markerClassName)) { | |
| var d = a.nodeName.toLowerCase(); | |
| if ("input" == d) | |
| a.disabled = !0, | |
| c.trigger.filter("button").each(function() { | |
| this.disabled = !0 | |
| }).end().filter("img").css({ | |
| opacity: "0.5", | |
| cursor: "default" | |
| }); | |
| else if ("div" == d || "span" == d) { | |
| var e = b.children("." + this._inlineClass); | |
| e.children().addClass("ui-state-disabled"), | |
| e.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !0) | |
| } | |
| this._disabledInputs = $.map(this._disabledInputs, function(b) { | |
| return b == a ? null : b | |
| }), | |
| this._disabledInputs[this._disabledInputs.length] = a | |
| } | |
| }, | |
| _isDisabledDatepicker: function(a) { | |
| if (!a) | |
| return !1; | |
| for (var b = 0; b < this._disabledInputs.length; b++) | |
| if (this._disabledInputs[b] == a) | |
| return !0; | |
| return !1 | |
| }, | |
| _getInst: function(a) { | |
| try { | |
| return $.data(a, PROP_NAME) | |
| } catch (b) { | |
| throw "Missing instance data for this datepicker" | |
| } | |
| }, | |
| _optionDatepicker: function(a, b, c) { | |
| var d = this._getInst(a); | |
| if (2 == arguments.length && "string" == typeof b) | |
| return "defaults" == b ? $.extend({}, $.datepicker._defaults) : d ? "all" == b ? $.extend({}, d.settings) : this._get(d, b) : null; | |
| var e = b || {}; | |
| if ("string" == typeof b && (e = {}, | |
| e[b] = c), | |
| d) { | |
| this._curInst == d && this._hideDatepicker(); | |
| var f = this._getDateDatepicker(a, !0) | |
| , g = this._getMinMaxDate(d, "min") | |
| , h = this._getMinMaxDate(d, "max"); | |
| extendRemove(d.settings, e), | |
| null !== g && e.dateFormat !== undefined && e.minDate === undefined && (d.settings.minDate = this._formatDate(d, g)), | |
| null !== h && e.dateFormat !== undefined && e.maxDate === undefined && (d.settings.maxDate = this._formatDate(d, h)), | |
| this._attachments($(a), d), | |
| this._autoSize(d), | |
| this._setDate(d, f), | |
| this._updateAlternate(d), | |
| this._updateDatepicker(d) | |
| } | |
| }, | |
| _changeDatepicker: function(a, b, c) { | |
| this._optionDatepicker(a, b, c) | |
| }, | |
| _refreshDatepicker: function(a) { | |
| var b = this._getInst(a); | |
| b && this._updateDatepicker(b) | |
| }, | |
| _setDateDatepicker: function(a, b) { | |
| var c = this._getInst(a); | |
| c && (this._setDate(c, b), | |
| this._updateDatepicker(c), | |
| this._updateAlternate(c)) | |
| }, | |
| _getDateDatepicker: function(a, b) { | |
| var c = this._getInst(a); | |
| return c && !c.inline && this._setDateFromField(c, b), | |
| c ? this._getDate(c) : null | |
| }, | |
| _doKeyDown: function(a) { | |
| var b = $.datepicker._getInst(a.target) | |
| , c = !0 | |
| , d = b.dpDiv.is(".ui-datepicker-rtl"); | |
| if (b._keyEvent = !0, | |
| $.datepicker._datepickerShowing) | |
| switch (a.keyCode) { | |
| case 9: | |
| $.datepicker._hideDatepicker(), | |
| c = !1; | |
| break; | |
| case 13: | |
| var e = $("td." + $.datepicker._dayOverClass + ":not(." + $.datepicker._currentClass + ")", b.dpDiv); | |
| e[0] && $.datepicker._selectDay(a.target, b.selectedMonth, b.selectedYear, e[0]); | |
| var f = $.datepicker._get(b, "onSelect"); | |
| if (f) { | |
| var g = $.datepicker._formatDate(b); | |
| f.apply(b.input ? b.input[0] : null, [g, b]) | |
| } else | |
| $.datepicker._hideDatepicker(); | |
| return !1; | |
| case 27: | |
| $.datepicker._hideDatepicker(); | |
| break; | |
| case 33: | |
| $.datepicker._adjustDate(a.target, a.ctrlKey ? -$.datepicker._get(b, "stepBigMonths") : -$.datepicker._get(b, "stepMonths"), "M"); | |
| break; | |
| case 34: | |
| $.datepicker._adjustDate(a.target, a.ctrlKey ? +$.datepicker._get(b, "stepBigMonths") : +$.datepicker._get(b, "stepMonths"), "M"); | |
| break; | |
| case 35: | |
| (a.ctrlKey || a.metaKey) && $.datepicker._clearDate(a.target), | |
| c = a.ctrlKey || a.metaKey; | |
| break; | |
| case 36: | |
| (a.ctrlKey || a.metaKey) && $.datepicker._gotoToday(a.target), | |
| c = a.ctrlKey || a.metaKey; | |
| break; | |
| case 37: | |
| (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, d ? 1 : -1, "D"), | |
| c = a.ctrlKey || a.metaKey, | |
| a.originalEvent.altKey && $.datepicker._adjustDate(a.target, a.ctrlKey ? -$.datepicker._get(b, "stepBigMonths") : -$.datepicker._get(b, "stepMonths"), "M"); | |
| break; | |
| case 38: | |
| (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, -7, "D"), | |
| c = a.ctrlKey || a.metaKey; | |
| break; | |
| case 39: | |
| (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, d ? -1 : 1, "D"), | |
| c = a.ctrlKey || a.metaKey, | |
| a.originalEvent.altKey && $.datepicker._adjustDate(a.target, a.ctrlKey ? +$.datepicker._get(b, "stepBigMonths") : +$.datepicker._get(b, "stepMonths"), "M"); | |
| break; | |
| case 40: | |
| (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, 7, "D"), | |
| c = a.ctrlKey || a.metaKey; | |
| break; | |
| default: | |
| c = !1 | |
| } | |
| else | |
| 36 == a.keyCode && a.ctrlKey ? $.datepicker._showDatepicker(this) : c = !1; | |
| c && (a.preventDefault(), | |
| a.stopPropagation()) | |
| }, | |
| _doKeyPress: function(a) { | |
| var b = $.datepicker._getInst(a.target); | |
| if ($.datepicker._get(b, "constrainInput")) { | |
| var c = $.datepicker._possibleChars($.datepicker._get(b, "dateFormat")) | |
| , d = String.fromCharCode(a.charCode == undefined ? a.keyCode : a.charCode); | |
| return a.ctrlKey || a.metaKey || d < " " || !c || c.indexOf(d) > -1 | |
| } | |
| }, | |
| _doKeyUp: function(a) { | |
| var b = $.datepicker._getInst(a.target); | |
| if (b.input.val() != b.lastVal) | |
| try { | |
| var c = $.datepicker.parseDate($.datepicker._get(b, "dateFormat"), b.input ? b.input.val() : null, $.datepicker._getFormatConfig(b)); | |
| c && ($.datepicker._setDateFromField(b), | |
| $.datepicker._updateAlternate(b), | |
| $.datepicker._updateDatepicker(b)) | |
| } catch (d) { | |
| $.datepicker.log(d) | |
| } | |
| return !0 | |
| }, | |
| _showDatepicker: function(a) { | |
| if (a = a.target || a, | |
| "input" != a.nodeName.toLowerCase() && (a = $("input", a.parentNode)[0]), | |
| !$.datepicker._isDisabledDatepicker(a) && $.datepicker._lastInput != a) { | |
| var b = $.datepicker._getInst(a); | |
| $.datepicker._curInst && $.datepicker._curInst != b && ($.datepicker._curInst.dpDiv.stop(!0, !0), | |
| b && $.datepicker._datepickerShowing && $.datepicker._hideDatepicker($.datepicker._curInst.input[0])); | |
| var c = $.datepicker._get(b, "beforeShow") | |
| , d = c ? c.apply(a, [a, b]) : {}; | |
| if (d !== !1) { | |
| extendRemove(b.settings, d), | |
| b.lastVal = null, | |
| $.datepicker._lastInput = a, | |
| $.datepicker._setDateFromField(b), | |
| $.datepicker._inDialog && (a.value = ""), | |
| $.datepicker._pos || ($.datepicker._pos = $.datepicker._findPos(a), | |
| $.datepicker._pos[1] += a.offsetHeight); | |
| var e = !1; | |
| $(a).parents().each(function() { | |
| return e |= "fixed" == $(this).css("position"), | |
| !e | |
| }); | |
| var f = { | |
| left: $.datepicker._pos[0], | |
| top: $.datepicker._pos[1] | |
| }; | |
| if ($.datepicker._pos = null, | |
| b.dpDiv.empty(), | |
| b.dpDiv.css({ | |
| position: "absolute", | |
| display: "block", | |
| top: "-1000px" | |
| }), | |
| $.datepicker._updateDatepicker(b), | |
| f = $.datepicker._checkOffset(b, f, e), | |
| b.dpDiv.css({ | |
| position: $.datepicker._inDialog && $.blockUI ? "static" : e ? "fixed" : "absolute", | |
| display: "none", | |
| left: f.left + "px", | |
| top: f.top + "px" | |
| }), | |
| !b.inline) { | |
| var g = $.datepicker._get(b, "showAnim") | |
| , h = $.datepicker._get(b, "duration") | |
| , i = function() { | |
| var a = b.dpDiv.find("iframe.ui-datepicker-cover"); | |
| if (a.length) { | |
| var c = $.datepicker._getBorders(b.dpDiv); | |
| a.css({ | |
| left: -c[0], | |
| top: -c[1], | |
| width: b.dpDiv.outerWidth(), | |
| height: b.dpDiv.outerHeight() | |
| }) | |
| } | |
| }; | |
| b.dpDiv.zIndex($(a).zIndex() + 1), | |
| $.datepicker._datepickerShowing = !0, | |
| $.effects && ($.effects.effect[g] || $.effects[g]) ? b.dpDiv.show(g, $.datepicker._get(b, "showOptions"), h, i) : b.dpDiv[g || "show"](g ? h : null, i), | |
| g && h || i(), | |
| b.input.is(":visible") && !b.input.is(":disabled") && b.input.focus(), | |
| $.datepicker._curInst = b | |
| } | |
| } | |
| } | |
| }, | |
| _updateDatepicker: function(a) { | |
| this.maxRows = 4; | |
| var b = $.datepicker._getBorders(a.dpDiv); | |
| instActive = a, | |
| a.dpDiv.empty().append(this._generateHTML(a)), | |
| this._attachHandlers(a); | |
| var c = a.dpDiv.find("iframe.ui-datepicker-cover"); | |
| c.length && c.css({ | |
| left: -b[0], | |
| top: -b[1], | |
| width: a.dpDiv.outerWidth(), | |
| height: a.dpDiv.outerHeight() | |
| }), | |
| a.dpDiv.find("." + this._dayOverClass + " a").mouseover(); | |
| var d = this._getNumberOfMonths(a) | |
| , e = d[1] | |
| , f = 17; | |
| if (a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""), | |
| e > 1 && a.dpDiv.addClass("ui-datepicker-multi-" + e).css("width", f * e + "em"), | |
| a.dpDiv[(1 != d[0] || 1 != d[1] ? "add" : "remove") + "Class"]("ui-datepicker-multi"), | |
| a.dpDiv[(this._get(a, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"), | |
| a == $.datepicker._curInst && $.datepicker._datepickerShowing && a.input && a.input.is(":visible") && !a.input.is(":disabled") && a.input[0] != document.activeElement && a.input.focus(), | |
| a.yearshtml) { | |
| var g = a.yearshtml; | |
| setTimeout(function() { | |
| g === a.yearshtml && a.yearshtml && a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml), | |
| g = a.yearshtml = null | |
| }, 0) | |
| } | |
| }, | |
| _getBorders: function(a) { | |
| var b = function(a) { | |
| return { | |
| thin: 1, | |
| medium: 2, | |
| thick: 3 | |
| }[a] || a | |
| }; | |
| return [parseFloat(b(a.css("border-left-width"))), parseFloat(b(a.css("border-top-width")))] | |
| }, | |
| _checkOffset: function(a, b, c) { | |
| var d = a.dpDiv.outerWidth() | |
| , e = a.dpDiv.outerHeight() | |
| , f = a.input ? a.input.outerWidth() : 0 | |
| , g = a.input ? a.input.outerHeight() : 0 | |
| , h = document.documentElement.clientWidth + (c ? 0 : $(document).scrollLeft()) | |
| , i = document.documentElement.clientHeight + (c ? 0 : $(document).scrollTop()); | |
| return b.left -= this._get(a, "isRTL") ? d - f : 0, | |
| b.left -= c && b.left == a.input.offset().left ? $(document).scrollLeft() : 0, | |
| b.top -= c && b.top == a.input.offset().top + g ? $(document).scrollTop() : 0, | |
| b.left -= Math.min(b.left, b.left + d > h && h > d ? Math.abs(b.left + d - h) : 0), | |
| b.top -= Math.min(b.top, b.top + e > i && i > e ? Math.abs(e + g) : 0), | |
| b | |
| }, | |
| _findPos: function(a) { | |
| for (var b = this._getInst(a), c = this._get(b, "isRTL"); a && ("hidden" == a.type || 1 != a.nodeType || $.expr.filters.hidden(a)); ) | |
| a = a[c ? "previousSibling" : "nextSibling"]; | |
| var d = $(a).offset(); | |
| return [d.left, d.top] | |
| }, | |
| _hideDatepicker: function(a) { | |
| var b = this._curInst; | |
| if (b && (!a || b == $.data(a, PROP_NAME)) && this._datepickerShowing) { | |
| var c = this._get(b, "showAnim") | |
| , d = this._get(b, "duration") | |
| , e = function() { | |
| $.datepicker._tidyDialog(b) | |
| }; | |
| $.effects && ($.effects.effect[c] || $.effects[c]) ? b.dpDiv.hide(c, $.datepicker._get(b, "showOptions"), d, e) : b.dpDiv["slideDown" == c ? "slideUp" : "fadeIn" == c ? "fadeOut" : "hide"](c ? d : null, e), | |
| c || e(), | |
| this._datepickerShowing = !1; | |
| var f = this._get(b, "onClose"); | |
| f && f.apply(b.input ? b.input[0] : null, [b.input ? b.input.val() : "", b]), | |
| this._lastInput = null, | |
| this._inDialog && (this._dialogInput.css({ | |
| position: "absolute", | |
| left: "0", | |
| top: "-100px" | |
| }), | |
| $.blockUI && ($.unblockUI(), | |
| $("body").append(this.dpDiv))), | |
| this._inDialog = !1 | |
| } | |
| }, | |
| _tidyDialog: function(a) { | |
| a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar") | |
| }, | |
| _checkExternalClick: function(a) { | |
| if ($.datepicker._curInst) { | |
| var b = $(a.target) | |
| , c = $.datepicker._getInst(b[0]); | |
| (b[0].id == $.datepicker._mainDivId || 0 != b.parents("#" + $.datepicker._mainDivId).length || b.hasClass($.datepicker.markerClassName) || b.closest("." + $.datepicker._triggerClass).length || !$.datepicker._datepickerShowing || $.datepicker._inDialog && $.blockUI) && (!b.hasClass($.datepicker.markerClassName) || $.datepicker._curInst == c) || $.datepicker._hideDatepicker() | |
| } | |
| }, | |
| _adjustDate: function(a, b, c) { | |
| var d = $(a) | |
| , e = this._getInst(d[0]); | |
| this._isDisabledDatepicker(d[0]) || (this._adjustInstDate(e, b + ("M" == c ? this._get(e, "showCurrentAtPos") : 0), c), | |
| this._updateDatepicker(e)) | |
| }, | |
| _gotoToday: function(a) { | |
| var b = $(a) | |
| , c = this._getInst(b[0]); | |
| if (this._get(c, "gotoCurrent") && c.currentDay) | |
| c.selectedDay = c.currentDay, | |
| c.drawMonth = c.selectedMonth = c.currentMonth, | |
| c.drawYear = c.selectedYear = c.currentYear; | |
| else { | |
| var d = new Date; | |
| c.selectedDay = d.getDate(), | |
| c.drawMonth = c.selectedMonth = d.getMonth(), | |
| c.drawYear = c.selectedYear = d.getFullYear() | |
| } | |
| this._notifyChange(c), | |
| this._adjustDate(b) | |
| }, | |
| _selectMonthYear: function(a, b, c) { | |
| var d = $(a) | |
| , e = this._getInst(d[0]); | |
| e["selected" + ("M" == c ? "Month" : "Year")] = e["draw" + ("M" == c ? "Month" : "Year")] = parseInt(b.options[b.selectedIndex].value, 10), | |
| this._notifyChange(e), | |
| this._adjustDate(d) | |
| }, | |
| _selectDay: function(a, b, c, d) { | |
| var e = $(a); | |
| if (!$(d).hasClass(this._unselectableClass) && !this._isDisabledDatepicker(e[0])) { | |
| var f = this._getInst(e[0]); | |
| f.selectedDay = f.currentDay = $("a", d).html(), | |
| f.selectedMonth = f.currentMonth = b, | |
| f.selectedYear = f.currentYear = c, | |
| this._selectDate(a, this._formatDate(f, f.currentDay, f.currentMonth, f.currentYear)) | |
| } | |
| }, | |
| _clearDate: function(a) { | |
| var b = $(a); | |
| this._getInst(b[0]); | |
| this._selectDate(b, "") | |
| }, | |
| _selectDate: function(a, b) { | |
| var c = $(a) | |
| , d = this._getInst(c[0]); | |
| b = null != b ? b : this._formatDate(d), | |
| d.input && d.input.val(b), | |
| this._updateAlternate(d); | |
| var e = this._get(d, "onSelect"); | |
| e ? e.apply(d.input ? d.input[0] : null, [b, d]) : d.input && d.input.trigger("change"), | |
| d.inline ? this._updateDatepicker(d) : (this._hideDatepicker(), | |
| this._lastInput = d.input[0], | |
| "object" != typeof d.input[0] && d.input.focus(), | |
| this._lastInput = null) | |
| }, | |
| _updateAlternate: function(a) { | |
| var b = this._get(a, "altField"); | |
| if (b) { | |
| var c = this._get(a, "altFormat") || this._get(a, "dateFormat") | |
| , d = this._getDate(a) | |
| , e = this.formatDate(c, d, this._getFormatConfig(a)); | |
| $(b).each(function() { | |
| $(this).val(e) | |
| }) | |
| } | |
| }, | |
| noWeekends: function(a) { | |
| var b = a.getDay(); | |
| return [b > 0 && b < 6, ""] | |
| }, | |
| iso8601Week: function(a) { | |
| var b = new Date(a.getTime()); | |
| b.setDate(b.getDate() + 4 - (b.getDay() || 7)); | |
| var c = b.getTime(); | |
| return b.setMonth(0), | |
| b.setDate(1), | |
| Math.floor(Math.round((c - b) / 864e5) / 7) + 1 | |
| }, | |
| parseDate: function(a, b, c) { | |
| if (null == a || null == b) | |
| throw "Invalid arguments"; | |
| if (b = "object" == typeof b ? b.toString() : b + "", | |
| "" == b) | |
| return null; | |
| var d = (c ? c.shortYearCutoff : null) || this._defaults.shortYearCutoff; | |
| d = "string" != typeof d ? d : (new Date).getFullYear() % 100 + parseInt(d, 10); | |
| for (var e = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort, f = (c ? c.dayNames : null) || this._defaults.dayNames, g = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort, h = (c ? c.monthNames : null) || this._defaults.monthNames, i = -1, j = -1, k = -1, l = -1, m = !1, n = function(b) { | |
| var c = s + 1 < a.length && a.charAt(s + 1) == b; | |
| return c && s++, | |
| c | |
| }, o = function(a) { | |
| var c = n(a) | |
| , d = "@" == a ? 14 : "!" == a ? 20 : "y" == a && c ? 4 : "o" == a ? 3 : 2 | |
| , e = new RegExp("^\\d{1," + d + "}") | |
| , f = b.substring(r).match(e); | |
| if (!f) | |
| throw "Missing number at position " + r; | |
| return r += f[0].length, | |
| parseInt(f[0], 10) | |
| }, p = function(a, c, d) { | |
| var e = $.map(n(a) ? d : c, function(a, b) { | |
| return [[b, a]] | |
| }).sort(function(a, b) { | |
| return -(a[1].length - b[1].length) | |
| }) | |
| , f = -1; | |
| if ($.each(e, function(a, c) { | |
| var d = c[1]; | |
| if (b.substr(r, d.length).toLowerCase() == d.toLowerCase()) | |
| return f = c[0], | |
| r += d.length, | |
| !1 | |
| }), | |
| f != -1) | |
| return f + 1; | |
| throw "Unknown name at position " + r | |
| }, q = function() { | |
| if (b.charAt(r) != a.charAt(s)) | |
| throw "Unexpected literal at position " + r; | |
| r++ | |
| }, r = 0, s = 0; s < a.length; s++) | |
| if (m) | |
| "'" != a.charAt(s) || n("'") ? q() : m = !1; | |
| else | |
| switch (a.charAt(s)) { | |
| case "d": | |
| k = o("d"); | |
| break; | |
| case "D": | |
| p("D", e, f); | |
| break; | |
| case "o": | |
| l = o("o"); | |
| break; | |
| case "m": | |
| j = o("m"); | |
| break; | |
| case "M": | |
| j = p("M", g, h); | |
| break; | |
| case "y": | |
| i = o("y"); | |
| break; | |
| case "@": | |
| var t = new Date(o("@")); | |
| i = t.getFullYear(), | |
| j = t.getMonth() + 1, | |
| k = t.getDate(); | |
| break; | |
| case "!": | |
| var t = new Date((o("!") - this._ticksTo1970) / 1e4); | |
| i = t.getFullYear(), | |
| j = t.getMonth() + 1, | |
| k = t.getDate(); | |
| break; | |
| case "'": | |
| n("'") ? q() : m = !0; | |
| break; | |
| default: | |
| q() | |
| } | |
| if (r < b.length) { | |
| var u = b.substr(r); | |
| if (!/^\s+/.test(u)) | |
| throw "Extra/unparsed characters found in date: " + u | |
| } | |
| if (i == -1 ? i = (new Date).getFullYear() : i < 100 && (i += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (i <= d ? 0 : -100)), | |
| l > -1) | |
| for (j = 1, | |
| k = l; ; ) { | |
| var v = this._getDaysInMonth(i, j - 1); | |
| if (k <= v) | |
| break; | |
| j++, | |
| k -= v | |
| } | |
| var t = this._daylightSavingAdjust(new Date(i,j - 1,k)); | |
| if (t.getFullYear() != i || t.getMonth() + 1 != j || t.getDate() != k) | |
| throw "Invalid date"; | |
| return t | |
| }, | |
| ATOM: "yy-mm-dd", | |
| COOKIE: "D, dd M yy", | |
| ISO_8601: "yy-mm-dd", | |
| RFC_822: "D, d M y", | |
| RFC_850: "DD, dd-M-y", | |
| RFC_1036: "D, d M y", | |
| RFC_1123: "D, d M yy", | |
| RFC_2822: "D, d M yy", | |
| RSS: "D, d M y", | |
| TICKS: "!", | |
| TIMESTAMP: "@", | |
| W3C: "yy-mm-dd", | |
| _ticksTo1970: 24 * (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 60 * 60 * 1e7, | |
| formatDate: function(a, b, c) { | |
| if (!b) | |
| return ""; | |
| var d = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort | |
| , e = (c ? c.dayNames : null) || this._defaults.dayNames | |
| , f = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort | |
| , g = (c ? c.monthNames : null) || this._defaults.monthNames | |
| , h = function(b) { | |
| var c = m + 1 < a.length && a.charAt(m + 1) == b; | |
| return c && m++, | |
| c | |
| } | |
| , i = function(a, b, c) { | |
| var d = "" + b; | |
| if (h(a)) | |
| for (; d.length < c; ) | |
| d = "0" + d; | |
| return d | |
| } | |
| , j = function(a, b, c, d) { | |
| return h(a) ? d[b] : c[b] | |
| } | |
| , k = "" | |
| , l = !1; | |
| if (b) | |
| for (var m = 0; m < a.length; m++) | |
| if (l) | |
| "'" != a.charAt(m) || h("'") ? k += a.charAt(m) : l = !1; | |
| else | |
| switch (a.charAt(m)) { | |
| case "d": | |
| k += i("d", b.getDate(), 2); | |
| break; | |
| case "D": | |
| k += j("D", b.getDay(), d, e); | |
| break; | |
| case "o": | |
| k += i("o", Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime() - new Date(b.getFullYear(),0,0).getTime()) / 864e5), 3); | |
| break; | |
| case "m": | |
| k += i("m", b.getMonth() + 1, 2); | |
| break; | |
| case "M": | |
| k += j("M", b.getMonth(), f, g); | |
| break; | |
| case "y": | |
| k += h("y") ? b.getFullYear() : (b.getYear() % 100 < 10 ? "0" : "") + b.getYear() % 100; | |
| break; | |
| case "@": | |
| k += b.getTime(); | |
| break; | |
| case "!": | |
| k += 1e4 * b.getTime() + this._ticksTo1970; | |
| break; | |
| case "'": | |
| h("'") ? k += "'" : l = !0; | |
| break; | |
| default: | |
| k += a.charAt(m) | |
| } | |
| return k | |
| }, | |
| _possibleChars: function(a) { | |
| for (var b = "", c = !1, d = function(b) { | |
| var c = e + 1 < a.length && a.charAt(e + 1) == b; | |
| return c && e++, | |
| c | |
| }, e = 0; e < a.length; e++) | |
| if (c) | |
| "'" != a.charAt(e) || d("'") ? b += a.charAt(e) : c = !1; | |
| else | |
| switch (a.charAt(e)) { | |
| case "d": | |
| case "m": | |
| case "y": | |
| case "@": | |
| b += "0123456789"; | |
| break; | |
| case "D": | |
| case "M": | |
| return null; | |
| case "'": | |
| d("'") ? b += "'" : c = !0; | |
| break; | |
| default: | |
| b += a.charAt(e) | |
| } | |
| return b | |
| }, | |
| _get: function(a, b) { | |
| return a.settings[b] !== undefined ? a.settings[b] : this._defaults[b] | |
| }, | |
| _setDateFromField: function(a, b) { | |
| if (a.input.val() != a.lastVal) { | |
| var c, d, e = this._get(a, "dateFormat"), f = a.lastVal = a.input ? a.input.val() : null; | |
| c = d = this._getDefaultDate(a); | |
| var g = this._getFormatConfig(a); | |
| try { | |
| c = this.parseDate(e, f, g) || d | |
| } catch (h) { | |
| this.log(h), | |
| f = b ? "" : f | |
| } | |
| a.selectedDay = c.getDate(), | |
| a.drawMonth = a.selectedMonth = c.getMonth(), | |
| a.drawYear = a.selectedYear = c.getFullYear(), | |
| a.currentDay = f ? c.getDate() : 0, | |
| a.currentMonth = f ? c.getMonth() : 0, | |
| a.currentYear = f ? c.getFullYear() : 0, | |
| this._adjustInstDate(a) | |
| } | |
| }, | |
| _getDefaultDate: function(a) { | |
| return this._restrictMinMax(a, this._determineDate(a, this._get(a, "defaultDate"), new Date)) | |
| }, | |
| _determineDate: function(a, b, c) { | |
| var d = function(a) { | |
| var b = new Date; | |
| return b.setDate(b.getDate() + a), | |
| b | |
| } | |
| , e = function(b) { | |
| try { | |
| return $.datepicker.parseDate($.datepicker._get(a, "dateFormat"), b, $.datepicker._getFormatConfig(a)) | |
| } catch (c) {} | |
| for (var d = (b.toLowerCase().match(/^c/) ? $.datepicker._getDate(a) : null) || new Date, e = d.getFullYear(), f = d.getMonth(), g = d.getDate(), h = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, i = h.exec(b); i; ) { | |
| switch (i[2] || "d") { | |
| case "d": | |
| case "D": | |
| g += parseInt(i[1], 10); | |
| break; | |
| case "w": | |
| case "W": | |
| g += 7 * parseInt(i[1], 10); | |
| break; | |
| case "m": | |
| case "M": | |
| f += parseInt(i[1], 10), | |
| g = Math.min(g, $.datepicker._getDaysInMonth(e, f)); | |
| break; | |
| case "y": | |
| case "Y": | |
| e += parseInt(i[1], 10), | |
| g = Math.min(g, $.datepicker._getDaysInMonth(e, f)) | |
| } | |
| i = h.exec(b) | |
| } | |
| return new Date(e,f,g) | |
| } | |
| , f = null == b || "" === b ? c : "string" == typeof b ? e(b) : "number" == typeof b ? isNaN(b) ? c : d(b) : new Date(b.getTime()); | |
| return f = f && "Invalid Date" == f.toString() ? c : f, | |
| f && (f.setHours(0), | |
| f.setMinutes(0), | |
| f.setSeconds(0), | |
| f.setMilliseconds(0)), | |
| this._daylightSavingAdjust(f) | |
| }, | |
| _daylightSavingAdjust: function(a) { | |
| return a ? (a.setHours(a.getHours() > 12 ? a.getHours() + 2 : 0), | |
| a) : null | |
| }, | |
| _setDate: function(a, b, c) { | |
| var d = !b | |
| , e = a.selectedMonth | |
| , f = a.selectedYear | |
| , g = this._restrictMinMax(a, this._determineDate(a, b, new Date)); | |
| a.selectedDay = a.currentDay = g.getDate(), | |
| a.drawMonth = a.selectedMonth = a.currentMonth = g.getMonth(), | |
| a.drawYear = a.selectedYear = a.currentYear = g.getFullYear(), | |
| e == a.selectedMonth && f == a.selectedYear || c || this._notifyChange(a), | |
| this._adjustInstDate(a), | |
| a.input && a.input.val(d ? "" : this._formatDate(a)) | |
| }, | |
| _getDate: function(a) { | |
| var b = !a.currentYear || a.input && "" == a.input.val() ? null : this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay)); | |
| return b | |
| }, | |
| _attachHandlers: function(a) { | |
| var b = this._get(a, "stepMonths") | |
| , c = "#" + a.id.replace(/\\\\/g, "\\"); | |
| a.dpDiv.find("[data-handler]").map(function() { | |
| var a = { | |
| prev: function() { | |
| window["DP_jQuery_" + dpuuid].datepicker._adjustDate(c, -b, "M") | |
| }, | |
| next: function() { | |
| window["DP_jQuery_" + dpuuid].datepicker._adjustDate(c, +b, "M") | |
| }, | |
| hide: function() { | |
| window["DP_jQuery_" + dpuuid].datepicker._hideDatepicker() | |
| }, | |
| today: function() { | |
| window["DP_jQuery_" + dpuuid].datepicker._gotoToday(c) | |
| }, | |
| selectDay: function() { | |
| return window["DP_jQuery_" + dpuuid].datepicker._selectDay(c, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this), | |
| !1 | |
| }, | |
| selectMonth: function() { | |
| return window["DP_jQuery_" + dpuuid].datepicker._selectMonthYear(c, this, "M"), | |
| !1 | |
| }, | |
| selectYear: function() { | |
| return window["DP_jQuery_" + dpuuid].datepicker._selectMonthYear(c, this, "Y"), | |
| !1 | |
| } | |
| }; | |
| $(this).bind(this.getAttribute("data-event"), a[this.getAttribute("data-handler")]) | |
| }) | |
| }, | |
| _generateHTML: function(a) { | |
| var b = new Date; | |
| b = this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate())); | |
| var c = this._get(a, "isRTL") | |
| , d = this._get(a, "showButtonPanel") | |
| , e = this._get(a, "hideIfNoPrevNext") | |
| , f = this._get(a, "navigationAsDateFormat") | |
| , g = this._getNumberOfMonths(a) | |
| , h = this._get(a, "showCurrentAtPos") | |
| , i = this._get(a, "stepMonths") | |
| , j = 1 != g[0] || 1 != g[1] | |
| , k = this._daylightSavingAdjust(a.currentDay ? new Date(a.currentYear,a.currentMonth,a.currentDay) : new Date(9999,9,9)) | |
| , l = this._getMinMaxDate(a, "min") | |
| , m = this._getMinMaxDate(a, "max") | |
| , n = a.drawMonth - h | |
| , o = a.drawYear; | |
| if (n < 0 && (n += 12, | |
| o--), | |
| m) { | |
| var p = this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth() - g[0] * g[1] + 1,m.getDate())); | |
| for (p = l && p < l ? l : p; this._daylightSavingAdjust(new Date(o,n,1)) > p; ) | |
| n--, | |
| n < 0 && (n = 11, | |
| o--) | |
| } | |
| a.drawMonth = n, | |
| a.drawYear = o; | |
| var q = this._get(a, "prevText"); | |
| q = f ? this.formatDate(q, this._daylightSavingAdjust(new Date(o,n - i,1)), this._getFormatConfig(a)) : q; | |
| var r = this._canAdjustMonth(a, -1, o, n) ? '<a class="ui-datepicker-prev ui-corner-all" data-handler="prev" data-event="click" title="' + q + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + q + "</span></a>" : e ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + q + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + q + "</span></a>" | |
| , s = this._get(a, "nextText"); | |
| s = f ? this.formatDate(s, this._daylightSavingAdjust(new Date(o,n + i,1)), this._getFormatConfig(a)) : s; | |
| var t = this._canAdjustMonth(a, 1, o, n) ? '<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="' + s + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + s + "</span></a>" : e ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + s + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + s + "</span></a>" | |
| , u = this._get(a, "currentText") | |
| , v = this._get(a, "gotoCurrent") && a.currentDay ? k : b; | |
| u = f ? this.formatDate(u, v, this._getFormatConfig(a)) : u; | |
| var w = a.inline ? "" : '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">' + this._get(a, "closeText") + "</button>" | |
| , x = d ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (c ? w : "") + (this._isInRange(a, v) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click">' + u + "</button>" : "") + (c ? "" : w) + "</div>" : "" | |
| , y = parseInt(this._get(a, "firstDay"), 10); | |
| y = isNaN(y) ? 0 : y; | |
| for (var z = this._get(a, "showWeek"), A = this._get(a, "dayNames"), B = (this._get(a, "dayNamesShort"), | |
| this._get(a, "dayNamesMin")), C = this._get(a, "monthNames"), D = this._get(a, "monthNamesShort"), E = this._get(a, "beforeShowDay"), F = this._get(a, "showOtherMonths"), G = this._get(a, "selectOtherMonths"), H = (this._get(a, "calculateWeek") || this.iso8601Week, | |
| this._getDefaultDate(a)), I = "", J = 0; J < g[0]; J++) { | |
| var K = ""; | |
| this.maxRows = 4; | |
| for (var L = 0; L < g[1]; L++) { | |
| var M = this._daylightSavingAdjust(new Date(o,n,a.selectedDay)) | |
| , N = " ui-corner-all" | |
| , O = ""; | |
| if (j) { | |
| if (O += '<div class="ui-datepicker-group', | |
| g[1] > 1) | |
| switch (L) { | |
| case 0: | |
| O += " ui-datepicker-group-first", | |
| N = " ui-corner-" + (c ? "right" : "left"); | |
| break; | |
| case g[1] - 1: | |
| O += " ui-datepicker-group-last", | |
| N = " ui-corner-" + (c ? "left" : "right"); | |
| break; | |
| default: | |
| O += " ui-datepicker-group-middle", | |
| N = "" | |
| } | |
| O += '">' | |
| } | |
| O += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + N + '">' + (/all|left/.test(N) && 0 == J ? c ? t : r : "") + (/all|right/.test(N) && 0 == J ? c ? r : t : "") + this._generateMonthYearHeader(a, n, o, l, m, J > 0 || L > 0, C, D) + '</div><table class="ui-datepicker-calendar"><thead><tr>'; | |
| for (var P = z ? '<th class="ui-datepicker-week-col">' + this._get(a, "weekHeader") + "</th>" : "", Q = 0; Q < 7; Q++) { | |
| var R = (Q + y) % 7; | |
| P += "<th" + ((Q + y + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + '><span title="' + A[R] + '">' + B[R] + "</span></th>" | |
| } | |
| O += P + "</tr></thead><tbody>"; | |
| var S = this._getDaysInMonth(o, n); | |
| o == a.selectedYear && n == a.selectedMonth && (a.selectedDay = Math.min(a.selectedDay, S)); | |
| var T = (this._getFirstDayOfMonth(o, n) - y + 7) % 7 | |
| , U = Math.ceil((T + S) / 7) | |
| , V = j && this.maxRows > U ? this.maxRows : U; | |
| this.maxRows = V; | |
| for (var W = this._daylightSavingAdjust(new Date(o,n,1 - T)), X = 0; X < V; X++) { | |
| O += "<tr>"; | |
| for (var Y = z ? '<td class="ui-datepicker-week-col">' + this._get(a, "calculateWeek")(W) + "</td>" : "", Q = 0; Q < 7; Q++) { | |
| var Z = E ? E.apply(a.input ? a.input[0] : null, [W]) : [!0, ""] | |
| , _ = W.getMonth() != n | |
| , aa = _ && !G || !Z[0] || l && W < l || m && W > m; | |
| Y += '<td class="' + ((Q + y + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (_ ? " ui-datepicker-other-month" : "") + (W.getTime() == M.getTime() && n == a.selectedMonth && a._keyEvent || H.getTime() == W.getTime() && H.getTime() == M.getTime() ? " " + this._dayOverClass : "") + (aa ? " " + this._unselectableClass + " ui-state-disabled" : "") + (_ && !F ? "" : " " + Z[1] + (W.getTime() == k.getTime() ? " " + this._currentClass : "") + (W.getTime() == b.getTime() ? " ui-datepicker-today" : "")) + '"' + (_ && !F || !Z[2] ? "" : ' title="' + Z[2] + '"') + (aa ? "" : ' data-handler="selectDay" data-event="click" data-month="' + W.getMonth() + '" data-year="' + W.getFullYear() + '"') + ">" + (_ && !F ? " " : aa ? '<span class="ui-state-default">' + W.getDate() + "</span>" : '<a class="ui-state-default' + (W.getTime() == b.getTime() ? " ui-state-highlight" : "") + (W.getTime() == k.getTime() ? " ui-state-active" : "") + (_ ? " ui-priority-secondary" : "") + '" href="#">' + W.getDate() + "</a>") + "</td>", | |
| W.setDate(W.getDate() + 1), | |
| W = this._daylightSavingAdjust(W) | |
| } | |
| O += Y + "</tr>" | |
| } | |
| n++, | |
| n > 11 && (n = 0, | |
| o++), | |
| O += "</tbody></table>" + (j ? "</div>" + (g[0] > 0 && L == g[1] - 1 ? '<div class="ui-datepicker-row-break"></div>' : "") : ""), | |
| K += O | |
| } | |
| I += K | |
| } | |
| return I += x + ($.browser.msie && parseInt($.browser.version, 10) < 7 && !a.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' : ""), | |
| a._keyEvent = !1, | |
| I | |
| }, | |
| _generateMonthYearHeader: function(a, b, c, d, e, f, g, h) { | |
| var i = this._get(a, "changeMonth") | |
| , j = this._get(a, "changeYear") | |
| , k = this._get(a, "showMonthAfterYear") | |
| , l = '<div class="ui-datepicker-title">' | |
| , m = ""; | |
| if (f || !i) | |
| m += '<span class="ui-datepicker-month">' + g[b] + "</span>"; | |
| else { | |
| var n = d && d.getFullYear() == c | |
| , o = e && e.getFullYear() == c; | |
| m += '<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">'; | |
| for (var p = 0; p < 12; p++) | |
| (!n || p >= d.getMonth()) && (!o || p <= e.getMonth()) && (m += '<option value="' + p + '"' + (p == b ? ' selected="selected"' : "") + ">" + h[p] + "</option>"); | |
| m += "</select>" | |
| } | |
| if (k || (l += m + (!f && i && j ? "" : " ")), | |
| !a.yearshtml) | |
| if (a.yearshtml = "", | |
| f || !j) | |
| l += '<span class="ui-datepicker-year">' + c + "</span>"; | |
| else { | |
| var q = this._get(a, "yearRange").split(":") | |
| , r = (new Date).getFullYear() | |
| , s = function(a) { | |
| var b = a.match(/c[+-].*/) ? c + parseInt(a.substring(1), 10) : a.match(/[+-].*/) ? r + parseInt(a, 10) : parseInt(a, 10); | |
| return isNaN(b) ? r : b | |
| } | |
| , t = s(q[0]) | |
| , u = Math.max(t, s(q[1] || "")); | |
| for (t = d ? Math.max(t, d.getFullYear()) : t, | |
| u = e ? Math.min(u, e.getFullYear()) : u, | |
| a.yearshtml += '<select class="ui-datepicker-year" data-handler="selectYear" data-event="change">'; t <= u; t++) | |
| a.yearshtml += '<option value="' + t + '"' + (t == c ? ' selected="selected"' : "") + ">" + t + "</option>"; | |
| a.yearshtml += "</select>", | |
| l += a.yearshtml, | |
| a.yearshtml = null | |
| } | |
| return l += this._get(a, "yearSuffix"), | |
| k && (l += (!f && i && j ? "" : " ") + m), | |
| l += "</div>" | |
| }, | |
| _adjustInstDate: function(a, b, c) { | |
| var d = a.drawYear + ("Y" == c ? b : 0) | |
| , e = a.drawMonth + ("M" == c ? b : 0) | |
| , f = Math.min(a.selectedDay, this._getDaysInMonth(d, e)) + ("D" == c ? b : 0) | |
| , g = this._restrictMinMax(a, this._daylightSavingAdjust(new Date(d,e,f))); | |
| a.selectedDay = g.getDate(), | |
| a.drawMonth = a.selectedMonth = g.getMonth(), | |
| a.drawYear = a.selectedYear = g.getFullYear(), | |
| "M" != c && "Y" != c || this._notifyChange(a) | |
| }, | |
| _restrictMinMax: function(a, b) { | |
| var c = this._getMinMaxDate(a, "min") | |
| , d = this._getMinMaxDate(a, "max") | |
| , e = c && b < c ? c : b; | |
| return e = d && e > d ? d : e | |
| }, | |
| _notifyChange: function(a) { | |
| var b = this._get(a, "onChangeMonthYear"); | |
| b && b.apply(a.input ? a.input[0] : null, [a.selectedYear, a.selectedMonth + 1, a]) | |
| }, | |
| _getNumberOfMonths: function(a) { | |
| var b = this._get(a, "numberOfMonths"); | |
| return null == b ? [1, 1] : "number" == typeof b ? [1, b] : b | |
| }, | |
| _getMinMaxDate: function(a, b) { | |
| return this._determineDate(a, this._get(a, b + "Date"), null) | |
| }, | |
| _getDaysInMonth: function(a, b) { | |
| return 32 - this._daylightSavingAdjust(new Date(a,b,32)).getDate() | |
| }, | |
| _getFirstDayOfMonth: function(a, b) { | |
| return new Date(a,b,1).getDay() | |
| }, | |
| _canAdjustMonth: function(a, b, c, d) { | |
| var e = this._getNumberOfMonths(a) | |
| , f = this._daylightSavingAdjust(new Date(c,d + (b < 0 ? b : e[0] * e[1]),1)); | |
| return b < 0 && f.setDate(this._getDaysInMonth(f.getFullYear(), f.getMonth())), | |
| this._isInRange(a, f) | |
| }, | |
| _isInRange: function(a, b) { | |
| var c = this._getMinMaxDate(a, "min") | |
| , d = this._getMinMaxDate(a, "max"); | |
| return (!c || b.getTime() >= c.getTime()) && (!d || b.getTime() <= d.getTime()) | |
| }, | |
| _getFormatConfig: function(a) { | |
| var b = this._get(a, "shortYearCutoff"); | |
| return b = "string" != typeof b ? b : (new Date).getFullYear() % 100 + parseInt(b, 10), | |
| { | |
| shortYearCutoff: b, | |
| dayNamesShort: this._get(a, "dayNamesShort"), | |
| dayNames: this._get(a, "dayNames"), | |
| monthNamesShort: this._get(a, "monthNamesShort"), | |
| monthNames: this._get(a, "monthNames") | |
| } | |
| }, | |
| _formatDate: function(a, b, c, d) { | |
| b || (a.currentDay = a.selectedDay, | |
| a.currentMonth = a.selectedMonth, | |
| a.currentYear = a.selectedYear); | |
| var e = b ? "object" == typeof b ? b : this._daylightSavingAdjust(new Date(d,c,b)) : this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay)); | |
| return this.formatDate(this._get(a, "dateFormat"), e, this._getFormatConfig(a)) | |
| } | |
| }), | |
| $.fn.datepicker = function(a) { | |
| if (!this.length) | |
| return this; | |
| $.datepicker.initialized || ($(document).mousedown($.datepicker._checkExternalClick).find(document.body).append($.datepicker.dpDiv), | |
| $.datepicker.initialized = !0); | |
| var b = Array.prototype.slice.call(arguments, 1); | |
| return "string" != typeof a || "isDisabled" != a && "getDate" != a && "widget" != a ? "option" == a && 2 == arguments.length && "string" == typeof arguments[1] ? $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this[0]].concat(b)) : this.each(function() { | |
| "string" == typeof a ? $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this].concat(b)) : $.datepicker._attachDatepicker(this, a) | |
| }) : $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this[0]].concat(b)) | |
| } | |
| , | |
| $.datepicker = new Datepicker, | |
| $.datepicker.initialized = !1, | |
| $.datepicker.uuid = (new Date).getTime(), | |
| $.datepicker.version = "1.9.0", | |
| window["DP_jQuery_" + dpuuid] = $ | |
| }(jQuery), | |
| function(a, b) { | |
| var c = "ui-dialog ui-widget ui-widget-content ui-corner-all " | |
| , d = { | |
| buttons: !0, | |
| height: !0, | |
| maxHeight: !0, | |
| maxWidth: !0, | |
| minHeight: !0, | |
| minWidth: !0, | |
| width: !0 | |
| } | |
| , e = { | |
| maxHeight: !0, | |
| maxWidth: !0, | |
| minHeight: !0, | |
| minWidth: !0 | |
| }; | |
| a.widget("ui.dialog", { | |
| version: "1.9.0", | |
| options: { | |
| autoOpen: !0, | |
| buttons: {}, | |
| closeOnEscape: !0, | |
| closeText: "close", | |
| dialogClass: "", | |
| draggable: !0, | |
| hide: null, | |
| height: "auto", | |
| maxHeight: !1, | |
| maxWidth: !1, | |
| minHeight: 150, | |
| minWidth: 150, | |
| modal: !1, | |
| position: { | |
| my: "center", | |
| at: "center", | |
| of: window, | |
| collision: "fit", | |
| using: function(b) { | |
| var c = a(this).css(b).offset().top; | |
| c < 0 && a(this).css("top", b.top - c) | |
| } | |
| }, | |
| resizable: !0, | |
| show: null, | |
| stack: !0, | |
| title: "", | |
| width: 300, | |
| zIndex: 1e3 | |
| }, | |
| _create: function() { | |
| this.originalTitle = this.element.attr("title"), | |
| "string" != typeof this.originalTitle && (this.originalTitle = ""), | |
| this.oldPosition = { | |
| parent: this.element.parent(), | |
| index: this.element.parent().children().index(this.element) | |
| }, | |
| this.options.title = this.options.title || this.originalTitle; | |
| var b = this | |
| , d = this.options | |
| , e = d.title || " " | |
| , f = (this.uiDialog = a("<div>")).addClass(c + d.dialogClass).css({ | |
| display: "none", | |
| outline: 0, | |
| zIndex: d.zIndex | |
| }).attr("tabIndex", -1).keydown(function(c) { | |
| d.closeOnEscape && !c.isDefaultPrevented() && c.keyCode && c.keyCode === a.ui.keyCode.ESCAPE && (b.close(c), | |
| c.preventDefault()) | |
| }).mousedown(function(a) { | |
| b.moveToTop(!1, a) | |
| }).appendTo("body") | |
| , g = (this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(f), | |
| (this.uiDialogTitlebar = a("<div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(f)) | |
| , h = a("<a href='#'></a>").addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", "button").click(function(a) { | |
| a.preventDefault(), | |
| b.close(a) | |
| }).appendTo(g) | |
| , i = ((this.uiDialogTitlebarCloseText = a("<span>")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(h), | |
| a("<span>").uniqueId().addClass("ui-dialog-title").html(e).prependTo(g)) | |
| , j = (this.uiDialogButtonPane = a("<div>")).addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"); | |
| (this.uiButtonSet = a("<div>")).addClass("ui-dialog-buttonset").appendTo(j); | |
| f.attr({ | |
| role: "dialog", | |
| "aria-labelledby": i.attr("id") | |
| }), | |
| g.find("*").add(g).disableSelection(), | |
| this._hoverable(h), | |
| this._focusable(h), | |
| d.draggable && a.fn.draggable && this._makeDraggable(), | |
| d.resizable && a.fn.resizable && this._makeResizable(), | |
| this._createButtons(d.buttons), | |
| this._isOpen = !1, | |
| a.fn.bgiframe && f.bgiframe(), | |
| this._on(f, { | |
| keydown: function(b) { | |
| if (d.modal && b.keyCode === a.ui.keyCode.TAB) { | |
| var c = a(":tabbable", f) | |
| , e = c.filter(":first") | |
| , g = c.filter(":last"); | |
| return b.target !== g[0] || b.shiftKey ? b.target === e[0] && b.shiftKey ? (g.focus(1), | |
| !1) : void 0 : (e.focus(1), | |
| !1) | |
| } | |
| } | |
| }) | |
| }, | |
| _init: function() { | |
| this.options.autoOpen && this.open() | |
| }, | |
| _destroy: function() { | |
| var a, b = this.oldPosition; | |
| this.overlay && this.overlay.destroy(), | |
| this.uiDialog.hide(), | |
| this.element.removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"), | |
| this.uiDialog.remove(), | |
| this.originalTitle && this.element.attr("title", this.originalTitle), | |
| a = b.parent.children().eq(b.index), | |
| a.length && a[0] !== this.element[0] ? a.before(this.element) : b.parent.append(this.element) | |
| }, | |
| widget: function() { | |
| return this.uiDialog | |
| }, | |
| close: function(b) { | |
| var c, d, e = this; | |
| if (this._isOpen && !1 !== this._trigger("beforeClose", b)) | |
| return this._isOpen = !1, | |
| this.overlay && this.overlay.destroy(), | |
| this.options.hide ? this.uiDialog.hide(this.options.hide, function() { | |
| e._trigger("close", b) | |
| }) : (this.uiDialog.hide(), | |
| this._trigger("close", b)), | |
| a.ui.dialog.overlay.resize(), | |
| this.options.modal && (c = 0, | |
| a(".ui-dialog").each(function() { | |
| this !== e.uiDialog[0] && (d = a(this).css("z-index"), | |
| isNaN(d) || (c = Math.max(c, d))) | |
| }), | |
| a.ui.dialog.maxZ = c), | |
| this | |
| }, | |
| isOpen: function() { | |
| return this._isOpen | |
| }, | |
| moveToTop: function(b, c) { | |
| var d, e = this.options; | |
| return e.modal && !b || !e.stack && !e.modal ? this._trigger("focus", c) : (e.zIndex > a.ui.dialog.maxZ && (a.ui.dialog.maxZ = e.zIndex), | |
| this.overlay && (a.ui.dialog.maxZ += 1, | |
| a.ui.dialog.overlay.maxZ = a.ui.dialog.maxZ, | |
| this.overlay.$el.css("z-index", a.ui.dialog.overlay.maxZ)), | |
| d = { | |
| scrollTop: this.element.scrollTop(), | |
| scrollLeft: this.element.scrollLeft() | |
| }, | |
| a.ui.dialog.maxZ += 1, | |
| this.uiDialog.css("z-index", a.ui.dialog.maxZ), | |
| this.element.attr(d), | |
| this._trigger("focus", c), | |
| this) | |
| }, | |
| open: function() { | |
| if (!this._isOpen) { | |
| var b, c = this.options, d = this.uiDialog; | |
| return this._size(), | |
| this._position(c.position), | |
| d.show(c.show), | |
| this.overlay = c.modal ? new a.ui.dialog.overlay(this) : null, | |
| this.moveToTop(!0), | |
| b = this.element.find(":tabbable"), | |
| b.length || (b = this.uiDialogButtonPane.find(":tabbable"), | |
| b.length || (b = d)), | |
| b.eq(0).focus(), | |
| this._isOpen = !0, | |
| this._trigger("open"), | |
| this | |
| } | |
| }, | |
| _createButtons: function(b) { | |
| var c = this | |
| , d = !1; | |
| this.uiDialogButtonPane.remove(), | |
| this.uiButtonSet.empty(), | |
| "object" == typeof b && null !== b && a.each(b, function() { | |
| return !(d = !0) | |
| }), | |
| d ? (a.each(b, function(b, d) { | |
| d = a.isFunction(d) ? { | |
| click: d, | |
| text: b | |
| } : d; | |
| var e = a("<button type='button'>").attr(d, !0).unbind("click").click(function() { | |
| d.click.apply(c.element[0], arguments) | |
| }).appendTo(c.uiButtonSet); | |
| a.fn.button && e.button() | |
| }), | |
| this.uiDialog.addClass("ui-dialog-buttons"), | |
| this.uiDialogButtonPane.appendTo(this.uiDialog)) : this.uiDialog.removeClass("ui-dialog-buttons") | |
| }, | |
| _makeDraggable: function() { | |
| function b(a) { | |
| return { | |
| position: a.position, | |
| offset: a.offset | |
| } | |
| } | |
| var c = this | |
| , d = this.options; | |
| this.uiDialog.draggable({ | |
| cancel: ".ui-dialog-content, .ui-dialog-titlebar-close", | |
| handle: ".ui-dialog-titlebar", | |
| containment: "document", | |
| start: function(d, e) { | |
| a(this).addClass("ui-dialog-dragging"), | |
| c._trigger("dragStart", d, b(e)) | |
| }, | |
| drag: function(a, d) { | |
| c._trigger("drag", a, b(d)) | |
| }, | |
| stop: function(e, f) { | |
| d.position = [f.position.left - c.document.scrollLeft(), f.position.top - c.document.scrollTop()], | |
| a(this).removeClass("ui-dialog-dragging"), | |
| c._trigger("dragStop", e, b(f)), | |
| a.ui.dialog.overlay.resize() | |
| } | |
| }) | |
| }, | |
| _makeResizable: function(c) { | |
| function d(a) { | |
| return { | |
| originalPosition: a.originalPosition, | |
| originalSize: a.originalSize, | |
| position: a.position, | |
| size: a.size | |
| } | |
| } | |
| c = c === b ? this.options.resizable : c; | |
| var e = this | |
| , f = this.options | |
| , g = this.uiDialog.css("position") | |
| , h = "string" == typeof c ? c : "n,e,s,w,se,sw,ne,nw"; | |
| this.uiDialog.resizable({ | |
| cancel: ".ui-dialog-content", | |
| containment: "document", | |
| alsoResize: this.element, | |
| maxWidth: f.maxWidth, | |
| maxHeight: f.maxHeight, | |
| minWidth: f.minWidth, | |
| minHeight: this._minHeight(), | |
| handles: h, | |
| start: function(b, c) { | |
| a(this).addClass("ui-dialog-resizing"), | |
| e._trigger("resizeStart", b, d(c)) | |
| }, | |
| resize: function(a, b) { | |
| e._trigger("resize", a, d(b)) | |
| }, | |
| stop: function(b, c) { | |
| a(this).removeClass("ui-dialog-resizing"), | |
| f.height = a(this).height(), | |
| f.width = a(this).width(), | |
| e._trigger("resizeStop", b, d(c)), | |
| a.ui.dialog.overlay.resize() | |
| } | |
| }).css("position", g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se") | |
| }, | |
| _minHeight: function() { | |
| var a = this.options; | |
| return "auto" === a.height ? a.minHeight : Math.min(a.minHeight, a.height) | |
| }, | |
| _position: function(b) { | |
| var c, d = [], e = [0, 0]; | |
| b ? (("string" == typeof b || "object" == typeof b && "0"in b) && (d = b.split ? b.split(" ") : [b[0], b[1]], | |
| 1 === d.length && (d[1] = d[0]), | |
| a.each(["left", "top"], function(a, b) { | |
| +d[a] === d[a] && (e[a] = d[a], | |
| d[a] = b) | |
| }), | |
| b = { | |
| my: d.join(" "), | |
| at: d.join(" "), | |
| offset: e.join(" ") | |
| }), | |
| b = a.extend({}, a.ui.dialog.prototype.options.position, b)) : b = a.ui.dialog.prototype.options.position, | |
| c = this.uiDialog.is(":visible"), | |
| c || this.uiDialog.show(), | |
| this.uiDialog.position(b), | |
| c || this.uiDialog.hide() | |
| }, | |
| _setOptions: function(b) { | |
| var c = this | |
| , f = {} | |
| , g = !1; | |
| a.each(b, function(a, b) { | |
| c._setOption(a, b), | |
| a in d && (g = !0), | |
| a in e && (f[a] = b) | |
| }), | |
| g && this._size(), | |
| this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", f) | |
| }, | |
| _setOption: function(b, d) { | |
| var e, f, g = this.uiDialog; | |
| switch (b) { | |
| case "buttons": | |
| this._createButtons(d); | |
| break; | |
| case "closeText": | |
| this.uiDialogTitlebarCloseText.text("" + d); | |
| break; | |
| case "dialogClass": | |
| g.removeClass(this.options.dialogClass).addClass(c + d); | |
| break; | |
| case "disabled": | |
| d ? g.addClass("ui-dialog-disabled") : g.removeClass("ui-dialog-disabled"); | |
| break; | |
| case "draggable": | |
| e = g.is(":data(draggable)"), | |
| e && !d && g.draggable("destroy"), | |
| !e && d && this._makeDraggable(); | |
| break; | |
| case "position": | |
| this._position(d); | |
| break; | |
| case "resizable": | |
| f = g.is(":data(resizable)"), | |
| f && !d && g.resizable("destroy"), | |
| f && "string" == typeof d && g.resizable("option", "handles", d), | |
| f || d === !1 || this._makeResizable(d); | |
| break; | |
| case "title": | |
| a(".ui-dialog-title", this.uiDialogTitlebar).html("" + (d || " ")) | |
| } | |
| this._super(b, d) | |
| }, | |
| _size: function() { | |
| var b, c, d, e = this.options, f = this.uiDialog.is(":visible"); | |
| this.element.show().css({ | |
| width: "auto", | |
| minHeight: 0, | |
| height: 0 | |
| }), | |
| e.minWidth > e.width && (e.width = e.minWidth), | |
| b = this.uiDialog.css({ | |
| height: "auto", | |
| width: e.width | |
| }).outerHeight(), | |
| c = Math.max(0, e.minHeight - b), | |
| "auto" === e.height ? a.support.minHeight ? this.element.css({ | |
| minHeight: c, | |
| height: "auto" | |
| }) : (this.uiDialog.show(), | |
| d = this.element.css("height", "auto").height(), | |
| f || this.uiDialog.hide(), | |
| this.element.height(Math.max(d, c))) : this.element.height(Math.max(e.height - b, 0)), | |
| this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", "minHeight", this._minHeight()) | |
| } | |
| }), | |
| a.extend(a.ui.dialog, { | |
| uuid: 0, | |
| maxZ: 0, | |
| getTitleId: function(a) { | |
| var b = a.attr("id"); | |
| return b || (this.uuid += 1, | |
| b = this.uuid), | |
| "ui-dialog-title-" + b | |
| }, | |
| overlay: function(b) { | |
| this.$el = a.ui.dialog.overlay.create(b) | |
| } | |
| }), | |
| a.extend(a.ui.dialog.overlay, { | |
| instances: [], | |
| oldInstances: [], | |
| maxZ: 0, | |
| events: a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","), function(a) { | |
| return a + ".dialog-overlay" | |
| }).join(" "), | |
| create: function(b) { | |
| 0 === this.instances.length && (setTimeout(function() { | |
| a.ui.dialog.overlay.instances.length && a(document).bind(a.ui.dialog.overlay.events, function(b) { | |
| if (a(b.target).zIndex() < a.ui.dialog.overlay.maxZ) | |
| return !1 | |
| }) | |
| }, 1), | |
| a(window).bind("resize.dialog-overlay", a.ui.dialog.overlay.resize)); | |
| var c = this.oldInstances.pop() || a("<div>").addClass("ui-widget-overlay"); | |
| return a(document).bind("keydown.dialog-overlay", function(d) { | |
| var e = a.ui.dialog.overlay.instances; | |
| 0 !== e.length && e[e.length - 1] === c && b.options.closeOnEscape && !d.isDefaultPrevented() && d.keyCode && d.keyCode === a.ui.keyCode.ESCAPE && (b.close(d), | |
| d.preventDefault()) | |
| }), | |
| c.appendTo(document.body).css({ | |
| width: this.width(), | |
| height: this.height() | |
| }), | |
| a.fn.bgiframe && c.bgiframe(), | |
| this.instances.push(c), | |
| c | |
| }, | |
| destroy: function(b) { | |
| var c = a.inArray(b, this.instances) | |
| , d = 0; | |
| c !== -1 && this.oldInstances.push(this.instances.splice(c, 1)[0]), | |
| 0 === this.instances.length && a([document, window]).unbind(".dialog-overlay"), | |
| b.height(0).width(0).remove(), | |
| a.each(this.instances, function() { | |
| d = Math.max(d, this.css("z-index")) | |
| }), | |
| this.maxZ = d | |
| }, | |
| height: function() { | |
| var b, c; | |
| return a.browser.msie ? (b = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight), | |
| c = Math.max(document.documentElement.offsetHeight, document.body.offsetHeight), | |
| b < c ? a(window).height() + "px" : b + "px") : a(document).height() + "px" | |
| }, | |
| width: function() { | |
| var b, c; | |
| return a.browser.msie ? (b = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth), | |
| c = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth), | |
| b < c ? a(window).width() + "px" : b + "px") : a(document).width() + "px" | |
| }, | |
| resize: function() { | |
| var b = a([]); | |
| a.each(a.ui.dialog.overlay.instances, function() { | |
| b = b.add(this) | |
| }), | |
| b.css({ | |
| width: 0, | |
| height: 0 | |
| }).css({ | |
| width: a.ui.dialog.overlay.width(), | |
| height: a.ui.dialog.overlay.height() | |
| }) | |
| } | |
| }), | |
| a.extend(a.ui.dialog.overlay.prototype, { | |
| destroy: function() { | |
| a.ui.dialog.overlay.destroy(this.$el) | |
| } | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| a.widget("ui.draggable", a.ui.mouse, { | |
| version: "1.9.0", | |
| widgetEventPrefix: "drag", | |
| options: { | |
| addClasses: !0, | |
| appendTo: "parent", | |
| axis: !1, | |
| connectToSortable: !1, | |
| containment: !1, | |
| cursor: "auto", | |
| cursorAt: !1, | |
| grid: !1, | |
| handle: !1, | |
| helper: "original", | |
| iframeFix: !1, | |
| opacity: !1, | |
| refreshPositions: !1, | |
| revert: !1, | |
| revertDuration: 500, | |
| scope: "default", | |
| scroll: !0, | |
| scrollSensitivity: 20, | |
| scrollSpeed: 20, | |
| snap: !1, | |
| snapMode: "both", | |
| snapTolerance: 20, | |
| stack: !1, | |
| zIndex: !1 | |
| }, | |
| _create: function() { | |
| "original" != this.options.helper || /^(?:r|a|f)/.test(this.element.css("position")) || (this.element[0].style.position = "relative"), | |
| this.options.addClasses && this.element.addClass("ui-draggable"), | |
| this.options.disabled && this.element.addClass("ui-draggable-disabled"), | |
| this._mouseInit() | |
| }, | |
| _destroy: function() { | |
| this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"), | |
| this._mouseDestroy() | |
| }, | |
| _mouseCapture: function(b) { | |
| var c = this.options; | |
| return !(this.helper || c.disabled || a(b.target).is(".ui-resizable-handle")) && (this.handle = this._getHandle(b), | |
| !!this.handle && (a(c.iframeFix === !0 ? "iframe" : c.iframeFix).each(function() { | |
| a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({ | |
| width: this.offsetWidth + "px", | |
| height: this.offsetHeight + "px", | |
| position: "absolute", | |
| opacity: "0.001", | |
| zIndex: 1e3 | |
| }).css(a(this).offset()).appendTo("body") | |
| }), | |
| !0)) | |
| }, | |
| _mouseStart: function(b) { | |
| var c = this.options; | |
| return this.helper = this._createHelper(b), | |
| this.helper.addClass("ui-draggable-dragging"), | |
| this._cacheHelperProportions(), | |
| a.ui.ddmanager && (a.ui.ddmanager.current = this), | |
| this._cacheMargins(), | |
| this.cssPosition = this.helper.css("position"), | |
| this.scrollParent = this.helper.scrollParent(), | |
| this.offset = this.positionAbs = this.element.offset(), | |
| this.offset = { | |
| top: this.offset.top - this.margins.top, | |
| left: this.offset.left - this.margins.left | |
| }, | |
| a.extend(this.offset, { | |
| click: { | |
| left: b.pageX - this.offset.left, | |
| top: b.pageY - this.offset.top | |
| }, | |
| parent: this._getParentOffset(), | |
| relative: this._getRelativeOffset() | |
| }), | |
| this.originalPosition = this.position = this._generatePosition(b), | |
| this.originalPageX = b.pageX, | |
| this.originalPageY = b.pageY, | |
| c.cursorAt && this._adjustOffsetFromHelper(c.cursorAt), | |
| c.containment && this._setContainment(), | |
| this._trigger("start", b) === !1 ? (this._clear(), | |
| !1) : (this._cacheHelperProportions(), | |
| a.ui.ddmanager && !c.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b), | |
| this._mouseDrag(b, !0), | |
| a.ui.ddmanager && a.ui.ddmanager.dragStart(this, b), | |
| !0) | |
| }, | |
| _mouseDrag: function(b, c) { | |
| if (this.position = this._generatePosition(b), | |
| this.positionAbs = this._convertPositionTo("absolute"), | |
| !c) { | |
| var d = this._uiHash(); | |
| if (this._trigger("drag", b, d) === !1) | |
| return this._mouseUp({}), | |
| !1; | |
| this.position = d.position | |
| } | |
| return this.options.axis && "y" == this.options.axis || (this.helper[0].style.left = this.position.left + "px"), | |
| this.options.axis && "x" == this.options.axis || (this.helper[0].style.top = this.position.top + "px"), | |
| a.ui.ddmanager && a.ui.ddmanager.drag(this, b), | |
| !1 | |
| }, | |
| _mouseStop: function(b) { | |
| var c = !1; | |
| a.ui.ddmanager && !this.options.dropBehaviour && (c = a.ui.ddmanager.drop(this, b)), | |
| this.dropped && (c = this.dropped, | |
| this.dropped = !1); | |
| for (var d = this.element[0], e = !1; d && (d = d.parentNode); ) | |
| d == document && (e = !0); | |
| if (!e && "original" === this.options.helper) | |
| return !1; | |
| if ("invalid" == this.options.revert && !c || "valid" == this.options.revert && c || this.options.revert === !0 || a.isFunction(this.options.revert) && this.options.revert.call(this.element, c)) { | |
| var f = this; | |
| a(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() { | |
| f._trigger("stop", b) !== !1 && f._clear() | |
| }) | |
| } else | |
| this._trigger("stop", b) !== !1 && this._clear(); | |
| return !1 | |
| }, | |
| _mouseUp: function(b) { | |
| return a("div.ui-draggable-iframeFix").each(function() { | |
| this.parentNode.removeChild(this) | |
| }), | |
| a.ui.ddmanager && a.ui.ddmanager.dragStop(this, b), | |
| a.ui.mouse.prototype._mouseUp.call(this, b) | |
| }, | |
| cancel: function() { | |
| return this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(), | |
| this | |
| }, | |
| _getHandle: function(b) { | |
| var c = !this.options.handle || !a(this.options.handle, this.element).length; | |
| return a(this.options.handle, this.element).find("*").andSelf().each(function() { | |
| this == b.target && (c = !0) | |
| }), | |
| c | |
| }, | |
| _createHelper: function(b) { | |
| var c = this.options | |
| , d = a.isFunction(c.helper) ? a(c.helper.apply(this.element[0], [b])) : "clone" == c.helper ? this.element.clone().removeAttr("id") : this.element; | |
| return d.parents("body").length || d.appendTo("parent" == c.appendTo ? this.element[0].parentNode : c.appendTo), | |
| d[0] == this.element[0] || /(fixed|absolute)/.test(d.css("position")) || d.css("position", "absolute"), | |
| d | |
| }, | |
| _adjustOffsetFromHelper: function(b) { | |
| "string" == typeof b && (b = b.split(" ")), | |
| a.isArray(b) && (b = { | |
| left: +b[0], | |
| top: +b[1] || 0 | |
| }), | |
| "left"in b && (this.offset.click.left = b.left + this.margins.left), | |
| "right"in b && (this.offset.click.left = this.helperProportions.width - b.right + this.margins.left), | |
| "top"in b && (this.offset.click.top = b.top + this.margins.top), | |
| "bottom"in b && (this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top) | |
| }, | |
| _getParentOffset: function() { | |
| this.offsetParent = this.helper.offsetParent(); | |
| var b = this.offsetParent.offset(); | |
| return "absolute" == this.cssPosition && this.scrollParent[0] != document && a.contains(this.scrollParent[0], this.offsetParent[0]) && (b.left += this.scrollParent.scrollLeft(), | |
| b.top += this.scrollParent.scrollTop()), | |
| (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && "html" == this.offsetParent[0].tagName.toLowerCase() && a.browser.msie) && (b = { | |
| top: 0, | |
| left: 0 | |
| }), | |
| { | |
| top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), | |
| left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) | |
| } | |
| }, | |
| _getRelativeOffset: function() { | |
| if ("relative" == this.cssPosition) { | |
| var a = this.element.position(); | |
| return { | |
| top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), | |
| left: a.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft() | |
| } | |
| } | |
| return { | |
| top: 0, | |
| left: 0 | |
| } | |
| }, | |
| _cacheMargins: function() { | |
| this.margins = { | |
| left: parseInt(this.element.css("marginLeft"), 10) || 0, | |
| top: parseInt(this.element.css("marginTop"), 10) || 0, | |
| right: parseInt(this.element.css("marginRight"), 10) || 0, | |
| bottom: parseInt(this.element.css("marginBottom"), 10) || 0 | |
| } | |
| }, | |
| _cacheHelperProportions: function() { | |
| this.helperProportions = { | |
| width: this.helper.outerWidth(), | |
| height: this.helper.outerHeight() | |
| } | |
| }, | |
| _setContainment: function() { | |
| var b = this.options; | |
| if ("parent" == b.containment && (b.containment = this.helper[0].parentNode), | |
| "document" != b.containment && "window" != b.containment || (this.containment = ["document" == b.containment ? 0 : a(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, "document" == b.containment ? 0 : a(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, ("document" == b.containment ? 0 : a(window).scrollLeft()) + a("document" == b.containment ? document : window).width() - this.helperProportions.width - this.margins.left, ("document" == b.containment ? 0 : a(window).scrollTop()) + (a("document" == b.containment ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]), | |
| /^(document|window|parent)$/.test(b.containment) || b.containment.constructor == Array) | |
| b.containment.constructor == Array && (this.containment = b.containment); | |
| else { | |
| var c = a(b.containment) | |
| , d = c[0]; | |
| if (!d) | |
| return; | |
| var e = (c.offset(), | |
| "hidden" != a(d).css("overflow")); | |
| this.containment = [(parseInt(a(d).css("borderLeftWidth"), 10) || 0) + (parseInt(a(d).css("paddingLeft"), 10) || 0), (parseInt(a(d).css("borderTopWidth"), 10) || 0) + (parseInt(a(d).css("paddingTop"), 10) || 0), (e ? Math.max(d.scrollWidth, d.offsetWidth) : d.offsetWidth) - (parseInt(a(d).css("borderLeftWidth"), 10) || 0) - (parseInt(a(d).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (e ? Math.max(d.scrollHeight, d.offsetHeight) : d.offsetHeight) - (parseInt(a(d).css("borderTopWidth"), 10) || 0) - (parseInt(a(d).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom], | |
| this.relative_container = c | |
| } | |
| }, | |
| _convertPositionTo: function(b, c) { | |
| c || (c = this.position); | |
| var d = "absolute" == b ? 1 : -1 | |
| , e = (this.options, | |
| "absolute" != this.cssPosition || this.scrollParent[0] != document && a.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent) | |
| , f = /(html|body)/i.test(e[0].tagName); | |
| return { | |
| top: c.top + this.offset.relative.top * d + this.offset.parent.top * d - ("fixed" == this.cssPosition ? -this.scrollParent.scrollTop() : f ? 0 : e.scrollTop()) * d, | |
| left: c.left + this.offset.relative.left * d + this.offset.parent.left * d - ("fixed" == this.cssPosition ? -this.scrollParent.scrollLeft() : f ? 0 : e.scrollLeft()) * d | |
| } | |
| }, | |
| _generatePosition: function(b) { | |
| var c = this.options | |
| , d = "absolute" != this.cssPosition || this.scrollParent[0] != document && a.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent | |
| , e = /(html|body)/i.test(d[0].tagName) | |
| , f = b.pageX | |
| , g = b.pageY; | |
| if (this.originalPosition) { | |
| var h; | |
| if (this.containment) { | |
| if (this.relative_container) { | |
| var i = this.relative_container.offset(); | |
| h = [this.containment[0] + i.left, this.containment[1] + i.top, this.containment[2] + i.left, this.containment[3] + i.top] | |
| } else | |
| h = this.containment; | |
| b.pageX - this.offset.click.left < h[0] && (f = h[0] + this.offset.click.left), | |
| b.pageY - this.offset.click.top < h[1] && (g = h[1] + this.offset.click.top), | |
| b.pageX - this.offset.click.left > h[2] && (f = h[2] + this.offset.click.left), | |
| b.pageY - this.offset.click.top > h[3] && (g = h[3] + this.offset.click.top) | |
| } | |
| if (c.grid) { | |
| var j = c.grid[1] ? this.originalPageY + Math.round((g - this.originalPageY) / c.grid[1]) * c.grid[1] : this.originalPageY; | |
| g = h && (j - this.offset.click.top < h[1] || j - this.offset.click.top > h[3]) ? j - this.offset.click.top < h[1] ? j + c.grid[1] : j - c.grid[1] : j; | |
| var k = c.grid[0] ? this.originalPageX + Math.round((f - this.originalPageX) / c.grid[0]) * c.grid[0] : this.originalPageX; | |
| f = h && (k - this.offset.click.left < h[0] || k - this.offset.click.left > h[2]) ? k - this.offset.click.left < h[0] ? k + c.grid[0] : k - c.grid[0] : k | |
| } | |
| } | |
| return { | |
| top: g - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" == this.cssPosition ? -this.scrollParent.scrollTop() : e ? 0 : d.scrollTop()), | |
| left: f - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" == this.cssPosition ? -this.scrollParent.scrollLeft() : e ? 0 : d.scrollLeft()) | |
| } | |
| }, | |
| _clear: function() { | |
| this.helper.removeClass("ui-draggable-dragging"), | |
| this.helper[0] == this.element[0] || this.cancelHelperRemoval || this.helper.remove(), | |
| this.helper = null, | |
| this.cancelHelperRemoval = !1 | |
| }, | |
| _trigger: function(b, c, d) { | |
| return d = d || this._uiHash(), | |
| a.ui.plugin.call(this, b, [c, d]), | |
| "drag" == b && (this.positionAbs = this._convertPositionTo("absolute")), | |
| a.Widget.prototype._trigger.call(this, b, c, d) | |
| }, | |
| plugins: {}, | |
| _uiHash: function(a) { | |
| return { | |
| helper: this.helper, | |
| position: this.position, | |
| originalPosition: this.originalPosition, | |
| offset: this.positionAbs | |
| } | |
| } | |
| }), | |
| a.ui.plugin.add("draggable", "connectToSortable", { | |
| start: function(b, c) { | |
| var d = a(this).data("draggable") | |
| , e = d.options | |
| , f = a.extend({}, c, { | |
| item: d.element | |
| }); | |
| d.sortables = [], | |
| a(e.connectToSortable).each(function() { | |
| var c = a.data(this, "sortable"); | |
| c && !c.options.disabled && (d.sortables.push({ | |
| instance: c, | |
| shouldRevert: c.options.revert | |
| }), | |
| c.refreshPositions(), | |
| c._trigger("activate", b, f)) | |
| }) | |
| }, | |
| stop: function(b, c) { | |
| var d = a(this).data("draggable") | |
| , e = a.extend({}, c, { | |
| item: d.element | |
| }); | |
| a.each(d.sortables, function() { | |
| this.instance.isOver ? (this.instance.isOver = 0, | |
| d.cancelHelperRemoval = !0, | |
| this.instance.cancelHelperRemoval = !1, | |
| this.shouldRevert && (this.instance.options.revert = !0), | |
| this.instance._mouseStop(b), | |
| this.instance.options.helper = this.instance.options._helper, | |
| "original" == d.options.helper && this.instance.currentItem.css({ | |
| top: "auto", | |
| left: "auto" | |
| })) : (this.instance.cancelHelperRemoval = !1, | |
| this.instance._trigger("deactivate", b, e)) | |
| }) | |
| }, | |
| drag: function(b, c) { | |
| var d = a(this).data("draggable") | |
| , e = this; | |
| a.each(d.sortables, function(f) { | |
| this.instance.positionAbs = d.positionAbs, | |
| this.instance.helperProportions = d.helperProportions, | |
| this.instance.offset.click = d.offset.click, | |
| this.instance._intersectsWith(this.instance.containerCache) ? (this.instance.isOver || (this.instance.isOver = 1, | |
| this.instance.currentItem = a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item", !0), | |
| this.instance.options._helper = this.instance.options.helper, | |
| this.instance.options.helper = function() { | |
| return c.helper[0] | |
| } | |
| , | |
| b.target = this.instance.currentItem[0], | |
| this.instance._mouseCapture(b, !0), | |
| this.instance._mouseStart(b, !0, !0), | |
| this.instance.offset.click.top = d.offset.click.top, | |
| this.instance.offset.click.left = d.offset.click.left, | |
| this.instance.offset.parent.left -= d.offset.parent.left - this.instance.offset.parent.left, | |
| this.instance.offset.parent.top -= d.offset.parent.top - this.instance.offset.parent.top, | |
| d._trigger("toSortable", b), | |
| d.dropped = this.instance.element, | |
| d.currentItem = d.element, | |
| this.instance.fromOutside = d), | |
| this.instance.currentItem && this.instance._mouseDrag(b)) : this.instance.isOver && (this.instance.isOver = 0, | |
| this.instance.cancelHelperRemoval = !0, | |
| this.instance.options.revert = !1, | |
| this.instance._trigger("out", b, this.instance._uiHash(this.instance)), | |
| this.instance._mouseStop(b, !0), | |
| this.instance.options.helper = this.instance.options._helper, | |
| this.instance.currentItem.remove(), | |
| this.instance.placeholder && this.instance.placeholder.remove(), | |
| d._trigger("fromSortable", b), | |
| d.dropped = !1) | |
| }) | |
| } | |
| }), | |
| a.ui.plugin.add("draggable", "cursor", { | |
| start: function(b, c) { | |
| var d = a("body") | |
| , e = a(this).data("draggable").options; | |
| d.css("cursor") && (e._cursor = d.css("cursor")), | |
| d.css("cursor", e.cursor) | |
| }, | |
| stop: function(b, c) { | |
| var d = a(this).data("draggable").options; | |
| d._cursor && a("body").css("cursor", d._cursor) | |
| } | |
| }), | |
| a.ui.plugin.add("draggable", "opacity", { | |
| start: function(b, c) { | |
| var d = a(c.helper) | |
| , e = a(this).data("draggable").options; | |
| d.css("opacity") && (e._opacity = d.css("opacity")), | |
| d.css("opacity", e.opacity) | |
| }, | |
| stop: function(b, c) { | |
| var d = a(this).data("draggable").options; | |
| d._opacity && a(c.helper).css("opacity", d._opacity) | |
| } | |
| }), | |
| a.ui.plugin.add("draggable", "scroll", { | |
| start: function(b, c) { | |
| var d = a(this).data("draggable"); | |
| d.scrollParent[0] != document && "HTML" != d.scrollParent[0].tagName && (d.overflowOffset = d.scrollParent.offset()) | |
| }, | |
| drag: function(b, c) { | |
| var d = a(this).data("draggable") | |
| , e = d.options | |
| , f = !1; | |
| d.scrollParent[0] != document && "HTML" != d.scrollParent[0].tagName ? (e.axis && "x" == e.axis || (d.overflowOffset.top + d.scrollParent[0].offsetHeight - b.pageY < e.scrollSensitivity ? d.scrollParent[0].scrollTop = f = d.scrollParent[0].scrollTop + e.scrollSpeed : b.pageY - d.overflowOffset.top < e.scrollSensitivity && (d.scrollParent[0].scrollTop = f = d.scrollParent[0].scrollTop - e.scrollSpeed)), | |
| e.axis && "y" == e.axis || (d.overflowOffset.left + d.scrollParent[0].offsetWidth - b.pageX < e.scrollSensitivity ? d.scrollParent[0].scrollLeft = f = d.scrollParent[0].scrollLeft + e.scrollSpeed : b.pageX - d.overflowOffset.left < e.scrollSensitivity && (d.scrollParent[0].scrollLeft = f = d.scrollParent[0].scrollLeft - e.scrollSpeed))) : (e.axis && "x" == e.axis || (b.pageY - a(document).scrollTop() < e.scrollSensitivity ? f = a(document).scrollTop(a(document).scrollTop() - e.scrollSpeed) : a(window).height() - (b.pageY - a(document).scrollTop()) < e.scrollSensitivity && (f = a(document).scrollTop(a(document).scrollTop() + e.scrollSpeed))), | |
| e.axis && "y" == e.axis || (b.pageX - a(document).scrollLeft() < e.scrollSensitivity ? f = a(document).scrollLeft(a(document).scrollLeft() - e.scrollSpeed) : a(window).width() - (b.pageX - a(document).scrollLeft()) < e.scrollSensitivity && (f = a(document).scrollLeft(a(document).scrollLeft() + e.scrollSpeed)))), | |
| f !== !1 && a.ui.ddmanager && !e.dropBehaviour && a.ui.ddmanager.prepareOffsets(d, b) | |
| } | |
| }), | |
| a.ui.plugin.add("draggable", "snap", { | |
| start: function(b, c) { | |
| var d = a(this).data("draggable") | |
| , e = d.options; | |
| d.snapElements = [], | |
| a(e.snap.constructor != String ? e.snap.items || ":data(draggable)" : e.snap).each(function() { | |
| var b = a(this) | |
| , c = b.offset(); | |
| this != d.element[0] && d.snapElements.push({ | |
| item: this, | |
| width: b.outerWidth(), | |
| height: b.outerHeight(), | |
| top: c.top, | |
| left: c.left | |
| }) | |
| }) | |
| }, | |
| drag: function(b, c) { | |
| for (var d = a(this).data("draggable"), e = d.options, f = e.snapTolerance, g = c.offset.left, h = g + d.helperProportions.width, i = c.offset.top, j = i + d.helperProportions.height, k = d.snapElements.length - 1; k >= 0; k--) { | |
| var l = d.snapElements[k].left | |
| , m = l + d.snapElements[k].width | |
| , n = d.snapElements[k].top | |
| , o = n + d.snapElements[k].height; | |
| if (l - f < g && g < m + f && n - f < i && i < o + f || l - f < g && g < m + f && n - f < j && j < o + f || l - f < h && h < m + f && n - f < i && i < o + f || l - f < h && h < m + f && n - f < j && j < o + f) { | |
| if ("inner" != e.snapMode) { | |
| var p = Math.abs(n - j) <= f | |
| , q = Math.abs(o - i) <= f | |
| , r = Math.abs(l - h) <= f | |
| , s = Math.abs(m - g) <= f; | |
| p && (c.position.top = d._convertPositionTo("relative", { | |
| top: n - d.helperProportions.height, | |
| left: 0 | |
| }).top - d.margins.top), | |
| q && (c.position.top = d._convertPositionTo("relative", { | |
| top: o, | |
| left: 0 | |
| }).top - d.margins.top), | |
| r && (c.position.left = d._convertPositionTo("relative", { | |
| top: 0, | |
| left: l - d.helperProportions.width | |
| }).left - d.margins.left), | |
| s && (c.position.left = d._convertPositionTo("relative", { | |
| top: 0, | |
| left: m | |
| }).left - d.margins.left) | |
| } | |
| var t = p || q || r || s; | |
| if ("outer" != e.snapMode) { | |
| var p = Math.abs(n - i) <= f | |
| , q = Math.abs(o - j) <= f | |
| , r = Math.abs(l - g) <= f | |
| , s = Math.abs(m - h) <= f; | |
| p && (c.position.top = d._convertPositionTo("relative", { | |
| top: n, | |
| left: 0 | |
| }).top - d.margins.top), | |
| q && (c.position.top = d._convertPositionTo("relative", { | |
| top: o - d.helperProportions.height, | |
| left: 0 | |
| }).top - d.margins.top), | |
| r && (c.position.left = d._convertPositionTo("relative", { | |
| top: 0, | |
| left: l | |
| }).left - d.margins.left), | |
| s && (c.position.left = d._convertPositionTo("relative", { | |
| top: 0, | |
| left: m - d.helperProportions.width | |
| }).left - d.margins.left) | |
| } | |
| !d.snapElements[k].snapping && (p || q || r || s || t) && d.options.snap.snap && d.options.snap.snap.call(d.element, b, a.extend(d._uiHash(), { | |
| snapItem: d.snapElements[k].item | |
| })), | |
| d.snapElements[k].snapping = p || q || r || s || t | |
| } else | |
| d.snapElements[k].snapping && d.options.snap.release && d.options.snap.release.call(d.element, b, a.extend(d._uiHash(), { | |
| snapItem: d.snapElements[k].item | |
| })), | |
| d.snapElements[k].snapping = !1 | |
| } | |
| } | |
| }), | |
| a.ui.plugin.add("draggable", "stack", { | |
| start: function(b, c) { | |
| var d = a(this).data("draggable").options | |
| , e = a.makeArray(a(d.stack)).sort(function(b, c) { | |
| return (parseInt(a(b).css("zIndex"), 10) || 0) - (parseInt(a(c).css("zIndex"), 10) || 0) | |
| }); | |
| if (e.length) { | |
| var f = parseInt(e[0].style.zIndex) || 0; | |
| a(e).each(function(a) { | |
| this.style.zIndex = f + a | |
| }), | |
| this[0].style.zIndex = f + e.length | |
| } | |
| } | |
| }), | |
| a.ui.plugin.add("draggable", "zIndex", { | |
| start: function(b, c) { | |
| var d = a(c.helper) | |
| , e = a(this).data("draggable").options; | |
| d.css("zIndex") && (e._zIndex = d.css("zIndex")), | |
| d.css("zIndex", e.zIndex) | |
| }, | |
| stop: function(b, c) { | |
| var d = a(this).data("draggable").options; | |
| d._zIndex && a(c.helper).css("zIndex", d._zIndex) | |
| } | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| a.widget("ui.droppable", { | |
| version: "1.9.0", | |
| widgetEventPrefix: "drop", | |
| options: { | |
| accept: "*", | |
| activeClass: !1, | |
| addClasses: !0, | |
| greedy: !1, | |
| hoverClass: !1, | |
| scope: "default", | |
| tolerance: "intersect" | |
| }, | |
| _create: function() { | |
| var b = this.options | |
| , c = b.accept; | |
| this.isover = 0, | |
| this.isout = 1, | |
| this.accept = a.isFunction(c) ? c : function(a) { | |
| return a.is(c) | |
| } | |
| , | |
| this.proportions = { | |
| width: this.element[0].offsetWidth, | |
| height: this.element[0].offsetHeight | |
| }, | |
| a.ui.ddmanager.droppables[b.scope] = a.ui.ddmanager.droppables[b.scope] || [], | |
| a.ui.ddmanager.droppables[b.scope].push(this), | |
| b.addClasses && this.element.addClass("ui-droppable") | |
| }, | |
| _destroy: function() { | |
| for (var b = a.ui.ddmanager.droppables[this.options.scope], c = 0; c < b.length; c++) | |
| b[c] == this && b.splice(c, 1); | |
| this.element.removeClass("ui-droppable ui-droppable-disabled") | |
| }, | |
| _setOption: function(b, c) { | |
| "accept" == b && (this.accept = a.isFunction(c) ? c : function(a) { | |
| return a.is(c) | |
| } | |
| ), | |
| a.Widget.prototype._setOption.apply(this, arguments) | |
| }, | |
| _activate: function(b) { | |
| var c = a.ui.ddmanager.current; | |
| this.options.activeClass && this.element.addClass(this.options.activeClass), | |
| c && this._trigger("activate", b, this.ui(c)) | |
| }, | |
| _deactivate: function(b) { | |
| var c = a.ui.ddmanager.current; | |
| this.options.activeClass && this.element.removeClass(this.options.activeClass), | |
| c && this._trigger("deactivate", b, this.ui(c)) | |
| }, | |
| _over: function(b) { | |
| var c = a.ui.ddmanager.current; | |
| c && (c.currentItem || c.element)[0] != this.element[0] && this.accept.call(this.element[0], c.currentItem || c.element) && (this.options.hoverClass && this.element.addClass(this.options.hoverClass), | |
| this._trigger("over", b, this.ui(c))) | |
| }, | |
| _out: function(b) { | |
| var c = a.ui.ddmanager.current; | |
| c && (c.currentItem || c.element)[0] != this.element[0] && this.accept.call(this.element[0], c.currentItem || c.element) && (this.options.hoverClass && this.element.removeClass(this.options.hoverClass), | |
| this._trigger("out", b, this.ui(c))) | |
| }, | |
| _drop: function(b, c) { | |
| var d = c || a.ui.ddmanager.current; | |
| if (!d || (d.currentItem || d.element)[0] == this.element[0]) | |
| return !1; | |
| var e = !1; | |
| return this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() { | |
| var b = a.data(this, "droppable"); | |
| if (b.options.greedy && !b.options.disabled && b.options.scope == d.options.scope && b.accept.call(b.element[0], d.currentItem || d.element) && a.ui.intersect(d, a.extend(b, { | |
| offset: b.element.offset() | |
| }), b.options.tolerance)) | |
| return e = !0, | |
| !1 | |
| }), | |
| !e && (!!this.accept.call(this.element[0], d.currentItem || d.element) && (this.options.activeClass && this.element.removeClass(this.options.activeClass), | |
| this.options.hoverClass && this.element.removeClass(this.options.hoverClass), | |
| this._trigger("drop", b, this.ui(d)), | |
| this.element)) | |
| }, | |
| ui: function(a) { | |
| return { | |
| draggable: a.currentItem || a.element, | |
| helper: a.helper, | |
| position: a.position, | |
| offset: a.positionAbs | |
| } | |
| } | |
| }), | |
| a.ui.intersect = function(b, c, d) { | |
| if (!c.offset) | |
| return !1; | |
| var e = (b.positionAbs || b.position.absolute).left | |
| , f = e + b.helperProportions.width | |
| , g = (b.positionAbs || b.position.absolute).top | |
| , h = g + b.helperProportions.height | |
| , i = c.offset.left | |
| , j = i + c.proportions.width | |
| , k = c.offset.top | |
| , l = k + c.proportions.height; | |
| switch (d) { | |
| case "fit": | |
| return i <= e && f <= j && k <= g && h <= l; | |
| case "intersect": | |
| return i < e + b.helperProportions.width / 2 && f - b.helperProportions.width / 2 < j && k < g + b.helperProportions.height / 2 && h - b.helperProportions.height / 2 < l; | |
| case "pointer": | |
| var m = (b.positionAbs || b.position.absolute).left + (b.clickOffset || b.offset.click).left | |
| , n = (b.positionAbs || b.position.absolute).top + (b.clickOffset || b.offset.click).top | |
| , o = a.ui.isOver(n, m, k, i, c.proportions.height, c.proportions.width); | |
| return o; | |
| case "touch": | |
| return (g >= k && g <= l || h >= k && h <= l || g < k && h > l) && (e >= i && e <= j || f >= i && f <= j || e < i && f > j); | |
| default: | |
| return !1 | |
| } | |
| } | |
| , | |
| a.ui.ddmanager = { | |
| current: null, | |
| droppables: { | |
| "default": [] | |
| }, | |
| prepareOffsets: function(b, c) { | |
| var d = a.ui.ddmanager.droppables[b.options.scope] || [] | |
| , e = c ? c.type : null | |
| , f = (b.currentItem || b.element).find(":data(droppable)").andSelf(); | |
| a: for (var g = 0; g < d.length; g++) | |
| if (!(d[g].options.disabled || b && !d[g].accept.call(d[g].element[0], b.currentItem || b.element))) { | |
| for (var h = 0; h < f.length; h++) | |
| if (f[h] == d[g].element[0]) { | |
| d[g].proportions.height = 0; | |
| continue a | |
| } | |
| d[g].visible = "none" != d[g].element.css("display"), | |
| d[g].visible && ("mousedown" == e && d[g]._activate.call(d[g], c), | |
| d[g].offset = d[g].element.offset(), | |
| d[g].proportions = { | |
| width: d[g].element[0].offsetWidth, | |
| height: d[g].element[0].offsetHeight | |
| }) | |
| } | |
| }, | |
| drop: function(b, c) { | |
| var d = !1; | |
| return a.each(a.ui.ddmanager.droppables[b.options.scope] || [], function() { | |
| this.options && (!this.options.disabled && this.visible && a.ui.intersect(b, this, this.options.tolerance) && (d = this._drop.call(this, c) || d), | |
| !this.options.disabled && this.visible && this.accept.call(this.element[0], b.currentItem || b.element) && (this.isout = 1, | |
| this.isover = 0, | |
| this._deactivate.call(this, c))) | |
| }), | |
| d | |
| }, | |
| dragStart: function(b, c) { | |
| b.element.parentsUntil("body").bind("scroll.droppable", function() { | |
| b.options.refreshPositions || a.ui.ddmanager.prepareOffsets(b, c) | |
| }) | |
| }, | |
| drag: function(b, c) { | |
| b.options.refreshPositions && a.ui.ddmanager.prepareOffsets(b, c), | |
| a.each(a.ui.ddmanager.droppables[b.options.scope] || [], function() { | |
| if (!this.options.disabled && !this.greedyChild && this.visible) { | |
| var d = a.ui.intersect(b, this, this.options.tolerance) | |
| , e = d || 1 != this.isover ? d && 0 == this.isover ? "isover" : null : "isout"; | |
| if (e) { | |
| var f; | |
| if (this.options.greedy) { | |
| var g = this.options.scope | |
| , h = this.element.parents(":data(droppable)").filter(function() { | |
| return a.data(this, "droppable").options.scope === g | |
| }); | |
| h.length && (f = a.data(h[0], "droppable"), | |
| f.greedyChild = "isover" == e ? 1 : 0) | |
| } | |
| f && "isover" == e && (f.isover = 0, | |
| f.isout = 1, | |
| f._out.call(f, c)), | |
| this[e] = 1, | |
| this["isout" == e ? "isover" : "isout"] = 0, | |
| this["isover" == e ? "_over" : "_out"].call(this, c), | |
| f && "isout" == e && (f.isout = 0, | |
| f.isover = 1, | |
| f._over.call(f, c)) | |
| } | |
| } | |
| }) | |
| }, | |
| dragStop: function(b, c) { | |
| b.element.parentsUntil("body").unbind("scroll.droppable"), | |
| b.options.refreshPositions || a.ui.ddmanager.prepareOffsets(b, c) | |
| } | |
| } | |
| }(jQuery), | |
| jQuery.effects || function(a, b) { | |
| var c = a.uiBackCompat !== !1 | |
| , d = "ui-effects-"; | |
| a.effects = { | |
| effect: {} | |
| }, | |
| function(b, c) { | |
| function d(a, b, c) { | |
| var d = m[b.type] || {}; | |
| return null == a ? c || !b.def ? null : b.def : (a = d.floor ? ~~a : parseFloat(a), | |
| isNaN(a) ? b.def : d.mod ? (a + d.mod) % d.mod : 0 > a ? 0 : d.max < a ? d.max : a) | |
| } | |
| function e(a) { | |
| var c = k() | |
| , d = c._rgba = []; | |
| return a = a.toLowerCase(), | |
| p(j, function(b, e) { | |
| var f, g = e.re.exec(a), h = g && e.parse(g), i = e.space || "rgba"; | |
| if (h) | |
| return f = c[i](h), | |
| c[l[i].cache] = f[l[i].cache], | |
| d = c._rgba = f._rgba, | |
| !1 | |
| }), | |
| d.length ? ("0,0,0,0" === d.join() && b.extend(d, g.transparent), | |
| c) : g[a] | |
| } | |
| function f(a, b, c) { | |
| return c = (c + 1) % 1, | |
| 6 * c < 1 ? a + (b - a) * c * 6 : 2 * c < 1 ? b : 3 * c < 2 ? a + (b - a) * (2 / 3 - c) * 6 : a | |
| } | |
| var g, h = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor".split(" "), i = /^([\-+])=\s*(\d+\.?\d*)/, j = [{ | |
| re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, | |
| parse: function(a) { | |
| return [a[1], a[2], a[3], a[4]] | |
| } | |
| }, { | |
| re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, | |
| parse: function(a) { | |
| return [2.55 * a[1], 2.55 * a[2], 2.55 * a[3], a[4]] | |
| } | |
| }, { | |
| re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, | |
| parse: function(a) { | |
| return [parseInt(a[1], 16), parseInt(a[2], 16), parseInt(a[3], 16)] | |
| } | |
| }, { | |
| re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, | |
| parse: function(a) { | |
| return [parseInt(a[1] + a[1], 16), parseInt(a[2] + a[2], 16), parseInt(a[3] + a[3], 16)] | |
| } | |
| }, { | |
| re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, | |
| space: "hsla", | |
| parse: function(a) { | |
| return [a[1], a[2] / 100, a[3] / 100, a[4]] | |
| } | |
| }], k = b.Color = function(a, c, d, e) { | |
| return new b.Color.fn.parse(a,c,d,e) | |
| } | |
| , l = { | |
| rgba: { | |
| props: { | |
| red: { | |
| idx: 0, | |
| type: "byte" | |
| }, | |
| green: { | |
| idx: 1, | |
| type: "byte" | |
| }, | |
| blue: { | |
| idx: 2, | |
| type: "byte" | |
| } | |
| } | |
| }, | |
| hsla: { | |
| props: { | |
| hue: { | |
| idx: 0, | |
| type: "degrees" | |
| }, | |
| saturation: { | |
| idx: 1, | |
| type: "percent" | |
| }, | |
| lightness: { | |
| idx: 2, | |
| type: "percent" | |
| } | |
| } | |
| } | |
| }, m = { | |
| "byte": { | |
| floor: !0, | |
| max: 255 | |
| }, | |
| percent: { | |
| max: 1 | |
| }, | |
| degrees: { | |
| mod: 360, | |
| floor: !0 | |
| } | |
| }, n = k.support = {}, o = b("<p>")[0], p = b.each; | |
| o.style.cssText = "background-color:rgba(1,1,1,.5)", | |
| n.rgba = o.style.backgroundColor.indexOf("rgba") > -1, | |
| p(l, function(a, b) { | |
| b.cache = "_" + a, | |
| b.props.alpha = { | |
| idx: 3, | |
| type: "percent", | |
| def: 1 | |
| } | |
| }), | |
| k.fn = b.extend(k.prototype, { | |
| parse: function(f, h, i, j) { | |
| if (f === c) | |
| return this._rgba = [null, null, null, null], | |
| this; | |
| (f.jquery || f.nodeType) && (f = b(f).css(h), | |
| h = c); | |
| var m = this | |
| , n = b.type(f) | |
| , o = this._rgba = []; | |
| return h !== c && (f = [f, h, i, j], | |
| n = "array"), | |
| "string" === n ? this.parse(e(f) || g._default) : "array" === n ? (p(l.rgba.props, function(a, b) { | |
| o[b.idx] = d(f[b.idx], b) | |
| }), | |
| this) : "object" === n ? (f instanceof k ? p(l, function(a, b) { | |
| f[b.cache] && (m[b.cache] = f[b.cache].slice()) | |
| }) : p(l, function(b, c) { | |
| var e = c.cache; | |
| p(c.props, function(a, b) { | |
| if (!m[e] && c.to) { | |
| if ("alpha" === a || null == f[a]) | |
| return; | |
| m[e] = c.to(m._rgba) | |
| } | |
| m[e][b.idx] = d(f[a], b, !0) | |
| }), | |
| m[e] && a.inArray(null, m[e].slice(0, 3)) < 0 && (m[e][3] = 1, | |
| c.from && (m._rgba = c.from(m[e]))) | |
| }), | |
| this) : void 0 | |
| }, | |
| is: function(a) { | |
| var b = k(a) | |
| , c = !0 | |
| , d = this; | |
| return p(l, function(a, e) { | |
| var f, g = b[e.cache]; | |
| return g && (f = d[e.cache] || e.to && e.to(d._rgba) || [], | |
| p(e.props, function(a, b) { | |
| if (null != g[b.idx]) | |
| return c = g[b.idx] === f[b.idx] | |
| })), | |
| c | |
| }), | |
| c | |
| }, | |
| _space: function() { | |
| var a = [] | |
| , b = this; | |
| return p(l, function(c, d) { | |
| b[d.cache] && a.push(c) | |
| }), | |
| a.pop() | |
| }, | |
| transition: function(a, b) { | |
| var c = k(a) | |
| , e = c._space() | |
| , f = l[e] | |
| , g = 0 === this.alpha() ? k("transparent") : this | |
| , h = g[f.cache] || f.to(g._rgba) | |
| , i = h.slice(); | |
| return c = c[f.cache], | |
| p(f.props, function(a, e) { | |
| var f = e.idx | |
| , g = h[f] | |
| , j = c[f] | |
| , k = m[e.type] || {}; | |
| null !== j && (null === g ? i[f] = j : (k.mod && (j - g > k.mod / 2 ? g += k.mod : g - j > k.mod / 2 && (g -= k.mod)), | |
| i[f] = d((j - g) * b + g, e))) | |
| }), | |
| this[e](i) | |
| }, | |
| blend: function(a) { | |
| if (1 === this._rgba[3]) | |
| return this; | |
| var c = this._rgba.slice() | |
| , d = c.pop() | |
| , e = k(a)._rgba; | |
| return k(b.map(c, function(a, b) { | |
| return (1 - d) * e[b] + d * a | |
| })) | |
| }, | |
| toRgbaString: function() { | |
| var a = "rgba(" | |
| , c = b.map(this._rgba, function(a, b) { | |
| return null == a ? b > 2 ? 1 : 0 : a | |
| }); | |
| return 1 === c[3] && (c.pop(), | |
| a = "rgb("), | |
| a + c.join() + ")" | |
| }, | |
| toHslaString: function() { | |
| var a = "hsla(" | |
| , c = b.map(this.hsla(), function(a, b) { | |
| return null == a && (a = b > 2 ? 1 : 0), | |
| b && b < 3 && (a = Math.round(100 * a) + "%"), | |
| a | |
| }); | |
| return 1 === c[3] && (c.pop(), | |
| a = "hsl("), | |
| a + c.join() + ")" | |
| }, | |
| toHexString: function(a) { | |
| var c = this._rgba.slice() | |
| , d = c.pop(); | |
| return a && c.push(~~(255 * d)), | |
| "#" + b.map(c, function(a, b) { | |
| return a = (a || 0).toString(16), | |
| 1 === a.length ? "0" + a : a | |
| }).join("") | |
| }, | |
| toString: function() { | |
| return 0 === this._rgba[3] ? "transparent" : this.toRgbaString() | |
| } | |
| }), | |
| k.fn.parse.prototype = k.fn, | |
| l.hsla.to = function(a) { | |
| if (null == a[0] || null == a[1] || null == a[2]) | |
| return [null, null, null, a[3]]; | |
| var b, c, d = a[0] / 255, e = a[1] / 255, f = a[2] / 255, g = a[3], h = Math.max(d, e, f), i = Math.min(d, e, f), j = h - i, k = h + i, l = .5 * k; | |
| return b = i === h ? 0 : d === h ? 60 * (e - f) / j + 360 : e === h ? 60 * (f - d) / j + 120 : 60 * (d - e) / j + 240, | |
| c = 0 === l || 1 === l ? l : l <= .5 ? j / k : j / (2 - k), | |
| [Math.round(b) % 360, c, l, null == g ? 1 : g] | |
| } | |
| , | |
| l.hsla.from = function(a) { | |
| if (null == a[0] || null == a[1] || null == a[2]) | |
| return [null, null, null, a[3]]; | |
| var b = a[0] / 360 | |
| , c = a[1] | |
| , d = a[2] | |
| , e = a[3] | |
| , g = d <= .5 ? d * (1 + c) : d + c - d * c | |
| , h = 2 * d - g; | |
| return [Math.round(255 * f(h, g, b + 1 / 3)), Math.round(255 * f(h, g, b)), Math.round(255 * f(h, g, b - 1 / 3)), e] | |
| } | |
| , | |
| p(l, function(a, e) { | |
| var f = e.props | |
| , g = e.cache | |
| , h = e.to | |
| , j = e.from; | |
| k.fn[a] = function(a) { | |
| if (h && !this[g] && (this[g] = h(this._rgba)), | |
| a === c) | |
| return this[g].slice(); | |
| var e, i = b.type(a), l = "array" === i || "object" === i ? a : arguments, m = this[g].slice(); | |
| return p(f, function(a, b) { | |
| var c = l["object" === i ? a : b.idx]; | |
| null == c && (c = m[b.idx]), | |
| m[b.idx] = d(c, b) | |
| }), | |
| j ? (e = k(j(m)), | |
| e[g] = m, | |
| e) : k(m) | |
| } | |
| , | |
| p(f, function(c, d) { | |
| k.fn[c] || (k.fn[c] = function(e) { | |
| var f, g = b.type(e), h = "alpha" === c ? this._hsla ? "hsla" : "rgba" : a, j = this[h](), k = j[d.idx]; | |
| return "undefined" === g ? k : ("function" === g && (e = e.call(this, k), | |
| g = b.type(e)), | |
| null == e && d.empty ? this : ("string" === g && (f = i.exec(e), | |
| f && (e = k + parseFloat(f[2]) * ("+" === f[1] ? 1 : -1))), | |
| j[d.idx] = e, | |
| this[h](j))) | |
| } | |
| ) | |
| }) | |
| }), | |
| p(h, function(a, c) { | |
| b.cssHooks[c] = { | |
| set: function(a, d) { | |
| var f, g, h = ""; | |
| if ("string" !== b.type(d) || (f = e(d))) { | |
| if (d = k(f || d), | |
| !n.rgba && 1 !== d._rgba[3]) { | |
| for (g = "backgroundColor" === c ? a.parentNode : a; ("" === h || "transparent" === h) && g && g.style; ) | |
| try { | |
| h = b.css(g, "backgroundColor"), | |
| g = g.parentNode | |
| } catch (i) {} | |
| d = d.blend(h && "transparent" !== h ? h : "_default") | |
| } | |
| d = d.toRgbaString() | |
| } | |
| try { | |
| a.style[c] = d | |
| } catch (d) {} | |
| } | |
| }, | |
| b.fx.step[c] = function(a) { | |
| a.colorInit || (a.start = k(a.elem, c), | |
| a.end = k(a.end), | |
| a.colorInit = !0), | |
| b.cssHooks[c].set(a.elem, a.start.transition(a.end, a.pos)) | |
| } | |
| }), | |
| b.cssHooks.borderColor = { | |
| expand: function(a) { | |
| var b = {}; | |
| return p(["Top", "Right", "Bottom", "Left"], function(c, d) { | |
| b["border" + d + "Color"] = a | |
| }), | |
| b | |
| } | |
| }, | |
| g = b.Color.names = { | |
| aqua: "#00ffff", | |
| black: "#000000", | |
| blue: "#0000ff", | |
| fuchsia: "#ff00ff", | |
| gray: "#808080", | |
| green: "#008000", | |
| lime: "#00ff00", | |
| maroon: "#800000", | |
| navy: "#000080", | |
| olive: "#808000", | |
| purple: "#800080", | |
| red: "#ff0000", | |
| silver: "#c0c0c0", | |
| teal: "#008080", | |
| white: "#ffffff", | |
| yellow: "#ffff00", | |
| transparent: [null, null, null, 0], | |
| _default: "#ffffff" | |
| } | |
| }(jQuery), | |
| function() { | |
| function c() { | |
| var b, c, d = this.ownerDocument.defaultView ? this.ownerDocument.defaultView.getComputedStyle(this, null) : this.currentStyle, e = {}; | |
| if (d && d.length && d[0] && d[d[0]]) | |
| for (c = d.length; c--; ) | |
| b = d[c], | |
| "string" == typeof d[b] && (e[a.camelCase(b)] = d[b]); | |
| else | |
| for (b in d) | |
| "string" == typeof d[b] && (e[b] = d[b]); | |
| return e | |
| } | |
| function d(b, c) { | |
| var d, e, g = {}; | |
| for (d in c) | |
| e = c[d], | |
| b[d] !== e && (f[d] || !a.fx.step[d] && isNaN(parseFloat(e)) || (g[d] = e)); | |
| return g | |
| } | |
| var e = ["add", "remove", "toggle"] | |
| , f = { | |
| border: 1, | |
| borderBottom: 1, | |
| borderColor: 1, | |
| borderLeft: 1, | |
| borderRight: 1, | |
| borderTop: 1, | |
| borderWidth: 1, | |
| margin: 1, | |
| padding: 1 | |
| }; | |
| a.each(["borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle"], function(b, c) { | |
| a.fx.step[c] = function(a) { | |
| ("none" !== a.end && !a.setAttr || 1 === a.pos && !a.setAttr) && (jQuery.style(a.elem, c, a.end), | |
| a.setAttr = !0) | |
| } | |
| }), | |
| a.effects.animateClass = function(b, f, g, h) { | |
| var i = a.speed(f, g, h); | |
| return this.queue(function() { | |
| var f, g = a(this), h = g.attr("class") || "", j = i.children ? g.find("*").andSelf() : g; | |
| j = j.map(function() { | |
| var b = a(this); | |
| return { | |
| el: b, | |
| start: c.call(this) | |
| } | |
| }), | |
| f = function() { | |
| a.each(e, function(a, c) { | |
| b[c] && g[c + "Class"](b[c]) | |
| }) | |
| } | |
| , | |
| f(), | |
| j = j.map(function() { | |
| return this.end = c.call(this.el[0]), | |
| this.diff = d(this.start, this.end), | |
| this | |
| }), | |
| g.attr("class", h), | |
| j = j.map(function() { | |
| var b = this | |
| , c = a.Deferred() | |
| , d = jQuery.extend({}, i, { | |
| queue: !1, | |
| complete: function() { | |
| c.resolve(b) | |
| } | |
| }); | |
| return this.el.animate(this.diff, d), | |
| c.promise() | |
| }), | |
| a.when.apply(a, j.get()).done(function() { | |
| f(), | |
| a.each(arguments, function() { | |
| var b = this.el; | |
| a.each(this.diff, function(a) { | |
| b.css(a, "") | |
| }) | |
| }), | |
| i.complete.call(g[0]) | |
| }) | |
| }) | |
| } | |
| , | |
| a.fn.extend({ | |
| _addClass: a.fn.addClass, | |
| addClass: function(b, c, d, e) { | |
| return c ? a.effects.animateClass.call(this, { | |
| add: b | |
| }, c, d, e) : this._addClass(b) | |
| }, | |
| _removeClass: a.fn.removeClass, | |
| removeClass: function(b, c, d, e) { | |
| return c ? a.effects.animateClass.call(this, { | |
| remove: b | |
| }, c, d, e) : this._removeClass(b) | |
| }, | |
| _toggleClass: a.fn.toggleClass, | |
| toggleClass: function(c, d, e, f, g) { | |
| return "boolean" == typeof d || d === b ? e ? a.effects.animateClass.call(this, d ? { | |
| add: c | |
| } : { | |
| remove: c | |
| }, e, f, g) : this._toggleClass(c, d) : a.effects.animateClass.call(this, { | |
| toggle: c | |
| }, d, e, f) | |
| }, | |
| switchClass: function(b, c, d, e, f) { | |
| return a.effects.animateClass.call(this, { | |
| add: c, | |
| remove: b | |
| }, d, e, f) | |
| } | |
| }) | |
| }(), | |
| function() { | |
| function e(c, d, e, f) { | |
| return a.isPlainObject(c) && (d = c, | |
| c = c.effect), | |
| c = { | |
| effect: c | |
| }, | |
| d === b && (d = {}), | |
| a.isFunction(d) && (f = d, | |
| e = null, | |
| d = {}), | |
| ("number" == typeof d || a.fx.speeds[d]) && (f = e, | |
| e = d, | |
| d = {}), | |
| a.isFunction(e) && (f = e, | |
| e = null), | |
| d && a.extend(c, d), | |
| e = e || d.duration, | |
| c.duration = a.fx.off ? 0 : "number" == typeof e ? e : e in a.fx.speeds ? a.fx.speeds[e] : a.fx.speeds._default, | |
| c.complete = f || d.complete, | |
| c | |
| } | |
| function f(b) { | |
| return !(b && "number" != typeof b && !a.fx.speeds[b]) || "string" == typeof b && !a.effects.effect[b] && (!c || !a.effects[b]) | |
| } | |
| a.extend(a.effects, { | |
| version: "1.9.0", | |
| save: function(a, b) { | |
| for (var c = 0; c < b.length; c++) | |
| null !== b[c] && a.data(d + b[c], a[0].style[b[c]]) | |
| }, | |
| restore: function(a, c) { | |
| var e, f; | |
| for (f = 0; f < c.length; f++) | |
| null !== c[f] && (e = a.data(d + c[f]), | |
| e === b && (e = ""), | |
| a.css(c[f], e)) | |
| }, | |
| setMode: function(a, b) { | |
| return "toggle" === b && (b = a.is(":hidden") ? "show" : "hide"), | |
| b | |
| }, | |
| getBaseline: function(a, b) { | |
| var c, d; | |
| switch (a[0]) { | |
| case "top": | |
| c = 0; | |
| break; | |
| case "middle": | |
| c = .5; | |
| break; | |
| case "bottom": | |
| c = 1; | |
| break; | |
| default: | |
| c = a[0] / b.height | |
| } | |
| switch (a[1]) { | |
| case "left": | |
| d = 0; | |
| break; | |
| case "center": | |
| d = .5; | |
| break; | |
| case "right": | |
| d = 1; | |
| break; | |
| default: | |
| d = a[1] / b.width | |
| } | |
| return { | |
| x: d, | |
| y: c | |
| } | |
| }, | |
| createWrapper: function(b) { | |
| if (b.parent().is(".ui-effects-wrapper")) | |
| return b.parent(); | |
| var c = { | |
| width: b.outerWidth(!0), | |
| height: b.outerHeight(!0), | |
| "float": b.css("float") | |
| } | |
| , d = a("<div></div>").addClass("ui-effects-wrapper").css({ | |
| fontSize: "100%", | |
| background: "transparent", | |
| border: "none", | |
| margin: 0, | |
| padding: 0 | |
| }) | |
| , e = { | |
| width: b.width(), | |
| height: b.height() | |
| } | |
| , f = document.activeElement; | |
| try { | |
| f.id | |
| } catch (g) { | |
| f = document.body | |
| } | |
| return b.wrap(d), | |
| (b[0] === f || a.contains(b[0], f)) && a(f).focus(), | |
| d = b.parent(), | |
| "static" === b.css("position") ? (d.css({ | |
| position: "relative" | |
| }), | |
| b.css({ | |
| position: "relative" | |
| })) : (a.extend(c, { | |
| position: b.css("position"), | |
| zIndex: b.css("z-index") | |
| }), | |
| a.each(["top", "left", "bottom", "right"], function(a, d) { | |
| c[d] = b.css(d), | |
| isNaN(parseInt(c[d], 10)) && (c[d] = "auto") | |
| }), | |
| b.css({ | |
| position: "relative", | |
| top: 0, | |
| left: 0, | |
| right: "auto", | |
| bottom: "auto" | |
| })), | |
| b.css(e), | |
| d.css(c).show() | |
| }, | |
| removeWrapper: function(b) { | |
| var c = document.activeElement; | |
| return b.parent().is(".ui-effects-wrapper") && (b.parent().replaceWith(b), | |
| (b[0] === c || a.contains(b[0], c)) && a(c).focus()), | |
| b | |
| }, | |
| setTransition: function(b, c, d, e) { | |
| return e = e || {}, | |
| a.each(c, function(a, c) { | |
| var f = b.cssUnit(c); | |
| f[0] > 0 && (e[c] = f[0] * d + f[1]) | |
| }), | |
| e | |
| } | |
| }), | |
| a.fn.extend({ | |
| effect: function(b, d, f, g) { | |
| function h(b) { | |
| function c() { | |
| a.isFunction(e) && e.call(d[0]), | |
| a.isFunction(b) && b() | |
| } | |
| var d = a(this) | |
| , e = i.complete | |
| , f = i.mode; | |
| (d.is(":hidden") ? "hide" === f : "show" === f) ? c() : l.call(d[0], i, c) | |
| } | |
| var i = e.apply(this, arguments) | |
| , j = i.mode | |
| , k = i.queue | |
| , l = a.effects.effect[i.effect] | |
| , m = !l && c && a.effects[i.effect]; | |
| return a.fx.off || !l && !m ? j ? this[j](i.duration, i.complete) : this.each(function() { | |
| i.complete && i.complete.call(this) | |
| }) : l ? k === !1 ? this.each(h) : this.queue(k || "fx", h) : m.call(this, { | |
| options: i, | |
| duration: i.duration, | |
| callback: i.complete, | |
| mode: i.mode | |
| }) | |
| }, | |
| _show: a.fn.show, | |
| show: function(a) { | |
| if (f(a)) | |
| return this._show.apply(this, arguments); | |
| var b = e.apply(this, arguments); | |
| return b.mode = "show", | |
| this.effect.call(this, b) | |
| }, | |
| _hide: a.fn.hide, | |
| hide: function(a) { | |
| if (f(a)) | |
| return this._hide.apply(this, arguments); | |
| var b = e.apply(this, arguments); | |
| return b.mode = "hide", | |
| this.effect.call(this, b) | |
| }, | |
| __toggle: a.fn.toggle, | |
| toggle: function(b) { | |
| if (f(b) || "boolean" == typeof b || a.isFunction(b)) | |
| return this.__toggle.apply(this, arguments); | |
| var c = e.apply(this, arguments); | |
| return c.mode = "toggle", | |
| this.effect.call(this, c) | |
| }, | |
| cssUnit: function(b) { | |
| var c = this.css(b) | |
| , d = []; | |
| return a.each(["em", "px", "%", "pt"], function(a, b) { | |
| c.indexOf(b) > 0 && (d = [parseFloat(c), b]) | |
| }), | |
| d | |
| } | |
| }) | |
| }(), | |
| function() { | |
| var b = {}; | |
| a.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function(a, c) { | |
| b[c] = function(b) { | |
| return Math.pow(b, a + 2) | |
| } | |
| }), | |
| a.extend(b, { | |
| Sine: function(a) { | |
| return 1 - Math.cos(a * Math.PI / 2) | |
| }, | |
| Circ: function(a) { | |
| return 1 - Math.sqrt(1 - a * a) | |
| }, | |
| Elastic: function(a) { | |
| return 0 === a || 1 === a ? a : -Math.pow(2, 8 * (a - 1)) * Math.sin((80 * (a - 1) - 7.5) * Math.PI / 15) | |
| }, | |
| Back: function(a) { | |
| return a * a * (3 * a - 2) | |
| }, | |
| Bounce: function(a) { | |
| for (var b, c = 4; a < ((b = Math.pow(2, --c)) - 1) / 11; ) | |
| ; | |
| return 1 / Math.pow(4, 3 - c) - 7.5625 * Math.pow((3 * b - 2) / 22 - a, 2) | |
| } | |
| }), | |
| a.each(b, function(b, c) { | |
| a.easing["easeIn" + b] = c, | |
| a.easing["easeOut" + b] = function(a) { | |
| return 1 - c(1 - a) | |
| } | |
| , | |
| a.easing["easeInOut" + b] = function(a) { | |
| return a < .5 ? c(2 * a) / 2 : 1 - c(a * -2 + 2) / 2 | |
| } | |
| }) | |
| }() | |
| }(jQuery), | |
| function(a, b) { | |
| var c = /up|down|vertical/ | |
| , d = /up|left|vertical|horizontal/; | |
| a.effects.effect.blind = function(b, e) { | |
| var f, g, h, i = a(this), j = ["position", "top", "bottom", "left", "right", "height", "width"], k = a.effects.setMode(i, b.mode || "hide"), l = b.direction || "up", m = c.test(l), n = m ? "height" : "width", o = m ? "top" : "left", p = d.test(l), q = {}, r = "show" === k; | |
| i.parent().is(".ui-effects-wrapper") ? a.effects.save(i.parent(), j) : a.effects.save(i, j), | |
| i.show(), | |
| f = a.effects.createWrapper(i).css({ | |
| overflow: "hidden" | |
| }), | |
| g = f[n](), | |
| h = parseFloat(f.css(o)) || 0, | |
| q[n] = r ? g : 0, | |
| p || (i.css(m ? "bottom" : "right", 0).css(m ? "top" : "left", "auto").css({ | |
| position: "absolute" | |
| }), | |
| q[o] = r ? h : g + h), | |
| r && (f.css(n, 0), | |
| p || f.css(o, h + g)), | |
| f.animate(q, { | |
| duration: b.duration, | |
| easing: b.easing, | |
| queue: !1, | |
| complete: function() { | |
| "hide" === k && i.hide(), | |
| a.effects.restore(i, j), | |
| a.effects.removeWrapper(i), | |
| e() | |
| } | |
| }) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.bounce = function(b, c) { | |
| var d, e, f, g = a(this), h = ["position", "top", "bottom", "left", "right", "height", "width"], i = a.effects.setMode(g, b.mode || "effect"), j = "hide" === i, k = "show" === i, l = b.direction || "up", m = b.distance, n = b.times || 5, o = 2 * n + (k || j ? 1 : 0), p = b.duration / o, q = b.easing, r = "up" === l || "down" === l ? "top" : "left", s = "up" === l || "left" === l, t = g.queue(), u = t.length; | |
| for ((k || j) && h.push("opacity"), | |
| a.effects.save(g, h), | |
| g.show(), | |
| a.effects.createWrapper(g), | |
| m || (m = g["top" === r ? "outerHeight" : "outerWidth"]() / 3), | |
| k && (f = { | |
| opacity: 1 | |
| }, | |
| f[r] = 0, | |
| g.css("opacity", 0).css(r, s ? 2 * -m : 2 * m).animate(f, p, q)), | |
| j && (m /= Math.pow(2, n - 1)), | |
| f = {}, | |
| f[r] = 0, | |
| d = 0; d < n; d++) | |
| e = {}, | |
| e[r] = (s ? "-=" : "+=") + m, | |
| g.animate(e, p, q).animate(f, p, q), | |
| m = j ? 2 * m : m / 2; | |
| j && (e = { | |
| opacity: 0 | |
| }, | |
| e[r] = (s ? "-=" : "+=") + m, | |
| g.animate(e, p, q)), | |
| g.queue(function() { | |
| j && g.hide(), | |
| a.effects.restore(g, h), | |
| a.effects.removeWrapper(g), | |
| c() | |
| }), | |
| u > 1 && t.splice.apply(t, [1, 0].concat(t.splice(u, o + 1))), | |
| g.dequeue() | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.clip = function(b, c) { | |
| var d, e, f, g = a(this), h = ["position", "top", "bottom", "left", "right", "height", "width"], i = a.effects.setMode(g, b.mode || "hide"), j = "show" === i, k = b.direction || "vertical", l = "vertical" === k, m = l ? "height" : "width", n = l ? "top" : "left", o = {}; | |
| a.effects.save(g, h), | |
| g.show(), | |
| d = a.effects.createWrapper(g).css({ | |
| overflow: "hidden" | |
| }), | |
| e = "IMG" === g[0].tagName ? d : g, | |
| f = e[m](), | |
| j && (e.css(m, 0), | |
| e.css(n, f / 2)), | |
| o[m] = j ? f : 0, | |
| o[n] = j ? 0 : f / 2, | |
| e.animate(o, { | |
| queue: !1, | |
| duration: b.duration, | |
| easing: b.easing, | |
| complete: function() { | |
| j || g.hide(), | |
| a.effects.restore(g, h), | |
| a.effects.removeWrapper(g), | |
| c() | |
| } | |
| }) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.drop = function(b, c) { | |
| var d, e = a(this), f = ["position", "top", "bottom", "left", "right", "opacity", "height", "width"], g = a.effects.setMode(e, b.mode || "hide"), h = "show" === g, i = b.direction || "left", j = "up" === i || "down" === i ? "top" : "left", k = "up" === i || "left" === i ? "pos" : "neg", l = { | |
| opacity: h ? 1 : 0 | |
| }; | |
| a.effects.save(e, f), | |
| e.show(), | |
| a.effects.createWrapper(e), | |
| d = b.distance || e["top" === j ? "outerHeight" : "outerWidth"](!0) / 2, | |
| h && e.css("opacity", 0).css(j, "pos" === k ? -d : d), | |
| l[j] = (h ? "pos" === k ? "+=" : "-=" : "pos" === k ? "-=" : "+=") + d, | |
| e.animate(l, { | |
| queue: !1, | |
| duration: b.duration, | |
| easing: b.easing, | |
| complete: function() { | |
| "hide" === g && e.hide(), | |
| a.effects.restore(e, f), | |
| a.effects.removeWrapper(e), | |
| c() | |
| } | |
| }) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.explode = function(b, c) { | |
| function d() { | |
| t.push(this), | |
| t.length === l * m && e() | |
| } | |
| function e() { | |
| n.css({ | |
| visibility: "visible" | |
| }), | |
| a(t).remove(), | |
| p || n.hide(), | |
| c() | |
| } | |
| var f, g, h, i, j, k, l = b.pieces ? Math.round(Math.sqrt(b.pieces)) : 3, m = l, n = a(this), o = a.effects.setMode(n, b.mode || "hide"), p = "show" === o, q = n.show().css("visibility", "hidden").offset(), r = Math.ceil(n.outerWidth() / m), s = Math.ceil(n.outerHeight() / l), t = []; | |
| for (f = 0; f < l; f++) | |
| for (i = q.top + f * s, | |
| k = f - (l - 1) / 2, | |
| g = 0; g < m; g++) | |
| h = q.left + g * r, | |
| j = g - (m - 1) / 2, | |
| n.clone().appendTo("body").wrap("<div></div>").css({ | |
| position: "absolute", | |
| visibility: "visible", | |
| left: -g * r, | |
| top: -f * s | |
| }).parent().addClass("ui-effects-explode").css({ | |
| position: "absolute", | |
| overflow: "hidden", | |
| width: r, | |
| height: s, | |
| left: h + (p ? j * r : 0), | |
| top: i + (p ? k * s : 0), | |
| opacity: p ? 0 : 1 | |
| }).animate({ | |
| left: h + (p ? 0 : j * r), | |
| top: i + (p ? 0 : k * s), | |
| opacity: p ? 1 : 0 | |
| }, b.duration || 500, b.easing, d) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.fade = function(b, c) { | |
| var d = a(this) | |
| , e = a.effects.setMode(d, b.mode || "toggle"); | |
| d.animate({ | |
| opacity: e | |
| }, { | |
| queue: !1, | |
| duration: b.duration, | |
| easing: b.easing, | |
| complete: c | |
| }) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.fold = function(b, c) { | |
| var d, e, f = a(this), g = ["position", "top", "bottom", "left", "right", "height", "width"], h = a.effects.setMode(f, b.mode || "hide"), i = "show" === h, j = "hide" === h, k = b.size || 15, l = /([0-9]+)%/.exec(k), m = !!b.horizFirst, n = i !== m, o = n ? ["width", "height"] : ["height", "width"], p = b.duration / 2, q = {}, r = {}; | |
| a.effects.save(f, g), | |
| f.show(), | |
| d = a.effects.createWrapper(f).css({ | |
| overflow: "hidden" | |
| }), | |
| e = n ? [d.width(), d.height()] : [d.height(), d.width()], | |
| l && (k = parseInt(l[1], 10) / 100 * e[j ? 0 : 1]), | |
| i && d.css(m ? { | |
| height: 0, | |
| width: k | |
| } : { | |
| height: k, | |
| width: 0 | |
| }), | |
| q[o[0]] = i ? e[0] : k, | |
| r[o[1]] = i ? e[1] : 0, | |
| d.animate(q, p, b.easing).animate(r, p, b.easing, function() { | |
| j && f.hide(), | |
| a.effects.restore(f, g), | |
| a.effects.removeWrapper(f), | |
| c() | |
| }) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.highlight = function(b, c) { | |
| var d = a(this) | |
| , e = ["backgroundImage", "backgroundColor", "opacity"] | |
| , f = a.effects.setMode(d, b.mode || "show") | |
| , g = { | |
| backgroundColor: d.css("backgroundColor") | |
| }; | |
| "hide" === f && (g.opacity = 0), | |
| a.effects.save(d, e), | |
| d.show().css({ | |
| backgroundImage: "none", | |
| backgroundColor: b.color || "#ffff99" | |
| }).animate(g, { | |
| queue: !1, | |
| duration: b.duration, | |
| easing: b.easing, | |
| complete: function() { | |
| "hide" === f && d.hide(), | |
| a.effects.restore(d, e), | |
| c() | |
| } | |
| }) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.pulsate = function(b, c) { | |
| var d, e = a(this), f = a.effects.setMode(e, b.mode || "show"), g = "show" === f, h = "hide" === f, i = g || "hide" === f, j = 2 * (b.times || 5) + (i ? 1 : 0), k = b.duration / j, l = 0, m = e.queue(), n = m.length; | |
| for (!g && e.is(":visible") || (e.css("opacity", 0).show(), | |
| l = 1), | |
| d = 1; d < j; d++) | |
| e.animate({ | |
| opacity: l | |
| }, k, b.easing), | |
| l = 1 - l; | |
| e.animate({ | |
| opacity: l | |
| }, k, b.easing), | |
| e.queue(function() { | |
| h && e.hide(), | |
| c() | |
| }), | |
| n > 1 && m.splice.apply(m, [1, 0].concat(m.splice(n, j + 1))), | |
| e.dequeue() | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.puff = function(b, c) { | |
| var d = a(this) | |
| , e = a.effects.setMode(d, b.mode || "hide") | |
| , f = "hide" === e | |
| , g = parseInt(b.percent, 10) || 150 | |
| , h = g / 100 | |
| , i = { | |
| height: d.height(), | |
| width: d.width() | |
| }; | |
| a.extend(b, { | |
| effect: "scale", | |
| queue: !1, | |
| fade: !0, | |
| mode: e, | |
| complete: c, | |
| percent: f ? g : 100, | |
| from: f ? i : { | |
| height: i.height * h, | |
| width: i.width * h | |
| } | |
| }), | |
| d.effect(b) | |
| } | |
| , | |
| a.effects.effect.scale = function(b, c) { | |
| var d = a(this) | |
| , e = a.extend(!0, {}, b) | |
| , f = a.effects.setMode(d, b.mode || "effect") | |
| , g = parseInt(b.percent, 10) || (0 === parseInt(b.percent, 10) ? 0 : "hide" === f ? 0 : 100) | |
| , h = b.direction || "both" | |
| , i = b.origin | |
| , j = { | |
| height: d.height(), | |
| width: d.width(), | |
| outerHeight: d.outerHeight(), | |
| outerWidth: d.outerWidth() | |
| } | |
| , k = { | |
| y: "horizontal" !== h ? g / 100 : 1, | |
| x: "vertical" !== h ? g / 100 : 1 | |
| }; | |
| e.effect = "size", | |
| e.queue = !1, | |
| e.complete = c, | |
| "effect" !== f && (e.origin = i || ["middle", "center"], | |
| e.restore = !0), | |
| e.from = b.from || ("show" === f ? { | |
| height: 0, | |
| width: 0 | |
| } : j), | |
| e.to = { | |
| height: j.height * k.y, | |
| width: j.width * k.x, | |
| outerHeight: j.outerHeight * k.y, | |
| outerWidth: j.outerWidth * k.x | |
| }, | |
| e.fade && ("show" === f && (e.from.opacity = 0, | |
| e.to.opacity = 1), | |
| "hide" === f && (e.from.opacity = 1, | |
| e.to.opacity = 0)), | |
| d.effect(e) | |
| } | |
| , | |
| a.effects.effect.size = function(b, c) { | |
| var d, e, f, g = a(this), h = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"], i = ["position", "top", "bottom", "left", "right", "overflow", "opacity"], j = ["width", "height", "overflow"], k = ["fontSize"], l = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"], m = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"], n = a.effects.setMode(g, b.mode || "effect"), o = b.restore || "effect" !== n, p = b.scale || "both", q = b.origin || ["middle", "center"], r = g.css("position"); | |
| "show" === n && g.show(), | |
| d = { | |
| height: g.height(), | |
| width: g.width(), | |
| outerHeight: g.outerHeight(), | |
| outerWidth: g.outerWidth() | |
| }, | |
| g.from = b.from || d, | |
| g.to = b.to || d, | |
| f = { | |
| from: { | |
| y: g.from.height / d.height, | |
| x: g.from.width / d.width | |
| }, | |
| to: { | |
| y: g.to.height / d.height, | |
| x: g.to.width / d.width | |
| } | |
| }, | |
| "box" !== p && "both" !== p || (f.from.y !== f.to.y && (h = h.concat(l), | |
| g.from = a.effects.setTransition(g, l, f.from.y, g.from), | |
| g.to = a.effects.setTransition(g, l, f.to.y, g.to)), | |
| f.from.x !== f.to.x && (h = h.concat(m), | |
| g.from = a.effects.setTransition(g, m, f.from.x, g.from), | |
| g.to = a.effects.setTransition(g, m, f.to.x, g.to))), | |
| "content" !== p && "both" !== p || f.from.y !== f.to.y && (h = h.concat(k), | |
| g.from = a.effects.setTransition(g, k, f.from.y, g.from), | |
| g.to = a.effects.setTransition(g, k, f.to.y, g.to)), | |
| a.effects.save(g, o ? h : i), | |
| g.show(), | |
| a.effects.createWrapper(g), | |
| g.css("overflow", "hidden").css(g.from), | |
| q && (e = a.effects.getBaseline(q, d), | |
| g.from.top = (d.outerHeight - g.outerHeight()) * e.y, | |
| g.from.left = (d.outerWidth - g.outerWidth()) * e.x, | |
| g.to.top = (d.outerHeight - g.to.outerHeight) * e.y, | |
| g.to.left = (d.outerWidth - g.to.outerWidth) * e.x), | |
| g.css(g.from), | |
| "content" !== p && "both" !== p || (l = l.concat(["marginTop", "marginBottom"]).concat(k), | |
| m = m.concat(["marginLeft", "marginRight"]), | |
| j = h.concat(l).concat(m), | |
| g.find("*[width]").each(function() { | |
| var c = a(this) | |
| , d = { | |
| height: c.height(), | |
| width: c.width() | |
| }; | |
| o && a.effects.save(c, j), | |
| c.from = { | |
| height: d.height * f.from.y, | |
| width: d.width * f.from.x | |
| }, | |
| c.to = { | |
| height: d.height * f.to.y, | |
| width: d.width * f.to.x | |
| }, | |
| f.from.y !== f.to.y && (c.from = a.effects.setTransition(c, l, f.from.y, c.from), | |
| c.to = a.effects.setTransition(c, l, f.to.y, c.to)), | |
| f.from.x !== f.to.x && (c.from = a.effects.setTransition(c, m, f.from.x, c.from), | |
| c.to = a.effects.setTransition(c, m, f.to.x, c.to)), | |
| c.css(c.from), | |
| c.animate(c.to, b.duration, b.easing, function() { | |
| o && a.effects.restore(c, j) | |
| }) | |
| })), | |
| g.animate(g.to, { | |
| queue: !1, | |
| duration: b.duration, | |
| easing: b.easing, | |
| complete: function() { | |
| 0 === g.to.opacity && g.css("opacity", g.from.opacity), | |
| "hide" === n && g.hide(), | |
| a.effects.restore(g, o ? h : i), | |
| o || ("static" === r ? g.css({ | |
| position: "relative", | |
| top: g.to.top, | |
| left: g.to.left | |
| }) : a.each(["top", "left"], function(a, b) { | |
| g.css(b, function(b, c) { | |
| var d = parseInt(c, 10) | |
| , e = a ? g.to.left : g.to.top; | |
| return "auto" === c ? e + "px" : d + e + "px" | |
| }) | |
| })), | |
| a.effects.removeWrapper(g), | |
| c() | |
| } | |
| }) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.shake = function(b, c) { | |
| var d, e = a(this), f = ["position", "top", "bottom", "left", "right", "height", "width"], g = a.effects.setMode(e, b.mode || "effect"), h = b.direction || "left", i = b.distance || 20, j = b.times || 3, k = 2 * j + 1, l = Math.round(b.duration / k), m = "up" === h || "down" === h ? "top" : "left", n = "up" === h || "left" === h, o = {}, p = {}, q = {}, r = e.queue(), s = r.length; | |
| for (a.effects.save(e, f), | |
| e.show(), | |
| a.effects.createWrapper(e), | |
| o[m] = (n ? "-=" : "+=") + i, | |
| p[m] = (n ? "+=" : "-=") + 2 * i, | |
| q[m] = (n ? "-=" : "+=") + 2 * i, | |
| e.animate(o, l, b.easing), | |
| d = 1; d < j; d++) | |
| e.animate(p, l, b.easing).animate(q, l, b.easing); | |
| e.animate(p, l, b.easing).animate(o, l / 2, b.easing).queue(function() { | |
| "hide" === g && e.hide(), | |
| a.effects.restore(e, f), | |
| a.effects.removeWrapper(e), | |
| c() | |
| }), | |
| s > 1 && r.splice.apply(r, [1, 0].concat(r.splice(s, k + 1))), | |
| e.dequeue() | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.slide = function(b, c) { | |
| var d, e = a(this), f = ["position", "top", "bottom", "left", "right", "width", "height"], g = a.effects.setMode(e, b.mode || "show"), h = "show" === g, i = b.direction || "left", j = "up" === i || "down" === i ? "top" : "left", k = "up" === i || "left" === i, l = {}; | |
| a.effects.save(e, f), | |
| e.show(), | |
| d = b.distance || e["top" === j ? "outerHeight" : "outerWidth"](!0), | |
| a.effects.createWrapper(e).css({ | |
| overflow: "hidden" | |
| }), | |
| h && e.css(j, k ? isNaN(d) ? "-" + d : -d : d), | |
| l[j] = (h ? k ? "+=" : "-=" : k ? "-=" : "+=") + d, | |
| e.animate(l, { | |
| queue: !1, | |
| duration: b.duration, | |
| easing: b.easing, | |
| complete: function() { | |
| "hide" === g && e.hide(), | |
| a.effects.restore(e, f), | |
| a.effects.removeWrapper(e), | |
| c() | |
| } | |
| }) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.effects.effect.transfer = function(b, c) { | |
| var d = a(this) | |
| , e = a(b.to) | |
| , f = "fixed" === e.css("position") | |
| , g = a("body") | |
| , h = f ? g.scrollTop() : 0 | |
| , i = f ? g.scrollLeft() : 0 | |
| , j = e.offset() | |
| , k = { | |
| top: j.top - h, | |
| left: j.left - i, | |
| height: e.innerHeight(), | |
| width: e.innerWidth() | |
| } | |
| , l = d.offset() | |
| , m = a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.className).css({ | |
| top: l.top - h, | |
| left: l.left - i, | |
| height: d.innerHeight(), | |
| width: d.innerWidth(), | |
| position: f ? "fixed" : "absolute" | |
| }).animate(k, b.duration, b.easing, function() { | |
| m.remove(), | |
| c() | |
| }) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| var c = !1; | |
| a.widget("ui.menu", { | |
| version: "1.9.0", | |
| defaultElement: "<ul>", | |
| delay: 300, | |
| options: { | |
| icons: { | |
| submenu: "ui-icon-carat-1-e" | |
| }, | |
| menus: "ul", | |
| position: { | |
| my: "left top", | |
| at: "right top" | |
| }, | |
| role: "menu", | |
| blur: null, | |
| focus: null, | |
| select: null | |
| }, | |
| _create: function() { | |
| this.activeMenu = this.element, | |
| this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons", !!this.element.find(".ui-icon").length).attr({ | |
| role: this.options.role, | |
| tabIndex: 0 | |
| }).bind("click" + this.eventNamespace, a.proxy(function(a) { | |
| this.options.disabled && a.preventDefault() | |
| }, this)), | |
| this.options.disabled && this.element.addClass("ui-state-disabled").attr("aria-disabled", "true"), | |
| this._on({ | |
| "mousedown .ui-menu-item > a": function(a) { | |
| a.preventDefault() | |
| }, | |
| "click .ui-state-disabled > a": function(a) { | |
| a.preventDefault() | |
| }, | |
| "click .ui-menu-item:has(a)": function(b) { | |
| var d = a(b.target).closest(".ui-menu-item"); | |
| !c && d.not(".ui-state-disabled").length && (c = !0, | |
| this.select(b), | |
| d.has(".ui-menu").length ? this.expand(b) : this.element.is(":focus") || (this.element.trigger("focus", [!0]), | |
| this.active && 1 === this.active.parents(".ui-menu").length && clearTimeout(this.timer))) | |
| }, | |
| "mouseenter .ui-menu-item": function(b) { | |
| var c = a(b.currentTarget); | |
| c.siblings().children(".ui-state-active").removeClass("ui-state-active"), | |
| this.focus(b, c) | |
| }, | |
| mouseleave: "collapseAll", | |
| "mouseleave .ui-menu": "collapseAll", | |
| focus: function(a, b) { | |
| var c = this.active || this.element.children(".ui-menu-item").eq(0); | |
| b || this.focus(a, c) | |
| }, | |
| blur: function(b) { | |
| this._delay(function() { | |
| a.contains(this.element[0], this.document[0].activeElement) || this.collapseAll(b) | |
| }) | |
| }, | |
| keydown: "_keydown" | |
| }), | |
| this.refresh(), | |
| this._on(this.document, { | |
| click: function(b) { | |
| a(b.target).closest(".ui-menu").length || this.collapseAll(b), | |
| c = !1 | |
| } | |
| }) | |
| }, | |
| _destroy: function() { | |
| this.element.removeAttr("aria-activedescendant").find(".ui-menu").andSelf().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(), | |
| this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function() { | |
| var b = a(this); | |
| b.data("ui-menu-submenu-carat") && b.remove() | |
| }), | |
| this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content") | |
| }, | |
| _keydown: function(b) { | |
| function c(a) { | |
| return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&") | |
| } | |
| var d, e, f, g, h, i = !0; | |
| switch (b.keyCode) { | |
| case a.ui.keyCode.PAGE_UP: | |
| this.a6C(b); | |
| break; | |
| case a.ui.keyCode.PAGE_DOWN: | |
| this.a6d(b); | |
| break; | |
| case a.ui.keyCode.HOME: | |
| this._move("first", "first", b); | |
| break; | |
| case a.ui.keyCode.END: | |
| this._move("last", "last", b); | |
| break; | |
| case a.ui.keyCode.UP: | |
| this.previous(b); | |
| break; | |
| case a.ui.keyCode.DOWN: | |
| this.next(b); | |
| break; | |
| case a.ui.keyCode.LEFT: | |
| this.collapse(b); | |
| break; | |
| case a.ui.keyCode.RIGHT: | |
| this.active && !this.active.is(".ui-state-disabled") && this.expand(b); | |
| break; | |
| case a.ui.keyCode.ENTER: | |
| case a.ui.keyCode.SPACE: | |
| this._activate(b); | |
| break; | |
| case a.ui.keyCode.ESCAPE: | |
| this.collapse(b); | |
| break; | |
| default: | |
| i = !1, | |
| e = this.previousFilter || "", | |
| f = String.fromCharCode(b.keyCode), | |
| g = !1, | |
| clearTimeout(this.filtera6K), | |
| f === e ? g = !0 : f = e + f, | |
| h = new RegExp("^" + c(f),"i"), | |
| d = this.activeMenu.children(".ui-menu-item").filter(function() { | |
| return h.test(a(this).children("a").text()) | |
| }), | |
| d = g && d.index(this.active.next()) !== -1 ? this.active.nextAll(".ui-menu-item") : d, | |
| d.length || (f = String.fromCharCode(b.keyCode), | |
| h = new RegExp("^" + c(f),"i"), | |
| d = this.activeMenu.children(".ui-menu-item").filter(function() { | |
| return h.test(a(this).children("a").text()) | |
| })), | |
| d.length ? (this.focus(b, d), | |
| d.length > 1 ? (this.previousFilter = f, | |
| this.filtera6K = this._delay(function() { | |
| delete this.previousFilter | |
| }, 1e3)) : delete this.previousFilter) : delete this.previousFilter | |
| } | |
| i && b.preventDefault() | |
| }, | |
| _activate: function(a) { | |
| this.active.is(".ui-state-disabled") || (this.active.children("a[aria-haspopup='true']").length ? this.expand(a) : this.select(a)) | |
| }, | |
| refresh: function() { | |
| var b, c = this.options.icons.submenu, d = this.element.find(this.options.menus + ":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({ | |
| role: this.options.role, | |
| "aria-hidden": "true", | |
| "aria-expanded": "false" | |
| }); | |
| b = d.add(this.element), | |
| b.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role", "presentation").children("a").uniqueId().addClass("ui-corner-all").attr({ | |
| tabIndex: -1, | |
| role: this._itemRole() | |
| }), | |
| b.children(":not(.ui-menu-item)").each(function() { | |
| var b = a(this); | |
| /[^\-\u2014\u2013\s]/.test(b.text()) || b.addClass("ui-widget-content ui-menu-divider") | |
| }), | |
| b.children(".ui-state-disabled").attr("aria-disabled", "true"), | |
| d.each(function() { | |
| var b = a(this) | |
| , d = b.prev("a") | |
| , e = a("<span>").addClass("ui-menu-icon ui-icon " + c).data("ui-menu-submenu-carat", !0); | |
| d.attr("aria-haspopup", "true").prepend(e), | |
| b.attr("aria-labelledby", d.attr("id")) | |
| }), | |
| this.active && !a.contains(this.element[0], this.active[0]) && this.blur() | |
| }, | |
| _itemRole: function() { | |
| return { | |
| menu: "menuitem", | |
| listbox: "option" | |
| }[this.options.role] | |
| }, | |
| focus: function(a, b) { | |
| var c, d; | |
| this.blur(a, a && "focus" === a.type), | |
| this._scrollIntoView(b), | |
| this.active = b.first(), | |
| d = this.active.children("a").addClass("ui-state-focus"), | |
| this.options.role && this.element.attr("aria-activedescendant", d.attr("id")), | |
| this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"), | |
| a && "keydown" === a.type ? this._close() : this.timer = this._delay(function() { | |
| this._close() | |
| }, this.delay), | |
| c = b.children(".ui-menu"), | |
| c.length && /^mouse/.test(a.type) && this._startOpening(c), | |
| this.activeMenu = b.parent(), | |
| this._trigger("focus", a, { | |
| item: b | |
| }) | |
| }, | |
| _scrollIntoView: function(b) { | |
| var c, d, e, f, g, h; | |
| this._hasScroll() && (c = parseFloat(a.css(this.activeMenu[0], "borderTopWidth")) || 0, | |
| d = parseFloat(a.css(this.activeMenu[0], "paddingTop")) || 0, | |
| e = b.offset().top - this.activeMenu.offset().top - c - d, | |
| f = this.activeMenu.scrollTop(), | |
| g = this.activeMenu.height(), | |
| h = b.height(), | |
| e < 0 ? this.activeMenu.scrollTop(f + e) : e + h > g && this.activeMenu.scrollTop(f + e - g + h)) | |
| }, | |
| blur: function(a, b) { | |
| b || clearTimeout(this.timer), | |
| this.active && (this.active.children("a").removeClass("ui-state-focus"), | |
| this.active = null, | |
| this._trigger("blur", a, { | |
| item: this.active | |
| })) | |
| }, | |
| _startOpening: function(a) { | |
| clearTimeout(this.timer), | |
| "true" === a.attr("aria-hidden") && (this.timer = this._delay(function() { | |
| this._close(), | |
| this._open(a) | |
| }, this.delay)) | |
| }, | |
| _open: function(b) { | |
| var c = a.extend({ | |
| of: this.active | |
| }, this.options.position); | |
| clearTimeout(this.timer), | |
| this.element.find(".ui-menu").not(b.parents(".ui-menu")).hide().attr("aria-hidden", "true"), | |
| b.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(c) | |
| }, | |
| collapseAll: function(b, c) { | |
| clearTimeout(this.timer), | |
| this.timer = this._delay(function() { | |
| var d = c ? this.element : a(b && b.target).closest(this.element.find(".ui-menu")); | |
| d.length || (d = this.element), | |
| this._close(d), | |
| this.blur(b), | |
| this.activeMenu = d | |
| }, this.delay) | |
| }, | |
| _close: function(a) { | |
| a || (a = this.active ? this.active.parent() : this.element), | |
| a.find(".ui-menu").hide().attr("aria-hidden", "true").attr("aria-expanded", "false").end().find("a.ui-state-active").removeClass("ui-state-active") | |
| }, | |
| collapse: function(a) { | |
| var b = this.active && this.active.parent().closest(".ui-menu-item", this.element); | |
| b && b.length && (this._close(), | |
| this.focus(a, b)) | |
| }, | |
| expand: function(a) { | |
| var b = this.active && this.active.children(".ui-menu ").children(".ui-menu-item").first(); | |
| b && b.length && (this._open(b.parent()), | |
| this._delay(function() { | |
| this.focus(a, b) | |
| })) | |
| }, | |
| next: function(a) { | |
| this._move("next", "first", a) | |
| }, | |
| previous: function(a) { | |
| this._move("prev", "last", a) | |
| }, | |
| isFirstItem: function() { | |
| return this.active && !this.active.prevAll(".ui-menu-item").length | |
| }, | |
| isLastItem: function() { | |
| return this.active && !this.active.nextAll(".ui-menu-item").length | |
| }, | |
| _move: function(a, b, c) { | |
| var d; | |
| this.active && (d = "first" === a || "last" === a ? this.active["first" === a ? "prevAll" : "nextAll"](".ui-menu-item").eq(-1) : this.active[a + "All"](".ui-menu-item").eq(0)), | |
| d && d.length && this.active || (d = this.activeMenu.children(".ui-menu-item")[b]()), | |
| this.focus(c, d) | |
| }, | |
| a6d: function(b) { | |
| var c, d, e; | |
| return this.active ? void (this.isLastItem() || (this._hasScroll() ? (d = this.active.offset().top, | |
| e = this.element.height(), | |
| this.active.nextAll(".ui-menu-item").each(function() { | |
| return c = a(this), | |
| c.offset().top - d - e < 0 | |
| }), | |
| this.focus(b, c)) : this.focus(b, this.activeMenu.children(".ui-menu-item")[this.active ? "last" : "first"]()))) : void this.next(b) | |
| }, | |
| a6C: function(b) { | |
| var c, d, e; | |
| return this.active ? void (this.isFirstItem() || (this._hasScroll() ? (d = this.active.offset().top, | |
| e = this.element.height(), | |
| this.active.prevAll(".ui-menu-item").each(function() { | |
| return c = a(this), | |
| c.offset().top - d + e > 0 | |
| }), | |
| this.focus(b, c)) : this.focus(b, this.activeMenu.children(".ui-menu-item").first()))) : void this.next(b) | |
| }, | |
| _hasScroll: function() { | |
| return this.element.outerHeight() < this.element.prop("scrollHeight") | |
| }, | |
| select: function(b) { | |
| this.active = this.active || a(b.target).closest(".ui-menu-item"); | |
| var c = { | |
| item: this.active | |
| }; | |
| this.active.has(".ui-menu").length || this.collapseAll(b, !0), | |
| this._trigger("select", b, c) | |
| } | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| a.widget("ui.progressbar", { | |
| version: "1.9.0", | |
| options: { | |
| value: 0, | |
| max: 100 | |
| }, | |
| min: 0, | |
| _create: function() { | |
| this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({ | |
| role: "progressbar", | |
| "aria-valuemin": this.min, | |
| "aria-valuemax": this.options.max, | |
| "aria-valuenow": this._value() | |
| }), | |
| this.valueDiv = a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element), | |
| this.oldValue = this._value(), | |
| this._refreshValue() | |
| }, | |
| _destroy: function() { | |
| this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"), | |
| this.valueDiv.remove() | |
| }, | |
| value: function(a) { | |
| return a === b ? this._value() : (this._setOption("value", a), | |
| this) | |
| }, | |
| _setOption: function(a, b) { | |
| "value" === a && (this.options.value = b, | |
| this._refreshValue(), | |
| this._value() === this.options.max && this._trigger("complete")), | |
| this._super(a, b) | |
| }, | |
| _value: function() { | |
| var a = this.options.value; | |
| return "number" != typeof a && (a = 0), | |
| Math.min(this.options.max, Math.max(this.min, a)) | |
| }, | |
| _percentage: function() { | |
| return 100 * this._value() / this.options.max | |
| }, | |
| _refreshValue: function() { | |
| var a = this.value() | |
| , b = this._percentage(); | |
| this.oldValue !== a && (this.oldValue = a, | |
| this._trigger("change")), | |
| this.valueDiv.toggle(a > this.min).toggleClass("ui-corner-right", a === this.options.max).width(b.toFixed(0) + "%"), | |
| this.element.attr("aria-valuenow", a) | |
| } | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| a.widget("ui.resizable", a.ui.mouse, { | |
| version: "1.9.0", | |
| widgetEventPrefix: "resize", | |
| options: { | |
| alsoResize: !1, | |
| animate: !1, | |
| animateDuration: "slow", | |
| animateEasing: "swing", | |
| aspectRatio: !1, | |
| autoHide: !1, | |
| containment: !1, | |
| ghost: !1, | |
| grid: !1, | |
| handles: "e,s,se", | |
| helper: !1, | |
| maxHeight: null, | |
| maxWidth: null, | |
| minHeight: 10, | |
| minWidth: 10, | |
| zIndex: 1e3 | |
| }, | |
| _create: function() { | |
| var b = this | |
| , c = this.options; | |
| if (this.element.addClass("ui-resizable"), | |
| a.extend(this, { | |
| _aspectRatio: !!c.aspectRatio, | |
| aspectRatio: c.aspectRatio, | |
| originalElement: this.element, | |
| _proportionallyResizeElements: [], | |
| _helper: c.helper || c.ghost || c.animate ? c.helper || "ui-resizable-helper" : null | |
| }), | |
| this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i) && (this.element.wrap(a('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({ | |
| position: this.element.css("position"), | |
| width: this.element.outerWidth(), | |
| height: this.element.outerHeight(), | |
| top: this.element.css("top"), | |
| left: this.element.css("left") | |
| })), | |
| this.element = this.element.parent().data("resizable", this.element.data("resizable")), | |
| this.elementIsWrapper = !0, | |
| this.element.css({ | |
| marginLeft: this.originalElement.css("marginLeft"), | |
| marginTop: this.originalElement.css("marginTop"), | |
| marginRight: this.originalElement.css("marginRight"), | |
| marginBottom: this.originalElement.css("marginBottom") | |
| }), | |
| this.originalElement.css({ | |
| marginLeft: 0, | |
| marginTop: 0, | |
| marginRight: 0, | |
| marginBottom: 0 | |
| }), | |
| this.originalResizeStyle = this.originalElement.css("resize"), | |
| this.originalElement.css("resize", "none"), | |
| this._proportionallyResizeElements.push(this.originalElement.css({ | |
| position: "static", | |
| zoom: 1, | |
| display: "block" | |
| })), | |
| this.originalElement.css({ | |
| margin: this.originalElement.css("margin") | |
| }), | |
| this._proportionallyResize()), | |
| this.handles = c.handles || (a(".ui-resizable-handle", this.element).length ? { | |
| n: ".ui-resizable-n", | |
| e: ".ui-resizable-e", | |
| s: ".ui-resizable-s", | |
| w: ".ui-resizable-w", | |
| se: ".ui-resizable-se", | |
| sw: ".ui-resizable-sw", | |
| ne: ".ui-resizable-ne", | |
| nw: ".ui-resizable-nw" | |
| } : "e,s,se"), | |
| this.handles.constructor == String) { | |
| "all" == this.handles && (this.handles = "n,e,s,w,se,sw,ne,nw"); | |
| var d = this.handles.split(","); | |
| this.handles = {}; | |
| for (var e = 0; e < d.length; e++) { | |
| var f = a.trim(d[e]) | |
| , g = "ui-resizable-" + f | |
| , h = a('<div class="ui-resizable-handle ' + g + '"></div>'); | |
| h.css({ | |
| zIndex: c.zIndex | |
| }), | |
| "se" == f && h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"), | |
| this.handles[f] = ".ui-resizable-" + f, | |
| this.element.append(h) | |
| } | |
| } | |
| this._renderAxis = function(b) { | |
| b = b || this.element; | |
| for (var c in this.handles) { | |
| if (this.handles[c].constructor == String && (this.handles[c] = a(this.handles[c], this.element).show()), | |
| this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { | |
| var d = a(this.handles[c], this.element) | |
| , e = 0; | |
| e = /sw|ne|nw|se|n|s/.test(c) ? d.outerHeight() : d.outerWidth(); | |
| var f = ["padding", /ne|nw|n/.test(c) ? "Top" : /se|sw|s/.test(c) ? "Bottom" : /^e$/.test(c) ? "Right" : "Left"].join(""); | |
| b.css(f, e), | |
| this._proportionallyResize() | |
| } | |
| a(this.handles[c]).length | |
| } | |
| } | |
| , | |
| this._renderAxis(this.element), | |
| this._handles = a(".ui-resizable-handle", this.element).disableSelection(), | |
| this._handles.mouseover(function() { | |
| if (!b.resizing) { | |
| if (this.className) | |
| var a = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); | |
| b.axis = a && a[1] ? a[1] : "se" | |
| } | |
| }), | |
| c.autoHide && (this._handles.hide(), | |
| a(this.element).addClass("ui-resizable-autohide").mouseenter(function() { | |
| c.disabled || (a(this).removeClass("ui-resizable-autohide"), | |
| b._handles.show()) | |
| }).mouseleave(function() { | |
| c.disabled || b.resizing || (a(this).addClass("ui-resizable-autohide"), | |
| b._handles.hide()) | |
| })), | |
| this._mouseInit() | |
| }, | |
| _destroy: function() { | |
| this._mouseDestroy(); | |
| var b = function(b) { | |
| a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove() | |
| }; | |
| if (this.elementIsWrapper) { | |
| b(this.element); | |
| var c = this.element; | |
| c.after(this.originalElement.css({ | |
| position: c.css("position"), | |
| width: c.outerWidth(), | |
| height: c.outerHeight(), | |
| top: c.css("top"), | |
| left: c.css("left") | |
| })).remove() | |
| } | |
| return this.originalElement.css("resize", this.originalResizeStyle), | |
| b(this.originalElement), | |
| this | |
| }, | |
| _mouseCapture: function(b) { | |
| var c = !1; | |
| for (var d in this.handles) | |
| a(this.handles[d])[0] == b.target && (c = !0); | |
| return !this.options.disabled && c | |
| }, | |
| _mouseStart: function(b) { | |
| var d = this.options | |
| , e = this.element.position() | |
| , f = this.element; | |
| this.resizing = !0, | |
| this.documentScroll = { | |
| top: a(document).scrollTop(), | |
| left: a(document).scrollLeft() | |
| }, | |
| (f.is(".ui-draggable") || /absolute/.test(f.css("position"))) && f.css({ | |
| position: "absolute", | |
| top: e.top, | |
| left: e.left | |
| }), | |
| this._renderProxy(); | |
| var g = c(this.helper.css("left")) | |
| , h = c(this.helper.css("top")); | |
| d.containment && (g += a(d.containment).scrollLeft() || 0, | |
| h += a(d.containment).scrollTop() || 0), | |
| this.offset = this.helper.offset(), | |
| this.position = { | |
| left: g, | |
| top: h | |
| }, | |
| this.size = this._helper ? { | |
| width: f.outerWidth(), | |
| height: f.outerHeight() | |
| } : { | |
| width: f.width(), | |
| height: f.height() | |
| }, | |
| this.originalSize = this._helper ? { | |
| width: f.outerWidth(), | |
| height: f.outerHeight() | |
| } : { | |
| width: f.width(), | |
| height: f.height() | |
| }, | |
| this.originalPosition = { | |
| left: g, | |
| top: h | |
| }, | |
| this.sizeDiff = { | |
| width: f.outerWidth() - f.width(), | |
| height: f.outerHeight() - f.height() | |
| }, | |
| this.originalMousePosition = { | |
| left: b.pageX, | |
| top: b.pageY | |
| }, | |
| this.aspectRatio = "number" == typeof d.aspectRatio ? d.aspectRatio : this.originalSize.width / this.originalSize.height || 1; | |
| var i = a(".ui-resizable-" + this.axis).css("cursor"); | |
| return a("body").css("cursor", "auto" == i ? this.axis + "-resize" : i), | |
| f.addClass("ui-resizable-resizing"), | |
| this._propagate("start", b), | |
| !0 | |
| }, | |
| _mouseDrag: function(a) { | |
| var b = this.helper | |
| , c = (this.options, | |
| this.originalMousePosition) | |
| , d = this.axis | |
| , e = a.pageX - c.left || 0 | |
| , f = a.pageY - c.top || 0 | |
| , g = this._change[d]; | |
| if (!g) | |
| return !1; | |
| var h = g.apply(this, [a, e, f]); | |
| return this._updateVirtualBoundaries(a.shiftKey), | |
| (this._aspectRatio || a.shiftKey) && (h = this._updateRatio(h, a)), | |
| h = this._respectSize(h, a), | |
| this._propagate("resize", a), | |
| b.css({ | |
| top: this.position.top + "px", | |
| left: this.position.left + "px", | |
| width: this.size.width + "px", | |
| height: this.size.height + "px" | |
| }), | |
| !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(), | |
| this._updateCache(h), | |
| this._trigger("resize", a, this.ui()), | |
| !1 | |
| }, | |
| _mouseStop: function(b) { | |
| this.resizing = !1; | |
| var c = this.options | |
| , d = this; | |
| if (this._helper) { | |
| var e = this._proportionallyResizeElements | |
| , f = e.length && /textarea/i.test(e[0].nodeName) | |
| , g = f && a.ui.hasScroll(e[0], "left") ? 0 : d.sizeDiff.height | |
| , h = f ? 0 : d.sizeDiff.width | |
| , i = { | |
| width: d.helper.width() - h, | |
| height: d.helper.height() - g | |
| } | |
| , j = parseInt(d.element.css("left"), 10) + (d.position.left - d.originalPosition.left) || null | |
| , k = parseInt(d.element.css("top"), 10) + (d.position.top - d.originalPosition.top) || null; | |
| c.animate || this.element.css(a.extend(i, { | |
| top: k, | |
| left: j | |
| })), | |
| d.helper.height(d.size.height), | |
| d.helper.width(d.size.width), | |
| this._helper && !c.animate && this._proportionallyResize() | |
| } | |
| return a("body").css("cursor", "auto"), | |
| this.element.removeClass("ui-resizable-resizing"), | |
| this._propagate("stop", b), | |
| this._helper && this.helper.remove(), | |
| !1 | |
| }, | |
| _updateVirtualBoundaries: function(a) { | |
| var b, c, e, f, g, h = this.options; | |
| g = { | |
| minWidth: d(h.minWidth) ? h.minWidth : 0, | |
| maxWidth: d(h.maxWidth) ? h.maxWidth : 1 / 0, | |
| minHeight: d(h.minHeight) ? h.minHeight : 0, | |
| maxHeight: d(h.maxHeight) ? h.maxHeight : 1 / 0 | |
| }, | |
| (this._aspectRatio || a) && (b = g.minHeight * this.aspectRatio, | |
| e = g.minWidth / this.aspectRatio, | |
| c = g.maxHeight * this.aspectRatio, | |
| f = g.maxWidth / this.aspectRatio, | |
| b > g.minWidth && (g.minWidth = b), | |
| e > g.minHeight && (g.minHeight = e), | |
| c < g.maxWidth && (g.maxWidth = c), | |
| f < g.maxHeight && (g.maxHeight = f)), | |
| this._vBoundaries = g | |
| }, | |
| _updateCache: function(a) { | |
| this.options; | |
| this.offset = this.helper.offset(), | |
| d(a.left) && (this.position.left = a.left), | |
| d(a.top) && (this.position.top = a.top), | |
| d(a.height) && (this.size.height = a.height), | |
| d(a.width) && (this.size.width = a.width) | |
| }, | |
| _updateRatio: function(a, b) { | |
| var c = (this.options, | |
| this.position) | |
| , e = this.size | |
| , f = this.axis; | |
| return d(a.height) ? a.width = a.height * this.aspectRatio : d(a.width) && (a.height = a.width / this.aspectRatio), | |
| "sw" == f && (a.left = c.left + (e.width - a.width), | |
| a.top = null), | |
| "nw" == f && (a.top = c.top + (e.height - a.height), | |
| a.left = c.left + (e.width - a.width)), | |
| a | |
| }, | |
| _respectSize: function(a, b) { | |
| var c = (this.helper, | |
| this._vBoundaries) | |
| , e = (this._aspectRatio || b.shiftKey, | |
| this.axis) | |
| , f = d(a.width) && c.maxWidth && c.maxWidth < a.width | |
| , g = d(a.height) && c.maxHeight && c.maxHeight < a.height | |
| , h = d(a.width) && c.minWidth && c.minWidth > a.width | |
| , i = d(a.height) && c.minHeight && c.minHeight > a.height; | |
| h && (a.width = c.minWidth), | |
| i && (a.height = c.minHeight), | |
| f && (a.width = c.maxWidth), | |
| g && (a.height = c.maxHeight); | |
| var j = this.originalPosition.left + this.originalSize.width | |
| , k = this.position.top + this.size.height | |
| , l = /sw|nw|w/.test(e) | |
| , m = /nw|ne|n/.test(e); | |
| h && l && (a.left = j - c.minWidth), | |
| f && l && (a.left = j - c.maxWidth), | |
| i && m && (a.top = k - c.minHeight), | |
| g && m && (a.top = k - c.maxHeight); | |
| var n = !a.width && !a.height; | |
| return n && !a.left && a.top ? a.top = null : n && !a.top && a.left && (a.left = null), | |
| a | |
| }, | |
| _proportionallyResize: function() { | |
| this.options; | |
| if (this._proportionallyResizeElements.length) | |
| for (var b = this.helper || this.element, c = 0; c < this._proportionallyResizeElements.length; c++) { | |
| var d = this._proportionallyResizeElements[c]; | |
| if (!this.borderDif) { | |
| var e = [d.css("borderTopWidth"), d.css("borderRightWidth"), d.css("borderBottomWidth"), d.css("borderLeftWidth")] | |
| , f = [d.css("paddingTop"), d.css("paddingRight"), d.css("paddingBottom"), d.css("paddingLeft")]; | |
| this.borderDif = a.map(e, function(a, b) { | |
| var c = parseInt(a, 10) || 0 | |
| , d = parseInt(f[b], 10) || 0; | |
| return c + d | |
| }) | |
| } | |
| d.css({ | |
| height: b.height() - this.borderDif[0] - this.borderDif[2] || 0, | |
| width: b.width() - this.borderDif[1] - this.borderDif[3] || 0 | |
| }) | |
| } | |
| }, | |
| _renderProxy: function() { | |
| var b = this.element | |
| , c = this.options; | |
| if (this.elementOffset = b.offset(), | |
| this._helper) { | |
| this.helper = this.helper || a('<div style="overflow:hidden;"></div>'); | |
| var d = a.browser.msie && a.browser.version < 7 | |
| , e = d ? 1 : 0 | |
| , f = d ? 2 : -1; | |
| this.helper.addClass(this._helper).css({ | |
| width: this.element.outerWidth() + f, | |
| height: this.element.outerHeight() + f, | |
| position: "absolute", | |
| left: this.elementOffset.left - e + "px", | |
| top: this.elementOffset.top - e + "px", | |
| zIndex: ++c.zIndex | |
| }), | |
| this.helper.appendTo("body").disableSelection() | |
| } else | |
| this.helper = this.element | |
| }, | |
| _change: { | |
| e: function(a, b, c) { | |
| return { | |
| width: this.originalSize.width + b | |
| } | |
| }, | |
| w: function(a, b, c) { | |
| var d = (this.options, | |
| this.originalSize) | |
| , e = this.originalPosition; | |
| return { | |
| left: e.left + b, | |
| width: d.width - b | |
| } | |
| }, | |
| n: function(a, b, c) { | |
| var d = (this.options, | |
| this.originalSize) | |
| , e = this.originalPosition; | |
| return { | |
| top: e.top + c, | |
| height: d.height - c | |
| } | |
| }, | |
| s: function(a, b, c) { | |
| return { | |
| height: this.originalSize.height + c | |
| } | |
| }, | |
| se: function(b, c, d) { | |
| return a.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [b, c, d])) | |
| }, | |
| sw: function(b, c, d) { | |
| return a.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [b, c, d])) | |
| }, | |
| ne: function(b, c, d) { | |
| return a.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [b, c, d])) | |
| }, | |
| nw: function(b, c, d) { | |
| return a.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [b, c, d])) | |
| } | |
| }, | |
| _propagate: function(b, c) { | |
| a.ui.plugin.call(this, b, [c, this.ui()]), | |
| "resize" != b && this._trigger(b, c, this.ui()) | |
| }, | |
| plugins: {}, | |
| ui: function() { | |
| return { | |
| originalElement: this.originalElement, | |
| element: this.element, | |
| helper: this.helper, | |
| position: this.position, | |
| size: this.size, | |
| originalSize: this.originalSize, | |
| originalPosition: this.originalPosition | |
| } | |
| } | |
| }), | |
| a.ui.plugin.add("resizable", "alsoResize", { | |
| start: function(b, c) { | |
| var d = a(this).data("resizable") | |
| , e = d.options | |
| , f = function(b) { | |
| a(b).each(function() { | |
| var b = a(this); | |
| b.data("resizable-alsoresize", { | |
| width: parseInt(b.width(), 10), | |
| height: parseInt(b.height(), 10), | |
| left: parseInt(b.css("left"), 10), | |
| top: parseInt(b.css("top"), 10) | |
| }) | |
| }) | |
| }; | |
| "object" != typeof e.alsoResize || e.alsoResize.parentNode ? f(e.alsoResize) : e.alsoResize.length ? (e.alsoResize = e.alsoResize[0], | |
| f(e.alsoResize)) : a.each(e.alsoResize, function(a) { | |
| f(a) | |
| }) | |
| }, | |
| resize: function(b, c) { | |
| var d = a(this).data("resizable") | |
| , e = d.options | |
| , f = d.originalSize | |
| , g = d.originalPosition | |
| , h = { | |
| height: d.size.height - f.height || 0, | |
| width: d.size.width - f.width || 0, | |
| top: d.position.top - g.top || 0, | |
| left: d.position.left - g.left || 0 | |
| } | |
| , i = function(b, d) { | |
| a(b).each(function() { | |
| var b = a(this) | |
| , e = a(this).data("resizable-alsoresize") | |
| , f = {} | |
| , g = d && d.length ? d : b.parents(c.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"]; | |
| a.each(g, function(a, b) { | |
| var c = (e[b] || 0) + (h[b] || 0); | |
| c && c >= 0 && (f[b] = c || null) | |
| }), | |
| b.css(f) | |
| }) | |
| }; | |
| "object" != typeof e.alsoResize || e.alsoResize.nodeType ? i(e.alsoResize) : a.each(e.alsoResize, function(a, b) { | |
| i(a, b) | |
| }) | |
| }, | |
| stop: function(b, c) { | |
| a(this).removeData("resizable-alsoresize") | |
| } | |
| }), | |
| a.ui.plugin.add("resizable", "animate", { | |
| stop: function(b, c) { | |
| var d = a(this).data("resizable") | |
| , e = d.options | |
| , f = d._proportionallyResizeElements | |
| , g = f.length && /textarea/i.test(f[0].nodeName) | |
| , h = g && a.ui.hasScroll(f[0], "left") ? 0 : d.sizeDiff.height | |
| , i = g ? 0 : d.sizeDiff.width | |
| , j = { | |
| width: d.size.width - i, | |
| height: d.size.height - h | |
| } | |
| , k = parseInt(d.element.css("left"), 10) + (d.position.left - d.originalPosition.left) || null | |
| , l = parseInt(d.element.css("top"), 10) + (d.position.top - d.originalPosition.top) || null; | |
| d.element.animate(a.extend(j, l && k ? { | |
| top: l, | |
| left: k | |
| } : {}), { | |
| duration: e.animateDuration, | |
| easing: e.animateEasing, | |
| step: function() { | |
| var c = { | |
| width: parseInt(d.element.css("width"), 10), | |
| height: parseInt(d.element.css("height"), 10), | |
| top: parseInt(d.element.css("top"), 10), | |
| left: parseInt(d.element.css("left"), 10) | |
| }; | |
| f && f.length && a(f[0]).css({ | |
| width: c.width, | |
| height: c.height | |
| }), | |
| d._updateCache(c), | |
| d._propagate("resize", b) | |
| } | |
| }) | |
| } | |
| }), | |
| a.ui.plugin.add("resizable", "containment", { | |
| start: function(b, d) { | |
| var e = a(this).data("resizable") | |
| , f = e.options | |
| , g = e.element | |
| , h = f.containment | |
| , i = h instanceof a ? h.get(0) : /parent/.test(h) ? g.parent().get(0) : h; | |
| if (i) | |
| if (e.containerElement = a(i), | |
| /document/.test(h) || h == document) | |
| e.containerOffset = { | |
| left: 0, | |
| top: 0 | |
| }, | |
| e.containerPosition = { | |
| left: 0, | |
| top: 0 | |
| }, | |
| e.parentData = { | |
| element: a(document), | |
| left: 0, | |
| top: 0, | |
| width: a(document).width(), | |
| height: a(document).height() || document.body.parentNode.scrollHeight | |
| }; | |
| else { | |
| var j = a(i) | |
| , k = []; | |
| a(["Top", "Right", "Left", "Bottom"]).each(function(a, b) { | |
| k[a] = c(j.css("padding" + b)) | |
| }), | |
| e.containerOffset = j.offset(), | |
| e.containerPosition = j.position(), | |
| e.containerSize = { | |
| height: j.innerHeight() - k[3], | |
| width: j.innerWidth() - k[1] | |
| }; | |
| var l = e.containerOffset | |
| , m = e.containerSize.height | |
| , n = e.containerSize.width | |
| , o = a.ui.hasScroll(i, "left") ? i.scrollWidth : n | |
| , p = a.ui.hasScroll(i) ? i.scrollHeight : m; | |
| e.parentData = { | |
| element: i, | |
| left: l.left, | |
| top: l.top, | |
| width: o, | |
| height: p | |
| } | |
| } | |
| }, | |
| resize: function(b, c) { | |
| var d = a(this).data("resizable") | |
| , e = d.options | |
| , f = (d.containerSize, | |
| d.containerOffset) | |
| , g = (d.size, | |
| d.position) | |
| , h = d._aspectRatio || b.shiftKey | |
| , i = { | |
| top: 0, | |
| left: 0 | |
| } | |
| , j = d.containerElement; | |
| j[0] != document && /static/.test(j.css("position")) && (i = f), | |
| g.left < (d._helper ? f.left : 0) && (d.size.width = d.size.width + (d._helper ? d.position.left - f.left : d.position.left - i.left), | |
| h && (d.size.height = d.size.width / d.aspectRatio), | |
| d.position.left = e.helper ? f.left : 0), | |
| g.top < (d._helper ? f.top : 0) && (d.size.height = d.size.height + (d._helper ? d.position.top - f.top : d.position.top), | |
| h && (d.size.width = d.size.height * d.aspectRatio), | |
| d.position.top = d._helper ? f.top : 0), | |
| d.offset.left = d.parentData.left + d.position.left, | |
| d.offset.top = d.parentData.top + d.position.top; | |
| var k = Math.abs((d._helper ? d.offset.left - i.left : d.offset.left - i.left) + d.sizeDiff.width) | |
| , l = Math.abs((d._helper ? d.offset.top - i.top : d.offset.top - f.top) + d.sizeDiff.height) | |
| , m = d.containerElement.get(0) == d.element.parent().get(0) | |
| , n = /relative|absolute/.test(d.containerElement.css("position")); | |
| m && n && (k -= d.parentData.left), | |
| k + d.size.width >= d.parentData.width && (d.size.width = d.parentData.width - k, | |
| h && (d.size.height = d.size.width / d.aspectRatio)), | |
| l + d.size.height >= d.parentData.height && (d.size.height = d.parentData.height - l, | |
| h && (d.size.width = d.size.height * d.aspectRatio)) | |
| }, | |
| stop: function(b, c) { | |
| var d = a(this).data("resizable") | |
| , e = d.options | |
| , f = (d.position, | |
| d.containerOffset) | |
| , g = d.containerPosition | |
| , h = d.containerElement | |
| , i = a(d.helper) | |
| , j = i.offset() | |
| , k = i.outerWidth() - d.sizeDiff.width | |
| , l = i.outerHeight() - d.sizeDiff.height; | |
| d._helper && !e.animate && /relative/.test(h.css("position")) && a(this).css({ | |
| left: j.left - g.left - f.left, | |
| width: k, | |
| height: l | |
| }), | |
| d._helper && !e.animate && /static/.test(h.css("position")) && a(this).css({ | |
| left: j.left - g.left - f.left, | |
| width: k, | |
| height: l | |
| }) | |
| } | |
| }), | |
| a.ui.plugin.add("resizable", "ghost", { | |
| start: function(b, c) { | |
| var d = a(this).data("resizable") | |
| , e = d.options | |
| , f = d.size; | |
| d.ghost = d.originalElement.clone(), | |
| d.ghost.css({ | |
| opacity: .25, | |
| display: "block", | |
| position: "relative", | |
| height: f.height, | |
| width: f.width, | |
| margin: 0, | |
| left: 0, | |
| top: 0 | |
| }).addClass("ui-resizable-ghost").addClass("string" == typeof e.ghost ? e.ghost : ""), | |
| d.ghost.appendTo(d.helper) | |
| }, | |
| resize: function(b, c) { | |
| var d = a(this).data("resizable"); | |
| d.options; | |
| d.ghost && d.ghost.css({ | |
| position: "relative", | |
| height: d.size.height, | |
| width: d.size.width | |
| }) | |
| }, | |
| stop: function(b, c) { | |
| var d = a(this).data("resizable"); | |
| d.options; | |
| d.ghost && d.helper && d.helper.get(0).removeChild(d.ghost.get(0)) | |
| } | |
| }), | |
| a.ui.plugin.add("resizable", "grid", { | |
| resize: function(b, c) { | |
| var d = a(this).data("resizable") | |
| , e = d.options | |
| , f = d.size | |
| , g = d.originalSize | |
| , h = d.originalPosition | |
| , i = d.axis; | |
| e._aspectRatio || b.shiftKey; | |
| e.grid = "number" == typeof e.grid ? [e.grid, e.grid] : e.grid; | |
| var j = Math.round((f.width - g.width) / (e.grid[0] || 1)) * (e.grid[0] || 1) | |
| , k = Math.round((f.height - g.height) / (e.grid[1] || 1)) * (e.grid[1] || 1); | |
| /^(se|s|e)$/.test(i) ? (d.size.width = g.width + j, | |
| d.size.height = g.height + k) : /^(ne)$/.test(i) ? (d.size.width = g.width + j, | |
| d.size.height = g.height + k, | |
| d.position.top = h.top - k) : /^(sw)$/.test(i) ? (d.size.width = g.width + j, | |
| d.size.height = g.height + k, | |
| d.position.left = h.left - j) : (d.size.width = g.width + j, | |
| d.size.height = g.height + k, | |
| d.position.top = h.top - k, | |
| d.position.left = h.left - j) | |
| } | |
| }); | |
| var c = function(a) { | |
| return parseInt(a, 10) || 0 | |
| } | |
| , d = function(a) { | |
| return !isNaN(parseInt(a, 10)) | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| a.widget("ui.selectable", a.ui.mouse, { | |
| version: "1.9.0", | |
| options: { | |
| appendTo: "body", | |
| autoRefresh: !0, | |
| distance: 0, | |
| filter: "*", | |
| tolerance: "touch" | |
| }, | |
| _create: function() { | |
| var b = this; | |
| this.element.addClass("ui-selectable"), | |
| this.dragged = !1; | |
| var c; | |
| this.refresh = function() { | |
| c = a(b.options.filter, b.element[0]), | |
| c.addClass("ui-selectee"), | |
| c.each(function() { | |
| var b = a(this) | |
| , c = b.offset(); | |
| a.data(this, "selectable-item", { | |
| element: this, | |
| $element: b, | |
| left: c.left, | |
| top: c.top, | |
| right: c.left + b.outerWidth(), | |
| bottom: c.top + b.outerHeight(), | |
| startselected: !1, | |
| selected: b.hasClass("ui-selected"), | |
| selecting: b.hasClass("ui-selecting"), | |
| unselecting: b.hasClass("ui-unselecting") | |
| }) | |
| }) | |
| } | |
| , | |
| this.refresh(), | |
| this.selectees = c.addClass("ui-selectee"), | |
| this._mouseInit(), | |
| this.helper = a("<div class='ui-selectable-helper'></div>") | |
| }, | |
| _destroy: function() { | |
| this.selectees.removeClass("ui-selectee").removeData("selectable-item"), | |
| this.element.removeClass("ui-selectable ui-selectable-disabled"), | |
| this._mouseDestroy() | |
| }, | |
| _mouseStart: function(b) { | |
| var c = this; | |
| if (this.opos = [b.pageX, b.pageY], | |
| !this.options.disabled) { | |
| var d = this.options; | |
| this.selectees = a(d.filter, this.element[0]), | |
| this._trigger("start", b), | |
| a(d.appendTo).append(this.helper), | |
| this.helper.css({ | |
| left: b.clientX, | |
| top: b.clientY, | |
| width: 0, | |
| height: 0 | |
| }), | |
| d.autoRefresh && this.refresh(), | |
| this.selectees.filter(".ui-selected").each(function() { | |
| var d = a.data(this, "selectable-item"); | |
| d.startselected = !0, | |
| b.metaKey || b.ctrlKey || (d.$element.removeClass("ui-selected"), | |
| d.selected = !1, | |
| d.$element.addClass("ui-unselecting"), | |
| d.unselecting = !0, | |
| c._trigger("unselecting", b, { | |
| unselecting: d.element | |
| })) | |
| }), | |
| a(b.target).parents().andSelf().each(function() { | |
| var d = a.data(this, "selectable-item"); | |
| if (d) { | |
| var e = !b.metaKey && !b.ctrlKey || !d.$element.hasClass("ui-selected"); | |
| return d.$element.removeClass(e ? "ui-unselecting" : "ui-selected").addClass(e ? "ui-selecting" : "ui-unselecting"), | |
| d.unselecting = !e, | |
| d.selecting = e, | |
| d.selected = e, | |
| e ? c._trigger("selecting", b, { | |
| selecting: d.element | |
| }) : c._trigger("unselecting", b, { | |
| unselecting: d.element | |
| }), | |
| !1 | |
| } | |
| }) | |
| } | |
| }, | |
| _mouseDrag: function(b) { | |
| var c = this; | |
| if (this.dragged = !0, | |
| !this.options.disabled) { | |
| var d = this.options | |
| , e = this.opos[0] | |
| , f = this.opos[1] | |
| , g = b.pageX | |
| , h = b.pageY; | |
| if (e > g) { | |
| var i = g; | |
| g = e, | |
| e = i | |
| } | |
| if (f > h) { | |
| var i = h; | |
| h = f, | |
| f = i | |
| } | |
| return this.helper.css({ | |
| left: e, | |
| top: f, | |
| width: g - e, | |
| height: h - f | |
| }), | |
| this.selectees.each(function() { | |
| var i = a.data(this, "selectable-item"); | |
| if (i && i.element != c.element[0]) { | |
| var j = !1; | |
| "touch" == d.tolerance ? j = !(i.left > g || i.right < e || i.top > h || i.bottom < f) : "fit" == d.tolerance && (j = i.left > e && i.right < g && i.top > f && i.bottom < h), | |
| j ? (i.selected && (i.$element.removeClass("ui-selected"), | |
| i.selected = !1), | |
| i.unselecting && (i.$element.removeClass("ui-unselecting"), | |
| i.unselecting = !1), | |
| i.selecting || (i.$element.addClass("ui-selecting"), | |
| i.selecting = !0, | |
| c._trigger("selecting", b, { | |
| selecting: i.element | |
| }))) : (i.selecting && ((b.metaKey || b.ctrlKey) && i.startselected ? (i.$element.removeClass("ui-selecting"), | |
| i.selecting = !1, | |
| i.$element.addClass("ui-selected"), | |
| i.selected = !0) : (i.$element.removeClass("ui-selecting"), | |
| i.selecting = !1, | |
| i.startselected && (i.$element.addClass("ui-unselecting"), | |
| i.unselecting = !0), | |
| c._trigger("unselecting", b, { | |
| unselecting: i.element | |
| }))), | |
| i.selected && (b.metaKey || b.ctrlKey || i.startselected || (i.$element.removeClass("ui-selected"), | |
| i.selected = !1, | |
| i.$element.addClass("ui-unselecting"), | |
| i.unselecting = !0, | |
| c._trigger("unselecting", b, { | |
| unselecting: i.element | |
| })))) | |
| } | |
| }), | |
| !1 | |
| } | |
| }, | |
| _mouseStop: function(b) { | |
| var c = this; | |
| this.dragged = !1; | |
| this.options; | |
| return a(".ui-unselecting", this.element[0]).each(function() { | |
| var d = a.data(this, "selectable-item"); | |
| d.$element.removeClass("ui-unselecting"), | |
| d.unselecting = !1, | |
| d.startselected = !1, | |
| c._trigger("unselected", b, { | |
| unselected: d.element | |
| }) | |
| }), | |
| a(".ui-selecting", this.element[0]).each(function() { | |
| var d = a.data(this, "selectable-item"); | |
| d.$element.removeClass("ui-selecting").addClass("ui-selected"), | |
| d.selecting = !1, | |
| d.selected = !0, | |
| d.startselected = !0, | |
| c._trigger("selected", b, { | |
| selected: d.element | |
| }) | |
| }), | |
| this._trigger("stop", b), | |
| this.helper.remove(), | |
| !1 | |
| } | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| var c = 5; | |
| a.widget("ui.slider", a.ui.mouse, { | |
| version: "1.9.0", | |
| widgetEventPrefix: "slide", | |
| options: { | |
| animate: !1, | |
| distance: 0, | |
| max: 100, | |
| min: 0, | |
| orientation: "horizontal", | |
| range: !1, | |
| step: 1, | |
| value: 0, | |
| values: null | |
| }, | |
| _create: function() { | |
| var b, d = this.options, e = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"), f = "<div class='ui-slider-handle ui-state-default ui-corner-all' href='#'></div>", g = d.values && d.values.length || 1, h = []; | |
| for (this._keySliding = !1, | |
| this._mouseSliding = !1, | |
| this._animateOff = !0, | |
| this._handleIndex = null, | |
| this._detectOrientation(), | |
| this._mouseInit(), | |
| this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all" + (d.disabled ? " ui-slider-disabled ui-disabled" : "")), | |
| this.range = a([]), | |
| d.range && (d.range === !0 && (d.values || (d.values = [this._valueMin(), this._valueMin()]), | |
| d.values.length && 2 !== d.values.length && (d.values = [d.values[0], d.values[0]])), | |
| this.range = a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header" + ("min" === d.range || "max" === d.range ? " ui-slider-range-" + d.range : ""))), | |
| b = e.length; b < g; b++) | |
| h.push(f); | |
| this.handles = e.add(a(h.join("")).appendTo(this.element)), | |
| this.handle = this.handles.eq(0), | |
| this.handles.add(this.range).filter("a").click(function(a) { | |
| a.preventDefault() | |
| }).mouseenter(function() { | |
| d.disabled || a(this).addClass("ui-state-hover") | |
| }).mouseleave(function() { | |
| a(this).removeClass("ui-state-hover") | |
| }).focus(function() { | |
| d.disabled ? a(this).blur() : (a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"), | |
| a(this).addClass("ui-state-focus")) | |
| }).blur(function() { | |
| a(this).removeClass("ui-state-focus") | |
| }), | |
| this.handles.each(function(b) { | |
| a(this).data("ui-slider-handle-index", b) | |
| }), | |
| this._on(this.handles, { | |
| keydown: function(b) { | |
| var d, e, f, g, h = a(b.target).data("ui-slider-handle-index"); | |
| switch (b.keyCode) { | |
| case a.ui.keyCode.HOME: | |
| case a.ui.keyCode.END: | |
| case a.ui.keyCode.PAGE_UP: | |
| case a.ui.keyCode.PAGE_DOWN: | |
| case a.ui.keyCode.UP: | |
| case a.ui.keyCode.RIGHT: | |
| case a.ui.keyCode.DOWN: | |
| case a.ui.keyCode.LEFT: | |
| if (b.preventDefault(), | |
| !this._keySliding && (this._keySliding = !0, | |
| a(b.target).addClass("ui-state-active"), | |
| d = this._start(b, h), | |
| d === !1)) | |
| return | |
| } | |
| switch (g = this.options.step, | |
| e = f = this.options.values && this.options.values.length ? this.values(h) : this.value(), | |
| b.keyCode) { | |
| case a.ui.keyCode.HOME: | |
| f = this._valueMin(); | |
| break; | |
| case a.ui.keyCode.END: | |
| f = this._valueMax(); | |
| break; | |
| case a.ui.keyCode.PAGE_UP: | |
| f = this._trimAlignValue(e + (this._valueMax() - this._valueMin()) / c); | |
| break; | |
| case a.ui.keyCode.PAGE_DOWN: | |
| f = this._trimAlignValue(e - (this._valueMax() - this._valueMin()) / c); | |
| break; | |
| case a.ui.keyCode.UP: | |
| case a.ui.keyCode.RIGHT: | |
| if (e === this._valueMax()) | |
| return; | |
| f = this._trimAlignValue(e + g); | |
| break; | |
| case a.ui.keyCode.DOWN: | |
| case a.ui.keyCode.LEFT: | |
| if (e === this._valueMin()) | |
| return; | |
| f = this._trimAlignValue(e - g) | |
| } | |
| this._slide(b, h, f) | |
| }, | |
| keyup: function(b) { | |
| var c = a(b.target).data("ui-slider-handle-index"); | |
| this._keySliding && (this._keySliding = !1, | |
| this._stop(b, c), | |
| this._change(b, c), | |
| a(b.target).removeClass("ui-state-active")) | |
| } | |
| }), | |
| this._refreshValue(), | |
| this._animateOff = !1 | |
| }, | |
| _destroy: function() { | |
| this.handles.remove(), | |
| this.range.remove(), | |
| this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all"), | |
| this._mouseDestroy() | |
| }, | |
| _mouseCapture: function(b) { | |
| var c, d, e, f, g, h, i, j, k = this, l = this.options; | |
| return !l.disabled && (this.elementSize = { | |
| width: this.element.outerWidth(), | |
| height: this.element.outerHeight() | |
| }, | |
| this.elementOffset = this.element.offset(), | |
| c = { | |
| x: b.pageX, | |
| y: b.pageY | |
| }, | |
| d = this._normValueFromMouse(c), | |
| e = this._valueMax() - this._valueMin() + 1, | |
| this.handles.each(function(b) { | |
| var c = Math.abs(d - k.values(b)); | |
| e > c && (e = c, | |
| f = a(this), | |
| g = b) | |
| }), | |
| l.range === !0 && this.values(1) === l.min && (g += 1, | |
| f = a(this.handles[g])), | |
| h = this._start(b, g), | |
| h !== !1 && (this._mouseSliding = !0, | |
| this._handleIndex = g, | |
| f.addClass("ui-state-active").focus(), | |
| i = f.offset(), | |
| j = !a(b.target).parents().andSelf().is(".ui-slider-handle"), | |
| this._clickOffset = j ? { | |
| left: 0, | |
| top: 0 | |
| } : { | |
| left: b.pageX - i.left - f.width() / 2, | |
| top: b.pageY - i.top - f.height() / 2 - (parseInt(f.css("borderTopWidth"), 10) || 0) - (parseInt(f.css("borderBottomWidth"), 10) || 0) + (parseInt(f.css("marginTop"), 10) || 0) | |
| }, | |
| this.handles.hasClass("ui-state-hover") || this._slide(b, g, d), | |
| this._animateOff = !0, | |
| !0)) | |
| }, | |
| _mouseStart: function(a) { | |
| return !0 | |
| }, | |
| _mouseDrag: function(a) { | |
| var b = { | |
| x: a.pageX, | |
| y: a.pageY | |
| } | |
| , c = this._normValueFromMouse(b); | |
| return this._slide(a, this._handleIndex, c), | |
| !1 | |
| }, | |
| _mouseStop: function(a) { | |
| return this.handles.removeClass("ui-state-active"), | |
| this._mouseSliding = !1, | |
| this._stop(a, this._handleIndex), | |
| this._change(a, this._handleIndex), | |
| this._handleIndex = null, | |
| this._clickOffset = null, | |
| this._animateOff = !1, | |
| !1 | |
| }, | |
| _detectOrientation: function() { | |
| this.orientation = "vertical" === this.options.orientation ? "vertical" : "horizontal" | |
| }, | |
| _normValueFromMouse: function(a) { | |
| var b, c, d, e, f; | |
| return "horizontal" === this.orientation ? (b = this.elementSize.width, | |
| c = a.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (b = this.elementSize.height, | |
| c = a.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)), | |
| d = c / b, | |
| d > 1 && (d = 1), | |
| d < 0 && (d = 0), | |
| "vertical" === this.orientation && (d = 1 - d), | |
| e = this._valueMax() - this._valueMin(), | |
| f = this._valueMin() + d * e, | |
| this._trimAlignValue(f) | |
| }, | |
| _start: function(a, b) { | |
| var c = { | |
| handle: this.handles[b], | |
| value: this.value() | |
| }; | |
| return this.options.values && this.options.values.length && (c.value = this.values(b), | |
| c.values = this.values()), | |
| this._trigger("start", a, c) | |
| }, | |
| _slide: function(a, b, c) { | |
| var d, e, f; | |
| this.options.values && this.options.values.length ? (d = this.values(b ? 0 : 1), | |
| 2 === this.options.values.length && this.options.range === !0 && (0 === b && c > d || 1 === b && c < d) && (c = d), | |
| c !== this.values(b) && (e = this.values(), | |
| e[b] = c, | |
| f = this._trigger("slide", a, { | |
| handle: this.handles[b], | |
| value: c, | |
| values: e | |
| }), | |
| d = this.values(b ? 0 : 1), | |
| f !== !1 && this.values(b, c, !0))) : c !== this.value() && (f = this._trigger("slide", a, { | |
| handle: this.handles[b], | |
| value: c | |
| }), | |
| f !== !1 && this.value(c)) | |
| }, | |
| _stop: function(a, b) { | |
| var c = { | |
| handle: this.handles[b], | |
| value: this.value() | |
| }; | |
| this.options.values && this.options.values.length && (c.value = this.values(b), | |
| c.values = this.values()), | |
| this._trigger("stop", a, c) | |
| }, | |
| _change: function(a, b) { | |
| if (!this._keySliding && !this._mouseSliding) { | |
| var c = { | |
| handle: this.handles[b], | |
| value: this.value() | |
| }; | |
| this.options.values && this.options.values.length && (c.value = this.values(b), | |
| c.values = this.values()), | |
| this._trigger("change", a, c) | |
| } | |
| }, | |
| value: function(a) { | |
| return arguments.length ? (this.options.value = this._trimAlignValue(a), | |
| this._refreshValue(), | |
| void this._change(null, 0)) : this._value() | |
| }, | |
| values: function(b, c) { | |
| var d, e, f; | |
| if (arguments.length > 1) | |
| return this.options.values[b] = this._trimAlignValue(c), | |
| this._refreshValue(), | |
| void this._change(null, b); | |
| if (!arguments.length) | |
| return this._values(); | |
| if (!a.isArray(arguments[0])) | |
| return this.options.values && this.options.values.length ? this._values(b) : this.value(); | |
| for (d = this.options.values, | |
| e = arguments[0], | |
| f = 0; f < d.length; f += 1) | |
| d[f] = this._trimAlignValue(e[f]), | |
| this._change(null, f); | |
| this._refreshValue() | |
| }, | |
| _setOption: function(b, c) { | |
| var d, e = 0; | |
| switch (a.isArray(this.options.values) && (e = this.options.values.length), | |
| a.Widget.prototype._setOption.apply(this, arguments), | |
| b) { | |
| case "disabled": | |
| c ? (this.handles.filter(".ui-state-focus").blur(), | |
| this.handles.removeClass("ui-state-hover"), | |
| this.handles.prop("disabled", !0), | |
| this.element.addClass("ui-disabled")) : (this.handles.prop("disabled", !1), | |
| this.element.removeClass("ui-disabled")); | |
| break; | |
| case "orientation": | |
| this._detectOrientation(), | |
| this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation), | |
| this._refreshValue(); | |
| break; | |
| case "value": | |
| this._animateOff = !0, | |
| this._refreshValue(), | |
| this._change(null, 0), | |
| this._animateOff = !1; | |
| break; | |
| case "values": | |
| for (this._animateOff = !0, | |
| this._refreshValue(), | |
| d = 0; d < e; d += 1) | |
| this._change(null, d); | |
| this._animateOff = !1 | |
| } | |
| }, | |
| _value: function() { | |
| var a = this.options.value; | |
| return a = this._trimAlignValue(a) | |
| }, | |
| _values: function(a) { | |
| var b, c, d; | |
| if (arguments.length) | |
| return b = this.options.values[a], | |
| b = this._trimAlignValue(b); | |
| for (c = this.options.values.slice(), | |
| d = 0; d < c.length; d += 1) | |
| c[d] = this._trimAlignValue(c[d]); | |
| return c | |
| }, | |
| _trimAlignValue: function(a) { | |
| if (a <= this._valueMin()) | |
| return this._valueMin(); | |
| if (a >= this._valueMax()) | |
| return this._valueMax(); | |
| var b = this.options.step > 0 ? this.options.step : 1 | |
| , c = (a - this._valueMin()) % b | |
| , d = a - c; | |
| return 2 * Math.abs(c) >= b && (d += c > 0 ? b : -b), | |
| parseFloat(d.toFixed(5)) | |
| }, | |
| _valueMin: function() { | |
| return this.options.min | |
| }, | |
| _valueMax: function() { | |
| return this.options.max | |
| }, | |
| _refreshValue: function() { | |
| var b, c, d, e, f, g = this.options.range, h = this.options, i = this, j = !this._animateOff && h.animate, k = {}; | |
| this.options.values && this.options.values.length ? this.handles.each(function(d, e) { | |
| c = (i.values(d) - i._valueMin()) / (i._valueMax() - i._valueMin()) * 100, | |
| k["horizontal" === i.orientation ? "left" : "bottom"] = c + "%", | |
| a(this).stop(1, 1)[j ? "animate" : "css"](k, h.animate), | |
| i.options.range === !0 && ("horizontal" === i.orientation ? (0 === d && i.range.stop(1, 1)[j ? "animate" : "css"]({ | |
| left: c + "%" | |
| }, h.animate), | |
| 1 === d && i.range[j ? "animate" : "css"]({ | |
| width: c - b + "%" | |
| }, { | |
| queue: !1, | |
| duration: h.animate | |
| })) : (0 === d && i.range.stop(1, 1)[j ? "animate" : "css"]({ | |
| bottom: c + "%" | |
| }, h.animate), | |
| 1 === d && i.range[j ? "animate" : "css"]({ | |
| height: c - b + "%" | |
| }, { | |
| queue: !1, | |
| duration: h.animate | |
| }))), | |
| b = c | |
| }) : (d = this.value(), | |
| e = this._valueMin(), | |
| f = this._valueMax(), | |
| c = f !== e ? (d - e) / (f - e) * 100 : 0, | |
| k["horizontal" === this.orientation ? "left" : "bottom"] = c + "%", | |
| this.handle.stop(1, 1)[j ? "animate" : "css"](k, h.animate), | |
| "min" === g && "horizontal" === this.orientation && this.range.stop(1, 1)[j ? "animate" : "css"]({ | |
| width: c + "%" | |
| }, h.animate), | |
| "max" === g && "horizontal" === this.orientation && this.range[j ? "animate" : "css"]({ | |
| width: 100 - c + "%" | |
| }, { | |
| queue: !1, | |
| duration: h.animate | |
| }), | |
| "min" === g && "vertical" === this.orientation && this.range.stop(1, 1)[j ? "animate" : "css"]({ | |
| height: c + "%" | |
| }, h.animate), | |
| "max" === g && "vertical" === this.orientation && this.range[j ? "animate" : "css"]({ | |
| height: 100 - c + "%" | |
| }, { | |
| queue: !1, | |
| duration: h.animate | |
| })) | |
| } | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| a.widget("ui.sortable", a.ui.mouse, { | |
| version: "1.9.0", | |
| widgetEventPrefix: "sort", | |
| ready: !1, | |
| options: { | |
| appendTo: "parent", | |
| axis: !1, | |
| connectWith: !1, | |
| containment: !1, | |
| cursor: "auto", | |
| cursorAt: !1, | |
| dropOnEmpty: !0, | |
| forcePlaceholderSize: !1, | |
| forceHelperSize: !1, | |
| grid: !1, | |
| handle: !1, | |
| helper: "original", | |
| items: "> *", | |
| opacity: !1, | |
| placeholder: !1, | |
| revert: !1, | |
| scroll: !0, | |
| scrollSensitivity: 20, | |
| scrollSpeed: 20, | |
| scope: "default", | |
| tolerance: "intersect", | |
| zIndex: 1e3 | |
| }, | |
| _create: function() { | |
| var a = this.options; | |
| this.containerCache = {}, | |
| this.element.addClass("ui-sortable"), | |
| this.refresh(), | |
| this.floating = !!this.items.length && ("x" === a.axis || /left|right/.test(this.items[0].item.css("float")) || /inline|table-cell/.test(this.items[0].item.css("display"))), | |
| this.offset = this.element.offset(), | |
| this._mouseInit(), | |
| this.ready = !0 | |
| }, | |
| _destroy: function() { | |
| this.element.removeClass("ui-sortable ui-sortable-disabled"), | |
| this._mouseDestroy(); | |
| for (var a = this.items.length - 1; a >= 0; a--) | |
| this.items[a].item.removeData(this.widgetName + "-item"); | |
| return this | |
| }, | |
| _setOption: function(b, c) { | |
| "disabled" === b ? (this.options[b] = c, | |
| this.widget().toggleClass("ui-sortable-disabled", !!c)) : a.Widget.prototype._setOption.apply(this, arguments) | |
| }, | |
| _mouseCapture: function(b, c) { | |
| var d = this; | |
| if (this.reverting) | |
| return !1; | |
| if (this.options.disabled || "static" == this.options.type) | |
| return !1; | |
| this._refreshItems(b); | |
| var e = null; | |
| a(b.target).parents().each(function() { | |
| if (a.data(this, d.widgetName + "-item") == d) | |
| return e = a(this), | |
| !1 | |
| }); | |
| if (a.data(b.target, d.widgetName + "-item") == d && (e = a(b.target)), | |
| !e) | |
| return !1; | |
| if (this.options.handle && !c) { | |
| var f = !1; | |
| if (a(this.options.handle, e).find("*").andSelf().each(function() { | |
| this == b.target && (f = !0) | |
| }), | |
| !f) | |
| return !1 | |
| } | |
| return this.currentItem = e, | |
| this._removeCurrentsFromItems(), | |
| !0 | |
| }, | |
| _mouseStart: function(b, c, d) { | |
| var e = this.options; | |
| if (this.currentContainer = this, | |
| this.refreshPositions(), | |
| this.helper = this._createHelper(b), | |
| this._cacheHelperProportions(), | |
| this._cacheMargins(), | |
| this.scrollParent = this.helper.scrollParent(), | |
| this.offset = this.currentItem.offset(), | |
| this.offset = { | |
| top: this.offset.top - this.margins.top, | |
| left: this.offset.left - this.margins.left | |
| }, | |
| a.extend(this.offset, { | |
| click: { | |
| left: b.pageX - this.offset.left, | |
| top: b.pageY - this.offset.top | |
| }, | |
| parent: this._getParentOffset(), | |
| relative: this._getRelativeOffset() | |
| }), | |
| this.helper.css("position", "absolute"), | |
| this.cssPosition = this.helper.css("position"), | |
| this.originalPosition = this._generatePosition(b), | |
| this.originalPageX = b.pageX, | |
| this.originalPageY = b.pageY, | |
| e.cursorAt && this._adjustOffsetFromHelper(e.cursorAt), | |
| this.domPosition = { | |
| prev: this.currentItem.prev()[0], | |
| parent: this.currentItem.parent()[0] | |
| }, | |
| this.helper[0] != this.currentItem[0] && this.currentItem.hide(), | |
| this._createPlaceholder(), | |
| e.containment && this._setContainment(), | |
| e.cursor && (a("body").css("cursor") && (this._storedCursor = a("body").css("cursor")), | |
| a("body").css("cursor", e.cursor)), | |
| e.opacity && (this.helper.css("opacity") && (this._storedOpacity = this.helper.css("opacity")), | |
| this.helper.css("opacity", e.opacity)), | |
| e.zIndex && (this.helper.css("zIndex") && (this._storedZIndex = this.helper.css("zIndex")), | |
| this.helper.css("zIndex", e.zIndex)), | |
| this.scrollParent[0] != document && "HTML" != this.scrollParent[0].tagName && (this.overflowOffset = this.scrollParent.offset()), | |
| this._trigger("start", b, this._uiHash()), | |
| this._preserveHelperProportions || this._cacheHelperProportions(), | |
| !d) | |
| for (var f = this.containers.length - 1; f >= 0; f--) | |
| this.containers[f]._trigger("activate", b, this._uiHash(this)); | |
| return a.ui.ddmanager && (a.ui.ddmanager.current = this), | |
| a.ui.ddmanager && !e.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b), | |
| this.dragging = !0, | |
| this.helper.addClass("ui-sortable-helper"), | |
| this._mouseDrag(b), | |
| !0 | |
| }, | |
| _mouseDrag: function(b) { | |
| if (this.position = this._generatePosition(b), | |
| this.positionAbs = this._convertPositionTo("absolute"), | |
| this.lastPositionAbs || (this.lastPositionAbs = this.positionAbs), | |
| this.options.scroll) { | |
| var c = this.options | |
| , d = !1; | |
| this.scrollParent[0] != document && "HTML" != this.scrollParent[0].tagName ? (this.overflowOffset.top + this.scrollParent[0].offsetHeight - b.pageY < c.scrollSensitivity ? this.scrollParent[0].scrollTop = d = this.scrollParent[0].scrollTop + c.scrollSpeed : b.pageY - this.overflowOffset.top < c.scrollSensitivity && (this.scrollParent[0].scrollTop = d = this.scrollParent[0].scrollTop - c.scrollSpeed), | |
| this.overflowOffset.left + this.scrollParent[0].offsetWidth - b.pageX < c.scrollSensitivity ? this.scrollParent[0].scrollLeft = d = this.scrollParent[0].scrollLeft + c.scrollSpeed : b.pageX - this.overflowOffset.left < c.scrollSensitivity && (this.scrollParent[0].scrollLeft = d = this.scrollParent[0].scrollLeft - c.scrollSpeed)) : (b.pageY - a(document).scrollTop() < c.scrollSensitivity ? d = a(document).scrollTop(a(document).scrollTop() - c.scrollSpeed) : a(window).height() - (b.pageY - a(document).scrollTop()) < c.scrollSensitivity && (d = a(document).scrollTop(a(document).scrollTop() + c.scrollSpeed)), | |
| b.pageX - a(document).scrollLeft() < c.scrollSensitivity ? d = a(document).scrollLeft(a(document).scrollLeft() - c.scrollSpeed) : a(window).width() - (b.pageX - a(document).scrollLeft()) < c.scrollSensitivity && (d = a(document).scrollLeft(a(document).scrollLeft() + c.scrollSpeed))), | |
| d !== !1 && a.ui.ddmanager && !c.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b) | |
| } | |
| this.positionAbs = this._convertPositionTo("absolute"), | |
| this.options.axis && "y" == this.options.axis || (this.helper[0].style.left = this.position.left + "px"), | |
| this.options.axis && "x" == this.options.axis || (this.helper[0].style.top = this.position.top + "px"); | |
| for (var e = this.items.length - 1; e >= 0; e--) { | |
| var f = this.items[e] | |
| , g = f.item[0] | |
| , h = this._intersectsWithPointer(f); | |
| if (h && f.instance === this.currentContainer && !(g == this.currentItem[0] || this.placeholder[1 == h ? "next" : "prev"]()[0] == g || a.contains(this.placeholder[0], g) || "semi-dynamic" == this.options.type && a.contains(this.element[0], g))) { | |
| if (this.direction = 1 == h ? "down" : "up", | |
| "pointer" != this.options.tolerance && !this._intersectsWithSides(f)) | |
| break; | |
| this._rearrange(b, f), | |
| this._trigger("change", b, this._uiHash()); | |
| break | |
| } | |
| } | |
| return this._contactContainers(b), | |
| a.ui.ddmanager && a.ui.ddmanager.drag(this, b), | |
| this._trigger("sort", b, this._uiHash()), | |
| this.lastPositionAbs = this.positionAbs, | |
| !1 | |
| }, | |
| _mouseStop: function(b, c) { | |
| if (b) { | |
| if (a.ui.ddmanager && !this.options.dropBehaviour && a.ui.ddmanager.drop(this, b), | |
| this.options.revert) { | |
| var d = this | |
| , e = this.placeholder.offset(); | |
| this.reverting = !0, | |
| a(this.helper).animate({ | |
| left: e.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), | |
| top: e.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) | |
| }, parseInt(this.options.revert, 10) || 500, function() { | |
| d._clear(b) | |
| }) | |
| } else | |
| this._clear(b, c); | |
| return !1 | |
| } | |
| }, | |
| cancel: function() { | |
| if (this.dragging) { | |
| this._mouseUp({ | |
| target: null | |
| }), | |
| "original" == this.options.helper ? this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") : this.currentItem.show(); | |
| for (var b = this.containers.length - 1; b >= 0; b--) | |
| this.containers[b]._trigger("deactivate", null, this._uiHash(this)), | |
| this.containers[b].containerCache.over && (this.containers[b]._trigger("out", null, this._uiHash(this)), | |
| this.containers[b].containerCache.over = 0) | |
| } | |
| return this.placeholder && (this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]), | |
| "original" != this.options.helper && this.helper && this.helper[0].parentNode && this.helper.remove(), | |
| a.extend(this, { | |
| helper: null, | |
| dragging: !1, | |
| reverting: !1, | |
| _noFinalSort: null | |
| }), | |
| this.domPosition.prev ? a(this.domPosition.prev).after(this.currentItem) : a(this.domPosition.parent).prepend(this.currentItem)), | |
| this | |
| }, | |
| serialize: function(b) { | |
| var c = this._getItemsAsjQuery(b && b.connected) | |
| , d = []; | |
| return b = b || {}, | |
| a(c).each(function() { | |
| var c = (a(b.item || this).attr(b.attribute || "id") || "").match(b.expression || /(.+)[-=_](.+)/); | |
| c && d.push((b.key || c[1] + "[]") + "=" + (b.key && b.expression ? c[1] : c[2])) | |
| }), | |
| !d.length && b.key && d.push(b.key + "="), | |
| d.join("&") | |
| }, | |
| toArray: function(b) { | |
| var c = this._getItemsAsjQuery(b && b.connected) | |
| , d = []; | |
| return b = b || {}, | |
| c.each(function() { | |
| d.push(a(b.item || this).attr(b.attribute || "id") || "") | |
| }), | |
| d | |
| }, | |
| _intersectsWith: function(a) { | |
| var b = this.positionAbs.left | |
| , c = b + this.helperProportions.width | |
| , d = this.positionAbs.top | |
| , e = d + this.helperProportions.height | |
| , f = a.left | |
| , g = f + a.width | |
| , h = a.top | |
| , i = h + a.height | |
| , j = this.offset.click.top | |
| , k = this.offset.click.left | |
| , l = d + j > h && d + j < i && b + k > f && b + k < g; | |
| return "pointer" == this.options.tolerance || this.options.forcePointerForContainers || "pointer" != this.options.tolerance && this.helperProportions[this.floating ? "width" : "height"] > a[this.floating ? "width" : "height"] ? l : f < b + this.helperProportions.width / 2 && c - this.helperProportions.width / 2 < g && h < d + this.helperProportions.height / 2 && e - this.helperProportions.height / 2 < i | |
| }, | |
| _intersectsWithPointer: function(b) { | |
| var c = "x" === this.options.axis || a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, b.top, b.height) | |
| , d = "y" === this.options.axis || a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, b.left, b.width) | |
| , e = c && d | |
| , f = this._getDragVerticalDirection() | |
| , g = this._getDragHorizontalDirection(); | |
| return !!e && (this.floating ? g && "right" == g || "down" == f ? 2 : 1 : f && ("down" == f ? 2 : 1)) | |
| }, | |
| _intersectsWithSides: function(b) { | |
| var c = a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, b.top + b.height / 2, b.height) | |
| , d = a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, b.left + b.width / 2, b.width) | |
| , e = this._getDragVerticalDirection() | |
| , f = this._getDragHorizontalDirection(); | |
| return this.floating && f ? "right" == f && d || "left" == f && !d : e && ("down" == e && c || "up" == e && !c) | |
| }, | |
| _getDragVerticalDirection: function() { | |
| var a = this.positionAbs.top - this.lastPositionAbs.top; | |
| return 0 != a && (a > 0 ? "down" : "up") | |
| }, | |
| _getDragHorizontalDirection: function() { | |
| var a = this.positionAbs.left - this.lastPositionAbs.left; | |
| return 0 != a && (a > 0 ? "right" : "left") | |
| }, | |
| refresh: function(a) { | |
| return this._refreshItems(a), | |
| this.refreshPositions(), | |
| this | |
| }, | |
| _connectWith: function() { | |
| var a = this.options; | |
| return a.connectWith.constructor == String ? [a.connectWith] : a.connectWith | |
| }, | |
| _getItemsAsjQuery: function(b) { | |
| var c = [] | |
| , d = [] | |
| , e = this._connectWith(); | |
| if (e && b) | |
| for (var f = e.length - 1; f >= 0; f--) | |
| for (var g = a(e[f]), h = g.length - 1; h >= 0; h--) { | |
| var i = a.data(g[h], this.widgetName); | |
| i && i != this && !i.options.disabled && d.push([a.isFunction(i.options.items) ? i.options.items.call(i.element) : a(i.options.items, i.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), i]) | |
| } | |
| d.push([a.isFunction(this.options.items) ? this.options.items.call(this.element, null, { | |
| options: this.options, | |
| item: this.currentItem | |
| }) : a(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]); | |
| for (var f = d.length - 1; f >= 0; f--) | |
| d[f][0].each(function() { | |
| c.push(this) | |
| }); | |
| return a(c) | |
| }, | |
| _removeCurrentsFromItems: function() { | |
| for (var a = this.currentItem.find(":data(" + this.widgetName + "-item)"), b = 0; b < this.items.length; b++) | |
| for (var c = 0; c < a.length; c++) | |
| a[c] == this.items[b].item[0] && this.items.splice(b, 1) | |
| }, | |
| _refreshItems: function(b) { | |
| this.items = [], | |
| this.containers = [this]; | |
| var c = this.items | |
| , d = [[a.isFunction(this.options.items) ? this.options.items.call(this.element[0], b, { | |
| item: this.currentItem | |
| }) : a(this.options.items, this.element), this]] | |
| , e = this._connectWith(); | |
| if (e && this.ready) | |
| for (var f = e.length - 1; f >= 0; f--) | |
| for (var g = a(e[f]), h = g.length - 1; h >= 0; h--) { | |
| var i = a.data(g[h], this.widgetName); | |
| i && i != this && !i.options.disabled && (d.push([a.isFunction(i.options.items) ? i.options.items.call(i.element[0], b, { | |
| item: this.currentItem | |
| }) : a(i.options.items, i.element), i]), | |
| this.containers.push(i)) | |
| } | |
| for (var f = d.length - 1; f >= 0; f--) | |
| for (var j = d[f][1], k = d[f][0], h = 0, l = k.length; h < l; h++) { | |
| var m = a(k[h]); | |
| m.data(this.widgetName + "-item", j), | |
| c.push({ | |
| item: m, | |
| instance: j, | |
| width: 0, | |
| height: 0, | |
| left: 0, | |
| top: 0 | |
| }) | |
| } | |
| }, | |
| refreshPositions: function(b) { | |
| this.offsetParent && this.helper && (this.offset.parent = this._getParentOffset()); | |
| for (var c = this.items.length - 1; c >= 0; c--) { | |
| var d = this.items[c]; | |
| if (d.instance == this.currentContainer || !this.currentContainer || d.item[0] == this.currentItem[0]) { | |
| var e = this.options.toleranceElement ? a(this.options.toleranceElement, d.item) : d.item; | |
| b || (d.width = e.outerWidth(), | |
| d.height = e.outerHeight()); | |
| var f = e.offset(); | |
| d.left = f.left, | |
| d.top = f.top | |
| } | |
| } | |
| if (this.options.custom && this.options.custom.refreshContainers) | |
| this.options.custom.refreshContainers.call(this); | |
| else | |
| for (var c = this.containers.length - 1; c >= 0; c--) { | |
| var f = this.containers[c].element.offset(); | |
| this.containers[c].containerCache.left = f.left, | |
| this.containers[c].containerCache.top = f.top, | |
| this.containers[c].containerCache.width = this.containers[c].element.outerWidth(), | |
| this.containers[c].containerCache.height = this.containers[c].element.outerHeight() | |
| } | |
| return this | |
| }, | |
| _createPlaceholder: function(b) { | |
| b = b || this; | |
| var c = b.options; | |
| if (!c.placeholder || c.placeholder.constructor == String) { | |
| var d = c.placeholder; | |
| c.placeholder = { | |
| element: function() { | |
| var c = a(document.createElement(b.currentItem[0].nodeName)).addClass(d || b.currentItem[0].className + " ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; | |
| return d || (c.style.visibility = "hidden"), | |
| c | |
| }, | |
| update: function(a, e) { | |
| d && !c.forcePlaceholderSize || (e.height() || e.height(b.currentItem.innerHeight() - parseInt(b.currentItem.css("paddingTop") || 0, 10) - parseInt(b.currentItem.css("paddingBottom") || 0, 10)), | |
| e.width() || e.width(b.currentItem.innerWidth() - parseInt(b.currentItem.css("paddingLeft") || 0, 10) - parseInt(b.currentItem.css("paddingRight") || 0, 10))) | |
| } | |
| } | |
| } | |
| b.placeholder = a(c.placeholder.element.call(b.element, b.currentItem)), | |
| b.currentItem.after(b.placeholder), | |
| c.placeholder.update(b, b.placeholder) | |
| }, | |
| _contactContainers: function(b) { | |
| for (var c = null, d = null, e = this.containers.length - 1; e >= 0; e--) | |
| if (!a.contains(this.currentItem[0], this.containers[e].element[0])) | |
| if (this._intersectsWith(this.containers[e].containerCache)) { | |
| if (c && a.contains(this.containers[e].element[0], c.element[0])) | |
| continue; | |
| c = this.containers[e], | |
| d = e | |
| } else | |
| this.containers[e].containerCache.over && (this.containers[e]._trigger("out", b, this._uiHash(this)), | |
| this.containers[e].containerCache.over = 0); | |
| if (c) | |
| if (1 === this.containers.length) | |
| this.containers[d]._trigger("over", b, this._uiHash(this)), | |
| this.containers[d].containerCache.over = 1; | |
| else if (this.currentContainer != this.containers[d]) { | |
| for (var f = 1e4, g = null, h = this.positionAbs[this.containers[d].floating ? "left" : "top"], i = this.items.length - 1; i >= 0; i--) | |
| if (a.contains(this.containers[d].element[0], this.items[i].item[0])) { | |
| var j = this.containers[d].floating ? this.items[i].item.offset().left : this.items[i].item.offset().top; | |
| Math.abs(j - h) < f && (f = Math.abs(j - h), | |
| g = this.items[i], | |
| this.direction = j - h > 0 ? "down" : "up") | |
| } | |
| if (!g && !this.options.dropOnEmpty) | |
| return; | |
| this.currentContainer = this.containers[d], | |
| g ? this._rearrange(b, g, null, !0) : this._rearrange(b, null, this.containers[d].element, !0), | |
| this._trigger("change", b, this._uiHash()), | |
| this.containers[d]._trigger("change", b, this._uiHash(this)), | |
| this.options.placeholder.update(this.currentContainer, this.placeholder), | |
| this.containers[d]._trigger("over", b, this._uiHash(this)), | |
| this.containers[d].containerCache.over = 1 | |
| } | |
| }, | |
| _createHelper: function(b) { | |
| var c = this.options | |
| , d = a.isFunction(c.helper) ? a(c.helper.apply(this.element[0], [b, this.currentItem])) : "clone" == c.helper ? this.currentItem.clone() : this.currentItem; | |
| return d.parents("body").length || a("parent" != c.appendTo ? c.appendTo : this.currentItem[0].parentNode)[0].appendChild(d[0]), | |
| d[0] == this.currentItem[0] && (this._storedCSS = { | |
| width: this.currentItem[0].style.width, | |
| height: this.currentItem[0].style.height, | |
| position: this.currentItem.css("position"), | |
| top: this.currentItem.css("top"), | |
| left: this.currentItem.css("left") | |
| }), | |
| ("" == d[0].style.width || c.forceHelperSize) && d.width(this.currentItem.width()), | |
| ("" == d[0].style.height || c.forceHelperSize) && d.height(this.currentItem.height()), | |
| d | |
| }, | |
| _adjustOffsetFromHelper: function(b) { | |
| "string" == typeof b && (b = b.split(" ")), | |
| a.isArray(b) && (b = { | |
| left: +b[0], | |
| top: +b[1] || 0 | |
| }), | |
| "left"in b && (this.offset.click.left = b.left + this.margins.left), | |
| "right"in b && (this.offset.click.left = this.helperProportions.width - b.right + this.margins.left), | |
| "top"in b && (this.offset.click.top = b.top + this.margins.top), | |
| "bottom"in b && (this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top) | |
| }, | |
| _getParentOffset: function() { | |
| this.offsetParent = this.helper.offsetParent(); | |
| var b = this.offsetParent.offset(); | |
| return "absolute" == this.cssPosition && this.scrollParent[0] != document && a.contains(this.scrollParent[0], this.offsetParent[0]) && (b.left += this.scrollParent.scrollLeft(), | |
| b.top += this.scrollParent.scrollTop()), | |
| (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && "html" == this.offsetParent[0].tagName.toLowerCase() && a.browser.msie) && (b = { | |
| top: 0, | |
| left: 0 | |
| }), | |
| { | |
| top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), | |
| left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) | |
| } | |
| }, | |
| _getRelativeOffset: function() { | |
| if ("relative" == this.cssPosition) { | |
| var a = this.currentItem.position(); | |
| return { | |
| top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), | |
| left: a.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft() | |
| } | |
| } | |
| return { | |
| top: 0, | |
| left: 0 | |
| } | |
| }, | |
| _cacheMargins: function() { | |
| this.margins = { | |
| left: parseInt(this.currentItem.css("marginLeft"), 10) || 0, | |
| top: parseInt(this.currentItem.css("marginTop"), 10) || 0 | |
| } | |
| }, | |
| _cacheHelperProportions: function() { | |
| this.helperProportions = { | |
| width: this.helper.outerWidth(), | |
| height: this.helper.outerHeight() | |
| } | |
| }, | |
| _setContainment: function() { | |
| var b = this.options; | |
| if ("parent" == b.containment && (b.containment = this.helper[0].parentNode), | |
| "document" != b.containment && "window" != b.containment || (this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, a("document" == b.containment ? document : window).width() - this.helperProportions.width - this.margins.left, (a("document" == b.containment ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]), | |
| !/^(document|window|parent)$/.test(b.containment)) { | |
| var c = a(b.containment)[0] | |
| , d = a(b.containment).offset() | |
| , e = "hidden" != a(c).css("overflow"); | |
| this.containment = [d.left + (parseInt(a(c).css("borderLeftWidth"), 10) || 0) + (parseInt(a(c).css("paddingLeft"), 10) || 0) - this.margins.left, d.top + (parseInt(a(c).css("borderTopWidth"), 10) || 0) + (parseInt(a(c).css("paddingTop"), 10) || 0) - this.margins.top, d.left + (e ? Math.max(c.scrollWidth, c.offsetWidth) : c.offsetWidth) - (parseInt(a(c).css("borderLeftWidth"), 10) || 0) - (parseInt(a(c).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, d.top + (e ? Math.max(c.scrollHeight, c.offsetHeight) : c.offsetHeight) - (parseInt(a(c).css("borderTopWidth"), 10) || 0) - (parseInt(a(c).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top] | |
| } | |
| }, | |
| _convertPositionTo: function(b, c) { | |
| c || (c = this.position); | |
| var d = "absolute" == b ? 1 : -1 | |
| , e = (this.options, | |
| "absolute" != this.cssPosition || this.scrollParent[0] != document && a.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent) | |
| , f = /(html|body)/i.test(e[0].tagName); | |
| return { | |
| top: c.top + this.offset.relative.top * d + this.offset.parent.top * d - ("fixed" == this.cssPosition ? -this.scrollParent.scrollTop() : f ? 0 : e.scrollTop()) * d, | |
| left: c.left + this.offset.relative.left * d + this.offset.parent.left * d - ("fixed" == this.cssPosition ? -this.scrollParent.scrollLeft() : f ? 0 : e.scrollLeft()) * d | |
| } | |
| }, | |
| _generatePosition: function(b) { | |
| var c = this.options | |
| , d = "absolute" != this.cssPosition || this.scrollParent[0] != document && a.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent | |
| , e = /(html|body)/i.test(d[0].tagName); | |
| "relative" != this.cssPosition || this.scrollParent[0] != document && this.scrollParent[0] != this.offsetParent[0] || (this.offset.relative = this._getRelativeOffset()); | |
| var f = b.pageX | |
| , g = b.pageY; | |
| if (this.originalPosition && (this.containment && (b.pageX - this.offset.click.left < this.containment[0] && (f = this.containment[0] + this.offset.click.left), | |
| b.pageY - this.offset.click.top < this.containment[1] && (g = this.containment[1] + this.offset.click.top), | |
| b.pageX - this.offset.click.left > this.containment[2] && (f = this.containment[2] + this.offset.click.left), | |
| b.pageY - this.offset.click.top > this.containment[3] && (g = this.containment[3] + this.offset.click.top)), | |
| c.grid)) { | |
| var h = this.originalPageY + Math.round((g - this.originalPageY) / c.grid[1]) * c.grid[1]; | |
| g = this.containment && (h - this.offset.click.top < this.containment[1] || h - this.offset.click.top > this.containment[3]) ? h - this.offset.click.top < this.containment[1] ? h + c.grid[1] : h - c.grid[1] : h; | |
| var i = this.originalPageX + Math.round((f - this.originalPageX) / c.grid[0]) * c.grid[0]; | |
| f = this.containment && (i - this.offset.click.left < this.containment[0] || i - this.offset.click.left > this.containment[2]) ? i - this.offset.click.left < this.containment[0] ? i + c.grid[0] : i - c.grid[0] : i | |
| } | |
| return { | |
| top: g - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" == this.cssPosition ? -this.scrollParent.scrollTop() : e ? 0 : d.scrollTop()), | |
| left: f - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" == this.cssPosition ? -this.scrollParent.scrollLeft() : e ? 0 : d.scrollLeft()) | |
| } | |
| }, | |
| _rearrange: function(a, b, c, d) { | |
| c ? c[0].appendChild(this.placeholder[0]) : b.item[0].parentNode.insertBefore(this.placeholder[0], "down" == this.direction ? b.item[0] : b.item[0].nextSibling), | |
| this.counter = this.counter ? ++this.counter : 1; | |
| var e = this.counter; | |
| this._delay(function() { | |
| e == this.counter && this.refreshPositions(!d) | |
| }) | |
| }, | |
| _clear: function(b, c) { | |
| this.reverting = !1; | |
| var d = []; | |
| if (!this._noFinalSort && this.currentItem.parent().length && this.placeholder.before(this.currentItem), | |
| this._noFinalSort = null, | |
| this.helper[0] == this.currentItem[0]) { | |
| for (var e in this._storedCSS) | |
| "auto" != this._storedCSS[e] && "static" != this._storedCSS[e] || (this._storedCSS[e] = ""); | |
| this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") | |
| } else | |
| this.currentItem.show(); | |
| this.fromOutside && !c && d.push(function(a) { | |
| this._trigger("receive", a, this._uiHash(this.fromOutside)) | |
| }), | |
| !this.fromOutside && this.domPosition.prev == this.currentItem.prev().not(".ui-sortable-helper")[0] && this.domPosition.parent == this.currentItem.parent()[0] || c || d.push(function(a) { | |
| this._trigger("update", a, this._uiHash()) | |
| }), | |
| this !== this.currentContainer && (c || (d.push(function(a) { | |
| this._trigger("remove", a, this._uiHash()) | |
| }), | |
| d.push(function(a) { | |
| return function(b) { | |
| a._trigger("receive", b, this._uiHash(this)) | |
| } | |
| } | |
| .call(this, this.currentContainer)), | |
| d.push(function(a) { | |
| return function(b) { | |
| a._trigger("update", b, this._uiHash(this)) | |
| } | |
| } | |
| .call(this, this.currentContainer)))); | |
| for (var e = this.containers.length - 1; e >= 0; e--) | |
| c || d.push(function(a) { | |
| return function(b) { | |
| a._trigger("deactivate", b, this._uiHash(this)) | |
| } | |
| } | |
| .call(this, this.containers[e])), | |
| this.containers[e].containerCache.over && (d.push(function(a) { | |
| return function(b) { | |
| a._trigger("out", b, this._uiHash(this)) | |
| } | |
| } | |
| .call(this, this.containers[e])), | |
| this.containers[e].containerCache.over = 0); | |
| if (this._storedCursor && a("body").css("cursor", this._storedCursor), | |
| this._storedOpacity && this.helper.css("opacity", this._storedOpacity), | |
| this._storedZIndex && this.helper.css("zIndex", "auto" == this._storedZIndex ? "" : this._storedZIndex), | |
| this.dragging = !1, | |
| this.cancelHelperRemoval) { | |
| if (!c) { | |
| this._trigger("beforeStop", b, this._uiHash()); | |
| for (var e = 0; e < d.length; e++) | |
| d[e].call(this, b); | |
| this._trigger("stop", b, this._uiHash()) | |
| } | |
| return this.fromOutside = !1, | |
| !1 | |
| } | |
| if (c || this._trigger("beforeStop", b, this._uiHash()), | |
| this.placeholder[0].parentNode.removeChild(this.placeholder[0]), | |
| this.helper[0] != this.currentItem[0] && this.helper.remove(), | |
| this.helper = null, | |
| !c) { | |
| for (var e = 0; e < d.length; e++) | |
| d[e].call(this, b); | |
| this._trigger("stop", b, this._uiHash()) | |
| } | |
| return this.fromOutside = !1, | |
| !0 | |
| }, | |
| _trigger: function() { | |
| a.Widget.prototype._trigger.apply(this, arguments) === !1 && this.cancel() | |
| }, | |
| _uiHash: function(b) { | |
| var c = b || this; | |
| return { | |
| helper: c.helper, | |
| placeholder: c.placeholder || a([]), | |
| position: c.position, | |
| originalPosition: c.originalPosition, | |
| offset: c.positionAbs, | |
| item: c.currentItem, | |
| sender: b ? b.element : null | |
| } | |
| } | |
| }) | |
| }(jQuery), | |
| function(a) { | |
| function b(a) { | |
| return function() { | |
| var b = this.element.val(); | |
| a.apply(this, arguments), | |
| this._refresh(), | |
| b !== this.element.val() && this._trigger("change") | |
| } | |
| } | |
| a.widget("ui.spinner", { | |
| version: "1.9.0", | |
| defaultElement: "<input>", | |
| widgetEventPrefix: "spin", | |
| options: { | |
| culture: null, | |
| icons: { | |
| down: "ui-icon-triangle-1-s", | |
| up: "ui-icon-triangle-1-n" | |
| }, | |
| incremental: !0, | |
| max: null, | |
| min: null, | |
| numberFormat: null, | |
| page: 10, | |
| step: 1, | |
| change: null, | |
| spin: null, | |
| start: null, | |
| stop: null | |
| }, | |
| _create: function() { | |
| this._setOption("max", this.options.max), | |
| this._setOption("min", this.options.min), | |
| this._setOption("step", this.options.step), | |
| this._value(this.element.val(), !0), | |
| this._draw(), | |
| this._on(this._events), | |
| this._refresh(), | |
| this._on(this.window, { | |
| beforeunload: function() { | |
| this.element.removeAttr("autocomplete") | |
| } | |
| }) | |
| }, | |
| _getCreateOptions: function() { | |
| var b = {} | |
| , c = this.element; | |
| return a.each(["min", "max", "step"], function(a, d) { | |
| var e = c.attr(d); | |
| void 0 !== e && e.length && (b[d] = e) | |
| }), | |
| b | |
| }, | |
| _events: { | |
| keydown: function(a) { | |
| this._start(a) && this._keydown(a) && a.preventDefault() | |
| }, | |
| keyup: "_stop", | |
| focus: function() { | |
| this.uiSpinner.addClass("ui-state-active"), | |
| this.previous = this.element.val() | |
| }, | |
| blur: function(a) { | |
| return this.cancelBlur ? void delete this.cancelBlur : (this._refresh(), | |
| this.uiSpinner.removeClass("ui-state-active"), | |
| void (this.previous !== this.element.val() && this._trigger("change", a))) | |
| }, | |
| mousewheel: function(a, b) { | |
| if (b) { | |
| if (!this.spinning && !this._start(a)) | |
| return !1; | |
| this._spin((b > 0 ? 1 : -1) * this.options.step, a), | |
| clearTimeout(this.mousewheela6K), | |
| this.mousewheela6K = this._delay(function() { | |
| this.spinning && this._stop(a) | |
| }, 100), | |
| a.preventDefault() | |
| } | |
| }, | |
| "mousedown .ui-spinner-button": function(b) { | |
| function c() { | |
| var a = this.element[0] === this.document[0].activeElement; | |
| a || (this.element.focus(), | |
| this.previous = d, | |
| this._delay(function() { | |
| this.previous = d | |
| })) | |
| } | |
| var d; | |
| d = this.element[0] === this.document[0].activeElement ? this.previous : this.element.val(), | |
| b.preventDefault(), | |
| c.call(this), | |
| this.cancelBlur = !0, | |
| this._delay(function() { | |
| delete this.cancelBlur, | |
| c.call(this) | |
| }), | |
| this._start(b) !== !1 && this._repeat(null, a(b.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, b) | |
| }, | |
| "mouseup .ui-spinner-button": "_stop", | |
| "mouseenter .ui-spinner-button": function(b) { | |
| if (a(b.currentTarget).hasClass("ui-state-active")) | |
| return this._start(b) !== !1 && void this._repeat(null, a(b.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, b) | |
| }, | |
| "mouseleave .ui-spinner-button": "_stop" | |
| }, | |
| _draw: function() { | |
| var a = this.uiSpinner = this.element.addClass("ui-spinner-input").attr("autocomplete", "off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml()); | |
| this._hoverable(a), | |
| this.element.attr("role", "spinbutton"), | |
| this.buttons = a.find(".ui-spinner-button").attr("tabIndex", -1).button().removeClass("ui-corner-all"), | |
| this.buttons.height() > Math.ceil(.5 * a.height()) && a.height() > 0 && a.height(a.height()), | |
| this.options.disabled && this.disable() | |
| }, | |
| _keydown: function(b) { | |
| var c = this.options | |
| , d = a.ui.keyCode; | |
| switch (b.keyCode) { | |
| case d.UP: | |
| return this._repeat(null, 1, b), | |
| !0; | |
| case d.DOWN: | |
| return this._repeat(null, -1, b), | |
| !0; | |
| case d.PAGE_UP: | |
| return this._repeat(null, c.page, b), | |
| !0; | |
| case d.PAGE_DOWN: | |
| return this._repeat(null, -c.page, b), | |
| !0 | |
| } | |
| return !1 | |
| }, | |
| _uiSpinnerHtml: function() { | |
| return "<span class='ui-spinner ui-state-default ui-widget ui-widget-content ui-corner-all'></span>" | |
| }, | |
| _buttonHtml: function() { | |
| return "<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon " + this.options.icons.up + "'>▲</span></a><a class='ui-spinner-button ui-spinner-down ui-corner-br'><span class='ui-icon " + this.options.icons.down + "'>▼</span></a>" | |
| }, | |
| _start: function(a) { | |
| return !(!this.spinning && this._trigger("start", a) === !1) && (this.counter || (this.counter = 1), | |
| this.spinning = !0, | |
| !0) | |
| }, | |
| _repeat: function(a, b, c) { | |
| a = a || 500, | |
| clearTimeout(this.timer), | |
| this.timer = this._delay(function() { | |
| this._repeat(40, b, c) | |
| }, a), | |
| this._spin(b * this.options.step, c) | |
| }, | |
| _spin: function(a, b) { | |
| var c = this.value() || 0; | |
| this.counter || (this.counter = 1), | |
| c = this._adjustValue(c + a * this._increment(this.counter)), | |
| this.spinning && this._trigger("spin", b, { | |
| value: c | |
| }) === !1 || (this._value(c), | |
| this.counter++) | |
| }, | |
| _increment: function(b) { | |
| var c = this.options.incremental; | |
| return c ? a.isFunction(c) ? c(b) : Math.floor(b * b * b / 5e4 - b * b / 500 + 17 * b / 200 + 1) : 1 | |
| }, | |
| _precision: function() { | |
| var a = this._precisionOf(this.options.step); | |
| return null !== this.options.min && (a = Math.max(a, this._precisionOf(this.options.min))), | |
| a | |
| }, | |
| _precisionOf: function(a) { | |
| var b = a.toString() | |
| , c = b.indexOf("."); | |
| return c === -1 ? 0 : b.length - c - 1 | |
| }, | |
| _adjustValue: function(a) { | |
| var b, c, d = this.options; | |
| return b = null !== d.min ? d.min : 0, | |
| c = a - b, | |
| c = Math.round(c / d.step) * d.step, | |
| a = b + c, | |
| a = parseFloat(a.toFixed(this._precision())), | |
| null !== d.max && a > d.max ? d.max : null !== d.min && a < d.min ? d.min : a | |
| }, | |
| _stop: function(a) { | |
| this.spinning && (clearTimeout(this.timer), | |
| clearTimeout(this.mousewheela6K), | |
| this.counter = 0, | |
| this.spinning = !1, | |
| this._trigger("stop", a)) | |
| }, | |
| _setOption: function(a, b) { | |
| if ("culture" === a || "numberFormat" === a) { | |
| var c = this._parse(this.element.val()); | |
| return this.options[a] = b, | |
| void this.element.val(this._format(c)) | |
| } | |
| "max" !== a && "min" !== a && "step" !== a || "string" == typeof b && (b = this._parse(b)), | |
| this._super(a, b), | |
| "disabled" === a && (b ? (this.element.prop("disabled", !0), | |
| this.buttons.button("disable")) : (this.element.prop("disabled", !1), | |
| this.buttons.button("enable"))) | |
| }, | |
| _setOptions: b(function(a) { | |
| this._super(a), | |
| this._value(this.element.val()) | |
| }), | |
| _parse: function(a) { | |
| return "string" == typeof a && "" !== a && (a = window.Globalize && this.options.numberFormat ? Globalize.parseFloat(a, 10, this.options.culture) : +a), | |
| "" === a || isNaN(a) ? null : a | |
| }, | |
| _format: function(a) { | |
| return "" === a ? "" : window.Globalize && this.options.numberFormat ? Globalize.format(a, this.options.numberFormat, this.options.culture) : a | |
| }, | |
| _refresh: function() { | |
| this.element.attr({ | |
| "aria-valuemin": this.options.min, | |
| "aria-valuemax": this.options.max, | |
| "aria-valuenow": this._parse(this.element.val()) | |
| }) | |
| }, | |
| _value: function(a, b) { | |
| var c; | |
| "" !== a && (c = this._parse(a), | |
| null !== c && (b || (c = this._adjustValue(c)), | |
| a = this._format(c))), | |
| this.element.val(a), | |
| this._refresh() | |
| }, | |
| _destroy: function() { | |
| this.element.removeClass("ui-spinner-input").prop("disabled", !1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"), | |
| this.uiSpinner.replaceWith(this.element) | |
| }, | |
| stepUp: b(function(a) { | |
| this._stepUp(a) | |
| }), | |
| _stepUp: function(a) { | |
| this._spin((a || 1) * this.options.step) | |
| }, | |
| stepDown: b(function(a) { | |
| this._stepDown(a) | |
| }), | |
| _stepDown: function(a) { | |
| this._spin((a || 1) * -this.options.step) | |
| }, | |
| pageUp: b(function(a) { | |
| this._stepUp((a || 1) * this.options.page) | |
| }), | |
| pageDown: b(function(a) { | |
| this._stepDown((a || 1) * this.options.page) | |
| }), | |
| value: function(a) { | |
| return arguments.length ? void b(this._value).call(this, a) : this._parse(this.element.val()) | |
| }, | |
| widget: function() { | |
| return this.uiSpinner | |
| } | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| function c() { | |
| return ++e | |
| } | |
| function d(a) { | |
| return a = a.cloneNode(!1), | |
| a.hash.length > 1 && a.href.replace(f, "") === location.href.replace(f, "") | |
| } | |
| var e = 0 | |
| , f = /#.*$/; | |
| a.widget("ui.tabs", { | |
| version: "1.9.0", | |
| delay: 300, | |
| options: { | |
| active: null, | |
| collapsible: !1, | |
| event: "click", | |
| heightStyle: "content", | |
| hide: null, | |
| show: null, | |
| activate: null, | |
| beforeActivate: null, | |
| beforeLoad: null, | |
| load: null | |
| }, | |
| _create: function() { | |
| var b = this | |
| , c = this.options | |
| , d = c.active; | |
| this.running = !1, | |
| this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible", c.collapsible).delegate(".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function(b) { | |
| a(this).is(".ui-state-disabled") && b.preventDefault() | |
| }).delegate(".ui-tabs-anchor", "focus" + this.eventNamespace, function() { | |
| a(this).closest("li").is(".ui-state-disabled") && this.blur() | |
| }), | |
| this._processTabs(), | |
| null === d && (location.hash && this.anchors.each(function(a, b) { | |
| if (b.hash === location.hash) | |
| return d = a, | |
| !1 | |
| }), | |
| null === d && (d = this.tabs.filter(".ui-tabs-active").index()), | |
| null !== d && d !== -1 || (d = !!this.tabs.length && 0)), | |
| d !== !1 && (d = this.tabs.index(this.tabs.eq(d)), | |
| d === -1 && (d = !c.collapsible && 0)), | |
| c.active = d, | |
| !c.collapsible && c.active === !1 && this.anchors.length && (c.active = 0), | |
| a.isArray(c.disabled) && (c.disabled = a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"), function(a) { | |
| return b.tabs.index(a) | |
| }))).sort()), | |
| this.options.active !== !1 && this.anchors.length ? this.active = this._findActive(this.options.active) : this.active = a(), | |
| this._refresh(), | |
| this.active.length && this.load(c.active) | |
| }, | |
| _getCreateEventData: function() { | |
| return { | |
| tab: this.active, | |
| panel: this.active.length ? this._getPanelForTab(this.active) : a() | |
| } | |
| }, | |
| _tabKeydown: function(b) { | |
| var c = a(this.document[0].activeElement).closest("li") | |
| , d = this.tabs.index(c) | |
| , e = !0; | |
| if (!this._handlePageNav(b)) { | |
| switch (b.keyCode) { | |
| case a.ui.keyCode.RIGHT: | |
| case a.ui.keyCode.DOWN: | |
| d++; | |
| break; | |
| case a.ui.keyCode.UP: | |
| case a.ui.keyCode.LEFT: | |
| e = !1, | |
| d--; | |
| break; | |
| case a.ui.keyCode.END: | |
| d = this.anchors.length - 1; | |
| break; | |
| case a.ui.keyCode.HOME: | |
| d = 0; | |
| break; | |
| case a.ui.keyCode.SPACE: | |
| return b.preventDefault(), | |
| clearTimeout(this.activating), | |
| void this._activate(d); | |
| case a.ui.keyCode.ENTER: | |
| return b.preventDefault(), | |
| clearTimeout(this.activating), | |
| void this._activate(d !== this.options.active && d); | |
| default: | |
| return | |
| } | |
| b.preventDefault(), | |
| clearTimeout(this.activating), | |
| d = this._focusNextTab(d, e), | |
| b.ctrlKey || (c.attr("aria-selected", "false"), | |
| this.tabs.eq(d).attr("aria-selected", "true"), | |
| this.activating = this._delay(function() { | |
| this.option("active", d) | |
| }, this.delay)) | |
| } | |
| }, | |
| _panelKeydown: function(b) { | |
| this._handlePageNav(b) || b.ctrlKey && b.keyCode === a.ui.keyCode.UP && (b.preventDefault(), | |
| this.active.focus()) | |
| }, | |
| _handlePageNav: function(b) { | |
| return b.altKey && b.keyCode === a.ui.keyCode.PAGE_UP ? (this._activate(this._focusNextTab(this.options.active - 1, !1)), | |
| !0) : b.altKey && b.keyCode === a.ui.keyCode.PAGE_DOWN ? (this._activate(this._focusNextTab(this.options.active + 1, !0)), | |
| !0) : void 0 | |
| }, | |
| _findNextTab: function(b, c) { | |
| function d() { | |
| return b > e && (b = 0), | |
| b < 0 && (b = e), | |
| b | |
| } | |
| for (var e = this.tabs.length - 1; a.inArray(d(), this.options.disabled) !== -1; ) | |
| b = c ? b + 1 : b - 1; | |
| return b | |
| }, | |
| _focusNextTab: function(a, b) { | |
| return a = this._findNextTab(a, b), | |
| this.tabs.eq(a).focus(), | |
| a | |
| }, | |
| _setOption: function(a, b) { | |
| return "active" === a ? void this._activate(b) : "disabled" === a ? void this._setupDisabled(b) : (this._super(a, b), | |
| "collapsible" === a && (this.element.toggleClass("ui-tabs-collapsible", b), | |
| b || this.options.active !== !1 || this._activate(0)), | |
| "event" === a && this._setupEvents(b), | |
| void ("heightStyle" === a && this._setupHeightStyle(b))) | |
| }, | |
| _tabId: function(a) { | |
| return a.attr("aria-controls") || "ui-tabs-" + c() | |
| }, | |
| _sanitizeSelector: function(a) { | |
| return a ? a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&") : "" | |
| }, | |
| refresh: function() { | |
| var b = this.options | |
| , c = this.tablist.children(":has(a[href])"); | |
| b.disabled = a.map(c.filter(".ui-state-disabled"), function(a) { | |
| return c.index(a) | |
| }), | |
| this._processTabs(), | |
| b.active !== !1 && this.anchors.length ? this.active.length && !a.contains(this.tablist[0], this.active[0]) ? this.tabs.length === b.disabled.length ? (b.active = !1, | |
| this.active = a()) : this._activate(this._findNextTab(Math.max(0, b.active - 1), !1)) : b.active = this.tabs.index(this.active) : (b.active = !1, | |
| this.active = a()), | |
| this._refresh() | |
| }, | |
| _refresh: function() { | |
| this._setupDisabled(this.options.disabled), | |
| this._setupEvents(this.options.event), | |
| this._setupHeightStyle(this.options.heightStyle), | |
| this.tabs.not(this.active).attr({ | |
| "aria-selected": "false", | |
| tabIndex: -1 | |
| }), | |
| this.panels.not(this._getPanelForTab(this.active)).hide().attr({ | |
| "aria-expanded": "false", | |
| "aria-hidden": "true" | |
| }), | |
| this.active.length ? (this.active.addClass("ui-tabs-active ui-state-active").attr({ | |
| "aria-selected": "true", | |
| tabIndex: 0 | |
| }), | |
| this._getPanelForTab(this.active).show().attr({ | |
| "aria-expanded": "true", | |
| "aria-hidden": "false" | |
| })) : this.tabs.eq(0).attr("tabIndex", 0) | |
| }, | |
| _processTabs: function() { | |
| var b = this; | |
| this.tablist = this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role", "tablist"), | |
| this.tabs = this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({ | |
| role: "tab", | |
| tabIndex: -1 | |
| }), | |
| this.anchors = this.tabs.map(function() { | |
| return a("a", this)[0] | |
| }).addClass("ui-tabs-anchor").attr({ | |
| role: "presentation", | |
| tabIndex: -1 | |
| }), | |
| this.panels = a(), | |
| this.anchors.each(function(c, e) { | |
| var f, g, h, i = a(e).uniqueId().attr("id"), j = a(e).closest("li"), k = j.attr("aria-controls"); | |
| d(e) ? (f = e.hash, | |
| g = b.element.find(b._sanitizeSelector(f))) : (h = b._tabId(j), | |
| f = "#" + h, | |
| g = b.element.find(f), | |
| g.length || (g = b._createPanel(h), | |
| g.insertAfter(b.panels[c - 1] || b.tablist)), | |
| g.attr("aria-live", "polite")), | |
| g.length && (b.panels = b.panels.add(g)), | |
| k && j.data("ui-tabs-aria-controls", k), | |
| j.attr({ | |
| "aria-controls": f.substring(1), | |
| "aria-labelledby": i | |
| }), | |
| g.attr("aria-labelledby", i) | |
| }), | |
| this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role", "tabpanel") | |
| }, | |
| _getList: function() { | |
| return this.element.find("ol,ul").eq(0) | |
| }, | |
| _createPanel: function(b) { | |
| return a("<div>").attr("id", b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy", !0) | |
| }, | |
| _setupDisabled: function(b) { | |
| a.isArray(b) && (b.length ? b.length === this.anchors.length && (b = !0) : b = !1); | |
| for (var c, d = 0; c = this.tabs[d]; d++) | |
| b === !0 || a.inArray(d, b) !== -1 ? a(c).addClass("ui-state-disabled").attr("aria-disabled", "true") : a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled"); | |
| this.options.disabled = b | |
| }, | |
| _setupEvents: function(b) { | |
| var c = { | |
| click: function(a) { | |
| a.preventDefault() | |
| } | |
| }; | |
| b && a.each(b.split(" "), function(a, b) { | |
| c[b] = "_eventHandler" | |
| }), | |
| this._off(this.anchors.add(this.tabs).add(this.panels)), | |
| this._on(this.anchors, c), | |
| this._on(this.tabs, { | |
| keydown: "_tabKeydown" | |
| }), | |
| this._on(this.panels, { | |
| keydown: "_panelKeydown" | |
| }), | |
| this._focusable(this.tabs), | |
| this._hoverable(this.tabs) | |
| }, | |
| _setupHeightStyle: function(b) { | |
| var c, d, e = this.element.parent(); | |
| "fill" === b ? (a.support.minHeight || (d = e.css("overflow"), | |
| e.css("overflow", "hidden")), | |
| c = e.height(), | |
| this.element.siblings(":visible").each(function() { | |
| var b = a(this) | |
| , d = b.css("position"); | |
| "absolute" !== d && "fixed" !== d && (c -= b.outerHeight(!0)) | |
| }), | |
| d && e.css("overflow", d), | |
| this.element.children().not(this.panels).each(function() { | |
| c -= a(this).outerHeight(!0) | |
| }), | |
| this.panels.each(function() { | |
| a(this).height(Math.max(0, c - a(this).innerHeight() + a(this).height())) | |
| }).css("overflow", "auto")) : "auto" === b && (c = 0, | |
| this.panels.each(function() { | |
| c = Math.max(c, a(this).height("").height()) | |
| }).height(c)) | |
| }, | |
| _eventHandler: function(b) { | |
| var c = this.options | |
| , d = this.active | |
| , e = a(b.currentTarget) | |
| , f = e.closest("li") | |
| , g = f[0] === d[0] | |
| , h = g && c.collapsible | |
| , i = h ? a() : this._getPanelForTab(f) | |
| , j = d.length ? this._getPanelForTab(d) : a() | |
| , k = { | |
| oldTab: d, | |
| oldPanel: j, | |
| newTab: h ? a() : f, | |
| newPanel: i | |
| }; | |
| b.preventDefault(), | |
| f.hasClass("ui-state-disabled") || f.hasClass("ui-tabs-loading") || this.running || g && !c.collapsible || this._trigger("beforeActivate", b, k) === !1 || (c.active = !h && this.tabs.index(f), | |
| this.active = g ? a() : f, | |
| this.xhr && this.xhr.abort(), | |
| j.length || i.length || a.error("jQuery UI Tabs: Mismatching fragment identifier."), | |
| i.length && this.load(this.tabs.index(f), b), | |
| this._toggle(b, k)) | |
| }, | |
| _toggle: function(b, c) { | |
| function d() { | |
| f.running = !1, | |
| f._trigger("activate", b, c) | |
| } | |
| function e() { | |
| c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"), | |
| g.length && f.options.show ? f._show(g, f.options.show, d) : (g.show(), | |
| d()) | |
| } | |
| var f = this | |
| , g = c.newPanel | |
| , h = c.oldPanel; | |
| this.running = !0, | |
| h.length && this.options.hide ? this._hide(h, this.options.hide, function() { | |
| c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), | |
| e() | |
| }) : (c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), | |
| h.hide(), | |
| e()), | |
| h.attr({ | |
| "aria-expanded": "false", | |
| "aria-hidden": "true" | |
| }), | |
| c.oldTab.attr("aria-selected", "false"), | |
| g.length && h.length ? c.oldTab.attr("tabIndex", -1) : g.length && this.tabs.filter(function() { | |
| return 0 === a(this).attr("tabIndex") | |
| }).attr("tabIndex", -1), | |
| g.attr({ | |
| "aria-expanded": "true", | |
| "aria-hidden": "false" | |
| }), | |
| c.newTab.attr({ | |
| "aria-selected": "true", | |
| tabIndex: 0 | |
| }) | |
| }, | |
| _activate: function(b) { | |
| var c, d = this._findActive(b); | |
| d[0] !== this.active[0] && (d.length || (d = this.active), | |
| c = d.find(".ui-tabs-anchor")[0], | |
| this._eventHandler({ | |
| target: c, | |
| currentTarget: c, | |
| preventDefault: a.noop | |
| })) | |
| }, | |
| _findActive: function(b) { | |
| return b === !1 ? a() : this.tabs.eq(b) | |
| }, | |
| _getIndex: function(a) { | |
| return "string" == typeof a && (a = this.anchors.index(this.anchors.filter("[href$='" + a + "']"))), | |
| a | |
| }, | |
| _destroy: function() { | |
| this.xhr && this.xhr.abort(), | |
| this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"), | |
| this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"), | |
| this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeData("href.tabs").removeData("load.tabs").removeUniqueId(), | |
| this.tabs.add(this.panels).each(function() { | |
| a.data(this, "ui-tabs-destroy") ? a(this).remove() : a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role") | |
| }), | |
| this.tabs.each(function() { | |
| var b = a(this) | |
| , c = b.data("ui-tabs-aria-controls"); | |
| c ? b.attr("aria-controls", c) : b.removeAttr("aria-controls") | |
| }), | |
| "content" !== this.options.heightStyle && this.panels.css("height", "") | |
| }, | |
| enable: function(c) { | |
| var d = this.options.disabled; | |
| d !== !1 && (c === b ? d = !1 : (c = this._getIndex(c), | |
| d = a.isArray(d) ? a.map(d, function(a) { | |
| return a !== c ? a : null | |
| }) : a.map(this.tabs, function(a, b) { | |
| return b !== c ? b : null | |
| })), | |
| this._setupDisabled(d)) | |
| }, | |
| disable: function(c) { | |
| var d = this.options.disabled; | |
| if (d !== !0) { | |
| if (c === b) | |
| d = !0; | |
| else { | |
| if (c = this._getIndex(c), | |
| a.inArray(c, d) !== -1) | |
| return; | |
| d = a.isArray(d) ? a.merge([c], d).sort() : [c] | |
| } | |
| this._setupDisabled(d) | |
| } | |
| }, | |
| load: function(b, c) { | |
| b = this._getIndex(b); | |
| var e = this | |
| , f = this.tabs.eq(b) | |
| , g = f.find(".ui-tabs-anchor") | |
| , h = this._getPanelForTab(f) | |
| , i = { | |
| tab: f, | |
| panel: h | |
| }; | |
| d(g[0]) || (this.xhr = a.ajax(this._ajaxSettings(g, c, i)), | |
| this.xhr && "canceled" !== this.xhr.statusText && (f.addClass("ui-tabs-loading"), | |
| h.attr("aria-busy", "true"), | |
| this.xhr.success(function(a) { | |
| setTimeout(function() { | |
| h.html(a), | |
| e._trigger("load", c, i) | |
| }, 1) | |
| }).complete(function(a, b) { | |
| setTimeout(function() { | |
| "abort" === b && e.panels.stop(!1, !0), | |
| f.removeClass("ui-tabs-loading"), | |
| h.removeAttr("aria-busy"), | |
| a === e.xhr && delete e.xhr | |
| }, 1) | |
| }))) | |
| }, | |
| _ajaxSettings: function(b, c, d) { | |
| var e = this; | |
| return { | |
| url: b.attr("href"), | |
| beforeSend: function(b, f) { | |
| return e._trigger("beforeLoad", c, a.extend({ | |
| jqXHR: b, | |
| ajaxSettings: f | |
| }, d)) | |
| } | |
| } | |
| }, | |
| _getPanelForTab: function(b) { | |
| var c = a(b).attr("aria-controls"); | |
| return this.element.find(this._sanitizeSelector("#" + c)) | |
| } | |
| }), | |
| a.uiBackCompat !== !1 && (a.ui.tabs.prototype._ui = function(a, b) { | |
| return { | |
| tab: a, | |
| panel: b, | |
| index: this.anchors.index(a) | |
| } | |
| } | |
| , | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| url: function(a, b) { | |
| this.anchors.eq(a).attr("href", b) | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| options: { | |
| ajaxOptions: null, | |
| cache: !1 | |
| }, | |
| _create: function() { | |
| this._super(); | |
| var b = this; | |
| this._on({ | |
| tabsbeforeload: function(c, d) { | |
| return a.data(d.tab[0], "cache.tabs") ? void c.preventDefault() : void d.jqXHR.success(function() { | |
| b.options.cache && a.data(d.tab[0], "cache.tabs", !0) | |
| }) | |
| } | |
| }) | |
| }, | |
| _ajaxSettings: function(b, c, d) { | |
| var e = this.options.ajaxOptions; | |
| return a.extend({}, e, { | |
| error: function(a, b, c) { | |
| try { | |
| e.error(a, b, d.tab.closest("li").index(), d.tab[0]) | |
| } catch (c) {} | |
| } | |
| }, this._superApply(arguments)) | |
| }, | |
| _setOption: function(a, b) { | |
| "cache" === a && b === !1 && this.anchors.removeData("cache.tabs"), | |
| this._super(a, b) | |
| }, | |
| _destroy: function() { | |
| this.anchors.removeData("cache.tabs"), | |
| this._super() | |
| }, | |
| url: function(a, b) { | |
| this.anchors.eq(a).removeData("cache.tabs"), | |
| this._superApply(arguments) | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| abort: function() { | |
| this.xhr && this.xhr.abort() | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| options: { | |
| spinner: "<em>Loading…</em>" | |
| }, | |
| _create: function() { | |
| this._super(), | |
| this._on({ | |
| tabsbeforeload: function(a, b) { | |
| if (a.target === this.element[0] && this.options.spinner) { | |
| var c = b.tab.find("span") | |
| , d = c.html(); | |
| c.html(this.options.spinner), | |
| b.jqXHR.complete(function() { | |
| c.html(d) | |
| }) | |
| } | |
| } | |
| }) | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| options: { | |
| enable: null, | |
| disable: null | |
| }, | |
| enable: function(b) { | |
| var c, d = this.options; | |
| (b && d.disabled === !0 || a.isArray(d.disabled) && a.inArray(b, d.disabled) !== -1) && (c = !0), | |
| this._superApply(arguments), | |
| c && this._trigger("enable", null, this._ui(this.anchors[b], this.panels[b])) | |
| }, | |
| disable: function(b) { | |
| var c, d = this.options; | |
| (b && d.disabled === !1 || a.isArray(d.disabled) && a.inArray(b, d.disabled) === -1) && (c = !0), | |
| this._superApply(arguments), | |
| c && this._trigger("disable", null, this._ui(this.anchors[b], this.panels[b])) | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| options: { | |
| add: null, | |
| remove: null, | |
| tabTemplate: "<li><a href='#{href}'><span>#{label}</span></a></li>" | |
| }, | |
| add: function(c, d, e) { | |
| e === b && (e = this.anchors.length); | |
| var f, g, h = this.options, i = a(h.tabTemplate.replace(/#\{href\}/g, c).replace(/#\{label\}/g, d)), j = c.indexOf("#") ? this._tabId(i) : c.replace("#", ""); | |
| return i.addClass("ui-state-default ui-corner-top").data("ui-tabs-destroy", !0), | |
| i.attr("aria-controls", j), | |
| f = e >= this.tabs.length, | |
| g = this.element.find("#" + j), | |
| g.length || (g = this._createPanel(j), | |
| f ? e > 0 ? g.insertAfter(this.panels.eq(-1)) : g.appendTo(this.element) : g.insertBefore(this.panels[e])), | |
| g.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").hide(), | |
| f ? i.appendTo(this.tablist) : i.insertBefore(this.tabs[e]), | |
| h.disabled = a.map(h.disabled, function(a) { | |
| return a >= e ? ++a : a | |
| }), | |
| this.refresh(), | |
| 1 === this.tabs.length && h.active === !1 && this.option("active", 0), | |
| this._trigger("add", null, this._ui(this.anchors[e], this.panels[e])), | |
| this | |
| }, | |
| remove: function(b) { | |
| b = this._getIndex(b); | |
| var c = this.options | |
| , d = this.tabs.eq(b).remove() | |
| , e = this._getPanelForTab(d).remove(); | |
| return d.hasClass("ui-tabs-active") && this.anchors.length > 2 && this._activate(b + (b + 1 < this.anchors.length ? 1 : -1)), | |
| c.disabled = a.map(a.grep(c.disabled, function(a) { | |
| return a !== b | |
| }), function(a) { | |
| return a >= b ? --a : a | |
| }), | |
| this.refresh(), | |
| this._trigger("remove", null, this._ui(d.find("a")[0], e[0])), | |
| this | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| length: function() { | |
| return this.anchors.length | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| options: { | |
| idPrefix: "ui-tabs-" | |
| }, | |
| _tabId: function(b) { | |
| var d = b.is("li") ? b.find("a[href]") : b; | |
| return d = d[0], | |
| a(d).closest("li").attr("aria-controls") || d.title && d.title.replace(/\s/g, "_").replace(/[^\w\u00c0-\uFFFF\-]/g, "") || this.options.idPrefix + c() | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| options: { | |
| panelTemplate: "<div></div>" | |
| }, | |
| _createPanel: function(b) { | |
| return a(this.options.panelTemplate).attr("id", b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy", !0) | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| _create: function() { | |
| var a = this.options; | |
| null === a.active && a.selected !== b && (a.active = a.selected !== -1 && a.selected), | |
| this._super(), | |
| a.selected = a.active, | |
| a.selected === !1 && (a.selected = -1) | |
| }, | |
| _setOption: function(a, b) { | |
| if ("selected" !== a) | |
| return this._super(a, b); | |
| var c = this.options; | |
| this._super("active", b !== -1 && b), | |
| c.selected = c.active, | |
| c.selected === !1 && (c.selected = -1) | |
| }, | |
| _eventHandler: function(a) { | |
| this._superApply(arguments), | |
| this.options.selected = this.options.active, | |
| this.options.selected === !1 && (this.options.selected = -1) | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| options: { | |
| show: null, | |
| select: null | |
| }, | |
| _create: function() { | |
| this._super(), | |
| this.options.active !== !1 && this._trigger("show", null, this._ui(this.active.find(".ui-tabs-anchor")[0], this._getPanelForTab(this.active)[0])) | |
| }, | |
| _trigger: function(a, b, c) { | |
| var d = this._superApply(arguments); | |
| return !!d && ("beforeActivate" === a && c.newTab.length ? d = this._super("select", b, { | |
| tab: c.newTab.find(".ui-tabs-anchor")[0], | |
| panel: c.newPanel[0], | |
| index: c.newTab.closest("li").index() | |
| }) : "activate" === a && c.newTab.length && (d = this._super("show", b, { | |
| tab: c.newTab.find(".ui-tabs-anchor")[0], | |
| panel: c.newPanel[0], | |
| index: c.newTab.closest("li").index() | |
| })), | |
| d) | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| select: function(a) { | |
| if (a = this._getIndex(a), | |
| a === -1) { | |
| if (!this.options.collapsible || this.options.selected === -1) | |
| return; | |
| a = this.options.selected | |
| } | |
| this.anchors.eq(a).trigger(this.options.event + this.eventNamespace) | |
| } | |
| }), | |
| function() { | |
| var b = 0; | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| options: { | |
| cookie: null | |
| }, | |
| _create: function() { | |
| var a, b = this.options; | |
| null == b.active && b.cookie && (a = parseInt(this._cookie(), 10), | |
| a === -1 && (a = !1), | |
| b.active = a), | |
| this._super() | |
| }, | |
| _cookie: function(c) { | |
| var d = [this.cookie || (this.cookie = this.options.cookie.name || "ui-tabs-" + ++b)]; | |
| return arguments.length && (d.push(c === !1 ? -1 : c), | |
| d.push(this.options.cookie)), | |
| a.cookie.apply(null, d) | |
| }, | |
| _refresh: function() { | |
| this._super(), | |
| this.options.cookie && this._cookie(this.options.active, this.options.cookie) | |
| }, | |
| _eventHandler: function(a) { | |
| this._superApply(arguments), | |
| this.options.cookie && this._cookie(this.options.active, this.options.cookie); | |
| }, | |
| _destroy: function() { | |
| this._super(), | |
| this.options.cookie && this._cookie(null, this.options.cookie) | |
| } | |
| }) | |
| }(), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| _trigger: function(b, c, d) { | |
| var e = a.extend({}, d); | |
| return "load" === b && (e.panel = e.panel[0], | |
| e.tab = e.tab.find(".ui-tabs-anchor")[0]), | |
| this._super(b, c, e) | |
| } | |
| }), | |
| a.widget("ui.tabs", a.ui.tabs, { | |
| options: { | |
| fx: null | |
| }, | |
| _getFx: function() { | |
| var b, c, d = this.options.fx; | |
| return d && (a.isArray(d) ? (b = d[0], | |
| c = d[1]) : b = c = d), | |
| d ? { | |
| show: c, | |
| hide: b | |
| } : null | |
| }, | |
| _toggle: function(a, b) { | |
| function c() { | |
| e.running = !1, | |
| e._trigger("activate", a, b) | |
| } | |
| function d() { | |
| b.newTab.closest("li").addClass("ui-tabs-active ui-state-active"), | |
| f.length && h.show ? f.animate(h.show, h.show.duration, function() { | |
| c() | |
| }) : (f.show(), | |
| c()) | |
| } | |
| var e = this | |
| , f = b.newPanel | |
| , g = b.oldPanel | |
| , h = this._getFx(); | |
| return h ? (e.running = !0, | |
| void (g.length && h.hide ? g.animate(h.hide, h.hide.duration, function() { | |
| b.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), | |
| d() | |
| }) : (b.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), | |
| g.hide(), | |
| d()))) : this._super(a, b) | |
| } | |
| })) | |
| }(jQuery), | |
| function(a) { | |
| function b(b, c) { | |
| var d = (b.attr("aria-describedby") || "").split(/\s+/); | |
| d.push(c), | |
| b.data("ui-tooltip-id", c).attr("aria-describedby", a.trim(d.join(" "))) | |
| } | |
| function c(b) { | |
| var c = b.data("ui-tooltip-id") | |
| , d = (b.attr("aria-describedby") || "").split(/\s+/) | |
| , e = a.inArray(c, d); | |
| e !== -1 && d.splice(e, 1), | |
| b.removeData("ui-tooltip-id"), | |
| d = a.trim(d.join(" ")), | |
| d ? b.attr("aria-describedby", d) : b.removeAttr("aria-describedby") | |
| } | |
| var d = 0; | |
| a.widget("ui.tooltip", { | |
| version: "1.9.0", | |
| options: { | |
| content: function() { | |
| return a(this).attr("title") | |
| }, | |
| hide: !0, | |
| items: "[title]", | |
| position: { | |
| my: "left+15 center", | |
| at: "right center", | |
| collision: "flipfit flipfit" | |
| }, | |
| show: !0, | |
| tooltipClass: null, | |
| track: !1, | |
| close: null, | |
| open: null | |
| }, | |
| _create: function() { | |
| this._on({ | |
| mouseover: "open", | |
| focusin: "open" | |
| }), | |
| this.tooltips = {} | |
| }, | |
| _setOption: function(b, c) { | |
| var d = this; | |
| return "disabled" === b ? (this[c ? "_disable" : "_enable"](), | |
| void (this.options[b] = c)) : (this._super(b, c), | |
| void ("content" === b && a.each(this.tooltips, function(a, b) { | |
| d._updateContent(b) | |
| }))) | |
| }, | |
| _disable: function() { | |
| var b = this; | |
| a.each(this.tooltips, function(c, d) { | |
| var e = a.Event("blur"); | |
| e.target = e.currentTarget = d[0], | |
| b.close(e, !0) | |
| }), | |
| this.element.find(this.options.items).andSelf().each(function() { | |
| var b = a(this); | |
| b.is("[title]") && b.data("ui-tooltip-title", b.attr("title")).attr("title", "") | |
| }) | |
| }, | |
| _enable: function() { | |
| this.element.find(this.options.items).andSelf().each(function() { | |
| var b = a(this); | |
| b.data("ui-tooltip-title") && b.attr("title", b.data("ui-tooltip-title")) | |
| }) | |
| }, | |
| open: function(b) { | |
| var c = a(b ? b.target : this.element).closest(this.options.items); | |
| if (c.length) { | |
| if (this.options.track && c.data("ui-tooltip-id")) | |
| return this._find(c).position(a.extend({ | |
| of: c | |
| }, this.options.position)), | |
| void this._off(this.document, "mousemove"); | |
| c.attr("title") && c.data("ui-tooltip-title", c.attr("title")), | |
| c.data("tooltip-open", !0), | |
| this._updateContent(c, b) | |
| } | |
| }, | |
| _updateContent: function(a, b) { | |
| var c, d = this.options.content, e = this; | |
| return "string" == typeof d ? this._open(b, a, d) : (c = d.call(a[0], function(c) { | |
| a.data("tooltip-open") && e._delay(function() { | |
| this._open(b, a, c) | |
| }) | |
| }), | |
| void (c && this._open(b, a, c))) | |
| }, | |
| _open: function(c, d, e) { | |
| function f(a) { | |
| h.of = a, | |
| g.position(h) | |
| } | |
| var g, h; | |
| if (e) { | |
| if (g = this._find(d), | |
| g.length) | |
| return void g.find(".ui-tooltip-content").html(e); | |
| d.is("[title]") && (c && "mouseover" === c.type ? d.attr("title", "") : d.removeAttr("title")), | |
| g = this._tooltip(d), | |
| b(d, g.attr("id")), | |
| g.find(".ui-tooltip-content").html(e), | |
| this.options.track && c && /^mouse/.test(c.originalEvent.type) ? (h = a.extend({}, this.options.position), | |
| this._on(this.document, { | |
| mousemove: f | |
| }), | |
| f(c)) : g.position(a.extend({ | |
| of: d | |
| }, this.options.position)), | |
| g.hide(), | |
| this._show(g, this.options.show), | |
| this._trigger("open", c, { | |
| tooltip: g | |
| }), | |
| this._on(d, { | |
| mouseleave: "close", | |
| focusout: "close", | |
| keyup: function(b) { | |
| if (b.keyCode === a.ui.keyCode.ESCAPE) { | |
| var c = a.Event(b); | |
| c.currentTarget = d[0], | |
| this.close(c, !0) | |
| } | |
| } | |
| }) | |
| } | |
| }, | |
| close: function(b, d) { | |
| var e = this | |
| , f = a(b ? b.currentTarget : this.element) | |
| , g = this._find(f); | |
| this.closing || !d && b && "focusout" !== b.type && this.document[0].activeElement === f[0] || (f.data("ui-tooltip-title") && f.attr("title", f.data("ui-tooltip-title")), | |
| c(f), | |
| g.stop(!0), | |
| this._hide(g, this.options.hide, function() { | |
| a(this).remove(), | |
| delete e.tooltips[this.id] | |
| }), | |
| f.removeData("tooltip-open"), | |
| this._off(f, "mouseleave focusout keyup"), | |
| this._off(this.document, "mousemove"), | |
| this.closing = !0, | |
| this._trigger("close", b, { | |
| tooltip: g | |
| }), | |
| this.closing = !1) | |
| }, | |
| _tooltip: function(b) { | |
| var c = "ui-tooltip-" + d++ | |
| , e = a("<div>").attr({ | |
| id: c, | |
| role: "tooltip" | |
| }).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content " + (this.options.tooltipClass || "")); | |
| return a("<div>").addClass("ui-tooltip-content").appendTo(e), | |
| e.appendTo(this.document[0].body), | |
| a.fn.bgiframe && e.bgiframe(), | |
| this.tooltips[c] = b, | |
| e | |
| }, | |
| _find: function(b) { | |
| var c = b.data("ui-tooltip-id"); | |
| return c ? a("#" + c) : a() | |
| }, | |
| _destroy: function() { | |
| var b = this; | |
| a.each(this.tooltips, function(c, d) { | |
| var e = a.Event("blur"); | |
| e.target = e.currentTarget = d[0], | |
| b.close(e, !0), | |
| a("#" + c).remove(), | |
| d.data("ui-tooltip-title") && (d.attr("title", d.data("ui-tooltip-title")), | |
| d.removeData("ui-tooltip-title")) | |
| }) | |
| } | |
| }) | |
| }(jQuery), | |
| function() { | |
| function a(b, c, d) { | |
| if (b === c) | |
| return 0 !== b || 1 / b == 1 / c; | |
| if (null == b || null == c) | |
| return b === c; | |
| if (b._chain && (b = b._wrapped), | |
| c._chain && (c = c._wrapped), | |
| b.isEqual && x.isFunction(b.isEqual)) | |
| return b.isEqual(c); | |
| if (c.isEqual && x.isFunction(c.isEqual)) | |
| return c.isEqual(b); | |
| var e = j.call(b); | |
| if (e != j.call(c)) | |
| return !1; | |
| switch (e) { | |
| case "[object String]": | |
| return b == String(c); | |
| case "[object Number]": | |
| return b != +b ? c != +c : 0 == b ? 1 / b == 1 / c : b == +c; | |
| case "[object Date]": | |
| case "[object Boolean]": | |
| return +b == +c; | |
| case "[object RegExp]": | |
| return b.source == c.source && b.global == c.global && b.multiline == c.multiline && b.ignoreCase == c.ignoreCase | |
| } | |
| if ("object" != typeof b || "object" != typeof c) | |
| return !1; | |
| for (var f = d.length; f--; ) | |
| if (d[f] == b) | |
| return !0; | |
| d.push(b); | |
| var g = 0 | |
| , h = !0; | |
| if ("[object Array]" == e) { | |
| if (g = b.length, | |
| h = g == c.length) | |
| for (; g-- && (h = g in b == g in c && a(b[g], c[g], d)); ) | |
| ; | |
| } else { | |
| if ("constructor"in b != "constructor"in c || b.constructor != c.constructor) | |
| return !1; | |
| for (var i in b) | |
| if (x.has(b, i) && (g++, | |
| !(h = x.has(c, i) && a(b[i], c[i], d)))) | |
| break; | |
| if (h) { | |
| for (i in c) | |
| if (x.has(c, i) && !g--) | |
| break; | |
| h = !g | |
| } | |
| } | |
| return d.pop(), | |
| h | |
| } | |
| var b = this | |
| , c = b._ | |
| , d = {} | |
| , e = Array.prototype | |
| , f = Object.prototype | |
| , g = Function.prototype | |
| , h = e.slice | |
| , i = e.unshift | |
| , j = f.toString | |
| , k = f.hasOwnProperty | |
| , l = e.forEach | |
| , m = e.map | |
| , n = e.reduce | |
| , o = e.reduceRight | |
| , p = e.filter | |
| , q = e.every | |
| , r = e.some | |
| , s = e.indexOf | |
| , t = e.lastIndexOf | |
| , u = Array.isArray | |
| , v = Object.keys | |
| , w = g.bind | |
| , x = function(a) { | |
| return new I(a) | |
| }; | |
| "undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = x), | |
| exports._ = x) : b._ = x, | |
| x.VERSION = "1.3.3"; | |
| var y = x.each = x.forEach = function(a, b, c) { | |
| if (null != a) | |
| if (l && a.forEach === l) | |
| a.forEach(b, c); | |
| else if (a.length === +a.length) { | |
| for (var e = 0, f = a.length; e < f; e++) | |
| if (e in a && b.call(c, a[e], e, a) === d) | |
| return | |
| } else | |
| for (var g in a) | |
| if (x.has(a, g) && b.call(c, a[g], g, a) === d) | |
| return | |
| } | |
| ; | |
| x.map = x.collect = function(a, b, c) { | |
| var d = []; | |
| return null == a ? d : m && a.map === m ? a.map(b, c) : (y(a, function(a, e, f) { | |
| d[d.length] = b.call(c, a, e, f) | |
| }), | |
| a.length === +a.length && (d.length = a.length), | |
| d) | |
| } | |
| , | |
| x.reduce = x.foldl = x.inject = function(a, b, c, d) { | |
| var e = arguments.length > 2; | |
| if (null == a && (a = []), | |
| n && a.reduce === n) | |
| return d && (b = x.bind(b, d)), | |
| e ? a.reduce(b, c) : a.reduce(b); | |
| if (y(a, function(a, f, g) { | |
| e ? c = b.call(d, c, a, f, g) : (c = a, | |
| e = !0) | |
| }), | |
| !e) | |
| throw new TypeError("Reduce of empty array with no initial value"); | |
| return c | |
| } | |
| , | |
| x.reduceRight = x.foldr = function(a, b, c, d) { | |
| var e = arguments.length > 2; | |
| if (null == a && (a = []), | |
| o && a.reduceRight === o) | |
| return d && (b = x.bind(b, d)), | |
| e ? a.reduceRight(b, c) : a.reduceRight(b); | |
| var f = x.toArray(a).reverse(); | |
| return d && !e && (b = x.bind(b, d)), | |
| e ? x.reduce(f, b, c, d) : x.reduce(f, b) | |
| } | |
| , | |
| x.find = x.detect = function(a, b, c) { | |
| var d; | |
| return z(a, function(a, e, f) { | |
| if (b.call(c, a, e, f)) | |
| return d = a, | |
| !0 | |
| }), | |
| d | |
| } | |
| , | |
| x.filter = x.select = function(a, b, c) { | |
| var d = []; | |
| return null == a ? d : p && a.filter === p ? a.filter(b, c) : (y(a, function(a, e, f) { | |
| b.call(c, a, e, f) && (d[d.length] = a) | |
| }), | |
| d) | |
| } | |
| , | |
| x.reject = function(a, b, c) { | |
| var d = []; | |
| return null == a ? d : (y(a, function(a, e, f) { | |
| b.call(c, a, e, f) || (d[d.length] = a) | |
| }), | |
| d) | |
| } | |
| , | |
| x.every = x.all = function(a, b, c) { | |
| var e = !0; | |
| return null == a ? e : q && a.every === q ? a.every(b, c) : (y(a, function(a, f, g) { | |
| if (!(e = e && b.call(c, a, f, g))) | |
| return d | |
| }), | |
| !!e) | |
| } | |
| ; | |
| var z = x.some = x.any = function(a, b, c) { | |
| b || (b = x.identity); | |
| var e = !1; | |
| return null == a ? e : r && a.some === r ? a.some(b, c) : (y(a, function(a, f, g) { | |
| if (e || (e = b.call(c, a, f, g))) | |
| return d | |
| }), | |
| !!e) | |
| } | |
| ; | |
| x.include = x.contains = function(a, b) { | |
| var c = !1; | |
| return null == a ? c : s && a.indexOf === s ? a.indexOf(b) != -1 : c = z(a, function(a) { | |
| return a === b | |
| }) | |
| } | |
| , | |
| x.invoke = function(a, b) { | |
| var c = h.call(arguments, 2); | |
| return x.map(a, function(a) { | |
| return (x.isFunction(b) ? b || a : a[b]).apply(a, c) | |
| }) | |
| } | |
| , | |
| x.pluck = function(a, b) { | |
| return x.map(a, function(a) { | |
| return a[b] | |
| }) | |
| } | |
| , | |
| x.max = function(a, b, c) { | |
| if (!b && x.isArray(a) && a[0] === +a[0]) | |
| return Math.max.apply(Math, a); | |
| if (!b && x.isEmpty(a)) | |
| return -(1 / 0); | |
| var d = { | |
| computed: -(1 / 0) | |
| }; | |
| return y(a, function(a, e, f) { | |
| var g = b ? b.call(c, a, e, f) : a; | |
| g >= d.computed && (d = { | |
| value: a, | |
| computed: g | |
| }) | |
| }), | |
| d.value | |
| } | |
| , | |
| x.min = function(a, b, c) { | |
| if (!b && x.isArray(a) && a[0] === +a[0]) | |
| return Math.min.apply(Math, a); | |
| if (!b && x.isEmpty(a)) | |
| return 1 / 0; | |
| var d = { | |
| computed: 1 / 0 | |
| }; | |
| return y(a, function(a, e, f) { | |
| var g = b ? b.call(c, a, e, f) : a; | |
| g < d.computed && (d = { | |
| value: a, | |
| computed: g | |
| }) | |
| }), | |
| d.value | |
| } | |
| , | |
| x.shuffle = function(a) { | |
| var b, c = []; | |
| return y(a, function(a, d, e) { | |
| b = Math.floor(Math.random() * (d + 1)), | |
| c[d] = c[b], | |
| c[b] = a | |
| }), | |
| c | |
| } | |
| , | |
| x.sortBy = function(a, b, c) { | |
| var d = x.isFunction(b) ? b : function(a) { | |
| return a[b] | |
| } | |
| ; | |
| return x.pluck(x.map(a, function(a, b, e) { | |
| return { | |
| value: a, | |
| criteria: d.call(c, a, b, e) | |
| } | |
| }).sort(function(a, b) { | |
| var c = a.criteria | |
| , d = b.criteria; | |
| return void 0 === c ? 1 : void 0 === d ? -1 : c < d ? -1 : c > d ? 1 : 0 | |
| }), "value") | |
| } | |
| , | |
| x.groupBy = function(a, b) { | |
| var c = {} | |
| , d = x.isFunction(b) ? b : function(a) { | |
| return a[b] | |
| } | |
| ; | |
| return y(a, function(a, b) { | |
| var e = d(a, b); | |
| (c[e] || (c[e] = [])).push(a) | |
| }), | |
| c | |
| } | |
| , | |
| x.sortedIndex = function(a, b, c) { | |
| c || (c = x.identity); | |
| for (var d = 0, e = a.length; d < e; ) { | |
| var f = d + e >> 1; | |
| c(a[f]) < c(b) ? d = f + 1 : e = f | |
| } | |
| return d | |
| } | |
| , | |
| x.toArray = function(a) { | |
| return a ? x.isArray(a) ? h.call(a) : x.isArguments(a) ? h.call(a) : a.toArray && x.isFunction(a.toArray) ? a.toArray() : x.values(a) : [] | |
| } | |
| , | |
| x.size = function(a) { | |
| return x.isArray(a) ? a.length : x.keys(a).length | |
| } | |
| , | |
| x.first = x.head = x.take = function(a, b, c) { | |
| return null == b || c ? a[0] : h.call(a, 0, b) | |
| } | |
| , | |
| x.initial = function(a, b, c) { | |
| return h.call(a, 0, a.length - (null == b || c ? 1 : b)) | |
| } | |
| , | |
| x.last = function(a, b, c) { | |
| return null == b || c ? a[a.length - 1] : h.call(a, Math.max(a.length - b, 0)) | |
| } | |
| , | |
| x.rest = x.tail = function(a, b, c) { | |
| return h.call(a, null == b || c ? 1 : b) | |
| } | |
| , | |
| x.compact = function(a) { | |
| return x.filter(a, function(a) { | |
| return !!a | |
| }) | |
| } | |
| , | |
| x.flatten = function(a, b) { | |
| return x.reduce(a, function(a, c) { | |
| return x.isArray(c) ? a.concat(b ? c : x.flatten(c)) : (a[a.length] = c, | |
| a) | |
| }, []) | |
| } | |
| , | |
| x.without = function(a) { | |
| return x.difference(a, h.call(arguments, 1)) | |
| } | |
| , | |
| x.uniq = x.unique = function(a, b, c) { | |
| var d = c ? x.map(a, c) : a | |
| , e = []; | |
| return a.length < 3 && (b = !0), | |
| x.reduce(d, function(c, d, f) { | |
| return (b ? x.last(c) === d && c.length : x.include(c, d)) || (c.push(d), | |
| e.push(a[f])), | |
| c | |
| }, []), | |
| e | |
| } | |
| , | |
| x.union = function() { | |
| return x.uniq(x.flatten(arguments, !0)) | |
| } | |
| , | |
| x.intersection = x.intersect = function(a) { | |
| var b = h.call(arguments, 1); | |
| return x.filter(x.uniq(a), function(a) { | |
| return x.every(b, function(b) { | |
| return x.indexOf(b, a) >= 0 | |
| }) | |
| }) | |
| } | |
| , | |
| x.difference = function(a) { | |
| var b = x.flatten(h.call(arguments, 1), !0); | |
| return x.filter(a, function(a) { | |
| return !x.include(b, a) | |
| }) | |
| } | |
| , | |
| x.zip = function() { | |
| for (var a = h.call(arguments), b = x.max(x.pluck(a, "length")), c = new Array(b), d = 0; d < b; d++) | |
| c[d] = x.pluck(a, "" + d); | |
| return c | |
| } | |
| , | |
| x.indexOf = function(a, b, c) { | |
| if (null == a) | |
| return -1; | |
| var d, e; | |
| if (c) | |
| return d = x.sortedIndex(a, b), | |
| a[d] === b ? d : -1; | |
| if (s && a.indexOf === s) | |
| return a.indexOf(b); | |
| for (d = 0, | |
| e = a.length; d < e; d++) | |
| if (d in a && a[d] === b) | |
| return d; | |
| return -1 | |
| } | |
| , | |
| x.lastIndexOf = function(a, b) { | |
| if (null == a) | |
| return -1; | |
| if (t && a.lastIndexOf === t) | |
| return a.lastIndexOf(b); | |
| for (var c = a.length; c--; ) | |
| if (c in a && a[c] === b) | |
| return c; | |
| return -1 | |
| } | |
| , | |
| x.range = function(a, b, c) { | |
| arguments.length <= 1 && (b = a || 0, | |
| a = 0), | |
| c = arguments[2] || 1; | |
| for (var d = Math.max(Math.ceil((b - a) / c), 0), e = 0, f = new Array(d); e < d; ) | |
| f[e++] = a, | |
| a += c; | |
| return f | |
| } | |
| ; | |
| var A = function() {}; | |
| x.bind = function(a, b) { | |
| var c, d; | |
| if (a.bind === w && w) | |
| return w.apply(a, h.call(arguments, 1)); | |
| if (!x.isFunction(a)) | |
| throw new TypeError; | |
| return d = h.call(arguments, 2), | |
| c = function() { | |
| if (!(this instanceof c)) | |
| return a.apply(b, d.concat(h.call(arguments))); | |
| A.prototype = a.prototype; | |
| var e = new A | |
| , f = a.apply(e, d.concat(h.call(arguments))); | |
| return Object(f) === f ? f : e | |
| } | |
| } | |
| , | |
| x.bindAll = function(a) { | |
| var b = h.call(arguments, 1); | |
| return 0 == b.length && (b = x.functions(a)), | |
| y(b, function(b) { | |
| a[b] = x.bind(a[b], a) | |
| }), | |
| a | |
| } | |
| , | |
| x.memoize = function(a, b) { | |
| var c = {}; | |
| return b || (b = x.identity), | |
| function() { | |
| var d = b.apply(this, arguments); | |
| return x.has(c, d) ? c[d] : c[d] = a.apply(this, arguments) | |
| } | |
| } | |
| , | |
| x.delay = function(a, b) { | |
| var c = h.call(arguments, 2); | |
| return setTimeout(function() { | |
| return a.apply(null, c) | |
| }, b) | |
| } | |
| , | |
| x.defer = function(a) { | |
| return x.delay.apply(x, [a, 1].concat(h.call(arguments, 1))) | |
| } | |
| , | |
| x.throttle = function(a, b) { | |
| var c, d, e, f, g, h, i = x.debounce(function() { | |
| g = f = !1 | |
| }, b); | |
| return function() { | |
| c = this, | |
| d = arguments; | |
| var j = function() { | |
| e = null, | |
| g && a.apply(c, d), | |
| i() | |
| }; | |
| return e || (e = setTimeout(j, b)), | |
| f ? g = !0 : h = a.apply(c, d), | |
| i(), | |
| f = !0, | |
| h | |
| } | |
| } | |
| , | |
| x.debounce = function(a, b, c) { | |
| var d; | |
| return function() { | |
| var e = this | |
| , f = arguments | |
| , g = function() { | |
| d = null, | |
| c || a.apply(e, f) | |
| }; | |
| c && !d && a.apply(e, f), | |
| clearTimeout(d), | |
| d = setTimeout(g, b) | |
| } | |
| } | |
| , | |
| x.once = function(a) { | |
| var b, c = !1; | |
| return function() { | |
| return c ? b : (c = !0, | |
| b = a.apply(this, arguments)) | |
| } | |
| } | |
| , | |
| x.wrap = function(a, b) { | |
| return function() { | |
| var c = [a].concat(h.call(arguments, 0)); | |
| return b.apply(this, c) | |
| } | |
| } | |
| , | |
| x.compose = function() { | |
| var a = arguments; | |
| return function() { | |
| for (var b = arguments, c = a.length - 1; c >= 0; c--) | |
| b = [a[c].apply(this, b)]; | |
| return b[0] | |
| } | |
| } | |
| , | |
| x.after = function(a, b) { | |
| return a <= 0 ? b() : function() { | |
| if (--a < 1) | |
| return b.apply(this, arguments) | |
| } | |
| } | |
| , | |
| x.keys = v || function(a) { | |
| if (a !== Object(a)) | |
| throw new TypeError("Invalid object"); | |
| var b = []; | |
| for (var c in a) | |
| x.has(a, c) && (b[b.length] = c); | |
| return b | |
| } | |
| , | |
| x.values = function(a) { | |
| return x.map(a, x.identity) | |
| } | |
| , | |
| x.functions = x.methods = function(a) { | |
| var b = []; | |
| for (var c in a) | |
| x.isFunction(a[c]) && b.push(c); | |
| return b.sort() | |
| } | |
| , | |
| x.extend = function(a) { | |
| return y(h.call(arguments, 1), function(b) { | |
| for (var c in b) | |
| a[c] = b[c] | |
| }), | |
| a | |
| } | |
| , | |
| x.pick = function(a) { | |
| var b = {}; | |
| return y(x.flatten(h.call(arguments, 1)), function(c) { | |
| c in a && (b[c] = a[c]) | |
| }), | |
| b | |
| } | |
| , | |
| x.defaults = function(a) { | |
| return y(h.call(arguments, 1), function(b) { | |
| for (var c in b) | |
| null == a[c] && (a[c] = b[c]) | |
| }), | |
| a | |
| } | |
| , | |
| x.clone = function(a) { | |
| return x.isObject(a) ? x.isArray(a) ? a.slice() : x.extend({}, a) : a | |
| } | |
| , | |
| x.tap = function(a, b) { | |
| return b(a), | |
| a | |
| } | |
| , | |
| x.isEqual = function(b, c) { | |
| return a(b, c, []) | |
| } | |
| , | |
| x.isEmpty = function(a) { | |
| if (null == a) | |
| return !0; | |
| if (x.isArray(a) || x.isString(a)) | |
| return 0 === a.length; | |
| for (var b in a) | |
| if (x.has(a, b)) | |
| return !1; | |
| return !0 | |
| } | |
| , | |
| x.isElement = function(a) { | |
| return !(!a || 1 != a.nodeType) | |
| } | |
| , | |
| x.isArray = u || function(a) { | |
| return "[object Array]" == j.call(a) | |
| } | |
| , | |
| x.isObject = function(a) { | |
| return a === Object(a) | |
| } | |
| , | |
| x.isArguments = function(a) { | |
| return "[object Arguments]" == j.call(a) | |
| } | |
| , | |
| x.isArguments(arguments) || (x.isArguments = function(a) { | |
| return !(!a || !x.has(a, "callee")) | |
| } | |
| ), | |
| x.isFunction = function(a) { | |
| return "[object Function]" == j.call(a) | |
| } | |
| , | |
| x.isString = function(a) { | |
| return "[object String]" == j.call(a) | |
| } | |
| , | |
| x.isNumber = function(a) { | |
| return "[object Number]" == j.call(a) | |
| } | |
| , | |
| x.isFinite = function(a) { | |
| return x.isNumber(a) && isFinite(a) | |
| } | |
| , | |
| x.isNaN = function(a) { | |
| return a !== a | |
| } | |
| , | |
| x.isBoolean = function(a) { | |
| return a === !0 || a === !1 || "[object Boolean]" == j.call(a) | |
| } | |
| , | |
| x.isDate = function(a) { | |
| return "[object Date]" == j.call(a) | |
| } | |
| , | |
| x.isRegExp = function(a) { | |
| return "[object RegExp]" == j.call(a) | |
| } | |
| , | |
| x.isNull = function(a) { | |
| return null === a | |
| } | |
| , | |
| x.isUndefined = function(a) { | |
| return void 0 === a | |
| } | |
| , | |
| x.has = function(a, b) { | |
| return k.call(a, b) | |
| } | |
| , | |
| x.noConflict = function() { | |
| return b._ = c, | |
| this | |
| } | |
| , | |
| x.identity = function(a) { | |
| return a | |
| } | |
| , | |
| x.times = function(a, b, c) { | |
| for (var d = 0; d < a; d++) | |
| b.call(c, d) | |
| } | |
| , | |
| x.escape = function(a) { | |
| return ("" + a).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'").replace(/\//g, "/") | |
| } | |
| , | |
| x.result = function(a, b) { | |
| if (null == a) | |
| return null; | |
| var c = a[b]; | |
| return x.isFunction(c) ? c.call(a) : c | |
| } | |
| , | |
| x.mixin = function(a) { | |
| y(x.functions(a), function(b) { | |
| K(b, x[b] = a[b]) | |
| }) | |
| } | |
| ; | |
| var B = 0; | |
| x.uniqueId = function(a) { | |
| var b = B++; | |
| return a ? a + b : b | |
| } | |
| , | |
| x.templateSettings = { | |
| evaluate: /<%([\s\S]+?)%>/g, | |
| interpolate: /<%=([\s\S]+?)%>/g, | |
| escape: /<%-([\s\S]+?)%>/g | |
| }; | |
| var C = /.^/ | |
| , D = { | |
| "\\": "\\", | |
| "'": "'", | |
| r: "\r", | |
| n: "\n", | |
| t: "\t", | |
| u2028: "\u2028", | |
| u2029: "\u2029" | |
| }; | |
| for (var E in D) | |
| D[D[E]] = E; | |
| var F = /\\|'|\r|\n|\t|\u2028|\u2029/g | |
| , G = /\\(\\|'|r|n|t|u2028|u2029)/g | |
| , H = function(a) { | |
| return a.replace(G, function(a, b) { | |
| return D[b] | |
| }) | |
| }; | |
| x.template = function(a, b, c) { | |
| c = x.defaults(c || {}, x.templateSettings); | |
| var d = "__p+='" + a.replace(F, function(a) { | |
| return "\\" + D[a] | |
| }).replace(c.escape || C, function(a, b) { | |
| return "'+\n_.escape(" + H(b) + ")+\n'" | |
| }).replace(c.interpolate || C, function(a, b) { | |
| return "'+\n(" + H(b) + ")+\n'" | |
| }).replace(c.evaluate || C, function(a, b) { | |
| return "';\n" + H(b) + "\n;__p+='" | |
| }) + "';\n"; | |
| c.variable || (d = "with(obj||{}){\n" + d + "}\n"), | |
| d = "var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n" + d + "return __p;\n"; | |
| var e = new Function(c.variable || "obj","_",d); | |
| if (b) | |
| return e(b, x); | |
| var f = function(a) { | |
| return e.call(this, a, x) | |
| }; | |
| return f.source = "function(" + (c.variable || "obj") + "){\n" + d + "}", | |
| f | |
| } | |
| , | |
| x.chain = function(a) { | |
| return x(a).chain() | |
| } | |
| ; | |
| var I = function(a) { | |
| this._wrapped = a | |
| }; | |
| x.prototype = I.prototype; | |
| var J = function(a, b) { | |
| return b ? x(a).chain() : a | |
| } | |
| , K = function(a, b) { | |
| I.prototype[a] = function() { | |
| var a = h.call(arguments); | |
| return i.call(a, this._wrapped), | |
| J(b.apply(x, a), this._chain) | |
| } | |
| }; | |
| x.mixin(x), | |
| y(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function(a) { | |
| var b = e[a]; | |
| I.prototype[a] = function() { | |
| var c = this._wrapped; | |
| b.apply(c, arguments); | |
| var d = c.length; | |
| return "shift" != a && "splice" != a || 0 !== d || delete c[0], | |
| J(c, this._chain) | |
| } | |
| }), | |
| y(["concat", "join", "slice"], function(a) { | |
| var b = e[a]; | |
| I.prototype[a] = function() { | |
| return J(b.apply(this._wrapped, arguments), this._chain) | |
| } | |
| }), | |
| I.prototype.chain = function() { | |
| return this._chain = !0, | |
| this | |
| } | |
| , | |
| I.prototype.value = function() { | |
| return this._wrapped | |
| } | |
| } | |
| .call(this), | |
| function() { | |
| var a, b = this, c = b.Backbone, d = Array.prototype.slice, e = Array.prototype.splice; | |
| a = "undefined" != typeof exports ? exports : b.Backbone = {}, | |
| a.VERSION = "0.9.2"; | |
| var f = b._; | |
| f || "undefined" == typeof require || (f = require("underscore")); | |
| var g = b.jQuery || b.Zepto || b.ender; | |
| a.setDomLibrary = function(a) { | |
| g = a | |
| } | |
| , | |
| a.noConflict = function() { | |
| return b.Backbone = c, | |
| this | |
| } | |
| , | |
| a.emulateHTTP = !1, | |
| a.emulateJSON = !1; | |
| var h = /\s+/ | |
| , i = a.Events = { | |
| on: function(a, b, c) { | |
| var d, e, f, g, i; | |
| if (!b) | |
| return this; | |
| for (a = a.split(h), | |
| d = this._callbacks || (this._callbacks = {}); e = a.shift(); ) | |
| i = d[e], | |
| f = i ? i.tail : {}, | |
| f.next = g = {}, | |
| f.context = c, | |
| f.callback = b, | |
| d[e] = { | |
| tail: g, | |
| next: i ? i.next : f | |
| }; | |
| return this | |
| }, | |
| off: function(a, b, c) { | |
| var d, e, g, i, j, k; | |
| if (e = this._callbacks) { | |
| if (!(a || b || c)) | |
| return delete this._callbacks, | |
| this; | |
| for (a = a ? a.split(h) : f.keys(e); d = a.shift(); ) | |
| if (g = e[d], | |
| delete e[d], | |
| g && (b || c)) | |
| for (i = g.tail; (g = g.next) !== i; ) | |
| j = g.callback, | |
| k = g.context, | |
| (b && j !== b || c && k !== c) && this.on(d, j, k); | |
| return this | |
| } | |
| }, | |
| trigger: function(a) { | |
| var b, c, e, f, g, i, j; | |
| if (!(e = this._callbacks)) | |
| return this; | |
| for (i = e.all, | |
| a = a.split(h), | |
| j = d.call(arguments, 1); b = a.shift(); ) { | |
| if (c = e[b]) | |
| for (f = c.tail; (c = c.next) !== f; ) | |
| c.callback.apply(c.context || this, j); | |
| if (c = i) | |
| for (f = c.tail, | |
| g = [b].concat(j); (c = c.next) !== f; ) | |
| c.callback.apply(c.context || this, g) | |
| } | |
| return this | |
| } | |
| }; | |
| i.bind = i.on, | |
| i.unbind = i.off; | |
| var j = a.Model = function(a, b) { | |
| var c; | |
| a || (a = {}), | |
| b && b.parse && (a = this.parse(a)), | |
| (c = A(this, "defaults")) && (a = f.extend({}, c, a)), | |
| b && b.collection && (this.collection = b.collection), | |
| this.attributes = {}, | |
| this._escapedAttributes = {}, | |
| this.cid = f.uniqueId("c"), | |
| this.changed = {}, | |
| this._silent = {}, | |
| this._pending = {}, | |
| this.set(a, { | |
| silent: !0 | |
| }), | |
| this.changed = {}, | |
| this._silent = {}, | |
| this._pending = {}, | |
| this._previousAttributes = f.clone(this.attributes), | |
| this.initialize.apply(this, arguments) | |
| } | |
| ; | |
| f.extend(j.prototype, i, { | |
| changed: null, | |
| _silent: null, | |
| _pending: null, | |
| idAttribute: "id", | |
| initialize: function() {}, | |
| toJSON: function(a) { | |
| return f.clone(this.attributes) | |
| }, | |
| get: function(a) { | |
| return this.attributes[a] | |
| }, | |
| escape: function(a) { | |
| var b; | |
| if (b = this._escapedAttributes[a]) | |
| return b; | |
| var c = this.get(a); | |
| return this._escapedAttributes[a] = f.escape(null == c ? "" : "" + c) | |
| }, | |
| has: function(a) { | |
| return null != this.get(a) | |
| }, | |
| set: function(a, b, c) { | |
| var d, e, g; | |
| if (f.isObject(a) || null == a ? (d = a, | |
| c = b) : (d = {}, | |
| d[a] = b), | |
| c || (c = {}), | |
| !d) | |
| return this; | |
| if (d instanceof j && (d = d.attributes), | |
| c.unset) | |
| for (e in d) | |
| d[e] = void 0; | |
| if (!this._validate(d, c)) | |
| return !1; | |
| this.idAttribute in d && (this.id = d[this.idAttribute]); | |
| var h = c.changes = {} | |
| , i = this.attributes | |
| , k = this._escapedAttributes | |
| , l = this._previousAttributes || {}; | |
| for (e in d) | |
| g = d[e], | |
| (!f.isEqual(i[e], g) || c.unset && f.has(i, e)) && (delete k[e], | |
| (c.silent ? this._silent : h)[e] = !0), | |
| c.unset ? delete i[e] : i[e] = g, | |
| f.isEqual(l[e], g) && f.has(i, e) == f.has(l, e) ? (delete this.changed[e], | |
| delete this._pending[e]) : (this.changed[e] = g, | |
| c.silent || (this._pending[e] = !0)); | |
| return c.silent || this.change(c), | |
| this | |
| }, | |
| unset: function(a, b) { | |
| return (b || (b = {})).unset = !0, | |
| this.set(a, null, b) | |
| }, | |
| clear: function(a) { | |
| return (a || (a = {})).unset = !0, | |
| this.set(f.clone(this.attributes), a) | |
| }, | |
| fetch: function(b) { | |
| b = b ? f.clone(b) : {}; | |
| var c = this | |
| , d = b.success; | |
| return b.success = function(a, e, f) { | |
| return !!c.set(c.parse(a, f), b) && void (d && d(c, a)) | |
| } | |
| , | |
| b.error = a.wrapError(b.error, c, b), | |
| (this.sync || a.sync).call(this, "read", this, b) | |
| }, | |
| save: function(b, c, d) { | |
| var e, g; | |
| if (f.isObject(b) || null == b ? (e = b, | |
| d = c) : (e = {}, | |
| e[b] = c), | |
| d = d ? f.clone(d) : {}, | |
| d.wait) { | |
| if (!this._validate(e, d)) | |
| return !1; | |
| g = f.clone(this.attributes) | |
| } | |
| var h = f.extend({}, d, { | |
| silent: !0 | |
| }); | |
| if (e && !this.set(e, d.wait ? h : d)) | |
| return !1; | |
| var i = this | |
| , j = d.success; | |
| d.success = function(a, b, c) { | |
| var g = i.parse(a, c); | |
| return d.wait && (delete d.wait, | |
| g = f.extend(e || {}, g)), | |
| !!i.set(g, d) && void (j ? j(i, a) : i.trigger("sync", i, a, d)) | |
| } | |
| , | |
| d.error = a.wrapError(d.error, i, d); | |
| var k = this.isNew() ? "create" : "update" | |
| , l = (this.sync || a.sync).call(this, k, this, d); | |
| return d.wait && this.set(g, h), | |
| l | |
| }, | |
| destroy: function(b) { | |
| b = b ? f.clone(b) : {}; | |
| var c = this | |
| , d = b.success | |
| , e = function() { | |
| c.trigger("destroy", c, c.collection, b) | |
| }; | |
| if (this.isNew()) | |
| return e(), | |
| !1; | |
| b.success = function(a) { | |
| b.wait && e(), | |
| d ? d(c, a) : c.trigger("sync", c, a, b) | |
| } | |
| , | |
| b.error = a.wrapError(b.error, c, b); | |
| var g = (this.sync || a.sync).call(this, "delete", this, b); | |
| return b.wait || e(), | |
| g | |
| }, | |
| url: function() { | |
| var a = A(this, "urlRoot") || A(this.collection, "url") || B(); | |
| return this.isNew() ? a : a + ("/" == a.charAt(a.length - 1) ? "" : "/") + encodeURIComponent(this.id) | |
| }, | |
| parse: function(a, b) { | |
| return a | |
| }, | |
| clone: function() { | |
| return new this.constructor(this.attributes) | |
| }, | |
| isNew: function() { | |
| return null == this.id | |
| }, | |
| change: function(a) { | |
| a || (a = {}); | |
| var b = this._changing; | |
| this._changing = !0; | |
| for (var c in this._silent) | |
| this._pending[c] = !0; | |
| var d = f.extend({}, a.changes, this._silent); | |
| this._silent = {}; | |
| for (var c in d) | |
| this.trigger("change:" + c, this, this.get(c), a); | |
| if (b) | |
| return this; | |
| for (; !f.isEmpty(this._pending); ) { | |
| this._pending = {}, | |
| this.trigger("change", this, a); | |
| for (var c in this.changed) | |
| this._pending[c] || this._silent[c] || delete this.changed[c]; | |
| this._previousAttributes = f.clone(this.attributes) | |
| } | |
| return this._changing = !1, | |
| this | |
| }, | |
| hasChanged: function(a) { | |
| return arguments.length ? f.has(this.changed, a) : !f.isEmpty(this.changed) | |
| }, | |
| changedAttributes: function(a) { | |
| if (!a) | |
| return !!this.hasChanged() && f.clone(this.changed); | |
| var b, c = !1, d = this._previousAttributes; | |
| for (var e in a) | |
| f.isEqual(d[e], b = a[e]) || ((c || (c = {}))[e] = b); | |
| return c | |
| }, | |
| previous: function(a) { | |
| return arguments.length && this._previousAttributes ? this._previousAttributes[a] : null | |
| }, | |
| previousAttributes: function() { | |
| return f.clone(this._previousAttributes) | |
| }, | |
| isValid: function() { | |
| return !this.validate(this.attributes) | |
| }, | |
| _validate: function(a, b) { | |
| if (b.silent || !this.validate) | |
| return !0; | |
| a = f.extend({}, this.attributes, a); | |
| var c = this.validate(a, b); | |
| return !c || (b && b.error ? b.error(this, c, b) : this.trigger("error", this, c, b), | |
| !1) | |
| } | |
| }); | |
| var k = a.Collection = function(a, b) { | |
| b || (b = {}), | |
| b.model && (this.model = b.model), | |
| b.comparator && (this.comparator = b.comparator), | |
| this._reset(), | |
| this.initialize.apply(this, arguments), | |
| a && this.reset(a, { | |
| silent: !0, | |
| parse: b.parse | |
| }) | |
| } | |
| ; | |
| f.extend(k.prototype, i, { | |
| model: j, | |
| initialize: function() {}, | |
| toJSON: function(a) { | |
| return this.map(function(b) { | |
| return b.toJSON(a) | |
| }) | |
| }, | |
| add: function(a, b) { | |
| var c, d, g, h, i, j, k = {}, l = {}, m = []; | |
| for (b || (b = {}), | |
| a = f.isArray(a) ? a.slice() : [a], | |
| c = 0, | |
| g = a.length; c < g; c++) { | |
| if (!(h = a[c] = this._prepareModel(a[c], b))) | |
| throw new Error("Can't add an invalid model to a collection"); | |
| i = h.cid, | |
| j = h.id, | |
| k[i] || this._byCid[i] || null != j && (l[j] || this._byId[j]) ? m.push(c) : k[i] = l[j] = h | |
| } | |
| for (c = m.length; c--; ) | |
| a.splice(m[c], 1); | |
| for (c = 0, | |
| g = a.length; c < g; c++) | |
| (h = a[c]).on("all", this._onModelEvent, this), | |
| this._byCid[h.cid] = h, | |
| null != h.id && (this._byId[h.id] = h); | |
| if (this.length += g, | |
| d = null != b.at ? b.at : this.models.length, | |
| e.apply(this.models, [d, 0].concat(a)), | |
| this.comparator && this.sort({ | |
| silent: !0 | |
| }), | |
| b.silent) | |
| return this; | |
| for (c = 0, | |
| g = this.models.length; c < g; c++) | |
| k[(h = this.models[c]).cid] && (b.index = c, | |
| h.trigger("add", h, this, b)); | |
| return this | |
| }, | |
| remove: function(a, b) { | |
| var c, d, e, g; | |
| for (b || (b = {}), | |
| a = f.isArray(a) ? a.slice() : [a], | |
| c = 0, | |
| d = a.length; c < d; c++) | |
| g = this.getByCid(a[c]) || this.get(a[c]), | |
| g && (delete this._byId[g.id], | |
| delete this._byCid[g.cid], | |
| e = this.indexOf(g), | |
| this.models.splice(e, 1), | |
| this.length--, | |
| b.silent || (b.index = e, | |
| g.trigger("remove", g, this, b)), | |
| this._removeReference(g)); | |
| return this | |
| }, | |
| push: function(a, b) { | |
| return a = this._prepareModel(a, b), | |
| this.add(a, b), | |
| a | |
| }, | |
| pop: function(a) { | |
| var b = this.at(this.length - 1); | |
| return this.remove(b, a), | |
| b | |
| }, | |
| unshift: function(a, b) { | |
| return a = this._prepareModel(a, b), | |
| this.add(a, f.extend({ | |
| at: 0 | |
| }, b)), | |
| a | |
| }, | |
| shift: function(a) { | |
| var b = this.at(0); | |
| return this.remove(b, a), | |
| b | |
| }, | |
| get: function(a) { | |
| if (null != a) | |
| return this._byId[null != a.id ? a.id : a] | |
| }, | |
| getByCid: function(a) { | |
| return a && this._byCid[a.cid || a] | |
| }, | |
| at: function(a) { | |
| return this.models[a] | |
| }, | |
| where: function(a) { | |
| return f.isEmpty(a) ? [] : this.filter(function(b) { | |
| for (var c in a) | |
| if (a[c] !== b.get(c)) | |
| return !1; | |
| return !0 | |
| }) | |
| }, | |
| sort: function(a) { | |
| if (a || (a = {}), | |
| !this.comparator) | |
| throw new Error("Cannot sort a set without a comparator"); | |
| var b = f.bind(this.comparator, this); | |
| return 1 == this.comparator.length ? this.models = this.sortBy(b) : this.models.sort(b), | |
| a.silent || this.trigger("reset", this, a), | |
| this | |
| }, | |
| pluck: function(a) { | |
| return f.map(this.models, function(b) { | |
| return b.get(a) | |
| }) | |
| }, | |
| reset: function(a, b) { | |
| a || (a = []), | |
| b || (b = {}); | |
| for (var c = 0, d = this.models.length; c < d; c++) | |
| this._removeReference(this.models[c]); | |
| return this._reset(), | |
| this.add(a, f.extend({ | |
| silent: !0 | |
| }, b)), | |
| b.silent || this.trigger("reset", this, b), | |
| this | |
| }, | |
| fetch: function(b) { | |
| b = b ? f.clone(b) : {}, | |
| void 0 === b.parse && (b.parse = !0); | |
| var c = this | |
| , d = b.success; | |
| return b.success = function(a, e, f) { | |
| c[b.add ? "add" : "reset"](c.parse(a, f), b), | |
| d && d(c, a) | |
| } | |
| , | |
| b.error = a.wrapError(b.error, c, b), | |
| (this.sync || a.sync).call(this, "read", this, b) | |
| }, | |
| create: function(a, b) { | |
| var c = this; | |
| if (b = b ? f.clone(b) : {}, | |
| a = this._prepareModel(a, b), | |
| !a) | |
| return !1; | |
| b.wait || c.add(a, b); | |
| var d = b.success; | |
| return b.success = function(e, f, g) { | |
| b.wait && c.add(e, b), | |
| d ? d(e, f) : e.trigger("sync", a, f, b) | |
| } | |
| , | |
| a.save(null, b), | |
| a | |
| }, | |
| parse: function(a, b) { | |
| return a | |
| }, | |
| chain: function() { | |
| return f(this.models).chain() | |
| }, | |
| _reset: function(a) { | |
| this.length = 0, | |
| this.models = [], | |
| this._byId = {}, | |
| this._byCid = {} | |
| }, | |
| _prepareModel: function(a, b) { | |
| if (b || (b = {}), | |
| a instanceof j) | |
| a.collection || (a.collection = this); | |
| else { | |
| var c = a; | |
| b.collection = this, | |
| a = new this.model(c,b), | |
| a._validate(a.attributes, b) || (a = !1) | |
| } | |
| return a | |
| }, | |
| _removeReference: function(a) { | |
| this == a.collection && delete a.collection, | |
| a.off("all", this._onModelEvent, this) | |
| }, | |
| _onModelEvent: function(a, b, c, d) { | |
| ("add" != a && "remove" != a || c == this) && ("destroy" == a && this.remove(b, d), | |
| b && a === "change:" + b.idAttribute && (delete this._byId[b.previous(b.idAttribute)], | |
| this._byId[b.id] = b), | |
| this.trigger.apply(this, arguments)) | |
| } | |
| }); | |
| var l = ["forEach", "each", "map", "reduce", "reduceRight", "find", "detect", "filter", "select", "reject", "every", "all", "some", "any", "include", "contains", "invoke", "max", "min", "sortBy", "sortedIndex", "toArray", "size", "first", "initial", "rest", "last", "without", "indexOf", "shuffle", "lastIndexOf", "isEmpty", "groupBy"]; | |
| f.each(l, function(a) { | |
| k.prototype[a] = function() { | |
| return f[a].apply(f, [this.models].concat(f.toArray(arguments))) | |
| } | |
| }); | |
| var m = a.Router = function(a) { | |
| a || (a = {}), | |
| a.routes && (this.routes = a.routes), | |
| this._bindRoutes(), | |
| this.initialize.apply(this, arguments) | |
| } | |
| , n = /:\w+/g | |
| , o = /\*\w+/g | |
| , p = /[-[\]{}()+?.,\\^$|#\s]/g; | |
| f.extend(m.prototype, i, { | |
| initialize: function() {}, | |
| route: function(b, c, d) { | |
| return a.history || (a.history = new q), | |
| f.isRegExp(b) || (b = this._routeToRegExp(b)), | |
| d || (d = this[c]), | |
| a.history.route(b, f.bind(function(e) { | |
| var f = this._extractParameters(b, e); | |
| d && d.apply(this, f), | |
| this.trigger.apply(this, ["route:" + c].concat(f)), | |
| a.history.trigger("route", this, c, f) | |
| }, this)), | |
| this | |
| }, | |
| navigate: function(b, c) { | |
| a.history.navigate(b, c) | |
| }, | |
| _bindRoutes: function() { | |
| if (this.routes) { | |
| var a = []; | |
| for (var b in this.routes) | |
| a.unshift([b, this.routes[b]]); | |
| for (var c = 0, d = a.length; c < d; c++) | |
| this.route(a[c][0], a[c][1], this[a[c][1]]) | |
| } | |
| }, | |
| _routeToRegExp: function(a) { | |
| return a = a.replace(p, "\\$&").replace(n, "([^/]+)").replace(o, "(.*?)"), | |
| new RegExp("^" + a + "$") | |
| }, | |
| _extractParameters: function(a, b) { | |
| return a.exec(b).slice(1) | |
| } | |
| }); | |
| var q = a.History = function() { | |
| this.handlers = [], | |
| f.bindAll(this, "checkUrl") | |
| } | |
| , r = /^[#\/]/ | |
| , s = /msie [\w.]+/; | |
| q.started = !1, | |
| f.extend(q.prototype, i, { | |
| interval: 50, | |
| getHash: function(a) { | |
| var b = a ? a.location : window.location | |
| , c = b.href.match(/#(.*)$/); | |
| return c ? c[1] : "" | |
| }, | |
| getFragment: function(a, b) { | |
| if (null == a) | |
| if (this._hasPushState || b) { | |
| a = window.location.pathname; | |
| var c = window.location.search; | |
| c && (a += c) | |
| } else | |
| a = this.getHash(); | |
| return a.indexOf(this.options.root) || (a = a.substr(this.options.root.length)), | |
| a.replace(r, "") | |
| }, | |
| start: function(a) { | |
| if (q.started) | |
| throw new Error("Backbone.history has already been started"); | |
| q.started = !0, | |
| this.options = f.extend({}, { | |
| root: "/" | |
| }, this.options, a), | |
| this._wantsHashChange = this.options.hashChange !== !1, | |
| this._wantsPushState = !!this.options.pushState, | |
| this._hasPushState = !!(this.options.pushState && window.history && window.history.pushState); | |
| var b = this.getFragment() | |
| , c = document.documentMode | |
| , d = s.exec(navigator.userAgent.toLowerCase()) && (!c || c <= 7); | |
| d && (this.iframe = g('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow, | |
| this.navigate(b)), | |
| this._hasPushState ? g(window).bind("popstate", this.checkUrl) : this._wantsHashChange && "onhashchange"in window && !d ? g(window).bind("hashchange", this.checkUrl) : this._wantsHashChange && (this._checkUrlInterval = setInterval(this.checkUrl, this.interval)), | |
| this.fragment = b; | |
| var e = window.location | |
| , h = e.pathname == this.options.root; | |
| return this._wantsHashChange && this._wantsPushState && !this._hasPushState && !h ? (this.fragment = this.getFragment(null, !0), | |
| window.location.replace(this.options.root + "#" + this.fragment), | |
| !0) : (this._wantsPushState && this._hasPushState && h && e.hash && (this.fragment = this.getHash().replace(r, ""), | |
| window.history.replaceState({}, document.title, e.protocol + "//" + e.host + this.options.root + this.fragment)), | |
| this.options.silent ? void 0 : this.loadUrl()) | |
| }, | |
| stop: function() { | |
| g(window).unbind("popstate", this.checkUrl).unbind("hashchange", this.checkUrl), | |
| clearInterval(this._checkUrlInterval), | |
| q.started = !1 | |
| }, | |
| route: function(a, b) { | |
| this.handlers.unshift({ | |
| route: a, | |
| callback: b | |
| }) | |
| }, | |
| checkUrl: function(a) { | |
| var b = this.getFragment(); | |
| return b == this.fragment && this.iframe && (b = this.getFragment(this.getHash(this.iframe))), | |
| b != this.fragment && (this.iframe && this.navigate(b), | |
| void (this.loadUrl() || this.loadUrl(this.getHash()))) | |
| }, | |
| loadUrl: function(a) { | |
| var b = this.fragment = this.getFragment(a) | |
| , c = f.any(this.handlers, function(a) { | |
| if (a.route.test(b)) | |
| return a.callback(b), | |
| !0 | |
| }); | |
| return c | |
| }, | |
| navigate: function(a, b) { | |
| if (!q.started) | |
| return !1; | |
| b && b !== !0 || (b = { | |
| trigger: b | |
| }); | |
| var c = (a || "").replace(r, ""); | |
| this.fragment != c && (this._hasPushState ? (0 != c.indexOf(this.options.root) && (c = this.options.root + c), | |
| this.fragment = c, | |
| window.history[b.replace ? "replaceState" : "pushState"]({}, document.title, c)) : this._wantsHashChange ? (this.fragment = c, | |
| this._updateHash(window.location, c, b.replace), | |
| this.iframe && c != this.getFragment(this.getHash(this.iframe)) && (b.replace || this.iframe.document.open().close(), | |
| this._updateHash(this.iframe.location, c, b.replace))) : window.location.assign(this.options.root + a), | |
| b.trigger && this.loadUrl(a)) | |
| }, | |
| _updateHash: function(a, b, c) { | |
| c ? a.replace(a.toString().replace(/(javascript:|#).*$/, "") + "#" + b) : a.hash = b | |
| } | |
| }); | |
| var t = a.View = function(a) { | |
| this.cid = f.uniqueId("view"), | |
| this._configure(a || {}), | |
| this._ensureElement(), | |
| this.initialize.apply(this, arguments), | |
| this.delegateEvents() | |
| } | |
| , u = /^(\S+)\s*(.*)$/ | |
| , v = ["model", "collection", "el", "id", "attributes", "className", "tagName"]; | |
| f.extend(t.prototype, i, { | |
| tagName: "div", | |
| $: function(a) { | |
| return this.$el.find(a) | |
| }, | |
| initialize: function() {}, | |
| render: function() { | |
| return this | |
| }, | |
| remove: function() { | |
| return this.$el.remove(), | |
| this | |
| }, | |
| make: function(a, b, c) { | |
| var d = document.createElement(a); | |
| return b && g(d).attr(b), | |
| c && g(d).html(c), | |
| d | |
| }, | |
| setElement: function(a, b) { | |
| return this.$el && this.undelegateEvents(), | |
| this.$el = a instanceof g ? a : g(a), | |
| this.el = this.$el[0], | |
| b !== !1 && this.delegateEvents(), | |
| this | |
| }, | |
| delegateEvents: function(a) { | |
| if (a || (a = A(this, "events"))) { | |
| this.undelegateEvents(); | |
| for (var b in a) { | |
| var c = a[b]; | |
| if (f.isFunction(c) || (c = this[a[b]]), | |
| !c) | |
| throw new Error('Method "' + a[b] + '" does not exist'); | |
| var d = b.match(u) | |
| , e = d[1] | |
| , g = d[2]; | |
| c = f.bind(c, this), | |
| e += ".delegateEvents" + this.cid, | |
| "" === g ? this.$el.bind(e, c) : this.$el.delegate(g, e, c) | |
| } | |
| } | |
| }, | |
| undelegateEvents: function() { | |
| this.$el.unbind(".delegateEvents" + this.cid) | |
| }, | |
| _configure: function(a) { | |
| this.options && (a = f.extend({}, this.options, a)); | |
| for (var b = 0, c = v.length; b < c; b++) { | |
| var d = v[b]; | |
| a[d] && (this[d] = a[d]) | |
| } | |
| this.options = a | |
| }, | |
| _ensureElement: function() { | |
| if (this.el) | |
| this.setElement(this.el, !1); | |
| else { | |
| var a = A(this, "attributes") || {}; | |
| this.id && (a.id = this.id), | |
| this.className && (a["class"] = this.className), | |
| this.setElement(this.make(this.tagName, a), !1) | |
| } | |
| } | |
| }); | |
| var w = function(a, b) { | |
| var c = z(this, a, b); | |
| return c.extend = this.extend, | |
| c | |
| }; | |
| j.extend = k.extend = m.extend = t.extend = w; | |
| var x = { | |
| create: "POST", | |
| update: "PUT", | |
| "delete": "DELETE", | |
| read: "GET" | |
| }; | |
| a.sync = function(b, c, d) { | |
| var e = x[b]; | |
| d || (d = {}); | |
| var h = { | |
| type: e, | |
| dataType: "json" | |
| }; | |
| return d.url || (h.url = A(c, "url") || B()), | |
| d.data || !c || "create" != b && "update" != b || (h.contentType = "application/json", | |
| h.data = JSON.stringify(c.toJSON())), | |
| a.emulateJSON && (h.contentType = "application/x-www-form-urlencoded", | |
| h.data = h.data ? { | |
| model: h.data | |
| } : {}), | |
| a.emulateHTTP && ("PUT" !== e && "DELETE" !== e || (a.emulateJSON && (h.data._method = e), | |
| h.type = "POST", | |
| h.beforeSend = function(a) { | |
| a.setRequestHeader("X-HTTP-Method-Override", e) | |
| } | |
| )), | |
| "GET" === h.type || a.emulateJSON || (h.processData = !1), | |
| g.ajax(f.extend(h, d)) | |
| } | |
| , | |
| a.wrapError = function(a, b, c) { | |
| return function(d, e) { | |
| e = d === b ? e : d, | |
| a ? a(b, e, c) : b.trigger("error", b, e, c) | |
| } | |
| } | |
| ; | |
| var y = function() {} | |
| , z = function(a, b, c) { | |
| var d; | |
| return d = b && b.hasOwnProperty("constructor") ? b.constructor : function() { | |
| a.apply(this, arguments) | |
| } | |
| , | |
| f.extend(d, a), | |
| y.prototype = a.prototype, | |
| d.prototype = new y, | |
| b && f.extend(d.prototype, b), | |
| c && f.extend(d, c), | |
| d.prototype.constructor = d, | |
| d.__super__ = a.prototype, | |
| d | |
| } | |
| , A = function(a, b) { | |
| return a && a[b] ? f.isFunction(a[b]) ? a[b]() : a[b] : null | |
| } | |
| , B = function() { | |
| throw new Error('A "url" property or function must be specified') | |
| } | |
| } | |
| .call(this), | |
| function(a) { | |
| a.fn.a0q = function(b) { | |
| function c(a) { | |
| var b, c, d, e, f, g, h, i = "", j = 0; | |
| do | |
| b = a.source.charCodeAt(j++), | |
| c = a.source.charCodeAt(j++), | |
| d = a.source.charCodeAt(j++), | |
| e = b >> 2, | |
| f = (3 & b) << 4 | c >> 4, | |
| g = (15 & c) << 2 | d >> 6, | |
| h = 63 & d, | |
| isNaN(c) ? g = h = 64 : isNaN(d) && (h = 64), | |
| i += a.b64Str.charAt(e) + a.b64Str.charAt(f) + a.b64Str.charAt(g) + a.b64Str.charAt(h); | |
| while (j < a.source.length);return i | |
| } | |
| function d(a) { | |
| var b, c, d, e, f, g, h, i = "", j = 0, k = new RegExp("[^A-Za-z0-9" + a.b64Str.substr(-3) + "]","g"); | |
| a.source = a.source.replace(k, ""); | |
| do | |
| e = a.b64Str.indexOf(a.source.charAt(j++)), | |
| f = a.b64Str.indexOf(a.source.charAt(j++)), | |
| g = a.b64Str.indexOf(a.source.charAt(j++)), | |
| h = a.b64Str.indexOf(a.source.charAt(j++)), | |
| b = e << 2 | f >> 4, | |
| c = (15 & f) << 4 | g >> 2, | |
| d = (3 & g) << 6 | h, | |
| i += String.fromCharCode(b), | |
| 64 != g && (i += String.fromCharCode(c)), | |
| 64 != h && (i += String.fromCharCode(d)); | |
| while (j < a.source.length);return i | |
| } | |
| function e(a) { | |
| function b(b) { | |
| for (var c = a.hexcase ? "0123456789ABCDEF" : "0123456789abcdef", d = "", e = 0; e < 4 * b.length; e++) | |
| d += c.charAt(b[e >> 2] >> e % 4 * 8 + 4 & 15) + c.charAt(b[e >> 2] >> e % 4 * 8 & 15); | |
| return d | |
| } | |
| function c(b) { | |
| for (var c = Array(), d = (1 << a.chrsz) - 1, e = 0; e < b.length * a.chrsz; e += a.chrsz) | |
| c[e >> 5] |= (b.charCodeAt(e / a.chrsz) & d) << e % 32; | |
| return c | |
| } | |
| function d(a, b) { | |
| return a << b | a >>> 32 - b | |
| } | |
| function e(a, b, c, e, g, h) { | |
| return f(d(f(f(b, a), f(e, h)), g), c) | |
| } | |
| function g(a, b, c, d, f, g, h) { | |
| return e(b & c | ~b & d, a, b, f, g, h) | |
| } | |
| function h(a, b, c, d, f, g, h) { | |
| return e(b & d | c & ~d, a, b, f, g, h) | |
| } | |
| function i(a, b, c, d, f, g, h) { | |
| return e(b ^ c ^ d, a, b, f, g, h) | |
| } | |
| function j(a, b, c, d, f, g, h) { | |
| return e(c ^ (b | ~d), a, b, f, g, h) | |
| } | |
| function k(a, b) { | |
| a[b >> 5] |= 128 << b % 32, | |
| a[(b + 64 >>> 9 << 4) + 14] = b; | |
| for (var c = 1732584193, d = -271733879, e = -1732584194, k = 271733878, l = 0; l < a.length; l += 16) { | |
| var m = c | |
| , n = d | |
| , o = e | |
| , p = k; | |
| c = g(c, d, e, k, a[l + 0], 7, -680876936), | |
| k = g(k, c, d, e, a[l + 1], 12, -389564586), | |
| e = g(e, k, c, d, a[l + 2], 17, 606105819), | |
| d = g(d, e, k, c, a[l + 3], 22, -1044525330), | |
| c = g(c, d, e, k, a[l + 4], 7, -176418897), | |
| k = g(k, c, d, e, a[l + 5], 12, 1200080426), | |
| e = g(e, k, c, d, a[l + 6], 17, -1473231341), | |
| d = g(d, e, k, c, a[l + 7], 22, -45705983), | |
| c = g(c, d, e, k, a[l + 8], 7, 1770035416), | |
| k = g(k, c, d, e, a[l + 9], 12, -1958414417), | |
| e = g(e, k, c, d, a[l + 10], 17, -42063), | |
| d = g(d, e, k, c, a[l + 11], 22, -1990404162), | |
| c = g(c, d, e, k, a[l + 12], 7, 1804603682), | |
| k = g(k, c, d, e, a[l + 13], 12, -40341101), | |
| e = g(e, k, c, d, a[l + 14], 17, -1502002290), | |
| d = g(d, e, k, c, a[l + 15], 22, 1236535329), | |
| c = h(c, d, e, k, a[l + 1], 5, -165796510), | |
| k = h(k, c, d, e, a[l + 6], 9, -1069501632), | |
| e = h(e, k, c, d, a[l + 11], 14, 643717713), | |
| d = h(d, e, k, c, a[l + 0], 20, -373897302), | |
| c = h(c, d, e, k, a[l + 5], 5, -701558691), | |
| k = h(k, c, d, e, a[l + 10], 9, 38016083), | |
| e = h(e, k, c, d, a[l + 15], 14, -660478335), | |
| d = h(d, e, k, c, a[l + 4], 20, -405537848), | |
| c = h(c, d, e, k, a[l + 9], 5, 568446438), | |
| k = h(k, c, d, e, a[l + 14], 9, -1019803690), | |
| e = h(e, k, c, d, a[l + 3], 14, -187363961), | |
| d = h(d, e, k, c, a[l + 8], 20, 1163531501), | |
| c = h(c, d, e, k, a[l + 13], 5, -1444681467), | |
| k = h(k, c, d, e, a[l + 2], 9, -51403784), | |
| e = h(e, k, c, d, a[l + 7], 14, 1735328473), | |
| d = h(d, e, k, c, a[l + 12], 20, -1926607734), | |
| c = i(c, d, e, k, a[l + 5], 4, -378558), | |
| k = i(k, c, d, e, a[l + 8], 11, -2022574463), | |
| e = i(e, k, c, d, a[l + 11], 16, 1839030562), | |
| d = i(d, e, k, c, a[l + 14], 23, -35309556), | |
| c = i(c, d, e, k, a[l + 1], 4, -1530992060), | |
| k = i(k, c, d, e, a[l + 4], 11, 1272893353), | |
| e = i(e, k, c, d, a[l + 7], 16, -155497632), | |
| d = i(d, e, k, c, a[l + 10], 23, -1094730640), | |
| c = i(c, d, e, k, a[l + 13], 4, 681279174), | |
| k = i(k, c, d, e, a[l + 0], 11, -358537222), | |
| e = i(e, k, c, d, a[l + 3], 16, -722521979), | |
| d = i(d, e, k, c, a[l + 6], 23, 76029189), | |
| c = i(c, d, e, k, a[l + 9], 4, -640364487), | |
| k = i(k, c, d, e, a[l + 12], 11, -421815835), | |
| e = i(e, k, c, d, a[l + 15], 16, 530742520), | |
| d = i(d, e, k, c, a[l + 2], 23, -995338651), | |
| c = j(c, d, e, k, a[l + 0], 6, -198630844), | |
| k = j(k, c, d, e, a[l + 7], 10, 1126891415), | |
| e = j(e, k, c, d, a[l + 14], 15, -1416354905), | |
| d = j(d, e, k, c, a[l + 5], 21, -57434055), | |
| c = j(c, d, e, k, a[l + 12], 6, 1700485571), | |
| k = j(k, c, d, e, a[l + 3], 10, -1894986606), | |
| e = j(e, k, c, d, a[l + 10], 15, -1051523), | |
| d = j(d, e, k, c, a[l + 1], 21, -2054922799), | |
| c = j(c, d, e, k, a[l + 8], 6, 1873313359), | |
| k = j(k, c, d, e, a[l + 15], 10, -30611744), | |
| e = j(e, k, c, d, a[l + 6], 15, -1560198380), | |
| d = j(d, e, k, c, a[l + 13], 21, 1309151649), | |
| c = j(c, d, e, k, a[l + 4], 6, -145523070), | |
| k = j(k, c, d, e, a[l + 11], 10, -1120210379), | |
| e = j(e, k, c, d, a[l + 2], 15, 718787259), | |
| d = j(d, e, k, c, a[l + 9], 21, -343485551), | |
| c = f(c, m), | |
| d = f(d, n), | |
| e = f(e, o), | |
| k = f(k, p) | |
| } | |
| return Array(c, d, e, k) | |
| } | |
| return b(k(c(a.source), a.source.length * a.chrsz)) | |
| } | |
| function f(a, b) { | |
| var c = (65535 & a) + (65535 & b) | |
| , d = (a >> 16) + (b >> 16) + (c >> 16); | |
| return d << 16 | 65535 & c | |
| } | |
| function g(a) { | |
| function b(a, b) { | |
| a[b >> 5] |= 128 << 24 - b % 32, | |
| a[(b + 64 >> 9 << 4) + 15] = b; | |
| for (var g = Array(80), h = 1732584193, i = -271733879, j = -1732584194, k = 271733878, l = -1009589776, m = 0; m < a.length; m += 16) { | |
| for (var n = h, o = i, p = j, q = k, r = l, s = 0; s < 80; s++) { | |
| s < 16 ? g[s] = a[m + s] : g[s] = c(g[s - 3] ^ g[s - 8] ^ g[s - 14] ^ g[s - 16], 1); | |
| var t = f(f(c(h, 5), e(s, i, j, k)), f(f(l, g[s]), d(s))); | |
| l = k, | |
| k = j, | |
| j = c(i, 30), | |
| i = h, | |
| h = t | |
| } | |
| h = f(h, n), | |
| i = f(i, o), | |
| j = f(j, p), | |
| k = f(k, q), | |
| l = f(l, r) | |
| } | |
| return Array(h, i, j, k, l) | |
| } | |
| function c(a, b) { | |
| return a << b | a >>> 32 - b | |
| } | |
| function d(a) { | |
| return a < 20 ? 1518500249 : a < 40 ? 1859775393 : a < 60 ? -1894007588 : -899497514 | |
| } | |
| function e(a, b, c, d) { | |
| return a < 20 ? b & c | ~b & d : a < 40 ? b ^ c ^ d : a < 60 ? b & c | b & d | c & d : b ^ c ^ d | |
| } | |
| function g(b) { | |
| for (var c = a.hexcase ? "0123456789ABCDEF" : "0123456789abcdef", d = "", e = 0; e < 4 * b.length; e++) | |
| d += c.charAt(b[e >> 2] >> 8 * (3 - e % 4) + 4 & 15) + c.charAt(b[e >> 2] >> 8 * (3 - e % 4) & 15); | |
| return d | |
| } | |
| function h(b) { | |
| for (var c = Array(), d = (1 << a.chrsz) - 1, e = 0; e < b.length * a.chrsz; e += a.chrsz) | |
| c[e >> 5] |= (b.charCodeAt(e / a.chrsz) & d) << 32 - a.chrsz - e % 32; | |
| return c | |
| } | |
| return g(b(h(a.source), a.source.length * a.chrsz)) | |
| } | |
| function h(a) { | |
| function b(a, b) { | |
| for (var c = a[0], d = a[1], e = 2654435769, f = 32 * e, g = 0; g != f; ) | |
| c += (d << 4 ^ d >>> 5) + d ^ g + b[3 & g], | |
| g += e, | |
| d += (c << 4 ^ c >>> 5) + c ^ g + b[g >>> 11 & 3]; | |
| a[0] = c, | |
| a[1] = d | |
| } | |
| var c, d = new Array(2), e = new Array(4), f = ""; | |
| a.source = escape(a.source); | |
| for (var c = 0; c < 4; c++) | |
| e[c] = j(a.strKey.slice(4 * c, 4 * (c + 1))); | |
| for (c = 0; c < a.source.length; c += 8) | |
| d[0] = j(a.source.slice(c, c + 4)), | |
| d[1] = j(a.source.slice(c + 4, c + 8)), | |
| b(d, e), | |
| f += k(d[0]) + k(d[1]); | |
| return l(f) | |
| } | |
| function i(a) { | |
| function b(a, b) { | |
| for (var c = a[0], d = a[1], e = 2654435769, f = 32 * e; 0 != f; ) | |
| d -= (c << 4 ^ c >>> 5) + c ^ f + b[f >>> 11 & 3], | |
| f -= e, | |
| c -= (d << 4 ^ d >>> 5) + d ^ f + b[3 & f]; | |
| a[0] = c, | |
| a[1] = d | |
| } | |
| for (var c, d = new Array(2), e = new Array(4), f = "", c = 0; c < 4; c++) | |
| e[c] = j(a.strKey.slice(4 * c, 4 * (c + 1))); | |
| for (ciphertext = m(a.source), | |
| c = 0; c < ciphertext.length; c += 8) | |
| d[0] = j(ciphertext.slice(c, c + 4)), | |
| d[1] = j(ciphertext.slice(c + 4, c + 8)), | |
| b(d, e), | |
| f += k(d[0]) + k(d[1]); | |
| return f = f.replace(/\0+$/, ""), | |
| unescape(f) | |
| } | |
| function j(a) { | |
| for (var b = 0, c = 0; c < 4; c++) | |
| b |= a.charCodeAt(c) << 8 * c; | |
| return isNaN(b) ? 0 : b | |
| } | |
| function k(a) { | |
| var b = String.fromCharCode(255 & a, a >> 8 & 255, a >> 16 & 255, a >> 24 & 255); | |
| return b | |
| } | |
| function l(a) { | |
| return a.replace(/[\0\t\n\v\f\r\xa0'"!]/g, function(a) { | |
| return "!" + a.charCodeAt(0) + "!" | |
| }) | |
| } | |
| function m(a) { | |
| return a.replace(/!\d\d?\d?!/g, function(a) { | |
| return String.fromCharCode(a.slice(1, -1)) | |
| }) | |
| } | |
| var n = { | |
| b64Str: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", | |
| strKey: "123", | |
| method: "md5", | |
| source: "", | |
| chrsz: 8, | |
| hexcase: 0 | |
| }; | |
| "undefined" == typeof b.urlsafe ? (n.b64Str += "+/=", | |
| b.urlsafe = !1) : b.urlsafe ? n.b64Str += "-_=" : n.b64Str += "+/="; | |
| var o = a.extend(n, b); | |
| if (!o.source) { | |
| var p = a(this); | |
| if (p.html()) | |
| o.source = p.html(); | |
| else { | |
| if (!p.val()) | |
| return alert("Please provide source text"), | |
| !1; | |
| o.source = p.val() | |
| } | |
| } | |
| if ("md5" == o.method) | |
| return e(o); | |
| if ("sha1" == o.method) | |
| return g(o); | |
| if ("a0k" == o.method) | |
| return c(o); | |
| if ("a0K" == o.method) | |
| return d(o); | |
| if ("xteaenc" == o.method) | |
| return h(o); | |
| if ("xteadec" == o.method) | |
| return i(o); | |
| if ("xteaa0k" == o.method) { | |
| var q = h(o); | |
| return o.method = "a0k", | |
| o.source = q, | |
| c(o) | |
| } | |
| if ("xteaa0K" == o.method) { | |
| var r = d(o); | |
| return o.method = "xteadec", | |
| o.source = r, | |
| i(o) | |
| } | |
| } | |
| }(jQuery), | |
| parseUri.options = { | |
| strictMode: !0, | |
| key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"], | |
| q: { | |
| name: "queryKey", | |
| parser: /(?:^|&)([^&=]*)=?([^&]*)/g | |
| }, | |
| parser: { | |
| strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, | |
| loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ | |
| } | |
| }, | |
| function(a) { | |
| "use strict"; | |
| function b(b) { | |
| return !b || void 0 !== b.allowPageScroll || void 0 === b.swipe && void 0 === b.swipeStatus || (b.allowPageScroll = j), | |
| void 0 !== b.click && void 0 === b.tap && (b.tap = b.click), | |
| b || (b = {}), | |
| b = a.extend({}, a.fn.swipe.defaults, b), | |
| this.each(function() { | |
| var d = a(this) | |
| , e = d.data(z); | |
| e || (e = new c(this,b), | |
| d.data(z, e)) | |
| }) | |
| } | |
| function c(b, c) { | |
| function A(b) { | |
| if (!(ga() || a(b.target).closest(c.excludedElements, Pa).length > 0)) { | |
| var d, e = b.originalEvent ? b.originalEvent : b, f = y ? e.touches[0] : e; | |
| return Qa = u, | |
| y ? Ra = e.touches.length : b.preventDefault(), | |
| Ga = 0, | |
| Ha = null, | |
| Na = null, | |
| Ia = 0, | |
| Ja = 0, | |
| Ka = 0, | |
| La = 1, | |
| Ma = 0, | |
| Sa = la(), | |
| Oa = oa(), | |
| ea(), | |
| !y || Ra === c.fingers || c.fingers === s || O() ? (ia(0, f), | |
| Ta = xa(), | |
| 2 == Ra && (ia(1, e.touches[1]), | |
| Ja = Ka = ra(Sa[0].start, Sa[1].start)), | |
| (c.swipeStatus || c.pinchStatus) && (d = H(e, Qa))) : d = !1, | |
| d === !1 ? (Qa = x, | |
| H(e, Qa), | |
| d) : void ha(!0) | |
| } | |
| } | |
| function B(a) { | |
| var b = a.originalEvent ? a.originalEvent : a; | |
| if (Qa !== w && Qa !== x && !fa()) { | |
| var d, e = y ? b.touches[0] : b, f = ja(e); | |
| if (Ua = xa(), | |
| y && (Ra = b.touches.length), | |
| Qa = v, | |
| 2 == Ra && (0 == Ja ? (ia(1, b.touches[1]), | |
| Ja = Ka = ra(Sa[0].start, Sa[1].start)) : (ja(b.touches[1]), | |
| Ka = ra(Sa[0].end, Sa[1].end), | |
| Na = ta(Sa[0].end, Sa[1].end)), | |
| La = sa(Ja, Ka), | |
| Ma = Math.abs(Ja - Ka)), | |
| Ra === c.fingers || c.fingers === s || !y || O()) { | |
| if (Ha = wa(f.start, f.end), | |
| M(a, Ha), | |
| Ga = ua(f.start, f.end), | |
| Ia = qa(), | |
| ma(Ha, Ga), | |
| (c.swipeStatus || c.pinchStatus) && (d = H(b, Qa)), | |
| !c.triggerOnTouchEnd || c.triggerOnTouchLeave) { | |
| var g = !0; | |
| if (c.triggerOnTouchLeave) { | |
| var h = ya(this); | |
| g = za(f.end, h) | |
| } | |
| !c.triggerOnTouchEnd && g ? Qa = G(v) : c.triggerOnTouchLeave && !g && (Qa = G(w)), | |
| Qa != x && Qa != w || H(b, Qa) | |
| } | |
| } else | |
| Qa = x, | |
| H(b, Qa); | |
| d === !1 && (Qa = x, | |
| H(b, Qa)) | |
| } | |
| } | |
| function C(a) { | |
| var b = a.originalEvent; | |
| return y && b.touches.length > 0 ? (da(), | |
| !0) : (fa() && (Ra = Wa), | |
| a.preventDefault(), | |
| Ua = xa(), | |
| Ia = qa(), | |
| c.triggerOnTouchEnd || 0 == c.triggerOnTouchEnd && Qa === v ? (Qa = w, | |
| H(b, Qa)) : !c.triggerOnTouchEnd && V() ? (Qa = w, | |
| I(b, Qa, n)) : Qa === v && (Qa = x, | |
| H(b, Qa)), | |
| void ha(!1)) | |
| } | |
| function D() { | |
| Ra = 0, | |
| Ua = 0, | |
| Ta = 0, | |
| Ja = 0, | |
| Ka = 0, | |
| La = 1, | |
| ea(), | |
| ha(!1) | |
| } | |
| function E(a) { | |
| var b = a.originalEvent; | |
| c.triggerOnTouchLeave && (Qa = G(w), | |
| H(b, Qa)) | |
| } | |
| function F() { | |
| Pa.unbind(Ba, A), | |
| Pa.unbind(Fa, D), | |
| Pa.unbind(Ca, B), | |
| Pa.unbind(Da, C), | |
| Ea && Pa.unbind(Ea, E), | |
| ha(!1) | |
| } | |
| function G(a) { | |
| var b = a | |
| , d = L() | |
| , e = J(); | |
| return d ? !e || a != v || c.triggerOnTouchEnd && !c.triggerOnTouchLeave ? !e && a == w && c.triggerOnTouchLeave && (b = x) : b = w : b = x, | |
| b | |
| } | |
| function H(a, b) { | |
| var c = void 0; | |
| return S() ? c = I(a, b, l) : P() && c !== !1 && (c = I(a, b, m)), | |
| ba() && c !== !1 ? c = I(a, b, o) : ca() && c !== !1 ? c = I(a, b, p) : aa() && c !== !1 && (c = I(a, b, n)), | |
| b === x && D(a), | |
| b === w && (y ? 0 == a.touches.length && D(a) : D(a)), | |
| c | |
| } | |
| function I(b, j, k) { | |
| var q = void 0; | |
| if (k == l) { | |
| if (Pa.trigger("swipeStatus", [j, Ha || null, Ga || 0, Ia || 0, Ra]), | |
| c.swipeStatus && (q = c.swipeStatus.call(Pa, b, j, Ha || null, Ga || 0, Ia || 0, Ra), | |
| q === !1)) | |
| return !1; | |
| if (j == w && Q()) { | |
| if (Pa.trigger("swipe", [Ha, Ga, Ia, Ra]), | |
| c.swipe && (q = c.swipe.call(Pa, b, Ha, Ga, Ia, Ra), | |
| q === !1)) | |
| return !1; | |
| switch (Ha) { | |
| case d: | |
| Pa.trigger("swipeLeft", [Ha, Ga, Ia, Ra]), | |
| c.swipeLeft && (q = c.swipeLeft.call(Pa, b, Ha, Ga, Ia, Ra)); | |
| break; | |
| case e: | |
| Pa.trigger("swipeRight", [Ha, Ga, Ia, Ra]), | |
| c.swipeRight && (q = c.swipeRight.call(Pa, b, Ha, Ga, Ia, Ra)); | |
| break; | |
| case f: | |
| Pa.trigger("swipeUp", [Ha, Ga, Ia, Ra]), | |
| c.swipeUp && (q = c.swipeUp.call(Pa, b, Ha, Ga, Ia, Ra)); | |
| break; | |
| case g: | |
| Pa.trigger("swipeDown", [Ha, Ga, Ia, Ra]), | |
| c.swipeDown && (q = c.swipeDown.call(Pa, b, Ha, Ga, Ia, Ra)) | |
| } | |
| } | |
| } | |
| if (k == m) { | |
| if (Pa.trigger("pinchStatus", [j, Na || null, Ma || 0, Ia || 0, Ra, La]), | |
| c.pinchStatus && (q = c.pinchStatus.call(Pa, b, j, Na || null, Ma || 0, Ia || 0, Ra, La), | |
| q === !1)) | |
| return !1; | |
| if (j == w && N()) | |
| switch (Na) { | |
| case h: | |
| Pa.trigger("pinchIn", [Na || null, Ma || 0, Ia || 0, Ra, La]), | |
| c.pinchIn && (q = c.pinchIn.call(Pa, b, Na || null, Ma || 0, Ia || 0, Ra, La)); | |
| break; | |
| case i: | |
| Pa.trigger("pinchOut", [Na || null, Ma || 0, Ia || 0, Ra, La]), | |
| c.pinchOut && (q = c.pinchOut.call(Pa, b, Na || null, Ma || 0, Ia || 0, Ra, La)) | |
| } | |
| } | |
| return k == n ? j !== x && j !== w || (clearTimeout(Ya), | |
| W() && !Z() ? (Xa = xa(), | |
| Ya = setTimeout(a.proxy(function() { | |
| Xa = null, | |
| Pa.trigger("tap", [b.target]), | |
| c.tap && (q = c.tap.call(Pa, b, b.target)) | |
| }, this), c.doubleTapThreshold)) : (Xa = null, | |
| Pa.trigger("tap", [b.target]), | |
| c.tap && (q = c.tap.call(Pa, b, b.target)))) : k == o ? j !== x && j !== w || (clearTimeout(Ya), | |
| Xa = null, | |
| Pa.trigger("doubletap", [b.target]), | |
| c.doubleTap && (q = c.doubleTap.call(Pa, b, b.target))) : k == p && (j !== x && j !== w || (clearTimeout(Ya), | |
| Xa = null, | |
| Pa.trigger("longtap", [b.target]), | |
| c.longTap && (q = c.longTap.call(Pa, b, b.target)))), | |
| q | |
| } | |
| function J() { | |
| var a = !0; | |
| return null !== c.threshold && (a = Ga >= c.threshold), | |
| a && null !== c.cancelThreshold && (a = na(Ha) - Ga < c.cancelThreshold), | |
| a | |
| } | |
| function K() { | |
| return null === c.pinchThreshold || Ma >= c.pinchThreshold | |
| } | |
| function L() { | |
| var a; | |
| return a = !c.maxTimeThreshold || !(Ia >= c.maxTimeThreshold) | |
| } | |
| function M(a, b) { | |
| if (c.allowPageScroll === j || O()) | |
| a.preventDefault(); | |
| else { | |
| var h = c.allowPageScroll === k; | |
| switch (b) { | |
| case d: | |
| (c.swipeLeft && h || !h && c.allowPageScroll != q) && a.preventDefault(); | |
| break; | |
| case e: | |
| (c.swipeRight && h || !h && c.allowPageScroll != q) && a.preventDefault(); | |
| break; | |
| case f: | |
| (c.swipeUp && h || !h && c.allowPageScroll != r) && a.preventDefault(); | |
| break; | |
| case g: | |
| (c.swipeDown && h || !h && c.allowPageScroll != r) && a.preventDefault() | |
| } | |
| } | |
| } | |
| function N() { | |
| var a = T() | |
| , b = U() | |
| , c = K(); | |
| return a && b && c | |
| } | |
| function O() { | |
| return !!(c.pinchStatus || c.pinchIn || c.pinchOut) | |
| } | |
| function P() { | |
| return !(!N() || !O()) | |
| } | |
| function Q() { | |
| var a = L() | |
| , b = J() | |
| , c = T() | |
| , d = U() | |
| , e = d && c && b && a; | |
| return e | |
| } | |
| function R() { | |
| return !!(c.swipe || c.swipeStatus || c.swipeLeft || c.swipeRight || c.swipeUp || c.swipeDown) | |
| } | |
| function S() { | |
| return !(!Q() || !R()) | |
| } | |
| function T() { | |
| return Ra === c.fingers || c.fingers === s || !y | |
| } | |
| function U() { | |
| return 0 !== Sa[0].end.x | |
| } | |
| function V() { | |
| return !!c.tap | |
| } | |
| function W() { | |
| return !!c.doubleTap | |
| } | |
| function X() { | |
| return !!c.longTap | |
| } | |
| function Y() { | |
| if (null == Xa) | |
| return !1; | |
| var a = xa(); | |
| return W() && a - Xa <= c.doubleTapThreshold | |
| } | |
| function Z() { | |
| return Y() | |
| } | |
| function $() { | |
| return (1 === Ra || !y) && (isNaN(Ga) || 0 === Ga) | |
| } | |
| function _() { | |
| return Ia > c.longTapThreshold && Ga < t | |
| } | |
| function aa() { | |
| return !(!$() || !V()) | |
| } | |
| function ba() { | |
| return !(!Y() || !W()) | |
| } | |
| function ca() { | |
| return !(!_() || !X()) | |
| } | |
| function da() { | |
| Va = xa(), | |
| Wa = event.touches.length + 1 | |
| } | |
| function ea() { | |
| Va = 0, | |
| Wa = 0 | |
| } | |
| function fa() { | |
| var a = !1; | |
| if (Va) { | |
| var b = xa() - Va; | |
| b <= c.fingerReleaseThreshold && (a = !0) | |
| } | |
| return a | |
| } | |
| function ga() { | |
| return !(Pa.data(z + "_intouch") !== !0) | |
| } | |
| function ha(a) { | |
| a === !0 ? (Pa.bind(Ca, B), | |
| Pa.bind(Da, C), | |
| Ea && Pa.bind(Ea, E)) : (Pa.unbind(Ca, B, !1), | |
| Pa.unbind(Da, C, !1), | |
| Ea && Pa.unbind(Ea, E, !1)), | |
| Pa.data(z + "_intouch", a === !0) | |
| } | |
| function ia(a, b) { | |
| var c = void 0 !== b.identifier ? b.identifier : 0; | |
| return Sa[a].identifier = c, | |
| Sa[a].start.x = Sa[a].end.x = b.pageX || b.clientX, | |
| Sa[a].start.y = Sa[a].end.y = b.pageY || b.clientY, | |
| Sa[a] | |
| } | |
| function ja(a) { | |
| var b = void 0 !== a.identifier ? a.identifier : 0 | |
| , c = ka(b); | |
| return c.end.x = a.pageX || a.clientX, | |
| c.end.y = a.pageY || a.clientY, | |
| c | |
| } | |
| function ka(a) { | |
| for (var b = 0; b < Sa.length; b++) | |
| if (Sa[b].identifier == a) | |
| return Sa[b] | |
| } | |
| function la() { | |
| for (var a = [], b = 0; b <= 5; b++) | |
| a.push({ | |
| start: { | |
| x: 0, | |
| y: 0 | |
| }, | |
| end: { | |
| x: 0, | |
| y: 0 | |
| }, | |
| identifier: 0 | |
| }); | |
| return a | |
| } | |
| function ma(a, b) { | |
| b = Math.max(b, na(a)), | |
| Oa[a].distance = b | |
| } | |
| function na(a) { | |
| return Oa[a].distance | |
| } | |
| function oa() { | |
| var a = {}; | |
| return a[d] = pa(d), | |
| a[e] = pa(e), | |
| a[f] = pa(f), | |
| a[g] = pa(g), | |
| a | |
| } | |
| function pa(a) { | |
| return { | |
| direction: a, | |
| distance: 0 | |
| } | |
| } | |
| function qa() { | |
| return Ua - Ta | |
| } | |
| function ra(a, b) { | |
| var c = Math.abs(a.x - b.x) | |
| , d = Math.abs(a.y - b.y); | |
| return Math.round(Math.sqrt(c * c + d * d)) | |
| } | |
| function sa(a, b) { | |
| var c = b / a * 1; | |
| return c.toFixed(2) | |
| } | |
| function ta() { | |
| return La < 1 ? i : h | |
| } | |
| function ua(a, b) { | |
| return Math.round(Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2))) | |
| } | |
| function va(a, b) { | |
| var c = a.x - b.x | |
| , d = b.y - a.y | |
| , e = Math.atan2(d, c) | |
| , f = Math.round(180 * e / Math.PI); | |
| return f < 0 && (f = 360 - Math.abs(f)), | |
| f | |
| } | |
| function wa(a, b) { | |
| var c = va(a, b); | |
| return c <= 45 && c >= 0 ? d : c <= 360 && c >= 315 ? d : c >= 135 && c <= 225 ? e : c > 45 && c < 135 ? g : f | |
| } | |
| function xa() { | |
| var a = new Date; | |
| return a.getTime() | |
| } | |
| function ya(b) { | |
| b = a(b); | |
| var c = b.offset() | |
| , d = { | |
| left: c.left, | |
| right: c.left + b.outerWidth(), | |
| top: c.top, | |
| bottom: c.top + b.outerHeight() | |
| }; | |
| return d | |
| } | |
| function za(a, b) { | |
| return a.x > b.left && a.x < b.right && a.y > b.top && a.y < b.bottom | |
| } | |
| var Aa = y || !c.fallbackToMouseEvents | |
| , Ba = Aa ? "touchstart" : "mousedown" | |
| , Ca = Aa ? "touchmove" : "mousemove" | |
| , Da = Aa ? "touchend" : "mouseup" | |
| , Ea = Aa ? null : "mouseleave" | |
| , Fa = "touchcancel" | |
| , Ga = 0 | |
| , Ha = null | |
| , Ia = 0 | |
| , Ja = 0 | |
| , Ka = 0 | |
| , La = 1 | |
| , Ma = 0 | |
| , Na = 0 | |
| , Oa = null | |
| , Pa = a(b) | |
| , Qa = "start" | |
| , Ra = 0 | |
| , Sa = null | |
| , Ta = 0 | |
| , Ua = 0 | |
| , Va = 0 | |
| , Wa = 0 | |
| , Xa = 0 | |
| , Ya = null; | |
| try { | |
| Pa.bind(Ba, A), | |
| Pa.bind(Fa, D) | |
| } catch (Za) { | |
| a.error("events not supported " + Ba + "," + Fa + " on jQuery.swipe") | |
| } | |
| this.enable = function() { | |
| return Pa.bind(Ba, A), | |
| Pa.bind(Fa, D), | |
| Pa | |
| } | |
| , | |
| this.disable = function() { | |
| return F(), | |
| Pa | |
| } | |
| , | |
| this.destroy = function() { | |
| return F(), | |
| Pa.data(z, null), | |
| Pa | |
| } | |
| , | |
| this.option = function(b, d) { | |
| if (void 0 !== c[b]) { | |
| if (void 0 === d) | |
| return c[b]; | |
| c[b] = d | |
| } else | |
| a.error("Option " + b + " does not exist on jQuery.swipe.options") | |
| } | |
| } | |
| var d = "left" | |
| , e = "right" | |
| , f = "up" | |
| , g = "down" | |
| , h = "in" | |
| , i = "out" | |
| , j = "none" | |
| , k = "auto" | |
| , l = "swipe" | |
| , m = "pinch" | |
| , n = "tap" | |
| , o = "doubletap" | |
| , p = "longtap" | |
| , q = "horizontal" | |
| , r = "vertical" | |
| , s = "all" | |
| , t = 10 | |
| , u = "start" | |
| , v = "move" | |
| , w = "end" | |
| , x = "cancel" | |
| , y = "ontouchstart"in window | |
| , z = "TouchSwipe" | |
| , A = { | |
| fingers: 1, | |
| threshold: 75, | |
| cancelThreshold: 25, | |
| pinchThreshold: 20, | |
| maxTimeThreshold: null, | |
| fingerReleaseThreshold: 250, | |
| longTapThreshold: 500, | |
| doubleTapThreshold: 200, | |
| swipe: null, | |
| swipeLeft: null, | |
| swipeRight: null, | |
| swipeUp: null, | |
| swipeDown: null, | |
| swipeStatus: null, | |
| pinchIn: null, | |
| pinchOut: null, | |
| pinchStatus: null, | |
| click: null, | |
| tap: null, | |
| doubleTap: null, | |
| longTap: null, | |
| triggerOnTouchEnd: !0, | |
| triggerOnTouchLeave: !1, | |
| allowPageScroll: "auto", | |
| fallbackToMouseEvents: !0, | |
| excludedElements: "button, input, select, textarea, a, .noSwipe" | |
| }; | |
| a.fn.swipe = function(c) { | |
| var d = a(this) | |
| , e = d.data(z); | |
| if (e && "string" == typeof c) { | |
| if (e[c]) | |
| return e[c].apply(this, Array.prototype.slice.call(arguments, 1)); | |
| a.error("Method " + c + " does not exist on jQuery.swipe") | |
| } else if (!(e || "object" != typeof c && c)) | |
| return b.apply(this, arguments); | |
| return d | |
| } | |
| , | |
| a.fn.swipe.defaults = A, | |
| a.fn.swipe.phases = { | |
| PHASE_START: u, | |
| PHASE_MOVE: v, | |
| PHASE_END: w, | |
| PHASE_CANCEL: x | |
| }, | |
| a.fn.swipe.directions = { | |
| LEFT: d, | |
| RIGHT: e, | |
| UP: f, | |
| DOWN: g, | |
| IN: h, | |
| OUT: i | |
| }, | |
| a.fn.swipe.pageScroll = { | |
| NONE: j, | |
| HORIZONTAL: q, | |
| VERTICAL: r, | |
| AUTO: k | |
| }, | |
| a.fn.swipe.fingers = { | |
| ONE: 1, | |
| TWO: 2, | |
| THREE: 3, | |
| ALL: s | |
| } | |
| }(jQuery), | |
| function(a) { | |
| "function" == typeof define && define.amd ? define(["jquery"], a) : a(jQuery) | |
| }(function(a) { | |
| function b(a) { | |
| return a | |
| } | |
| function c(a) { | |
| return decodeURIComponent(a.replace(e, " ")) | |
| } | |
| function d(a) { | |
| 0 === a.indexOf('"') && (a = a.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\")); | |
| try { | |
| return f.json ? JSON.parse(a) : a | |
| } catch (b) {} | |
| } | |
| var e = /\+/g | |
| , f = a.cookie = function(e, g, h) { | |
| if (void 0 !== g) { | |
| if (h = a.extend({}, f.defaults, h), | |
| "number" == typeof h.expires) { | |
| var i = h.expires | |
| , j = h.expires = new Date; | |
| j.setDate(j.getDate() + i) | |
| } | |
| return g = f.json ? JSON.stringify(g) : String(g), | |
| document.cookie = [f.raw ? e : encodeURIComponent(e), "=", f.raw ? g : encodeURIComponent(g), h.expires ? "; expires=" + h.expires.toUTCString() : "", h.path ? "; path=" + h.path : "", h.domain ? "; domain=" + h.domain : "", h.secure ? "; secure" : ""].join("") | |
| } | |
| for (var k = f.raw ? b : c, l = document.cookie.split("; "), m = e ? void 0 : {}, n = 0, o = l.length; n < o; n++) { | |
| var p = l[n].split("=") | |
| , q = k(p.shift()) | |
| , r = k(p.join("=")); | |
| if (e && e === q) { | |
| m = d(r); | |
| break | |
| } | |
| e || (m[q] = d(r)) | |
| } | |
| return m | |
| } | |
| ; | |
| f.defaults = {}, | |
| a.removeCookie = function(b, c) { | |
| return void 0 !== a.cookie(b) && (a.cookie(b, "", a.extend(c, { | |
| expires: -1 | |
| })), | |
| !0) | |
| } | |
| }), | |
| function(a, b, c, d, e, f) { | |
| function g(a, b) { | |
| var c = typeof a[b]; | |
| return "function" == c || !("object" != c || !a[b]) || "unknown" == c | |
| } | |
| function h(a, b) { | |
| return !("object" != typeof a[b] || !a[b]) | |
| } | |
| function i(a) { | |
| return "[object Array]" === Object.prototype.toString.call(a) | |
| } | |
| function j() { | |
| var a = "Shockwave Flash" | |
| , b = "application/x-shockwave-flash"; | |
| if (!t(navigator.plugins) && "object" == typeof navigator.plugins[a]) { | |
| var c = navigator.plugins[a].description; | |
| c && !t(navigator.mimeTypes) && navigator.mimeTypes[b] && navigator.mimeTypes[b].enabledPlugin && (C = c.match(/\d+/g)) | |
| } | |
| if (!C) { | |
| var d; | |
| try { | |
| d = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"), | |
| C = Array.prototype.slice.call(d.GetVariable("$version").match(/(\d+),(\d+),(\d+),(\d+)/), 1), | |
| d = null | |
| } catch (e) {} | |
| } | |
| if (!C) | |
| return !1; | |
| var f = parseInt(C[0], 10) | |
| , g = parseInt(C[1], 10); | |
| return D = f > 9 && g > 0, | |
| !0 | |
| } | |
| function k() { | |
| if (!S) { | |
| S = !0; | |
| for (var a = 0; a < T.length; a++) | |
| T[a](); | |
| T.length = 0 | |
| } | |
| } | |
| function l(a, b) { | |
| return S ? void a.call(b) : void T.push(function() { | |
| a.call(b) | |
| }) | |
| } | |
| function m() { | |
| var a = parent; | |
| if ("" !== M) | |
| for (var b = 0, c = M.split("."); b < c.length; b++) | |
| a = a[c[b]]; | |
| return a.easyXDM | |
| } | |
| function n(b) { | |
| return a.easyXDM = O, | |
| M = b, | |
| M && (P = "easyXDM_" + M.replace(".", "_") + "_"), | |
| N | |
| } | |
| function o(a) { | |
| return a.match(J)[3] | |
| } | |
| function p(a) { | |
| return a.match(J)[4] || "" | |
| } | |
| function q(a) { | |
| var b = a.toLowerCase().match(J) | |
| , c = b[2] | |
| , d = b[3] | |
| , e = b[4] || ""; | |
| return ("http:" == c && ":80" == e || "https:" == c && ":443" == e) && (e = ""), | |
| c + "//" + d + e | |
| } | |
| function r(a) { | |
| if (a = a.replace(L, "$1/"), | |
| !a.match(/^(http||https):\/\//)) { | |
| var b = "/" === a.substring(0, 1) ? "" : c.pathname; | |
| "/" !== b.substring(b.length - 1) && (b = b.substring(0, b.lastIndexOf("/") + 1)), | |
| a = c.protocol + "//" + c.host + b + a | |
| } | |
| for (; K.test(a); ) | |
| a = a.replace(K, ""); | |
| return a | |
| } | |
| function s(a, b) { | |
| var c = "" | |
| , d = a.indexOf("#"); | |
| d !== -1 && (c = a.substring(d), | |
| a = a.substring(0, d)); | |
| var e = []; | |
| for (var g in b) | |
| b.hasOwnProperty(g) && e.push(g + "=" + f(b[g])); | |
| return a + (Q ? "#" : a.indexOf("?") == -1 ? "?" : "&") + e.join("&") + c | |
| } | |
| function t(a) { | |
| return "undefined" == typeof a | |
| } | |
| function u(a, b, c) { | |
| var d; | |
| for (var e in b) | |
| b.hasOwnProperty(e) && (e in a ? (d = b[e], | |
| "object" == typeof d ? u(a[e], d, c) : c || (a[e] = b[e])) : a[e] = b[e]); | |
| return a | |
| } | |
| function v() { | |
| var a = b.body.appendChild(b.createElement("form")) | |
| , c = a.appendChild(b.createElement("input")); | |
| c.name = P + "TEST" + H, | |
| B = c !== a.elements[c.name], | |
| b.body.removeChild(a) | |
| } | |
| function w(a) { | |
| t(B) && v(); | |
| var c; | |
| B ? c = b.createElement('<iframe name="' + a.props.name + '" sandbox="allow-scripts"/>') : (c = b.createElement("IFRAME"), | |
| c.name = a.props.name, | |
| c.sandbox = "allow-scripts"), | |
| c.id = c.name = a.props.name, | |
| delete a.props.name, | |
| "string" == typeof a.container && (a.container = b.getElementById(a.container)), | |
| a.container || (u(c.style, { | |
| position: "absolute", | |
| top: "-2000px", | |
| left: "0px" | |
| }), | |
| a.container = b.body); | |
| var d = a.props.src; | |
| if (a.props.src = "javascript:false", | |
| u(c, a.props), | |
| c.border = c.frameBorder = 0, | |
| c.allowTransparency = !0, | |
| a.container.appendChild(c), | |
| a.onLoad && E(c, "load", a.onLoad), | |
| a.usePost) { | |
| var e, f = a.container.appendChild(b.createElement("form")); | |
| if (f.target = c.name, | |
| f.action = d, | |
| f.method = "POST", | |
| "object" == typeof a.usePost) | |
| for (var g in a.usePost) | |
| a.usePost.hasOwnProperty(g) && (B ? e = b.createElement('<input name="' + g + '"/>') : (e = b.createElement("INPUT"), | |
| e.name = g), | |
| e.value = a.usePost[g], | |
| f.appendChild(e)); | |
| f.submit(), | |
| f.parentNode.removeChild(f) | |
| } else | |
| c.src = d; | |
| return a.props.src = d, | |
| c | |
| } | |
| function x(a, b) { | |
| "string" == typeof a && (a = [a]); | |
| for (var c, d = a.length; d--; ) | |
| if (c = a[d], | |
| c = new RegExp("^" == c.substr(0, 1) ? c : "^" + c.replace(/(\*)/g, ".$1").replace(/\?/g, ".") + "$"), | |
| c.test(b)) | |
| return !0; | |
| return !1 | |
| } | |
| function y(d) { | |
| var e, f = d.protocol; | |
| if (d.isHost = d.isHost || t(V.xdm_p), | |
| Q = d.hash || !1, | |
| d.props || (d.props = {}), | |
| d.isHost) | |
| d.remote = r(d.remote), | |
| d.channel = d.channel || "default" + H++, | |
| d.secret = Math.random().toString(16).substring(2), | |
| t(f) && (f = q(c.href) == q(d.remote) ? "4" : g(a, "postMessage") || g(b, "postMessage") ? "1" : d.swf && g(a, "ActiveXObject") && j() ? "6" : "Gecko" === navigator.product && "frameElement"in a && navigator.userAgent.indexOf("WebKit") == -1 ? "5" : d.remoteHelper ? "2" : "0"); | |
| else if (d.channel = V.xdm_c.replace(/["'<>\\]/g, ""), | |
| d.secret = V.xdm_s, | |
| d.remote = V.xdm_e.replace(/["'<>\\]/g, ""), | |
| f = V.xdm_p, | |
| d.acl && !x(d.acl, d.remote)) | |
| throw new Error("Access denied for " + d.remote); | |
| switch (d.protocol = f, | |
| f) { | |
| case "0": | |
| if (u(d, { | |
| interval: 100, | |
| delay: 2e3, | |
| useResize: !0, | |
| useParent: !1, | |
| usePolling: !1 | |
| }, !0), | |
| d.isHost) { | |
| if (!d.local) { | |
| for (var h, i = c.protocol + "//" + c.host, k = b.body.getElementsByTagName("img"), l = k.length; l--; ) | |
| if (h = k[l], | |
| h.src.substring(0, i.length) === i) { | |
| d.local = h.src; | |
| break | |
| } | |
| d.local || (d.local = a) | |
| } | |
| var m = { | |
| xdm_c: d.channel, | |
| xdm_p: 0 | |
| }; | |
| d.local === a ? (d.usePolling = !0, | |
| d.useParent = !0, | |
| d.local = c.protocol + "//" + c.host + c.pathname + c.search, | |
| m.xdm_e = d.local, | |
| m.xdm_pa = 1) : m.xdm_e = r(d.local), | |
| d.container && (d.useResize = !1, | |
| m.xdm_po = 1), | |
| d.remote = s(d.remote, m) | |
| } else | |
| u(d, { | |
| useParent: !t(V.xdm_pa), | |
| usePolling: !t(V.xdm_po), | |
| useResize: !d.useParent && d.useResize | |
| }); | |
| e = [new N.stack.HashTransport(d), new N.stack.ReliableBehavior({}), new N.stack.QueueBehavior({ | |
| encode: !0, | |
| maxLength: 4e3 - d.remote.length | |
| }), new N.stack.VerifyBehavior({ | |
| initiate: d.isHost | |
| })]; | |
| break; | |
| case "1": | |
| e = [new N.stack.PostMessageTransport(d)]; | |
| break; | |
| case "2": | |
| d.isHost && (d.remoteHelper = r(d.remoteHelper)), | |
| e = [new N.stack.NameTransport(d), new N.stack.QueueBehavior, new N.stack.VerifyBehavior({ | |
| initiate: d.isHost | |
| })]; | |
| break; | |
| case "3": | |
| e = [new N.stack.NixTransport(d)]; | |
| break; | |
| case "4": | |
| e = [new N.stack.SameOriginTransport(d)]; | |
| break; | |
| case "5": | |
| e = [new N.stack.FrameElementTransport(d)]; | |
| break; | |
| case "6": | |
| C || j(), | |
| e = [new N.stack.FlashTransport(d)] | |
| } | |
| return e.push(new N.stack.QueueBehavior({ | |
| lazy: d.lazy, | |
| remove: !0 | |
| })), | |
| e | |
| } | |
| function z(a) { | |
| for (var b, c = { | |
| incoming: function(a, b) { | |
| this.up.incoming(a, b) | |
| }, | |
| outgoing: function(a, b) { | |
| this.down.outgoing(a, b) | |
| }, | |
| callback: function(a) { | |
| this.up.callback(a) | |
| }, | |
| init: function() { | |
| this.down.init() | |
| }, | |
| destroy: function() { | |
| this.down.destroy() | |
| } | |
| }, d = 0, e = a.length; d < e; d++) | |
| b = a[d], | |
| u(b, c, !0), | |
| 0 !== d && (b.down = a[d - 1]), | |
| d !== e - 1 && (b.up = a[d + 1]); | |
| return b | |
| } | |
| function A(a) { | |
| a.up.down = a.down, | |
| a.down.up = a.up, | |
| a.up = a.down = null | |
| } | |
| var B, C, D, E, F, G = a, H = Math.floor(1e4 * Math.random()), I = Function.prototype, J = /^((http.?:)\/\/([^:\/\s]+)(:\d+)*)/, K = /[\-\w]+\/\.\.\//, L = /([^:])\/\//g, M = "", N = {}, O = a.easyXDM, P = "easyXDM_", Q = !1; | |
| if (g(a, "addEventListener")) | |
| E = function(a, b, c) { | |
| a.addEventListener(b, c, !1) | |
| } | |
| , | |
| F = function(a, b, c) { | |
| a.removeEventListener(b, c, !1) | |
| } | |
| ; | |
| else { | |
| if (!g(a, "attachEvent")) | |
| throw new Error("Browser not supported"); | |
| E = function(a, b, c) { | |
| a.attachEvent("on" + b, c) | |
| } | |
| , | |
| F = function(a, b, c) { | |
| a.detachEvent("on" + b, c) | |
| } | |
| } | |
| var R, S = !1, T = []; | |
| if ("readyState"in b ? (R = b.readyState, | |
| S = "complete" == R || ~navigator.userAgent.indexOf("AppleWebKit/") && ("loaded" == R || "interactive" == R)) : S = !!b.body, | |
| !S) { | |
| if (g(a, "addEventListener")) | |
| E(b, "DOMContentLoaded", k); | |
| else if (E(b, "readystatechange", function() { | |
| "complete" == b.readyState && k() | |
| }), | |
| b.documentElement.doScroll && a === top) { | |
| var U = function() { | |
| if (!S) { | |
| try { | |
| b.documentElement.doScroll("left") | |
| } catch (a) { | |
| return void d(U, 1) | |
| } | |
| k() | |
| } | |
| }; | |
| U() | |
| } | |
| E(a, "load", k) | |
| } | |
| var V = function(a) { | |
| a = a.substring(1).split("&"); | |
| for (var b, c = {}, d = a.length; d--; ) | |
| b = a[d].split("="), | |
| c[b[0]] = e(b[1]); | |
| return c | |
| }(/xdm_e=/.test(c.search) ? c.search : c.hash) | |
| , W = function() { | |
| var a = {} | |
| , b = { | |
| a: [1, 2, 3] | |
| } | |
| , c = '{"a":[1,2,3]}'; | |
| return "undefined" != typeof JSON && "function" == typeof JSON.stringify && JSON.stringify(b).replace(/\s/g, "") === c ? JSON : (Object.toJSON && Object.toJSON(b).replace(/\s/g, "") === c && (a.stringify = Object.toJSON), | |
| "function" == typeof String.prototype.evalJSON && (b = c.evalJSON(), | |
| b.a && 3 === b.a.length && 3 === b.a[2] && (a.parse = function(a) { | |
| return a.evalJSON() | |
| } | |
| )), | |
| a.stringify && a.parse ? (W = function() { | |
| return a | |
| } | |
| , | |
| a) : null) | |
| }; | |
| u(N, { | |
| version: "2.4.20.7", | |
| query: V, | |
| stack: {}, | |
| apply: u, | |
| getJSONObject: W, | |
| whenReady: l, | |
| noConflict: n | |
| }), | |
| N.DomHelper = { | |
| on: E, | |
| un: F, | |
| requiresJSON: function(c) { | |
| h(a, "JSON") || b.write('<script type="text/javascript" src="' + c + '"></script>') | |
| } | |
| }, | |
| function() { | |
| var a = {}; | |
| N.Fn = { | |
| set: function(b, c) { | |
| a[b] = c | |
| }, | |
| get: function(b, c) { | |
| if (a.hasOwnProperty(b)) { | |
| var d = a[b]; | |
| return c && delete a[b], | |
| d | |
| } | |
| } | |
| } | |
| }(), | |
| N.Socket = function(a) { | |
| var b = z(y(a).concat([{ | |
| incoming: function(b, c) { | |
| a.onMessage(b, c) | |
| }, | |
| callback: function(b) { | |
| a.onReady && a.onReady(b) | |
| } | |
| }])) | |
| , c = q(a.remote); | |
| this.origin = q(a.remote), | |
| this.destroy = function() { | |
| b.destroy() | |
| } | |
| , | |
| this.postMessage = function(a) { | |
| b.outgoing(a, c) | |
| } | |
| , | |
| b.init() | |
| } | |
| , | |
| N.Rpc = function(a, b) { | |
| if (b.local) | |
| for (var c in b.local) | |
| if (b.local.hasOwnProperty(c)) { | |
| var d = b.local[c]; | |
| "function" == typeof d && (b.local[c] = { | |
| method: d | |
| }) | |
| } | |
| var e = z(y(a).concat([new N.stack.RpcBehavior(this,b), { | |
| callback: function(b) { | |
| a.onReady && a.onReady(b) | |
| } | |
| }])); | |
| this.origin = q(a.remote), | |
| this.destroy = function() { | |
| e.destroy() | |
| } | |
| , | |
| e.init() | |
| } | |
| , | |
| N.stack.SameOriginTransport = function(a) { | |
| var b, e, f, g; | |
| return b = { | |
| outgoing: function(a, b, c) { | |
| f(a), | |
| c && c() | |
| }, | |
| destroy: function() { | |
| e && (e.parentNode.removeChild(e), | |
| e = null) | |
| }, | |
| onDOMReady: function() { | |
| g = q(a.remote), | |
| a.isHost ? (u(a.props, { | |
| src: s(a.remote, { | |
| xdm_e: c.protocol + "//" + c.host + c.pathname, | |
| xdm_c: a.channel, | |
| xdm_p: 4 | |
| }), | |
| name: P + a.channel + "_provider" | |
| }), | |
| e = w(a), | |
| N.Fn.set(a.channel, function(a) { | |
| return f = a, | |
| d(function() { | |
| b.up.callback(!0) | |
| }, 0), | |
| function(a) { | |
| b.up.incoming(a, g) | |
| } | |
| })) : (f = m().Fn.get(a.channel, !0)(function(a) { | |
| b.up.incoming(a, g) | |
| }), | |
| d(function() { | |
| b.up.callback(!0) | |
| }, 0)) | |
| }, | |
| init: function() { | |
| l(b.onDOMReady, b) | |
| } | |
| } | |
| } | |
| , | |
| N.stack.FlashTransport = function(a) { | |
| function e(a, b) { | |
| d(function() { | |
| h.up.incoming(a, j) | |
| }, 0) | |
| } | |
| function g(c) { | |
| var d = a.swf + "?host=" + a.isHost | |
| , e = "easyXDM_swf_" + Math.floor(1e4 * Math.random()); | |
| N.Fn.set("flash_loaded" + c.replace(/[\-.]/g, "_"), function() { | |
| N.stack.FlashTransport[c].swf = k = m.firstChild; | |
| for (var a = N.stack.FlashTransport[c].queue, b = 0; b < a.length; b++) | |
| a[b](); | |
| a.length = 0 | |
| }), | |
| a.swfContainer ? m = "string" == typeof a.swfContainer ? b.getElementById(a.swfContainer) : a.swfContainer : (m = b.createElement("div"), | |
| u(m.style, D && a.swfNoThrottle ? { | |
| height: "20px", | |
| width: "20px", | |
| position: "fixed", | |
| right: 0, | |
| top: 0 | |
| } : { | |
| height: "1px", | |
| width: "1px", | |
| position: "absolute", | |
| overflow: "hidden", | |
| right: 0, | |
| top: 0 | |
| }), | |
| b.body.appendChild(m)); | |
| var g = "callback=flash_loaded" + f(c.replace(/[\-.]/g, "_")) + "&proto=" + G.location.protocol + "&domain=" + f(o(G.location.href)) + "&port=" + f(p(G.location.href)) + "&ns=" + f(M); | |
| m.innerHTML = "<object height='20' width='20' type='application/x-shockwave-flash' id='" + e + "' data='" + d + "'><param name='allowScriptAccess' value='sameDomain'></param><param name='wmode' value='transparent'><param name='movie' value='" + d + "'></param><param name='flashvars' value='" + g + "'></param><embed type='application/x-shockwave-flash' FlashVars='" + g + "' allowScriptAccess='sameDomain' wmode='transparent' src='" + d + "' height='1' width='1'></embed></object>" | |
| } | |
| var h, i, j, k, m; | |
| return h = { | |
| outgoing: function(b, c, d) { | |
| k.postMessage(a.channel, b.toString()), | |
| d && d() | |
| }, | |
| destroy: function() { | |
| try { | |
| k.destroyChannel(a.channel) | |
| } catch (b) {} | |
| k = null, | |
| i && (i.parentNode.removeChild(i), | |
| i = null) | |
| }, | |
| onDOMReady: function() { | |
| j = a.remote, | |
| N.Fn.set("flash_" + a.channel + "_init", function() { | |
| d(function() { | |
| h.up.callback(!0) | |
| }) | |
| }), | |
| N.Fn.set("flash_" + a.channel + "_onMessage", e), | |
| a.swf = r(a.swf); | |
| var b = o(a.swf) | |
| , f = function() { | |
| N.stack.FlashTransport[b].init = !0, | |
| k = N.stack.FlashTransport[b].swf, | |
| k.createChannel(a.channel, a.secret, q(a.remote), a.isHost), | |
| a.isHost && (D && a.swfNoThrottle && u(a.props, { | |
| position: "fixed", | |
| right: 0, | |
| top: 0, | |
| height: "20px", | |
| width: "20px" | |
| }), | |
| u(a.props, { | |
| src: s(a.remote, { | |
| xdm_e: q(c.href), | |
| xdm_c: a.channel, | |
| xdm_p: 6, | |
| xdm_s: a.secret | |
| }), | |
| name: P + a.channel + "_provider" | |
| }), | |
| i = w(a)) | |
| }; | |
| N.stack.FlashTransport[b] && N.stack.FlashTransport[b].init ? f() : N.stack.FlashTransport[b] ? N.stack.FlashTransport[b].queue.push(f) : (N.stack.FlashTransport[b] = { | |
| queue: [f] | |
| }, | |
| g(b)) | |
| }, | |
| init: function() { | |
| l(h.onDOMReady, h) | |
| } | |
| } | |
| } | |
| , | |
| N.stack.PostMessageTransport = function(b) { | |
| function e(a) { | |
| if (a.origin) | |
| return q(a.origin); | |
| if (a.uri) | |
| return q(a.uri); | |
| if (a.domain) | |
| return c.protocol + "//" + a.domain; | |
| throw "Unable to retrieve the origin of the event" | |
| } | |
| function f(a) { | |
| if ("string" == typeof a.data) { | |
| var c = e(a); | |
| c == k && a.data.substring(0, b.channel.length + 1) == b.channel + " " && h.up.incoming(a.data.substring(b.channel.length + 1), c) | |
| } | |
| } | |
| function g(c) { | |
| c.data == b.channel + "-ready" && (j = "postMessage"in i.contentWindow ? i.contentWindow : i.contentWindow.document, | |
| F(a, "message", g), | |
| E(a, "message", f), | |
| d(function() { | |
| h.up.callback(!0) | |
| }, 0)) | |
| } | |
| var h, i, j, k; | |
| return h = { | |
| outgoing: function(a, c, d) { | |
| j.postMessage(b.channel + " " + a, c || k), | |
| d && d() | |
| }, | |
| destroy: function() { | |
| F(a, "message", g), | |
| F(a, "message", f), | |
| i && (j = null, | |
| i.parentNode.removeChild(i), | |
| i = null) | |
| }, | |
| onDOMReady: function() { | |
| k = q(b.remote), | |
| b.isHost ? (E(a, "message", g), | |
| u(b.props, { | |
| src: s(b.remote, { | |
| xdm_e: q(c.href), | |
| xdm_c: b.channel, | |
| xdm_p: 1 | |
| }), | |
| name: P + b.channel + "_provider" | |
| }), | |
| i = w(b)) : (E(a, "message", f), | |
| j = "postMessage"in a.parent ? a.parent : a.parent.document, | |
| j.postMessage(b.channel + "-ready", k), | |
| d(function() { | |
| h.up.callback(!0) | |
| }, 0)) | |
| }, | |
| init: function() { | |
| l(h.onDOMReady, h) | |
| } | |
| } | |
| } | |
| , | |
| N.stack.FrameElementTransport = function(e) { | |
| var f, g, h, i; | |
| return f = { | |
| outgoing: function(a, b, c) { | |
| h.call(this, a), | |
| c && c() | |
| }, | |
| destroy: function() { | |
| g && (g.parentNode.removeChild(g), | |
| g = null) | |
| }, | |
| onDOMReady: function() { | |
| i = q(e.remote), | |
| e.isHost ? (u(e.props, { | |
| src: s(e.remote, { | |
| xdm_e: q(c.href), | |
| xdm_c: e.channel, | |
| xdm_p: 5 | |
| }), | |
| name: P + e.channel + "_provider" | |
| }), | |
| g = w(e), | |
| g.fn = function(a) { | |
| return delete g.fn, | |
| h = a, | |
| d(function() { | |
| f.up.callback(!0) | |
| }, 0), | |
| function(a) { | |
| f.up.incoming(a, i) | |
| } | |
| } | |
| ) : (b.referrer && q(b.referrer) != V.xdm_e && (a.top.location = V.xdm_e), | |
| h = a.frameElement.fn(function(a) { | |
| f.up.incoming(a, i) | |
| }), | |
| f.up.callback(!0)) | |
| }, | |
| init: function() { | |
| l(f.onDOMReady, f) | |
| } | |
| } | |
| } | |
| , | |
| N.stack.NameTransport = function(a) { | |
| function b(b) { | |
| var c = a.remoteHelper + (h ? "#_3" : "#_2") + a.channel; | |
| i.contentWindow.sendMessage(b, c) | |
| } | |
| function c() { | |
| h ? 2 !== ++k && h || g.up.callback(!0) : (b("ready"), | |
| g.up.callback(!0)) | |
| } | |
| function e(a) { | |
| g.up.incoming(a, n) | |
| } | |
| function f() { | |
| m && d(function() { | |
| m(!0) | |
| }, 0) | |
| } | |
| var g, h, i, j, k, m, n, o; | |
| return g = { | |
| outgoing: function(a, c, d) { | |
| m = d, | |
| b(a) | |
| }, | |
| destroy: function() { | |
| i.parentNode.removeChild(i), | |
| i = null, | |
| h && (j.parentNode.removeChild(j), | |
| j = null) | |
| }, | |
| onDOMReady: function() { | |
| h = a.isHost, | |
| k = 0, | |
| n = q(a.remote), | |
| a.local = r(a.local), | |
| h ? (N.Fn.set(a.channel, function(b) { | |
| h && "ready" === b && (N.Fn.set(a.channel, e), | |
| c()) | |
| }), | |
| o = s(a.remote, { | |
| xdm_e: a.local, | |
| xdm_c: a.channel, | |
| xdm_p: 2 | |
| }), | |
| u(a.props, { | |
| src: o + "#" + a.channel, | |
| name: P + a.channel + "_provider" | |
| }), | |
| j = w(a)) : (a.remoteHelper = a.remote, | |
| N.Fn.set(a.channel, e)); | |
| var b = function() { | |
| var e = i || this; | |
| F(e, "load", b), | |
| N.Fn.set(a.channel + "_load", f), | |
| function g() { | |
| "function" == typeof e.contentWindow.sendMessage ? c() : d(g, 50) | |
| }() | |
| }; | |
| i = w({ | |
| props: { | |
| src: a.local + "#_4" + a.channel | |
| }, | |
| onLoad: b | |
| }) | |
| }, | |
| init: function() { | |
| l(g.onDOMReady, g) | |
| } | |
| } | |
| } | |
| , | |
| N.stack.HashTransport = function(b) { | |
| function c(a) { | |
| if (p) { | |
| var c = b.remote + "#" + n++ + "_" + a; | |
| (i || !r ? p.contentWindow : p).location = c | |
| } | |
| } | |
| function e(a) { | |
| m = a, | |
| h.up.incoming(m.substring(m.indexOf("_") + 1), s) | |
| } | |
| function f() { | |
| if (o) { | |
| var a = o.location.href | |
| , b = "" | |
| , c = a.indexOf("#"); | |
| c != -1 && (b = a.substring(c)), | |
| b && b != m && e(b) | |
| } | |
| } | |
| function g() { | |
| j = setInterval(f, k) | |
| } | |
| var h, i, j, k, m, n, o, p, r, s; | |
| return h = { | |
| outgoing: function(a, b) { | |
| c(a) | |
| }, | |
| destroy: function() { | |
| a.clearInterval(j), | |
| !i && r || p.parentNode.removeChild(p), | |
| p = null | |
| }, | |
| onDOMReady: function() { | |
| if (i = b.isHost, | |
| k = b.interval, | |
| m = "#" + b.channel, | |
| n = 0, | |
| r = b.useParent, | |
| s = q(b.remote), | |
| i) { | |
| if (u(b.props, { | |
| src: b.remote, | |
| name: P + b.channel + "_provider" | |
| }), | |
| r) | |
| b.onLoad = function() { | |
| o = a, | |
| g(), | |
| h.up.callback(!0) | |
| } | |
| ; | |
| else { | |
| var c = 0 | |
| , e = b.delay / 50; | |
| !function f() { | |
| if (++c > e) | |
| throw new Error("Unable to reference listenerwindow"); | |
| try { | |
| o = p.contentWindow.frames[P + b.channel + "_consumer"] | |
| } catch (a) {} | |
| o ? (g(), | |
| h.up.callback(!0)) : d(f, 50) | |
| }() | |
| } | |
| p = w(b) | |
| } else | |
| o = a, | |
| g(), | |
| r ? (p = parent, | |
| h.up.callback(!0)) : (u(b, { | |
| props: { | |
| src: b.remote + "#" + b.channel + new Date, | |
| name: P + b.channel + "_consumer" | |
| }, | |
| onLoad: function() { | |
| h.up.callback(!0) | |
| } | |
| }), | |
| p = w(b)) | |
| }, | |
| init: function() { | |
| l(h.onDOMReady, h) | |
| } | |
| } | |
| } | |
| , | |
| N.stack.ReliableBehavior = function(a) { | |
| var b, c, d = 0, e = 0, f = ""; | |
| return b = { | |
| incoming: function(a, g) { | |
| var h = a.indexOf("_") | |
| , i = a.substring(0, h).split(","); | |
| a = a.substring(h + 1), | |
| i[0] == d && (f = "", | |
| c && c(!0)), | |
| a.length > 0 && (b.down.outgoing(i[1] + "," + d + "_" + f, g), | |
| e != i[1] && (e = i[1], | |
| b.up.incoming(a, g))) | |
| }, | |
| outgoing: function(a, g, h) { | |
| f = a, | |
| c = h, | |
| b.down.outgoing(e + "," + ++d + "_" + a, g) | |
| } | |
| } | |
| } | |
| , | |
| N.stack.QueueBehavior = function(a) { | |
| function b() { | |
| if (a.remove && 0 === h.length) | |
| return void A(c); | |
| if (!i && 0 !== h.length && !g) { | |
| i = !0; | |
| var e = h.shift(); | |
| c.down.outgoing(e.data, e.origin, function(a) { | |
| i = !1, | |
| e.callback && d(function() { | |
| e.callback(a) | |
| }, 0), | |
| b() | |
| }) | |
| } | |
| } | |
| var c, g, h = [], i = !0, j = "", k = 0, l = !1, m = !1; | |
| return c = { | |
| init: function() { | |
| t(a) && (a = {}), | |
| a.maxLength && (k = a.maxLength, | |
| m = !0), | |
| a.lazy ? l = !0 : c.down.init() | |
| }, | |
| callback: function(a) { | |
| i = !1; | |
| var d = c.up; | |
| b(), | |
| d.callback(a) | |
| }, | |
| incoming: function(b, d) { | |
| if (m) { | |
| var f = b.indexOf("_") | |
| , g = parseInt(b.substring(0, f), 10); | |
| j += b.substring(f + 1), | |
| 0 === g && (a.encode && (j = e(j)), | |
| c.up.incoming(j, d), | |
| j = "") | |
| } else | |
| c.up.incoming(b, d) | |
| }, | |
| outgoing: function(d, e, g) { | |
| a.encode && (d = f(d)); | |
| var i, j = []; | |
| if (m) { | |
| for (; 0 !== d.length; ) | |
| i = d.substring(0, k), | |
| d = d.substring(i.length), | |
| j.push(i); | |
| for (; i = j.shift(); ) | |
| h.push({ | |
| data: j.length + "_" + i, | |
| origin: e, | |
| callback: 0 === j.length ? g : null | |
| }) | |
| } else | |
| h.push({ | |
| data: d, | |
| origin: e, | |
| callback: g | |
| }); | |
| l ? c.down.init() : b() | |
| }, | |
| destroy: function() { | |
| g = !0, | |
| c.down.destroy() | |
| } | |
| } | |
| } | |
| , | |
| N.stack.VerifyBehavior = function(a) { | |
| function b() { | |
| d = Math.random().toString(16).substring(2), | |
| c.down.outgoing(d) | |
| } | |
| var c, d, e; | |
| return c = { | |
| incoming: function(f, g) { | |
| var h = f.indexOf("_"); | |
| h === -1 ? f === d ? c.up.callback(!0) : e || (e = f, | |
| a.initiate || b(), | |
| c.down.outgoing(f)) : f.substring(0, h) === e && c.up.incoming(f.substring(h + 1), g) | |
| }, | |
| outgoing: function(a, b, e) { | |
| c.down.outgoing(d + "_" + a, b, e) | |
| }, | |
| callback: function(c) { | |
| a.initiate && b() | |
| } | |
| } | |
| } | |
| , | |
| N.stack.RpcBehavior = function(a, b) { | |
| function c(a) { | |
| a.jsonrpc = "2.0", | |
| f.down.outgoing(g.stringify(a)) | |
| } | |
| function d(a, b) { | |
| var d = Array.prototype.slice; | |
| return function() { | |
| var e, f = arguments.length, g = { | |
| method: b | |
| }; | |
| f > 0 && "function" == typeof arguments[f - 1] ? (f > 1 && "function" == typeof arguments[f - 2] ? (e = { | |
| success: arguments[f - 2], | |
| error: arguments[f - 1] | |
| }, | |
| g.params = d.call(arguments, 0, f - 2)) : (e = { | |
| success: arguments[f - 1] | |
| }, | |
| g.params = d.call(arguments, 0, f - 1)), | |
| j["" + ++h] = e, | |
| g.id = h) : g.params = d.call(arguments, 0), | |
| a.namedParams && 1 === g.params.length && (g.params = g.params[0]), | |
| c(g) | |
| } | |
| } | |
| function e(a, b, d, e) { | |
| if (!d) | |
| return void (b && c({ | |
| id: b, | |
| error: { | |
| code: -32601, | |
| message: "Procedure not found." | |
| } | |
| })); | |
| var f, g; | |
| b ? (f = function(a) { | |
| f = I, | |
| c({ | |
| id: b, | |
| result: a | |
| }) | |
| } | |
| , | |
| g = function(a, d) { | |
| g = I; | |
| var e = { | |
| id: b, | |
| error: { | |
| code: -32099, | |
| message: a | |
| } | |
| }; | |
| d && (e.error.data = d), | |
| c(e) | |
| } | |
| ) : f = g = I, | |
| i(e) || (e = [e]); | |
| try { | |
| var h = d.method.apply(d.scope, e.concat([f, g])); | |
| t(h) || f(h) | |
| } catch (j) { | |
| g(j.message) | |
| } | |
| } | |
| var f, g = b.serializer || W(), h = 0, j = {}; | |
| return f = { | |
| incoming: function(a, d) { | |
| var f = g.parse(a); | |
| if (f.method) | |
| b.handle ? b.handle(f, c) : e(f.method, f.id, b.local[f.method], f.params); | |
| else { | |
| var h = j[f.id]; | |
| f.error ? h.error && h.error(f.error) : h.success && h.success(f.result), | |
| delete j[f.id] | |
| } | |
| }, | |
| init: function() { | |
| if (b.remote) | |
| for (var c in b.remote) | |
| b.remote.hasOwnProperty(c) && (a[c] = d(b.remote[c], c)); | |
| f.down.init() | |
| }, | |
| destroy: function() { | |
| for (var c in b.remote) | |
| b.remote.hasOwnProperty(c) && a.hasOwnProperty(c) && delete a[c]; | |
| f.down.destroy() | |
| } | |
| } | |
| } | |
| , | |
| G.easyXDM = N | |
| }(window, document, location, window.setTimeout, decodeURIComponent, encodeURIComponent), | |
| function(a, b) { | |
| "function" == typeof define && define.amd ? define(b) : "object" == typeof module && "object" == typeof module.exports ? module.exports = b() : a.Cldr = b() | |
| }(this, function() { | |
| var a = function(a) { | |
| return "string" == typeof a ? [a] : a | |
| } | |
| , b = function(b) { | |
| b.prototype.main = function(b) { | |
| return b = a(b), | |
| this.get(["main/{languageId}"].concat(b)) | |
| } | |
| } | |
| , c = Array.isArray || function(a) { | |
| return "[object Array]" === Object.prototype.toString.call(a) | |
| } | |
| , d = function(a, b) { | |
| if (c(a) && (a = a.join("/")), | |
| "string" != typeof a) | |
| throw new Error('invalid path "' + a + '"'); | |
| return a = a.replace(/^\//, "").replace(/^cldr\//, ""), | |
| a = a.replace(/{[a-zA-Z]+}/g, function(a) { | |
| return a = a.replace(/^{([^}]*)}$/, "$1"), | |
| b[a] | |
| }), | |
| a.split("/") | |
| } | |
| , e = function(a, b) { | |
| var c, d; | |
| if (a.some) | |
| return a.some(b); | |
| for (c = 0, | |
| d = a.length; c < d; c++) | |
| if (b(a[c], c, a)) | |
| return !0; | |
| return !1 | |
| } | |
| , f = function(a, b, c) { | |
| var d, f, g = b[0], h = b[1], i = b[2]; | |
| return c = c || {}, | |
| "und" !== g && "Zzzz" !== h && "ZZ" !== i ? [g, h, i] : "undefined" != typeof a.get("supplemental/likelySubtags") ? (f = e([[g, h, i], [g, i], [g, h], [g], ["und", h]], function(b) { | |
| return d = !/\b(Zzzz|ZZ)\b/.test(b.join("_")) && a.get(["supplemental/likelySubtags", b.join("_")]) | |
| }), | |
| f ? (d = d.split("_"), | |
| ["und" !== g ? g : d[0], "Zzzz" !== h ? h : d[1], "ZZ" !== i ? i : d[2]]) : c.force ? a.get("supplemental/likelySubtags/und").split("_") : void 0) : void 0 | |
| } | |
| , g = function(a, b) { | |
| var c, d, g = b[0], h = b[1], i = b[2]; | |
| return d = e([[[g, "Zzzz", "ZZ"], [g]], [[g, "Zzzz", i], [g, i]], [[g, h, "ZZ"], [g, h]]], function(d) { | |
| var e = f(a, d[0]); | |
| return c = d[1], | |
| e && e[0] === b[0] && e[1] === b[1] && e[2] === b[2] | |
| }), | |
| d ? c : b | |
| } | |
| , h = function(b) { | |
| var c, d; | |
| return c = function(c) { | |
| return function(d) { | |
| return d = a(d), | |
| b.get([c].concat(d)) | |
| } | |
| } | |
| , | |
| d = c("supplemental"), | |
| d.weekData = c("supplemental/weekData"), | |
| d.weekData.firstDay = function() { | |
| return b.get("supplemental/weekData/firstDay/{territory}") || b.get("supplemental/weekData/firstDay/001") | |
| } | |
| , | |
| d.weekData.minDays = function() { | |
| var a = b.get("supplemental/weekData/minDays/{territory}") || b.get("supplemental/weekData/minDays/001"); | |
| return parseInt(a, 10) | |
| } | |
| , | |
| d.timeData = c("supplemental/timeData"), | |
| d.timeData.allowed = function() { | |
| return b.get("supplemental/timeData/{territory}/_allowed") || b.get("supplemental/timeData/001/_allowed") | |
| } | |
| , | |
| d.timeData.preferred = function() { | |
| return b.get("supplemental/timeData/{territory}/_preferred") || b.get("supplemental/timeData/001/_preferred") | |
| } | |
| , | |
| d | |
| } | |
| , i = function(a) { | |
| var b, c, d, e, i, j, k; | |
| if ("string" != typeof a) | |
| throw new Error('invalid locale type: "' + JSON.stringify(a) + '"'); | |
| switch (a = a.replace(/-/, "_"), | |
| a = a.split("_u_")[0], | |
| a = a.split("_t_")[0], | |
| j = a, | |
| !0) { | |
| case /^[a-z]{2}_[A-Z][a-z]{3}_[A-Z0-9]{2}(\b|_)/.test(j): | |
| b = j.split("_")[0], | |
| e = j.split("_")[1], | |
| i = j.split("_")[2], | |
| k = j.split("_")[3]; | |
| break; | |
| case /^[a-z]{2}_[A-Z][a-z]{3}(\b|_)/.test(j): | |
| b = j.split("_")[0], | |
| e = j.split("_")[1], | |
| i = "ZZ", | |
| k = j.split("_")[2]; | |
| break; | |
| case /^[a-z]{2}_[A-Z0-9]{2}(\b|_)/.test(j): | |
| b = j.split("_")[0], | |
| e = "Zzzz", | |
| i = j.split("_")[1], | |
| k = j.split("_")[2]; | |
| break; | |
| case /^([a-z]{2}|root)(\b|_)/.test(j): | |
| b = j.split("_")[0], | |
| e = "Zzzz", | |
| i = "ZZ", | |
| k = j.split("_")[1]; | |
| break; | |
| default: | |
| b = "und" | |
| } | |
| d = f(this, [b, e, i], { | |
| force: !0 | |
| }) || j.split("_"), | |
| b = d[0], | |
| e = d[1], | |
| i = d[2], | |
| c = g(this, d).join("_"), | |
| this.attributes = { | |
| languageId: c, | |
| maxLanguageId: d.join("_"), | |
| language: b, | |
| script: e, | |
| territory: i, | |
| region: i, | |
| variant: k | |
| }, | |
| this.locale = k ? [c, k].join("_") : c, | |
| this.supplemental = h(this) | |
| } | |
| , j = function(a, b) { | |
| var c, d = a, e = b.length; | |
| for (c = 0; c < e - 1; c++) | |
| if (d = d[b[c]], | |
| !d) | |
| return; | |
| return d[b[c]] | |
| } | |
| , k = function(a, b) { | |
| var c; | |
| if ("root" !== b) | |
| return (c = j(a._resolved, d(["supplemental/parentLocales/parentLocale", b]))) ? c : (c = b.substr(0, b.lastIndexOf("_")), | |
| c ? c : "root") | |
| } | |
| , l = function(a, b, c) { | |
| var d, e = a, f = b.length; | |
| for (d = 0; d < f - 1; d++) | |
| e[b[d]] || (e[b[d]] = {}), | |
| e = e[b[d]]; | |
| e[b[d]] = c | |
| } | |
| , m = function(a, b) { | |
| var c, d; | |
| if (a.forEach) | |
| return a.forEach(b); | |
| for (c = 0, | |
| d = a.length; c < d; c++) | |
| b(a[c], c, a) | |
| } | |
| , n = function() { | |
| var a = function() { | |
| var b = {} | |
| , d = [].slice.call(arguments, 0); | |
| return m(d, function(d) { | |
| var e; | |
| for (e in d) | |
| e in b && c(b[e]) ? b[e] = b[e].concat(d[e]) : e in b && "object" == typeof b[e] ? b[e] = a(b[e], d[e]) : b[e] = d[e] | |
| }), | |
| b | |
| }; | |
| return a | |
| }() | |
| , o = function() { | |
| var a; | |
| return a = function(b, c, e, f, g) { | |
| var h, i, m; | |
| if ("undefined" != typeof c && c !== g) | |
| return h = d(e, f), | |
| (m = j(b._resolved, h)) ? m : (m = j(b._raw, h), | |
| m || (i = k(b, c), | |
| m = a(b, i, e, n(f, { | |
| languageId: i | |
| }), c)), | |
| l(b._resolved, h, m), | |
| m) | |
| } | |
| }() | |
| , p = function(a, b, c) { | |
| var e = d(b, c); | |
| return j(a._resolved, e) | |
| } | |
| , q = function() { | |
| i.apply(this, arguments) | |
| }; | |
| return q._resolved = {}, | |
| q._raw = {}, | |
| q.load = function(a) { | |
| if ("object" != typeof a) | |
| throw new Error("invalid json"); | |
| q._raw = n(q._raw, a) | |
| } | |
| , | |
| q.prototype.get = function(a) { | |
| var b = this.attributes && this.attributes.languageId || ""; | |
| return p(q, a, this.attributes) || o(q, b, a, this.attributes) | |
| } | |
| , | |
| b(q), | |
| q | |
| }), | |
| function(a, b) { | |
| "function" == typeof define && define.amd ? define(["cldr"], b) : "object" == typeof module && "object" == typeof module.exports ? module.exports = b(require("cldr.js")) : a.Globalize = b(Cldr) | |
| }(this, function(a) { | |
| var b, c = {}; | |
| return c.load = function(b) { | |
| a.load(b) | |
| } | |
| , | |
| c.locale = function(c) { | |
| return arguments.length && (b = new a(c)), | |
| b | |
| } | |
| , | |
| c | |
| }), | |
| function(a, b) { | |
| "function" == typeof define && define.amd ? define(["cldr", "../globalize"], b) : "object" == typeof module && "object" == typeof module.exports ? module.exports = b(require("cldr.js"), require("globalize")) : b(Cldr, Globalize) | |
| }(this, function(a, b) { | |
| var c = function(c) { | |
| return c ? new a(c) : b.locale() | |
| } | |
| , d = Array.isArray || function(a) { | |
| return "[object Array]" === Object.prototype.toString.call(a) | |
| } | |
| , e = function(a) { | |
| return d(a) ? a : [a] | |
| }; | |
| return b.loadTranslations = function(b, c) { | |
| var d = { | |
| "globalize-translation": {} | |
| }; | |
| b = new a(b), | |
| d["globalize-translation"][b.attributes.languageId] = c, | |
| a.load(d) | |
| } | |
| , | |
| b.translate = function(a, b) { | |
| return b = c(b), | |
| a = e(a), | |
| b.get(["globalize-translation/{languageId}"].concat(a)) | |
| } | |
| , | |
| b | |
| }), | |
| function(a) { | |
| "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof exports ? module.exports = a : a(jQuery) | |
| }(function(a) { | |
| function b(b) { | |
| var g = b || window.event | |
| , h = i.call(arguments, 1) | |
| , j = 0 | |
| , l = 0 | |
| , m = 0 | |
| , n = 0 | |
| , o = 0 | |
| , p = 0; | |
| if (b = a.event.fix(g), | |
| b.type = "mousewheel", | |
| "detail"in g && (m = g.detail * -1), | |
| "wheelDelta"in g && (m = g.wheelDelta), | |
| "wheelDeltaY"in g && (m = g.wheelDeltaY), | |
| "wheelDeltaX"in g && (l = g.wheelDeltaX * -1), | |
| "axis"in g && g.axis === g.HORIZONTAL_AXIS && (l = m * -1, | |
| m = 0), | |
| j = 0 === m ? l : m, | |
| "deltaY"in g && (m = g.deltaY * -1, | |
| j = m), | |
| "deltaX"in g && (l = g.deltaX, | |
| 0 === m && (j = l * -1)), | |
| 0 !== m || 0 !== l) { | |
| if (1 === g.deltaMode) { | |
| var q = a.data(this, "mousewheel-line-height"); | |
| j *= q, | |
| m *= q, | |
| l *= q | |
| } else if (2 === g.deltaMode) { | |
| var r = a.data(this, "mousewheel-page-height"); | |
| j *= r, | |
| m *= r, | |
| l *= r | |
| } | |
| if (n = Math.max(Math.abs(m), Math.abs(l)), | |
| (!f || n < f) && (f = n, | |
| d(g, n) && (f /= 40)), | |
| d(g, n) && (j /= 40, | |
| l /= 40, | |
| m /= 40), | |
| j = Math[j >= 1 ? "floor" : "ceil"](j / f), | |
| l = Math[l >= 1 ? "floor" : "ceil"](l / f), | |
| m = Math[m >= 1 ? "floor" : "ceil"](m / f), | |
| k.settings.normalizeOffset && this.getBoundingClientRect) { | |
| var s = this.getBoundingClientRect(); | |
| o = b.clientX - s.left, | |
| p = b.clientY - s.top | |
| } | |
| return b.deltaX = l, | |
| b.deltaY = m, | |
| b.deltaFactor = f, | |
| b.offsetX = o, | |
| b.offsetY = p, | |
| b.deltaMode = 0, | |
| h.unshift(b, j, l, m), | |
| e && clearTimeout(e), | |
| e = setTimeout(c, 200), | |
| (a.event.dispatch || a.event.handle).apply(this, h) | |
| } | |
| } | |
| function c() { | |
| f = null | |
| } | |
| function d(a, b) { | |
| return k.settings.adjustOldDeltas && "mousewheel" === a.type && b % 120 === 0 | |
| } | |
| var e, f, g = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"], h = "onwheel"in document || document.documentMode >= 9 ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"], i = Array.prototype.slice; | |
| if (a.event.fixHooks) | |
| for (var j = g.length; j; ) | |
| a.event.fixHooks[g[--j]] = a.event.mouseHooks; | |
| var k = a.event.special.mousewheel = { | |
| version: "3.1.11", | |
| setup: function() { | |
| if (this.addEventListener) | |
| for (var c = h.length; c; ) | |
| this.addEventListener(h[--c], b, !1); | |
| else | |
| this.onmousewheel = b; | |
| a.data(this, "mousewheel-line-height", k.getLineHeight(this)), | |
| a.data(this, "mousewheel-page-height", k.getPageHeight(this)) | |
| }, | |
| teardown: function() { | |
| if (this.removeEventListener) | |
| for (var c = h.length; c; ) | |
| this.removeEventListener(h[--c], b, !1); | |
| else | |
| this.onmousewheel = null; | |
| a.removeData(this, "mousewheel-line-height"), | |
| a.removeData(this, "mousewheel-page-height") | |
| }, | |
| getLineHeight: function(b) { | |
| var c = a(b)["offsetParent"in a.fn ? "offsetParent" : "parent"](); | |
| return c.length || (c = a("body")), | |
| parseInt(c.css("fontSize"), 10) | |
| }, | |
| getPageHeight: function(b) { | |
| return a(b).height() | |
| }, | |
| settings: { | |
| adjustOldDeltas: !0, | |
| normalizeOffset: !0 | |
| } | |
| }; | |
| a.fn.extend({ | |
| mousewheel: function(a) { | |
| return a ? this.bind("mousewheel", a) : this.trigger("mousewheel") | |
| }, | |
| unmousewheel: function(a) { | |
| return this.unbind("mousewheel", a) | |
| } | |
| }) | |
| }), | |
| function(a) { | |
| function b(a, b) { | |
| return b.autoStop && Math.min(a, b.autoStop) | |
| } | |
| a.jCarouselLite = { | |
| version: "1.8.8", | |
| curr: 0 | |
| }, | |
| a.fn.jCarouselLite = function(c) { | |
| var d = a.extend(!0, {}, a.fn.jCarouselLite.defaults, c) | |
| , e = Math.ceil | |
| , f = Math.abs; | |
| return this.each(function() { | |
| function c() { | |
| return T.slice(V).slice(0, L) | |
| } | |
| function g(b, e) { | |
| if (A) | |
| return !1; | |
| e = e || {}; | |
| var f = V | |
| , g = b > V | |
| , h = e.speed || d.speed; | |
| e.offset || 0; | |
| if (T.css("pointer-events", "none"), | |
| d.beforeStart && d.beforeStart.call(G, c(), g), | |
| T.removeClass(d.activeClass), | |
| b < 0 ? b = 0 : b > U - M && (b = U - M), | |
| V = b, | |
| 0 === V && d.first && d.first.call(this, c(), g), | |
| V === U - M && d.last && d.last.call(this, c(), g), | |
| d.btnPrev && (d.rtl ? d.$btnPrev.toggleClass(d.btnDisabledClass, V === U - M) : d.$btnPrev.toggleClass(d.btnDisabledClass, 0 === V)), | |
| d.btnNext && (d.rtl ? d.$btnNext.toggleClass(d.btnDisabledClass, 0 === V) : d.$btnNext.toggleClass(d.btnDisabledClass, V === U - M)), | |
| S(V, Q), | |
| a.jCarouselLite.curr = V, | |
| f === V && !e.force) | |
| return d.afterEnd && d.afterEnd.call(G, c(), g), | |
| T.css("pointer-events", ""), | |
| V; | |
| A = !0; | |
| var i = -(V * y.liSize); | |
| return i < G.width() - H.outerWidth() && (i = G.width() - H.outerWidth()), | |
| C[B] = i, | |
| H.animate(C, h, d.easing, function() { | |
| d.afterEnd && d.afterEnd.call(G, c(), g), | |
| A = !1 | |
| }), | |
| T.css("pointer-events", ""), | |
| T.eq(Math.floor(V)).addClass(d.activeClass), | |
| V | |
| } | |
| function h() { | |
| i(), | |
| ba = !0, | |
| ca = setTimeout(function() { | |
| ba = !1, | |
| ca = null | |
| }, d.swipeThresholds.time) | |
| } | |
| function i() { | |
| null != ca && clearTimeout(ca), | |
| ca = null | |
| } | |
| function j() { | |
| A || (A = !0, | |
| na.x > 0 && (na.x = 0), | |
| na.x < ma.width() - H.outerWidth() && (na.x = ma.width() - H.outerWidth()), | |
| V = f(na.x) / I.outerWidth(), | |
| H.css(B, String(na.x) + "px"), | |
| d.rtl ? (d.btnPrev && d.$btnPrev.toggleClass(d.btnDisabledClass, na.x === ma.width() - H.outerWidth()), | |
| d.btnNext && d.$btnNext.toggleClass(d.btnDisabledClass, 0 === na.x)) : (d.btnPrev && d.$btnPrev.toggleClass(d.btnDisabledClass, 0 === na.x), | |
| d.btnNext && d.$btnNext.toggleClass(d.btnDisabledClass, na.x === ma.width() - H.outerWidth())), | |
| A = !1) | |
| } | |
| function k(a) { | |
| "auto" === H.css(B) ? na.x = 0 : na.x = parseInt(H.css(B)); | |
| var b = (H.outerWidth() - H.innerWidth()) / 2; | |
| d.rtl ? na.x += b : na.x -= b, | |
| na.prevX = na.x, | |
| oa.x = na.x + a, | |
| na.vx = 0, | |
| na.time = (new Date).getTime(), | |
| na.prevTime = na.time, | |
| pa.x = a | |
| } | |
| function l(a) { | |
| H.width() <= G.width() || (k(a), | |
| qa = !0, | |
| null !== ra ? (p(), | |
| d.beforeStart && d.beforeStart.call(G, c(), O), | |
| T.css("pointer-events", "none")) : (d.afterEnd && d.afterEnd.call(G, c(), O), | |
| T.css("pointer-events", ""))) | |
| } | |
| function m() { | |
| qa ? (d.beforeStart && d.beforeStart.call(G, c(), O), | |
| d.inertia && o()) : (d.afterEnd && d.afterEnd.call(G, c(), O), | |
| T.css("pointer-events", "")), | |
| qa = !1 | |
| } | |
| function n() { | |
| qa = !1, | |
| T.css("pointer-events", "") | |
| } | |
| function o() { | |
| T.css("pointer-events", "none"); | |
| var a = (new Date).getTime(); | |
| ra = setInterval(function() { | |
| var b = (new Date).getTime() | |
| , e = b - a; | |
| a = b, | |
| na.x += na.vx * e; | |
| var f; | |
| f = "auto" === H.css(B) ? 0 : parseInt(H.css(B)), | |
| j(); | |
| var g = 1 - NFBR.a0X.a3y * e / NFBR.a0X.a3Y; | |
| g < 0 && (g = 0), | |
| na.vx *= g; | |
| var h; | |
| h = "auto" === H.css(B) ? 0 : parseInt(H.css(B)), | |
| (Math.abs(na.vx) < NFBR.a0X.a3z || f === h) && (na.vx = 0), | |
| 0 === na.vx && (p(), | |
| d.afterEnd && d.afterEnd.call(G, c(), O), | |
| T.css("pointer-events", "")) | |
| }, NFBR.a0X.a3Y) | |
| } | |
| function p() { | |
| null !== ra && (clearInterval(ra), | |
| ra = null), | |
| na.vx = 0 | |
| } | |
| function q(a) { | |
| var b = na.prevX; | |
| na.prevX = na.x, | |
| d.rtl ? na.x -= a - pa.x : na.x += a - pa.x; | |
| var c = (new Date).getTime() | |
| , e = c - na.prevTime; | |
| e < 1 && (e = 1), | |
| na.vx = (na.x - b) / e, | |
| na.prevTime = na.time, | |
| na.time = c, | |
| j(), | |
| pa.x = a | |
| } | |
| var r, s, t, u, v, w, x = "ontouchend"in document, y = { | |
| div: {}, | |
| ol: {}, | |
| li: {} | |
| }, z = !0, A = !1, B = d.rtl ? "right" : "left", C = {}, D = "width", E = "outerWidth", F = this, G = a(this), H = G.find("ol").eq(0), I = H.children("li"), J = I.length, K = d.visible, L = e(K), M = Math.floor(K), N = Math.min(d.start, J - 1), O = 1, P = 0, Q = {}, R = d.init.call(this, d, I); | |
| if (R !== !1) { | |
| G.data("dirjc", O), | |
| G.data(B + "jc", G.css(B)), | |
| d.btnGo && d.btnGo.length && (w = a(a.isArray(d.btnGo) && "string" == typeof d.btnGo[0] ? d.btnGo.join() : d.btnGo), | |
| w.each(function(b) { | |
| a(this).unbind("click.jc"), | |
| a(this).bind("click.jc", function(a) { | |
| return a.preventDefault(), | |
| g(b) | |
| }) | |
| }), | |
| Q.go = 1); | |
| var S = function(a, b) { | |
| a = e(a); | |
| var c = (a - P) % J | |
| , f = c + M; | |
| return b.go && (w.removeClass(d.activeClass).removeClass(d.visibleClass), | |
| w.eq(c).addClass(d.activeClass), | |
| w.slice(c, c + M).addClass(d.visibleClass), | |
| f > w.length && w.slice(0, f - w.length).addClass(d.visibleClass)), | |
| b.pager && (r.removeClass(d.activeClass), | |
| r.eq(e(c / K)).addClass(d.activeClass)), | |
| c | |
| } | |
| , T = H.children("li") | |
| , U = T.length | |
| , V = N; | |
| a.jCarouselLite.curr = V; | |
| var W = function(a) { | |
| var b, c; | |
| if (a) | |
| return y.div[D] = "", | |
| y.li = { | |
| width: "", | |
| height: "" | |
| }, | |
| y; | |
| b = T.outerWidth(), | |
| c = b * U; | |
| G.width(); | |
| return y.ol[D] = c + "px", | |
| y.ol[B] = -(V * b) + "px", | |
| y.li = { | |
| width: T.width(), | |
| height: T.height() | |
| }, | |
| y.liSize = b, | |
| y | |
| } | |
| , X = function(b) { | |
| var c, e, f = { | |
| div: { | |
| visibility: "visible", | |
| position: "relative", | |
| zIndex: 2 | |
| }, | |
| ol: { | |
| margin: "0", | |
| padding: "0", | |
| position: "relative", | |
| listStyleType: "none", | |
| zIndex: 1, | |
| "float": d.rtl ? "right" : "left" | |
| }, | |
| li: { | |
| overflow: "visible", | |
| "float": d.rtl ? "right" : "left" | |
| } | |
| }; | |
| d.rtl ? f.div.right = "0" : f.div.left = "0", | |
| b && (c = W(!0), | |
| G.css(c.div), | |
| H.css(c.ol), | |
| T.css(c.li)), | |
| c = W(), | |
| d.autoCSS && z && (a.extend(!0, c, f), | |
| z = !1), | |
| d.autoWidth && (e = parseInt(G.css(D), 10), | |
| y.liSize = e / d.visible, | |
| c.li[D] = y.liSize - (T[E](!0) - parseInt(T.css(D), 10)), | |
| c.ol[D] = y.liSize * U + "px", | |
| d.rtl ? c.ol[B] = V * y.liSize + "px" : c.ol[B] = -(V * y.liSize) + "px", | |
| c.div[D] = e), | |
| d.autoCSS && (T.css(c.li), | |
| H.css(c.ol), | |
| G.css(c.div)) | |
| }; | |
| X(); | |
| var Y = 0 | |
| , Z = b(J, d) | |
| , $ = "number" == typeof d.auto ? d.auto : d.scroll | |
| , _ = function() { | |
| F.setAutoAdvance = setTimeout(function() { | |
| (!Z || Z > Y) && (O = G.data("dirjc"), | |
| g(V + O * $, { | |
| auto: !0 | |
| }), | |
| Y++, | |
| _()) | |
| }, d.timeout) | |
| }; | |
| if (a.each(["btnPrev", "btnNext"], function(b, c) { | |
| d[c] && (d["$" + c] = a.isFunction(d[c]) ? d[c].call(G[0]) : a(d[c]), | |
| d["$" + c].unbind("click.jc"), | |
| d["$" + c].bind("click.jc", function(a) { | |
| if (a.preventDefault(), | |
| !d["$" + c].hasClass("disabled")) { | |
| var e; | |
| return e = d.rtl ? 0 === b ? V + d.scroll : V - d.scroll : 0 === b ? V - d.scroll : V + d.scroll, | |
| d.directional && G.data("dirjc", b ? 1 : -1), | |
| g(e) | |
| } | |
| })) | |
| }), | |
| d.btnPrev && (!d.rtl && 0 === N || d.rtl && N + K >= U ? d.$btnPrev.addClass(d.btnDisabledClass) : d.$btnPrev.removeClass(d.btnDisabledClass)), | |
| d.btnNext && (!d.rtl && N + K >= U || d.rtl && 0 === N ? d.$btnNext.addClass(d.btnDisabledClass) : d.$btnNext.removeClass(d.btnDisabledClass)), | |
| d.autoPager) { | |
| s = e(J / K), | |
| r = []; | |
| for (var aa = 0; aa < s; aa++) | |
| r.push('<li><a href="#">' + (aa + 1) + "</a></li>"); | |
| r.length > 1 && (r = a("<ol>" + r.join("") + "</ol>").appendTo(d.autoPager).find("li"), | |
| r.find("a").each(function(b) { | |
| a(this).unbind("click.jc"), | |
| a(this).bind("click.jc", function(a) { | |
| a.preventDefault(); | |
| var c = b * K; | |
| return g(c) | |
| }) | |
| }), | |
| Q.pager = 1) | |
| } | |
| S(N, Q), | |
| d.mouseWheel && G.mousewheel && (G.unbind("mousewheel.jc"), | |
| G.bind("mousewheel.jc", function(a, b, c, e) { | |
| var f, h = Math.abs(c), i = Math.abs(e); | |
| if (h >= i) | |
| f = d.rtl ? c : -1 * c; | |
| else { | |
| if (0 !== c) | |
| return; | |
| f = -1 * e | |
| } | |
| if (0 !== f) | |
| return g(f > 0 ? V - d.scroll : V + d.scroll) | |
| })), | |
| d.pause && d.auto && !x && G.bind("mouseenter.jc", function() { | |
| G.trigger("pauseCarousel.jc") | |
| }).bind("mouseleave.jc", function() { | |
| G.trigger("resumeCarousel.jc") | |
| }), | |
| d.auto && _(), | |
| a.jCarouselLite.vis = c, | |
| G.bind("go.jc", function(a, b, c) { | |
| "undefined" == typeof b && (b = "+=1"); | |
| var d = "string" == typeof b && /(\+=|-=)(\d+)/.exec(b); | |
| d ? b = "-=" === d[1] ? V - 1 * d[2] : V + 1 * d[2] : b += N, | |
| g(b, c) | |
| }).bind("startCarousel.jc", function(a) { | |
| clearTimeout(F.setAutoAdvance), | |
| F.setAutoAdvance = void 0, | |
| G.trigger("go", "+=" + d.scroll), | |
| _(), | |
| G.removeData("pausedjc").removeData("stoppedjc") | |
| }).bind("resumeCarousel.jc", function(a, b) { | |
| if (!F.setAutoAdvance) { | |
| clearTimeout(F.setAutoAdvance), | |
| F.setAutoAdvance = void 0; | |
| var c = G.data("stoppedjc"); | |
| !b && c || (_(), | |
| G.removeData("pausedjc"), | |
| c && G.removeData("stoppedjc")) | |
| } | |
| }).bind("pauseCarousel.jc", function(a) { | |
| clearTimeout(F.setAutoAdvance), | |
| F.setAutoAdvance = void 0, | |
| G.data("pausedjc", !0) | |
| }).bind("stopCarousel.jc", function(a) { | |
| clearTimeout(F.setAutoAdvance), | |
| F.setAutoAdvance = void 0, | |
| G.data("stoppedjc", !0) | |
| }).bind("refreshCarousel.jc", function(a) { | |
| X(d.autoCSS) | |
| }).bind("endCarousel.jc", function() { | |
| F.setAutoAdvance && (clearTimeout(F.setAutoAdvance), | |
| F.setAutoAdvance = void 0), | |
| d.btnPrev && d.$btnPrev.addClass(d.btnDisabledClass).unbind(".jc"), | |
| d.btnNext && d.$btnNext.addClass(d.btnDisabledClass).unbind(".jc"), | |
| d.btnGo && a.each(d.btnGo, function(b, c) { | |
| a(c).unbind(".jc") | |
| }), | |
| a.each([B + "jc", "pausedjc", "stoppedjc", "dirjc"], function(a, b) { | |
| G.removeData(b) | |
| }), | |
| G.unbind(".jc") | |
| }); | |
| var ba = !1 | |
| , ca = null | |
| , da = !1 | |
| , ea = !1 | |
| , fa = { | |
| x: 0, | |
| y: 0 | |
| } | |
| , ga = { | |
| x: 0, | |
| y: 0 | |
| }; | |
| v = { | |
| touchstart: function(a) { | |
| i(), | |
| ba = !1, | |
| da = !0, | |
| ea = !1, | |
| 1 === a.touches.length ? (fa.x = a.touches[0].pageX, | |
| fa.y = a.touches[0].pageY, | |
| l(fa.x)) : n(), | |
| a.preventDefault() | |
| }, | |
| touchmove: function(a) { | |
| da && (1 === a.touches.length ? (ga.x = a.touches[0].pageX, | |
| ga.y = a.touches[0].pageY, | |
| (ba || f(ga.x - fa.x) >= d.swipeThresholds.x || f(ga.y - fa.y) >= d.swipeThresholds.y) && (h(), | |
| ea = !0, | |
| qa && q(a.touches[0].pageX))) : n(), | |
| a.preventDefault()) | |
| }, | |
| touchend: function(a) { | |
| da && (ea ? (i(), | |
| ba = !1, | |
| m()) : n(), | |
| da = !1, | |
| ea = !1, | |
| a.preventDefault()) | |
| }, | |
| handle: function(a) { | |
| a = a.originalEvent, | |
| v[a.type](a) | |
| } | |
| }, | |
| x && d.swipe && (G.unbind("touchstart.jc touchmove.jc touchend.jc"), | |
| G.bind("touchstart.jc touchmove.jc touchend.jc", v.handle)); | |
| var ha = !1 | |
| , ia = !1 | |
| , ja = { | |
| x: 0, | |
| y: 0 | |
| } | |
| , ka = { | |
| x: 0, | |
| y: 0 | |
| } | |
| , la = { | |
| mousedown: function(a) { | |
| i(), | |
| ba = !1, | |
| ha = !0, | |
| ia = !1, | |
| ja.x = a.pageX, | |
| ja.y = a.pageY, | |
| l(a.pageX), | |
| a.preventDefault() | |
| }, | |
| mousemove: function(a) { | |
| ha && (ka.x = a.pageX, | |
| ka.y = a.pageY, | |
| (ba || f(ka.x - ja.x) >= d.swipeThresholds.x || f(ka.y - ja.y) >= d.swipeThresholds.y) && (h(), | |
| ia = !0, | |
| qa && q(a.pageX)), | |
| a.preventDefault()) | |
| }, | |
| mouseup: function(a) { | |
| ha && (ia ? (i(), | |
| ba = !1, | |
| m()) : n(), | |
| ha = !1, | |
| ia = !1, | |
| a.preventDefault()) | |
| }, | |
| mouseout: function(a) { | |
| ha && "img" !== a.relatedTarget.localName && "li" !== a.relatedTarget.localName && (ia ? (i(), | |
| ba = !1, | |
| m()) : n(), | |
| ha = !1, | |
| ia = !1, | |
| a.preventDefault()) | |
| }, | |
| handle: function(a) { | |
| a = a.originalEvent, | |
| la[a.type](a) | |
| } | |
| }; | |
| !d.touchOnly && d.swipe && (G.unbind("mousedown.jc mousemove.jc mouseup.jc mouseout.jc"), | |
| G.bind("mousedown.jc mousemove.jc mouseup.jc mouseout.jc", la.handle)), | |
| d.responsive && (u = d.autoCSS, | |
| a(window).bind("resize", function(a) { | |
| u && (H.width(2 * H.width()), | |
| u = !1), | |
| clearTimeout(t), | |
| t = setTimeout(function() { | |
| G.trigger("refreshCarousel.jc"), | |
| u = d.autoCSS | |
| }, 100) | |
| })); | |
| var ma = H.parent() | |
| , na = { | |
| x: 0, | |
| prevX: 0, | |
| vx: 0, | |
| time: 0, | |
| prevTime: 0 | |
| } | |
| , oa = { | |
| x: 0 | |
| } | |
| , pa = { | |
| x: 0 | |
| } | |
| , qa = !1 | |
| , ra = null | |
| } | |
| }), | |
| this | |
| } | |
| , | |
| a.fn.jCarouselLite.defaults = { | |
| btnPrev: null, | |
| btnNext: null, | |
| btnGo: null, | |
| autoPager: null, | |
| btnDisabledClass: "disabled", | |
| activeClass: "active", | |
| visibleClass: "vis", | |
| mouseWheel: !1, | |
| speed: 200, | |
| easing: null, | |
| timeout: 4e3, | |
| auto: !1, | |
| directional: !1, | |
| autoStop: !1, | |
| pause: !0, | |
| visible: 3, | |
| start: 0, | |
| scroll: 1, | |
| autoCSS: !0, | |
| responsive: !1, | |
| autoWidth: !1, | |
| swipe: !0, | |
| swipeThresholds: { | |
| x: 30, | |
| y: 30, | |
| time: 250 | |
| }, | |
| preventTouchWindowScroll: !0, | |
| init: function() {}, | |
| first: null, | |
| last: null, | |
| beforeStart: null, | |
| afterEnd: null, | |
| touchOnly: !1, | |
| rtl: !1, | |
| inertia: !1 | |
| } | |
| }(jQuery), | |
| function(a, b) { | |
| function c(a, b, c) { | |
| var d = a.children() | |
| , e = !1; | |
| a.empty(); | |
| for (var g = 0, h = d.length; g < h; g++) { | |
| var i = d.eq(g); | |
| if (a.append(i), | |
| c && a.append(c), | |
| f(a, b)) { | |
| i.remove(), | |
| e = !0; | |
| break | |
| } | |
| c && c.detach() | |
| } | |
| return e | |
| } | |
| function d(b, c, g, h, i) { | |
| var j = !1 | |
| , k = "a, table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style" | |
| , l = "script, .dotdotdot-keep"; | |
| return b.contents().detach().each(function() { | |
| var m = this | |
| , n = a(m); | |
| if ("undefined" == typeof m) | |
| return !0; | |
| if (n.is(l)) | |
| b.append(n); | |
| else { | |
| if (j) | |
| return !0; | |
| b.append(n), | |
| !i || n.is(h.after) || n.find(h.after).length || b[b.is(k) ? "after" : "append"](i), | |
| f(g, h) && (j = 3 == m.nodeType ? e(n, c, g, h, i) : d(n, c, g, h, i)), | |
| j || i && i.detach() | |
| } | |
| }), | |
| c.addClass("is-truncated"), | |
| j | |
| } | |
| function e(b, c, d, e, h) { | |
| var k = b[0]; | |
| if (!k) | |
| return !1; | |
| var m = j(k) | |
| , n = m.indexOf(" ") !== -1 ? " " : "\u3000" | |
| , o = "letter" == e.wrap ? "" : n | |
| , p = m.split(o) | |
| , q = -1 | |
| , r = -1 | |
| , s = 0 | |
| , t = p.length - 1; | |
| for (e.fallbackToLetter && 0 == s && 0 == t && (o = "", | |
| p = m.split(o), | |
| t = p.length - 1); s <= t && (0 != s || 0 != t); ) { | |
| var u = Math.floor((s + t) / 2); | |
| if (u == r) | |
| break; | |
| r = u, | |
| i(k, p.slice(0, r + 1).join(o) + e.ellipsis), | |
| d.children().each(function() { | |
| a(this).toggle().toggle() | |
| }), | |
| f(d, e) ? (t = r, | |
| e.fallbackToLetter && 0 == s && 0 == t && (o = "", | |
| p = p[0].split(o), | |
| q = -1, | |
| r = -1, | |
| s = 0, | |
| t = p.length - 1)) : (q = r, | |
| s = r) | |
| } | |
| if (q == -1 || 1 == p.length && 0 == p[0].length) { | |
| var v = b.parent(); | |
| b.detach(); | |
| var w = h && h.closest(v).length ? h.length : 0; | |
| v.contents().length > w ? k = l(v.contents().eq(-1 - w), c) : (k = l(v, c, !0), | |
| w || v.detach()), | |
| k && (m = g(j(k), e), | |
| i(k, m), | |
| w && h && a(k).parent().append(h)) | |
| } else | |
| m = g(p.slice(0, q + 1).join(o), e), | |
| i(k, m); | |
| return !0 | |
| } | |
| function f(a, b) { | |
| return a.innerHeight() > b.maxHeight | |
| } | |
| function g(b, c) { | |
| for (; a.inArray(b.slice(-1), c.lastCharacter.remove) > -1; ) | |
| b = b.slice(0, -1); | |
| return a.inArray(b.slice(-1), c.lastCharacter.noEllipsis) < 0 && (b += c.ellipsis), | |
| b | |
| } | |
| function h(a) { | |
| return { | |
| width: a.innerWidth(), | |
| height: a.innerHeight() | |
| } | |
| } | |
| function i(a, b) { | |
| a.innerText ? a.innerText = b : a.nodeValue ? a.nodeValue = b : a.textContent && (a.textContent = b) | |
| } | |
| function j(a) { | |
| return a.innerText ? a.innerText : a.nodeValue ? a.nodeValue : a.textContent ? a.textContent : "" | |
| } | |
| function k(a) { | |
| do | |
| a = a.previousSibling; | |
| while (a && 1 !== a.nodeType && 3 !== a.nodeType);return a | |
| } | |
| function l(b, c, d) { | |
| var e, f = b && b[0]; | |
| if (f) { | |
| if (!d) { | |
| if (3 === f.nodeType) | |
| return f; | |
| if (a.trim(b.text())) | |
| return l(b.contents().last(), c) | |
| } | |
| for (e = k(f); !e; ) { | |
| if (b = b.parent(), | |
| b.is(c) || !b.length) | |
| return !1; | |
| e = k(b[0]) | |
| } | |
| if (e) | |
| return l(a(e), c) | |
| } | |
| return !1 | |
| } | |
| function m(b, c) { | |
| return !!b && ("string" == typeof b ? (b = a(b, c), | |
| !!b.length && b) : !!b.jquery && b) | |
| } | |
| function n(a) { | |
| for (var b = a.innerHeight(), c = ["paddingTop", "paddingBottom"], d = 0, e = c.length; d < e; d++) { | |
| var f = parseInt(a.css(c[d]), 10); | |
| isNaN(f) && (f = 0), | |
| b -= f | |
| } | |
| return b | |
| } | |
| if (!a.fn.dotdotdot) { | |
| a.fn.dotdotdot = function(b) { | |
| if (0 == this.length) | |
| return a.fn.dotdotdot.debug('No element found for "' + this.selector + '".'), | |
| this; | |
| if (this.length > 1) | |
| return this.each(function() { | |
| a(this).dotdotdot(b) | |
| }); | |
| var e = this | |
| , g = e.contents(); | |
| e.data("dotdotdot") && e.trigger("destroy.dot"), | |
| e.data("dotdotdot-style", e.attr("style") || ""), | |
| e.css("word-wrap", "break-word"), | |
| "nowrap" === e.css("white-space") && e.css("white-space", "normal"), | |
| e.bind_events = function() { | |
| return e.bind("update.dot", function(b, h) { | |
| switch (e.removeClass("is-truncated"), | |
| b.preventDefault(), | |
| b.stopPropagation(), | |
| typeof i.height) { | |
| case "number": | |
| i.maxHeight = i.height; | |
| break; | |
| case "function": | |
| i.maxHeight = i.height.call(e[0]); | |
| break; | |
| default: | |
| i.maxHeight = n(e) | |
| } | |
| i.maxHeight += i.tolerance, | |
| "undefined" != typeof h && (("string" == typeof h || "nodeType"in h && 1 === h.nodeType) && (h = a("<div />").append(h).contents()), | |
| h instanceof a && (g = h)), | |
| p = e.wrapInner('<div class="dotdotdot" />').children(), | |
| p.contents().detach().end().append(g.clone(!0)).find("br").replaceWith(" <br /> ").end().css({ | |
| height: "auto", | |
| width: "auto", | |
| border: "none", | |
| padding: 0, | |
| margin: 0 | |
| }); | |
| var k = !1 | |
| , l = !1; | |
| return j.afterElement && (k = j.afterElement.clone(!0), | |
| k.show(), | |
| j.afterElement.detach()), | |
| f(p, i) && (l = "children" == i.wrap ? c(p, i, k) : d(p, e, p, i, k)), | |
| p.replaceWith(p.contents()), | |
| p = null, | |
| a.isFunction(i.callback) && i.callback.call(e[0], l, g), | |
| j.isTruncated = l, | |
| l | |
| }).bind("isTruncated.dot", function(a, b) { | |
| return a.preventDefault(), | |
| a.stopPropagation(), | |
| "function" == typeof b && b.call(e[0], j.isTruncated), | |
| j.isTruncated | |
| }).bind("originalContent.dot", function(a, b) { | |
| return a.preventDefault(), | |
| a.stopPropagation(), | |
| "function" == typeof b && b.call(e[0], g), | |
| g | |
| }).bind("destroy.dot", function(a) { | |
| a.preventDefault(), | |
| a.stopPropagation(), | |
| e.unwatch().unbind_events().contents().detach().end().append(g).attr("style", e.data("dotdotdot-style") || "").removeClass("is-truncated").data("dotdotdot", !1) | |
| }), | |
| e | |
| } | |
| , | |
| e.unbind_events = function() { | |
| return e.unbind(".dot"), | |
| e | |
| } | |
| , | |
| e.watch = function() { | |
| if (e.unwatch(), | |
| "window" == i.watch) { | |
| var b = a(window) | |
| , c = b.width() | |
| , d = b.height(); | |
| b.bind("resize.dot" + j.dotId, function() { | |
| c == b.width() && d == b.height() && i.windowResizeFix || (c = b.width(), | |
| d = b.height(), | |
| l && clearInterval(l), | |
| l = setTimeout(function() { | |
| e.trigger("update.dot") | |
| }, 100)) | |
| }) | |
| } else | |
| k = h(e), | |
| l = setInterval(function() { | |
| if (e.is(":visible")) { | |
| var a = h(e); | |
| k.width == a.width && k.height == a.height || (e.trigger("update.dot"), | |
| k = a) | |
| } | |
| }, 500); | |
| return e | |
| } | |
| , | |
| e.unwatch = function() { | |
| return a(window).unbind("resize.dot" + j.dotId), | |
| l && clearInterval(l), | |
| e | |
| } | |
| ; | |
| var i = a.extend(!0, {}, a.fn.dotdotdot.defaults, b) | |
| , j = {} | |
| , k = {} | |
| , l = null | |
| , p = null; | |
| return i.lastCharacter.remove instanceof Array || (i.lastCharacter.remove = a.fn.dotdotdot.defaultArrays.lastCharacter.remove), | |
| i.lastCharacter.noEllipsis instanceof Array || (i.lastCharacter.noEllipsis = a.fn.dotdotdot.defaultArrays.lastCharacter.noEllipsis), | |
| j.afterElement = m(i.after, e), | |
| j.isTruncated = !1, | |
| j.dotId = o++, | |
| e.data("dotdotdot", !0).bind_events().trigger("update.dot"), | |
| i.watch && e.watch(), | |
| e | |
| } | |
| , | |
| a.fn.dotdotdot.defaults = { | |
| ellipsis: "... ", | |
| wrap: "word", | |
| fallbackToLetter: !0, | |
| lastCharacter: {}, | |
| tolerance: 0, | |
| callback: null, | |
| after: null, | |
| height: null, | |
| watch: !1, | |
| windowResizeFix: !0 | |
| }, | |
| a.fn.dotdotdot.defaultArrays = { | |
| lastCharacter: { | |
| remove: [" ", "\u3000", ",", ";", ".", "!", "?"], | |
| noEllipsis: [] | |
| } | |
| }, | |
| a.fn.dotdotdot.debug = function(a) {} | |
| ; | |
| var o = 1 | |
| , p = a.fn.html; | |
| a.fn.html = function(c) { | |
| return c != b && !a.isFunction(c) && this.data("dotdotdot") ? this.trigger("update", [c]) : p.apply(this, arguments) | |
| } | |
| ; | |
| var q = a.fn.text; | |
| a.fn.text = function(c) { | |
| return c != b && !a.isFunction(c) && this.data("dotdotdot") ? (c = a("<div />").text(c).html(), | |
| this.trigger("update", [c])) : q.apply(this, arguments) | |
| } | |
| } | |
| }(jQuery), | |
| jQuery(document).ready(function(a) { | |
| a(".dot-ellipsis").each(function() { | |
| var b = a(this).hasClass("dot-resize-update") | |
| , c = a(this).hasClass("dot-timer-update") | |
| , d = 0 | |
| , e = a(this).attr("class").split(/\s+/); | |
| a.each(e, function(a, b) { | |
| var c = b.match(/^dot-height-(\d+)$/); | |
| null !== c && (d = Number(c[1])) | |
| }); | |
| var f = new Object; | |
| c && (f.watch = !0), | |
| b && (f.watch = "window"), | |
| d > 0 && (f.height = d), | |
| a(this).dotdotdot(f) | |
| }) | |
| }), | |
| jQuery(window).load(function() { | |
| jQuery(".dot-ellipsis.dot-load-update").trigger("update.dot") | |
| }), | |
| function(a, b) { | |
| "use strict"; | |
| "object" == typeof module && module.exports ? module.exports = b(require("./punycode"), require("./IPv6"), require("./SecondLevelDomains")) : "function" == typeof define && define.amd ? define(["./punycode", "./IPv6", "./SecondLevelDomains"], b) : a.URI = b(a.punycode, a.IPv6, a.SecondLevelDomains, a) | |
| }(this, function(a, b, c, d) { | |
| "use strict"; | |
| function e(a, b) { | |
| var c = arguments.length >= 1 | |
| , d = arguments.length >= 2; | |
| if (!(this instanceof e)) | |
| return c ? d ? new e(a,b) : new e(a) : new e; | |
| if (void 0 === a) { | |
| if (c) | |
| throw new TypeError("undefined is not a valid argument for URI"); | |
| a = "undefined" != typeof location ? location.href + "" : "" | |
| } | |
| return this.href(a), | |
| void 0 !== b ? this.absoluteTo(b) : this | |
| } | |
| function f(a) { | |
| return a.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1") | |
| } | |
| function g(a) { | |
| return void 0 === a ? "Undefined" : String(Object.prototype.toString.call(a)).slice(8, -1) | |
| } | |
| function h(a) { | |
| return "Array" === g(a) | |
| } | |
| function i(a, b) { | |
| var c, d, e = {}; | |
| if ("RegExp" === g(b)) | |
| e = null; | |
| else if (h(b)) | |
| for (c = 0, | |
| d = b.length; c < d; c++) | |
| e[b[c]] = !0; | |
| else | |
| e[b] = !0; | |
| for (c = 0, | |
| d = a.length; c < d; c++) { | |
| var f = e && void 0 !== e[a[c]] || !e && b.test(a[c]); | |
| f && (a.splice(c, 1), | |
| d--, | |
| c--) | |
| } | |
| return a | |
| } | |
| function j(a, b) { | |
| var c, d; | |
| if (h(b)) { | |
| for (c = 0, | |
| d = b.length; c < d; c++) | |
| if (!j(a, b[c])) | |
| return !1; | |
| return !0 | |
| } | |
| var e = g(b); | |
| for (c = 0, | |
| d = a.length; c < d; c++) | |
| if ("RegExp" === e) { | |
| if ("string" == typeof a[c] && a[c].match(b)) | |
| return !0 | |
| } else if (a[c] === b) | |
| return !0; | |
| return !1 | |
| } | |
| function k(a, b) { | |
| if (!h(a) || !h(b)) | |
| return !1; | |
| if (a.length !== b.length) | |
| return !1; | |
| a.sort(), | |
| b.sort(); | |
| for (var c = 0, d = a.length; c < d; c++) | |
| if (a[c] !== b[c]) | |
| return !1; | |
| return !0 | |
| } | |
| function l(a) { | |
| var b = /^\/+|\/+$/g; | |
| return a.replace(b, "") | |
| } | |
| function m(a) { | |
| return escape(a) | |
| } | |
| function n(a) { | |
| return encodeURIComponent(a).replace(/[!'()*]/g, m).replace(/\*/g, "%2A") | |
| } | |
| function o(a) { | |
| return function(b, c) { | |
| return void 0 === b ? this._parts[a] || "" : (this._parts[a] = b || null, | |
| this.build(!c), | |
| this) | |
| } | |
| } | |
| function p(a, b) { | |
| return function(c, d) { | |
| return void 0 === c ? this._parts[a] || "" : (null !== c && (c += "", | |
| c.charAt(0) === b && (c = c.substring(1))), | |
| this._parts[a] = c, | |
| this.build(!d), | |
| this) | |
| } | |
| } | |
| var q = d && d.URI; | |
| e.version = "1.18.4"; | |
| var r = e.prototype | |
| , s = Object.prototype.hasOwnProperty; | |
| e._parts = function() { | |
| return { | |
| protocol: null, | |
| username: null, | |
| password: null, | |
| hostname: null, | |
| urn: null, | |
| port: null, | |
| path: null, | |
| query: null, | |
| fragment: null, | |
| duplicateQueryParameters: e.duplicateQueryParameters, | |
| escapeQuerySpace: e.escapeQuerySpace | |
| } | |
| } | |
| , | |
| e.duplicateQueryParameters = !1, | |
| e.escapeQuerySpace = !0, | |
| e.protocol_expression = /^[a-z][a-z0-9.+-]*$/i, | |
| e.idn_expression = /[^a-z0-9\.-]/i, | |
| e.punycode_expression = /(xn--)/i, | |
| e.ip4_expression = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/, | |
| e.ip6_expression = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/, | |
| e.find_uri_expression = /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\xab\xbb\u201c\u201d\u2018\u2019]))/gi, | |
| e.findUri = { | |
| start: /\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi, | |
| end: /[\s\r\n]|$/, | |
| trim: /[`!()\[\]{};:'".,<>?\xab\xbb\u201c\u201d\u201e\u2018\u2019]+$/, | |
| parens: /(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g | |
| }, | |
| e.defaultPorts = { | |
| http: "80", | |
| https: "443", | |
| ftp: "21", | |
| gopher: "70", | |
| ws: "80", | |
| wss: "443" | |
| }, | |
| e.invalid_hostname_characters = /[^a-zA-Z0-9\.-]/, | |
| e.domAttributes = { | |
| a: "href", | |
| blockquote: "cite", | |
| link: "href", | |
| base: "href", | |
| script: "src", | |
| form: "action", | |
| img: "src", | |
| area: "href", | |
| iframe: "src", | |
| embed: "src", | |
| source: "src", | |
| track: "src", | |
| input: "src", | |
| audio: "src", | |
| video: "src" | |
| }, | |
| e.getDomAttribute = function(a) { | |
| if (a && a.nodeName) { | |
| var b = a.nodeName.toLowerCase(); | |
| if ("input" !== b || "image" === a.type) | |
| return e.domAttributes[b] | |
| } | |
| } | |
| , | |
| e.encode = n, | |
| e.decode = decodeURIComponent, | |
| e.iso8859 = function() { | |
| e.encode = escape, | |
| e.decode = unescape | |
| } | |
| , | |
| e.unicode = function() { | |
| e.encode = n, | |
| e.decode = decodeURIComponent | |
| } | |
| , | |
| e.characters = { | |
| pathname: { | |
| encode: { | |
| expression: /%(24|26|2B|2C|3B|3D|3A|40)/gi, | |
| map: { | |
| "%24": "$", | |
| "%26": "&", | |
| "%2B": "+", | |
| "%2C": ",", | |
| "%3B": ";", | |
| "%3D": "=", | |
| "%3A": ":", | |
| "%40": "@" | |
| } | |
| }, | |
| decode: { | |
| expression: /[\/\?#]/g, | |
| map: { | |
| "/": "%2F", | |
| "?": "%3F", | |
| "#": "%23" | |
| } | |
| } | |
| }, | |
| reserved: { | |
| encode: { | |
| expression: /%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi, | |
| map: { | |
| "%3A": ":", | |
| "%2F": "/", | |
| "%3F": "?", | |
| "%23": "#", | |
| "%5B": "[", | |
| "%5D": "]", | |
| "%40": "@", | |
| "%21": "!", | |
| "%24": "$", | |
| "%26": "&", | |
| "%27": "'", | |
| "%28": "(", | |
| "%29": ")", | |
| "%2A": "*", | |
| "%2B": "+", | |
| "%2C": ",", | |
| "%3B": ";", | |
| "%3D": "=" | |
| } | |
| } | |
| }, | |
| urnpath: { | |
| encode: { | |
| expression: /%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi, | |
| map: { | |
| "%21": "!", | |
| "%24": "$", | |
| "%27": "'", | |
| "%28": "(", | |
| "%29": ")", | |
| "%2A": "*", | |
| "%2B": "+", | |
| "%2C": ",", | |
| "%3B": ";", | |
| "%3D": "=", | |
| "%40": "@" | |
| } | |
| }, | |
| decode: { | |
| expression: /[\/\?#:]/g, | |
| map: { | |
| "/": "%2F", | |
| "?": "%3F", | |
| "#": "%23", | |
| ":": "%3A" | |
| } | |
| } | |
| } | |
| }, | |
| e.encodeQuery = function(a, b) { | |
| var c = e.encode(a + ""); | |
| return void 0 === b && (b = e.escapeQuerySpace), | |
| b ? c.replace(/%20/g, "+") : c | |
| } | |
| , | |
| e.decodeQuery = function(a, b) { | |
| a += "", | |
| void 0 === b && (b = e.escapeQuerySpace); | |
| try { | |
| return e.decode(b ? a.replace(/\+/g, "%20") : a) | |
| } catch (c) { | |
| return a | |
| } | |
| } | |
| ; | |
| var t, u = { | |
| encode: "encode", | |
| decode: "decode" | |
| }, v = function(a, b) { | |
| return function(c) { | |
| try { | |
| return e[b](c + "").replace(e.characters[a][b].expression, function(c) { | |
| return e.characters[a][b].map[c] | |
| }) | |
| } catch (d) { | |
| return c | |
| } | |
| } | |
| }; | |
| for (t in u) | |
| e[t + "PathSegment"] = v("pathname", u[t]), | |
| e[t + "UrnPathSegment"] = v("urnpath", u[t]); | |
| var w = function(a, b, c) { | |
| return function(d) { | |
| var f; | |
| f = c ? function(a) { | |
| return e[b](e[c](a)) | |
| } | |
| : e[b]; | |
| for (var g = (d + "").split(a), h = 0, i = g.length; h < i; h++) | |
| g[h] = f(g[h]); | |
| return g.join(a) | |
| } | |
| }; | |
| e.decodePath = w("/", "decodePathSegment"), | |
| e.decodeUrnPath = w(":", "decodeUrnPathSegment"), | |
| e.recodePath = w("/", "encodePathSegment", "decode"), | |
| e.recodeUrnPath = w(":", "encodeUrnPathSegment", "decode"), | |
| e.encodeReserved = v("reserved", "encode"), | |
| e.parse = function(a, b) { | |
| var c; | |
| return b || (b = {}), | |
| c = a.indexOf("#"), | |
| c > -1 && (b.fragment = a.substring(c + 1) || null, | |
| a = a.substring(0, c)), | |
| c = a.indexOf("?"), | |
| c > -1 && (b.query = a.substring(c + 1) || null, | |
| a = a.substring(0, c)), | |
| "//" === a.substring(0, 2) ? (b.protocol = null, | |
| a = a.substring(2), | |
| a = e.parseAuthority(a, b)) : (c = a.indexOf(":"), | |
| c > -1 && (b.protocol = a.substring(0, c) || null, | |
| b.protocol && !b.protocol.match(e.protocol_expression) ? b.protocol = void 0 : "//" === a.substring(c + 1, c + 3) ? (a = a.substring(c + 3), | |
| a = e.parseAuthority(a, b)) : (a = a.substring(c + 1), | |
| b.urn = !0))), | |
| b.path = a, | |
| b | |
| } | |
| , | |
| e.parseHost = function(a, b) { | |
| a = a.replace(/\\/g, "/"); | |
| var c, d, e = a.indexOf("/"); | |
| if (e === -1 && (e = a.length), | |
| "[" === a.charAt(0)) | |
| c = a.indexOf("]"), | |
| b.hostname = a.substring(1, c) || null, | |
| b.port = a.substring(c + 2, e) || null, | |
| "/" === b.port && (b.port = null); | |
| else { | |
| var f = a.indexOf(":") | |
| , g = a.indexOf("/") | |
| , h = a.indexOf(":", f + 1); | |
| h !== -1 && (g === -1 || h < g) ? (b.hostname = a.substring(0, e) || null, | |
| b.port = null) : (d = a.substring(0, e).split(":"), | |
| b.hostname = d[0] || null, | |
| b.port = d[1] || null) | |
| } | |
| return b.hostname && "/" !== a.substring(e).charAt(0) && (e++, | |
| a = "/" + a), | |
| a.substring(e) || "/" | |
| } | |
| , | |
| e.parseAuthority = function(a, b) { | |
| return a = e.parseUserinfo(a, b), | |
| e.parseHost(a, b) | |
| } | |
| , | |
| e.parseUserinfo = function(a, b) { | |
| var c, d = a.indexOf("/"), f = a.lastIndexOf("@", d > -1 ? d : a.length - 1); | |
| return f > -1 && (d === -1 || f < d) ? (c = a.substring(0, f).split(":"), | |
| b.username = c[0] ? e.decode(c[0]) : null, | |
| c.shift(), | |
| b.password = c[0] ? e.decode(c.join(":")) : null, | |
| a = a.substring(f + 1)) : (b.username = null, | |
| b.password = null), | |
| a | |
| } | |
| , | |
| e.parseQuery = function(a, b) { | |
| if (!a) | |
| return {}; | |
| if (a = a.replace(/&+/g, "&").replace(/^\?*&*|&+$/g, ""), | |
| !a) | |
| return {}; | |
| for (var c, d, f, g = {}, h = a.split("&"), i = h.length, j = 0; j < i; j++) | |
| c = h[j].split("="), | |
| d = e.decodeQuery(c.shift(), b), | |
| f = c.length ? e.decodeQuery(c.join("="), b) : null, | |
| s.call(g, d) ? ("string" != typeof g[d] && null !== g[d] || (g[d] = [g[d]]), | |
| g[d].push(f)) : g[d] = f; | |
| return g | |
| } | |
| , | |
| e.build = function(a) { | |
| var b = ""; | |
| return a.protocol && (b += a.protocol + ":"), | |
| a.urn || !b && !a.hostname || (b += "//"), | |
| b += e.buildAuthority(a) || "", | |
| "string" == typeof a.path && ("/" !== a.path.charAt(0) && "string" == typeof a.hostname && (b += "/"), | |
| b += a.path), | |
| "string" == typeof a.query && a.query && (b += "?" + a.query), | |
| "string" == typeof a.fragment && a.fragment && (b += "#" + a.fragment), | |
| b | |
| } | |
| , | |
| e.buildHost = function(a) { | |
| var b = ""; | |
| return a.hostname ? (b += e.ip6_expression.test(a.hostname) ? "[" + a.hostname + "]" : a.hostname, | |
| a.port && (b += ":" + a.port), | |
| b) : "" | |
| } | |
| , | |
| e.buildAuthority = function(a) { | |
| return e.buildUserinfo(a) + e.buildHost(a) | |
| } | |
| , | |
| e.buildUserinfo = function(a) { | |
| var b = ""; | |
| return a.username && (b += e.encode(a.username)), | |
| a.password && (b += ":" + e.encode(a.password)), | |
| b && (b += "@"), | |
| b | |
| } | |
| , | |
| e.buildQuery = function(a, b, c) { | |
| var d, f, g, i, j = ""; | |
| for (f in a) | |
| if (s.call(a, f) && f) | |
| if (h(a[f])) | |
| for (d = {}, | |
| g = 0, | |
| i = a[f].length; g < i; g++) | |
| void 0 !== a[f][g] && void 0 === d[a[f][g] + ""] && (j += "&" + e.buildQueryParameter(f, a[f][g], c), | |
| b !== !0 && (d[a[f][g] + ""] = !0)); | |
| else | |
| void 0 !== a[f] && (j += "&" + e.buildQueryParameter(f, a[f], c)); | |
| return j.substring(1) | |
| } | |
| , | |
| e.buildQueryParameter = function(a, b, c) { | |
| return e.encodeQuery(a, c) + (null !== b ? "=" + e.encodeQuery(b, c) : "") | |
| } | |
| , | |
| e.addQuery = function(a, b, c) { | |
| if ("object" == typeof b) | |
| for (var d in b) | |
| s.call(b, d) && e.addQuery(a, d, b[d]); | |
| else { | |
| if ("string" != typeof b) | |
| throw new TypeError("URI.addQuery() accepts an object, string as the name parameter"); | |
| if (void 0 === a[b]) | |
| return void (a[b] = c); | |
| "string" == typeof a[b] && (a[b] = [a[b]]), | |
| h(c) || (c = [c]), | |
| a[b] = (a[b] || []).concat(c) | |
| } | |
| } | |
| , | |
| e.removeQuery = function(a, b, c) { | |
| var d, f, j; | |
| if (h(b)) | |
| for (d = 0, | |
| f = b.length; d < f; d++) | |
| a[b[d]] = void 0; | |
| else if ("RegExp" === g(b)) | |
| for (j in a) | |
| b.test(j) && (a[j] = void 0); | |
| else if ("object" == typeof b) | |
| for (j in b) | |
| s.call(b, j) && e.removeQuery(a, j, b[j]); | |
| else { | |
| if ("string" != typeof b) | |
| throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter"); | |
| void 0 !== c ? "RegExp" === g(c) ? !h(a[b]) && c.test(a[b]) ? a[b] = void 0 : a[b] = i(a[b], c) : a[b] !== String(c) || h(c) && 1 !== c.length ? h(a[b]) && (a[b] = i(a[b], c)) : a[b] = void 0 : a[b] = void 0 | |
| } | |
| } | |
| , | |
| e.hasQuery = function(a, b, c, d) { | |
| switch (g(b)) { | |
| case "String": | |
| break; | |
| case "RegExp": | |
| for (var f in a) | |
| if (s.call(a, f) && b.test(f) && (void 0 === c || e.hasQuery(a, f, c))) | |
| return !0; | |
| return !1; | |
| case "Object": | |
| for (var i in b) | |
| if (s.call(b, i) && !e.hasQuery(a, i, b[i])) | |
| return !1; | |
| return !0; | |
| default: | |
| throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter") | |
| } | |
| switch (g(c)) { | |
| case "Undefined": | |
| return b in a; | |
| case "Boolean": | |
| var l = Boolean(h(a[b]) ? a[b].length : a[b]); | |
| return c === l; | |
| case "Function": | |
| return !!c(a[b], b, a); | |
| case "Array": | |
| if (!h(a[b])) | |
| return !1; | |
| var m = d ? j : k; | |
| return m(a[b], c); | |
| case "RegExp": | |
| return h(a[b]) ? !!d && j(a[b], c) : Boolean(a[b] && a[b].match(c)); | |
| case "Number": | |
| c = String(c); | |
| case "String": | |
| return h(a[b]) ? !!d && j(a[b], c) : a[b] === c; | |
| default: | |
| throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter") | |
| } | |
| } | |
| , | |
| e.joinPaths = function() { | |
| for (var a = [], b = [], c = 0, d = 0; d < arguments.length; d++) { | |
| var f = new e(arguments[d]); | |
| a.push(f); | |
| for (var g = f.segment(), h = 0; h < g.length; h++) | |
| "string" == typeof g[h] && b.push(g[h]), | |
| g[h] && c++ | |
| } | |
| if (!b.length || !c) | |
| return new e(""); | |
| var i = new e("").segment(b); | |
| return "" !== a[0].path() && "/" !== a[0].path().slice(0, 1) || i.path("/" + i.path()), | |
| i.normalize() | |
| } | |
| , | |
| e.commonPath = function(a, b) { | |
| var c, d = Math.min(a.length, b.length); | |
| for (c = 0; c < d; c++) | |
| if (a.charAt(c) !== b.charAt(c)) { | |
| c--; | |
| break | |
| } | |
| return c < 1 ? a.charAt(0) === b.charAt(0) && "/" === a.charAt(0) ? "/" : "" : ("/" === a.charAt(c) && "/" === b.charAt(c) || (c = a.substring(0, c).lastIndexOf("/")), | |
| a.substring(0, c + 1)) | |
| } | |
| , | |
| e.withinString = function(a, b, c) { | |
| c || (c = {}); | |
| var d = c.start || e.findUri.start | |
| , f = c.end || e.findUri.end | |
| , g = c.trim || e.findUri.trim | |
| , h = c.parens || e.findUri.parens | |
| , i = /[a-z0-9-]=["']?$/i; | |
| for (d.lastIndex = 0; ; ) { | |
| var j = d.exec(a); | |
| if (!j) | |
| break; | |
| var k = j.index; | |
| if (c.ignoreHtml) { | |
| var l = a.slice(Math.max(k - 3, 0), k); | |
| if (l && i.test(l)) | |
| continue | |
| } | |
| for (var m = k + a.slice(k).search(f), n = a.slice(k, m), o = -1; ; ) { | |
| var p = h.exec(n); | |
| if (!p) | |
| break; | |
| var q = p.index + p[0].length; | |
| o = Math.max(o, q) | |
| } | |
| if (n = o > -1 ? n.slice(0, o) + n.slice(o + 1).replace(g, "") : n.replace(g, ""), | |
| !c.ignore || !c.ignore.test(n)) { | |
| m = k + n.length; | |
| var r = b(n, k, m, a); | |
| void 0 !== r ? (r = String(r), | |
| a = a.slice(0, k) + r + a.slice(m), | |
| d.lastIndex = k + r.length) : d.lastIndex = m | |
| } | |
| } | |
| return d.lastIndex = 0, | |
| a | |
| } | |
| , | |
| e.ensureValidHostname = function(b) { | |
| if (b.match(e.invalid_hostname_characters)) { | |
| if (!a) | |
| throw new TypeError('Hostname "' + b + '" contains characters other than [A-Z0-9.-] and Punycode.js is not available'); | |
| if (a.toASCII(b).match(e.invalid_hostname_characters)) | |
| throw new TypeError('Hostname "' + b + '" contains characters other than [A-Z0-9.-]') | |
| } | |
| } | |
| , | |
| e.noConflict = function(a) { | |
| if (a) { | |
| var b = { | |
| URI: this.noConflict() | |
| }; | |
| return d.URITemplate && "function" == typeof d.URITemplate.noConflict && (b.URITemplate = d.URITemplate.noConflict()), | |
| d.IPv6 && "function" == typeof d.IPv6.noConflict && (b.IPv6 = d.IPv6.noConflict()), | |
| d.SecondLevelDomains && "function" == typeof d.SecondLevelDomains.noConflict && (b.SecondLevelDomains = d.SecondLevelDomains.noConflict()), | |
| b | |
| } | |
| return d.URI === this && (d.URI = q), | |
| this | |
| } | |
| , | |
| r.build = function(a) { | |
| return a === !0 ? this._deferred_build = !0 : (void 0 === a || this._deferred_build) && (this._string = e.build(this._parts), | |
| this._deferred_build = !1), | |
| this | |
| } | |
| , | |
| r.clone = function() { | |
| return new e(this) | |
| } | |
| , | |
| r.valueOf = r.toString = function() { | |
| return this.build(!1)._string | |
| } | |
| , | |
| r.protocol = o("protocol"), | |
| r.username = o("username"), | |
| r.password = o("password"), | |
| r.hostname = o("hostname"), | |
| r.port = o("port"), | |
| r.query = p("query", "?"), | |
| r.fragment = p("fragment", "#"), | |
| r.search = function(a, b) { | |
| var c = this.query(a, b); | |
| return "string" == typeof c && c.length ? "?" + c : c | |
| } | |
| , | |
| r.hash = function(a, b) { | |
| var c = this.fragment(a, b); | |
| return "string" == typeof c && c.length ? "#" + c : c | |
| } | |
| , | |
| r.pathname = function(a, b) { | |
| if (void 0 === a || a === !0) { | |
| var c = this._parts.path || (this._parts.hostname ? "/" : ""); | |
| return a ? (this._parts.urn ? e.decodeUrnPath : e.decodePath)(c) : c | |
| } | |
| return this._parts.urn ? this._parts.path = a ? e.recodeUrnPath(a) : "" : this._parts.path = a ? e.recodePath(a) : "/", | |
| this.build(!b), | |
| this | |
| } | |
| , | |
| r.path = r.pathname, | |
| r.href = function(a, b) { | |
| var c; | |
| if (void 0 === a) | |
| return this.toString(); | |
| this._string = "", | |
| this._parts = e._parts(); | |
| var d = a instanceof e | |
| , f = "object" == typeof a && (a.hostname || a.path || a.pathname); | |
| if (a.nodeName) { | |
| var g = e.getDomAttribute(a); | |
| a = a[g] || "", | |
| f = !1 | |
| } | |
| if (!d && f && void 0 !== a.pathname && (a = a.toString()), | |
| "string" == typeof a || a instanceof String) | |
| this._parts = e.parse(String(a), this._parts); | |
| else { | |
| if (!d && !f) | |
| throw new TypeError("invalid input"); | |
| var h = d ? a._parts : a; | |
| for (c in h) | |
| s.call(this._parts, c) && (this._parts[c] = h[c]) | |
| } | |
| return this.build(!b), | |
| this | |
| } | |
| , | |
| r.is = function(a) { | |
| var b = !1 | |
| , d = !1 | |
| , f = !1 | |
| , g = !1 | |
| , h = !1 | |
| , i = !1 | |
| , j = !1 | |
| , k = !this._parts.urn; | |
| switch (this._parts.hostname && (k = !1, | |
| d = e.ip4_expression.test(this._parts.hostname), | |
| f = e.ip6_expression.test(this._parts.hostname), | |
| b = d || f, | |
| g = !b, | |
| h = g && c && c.has(this._parts.hostname), | |
| i = g && e.idn_expression.test(this._parts.hostname), | |
| j = g && e.punycode_expression.test(this._parts.hostname)), | |
| a.toLowerCase()) { | |
| case "relative": | |
| return k; | |
| case "absolute": | |
| return !k; | |
| case "domain": | |
| case "name": | |
| return g; | |
| case "sld": | |
| return h; | |
| case "ip": | |
| return b; | |
| case "ip4": | |
| case "ipv4": | |
| case "inet4": | |
| return d; | |
| case "ip6": | |
| case "ipv6": | |
| case "inet6": | |
| return f; | |
| case "idn": | |
| return i; | |
| case "url": | |
| return !this._parts.urn; | |
| case "urn": | |
| return !!this._parts.urn; | |
| case "punycode": | |
| return j | |
| } | |
| return null | |
| } | |
| ; | |
| var x = r.protocol | |
| , y = r.port | |
| , z = r.hostname; | |
| r.protocol = function(a, b) { | |
| if (void 0 !== a && a && (a = a.replace(/:(\/\/)?$/, ""), | |
| !a.match(e.protocol_expression))) | |
| throw new TypeError('Protocol "' + a + "\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]"); | |
| return x.call(this, a, b) | |
| } | |
| , | |
| r.scheme = r.protocol, | |
| r.port = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 !== a && (0 === a && (a = null), | |
| a && (a += "", | |
| ":" === a.charAt(0) && (a = a.substring(1)), | |
| a.match(/[^0-9]/)))) | |
| throw new TypeError('Port "' + a + '" contains characters other than [0-9]'); | |
| return y.call(this, a, b) | |
| } | |
| , | |
| r.hostname = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 !== a) { | |
| var c = {} | |
| , d = e.parseHost(a, c); | |
| if ("/" !== d) | |
| throw new TypeError('Hostname "' + a + '" contains characters other than [A-Z0-9.-]'); | |
| a = c.hostname | |
| } | |
| return z.call(this, a, b) | |
| } | |
| , | |
| r.origin = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 === a) { | |
| var c = this.protocol() | |
| , d = this.authority(); | |
| return d ? (c ? c + "://" : "") + this.authority() : "" | |
| } | |
| var f = e(a); | |
| return this.protocol(f.protocol()).authority(f.authority()).build(!b), | |
| this | |
| } | |
| , | |
| r.host = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 === a) | |
| return this._parts.hostname ? e.buildHost(this._parts) : ""; | |
| var c = e.parseHost(a, this._parts); | |
| if ("/" !== c) | |
| throw new TypeError('Hostname "' + a + '" contains characters other than [A-Z0-9.-]'); | |
| return this.build(!b), | |
| this | |
| } | |
| , | |
| r.authority = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 === a) | |
| return this._parts.hostname ? e.buildAuthority(this._parts) : ""; | |
| var c = e.parseAuthority(a, this._parts); | |
| if ("/" !== c) | |
| throw new TypeError('Hostname "' + a + '" contains characters other than [A-Z0-9.-]'); | |
| return this.build(!b), | |
| this | |
| } | |
| , | |
| r.userinfo = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 === a) { | |
| var c = e.buildUserinfo(this._parts); | |
| return c ? c.substring(0, c.length - 1) : c | |
| } | |
| return "@" !== a[a.length - 1] && (a += "@"), | |
| e.parseUserinfo(a, this._parts), | |
| this.build(!b), | |
| this | |
| } | |
| , | |
| r.resource = function(a, b) { | |
| var c; | |
| return void 0 === a ? this.path() + this.search() + this.hash() : (c = e.parse(a), | |
| this._parts.path = c.path, | |
| this._parts.query = c.query, | |
| this._parts.fragment = c.fragment, | |
| this.build(!b), | |
| this) | |
| } | |
| , | |
| r.subdomain = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 === a) { | |
| if (!this._parts.hostname || this.is("IP")) | |
| return ""; | |
| var c = this._parts.hostname.length - this.domain().length - 1; | |
| return this._parts.hostname.substring(0, c) || "" | |
| } | |
| var d = this._parts.hostname.length - this.domain().length | |
| , g = this._parts.hostname.substring(0, d) | |
| , h = new RegExp("^" + f(g)); | |
| return a && "." !== a.charAt(a.length - 1) && (a += "."), | |
| a && e.ensureValidHostname(a), | |
| this._parts.hostname = this._parts.hostname.replace(h, a), | |
| this.build(!b), | |
| this | |
| } | |
| , | |
| r.domain = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if ("boolean" == typeof a && (b = a, | |
| a = void 0), | |
| void 0 === a) { | |
| if (!this._parts.hostname || this.is("IP")) | |
| return ""; | |
| var c = this._parts.hostname.match(/\./g); | |
| if (c && c.length < 2) | |
| return this._parts.hostname; | |
| var d = this._parts.hostname.length - this.tld(b).length - 1; | |
| return d = this._parts.hostname.lastIndexOf(".", d - 1) + 1, | |
| this._parts.hostname.substring(d) || "" | |
| } | |
| if (!a) | |
| throw new TypeError("cannot set domain empty"); | |
| if (e.ensureValidHostname(a), | |
| !this._parts.hostname || this.is("IP")) | |
| this._parts.hostname = a; | |
| else { | |
| var g = new RegExp(f(this.domain()) + "$"); | |
| this._parts.hostname = this._parts.hostname.replace(g, a) | |
| } | |
| return this.build(!b), | |
| this | |
| } | |
| , | |
| r.tld = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if ("boolean" == typeof a && (b = a, | |
| a = void 0), | |
| void 0 === a) { | |
| if (!this._parts.hostname || this.is("IP")) | |
| return ""; | |
| var d = this._parts.hostname.lastIndexOf(".") | |
| , e = this._parts.hostname.substring(d + 1); | |
| return b !== !0 && c && c.list[e.toLowerCase()] ? c.get(this._parts.hostname) || e : e | |
| } | |
| var g; | |
| if (!a) | |
| throw new TypeError("cannot set TLD empty"); | |
| if (a.match(/[^a-zA-Z0-9-]/)) { | |
| if (!c || !c.is(a)) | |
| throw new TypeError('TLD "' + a + '" contains characters other than [A-Z0-9]'); | |
| g = new RegExp(f(this.tld()) + "$"), | |
| this._parts.hostname = this._parts.hostname.replace(g, a) | |
| } else { | |
| if (!this._parts.hostname || this.is("IP")) | |
| throw new ReferenceError("cannot set TLD on non-domain host"); | |
| g = new RegExp(f(this.tld()) + "$"), | |
| this._parts.hostname = this._parts.hostname.replace(g, a) | |
| } | |
| return this.build(!b), | |
| this | |
| } | |
| , | |
| r.directory = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 === a || a === !0) { | |
| if (!this._parts.path && !this._parts.hostname) | |
| return ""; | |
| if ("/" === this._parts.path) | |
| return "/"; | |
| var c = this._parts.path.length - this.filename().length - 1 | |
| , d = this._parts.path.substring(0, c) || (this._parts.hostname ? "/" : ""); | |
| return a ? e.decodePath(d) : d | |
| } | |
| var g = this._parts.path.length - this.filename().length | |
| , h = this._parts.path.substring(0, g) | |
| , i = new RegExp("^" + f(h)); | |
| return this.is("relative") || (a || (a = "/"), | |
| "/" !== a.charAt(0) && (a = "/" + a)), | |
| a && "/" !== a.charAt(a.length - 1) && (a += "/"), | |
| a = e.recodePath(a), | |
| this._parts.path = this._parts.path.replace(i, a), | |
| this.build(!b), | |
| this | |
| } | |
| , | |
| r.filename = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 === a || a === !0) { | |
| if (!this._parts.path || "/" === this._parts.path) | |
| return ""; | |
| var c = this._parts.path.lastIndexOf("/") | |
| , d = this._parts.path.substring(c + 1); | |
| return a ? e.decodePathSegment(d) : d | |
| } | |
| var g = !1; | |
| "/" === a.charAt(0) && (a = a.substring(1)), | |
| a.match(/\.?\//) && (g = !0); | |
| var h = new RegExp(f(this.filename()) + "$"); | |
| return a = e.recodePath(a), | |
| this._parts.path = this._parts.path.replace(h, a), | |
| g ? this.normalizePath(b) : this.build(!b), | |
| this | |
| } | |
| , | |
| r.suffix = function(a, b) { | |
| if (this._parts.urn) | |
| return void 0 === a ? "" : this; | |
| if (void 0 === a || a === !0) { | |
| if (!this._parts.path || "/" === this._parts.path) | |
| return ""; | |
| var c, d, g = this.filename(), h = g.lastIndexOf("."); | |
| return h === -1 ? "" : (c = g.substring(h + 1), | |
| d = /^[a-z0-9%]+$/i.test(c) ? c : "", | |
| a ? e.decodePathSegment(d) : d) | |
| } | |
| "." === a.charAt(0) && (a = a.substring(1)); | |
| var i, j = this.suffix(); | |
| if (j) | |
| i = a ? new RegExp(f(j) + "$") : new RegExp(f("." + j) + "$"); | |
| else { | |
| if (!a) | |
| return this; | |
| this._parts.path += "." + e.recodePath(a) | |
| } | |
| return i && (a = e.recodePath(a), | |
| this._parts.path = this._parts.path.replace(i, a)), | |
| this.build(!b), | |
| this | |
| } | |
| , | |
| r.segment = function(a, b, c) { | |
| var d = this._parts.urn ? ":" : "/" | |
| , e = this.path() | |
| , f = "/" === e.substring(0, 1) | |
| , g = e.split(d); | |
| if (void 0 !== a && "number" != typeof a && (c = b, | |
| b = a, | |
| a = void 0), | |
| void 0 !== a && "number" != typeof a) | |
| throw new Error('Bad segment "' + a + '", must be 0-based integer'); | |
| if (f && g.shift(), | |
| a < 0 && (a = Math.max(g.length + a, 0)), | |
| void 0 === b) | |
| return void 0 === a ? g : g[a]; | |
| if (null === a || void 0 === g[a]) | |
| if (h(b)) { | |
| g = []; | |
| for (var i = 0, j = b.length; i < j; i++) | |
| (b[i].length || g.length && g[g.length - 1].length) && (g.length && !g[g.length - 1].length && g.pop(), | |
| g.push(l(b[i]))) | |
| } else | |
| (b || "string" == typeof b) && (b = l(b), | |
| "" === g[g.length - 1] ? g[g.length - 1] = b : g.push(b)); | |
| else | |
| b ? g[a] = l(b) : g.splice(a, 1); | |
| return f && g.unshift(""), | |
| this.path(g.join(d), c) | |
| } | |
| , | |
| r.segmentCoded = function(a, b, c) { | |
| var d, f, g; | |
| if ("number" != typeof a && (c = b, | |
| b = a, | |
| a = void 0), | |
| void 0 === b) { | |
| if (d = this.segment(a, b, c), | |
| h(d)) | |
| for (f = 0, | |
| g = d.length; f < g; f++) | |
| d[f] = e.decode(d[f]); | |
| else | |
| d = void 0 !== d ? e.decode(d) : void 0; | |
| return d | |
| } | |
| if (h(b)) | |
| for (f = 0, | |
| g = b.length; f < g; f++) | |
| b[f] = e.encode(b[f]); | |
| else | |
| b = "string" == typeof b || b instanceof String ? e.encode(b) : b; | |
| return this.segment(a, b, c) | |
| } | |
| ; | |
| var A = r.query; | |
| return r.query = function(a, b) { | |
| if (a === !0) | |
| return e.parseQuery(this._parts.query, this._parts.escapeQuerySpace); | |
| if ("function" == typeof a) { | |
| var c = e.parseQuery(this._parts.query, this._parts.escapeQuerySpace) | |
| , d = a.call(this, c); | |
| return this._parts.query = e.buildQuery(d || c, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace), | |
| this.build(!b), | |
| this | |
| } | |
| return void 0 !== a && "string" != typeof a ? (this._parts.query = e.buildQuery(a, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace), | |
| this.build(!b), | |
| this) : A.call(this, a, b) | |
| } | |
| , | |
| r.setQuery = function(a, b, c) { | |
| var d = e.parseQuery(this._parts.query, this._parts.escapeQuerySpace); | |
| if ("string" == typeof a || a instanceof String) | |
| d[a] = void 0 !== b ? b : null; | |
| else { | |
| if ("object" != typeof a) | |
| throw new TypeError("URI.addQuery() accepts an object, string as the name parameter"); | |
| for (var f in a) | |
| s.call(a, f) && (d[f] = a[f]) | |
| } | |
| return this._parts.query = e.buildQuery(d, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace), | |
| "string" != typeof a && (c = b), | |
| this.build(!c), | |
| this | |
| } | |
| , | |
| r.addQuery = function(a, b, c) { | |
| var d = e.parseQuery(this._parts.query, this._parts.escapeQuerySpace); | |
| return e.addQuery(d, a, void 0 === b ? null : b), | |
| this._parts.query = e.buildQuery(d, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace), | |
| "string" != typeof a && (c = b), | |
| this.build(!c), | |
| this | |
| } | |
| , | |
| r.removeQuery = function(a, b, c) { | |
| var d = e.parseQuery(this._parts.query, this._parts.escapeQuerySpace); | |
| return e.removeQuery(d, a, b), | |
| this._parts.query = e.buildQuery(d, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace), | |
| "string" != typeof a && (c = b), | |
| this.build(!c), | |
| this | |
| } | |
| , | |
| r.hasQuery = function(a, b, c) { | |
| var d = e.parseQuery(this._parts.query, this._parts.escapeQuerySpace); | |
| return e.hasQuery(d, a, b, c) | |
| } | |
| , | |
| r.setSearch = r.setQuery, | |
| r.addSearch = r.addQuery, | |
| r.removeSearch = r.removeQuery, | |
| r.hasSearch = r.hasQuery, | |
| r.normalize = function() { | |
| return this._parts.urn ? this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build() : this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build() | |
| } | |
| , | |
| r.normalizeProtocol = function(a) { | |
| return "string" == typeof this._parts.protocol && (this._parts.protocol = this._parts.protocol.toLowerCase(), | |
| this.build(!a)), | |
| this | |
| } | |
| , | |
| r.normalizeHostname = function(c) { | |
| return this._parts.hostname && (this.is("IDN") && a ? this._parts.hostname = a.toASCII(this._parts.hostname) : this.is("IPv6") && b && (this._parts.hostname = b.best(this._parts.hostname)), | |
| this._parts.hostname = this._parts.hostname.toLowerCase(), | |
| this.build(!c)), | |
| this | |
| } | |
| , | |
| r.normalizePort = function(a) { | |
| return "string" == typeof this._parts.protocol && this._parts.port === e.defaultPorts[this._parts.protocol] && (this._parts.port = null, | |
| this.build(!a)), | |
| this | |
| } | |
| , | |
| r.normalizePath = function(a) { | |
| var b = this._parts.path; | |
| if (!b) | |
| return this; | |
| if (this._parts.urn) | |
| return this._parts.path = e.recodeUrnPath(this._parts.path), | |
| this.build(!a), | |
| this; | |
| if ("/" === this._parts.path) | |
| return this; | |
| b = e.recodePath(b); | |
| var c, d, f, g = ""; | |
| for ("/" !== b.charAt(0) && (c = !0, | |
| b = "/" + b), | |
| "/.." !== b.slice(-3) && "/." !== b.slice(-2) || (b += "/"), | |
| b = b.replace(/(\/(\.\/)+)|(\/\.$)/g, "/").replace(/\/{2,}/g, "/"), | |
| c && (g = b.substring(1).match(/^(\.\.\/)+/) || "", | |
| g && (g = g[0])); ; ) { | |
| if (d = b.search(/\/\.\.(\/|$)/), | |
| d === -1) | |
| break; | |
| 0 !== d ? (f = b.substring(0, d).lastIndexOf("/"), | |
| f === -1 && (f = d), | |
| b = b.substring(0, f) + b.substring(d + 3)) : b = b.substring(3) | |
| } | |
| return c && this.is("relative") && (b = g + b.substring(1)), | |
| this._parts.path = b, | |
| this.build(!a), | |
| this | |
| } | |
| , | |
| r.normalizePathname = r.normalizePath, | |
| r.normalizeQuery = function(a) { | |
| return "string" == typeof this._parts.query && (this._parts.query.length ? this.query(e.parseQuery(this._parts.query, this._parts.escapeQuerySpace)) : this._parts.query = null, | |
| this.build(!a)), | |
| this | |
| } | |
| , | |
| r.normalizeFragment = function(a) { | |
| return this._parts.fragment || (this._parts.fragment = null, | |
| this.build(!a)), | |
| this | |
| } | |
| , | |
| r.normalizeSearch = r.normalizeQuery, | |
| r.normalizeHash = r.normalizeFragment, | |
| r.iso8859 = function() { | |
| var a = e.encode | |
| , b = e.decode; | |
| e.encode = escape, | |
| e.decode = decodeURIComponent; | |
| try { | |
| this.normalize() | |
| } finally { | |
| e.encode = a, | |
| e.decode = b | |
| } | |
| return this | |
| } | |
| , | |
| r.unicode = function() { | |
| var a = e.encode | |
| , b = e.decode; | |
| e.encode = n, | |
| e.decode = unescape; | |
| try { | |
| this.normalize() | |
| } finally { | |
| e.encode = a, | |
| e.decode = b | |
| } | |
| return this | |
| } | |
| , | |
| r.readable = function() { | |
| var b = this.clone(); | |
| b.username("").password("").normalize(); | |
| var c = ""; | |
| if (b._parts.protocol && (c += b._parts.protocol + "://"), | |
| b._parts.hostname && (b.is("punycode") && a ? (c += a.toUnicode(b._parts.hostname), | |
| b._parts.port && (c += ":" + b._parts.port)) : c += b.host()), | |
| b._parts.hostname && b._parts.path && "/" !== b._parts.path.charAt(0) && (c += "/"), | |
| c += b.path(!0), | |
| b._parts.query) { | |
| for (var d = "", f = 0, g = b._parts.query.split("&"), h = g.length; f < h; f++) { | |
| var i = (g[f] || "").split("="); | |
| d += "&" + e.decodeQuery(i[0], this._parts.escapeQuerySpace).replace(/&/g, "%26"), | |
| void 0 !== i[1] && (d += "=" + e.decodeQuery(i[1], this._parts.escapeQuerySpace).replace(/&/g, "%26")) | |
| } | |
| c += "?" + d.substring(1) | |
| } | |
| return c += e.decodeQuery(b.hash(), !0) | |
| } | |
| , | |
| r.absoluteTo = function(a) { | |
| var b, c, d, f = this.clone(), g = ["protocol", "username", "password", "hostname", "port"]; | |
| if (this._parts.urn) | |
| throw new Error("URNs do not have any generally defined hierarchical components"); | |
| if (a instanceof e || (a = new e(a)), | |
| f._parts.protocol || (f._parts.protocol = a._parts.protocol), | |
| this._parts.hostname) | |
| return f; | |
| for (c = 0; d = g[c]; c++) | |
| f._parts[d] = a._parts[d]; | |
| return f._parts.path ? (".." === f._parts.path.substring(-2) && (f._parts.path += "/"), | |
| "/" !== f.path().charAt(0) && (b = a.directory(), | |
| b = b ? b : 0 === a.path().indexOf("/") ? "/" : "", | |
| f._parts.path = (b ? b + "/" : "") + f._parts.path, | |
| f.normalizePath())) : (f._parts.path = a._parts.path, | |
| f._parts.query || (f._parts.query = a._parts.query)), | |
| f.build(), | |
| f | |
| } | |
| , | |
| r.relativeTo = function(a) { | |
| var b, c, d, f, g, h = this.clone().normalize(); | |
| if (h._parts.urn) | |
| throw new Error("URNs do not have any generally defined hierarchical components"); | |
| if (a = new e(a).normalize(), | |
| b = h._parts, | |
| c = a._parts, | |
| f = h.path(), | |
| g = a.path(), | |
| "/" !== f.charAt(0)) | |
| throw new Error("URI is already relative"); | |
| if ("/" !== g.charAt(0)) | |
| throw new Error("Cannot calculate a URI relative to another relative URI"); | |
| if (b.protocol === c.protocol && (b.protocol = null), | |
| b.username !== c.username || b.password !== c.password) | |
| return h.build(); | |
| if (null !== b.protocol || null !== b.username || null !== b.password) | |
| return h.build(); | |
| if (b.hostname !== c.hostname || b.port !== c.port) | |
| return h.build(); | |
| if (b.hostname = null, | |
| b.port = null, | |
| f === g) | |
| return b.path = "", | |
| h.build(); | |
| if (d = e.commonPath(f, g), | |
| !d) | |
| return h.build(); | |
| var i = c.path.substring(d.length).replace(/[^\/]*$/, "").replace(/.*?\//g, "../"); | |
| return b.path = i + b.path.substring(d.length) || "./", | |
| h.build() | |
| } | |
| , | |
| r.equals = function(a) { | |
| var b, c, d, f = this.clone(), g = new e(a), i = {}, j = {}, l = {}; | |
| if (f.normalize(), | |
| g.normalize(), | |
| f.toString() === g.toString()) | |
| return !0; | |
| if (b = f.query(), | |
| c = g.query(), | |
| f.query(""), | |
| g.query(""), | |
| f.toString() !== g.toString()) | |
| return !1; | |
| if (b.length !== c.length) | |
| return !1; | |
| i = e.parseQuery(b, this._parts.escapeQuerySpace), | |
| j = e.parseQuery(c, this._parts.escapeQuerySpace); | |
| for (d in i) | |
| if (s.call(i, d)) { | |
| if (h(i[d])) { | |
| if (!k(i[d], j[d])) | |
| return !1 | |
| } else if (i[d] !== j[d]) | |
| return !1; | |
| l[d] = !0 | |
| } | |
| for (d in j) | |
| if (s.call(j, d) && !l[d]) | |
| return !1; | |
| return !0 | |
| } | |
| , | |
| r.duplicateQueryParameters = function(a) { | |
| return this._parts.duplicateQueryParameters = !!a, | |
| this | |
| } | |
| , | |
| r.escapeQuerySpace = function(a) { | |
| return this._parts.escapeQuerySpace = !!a, | |
| this | |
| } | |
| , | |
| e | |
| }), | |
| function(a, b, c) { | |
| var d = function() { | |
| for (var a = new RegExp("audio.custom(.min)?.js.*"), b = document.getElementsByTagName("script"), c = 0, d = b.length; c < d; c++) { | |
| var e = b[c].getAttribute("src"); | |
| if (a.test(e)) { | |
| var f = e.split("/"); | |
| return f.pop(), | |
| f.join("/") + "/" | |
| } | |
| } | |
| return "" | |
| }(); | |
| c[a] = { | |
| instanceCount: 0, | |
| instances: {}, | |
| flashSource: ' <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="$1" width="1" height="1" name="$1" style="position: absolute; left: -1px;"> <param name="movie" value="$2?playerInstance=' + a + '.instances[\'$1\']&datetime=$3"> <param name="allowscriptaccess" value="always"> <embed name="$1" src="$2?playerInstance=' + a + '.instances[\'$1\']&datetime=$3" width="1" height="1" allowscriptaccess="always"> </object>', | |
| settings: { | |
| autoplay: !1, | |
| loop: !1, | |
| preload: !0, | |
| imageLocation: d + "player-graphics.gif", | |
| retinaImageLocation: d + "[email protected]", | |
| swfLocation: d + "audiojs.swf", | |
| useFlash: function() { | |
| var a = document.createElement("audio"); | |
| return !(a.canPlayType && a.canPlayType("audio/mpeg;").replace(/no/, "")) | |
| }(), | |
| hasFlash: function() { | |
| if (navigator.plugins && navigator.plugins.length && navigator.plugins["Shockwave Flash"]) | |
| return !0; | |
| if (navigator.mimeTypes && navigator.mimeTypes.length) { | |
| var a = navigator.mimeTypes["application/x-shockwave-flash"]; | |
| return a && a.enabledPlugin | |
| } | |
| try { | |
| new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); | |
| return !0 | |
| } catch (b) {} | |
| return !1 | |
| }(), | |
| createPlayer: { | |
| markup: ' <div class="play-pause"> <p class="play"></p> <p class="pause"></p> <p class="loading"></p> <p class="error"></p> </div> <div class="scrubber"> <div class="progress"></div> <div class="loaded"></div> </div> <div class="time"> <em class="played">00:00</em>/<strong class="duration">00:00</strong> </div> <div class="error-message"></div>', | |
| playPauseClass: "play-pause", | |
| scrubberClass: "scrubber", | |
| progressClass: "progress", | |
| loaderClass: "loaded", | |
| timeClass: "time", | |
| durationClass: "duration", | |
| playedClass: "played", | |
| errorMessageClass: "error-message", | |
| playingClass: "playing", | |
| loadingClass: "loading", | |
| errorClass: "error", | |
| isTouchEventOnly: !1 | |
| }, | |
| css: ' .audiojs audio { position: absolute; left: -1px; } .audiojs { width: 460px; height: 36px; background: #404040; overflow: hidden; font-family: monospace; font-size: 12px; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #444), color-stop(0.5, #555), color-stop(0.51, #444), color-stop(1, #444)); background-image: -moz-linear-gradient(center top, #444 0%, #555 50%, #444 51%, #444 100%); -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3); -moz-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3); -o-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3); box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3); } .audiojs .play-pause { width: 25px; height: 40px; padding: 4px 6px; margin: 0px; float: left; overflow: hidden; border-right: 1px solid #000; } .audiojs p { display: none; width: 25px; height: 40px; margin: 0px; cursor: pointer; } .audiojs .play { display: block; } .audiojs .scrubber { position: relative; float: left; width: 280px; background: #5a5a5a; height: 14px; margin: 10px; border-top: 1px solid #3f3f3f; border-left: 0px; border-bottom: 0px; overflow: hidden; } .audiojs .progress { position: absolute; top: 0px; left: 0px; height: 14px; width: 0px; background: #ccc; z-index: 1; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ccc), color-stop(0.5, #ddd), color-stop(0.51, #ccc), color-stop(1, #ccc)); background-image: -moz-linear-gradient(center top, #ccc 0%, #ddd 50%, #ccc 51%, #ccc 100%); } .audiojs .loaded { position: absolute; top: 0px; left: 0px; height: 14px; width: 0px; background: #000; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #222), color-stop(0.5, #333), color-stop(0.51, #222), color-stop(1, #222)); background-image: -moz-linear-gradient(center top, #222 0%, #333 50%, #222 51%, #222 100%); } .audiojs .time { float: left; height: 36px; line-height: 36px; margin: 0px 0px 0px 6px; padding: 0px 6px 0px 12px; border-left: 1px solid #000; color: #ddd; text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5); } .audiojs .time em { padding: 0px 2px 0px 0px; color: #f9f9f9; font-style: normal; } .audiojs .time strong { padding: 0px 0px 0px 2px; font-weight: normal; } .audiojs .error-message { float: left; display: none; margin: 0px 10px; height: 36px; width: 400px; overflow: hidden; line-height: 36px; white-space: nowrap; color: #fff; text-overflow: ellipsis; -o-text-overflow: ellipsis; -icab-text-overflow: ellipsis; -khtml-text-overflow: ellipsis; -moz-text-overflow: ellipsis; -webkit-text-overflow: ellipsis; } .audiojs .error-message a { color: #eee; text-decoration: none; padding-bottom: 1px; border-bottom: 1px solid #999; white-space: wrap; } .audiojs .play { background: url("$1") -2px -1px no-repeat; } .audiojs .loading { background: url("$1") -2px -31px no-repeat; } .audiojs .error { background: url("$1") -2px -61px no-repeat; } .audiojs .pause { background: url("$1") -2px -91px no-repeat; } @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2) { .audiojs .play, .audiojs .loading, .audiojs .error, .audiojs .pause { background-image: url("$2"); -webkit-background-size: 30px 120px; -moz-background-size: 30px 120px; -o-background-size: 30px 120px; background-size: 30px 120px; } } .playing .play, .playing .loading, .playing .error { display: none; } .playing .pause { display: block; } .loading .play, .loading .pause, .loading .error { display: none; } .loading .loading { display: block; } .error .time, .error .play, .error .pause, .error .scrubber, .error .loading { display: none; } .error .error { display: block; } .error .play-pause p { cursor: auto; } .error .error-message { display: block; }', | |
| trackEnded: function(a) {}, | |
| flashError: function() { | |
| var b = this.settings.createPlayer | |
| , d = e(b.errorMessageClass, this.wrapper) | |
| , f = 'Missing <a href="http://get.adobe.com/flashplayer/">flash player</a> plugin.'; | |
| this.mp3 && (f += ' <a href="' + this.mp3 + '">Download audio file</a>.'), | |
| c[a].helpers.removeClass(this.wrapper, b.loadingClass), | |
| c[a].helpers.addClass(this.wrapper, b.errorClass), | |
| d.innerHTML = f | |
| }, | |
| loadError: function(b) { | |
| var d = this.settings.createPlayer | |
| , f = e(d.errorMessageClass, this.wrapper); | |
| c[a].helpers.removeClass(this.wrapper, d.loadingClass), | |
| c[a].helpers.addClass(this.wrapper, d.errorClass), | |
| f.innerHTML = 'Error loading: "' + this.mp3 + '"' | |
| }, | |
| init: function() { | |
| var b = this.settings.createPlayer; | |
| c[a].helpers.addClass(this.wrapper, b.loadingClass) | |
| }, | |
| loadStarted: function() { | |
| var b = this.settings.createPlayer | |
| , d = e(b.durationClass, this.wrapper) | |
| , f = Math.floor(this.duration / 60) | |
| , g = Math.floor(this.duration % 60); | |
| c[a].helpers.removeClass(this.wrapper, b.loadingClass), | |
| d.innerHTML = (f < 10 ? "0" : "") + f + ":" + (g < 10 ? "0" : "") + g | |
| }, | |
| loadProgress: function(a) { | |
| var b = this.settings.createPlayer | |
| , c = e(b.loaderClass, this.wrapper); | |
| c.style.width = Math.round(100 * a) + "%" | |
| }, | |
| playPause: function() { | |
| this.playing ? this.settings.play() : this.settings.pause() | |
| }, | |
| play: function() { | |
| var b = this.settings.createPlayer; | |
| c[a].helpers.removeClass(this.wrapper, b.errorClass), | |
| c[a].helpers.addClass(this.wrapper, b.playingClass) | |
| }, | |
| pause: function() { | |
| var b = this.settings.createPlayer; | |
| c[a].helpers.removeClass(this.wrapper, b.playingClass) | |
| }, | |
| updatePlayhead: function(a) { | |
| var b = this.settings.createPlayer | |
| , c = e(b.progressClass, this.wrapper); | |
| c.style.width = Math.round(100 * a) + "%"; | |
| var d = e(b.playedClass, this.wrapper) | |
| , f = this.duration * a | |
| , g = Math.floor(f / 60) | |
| , h = Math.floor(f % 60); | |
| d.innerHTML = (g < 10 ? "0" : "") + g + ":" + (h < 10 ? "0" : "") + h | |
| } | |
| }, | |
| create: function(a, b) { | |
| var b = b || {}; | |
| return a.length ? this.createAll(b, a) : this.newInstance(a, b) | |
| }, | |
| createAll: function(a, b) { | |
| var c = b || document.getElementsByTagName("audio") | |
| , d = []; | |
| a = a || {}; | |
| for (var e = 0, f = c.length; e < f; e++) | |
| (" " + c[e].parentNode.className + " ").replace(/[\n\t]/g, " ").indexOf(" audiojs ") > -1 || d.push(this.newInstance(c[e], a)); | |
| return d | |
| }, | |
| newInstance: function(a, d) { | |
| var a = a | |
| , e = this.helpers.clone(this.settings) | |
| , f = "audiojs" + this.instanceCount | |
| , g = "audiojs_wrapper" + this.instanceCount; | |
| this.instanceCount++; | |
| null != a.getAttribute("autoplay") && (e.autoplay = !0), | |
| null != a.getAttribute("loop") && (e.loop = !0), | |
| "none" == a.getAttribute("preload") && (e.preload = !1), | |
| d && this.helpers.merge(e, d), | |
| e.createPlayer.markup ? a = this.createPlayer(a, e.createPlayer, g) : a.parentNode.setAttribute("id", g); | |
| var h = new c[b](a,e); | |
| return e.css && this.helpers.injectCss(h, e.css), | |
| e.useFlash && e.hasFlash ? (this.injectFlash(h, f), | |
| this.attachFlashEvents(h.wrapper, h)) : e.useFlash && !e.hasFlash && e.flashError.apply(h), | |
| (!e.useFlash || e.useFlash && e.hasFlash) && this.attachEvents(h.wrapper, h, e.isTouchEventOnly), | |
| this.instances[f] = h, | |
| h | |
| }, | |
| createPlayer: function(a, b, c) { | |
| var d = document.createElement("div") | |
| , e = a.cloneNode(!0); | |
| return d.setAttribute("class", "audiojs"), | |
| d.setAttribute("className", "audiojs"), | |
| d.setAttribute("id", c), | |
| e.outerHTML && !document.createElement("audio").canPlayType ? (e = this.helpers.cloneHtml5Node(a), | |
| d.innerHTML = b.markup, | |
| d.appendChild(e), | |
| a.outerHTML = d.outerHTML, | |
| d = document.getElementById(c)) : (d.appendChild(e), | |
| d.innerHTML = d.innerHTML + b.markup, | |
| a.parentNode.replaceChild(d, a), | |
| d.getElementsByTagName("audio")[0].setAttribute("preload", "auto")), | |
| d.getElementsByTagName("audio")[0] | |
| }, | |
| attachEvents: function(b, d, f) { | |
| if (d.settings.createPlayer) { | |
| var g = d.settings.createPlayer | |
| , h = e(g.playPauseClass, b) | |
| , i = e(g.scrubberClass, b) | |
| , j = function(a) { | |
| var b = 0; | |
| if (a.offsetParent) | |
| do | |
| b += a.offsetLeft; | |
| while (a = a.offsetParent);return b | |
| }; | |
| f || (c[a].events.addListener(h, "click", function(a) { | |
| d.playPause.apply(d) | |
| }), | |
| c[a].events.addListener(i, "click", function(a) { | |
| var b = a.clientX - j(this); | |
| d.skipTo(b / i.offsetWidth) | |
| })), | |
| c[a].events.addListener(h, "touchstart", function(a) { | |
| d.playPause.apply(d) | |
| }), | |
| c[a].events.addListener(i, "touchstart", function(a) { | |
| var b = a.touches[0].clientX - j(this); | |
| d.skipTo(b / i.offsetWidth) | |
| }), | |
| d.settings.useFlash || (c[a].events.trackLoadProgress(d), | |
| c[a].events.addListener(d.element, "timeupdate", function(a) { | |
| d.updatePlayhead.apply(d) | |
| }), | |
| c[a].events.addListener(d.element, "ended", function(a) { | |
| d.trackEnded.apply(d) | |
| }), | |
| c[a].events.addListener(d.source, "error", function(a) { | |
| clearInterval(d.readya6K), | |
| clearInterval(d.loada6K), | |
| d.settings.loadError.apply(d) | |
| })) | |
| } | |
| }, | |
| attachFlashEvents: function(a, b) { | |
| b.swfReady = !1, | |
| b.load = function(a) { | |
| b.mp3 = a, | |
| b.swfReady && b.element.load(a) | |
| } | |
| , | |
| b.loadProgress = function(a, c) { | |
| b.loadedPercent = a, | |
| b.duration = c, | |
| b.settings.loadStarted.apply(b), | |
| b.settings.loadProgress.apply(b, [a]) | |
| } | |
| , | |
| b.skipTo = function(a) { | |
| a > b.loadedPercent || (b.updatePlayhead.call(b, [a]), | |
| b.element.skipTo(a)) | |
| } | |
| , | |
| b.updatePlayhead = function(a) { | |
| b.settings.updatePlayhead.apply(b, [a]) | |
| } | |
| , | |
| b.play = function() { | |
| b.settings.preload || (b.settings.preload = !0, | |
| b.element.init(b.mp3)), | |
| b.playing = !0, | |
| b.element.pplay(), | |
| b.settings.play.apply(b) | |
| } | |
| , | |
| b.pause = function() { | |
| b.playing = !1, | |
| b.element.ppause(), | |
| b.settings.pause.apply(b) | |
| } | |
| , | |
| b.setVolume = function(a) { | |
| b.element.setVolume(a) | |
| } | |
| , | |
| b.loadStarted = function() { | |
| b.swfReady = !0, | |
| b.settings.preload && b.element.init(b.mp3), | |
| b.settings.autoplay && b.play.apply(b) | |
| } | |
| }, | |
| injectFlash: function(a, b) { | |
| var c = this.flashSource.replace(/\$1/g, b); | |
| c = c.replace(/\$2/g, a.settings.swfLocation), | |
| c = c.replace(/\$3/g, +new Date + Math.random()); | |
| var d = a.wrapper.innerHTML | |
| , e = document.createElement("div"); | |
| e.innerHTML = c + d, | |
| a.wrapper.innerHTML = e.innerHTML, | |
| a.element = this.helpers.getSwf(b) | |
| }, | |
| helpers: { | |
| merge: function(a, b) { | |
| for (attr in b) | |
| (a.hasOwnProperty(attr) || b.hasOwnProperty(attr)) && (a[attr] = b[attr]) | |
| }, | |
| clone: function(a) { | |
| if (null == a || "object" != typeof a) | |
| return a; | |
| var b = new a.constructor; | |
| for (var c in a) | |
| b[c] = arguments.callee(a[c]); | |
| return b | |
| }, | |
| addClass: function(a, b) { | |
| var c = new RegExp("(\\s|^)" + b + "(\\s|$)"); | |
| c.test(a.className) || (a.className += " " + b) | |
| }, | |
| removeClass: function(a, b) { | |
| var c = new RegExp("(\\s|^)" + b + "(\\s|$)"); | |
| a.className = a.className.replace(c, " ") | |
| }, | |
| injectCss: function(a, b) { | |
| var c = "" | |
| , d = document.getElementsByTagName("style") | |
| , e = b.replace(/\$1/g, a.settings.imageLocation); | |
| e = e.replace(/\$2/g, a.settings.retinaImageLocation); | |
| for (var f = 0, g = d.length; f < g; f++) { | |
| var h = d[f].getAttribute("title"); | |
| if (h && ~h.indexOf("audiojs")) { | |
| if (k = d[f], | |
| k.innerHTML === e) | |
| return; | |
| c = k.innerHTML; | |
| break | |
| } | |
| } | |
| var i = document.getElementsByTagName("head")[0] | |
| , j = i.firstChild | |
| , k = document.createElement("style"); | |
| i && (k.setAttribute("type", "text/css"), | |
| k.setAttribute("title", "audiojs"), | |
| k.styleSheet ? k.styleSheet.cssText = c + e : k.appendChild(document.createTextNode(c + e)), | |
| j ? i.insertBefore(k, j) : i.appendChild(k)) | |
| }, | |
| cloneHtml5Node: function(a) { | |
| var b = document.createDocumentFragment() | |
| , c = b.createElement ? b : document; | |
| c.createElement("audio"); | |
| var d = c.createElement("div"); | |
| return b.appendChild(d), | |
| d.innerHTML = a.outerHTML, | |
| d.firstChild | |
| }, | |
| getSwf: function(a) { | |
| var b = document[a] || window[a]; | |
| return b.length > 1 ? b[b.length - 1] : b | |
| } | |
| }, | |
| events: { | |
| memoryLeaking: !1, | |
| listeners: [], | |
| addListener: function(b, d, e) { | |
| b.addEventListener ? b.addEventListener(d, e, !1) : b.attachEvent && (this.listeners.push(b), | |
| this.memoryLeaking || (window.attachEvent("onunload", function() { | |
| if (this.listeners) | |
| for (var b = 0, d = this.listeners.length; b < d; b++) | |
| c[a].events.purge(this.listeners[b]) | |
| }), | |
| this.memoryLeaking = !0), | |
| b.attachEvent("on" + d, function() { | |
| e.call(b, window.event) | |
| })) | |
| }, | |
| trackLoadProgress: function(a) { | |
| if (a.settings.preload) { | |
| var b, c, a = a, d = /(ipod|iphone|ipad)/i.test(navigator.userAgent); | |
| b = setInterval(function() { | |
| a.element.readyState > -1 && (d || a.init.apply(a)), | |
| a.element.readyState > 1 && (a.settings.autoplay && a.play.apply(a), | |
| clearInterval(b), | |
| c = setInterval(function() { | |
| a.loadProgress.apply(a), | |
| a.loadedPercent >= 1 && clearInterval(c) | |
| }, 200)) | |
| }, 200), | |
| a.readya6K = b, | |
| a.loada6K = c | |
| } | |
| }, | |
| purge: function(a) { | |
| var b, c = a.attributes; | |
| if (c) | |
| for (b = 0; b < c.length; b += 1) | |
| "function" == typeof a[c[b].name] && (a[c[b].name] = null); | |
| if (c = a.childNodes) | |
| for (b = 0; b < c.length; b += 1) | |
| purge(a.childNodes[b]) | |
| }, | |
| ready: function() { | |
| return function(a) { | |
| var b = window | |
| , c = !1 | |
| , d = !0 | |
| , e = b.document | |
| , f = e.documentElement | |
| , g = e.addEventListener ? "addEventListener" : "attachEvent" | |
| , h = e.addEventListener ? "removeEventListener" : "detachEvent" | |
| , i = e.addEventListener ? "" : "on" | |
| , j = function(d) { | |
| "readystatechange" == d.type && "complete" != e.readyState || (("load" == d.type ? b : e)[h](i + d.type, j, !1), | |
| !c && (c = !0) && a.call(b, d.type || d)) | |
| } | |
| , k = function() { | |
| try { | |
| f.doScroll("left") | |
| } catch (a) { | |
| return void setTimeout(k, 50) | |
| } | |
| j("poll") | |
| }; | |
| if ("complete" == e.readyState) | |
| a.call(b, "lazy"); | |
| else { | |
| if (e.createEventObject && f.doScroll) { | |
| try { | |
| d = !b.frameElement | |
| } catch (l) {} | |
| d && k() | |
| } | |
| e[g](i + "DOMContentLoaded", j, !1), | |
| e[g](i + "readystatechange", j, !1), | |
| b[g](i + "load", j, !1) | |
| } | |
| } | |
| }() | |
| } | |
| }, | |
| c[b] = function(a, b) { | |
| this.element = a, | |
| this.wrapper = a.parentNode, | |
| this.source = a.getElementsByTagName("source")[0] || a, | |
| this.mp3 = function(a) { | |
| var b = a.getElementsByTagName("source")[0]; | |
| return a.getAttribute("src") || (b ? b.getAttribute("src") : null) | |
| }(a), | |
| this.settings = b, | |
| this.loadStartedCalled = !1, | |
| this.loadedPercent = 0, | |
| this.duration = 1, | |
| this.playing = !1 | |
| } | |
| , | |
| c[b].prototype = { | |
| updatePlayhead: function() { | |
| var a = this.element.currentTime / this.duration; | |
| this.settings.updatePlayhead.apply(this, [a]) | |
| }, | |
| skipTo: function(a) { | |
| a > this.loadedPercent || (this.element.currentTime = this.duration * a, | |
| this.updatePlayhead()) | |
| }, | |
| load: function(b) { | |
| this.loadStartedCalled = !1, | |
| this.source.setAttribute("src", b), | |
| this.element.load(), | |
| this.mp3 = b, | |
| c[a].events.trackLoadProgress(this) | |
| }, | |
| loadError: function() { | |
| this.settings.loadError.apply(this) | |
| }, | |
| init: function() { | |
| this.settings.init.apply(this) | |
| }, | |
| loadStarted: function() { | |
| return !!this.element.duration && (this.duration = this.element.duration, | |
| this.updatePlayhead(), | |
| void this.settings.loadStarted.apply(this)) | |
| }, | |
| loadProgress: function() { | |
| if (null != this.element.buffered && this.element.buffered.length) { | |
| this.loadStartedCalled || (this.loadStartedCalled = this.loadStarted()); | |
| var a = this.element.buffered.end(this.element.buffered.length - 1); | |
| this.loadedPercent = a / this.duration, | |
| this.settings.loadProgress.apply(this, [this.loadedPercent]) | |
| } | |
| }, | |
| playPause: function() { | |
| this.playing ? this.pause() : this.play() | |
| }, | |
| play: function() { | |
| var b = /(ipod|iphone|ipad)/i.test(navigator.userAgent); | |
| b && 0 == this.element.readyState && this.init.apply(this), | |
| this.settings.preload || (this.settings.preload = !0, | |
| this.element.setAttribute("preload", "auto"), | |
| c[a].events.trackLoadProgress(this)), | |
| this.playing = !0, | |
| this.element.play(), | |
| this.settings.play.apply(this) | |
| }, | |
| pause: function() { | |
| this.playing = !1, | |
| this.element.pause(), | |
| this.settings.pause.apply(this) | |
| }, | |
| setVolume: function(a) { | |
| this.element.volume = a | |
| }, | |
| trackEnded: function(a) { | |
| this.skipTo.apply(this, [0]), | |
| this.settings.loop || this.pause.apply(this), | |
| this.settings.trackEnded.apply(this) | |
| } | |
| }; | |
| var e = function(a, b) { | |
| var c = []; | |
| if (b = b || document, | |
| b.getElementsByClassName) | |
| c = b.getElementsByClassName(a); | |
| else { | |
| var d, e, f = b.getElementsByTagName("*"), g = new RegExp("(^|\\s)" + a + "(\\s|$)"); | |
| for (d = 0, | |
| e = f.length; d < e; d++) | |
| g.test(f[d].className) && c.push(f[d]) | |
| } | |
| return c.length > 1 ? c : c[0] | |
| } | |
| }("audiojs", "audiojsInstance", this), | |
| !function a(b, c, d) { | |
| function e(g, h) { | |
| if (!c[g]) { | |
| if (!b[g]) { | |
| var i = "function" == typeof require && require; | |
| if (!h && i) | |
| return i(g, !0); | |
| if (f) | |
| return f(g, !0); | |
| var j = new Error("Cannot find module '" + g + "'"); | |
| throw j.code = "MODULE_NOT_FOUND", | |
| j | |
| } | |
| var k = c[g] = { | |
| exports: {} | |
| }; | |
| b[g][0].call(k.exports, function(a) { | |
| var c = b[g][1][a]; | |
| return e(c ? c : a) | |
| }, k, k.exports, a, b, c, d) | |
| } | |
| return c[g].exports | |
| } | |
| for (var f = "function" == typeof require && require, g = 0; g < d.length; g++) | |
| e(d[g]); | |
| return e | |
| }({ | |
| 1: [function(a, b, c) { | |
| b.exports = { | |
| version: "2.0", | |
| metadata: { | |
| apiVersion: "2015-12-08", | |
| endpointPrefix: "acm", | |
| jsonVersion: "1.1", | |
| protocol: "json", | |
| serviceAbbreviation: "ACM", | |
| serviceFullName: "AWS Certificate Manager", | |
| signatureVersion: "v4", | |
| targetPrefix: "CertificateManager", | |
| uid: "acm-2015-12-08" | |
| }, | |
| operations: { | |
| AddTagsToCertificate: { | |
| input: { | |
| type: "structure", | |
| required: ["CertificateArn", "Tags"], | |
| members: { | |
| CertificateArn: {}, | |
| Tags: { | |
| shape: "S3" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteCertificate: { | |
| input: { | |
| type: "structure", | |
| required: ["CertificateArn"], | |
| members: { | |
| CertificateArn: {} | |
| } | |
| } | |
| }, | |
| DescribeCertificate: { | |
| input: { | |
| type: "structure", | |
| required: ["CertificateArn"], | |
| members: { | |
| CertificateArn: {} | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| Certificate: { | |
| type: "structure", | |
| members: { | |
| CertificateArn: {}, | |
| DomainName: {}, | |
| SubjectAlternativeNames: { | |
| shape: "Sc" | |
| }, | |
| DomainValidationOptions: { | |
| shape: "Sd" | |
| }, | |
| Serial: {}, | |
| Subject: {}, | |
| Issuer: {}, | |
| CreatedAt: { | |
| type: "timestamp" | |
| }, | |
| IssuedAt: { | |
| type: "timestamp" | |
| }, | |
| ImportedAt: { | |
| type: "timestamp" | |
| }, | |
| Status: {}, | |
| RevokedAt: { | |
| type: "timestamp" | |
| }, | |
| RevocationReason: {}, | |
| NotBefore: { | |
| type: "timestamp" | |
| }, | |
| NotAfter: { | |
| type: "timestamp" | |
| }, | |
| KeyAlgorithm: {}, | |
| SignatureAlgorithm: {}, | |
| InUseBy: { | |
| type: "list", | |
| member: {} | |
| }, | |
| FailureReason: {}, | |
| Type: {}, | |
| RenewalSummary: { | |
| type: "structure", | |
| required: ["RenewalStatus", "DomainValidationOptions"], | |
| members: { | |
| RenewalStatus: {}, | |
| DomainValidationOptions: { | |
| shape: "Sd" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetCertificate: { | |
| input: { | |
| type: "structure", | |
| required: ["CertificateArn"], | |
| members: { | |
| CertificateArn: {} | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| Certificate: {}, | |
| CertificateChain: {} | |
| } | |
| } | |
| }, | |
| ImportCertificate: { | |
| input: { | |
| type: "structure", | |
| required: ["Certificate", "PrivateKey"], | |
| members: { | |
| CertificateArn: {}, | |
| Certificate: { | |
| type: "blob" | |
| }, | |
| PrivateKey: { | |
| type: "blob", | |
| sensitive: !0 | |
| }, | |
| CertificateChain: { | |
| type: "blob" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| CertificateArn: {} | |
| } | |
| } | |
| }, | |
| ListCertificates: { | |
| input: { | |
| type: "structure", | |
| members: { | |
| CertificateStatuses: { | |
| type: "list", | |
| member: {} | |
| }, | |
| NextToken: {}, | |
| MaxItems: { | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| NextToken: {}, | |
| CertificateSummaryList: { | |
| type: "list", | |
| member: { | |
| type: "structure", | |
| members: { | |
| CertificateArn: {}, | |
| DomainName: {} | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| ListTagsForCertificate: { | |
| input: { | |
| type: "structure", | |
| required: ["CertificateArn"], | |
| members: { | |
| CertificateArn: {} | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| Tags: { | |
| shape: "S3" | |
| } | |
| } | |
| } | |
| }, | |
| RemoveTagsFromCertificate: { | |
| input: { | |
| type: "structure", | |
| required: ["CertificateArn", "Tags"], | |
| members: { | |
| CertificateArn: {}, | |
| Tags: { | |
| shape: "S3" | |
| } | |
| } | |
| } | |
| }, | |
| RequestCertificate: { | |
| input: { | |
| type: "structure", | |
| required: ["DomainName"], | |
| members: { | |
| DomainName: {}, | |
| SubjectAlternativeNames: { | |
| shape: "Sc" | |
| }, | |
| IdempotencyToken: {}, | |
| DomainValidationOptions: { | |
| type: "list", | |
| member: { | |
| type: "structure", | |
| required: ["DomainName", "ValidationDomain"], | |
| members: { | |
| DomainName: {}, | |
| ValidationDomain: {} | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| CertificateArn: {} | |
| } | |
| } | |
| }, | |
| ResendValidationEmail: { | |
| input: { | |
| type: "structure", | |
| required: ["CertificateArn", "Domain", "ValidationDomain"], | |
| members: { | |
| CertificateArn: {}, | |
| Domain: {}, | |
| ValidationDomain: {} | |
| } | |
| } | |
| } | |
| }, | |
| shapes: { | |
| S3: { | |
| type: "list", | |
| member: { | |
| type: "structure", | |
| required: ["Key"], | |
| members: { | |
| Key: {}, | |
| Value: {} | |
| } | |
| } | |
| }, | |
| Sc: { | |
| type: "list", | |
| member: {} | |
| }, | |
| Sd: { | |
| type: "list", | |
| member: { | |
| type: "structure", | |
| required: ["DomainName"], | |
| members: { | |
| DomainName: {}, | |
| ValidationEmails: { | |
| type: "list", | |
| member: {} | |
| }, | |
| ValidationDomain: {}, | |
| ValidationStatus: {} | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| , {}], | |
| 2: [function(a, b, c) { | |
| b.exports = { | |
| pagination: { | |
| ListCertificates: { | |
| input_token: "NextToken", | |
| limit_key: "MaxItems", | |
| output_token: "NextToken", | |
| result_key: "CertificateSummaryList" | |
| } | |
| } | |
| } | |
| } | |
| , {}], | |
| 3: [function(a, b, c) { | |
| b.exports = { | |
| version: "2.0", | |
| metadata: { | |
| apiVersion: "2015-07-09", | |
| endpointPrefix: "apigateway", | |
| protocol: "rest-json", | |
| serviceFullName: "Amazon API Gateway", | |
| signatureVersion: "v4", | |
| uid: "apigateway-2015-07-09" | |
| }, | |
| operations: { | |
| CreateApiKey: { | |
| http: { | |
| requestUri: "/apikeys", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| members: { | |
| name: {}, | |
| description: {}, | |
| enabled: { | |
| type: "boolean" | |
| }, | |
| generateDistinctId: { | |
| type: "boolean" | |
| }, | |
| value: {}, | |
| stageKeys: { | |
| type: "list", | |
| member: { | |
| type: "structure", | |
| members: { | |
| restApiId: {}, | |
| stageName: {} | |
| } | |
| } | |
| }, | |
| customerId: {} | |
| } | |
| }, | |
| output: { | |
| shape: "S6" | |
| } | |
| }, | |
| CreateAuthorizer: { | |
| http: { | |
| requestUri: "/restapis/{restapi_id}/authorizers", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "name", "type", "identitySource"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| name: {}, | |
| type: {}, | |
| providerARNs: { | |
| shape: "Sb" | |
| }, | |
| authType: {}, | |
| authorizerUri: {}, | |
| authorizerCredentials: {}, | |
| identitySource: {}, | |
| identityValidationExpression: {}, | |
| authorizerResultTtlInSeconds: { | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Se" | |
| } | |
| }, | |
| CreateBasePathMapping: { | |
| http: { | |
| requestUri: "/domainnames/{domain_name}/basepathmappings", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["domainName", "restApiId"], | |
| members: { | |
| domainName: { | |
| location: "uri", | |
| locationName: "domain_name" | |
| }, | |
| basePath: {}, | |
| restApiId: {}, | |
| stage: {} | |
| } | |
| }, | |
| output: { | |
| shape: "Sg" | |
| } | |
| }, | |
| CreateDeployment: { | |
| http: { | |
| requestUri: "/restapis/{restapi_id}/deployments", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| stageName: {}, | |
| stageDescription: {}, | |
| description: {}, | |
| cacheClusterEnabled: { | |
| type: "boolean" | |
| }, | |
| cacheClusterSize: {}, | |
| variables: { | |
| shape: "Sk" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Sl" | |
| } | |
| }, | |
| CreateDocumentationPart: { | |
| http: { | |
| requestUri: "/restapis/{restapi_id}/documentation/parts", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "location", "properties"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| location: { | |
| shape: "Sq" | |
| }, | |
| properties: {} | |
| } | |
| }, | |
| output: { | |
| shape: "St" | |
| } | |
| }, | |
| CreateDocumentationVersion: { | |
| http: { | |
| requestUri: "/restapis/{restapi_id}/documentation/versions", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "documentationVersion"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| documentationVersion: {}, | |
| stageName: {}, | |
| description: {} | |
| } | |
| }, | |
| output: { | |
| shape: "Sv" | |
| } | |
| }, | |
| CreateDomainName: { | |
| http: { | |
| requestUri: "/domainnames", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["domainName", "certificateName", "certificateBody", "certificatePrivateKey", "certificateChain"], | |
| members: { | |
| domainName: {}, | |
| certificateName: {}, | |
| certificateBody: {}, | |
| certificatePrivateKey: {}, | |
| certificateChain: {} | |
| } | |
| }, | |
| output: { | |
| shape: "Sx" | |
| } | |
| }, | |
| CreateModel: { | |
| http: { | |
| requestUri: "/restapis/{restapi_id}/models", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "name", "contentType"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| name: {}, | |
| description: {}, | |
| schema: {}, | |
| contentType: {} | |
| } | |
| }, | |
| output: { | |
| shape: "Sz" | |
| } | |
| }, | |
| CreateResource: { | |
| http: { | |
| requestUri: "/restapis/{restapi_id}/resources/{parent_id}", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "parentId", "pathPart"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| parentId: { | |
| location: "uri", | |
| locationName: "parent_id" | |
| }, | |
| pathPart: {} | |
| } | |
| }, | |
| output: { | |
| shape: "S11" | |
| } | |
| }, | |
| CreateRestApi: { | |
| http: { | |
| requestUri: "/restapis", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["name"], | |
| members: { | |
| name: {}, | |
| description: {}, | |
| version: {}, | |
| cloneFrom: {}, | |
| binaryMediaTypes: { | |
| shape: "S8" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S1e" | |
| } | |
| }, | |
| CreateStage: { | |
| http: { | |
| requestUri: "/restapis/{restapi_id}/stages", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "stageName", "deploymentId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| stageName: {}, | |
| deploymentId: {}, | |
| description: {}, | |
| cacheClusterEnabled: { | |
| type: "boolean" | |
| }, | |
| cacheClusterSize: {}, | |
| variables: { | |
| shape: "Sk" | |
| }, | |
| documentationVersion: {} | |
| } | |
| }, | |
| output: { | |
| shape: "S1g" | |
| } | |
| }, | |
| CreateUsagePlan: { | |
| http: { | |
| requestUri: "/usageplans", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["name"], | |
| members: { | |
| name: {}, | |
| description: {}, | |
| apiStages: { | |
| shape: "S1o" | |
| }, | |
| throttle: { | |
| shape: "S1q" | |
| }, | |
| quota: { | |
| shape: "S1r" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S1t" | |
| } | |
| }, | |
| CreateUsagePlanKey: { | |
| http: { | |
| requestUri: "/usageplans/{usageplanId}/keys", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["usagePlanId", "keyId", "keyType"], | |
| members: { | |
| usagePlanId: { | |
| location: "uri", | |
| locationName: "usageplanId" | |
| }, | |
| keyId: {}, | |
| keyType: {} | |
| } | |
| }, | |
| output: { | |
| shape: "S1v" | |
| } | |
| }, | |
| DeleteApiKey: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/apikeys/{api_Key}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["apiKey"], | |
| members: { | |
| apiKey: { | |
| location: "uri", | |
| locationName: "api_Key" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteAuthorizer: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/authorizers/{authorizer_id}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "authorizerId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| authorizerId: { | |
| location: "uri", | |
| locationName: "authorizer_id" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteBasePathMapping: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/domainnames/{domain_name}/basepathmappings/{base_path}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["domainName", "basePath"], | |
| members: { | |
| domainName: { | |
| location: "uri", | |
| locationName: "domain_name" | |
| }, | |
| basePath: { | |
| location: "uri", | |
| locationName: "base_path" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteClientCertificate: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/clientcertificates/{clientcertificate_id}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["clientCertificateId"], | |
| members: { | |
| clientCertificateId: { | |
| location: "uri", | |
| locationName: "clientcertificate_id" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteDeployment: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/deployments/{deployment_id}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "deploymentId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| deploymentId: { | |
| location: "uri", | |
| locationName: "deployment_id" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteDocumentationPart: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/documentation/parts/{part_id}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "documentationPartId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| documentationPartId: { | |
| location: "uri", | |
| locationName: "part_id" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteDocumentationVersion: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/documentation/versions/{doc_version}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "documentationVersion"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| documentationVersion: { | |
| location: "uri", | |
| locationName: "doc_version" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteDomainName: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/domainnames/{domain_name}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["domainName"], | |
| members: { | |
| domainName: { | |
| location: "uri", | |
| locationName: "domain_name" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteIntegration: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", | |
| responseCode: 204 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteIntegrationResponse: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", | |
| responseCode: 204 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod", "statusCode"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| }, | |
| statusCode: { | |
| location: "uri", | |
| locationName: "status_code" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteMethod: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", | |
| responseCode: 204 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteMethodResponse: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", | |
| responseCode: 204 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod", "statusCode"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| }, | |
| statusCode: { | |
| location: "uri", | |
| locationName: "status_code" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteModel: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/models/{model_name}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "modelName"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| modelName: { | |
| location: "uri", | |
| locationName: "model_name" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteResource: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteRestApi: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteStage: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/stages/{stage_name}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "stageName"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| stageName: { | |
| location: "uri", | |
| locationName: "stage_name" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteUsagePlan: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/usageplans/{usageplanId}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["usagePlanId"], | |
| members: { | |
| usagePlanId: { | |
| location: "uri", | |
| locationName: "usageplanId" | |
| } | |
| } | |
| } | |
| }, | |
| DeleteUsagePlanKey: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/usageplans/{usageplanId}/keys/{keyId}", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["usagePlanId", "keyId"], | |
| members: { | |
| usagePlanId: { | |
| location: "uri", | |
| locationName: "usageplanId" | |
| }, | |
| keyId: { | |
| location: "uri", | |
| locationName: "keyId" | |
| } | |
| } | |
| } | |
| }, | |
| FlushStageAuthorizersCache: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "stageName"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| stageName: { | |
| location: "uri", | |
| locationName: "stage_name" | |
| } | |
| } | |
| } | |
| }, | |
| FlushStageCache: { | |
| http: { | |
| method: "DELETE", | |
| requestUri: "/restapis/{restapi_id}/stages/{stage_name}/cache/data", | |
| responseCode: 202 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "stageName"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| stageName: { | |
| location: "uri", | |
| locationName: "stage_name" | |
| } | |
| } | |
| } | |
| }, | |
| GenerateClientCertificate: { | |
| http: { | |
| requestUri: "/clientcertificates", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| members: { | |
| description: {} | |
| } | |
| }, | |
| output: { | |
| shape: "S2h" | |
| } | |
| }, | |
| GetAccount: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/account" | |
| }, | |
| input: { | |
| type: "structure", | |
| members: {} | |
| }, | |
| output: { | |
| shape: "S2j" | |
| } | |
| }, | |
| GetApiKey: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/apikeys/{api_Key}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["apiKey"], | |
| members: { | |
| apiKey: { | |
| location: "uri", | |
| locationName: "api_Key" | |
| }, | |
| includeValue: { | |
| location: "querystring", | |
| locationName: "includeValue", | |
| type: "boolean" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S6" | |
| } | |
| }, | |
| GetApiKeys: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/apikeys" | |
| }, | |
| input: { | |
| type: "structure", | |
| members: { | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| }, | |
| nameQuery: { | |
| location: "querystring", | |
| locationName: "name" | |
| }, | |
| customerId: { | |
| location: "querystring", | |
| locationName: "customerId" | |
| }, | |
| includeValues: { | |
| location: "querystring", | |
| locationName: "includeValues", | |
| type: "boolean" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| warnings: { | |
| shape: "S8" | |
| }, | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "S6" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetAuthorizer: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/authorizers/{authorizer_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "authorizerId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| authorizerId: { | |
| location: "uri", | |
| locationName: "authorizer_id" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Se" | |
| } | |
| }, | |
| GetAuthorizers: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/authorizers" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "Se" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetBasePathMapping: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/domainnames/{domain_name}/basepathmappings/{base_path}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["domainName", "basePath"], | |
| members: { | |
| domainName: { | |
| location: "uri", | |
| locationName: "domain_name" | |
| }, | |
| basePath: { | |
| location: "uri", | |
| locationName: "base_path" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Sg" | |
| } | |
| }, | |
| GetBasePathMappings: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/domainnames/{domain_name}/basepathmappings" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["domainName"], | |
| members: { | |
| domainName: { | |
| location: "uri", | |
| locationName: "domain_name" | |
| }, | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "Sg" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetClientCertificate: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/clientcertificates/{clientcertificate_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["clientCertificateId"], | |
| members: { | |
| clientCertificateId: { | |
| location: "uri", | |
| locationName: "clientcertificate_id" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S2h" | |
| } | |
| }, | |
| GetClientCertificates: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/clientcertificates" | |
| }, | |
| input: { | |
| type: "structure", | |
| members: { | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "S2h" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetDeployment: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/deployments/{deployment_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "deploymentId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| deploymentId: { | |
| location: "uri", | |
| locationName: "deployment_id" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Sl" | |
| } | |
| }, | |
| GetDeployments: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/deployments" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "Sl" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetDocumentationPart: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/documentation/parts/{part_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "documentationPartId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| documentationPartId: { | |
| location: "uri", | |
| locationName: "part_id" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "St" | |
| } | |
| }, | |
| GetDocumentationParts: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/documentation/parts" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| type: { | |
| location: "querystring", | |
| locationName: "type" | |
| }, | |
| nameQuery: { | |
| location: "querystring", | |
| locationName: "name" | |
| }, | |
| path: { | |
| location: "querystring", | |
| locationName: "path" | |
| }, | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "St" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetDocumentationVersion: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/documentation/versions/{doc_version}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "documentationVersion"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| documentationVersion: { | |
| location: "uri", | |
| locationName: "doc_version" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Sv" | |
| } | |
| }, | |
| GetDocumentationVersions: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/documentation/versions" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "Sv" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetDomainName: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/domainnames/{domain_name}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["domainName"], | |
| members: { | |
| domainName: { | |
| location: "uri", | |
| locationName: "domain_name" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Sx" | |
| } | |
| }, | |
| GetDomainNames: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/domainnames" | |
| }, | |
| input: { | |
| type: "structure", | |
| members: { | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "Sx" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetExport: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}", | |
| responseCode: 200 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "stageName", "exportType"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| stageName: { | |
| location: "uri", | |
| locationName: "stage_name" | |
| }, | |
| exportType: { | |
| location: "uri", | |
| locationName: "export_type" | |
| }, | |
| parameters: { | |
| shape: "Sk", | |
| location: "querystring" | |
| }, | |
| accepts: { | |
| location: "header", | |
| locationName: "Accept" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| contentType: { | |
| location: "header", | |
| locationName: "Content-Type" | |
| }, | |
| contentDisposition: { | |
| location: "header", | |
| locationName: "Content-Disposition" | |
| }, | |
| body: { | |
| type: "blob" | |
| } | |
| }, | |
| payload: "body" | |
| } | |
| }, | |
| GetIntegration: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S18" | |
| } | |
| }, | |
| GetIntegrationResponse: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod", "statusCode"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| }, | |
| statusCode: { | |
| location: "uri", | |
| locationName: "status_code" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S1c" | |
| } | |
| }, | |
| GetMethod: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S13" | |
| } | |
| }, | |
| GetMethodResponse: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod", "statusCode"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| }, | |
| statusCode: { | |
| location: "uri", | |
| locationName: "status_code" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S16" | |
| } | |
| }, | |
| GetModel: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/models/{model_name}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "modelName"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| modelName: { | |
| location: "uri", | |
| locationName: "model_name" | |
| }, | |
| flatten: { | |
| location: "querystring", | |
| locationName: "flatten", | |
| type: "boolean" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Sz" | |
| } | |
| }, | |
| GetModelTemplate: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/models/{model_name}/default_template" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "modelName"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| modelName: { | |
| location: "uri", | |
| locationName: "model_name" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| value: {} | |
| } | |
| } | |
| }, | |
| GetModels: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/models" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "Sz" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetResource: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S11" | |
| } | |
| }, | |
| GetResources: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/resources" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "S11" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetRestApi: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S1e" | |
| } | |
| }, | |
| GetRestApis: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis" | |
| }, | |
| input: { | |
| type: "structure", | |
| members: { | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "S1e" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetSdk: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}", | |
| responseCode: 200 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "stageName", "sdkType"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| stageName: { | |
| location: "uri", | |
| locationName: "stage_name" | |
| }, | |
| sdkType: { | |
| location: "uri", | |
| locationName: "sdk_type" | |
| }, | |
| parameters: { | |
| shape: "Sk", | |
| location: "querystring" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| contentType: { | |
| location: "header", | |
| locationName: "Content-Type" | |
| }, | |
| contentDisposition: { | |
| location: "header", | |
| locationName: "Content-Disposition" | |
| }, | |
| body: { | |
| type: "blob" | |
| } | |
| }, | |
| payload: "body" | |
| } | |
| }, | |
| GetSdkType: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/sdktypes/{sdktype_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["id"], | |
| members: { | |
| id: { | |
| location: "uri", | |
| locationName: "sdktype_id" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S44" | |
| } | |
| }, | |
| GetSdkTypes: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/sdktypes" | |
| }, | |
| input: { | |
| type: "structure", | |
| members: { | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "S44" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetStage: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/stages/{stage_name}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "stageName"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| stageName: { | |
| location: "uri", | |
| locationName: "stage_name" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S1g" | |
| } | |
| }, | |
| GetStages: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/restapis/{restapi_id}/stages" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| deploymentId: { | |
| location: "querystring", | |
| locationName: "deploymentId" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| item: { | |
| type: "list", | |
| member: { | |
| shape: "S1g" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetUsage: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/usageplans/{usageplanId}/usage" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["usagePlanId", "startDate", "endDate"], | |
| members: { | |
| usagePlanId: { | |
| location: "uri", | |
| locationName: "usageplanId" | |
| }, | |
| keyId: { | |
| location: "querystring", | |
| locationName: "keyId" | |
| }, | |
| startDate: { | |
| location: "querystring", | |
| locationName: "startDate" | |
| }, | |
| endDate: { | |
| location: "querystring", | |
| locationName: "endDate" | |
| }, | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S4f" | |
| } | |
| }, | |
| GetUsagePlan: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/usageplans/{usageplanId}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["usagePlanId"], | |
| members: { | |
| usagePlanId: { | |
| location: "uri", | |
| locationName: "usageplanId" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S1t" | |
| } | |
| }, | |
| GetUsagePlanKey: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/usageplans/{usageplanId}/keys/{keyId}", | |
| responseCode: 200 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["usagePlanId", "keyId"], | |
| members: { | |
| usagePlanId: { | |
| location: "uri", | |
| locationName: "usageplanId" | |
| }, | |
| keyId: { | |
| location: "uri", | |
| locationName: "keyId" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S1v" | |
| } | |
| }, | |
| GetUsagePlanKeys: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/usageplans/{usageplanId}/keys" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["usagePlanId"], | |
| members: { | |
| usagePlanId: { | |
| location: "uri", | |
| locationName: "usageplanId" | |
| }, | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| }, | |
| nameQuery: { | |
| location: "querystring", | |
| locationName: "name" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "S1v" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| GetUsagePlans: { | |
| http: { | |
| method: "GET", | |
| requestUri: "/usageplans" | |
| }, | |
| input: { | |
| type: "structure", | |
| members: { | |
| position: { | |
| location: "querystring", | |
| locationName: "position" | |
| }, | |
| keyId: { | |
| location: "querystring", | |
| locationName: "keyId" | |
| }, | |
| limit: { | |
| location: "querystring", | |
| locationName: "limit", | |
| type: "integer" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| position: {}, | |
| items: { | |
| locationName: "item", | |
| type: "list", | |
| member: { | |
| shape: "S1t" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| ImportApiKeys: { | |
| http: { | |
| requestUri: "/apikeys?mode=import", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["body", "format"], | |
| members: { | |
| body: { | |
| type: "blob" | |
| }, | |
| format: { | |
| location: "querystring", | |
| locationName: "format" | |
| }, | |
| failOnWarnings: { | |
| location: "querystring", | |
| locationName: "failonwarnings", | |
| type: "boolean" | |
| } | |
| }, | |
| payload: "body" | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| ids: { | |
| shape: "S8" | |
| }, | |
| warnings: { | |
| shape: "S8" | |
| } | |
| } | |
| } | |
| }, | |
| ImportDocumentationParts: { | |
| http: { | |
| method: "PUT", | |
| requestUri: "/restapis/{restapi_id}/documentation/parts" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "body"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| mode: { | |
| location: "querystring", | |
| locationName: "mode" | |
| }, | |
| failOnWarnings: { | |
| location: "querystring", | |
| locationName: "failonwarnings", | |
| type: "boolean" | |
| }, | |
| body: { | |
| type: "blob" | |
| } | |
| }, | |
| payload: "body" | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| ids: { | |
| shape: "S8" | |
| }, | |
| warnings: { | |
| shape: "S8" | |
| } | |
| } | |
| } | |
| }, | |
| ImportRestApi: { | |
| http: { | |
| requestUri: "/restapis?mode=import", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["body"], | |
| members: { | |
| failOnWarnings: { | |
| location: "querystring", | |
| locationName: "failonwarnings", | |
| type: "boolean" | |
| }, | |
| parameters: { | |
| shape: "Sk", | |
| location: "querystring" | |
| }, | |
| body: { | |
| type: "blob" | |
| } | |
| }, | |
| payload: "body" | |
| }, | |
| output: { | |
| shape: "S1e" | |
| } | |
| }, | |
| PutIntegration: { | |
| http: { | |
| method: "PUT", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod", "type"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| }, | |
| type: {}, | |
| integrationHttpMethod: { | |
| locationName: "httpMethod" | |
| }, | |
| uri: {}, | |
| credentials: {}, | |
| requestParameters: { | |
| shape: "Sk" | |
| }, | |
| requestTemplates: { | |
| shape: "Sk" | |
| }, | |
| passthroughBehavior: {}, | |
| cacheNamespace: {}, | |
| cacheKeyParameters: { | |
| shape: "S8" | |
| }, | |
| contentHandling: {} | |
| } | |
| }, | |
| output: { | |
| shape: "S18" | |
| } | |
| }, | |
| PutIntegrationResponse: { | |
| http: { | |
| method: "PUT", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod", "statusCode"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| }, | |
| statusCode: { | |
| location: "uri", | |
| locationName: "status_code" | |
| }, | |
| selectionPattern: {}, | |
| responseParameters: { | |
| shape: "Sk" | |
| }, | |
| responseTemplates: { | |
| shape: "Sk" | |
| }, | |
| contentHandling: {} | |
| } | |
| }, | |
| output: { | |
| shape: "S1c" | |
| } | |
| }, | |
| PutMethod: { | |
| http: { | |
| method: "PUT", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod", "authorizationType"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| }, | |
| authorizationType: {}, | |
| authorizerId: {}, | |
| apiKeyRequired: { | |
| type: "boolean" | |
| }, | |
| operationName: {}, | |
| requestParameters: { | |
| shape: "S14" | |
| }, | |
| requestModels: { | |
| shape: "Sk" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S13" | |
| } | |
| }, | |
| PutMethodResponse: { | |
| http: { | |
| method: "PUT", | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", | |
| responseCode: 201 | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod", "statusCode"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| }, | |
| statusCode: { | |
| location: "uri", | |
| locationName: "status_code" | |
| }, | |
| responseParameters: { | |
| shape: "S14" | |
| }, | |
| responseModels: { | |
| shape: "Sk" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S16" | |
| } | |
| }, | |
| PutRestApi: { | |
| http: { | |
| method: "PUT", | |
| requestUri: "/restapis/{restapi_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "body"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| mode: { | |
| location: "querystring", | |
| locationName: "mode" | |
| }, | |
| failOnWarnings: { | |
| location: "querystring", | |
| locationName: "failonwarnings", | |
| type: "boolean" | |
| }, | |
| parameters: { | |
| shape: "Sk", | |
| location: "querystring" | |
| }, | |
| body: { | |
| type: "blob" | |
| } | |
| }, | |
| payload: "body" | |
| }, | |
| output: { | |
| shape: "S1e" | |
| } | |
| }, | |
| TestInvokeAuthorizer: { | |
| http: { | |
| requestUri: "/restapis/{restapi_id}/authorizers/{authorizer_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "authorizerId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| authorizerId: { | |
| location: "uri", | |
| locationName: "authorizer_id" | |
| }, | |
| headers: { | |
| shape: "S55" | |
| }, | |
| pathWithQueryString: {}, | |
| body: {}, | |
| stageVariables: { | |
| shape: "Sk" | |
| }, | |
| additionalContext: { | |
| shape: "Sk" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| clientStatus: { | |
| type: "integer" | |
| }, | |
| log: {}, | |
| latency: { | |
| type: "long" | |
| }, | |
| principalId: {}, | |
| policy: {}, | |
| authorization: { | |
| type: "map", | |
| key: {}, | |
| value: { | |
| shape: "S8" | |
| } | |
| }, | |
| claims: { | |
| shape: "Sk" | |
| } | |
| } | |
| } | |
| }, | |
| TestInvokeMethod: { | |
| http: { | |
| requestUri: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "resourceId", "httpMethod"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| resourceId: { | |
| location: "uri", | |
| locationName: "resource_id" | |
| }, | |
| httpMethod: { | |
| location: "uri", | |
| locationName: "http_method" | |
| }, | |
| pathWithQueryString: {}, | |
| body: {}, | |
| headers: { | |
| shape: "S55" | |
| }, | |
| clientCertificateId: {}, | |
| stageVariables: { | |
| shape: "Sk" | |
| } | |
| } | |
| }, | |
| output: { | |
| type: "structure", | |
| members: { | |
| status: { | |
| type: "integer" | |
| }, | |
| body: {}, | |
| headers: { | |
| shape: "S55" | |
| }, | |
| log: {}, | |
| latency: { | |
| type: "long" | |
| } | |
| } | |
| } | |
| }, | |
| UpdateAccount: { | |
| http: { | |
| method: "PATCH", | |
| requestUri: "/account" | |
| }, | |
| input: { | |
| type: "structure", | |
| members: { | |
| patchOperations: { | |
| shape: "S5b" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S2j" | |
| } | |
| }, | |
| UpdateApiKey: { | |
| http: { | |
| method: "PATCH", | |
| requestUri: "/apikeys/{api_Key}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["apiKey"], | |
| members: { | |
| apiKey: { | |
| location: "uri", | |
| locationName: "api_Key" | |
| }, | |
| patchOperations: { | |
| shape: "S5b" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S6" | |
| } | |
| }, | |
| UpdateAuthorizer: { | |
| http: { | |
| method: "PATCH", | |
| requestUri: "/restapis/{restapi_id}/authorizers/{authorizer_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "authorizerId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| authorizerId: { | |
| location: "uri", | |
| locationName: "authorizer_id" | |
| }, | |
| patchOperations: { | |
| shape: "S5b" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Se" | |
| } | |
| }, | |
| UpdateBasePathMapping: { | |
| http: { | |
| method: "PATCH", | |
| requestUri: "/domainnames/{domain_name}/basepathmappings/{base_path}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["domainName", "basePath"], | |
| members: { | |
| domainName: { | |
| location: "uri", | |
| locationName: "domain_name" | |
| }, | |
| basePath: { | |
| location: "uri", | |
| locationName: "base_path" | |
| }, | |
| patchOperations: { | |
| shape: "S5b" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "Sg" | |
| } | |
| }, | |
| UpdateClientCertificate: { | |
| http: { | |
| method: "PATCH", | |
| requestUri: "/clientcertificates/{clientcertificate_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["clientCertificateId"], | |
| members: { | |
| clientCertificateId: { | |
| location: "uri", | |
| locationName: "clientcertificate_id" | |
| }, | |
| patchOperations: { | |
| shape: "S5b" | |
| } | |
| } | |
| }, | |
| output: { | |
| shape: "S2h" | |
| } | |
| }, | |
| UpdateDeployment: { | |
| http: { | |
| method: "PATCH", | |
| requestUri: "/restapis/{restapi_id}/deployments/{deployment_id}" | |
| }, | |
| input: { | |
| type: "structure", | |
| required: ["restApiId", "deploymentId"], | |
| members: { | |
| restApiId: { | |
| location: "uri", | |
| locationName: "restapi_id" | |
| }, | |
| deploymentId: { | |
| location: "uri", | |
| locationName: "deployment_id" | |
| }, | |
| patchOperations: { | |
| shape: "S5b" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How can I use this to break BOOKWALKER drm? Will this also work for CMOA?