From 9977835a07e7d2c2f9630f82b2df312b5ac9f403 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Wed, 24 May 2017 11:38:05 -0500 Subject: [PATCH] Update Wodo.TextEditor --- .../javascript/wodotexteditor/AGPL-3.0.txt | 661 +++++ .../wodotexteditor/EditorSession.js | 77 +- .../wodotexteditor/FullWindowZoomHelper.js | 3 +- .../lib/javascript/wodotexteditor/HOWTO.md | 149 + .../lib/javascript/wodotexteditor/README.md | 39 + .../lib/javascript/wodotexteditor/Tools.js | 147 +- .../javascript/wodotexteditor/Translator.js | 6 +- .../wodotexteditor/dojo-amalgamation.js | 2434 +++++++---------- .../wodotexteditor/images/saveas.png | Bin 0 -> 564 bytes .../wodotexteditor/localfileeditor.js | 54 +- .../javascript/wodotexteditor/revieweditor.js | 189 ++ .../wodotexteditor/translations/de-DE.json | 4 +- .../wodotexteditor/translations/eu.json | 64 + .../wodotexteditor/translations/fr-FR.json | 66 + .../wodotexteditor/translations/it-IT.json | 2 - .../wodotexteditor/translations/nl-NL.json | 4 +- .../lib/javascript/wodotexteditor/webodf.js | 1485 ++++++---- .../wodotexteditor/widgets/aboutDialog.js | 20 +- .../wodotexteditor/widgets/annotation.js | 7 +- .../widgets/dialogWidgets/alignmentPane.js | 35 +- .../dialogWidgets/editHyperlinkPane.js | 15 +- .../widgets/dialogWidgets/fontEffectsPane.js | 31 +- .../widgets/dialogWidgets/idMangler.js | 90 + .../wodotexteditor/widgets/editHyperlinks.js | 71 +- .../wodotexteditor/widgets/fontPicker.js | 14 +- .../wodotexteditor/widgets/imageInserter.js | 6 +- .../widgets/paragraphAlignment.js | 11 +- .../wodotexteditor/widgets/paragraphStyles.js | 20 +- .../widgets/paragraphStylesDialog.js | 37 +- .../wodotexteditor/widgets/simpleStyles.js | 40 +- .../widgets/toolbarWidgets/currentStyle.js | 93 +- .../wodotexteditor/widgets/undoRedoMenu.js | 6 +- .../wodotexteditor/widgets/zoomSlider.js | 110 +- .../wodotexteditor/wodotexteditor.css | 17 + .../wodotexteditor/wodotexteditor.js | 188 +- 35 files changed, 3740 insertions(+), 2455 deletions(-) create mode 100644 main/inc/lib/javascript/wodotexteditor/AGPL-3.0.txt create mode 100644 main/inc/lib/javascript/wodotexteditor/HOWTO.md create mode 100644 main/inc/lib/javascript/wodotexteditor/README.md create mode 100644 main/inc/lib/javascript/wodotexteditor/images/saveas.png create mode 100644 main/inc/lib/javascript/wodotexteditor/revieweditor.js create mode 100644 main/inc/lib/javascript/wodotexteditor/translations/eu.json create mode 100644 main/inc/lib/javascript/wodotexteditor/translations/fr-FR.json create mode 100644 main/inc/lib/javascript/wodotexteditor/widgets/dialogWidgets/idMangler.js diff --git a/main/inc/lib/javascript/wodotexteditor/AGPL-3.0.txt b/main/inc/lib/javascript/wodotexteditor/AGPL-3.0.txt new file mode 100644 index 0000000000..dba13ed2dd --- /dev/null +++ b/main/inc/lib/javascript/wodotexteditor/AGPL-3.0.txt @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/main/inc/lib/javascript/wodotexteditor/EditorSession.js b/main/inc/lib/javascript/wodotexteditor/EditorSession.js index 48baf9066f..f2e91b695e 100644 --- a/main/inc/lib/javascript/wodotexteditor/EditorSession.js +++ b/main/inc/lib/javascript/wodotexteditor/EditorSession.js @@ -22,7 +22,7 @@ * @source: https://github.com/kogmbh/WebODF/ */ -/*global define, runtime, core, gui, ops, document */ +/*global runtime, define, document, core, odf, gui, ops*/ define("webodf/editor/EditorSession", [ "dojo/text!resources/fonts/fonts.css" @@ -40,6 +40,7 @@ define("webodf/editor/EditorSession", [ runtime.loadClass("odf.OdfUtils"); runtime.loadClass("gui.CaretManager"); runtime.loadClass("gui.Caret"); + runtime.loadClass("gui.OdfFieldView"); runtime.loadClass("gui.SessionController"); runtime.loadClass("gui.SessionView"); runtime.loadClass("gui.HyperlinkTooltipView"); @@ -52,10 +53,11 @@ define("webodf/editor/EditorSession", [ /** * Instantiate a new editor session attached to an existing operation session + * @constructor + * @implements {core.EventSource} * @param {!ops.Session} session * @param {!string} localMemberId * @param {{viewOptions:gui.SessionViewOptions,directParagraphStylingEnabled:boolean,annotationsEnabled:boolean}} config - * @constructor */ var EditorSession = function EditorSession(session, localMemberId, config) { var self = this, @@ -69,8 +71,9 @@ define("webodf/editor/EditorSession", [ textns = odf.Namespaces.textns, fontStyles = document.createElement('style'), formatting = odtDocument.getFormatting(), - domUtils = new core.DomUtils(), - odfUtils = new odf.OdfUtils(), + domUtils = core.DomUtils, + odfUtils = odf.OdfUtils, + odfFieldView, eventNotifier = new core.EventNotifier([ EditorSession.signalMemberAdded, EditorSession.signalMemberUpdated, @@ -84,7 +87,9 @@ define("webodf/editor/EditorSession", [ EditorSession.signalParagraphStyleModified, EditorSession.signalUndoStackChanged]), shadowCursor = new gui.ShadowCursor(odtDocument), - sessionConstraints; + sessionConstraints, + /**@const*/ + NEXT = core.StepDirection.NEXT; /** * @return {Array.} @@ -94,7 +99,9 @@ define("webodf/editor/EditorSession", [ availableFonts = {}; + /*jslint regexp: true*/ regex = /font-family *: *(?:\'([^']*)\'|\"([^"]*)\")/gm; + /*jslint regexp: false*/ matches = regex.exec(fontsCSS); while (matches) { @@ -148,7 +155,7 @@ define("webodf/editor/EditorSession", [ i; // encode - for (i = 0; i < name.length; i++) { + for (i = 0; i < name.length; i += 1) { letter = name[i]; // simple approach, can be improved to not skip other allowed chars if (letter.match(/[a-zA-Z0-9.-_]/) !== null) { @@ -177,7 +184,7 @@ define("webodf/editor/EditorSession", [ // then loop until result is really unique while (formatting.hasParagraphStyle(result)) { result = ncName + "_" + i + "_" + ncMemberId; - i++; + i += 1; } return result; @@ -186,7 +193,7 @@ define("webodf/editor/EditorSession", [ function trackCursor(cursor) { var node; - node = odtDocument.getParagraphElement(cursor.getNode()); + node = odfUtils.getParagraphElement(cursor.getNode()); if (!node) { return; } @@ -298,15 +305,6 @@ define("webodf/editor/EditorSession", [ return currentCommonStyleName; }; - /** - * Round the step up to the next step - * @param {!number} step - * @return {!boolean} - */ - function roundUp(step) { - return step === ops.OdtStepsTranslator.NEXT_STEP; - } - /** * Applies the paragraph style with the given * style name to all the paragraphs within @@ -320,7 +318,7 @@ define("webodf/editor/EditorSession", [ opQueue = []; paragraphs.forEach(function (paragraph) { - var paragraphStartPoint = odtDocument.convertDomPointToCursorStep(paragraph, 0, roundUp), + var paragraphStartPoint = odtDocument.convertDomPointToCursorStep(paragraph, 0, NEXT), paragraphStyleName = paragraph.getAttributeNS(odf.Namespaces.textns, "style-name"), opSetParagraphStyle; @@ -359,13 +357,15 @@ define("webodf/editor/EditorSession", [ * element. If the style name is an empty string, the default style * is returned. * @param {!string} styleName - * @return {Element} + * @return {?Element} */ - this.getParagraphStyleElement = function (styleName) { + function getParagraphStyleElement(styleName) { return (styleName === "") ? formatting.getDefaultStyleElement('paragraph') - : odtDocument.getParagraphStyleElement(styleName); - }; + : formatting.getStyleElement(styleName, 'paragraph'); + } + + this.getParagraphStyleElement = getParagraphStyleElement; /** * Returns if the style is used anywhere in the document @@ -376,26 +376,22 @@ define("webodf/editor/EditorSession", [ return formatting.isStyleUsed(styleElement); }; - function getDefaultParagraphStyleAttributes() { - var styleNode = formatting.getDefaultStyleElement('paragraph'); - if (styleNode) { - return formatting.getInheritedStyleAttributes(styleNode); - } - - return null; - } - /** * Returns the attributes of a given paragraph style name * (with inheritance). If the name is an empty string, * the attributes of the default style are returned. * @param {!string} styleName - * @return {Object} + * @return {?odf.Formatting.StyleData} */ this.getParagraphStyleAttributes = function (styleName) { - return (styleName === "") - ? getDefaultParagraphStyleAttributes() - : odtDocument.getParagraphStyleAttributes(styleName); + var styleNode = getParagraphStyleElement(styleName), + includeSystemDefault = styleName === ""; + + if (styleNode) { + return formatting.getInheritedStyleAttributes(styleNode, includeSystemDefault); + } + + return null; }; /** @@ -427,8 +423,7 @@ define("webodf/editor/EditorSession", [ */ this.cloneParagraphStyle = function (styleName, newStyleDisplayName) { var newStyleName = uniqueParagraphStyleNCName(newStyleDisplayName), - styleNode = self.getParagraphStyleElement(styleName), - formatting = odtDocument.getFormatting(), + styleNode = getParagraphStyleElement(styleName), op, setProperties, attributes, i; setProperties = formatting.getStyleAttributes(styleNode); @@ -585,6 +580,7 @@ define("webodf/editor/EditorSession", [ selectionViewManager.destroy, self.sessionController.destroy, hyperlinkTooltipView.destroy, + odfFieldView.destroy, destroy ]; @@ -593,6 +589,7 @@ define("webodf/editor/EditorSession", [ function init() { var head = document.getElementsByTagName('head')[0], + odfCanvas = session.getOdtDocument().getOdfCanvas(), eventManager; // TODO: fonts.css should be rather done by odfCanvas, or? @@ -601,6 +598,8 @@ define("webodf/editor/EditorSession", [ fontStyles.appendChild(document.createTextNode(fontsCSS)); head.appendChild(fontStyles); + odfFieldView = new gui.OdfFieldView(odfCanvas); + odfFieldView.showFieldHighlight(); self.sessionController = new gui.SessionController(session, localMemberId, shadowCursor, { annotationsEnabled: config.annotationsEnabled, directTextStylingEnabled: config.directTextStylingEnabled, @@ -609,12 +608,12 @@ define("webodf/editor/EditorSession", [ sessionConstraints = self.sessionController.getSessionConstraints(); eventManager = self.sessionController.getEventManager(); - hyperlinkTooltipView = new gui.HyperlinkTooltipView(session.getOdtDocument().getOdfCanvas(), + hyperlinkTooltipView = new gui.HyperlinkTooltipView(odfCanvas, self.sessionController.getHyperlinkClickHandler().getModifier); eventManager.subscribe("mousemove", hyperlinkTooltipView.showTooltip); eventManager.subscribe("mouseout", hyperlinkTooltipView.hideTooltip); - caretManager = new gui.CaretManager(self.sessionController); + caretManager = new gui.CaretManager(self.sessionController, odfCanvas.getViewport()); selectionViewManager = new gui.SelectionViewManager(gui.SvgSelectionView); self.sessionView = new gui.SessionView(config.viewOptions, localMemberId, session, sessionConstraints, caretManager, selectionViewManager); self.availableFonts = getAvailableFonts(); diff --git a/main/inc/lib/javascript/wodotexteditor/FullWindowZoomHelper.js b/main/inc/lib/javascript/wodotexteditor/FullWindowZoomHelper.js index 76ad79c4fd..b3d88b9288 100644 --- a/main/inc/lib/javascript/wodotexteditor/FullWindowZoomHelper.js +++ b/main/inc/lib/javascript/wodotexteditor/FullWindowZoomHelper.js @@ -1,5 +1,4 @@ /** - * @license * Copyright (C) 2014 KO GmbH * * @licstart @@ -42,7 +41,7 @@ define("webodf/editor/FullWindowZoomHelper", [], function () { canvasContainerElement.style.top = toolbarContainerElement.getBoundingClientRect().height + 'px'; } - this.destroy = function(callback) { + this.destroy = function (callback) { window.removeEventListener('scroll', translateToolbar); window.removeEventListener('focusout', translateToolbar); window.removeEventListener('touchmove', translateToolbar); diff --git a/main/inc/lib/javascript/wodotexteditor/HOWTO.md b/main/inc/lib/javascript/wodotexteditor/HOWTO.md new file mode 100644 index 0000000000..b5af751c29 --- /dev/null +++ b/main/inc/lib/javascript/wodotexteditor/HOWTO.md @@ -0,0 +1,149 @@ +# HOWTO use the Wodo.TextEditor component + +## Requirements + +The Wodo.TextEditor component needs to be included in webpages served by a webserver, as its code uses XHR requests to fetch more data/files where needed. + +## Creating the Editor + +The file which needs to be included to create a Wodo.TextEditor is `wodotexteditor.js`. + + + + + + + + + +In the body of the HTML there needs to be set a div element which should hold the editor, with a unique id value and a size as wanted. + + + + +
+ + + + +An instance of the editor is created in JavaScript by calling `Wodo.createTextEditor()`: + + + +See the example file [`texteditor.html`](texteditor.html) how the above can be applied. + +Once the editing should be done, the current state of the document can be retrieved from the editor by calling `editor.getDocumentAsByteArray()`: + + editor.getDocumentAsByteArray(function (err, odtFileAsByteArray) { + if (err) { + // something failed unexpectedly, deal with it (here just a simple alert) + alert(err); + return; + } + // now do something with odtFileAsByteArray (is of type Uint8Array) + }); + +See the example file [`localfileeditor.js`](localfileeditor.js) how the above can be applied. + +To track if the user has edited the document after it was loaded or since it has been synchronized the last time, the editor has a property "documentModified". +The current state of the document can be set as unmodified by calling + + editor.setDocumentModified(false); + +e.g. when the document has been synchronized somewhere. To query if the document is modified call `isDocumentModified()` on the editor object, + + if (editor.isDocumentModified()) { + // ask the user if the changes should be discarded + } + +See the example file [`localfileeditor.js`](localfileeditor.js) how the above can be applied. + +When calling `Wodo.createTextEditor()`, the second parameter allows to configure the editor. See the included API dox for the possible parameters. + + +### Examples + +For inspiration there are three examples included how to use the Wodo.TextEditor component. + +#### Simple Editor + +The file [`texteditor.html`](texteditor.html) holds a very simple example of creating an editor and loading a given file into it, so that it can be edited. +It does not deal with getting the result and storing it somewhere. + +#### Editor which lets user edit files from local filesystem + +The file [`localeditor.html`](localeditor.html) extends the simple editor example above by adding two things: +support for loading files from the local filesystem into the editor and support for storing the current state of the edited document using the "saveAs" feature of browsers. + +The example consists of the files [`localfileeditor.js`](localfileeditor.js) and [`localeditor.html`](localeditor.html). Additionally it uses [`FileSaver.js`](FileSaver.js), which is a polyfill for browsers not yet supporting "saveAs". + +#### Editor which lets user review files from local filesystem + +The file [`revieweditor.html`](revieweditor.html) is a variant of the editor for files of the local filesystem: +it sets the editing modus to "review", which limits the user to only add, edit and remove own annotations, but not change anything else in the document. + +The example consists of the files [`revieweditor.js`](revieweditor.js) and [`revieweditor.html`](revieweditor.html). Additionally it uses [`FileSaver.js`](FileSaver.js), which is a polyfill for browsers not yet supporting "saveAs". + + +## External Resources + +ODF documents can reference external resources, like images or fonts, insteading of embedding them. This is done to keep the size of the files smaller. +It makes a lot of sense for resources which are shared by many documents, like usually the fonts used. Of course this requires that those resources are +available on the system where the document is rendered, e.g. by serving them on request from a central server. + +The Wodo.TextEditor currently supports the central serving of fonts. + +### Fonts + +Font files on the server are registered to the Wodo.TextEditor by listing them in a CSS file. Each font is registered with a normal `@font-face` CSS rule. +The file is name `fonts.css` and placed in the subdirectory `fonts` of the `resources` directory. +This file will be automatically read by the Wodo.TextEditor. The font files can be put whereever it suits, as long as their location is correctly given in `fonts.css`. + +It surely makes sense to place the fonts into the same directory like "fonts.css", unless also used for other purposes. +(TODO: instead of a shared "resources" path perhaps there should be an entry just for fonts/fonts.css) + + +Example: + +The Wodo.TextEditor installation is in the path `/wodotexteditor` of the webserver. This requires that the fonts files are listed in +`/wodotexteditor/resources/fonts/fonts.css`. +There is a font with the font-family name "Gentium Basic" in file name `GenBasR.ttf`. The file is placed in `/wodotexteditor/resources/fonts`. +So it will be listed in `fonts.css` as + + @font-face { + font-family: "Gentium Basic"; + src: url("./GenBasR.ttf") format("truetype"); + font-weight: normal; + font-style: normal; + } + + +## F.A.Q + +1. Why is a document which is hosted on another server not loading? + + Web pages with the Wodo.TextEditor must be served with the flag to allow its code to access code from servers in other domains. See https://en.wikipedia.org/wiki/Cross-origin_resource_sharing diff --git a/main/inc/lib/javascript/wodotexteditor/README.md b/main/inc/lib/javascript/wodotexteditor/README.md new file mode 100644 index 0000000000..ad14b74efc --- /dev/null +++ b/main/inc/lib/javascript/wodotexteditor/README.md @@ -0,0 +1,39 @@ +## Wodo.TextEditor + +Wodo.TextEditor is an HTML5 Editor component for text documents in the OpenDocument format (ODT) created by [KO GmbH](http://kogmbh.com). + +It allows to add an OpenDocument Text editor with just a few lines of JavaScript to your website and to your mobile or desktop application. +It uses only HTML, CSS, and JavaScript and has no need for any server support. Powered by WebODF. + +* Visit the project homepage at: [WebODF](http://webodf.org) +* Want some live demos? Visit: [Wodo.TextEditor Demo](http://webodf.org/demo/) +* Get in contact, by the [mailing list](https://lists.opendocsociety.org/mailman/listinfo/webodf) or IRC (#webodf auf freenode, [Web access](http://webchat.freenode.net/?nick=wodotexteditorcurious_ghr&channels=webodf)) + +### License + +Wodo.TextEditor is a Free Software project. All code is available under the AGPL. + +If you are interested in using Wodo.TextEditor in your commercial product +(and do not want to disclose your sources / obey AGPL), +contact [KO GmbH](http://kogmbh.com) for a license suited to your needs. + + +### Supported Dependency/Package Managers + +This repository is explicitely done for dependency managers and package managers. +It only contains the files of builds created from released versions of Wodo.TextEditor, so +they can be directly deployed by those managers. + +Currently supported by this repository: +* [Bower](http://bower.io/), registered in the central Bower registry by: "wodo.texteditor" + +We are looking forward to support other managers as well, help welcome. + +To get tarballs of the released builds, go to http://webodf.org/download . + +For the sources see section [Sources](#Sources). + + +### Sources + +Find the sources of Wodo.TextEditor at https://github.com/kogmbh/WebODF/ . diff --git a/main/inc/lib/javascript/wodotexteditor/Tools.js b/main/inc/lib/javascript/wodotexteditor/Tools.js index b58f0ebd39..e5e2e9bab9 100644 --- a/main/inc/lib/javascript/wodotexteditor/Tools.js +++ b/main/inc/lib/javascript/wodotexteditor/Tools.js @@ -22,7 +22,7 @@ * @source: https://github.com/kogmbh/WebODF/ */ -/*global define,document,require,ops */ +/*global window, define, require, document, dijit, dojo, runtime, ops*/ define("webodf/editor/Tools", [ "dojo/ready", @@ -50,39 +50,44 @@ define("webodf/editor/Tools", [ onToolDone = args.onToolDone, loadOdtFile = args.loadOdtFile, saveOdtFile = args.saveOdtFile, + saveAsOdtFile = args.saveAsOdtFile, + downloadOdtFile = args.downloadOdtFile, close = args.close, toolbar, loadButton, saveButton, closeButton, aboutButton, + saveAsButton, downloadButton, formatDropDownMenu, formatMenuButton, - paragraphStylesMenuItem, paragraphStylesDialog, simpleStyles, currentStyle, - zoomSlider, - undoRedoMenu, + paragraphStylesMenuItem, paragraphStylesDialog, editorSession, - paragraphAlignment, - imageInserter, - annotationControl, - editHyperlinks, aboutDialog, sessionSubscribers = []; + function placeAndStartUpWidget(widget) { + widget.placeAt(toolbar); + widget.startup(); + } + /** * Creates a tool and installs it, if the enabled flag is set to true. * Only supports tool classes whose constructor has a single argument which * is a callback to pass the created widget object to. * @param {!function(new:Object, function(!Object):undefined)} Tool constructor method of the tool * @param {!boolean} enabled + * @param {!Object|undefined=} config * @return {?Object} */ - function createTool(Tool, enabled) { + function createTool(Tool, enabled, config) { var tool = null; if (enabled) { - tool = new Tool(function (widget) { - widget.placeAt(toolbar); - widget.startup(); - }); + if (config) { + tool = new Tool(config, placeAndStartUpWidget); + } else { + tool = new Tool(placeAndStartUpWidget); + } sessionSubscribers.push(tool); tool.onToolDone = onToolDone; + tool.setEditorSession(editorSession); } return tool; @@ -108,9 +113,12 @@ define("webodf/editor/Tools", [ sessionSubscribers.forEach(function (subscriber) { subscriber.setEditorSession(editorSession); }); - if (formatMenuButton) { - formatMenuButton.setAttribute('disabled', !editorSession); - } + + [saveButton, saveAsButton, downloadButton, closeButton, formatMenuButton].forEach(function (button) { + if (button) { + button.setAttribute('disabled', !editorSession); + } + }); } this.setEditorSession = setEditorSession; @@ -144,10 +152,7 @@ define("webodf/editor/Tools", [ aboutButton = new Button({ label: tr('About WebODF Text Editor'), showLabel: false, - iconClass: 'webodfeditor-dijitWebODFIcon', - style: { - float: 'left' - } + iconClass: 'webodfeditor-dijitWebODFIcon' }); aboutDialog = new AboutDialog(function (dialog) { aboutButton.onClick = function () { @@ -159,33 +164,12 @@ define("webodf/editor/Tools", [ aboutButton.placeAt(toolbar); } - // Undo/Redo - undoRedoMenu = createTool(UndoRedoMenu, args.undoRedoEnabled); - - // Add annotation - annotationControl = createTool(AnnotationControl, args.annotationsEnabled); - - // Simple Style Selector [B, I, U, S] - simpleStyles = createTool(SimpleStyles, args.directTextStylingEnabled); - - // Paragraph direct alignment buttons - paragraphAlignment = createTool(ParagraphAlignment, args.directParagraphStylingEnabled); - - // Paragraph Style Selector - currentStyle = createTool(CurrentStyle, args.paragraphStyleSelectingEnabled); - - // Zoom Level Selector - zoomSlider = createTool(ZoomSlider, args.zoomingEnabled); - // Load if (loadOdtFile) { loadButton = new Button({ label: tr('Open'), showLabel: false, iconClass: 'dijitIcon dijitIconFolderOpen', - style: { - float: 'left' - }, onClick: function () { loadOdtFile(); } @@ -198,10 +182,8 @@ define("webodf/editor/Tools", [ saveButton = new Button({ label: tr('Save'), showLabel: false, + disabled: true, iconClass: 'dijitEditorIcon dijitEditorIconSave', - style: { - float: 'left' - }, onClick: function () { saveOdtFile(); onToolDone(); @@ -210,6 +192,38 @@ define("webodf/editor/Tools", [ saveButton.placeAt(toolbar); } + // SaveAs + if (saveAsOdtFile) { + saveAsButton = new Button({ + label: tr('Save as...'), + showLabel: false, + disabled: true, + iconClass: 'webodfeditor-dijitSaveAsIcon', + onClick: function () { + saveAsOdtFile(); + onToolDone(); + } + }); + saveAsButton.placeAt(toolbar); + } + + // Download + if (downloadOdtFile) { + downloadButton = new Button({ + label: tr('Download'), + showLabel: true, + disabled: true, + style: { + float: 'right' + }, + onClick: function () { + downloadOdtFile(); + onToolDone(); + } + }); + downloadButton.placeAt(toolbar); + } + // Format menu if (args.paragraphStyleEditingEnabled) { formatDropDownMenu = new DropDownMenu({}); @@ -233,25 +247,41 @@ define("webodf/editor/Tools", [ dropDown: formatDropDownMenu, disabled: true, label: tr('Format'), - iconClass: "dijitIconEditTask", - style: { - float: 'left' - } + iconClass: "dijitIconEditTask" }); formatMenuButton.placeAt(toolbar); } + // Undo/Redo + createTool(UndoRedoMenu, args.undoRedoEnabled); + + // Add annotation + createTool(AnnotationControl, args.annotationsEnabled); + + // Simple Style Selector [B, I, U, S] + createTool(SimpleStyles, args.directTextStylingEnabled); + + // Paragraph direct alignment buttons + createTool(ParagraphAlignment, args.directParagraphStylingEnabled); + + // Paragraph Style Selector + createTool(CurrentStyle, args.paragraphStyleSelectingEnabled); + + // Zoom Level Selector + createTool(ZoomSlider, args.zoomingEnabled); + // hyper links - editHyperlinks = createTool(EditHyperlinks, args.hyperlinkEditingEnabled); + createTool(EditHyperlinks, args.hyperlinkEditingEnabled); // image insertion - imageInserter = createTool(ImageInserter, args.imageInsertingEnabled); + createTool(ImageInserter, args.imageInsertingEnabled); // close button if (close) { closeButton = new Button({ label: tr('Close'), showLabel: false, + disabled: true, iconClass: 'dijitEditorIcon dijitEditorIconCancel', style: { float: 'right' @@ -263,6 +293,23 @@ define("webodf/editor/Tools", [ closeButton.placeAt(toolbar); } + // This is an internal hook for debugging/testing. + // Yes, you discovered something interesting. But: + // Do NOT rely on it, it will not be supported and can and will change in any version. + // It is not officially documented for a reason. A real plugin system is only on the wishlist + // so far, please file your suggestions/needs at the official WebODF issue system. + // You have been warned. + if (window.wodo_plugins) { + window.wodo_plugins.forEach(function (plugin) { + runtime.log("Creating plugin: "+plugin.id); + require([plugin.id], function (Plugin) { + runtime.log("Creating as tool now: "+plugin.id); + createTool(Plugin, true, plugin.config); + }); + }); + + } + setEditorSession(editorSession); }); }; diff --git a/main/inc/lib/javascript/wodotexteditor/Translator.js b/main/inc/lib/javascript/wodotexteditor/Translator.js index cf6be7b464..434fb7b924 100644 --- a/main/inc/lib/javascript/wodotexteditor/Translator.js +++ b/main/inc/lib/javascript/wodotexteditor/Translator.js @@ -22,7 +22,7 @@ * @source: https://github.com/kogmbh/WebODF/ */ -/*global define, runtime, XMLHTTPRequest */ +/*global define, runtime, XMLHttpRequest */ define("webodf/editor/Translator", [], function () { "use strict"; @@ -40,8 +40,12 @@ define("webodf/editor/Translator", [], function () { newLocale = "de-DE"; } else if (newLocale.split('-')[0] === "nl" || newLocale.split('_')[0] === "nl") { newLocale = "nl-NL"; + } else if (newLocale.split('-')[0] === "fr" || newLocale.split('_')[0] === "fr") { + newLocale = "fr-FR"; } else if (newLocale.split('-')[0] === "it" || newLocale.split('_')[0] === "it") { newLocale = "it-IT"; + } else if (newLocale.split('-')[0] === "eu" || newLocale.split('_')[0] === "eu") { + newLocale = "eu"; } else if (newLocale.split('-')[0] === "en" || newLocale.split('_')[0] === "en") { newLocale = "en-US"; } else { diff --git a/main/inc/lib/javascript/wodotexteditor/dojo-amalgamation.js b/main/inc/lib/javascript/wodotexteditor/dojo-amalgamation.js index 20156d8a0f..11df941b88 100644 --- a/main/inc/lib/javascript/wodotexteditor/dojo-amalgamation.js +++ b/main/inc/lib/javascript/wodotexteditor/dojo-amalgamation.js @@ -1,806 +1,742 @@ //>>built -(function(g,k){var i,j,e=function(){},c=function(a){for(var d in a)return 0;return 1},h={}.toString,b=function(a){return"[object Function]"==h.call(a)},f=function(a){return"[object String]"==h.call(a)},a=function(a){return"[object Array]"==h.call(a)},l=function(a,d){if(a)for(var b=0;b")]),!a.def||d?ha:a.cjs&&a.cjs.exports;if(!a.executed){if(!a.def)return ha;var l=a.mid,f=a.deps||[],c,e=[],m=0;for(a.executed=4;m")]),!a.def||d?ha:a.cjs&&a.cjs.exports;if(!a.executed){if(!a.def)return ha;var l=a.mid,g=a.deps||[],c,e=[],m=0;for(a.executed=4;mg.attributes.length); -k.clearElement=function(g){g.innerHTML="";return g};k.normalize=function(g,j){var e=g.match(/[\?:]|[^:\?]*/g),c=0,h=function(b){var f=e[c++];if(":"==f)return 0;if("?"==e[c++]){if(!b&&k(f))return h();h(!0);return h(b)}return f||0};return(g=h())&&j(g)};k.load=function(g,j,e){g?j([g],e):e()};return k})},"dojo/_base/config":function(){define(["../has","require"],function(g,k){var i={},j=k.rawConfig,e;for(e in j)i[e]=j[e];return i})},"dojo/_base/array":function(){define(["./kernel","../has","./lang"], -function(g,k,i){function j(a){return h[a]=new Function("item","index","array",a)}function e(a){var b=!a;return function(d,f,c){var e=0,g=d&&d.length||0,i;g&&"string"==typeof d&&(d=d.split(""));"string"==typeof f&&(f=h[f]||j(f));if(c)for(;eh? -(h=j+h,0>h&&(h=d)):h=h>=j?j+c:h;for(j&&"string"==typeof e&&(e=e.split(""));h!=i;h+=l)if(e[h]==g)return h;return-1}}var h={},b,f={every:e(!1),some:e(!0),indexOf:c(!0),lastIndexOf:c(!1),forEach:function(a,b,d){var f=0,c=a&&a.length||0;c&&"string"==typeof a&&(a=a.split(""));"string"==typeof b&&(b=h[b]||j(b));if(d)for(;f=u&&(u=0,r.ioPublish&&g.publish&&(!a||a&&!1!==a.ioArgs.args.ioPublish)&&g.publish("/dojo/io/stop"))},u=0;p.after(m,"_onAction",function(){u-=1});p.after(m,"_onInFlight",t);g._ioCancelAll=m.cancelAll;g._ioNotifyStart=function(a){r.ioPublish&& -g.publish&&!1!==a.ioArgs.args.ioPublish&&(u||g.publish("/dojo/io/start"),u+=1,g.publish("/dojo/io/send",[a]))};g._ioWatch=function(b,d,f,c){b.ioArgs.options=b.ioArgs.args;a.mixin(b,{response:b.ioArgs,isValid:function(){return d(b)},isReady:function(){return f(b)},handleResponse:function(){return c(b)}});m(b);t(b)};g._ioAddQueryToUrl=function(a){if(a.query.length)a.url+=(-1==a.url.indexOf("?")?"?":"&")+a.query,a.query=null};g.xhr=function(a,b,d){var f,c=g._ioSetArgs(b,function(){f&&f.cancel()},v,s), -l=c.ioArgs;"postData"in b?l.query=b.postData:"putData"in b?l.query=b.putData:"rawBody"in b?l.query=b.rawBody:(2a?(c=j(h),h=""):(c=j(h.slice(0,a)),h=j(h.slice(a+1)));"string"==typeof e[c]&&(e[c]=[e[c]]);g.isArray(e[c])?e[c].push(h):e[c]=h}return e}}})},"dojo/dom":function(){define(["./sniff","./_base/lang","./_base/window"],function(g,k,i){if(7>=g("ie"))try{document.execCommand("BackgroundImageCache",!1,!0)}catch(j){}var e={};e.byId=g("ie")?function(c,e){if("string"!=typeof c)return c;var b=e||i.doc,f=c&&b.getElementById(c);if(f&&(f.attributes.id.value==c||f.id==c))return f;b=b.all[c];if(!b|| -b.nodeName)b=[b];for(var a=0;f=b[a++];)if(f.attributes&&f.attributes.id&&f.attributes.id.value==c||f.id==c)return f}:function(c,e){return("string"==typeof c?(e||i.doc).getElementById(c):c)||null};e.isDescendant=function(c,h){try{c=e.byId(c);for(h=e.byId(h);c;){if(c==h)return!0;c=c.parentNode}}catch(b){}return!1};e.setSelectable=function(c,h){c=e.byId(c);if(g("mozilla"))c.style.MozUserSelect=h?"":"none";else if(g("khtml")||g("webkit"))c.style.KhtmlUserSelect=h?"auto":"none";else if(g("ie"))for(var b= -c.unselectable=h?"":"on",f=c.getElementsByTagName("*"),a=0,l=f.length;a"file|submit|image|reset|button".indexOf(d)&&!a.disabled){var p=h,m=l,a=e.fieldToObject(a);if(null!==a){var n=p[m];"string"==typeof n?p[m]=[n,a]:g.isArray(n)?n.push(a):p[m]=a}if("image"==d)h[l+".x"]=h[l+".y"]=h[l].x=h[l].y=0}}return h},toQuery:function(c){return i.objectToQuery(e.toObject(c))},toJson:function(c, -g){return j.stringify(e.toObject(c),null,g?4:0)}};return e})},"dojo/json":function(){define(["./has"],function(g){var k="undefined"!=typeof JSON;g.add("json-parse",k);g.add("json-stringify",k&&'{"a":1}'==JSON.stringify({a:0},function(g,e){return e||1}));if(g("json-stringify"))return JSON;var i=function(g){return('"'+g.replace(/(["\\])/g,"\\$1")+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")};return{parse:g("json-parse")?JSON.parse: -function(g,e){if(e&&!/^([\s\[\{]*(?:"(?:\\.|[^"])+"|-?\d[\d\.]*(?:[Ee][+-]?\d+)?|null|true|false|)[\s\]\}]*(?:,|:|$))+$/.test(g))throw new SyntaxError("Invalid characters in JSON");return eval("("+g+")")},stringify:function(g,e,c){function h(f,a,l){e&&(f=e(l,f));var d;d=typeof f;if("number"==d)return isFinite(f)?f+"":"null";if("boolean"==d)return f+"";if(null===f)return"null";if("string"==typeof f)return i(f);if("function"==d||"undefined"==d)return b;if("function"==typeof f.toJSON)return h(f.toJSON(l), -a,l);if(f instanceof Date)return'"{FullYear}-{Month+}-{Date}T{Hours}:{Minutes}:{Seconds}Z"'.replace(/\{(\w+)(\+)?\}/g,function(a,b,d){a=f["getUTC"+b]()+(d?1:0);return 10>a?"0"+a:a});if(f.valueOf()!==f)return h(f.valueOf(),a,l);var g=c?a+c:"",m=c?" ":"",n=c?"\n":"";if(f instanceof Array){for(var m=f.length,o=[],l=0;l");}}})},"dojo/promise/tracer":function(){define(["../_base/lang","./Promise","../Evented"],function(g,k,i){function j(g){setTimeout(function(){c.apply(e,g)},0)}var e=new i,c=e.emit; -e.emit=null;k.prototype.trace=function(){var c=g._toArray(arguments);this.then(function(b){j(["resolved",b].concat(c))},function(b){j(["rejected",b].concat(c))},function(b){j(["progress",b].concat(c))});return this};k.prototype.traceRejected=function(){var c=g._toArray(arguments);this.otherwise(function(b){j(["rejected",b].concat(c))});return this};return e})},"dojo/Evented":function(){define("dojo/Evented",["./aspect","./on"],function(g,k){function i(){}var j=g.after;i.prototype={on:function(e,c){return k.parse(this, -e,c,function(e,b){return j(e,"on"+b,c,!0)})},emit:function(e,c){var g=[this];g.push.apply(g,arguments);return k.emit.apply(k,g)}};return i})},"dojo/aspect":function(){define("dojo/aspect",[],function(){function g(b,f,a,c){var d=b[f],e="around"==f,g;if(e){var h=a(function(){return d.advice(this,arguments)});g={remove:function(){g.cancelled=!0},advice:function(a,b){return g.cancelled?d.advice(a,b):h.apply(a,b)}}}else g={remove:function(){var a=g.previous,d=g.next;if(!d&&!a)delete b[f];else if(a?a.next= -d:b[f]=d,d)d.previous=a},id:j++,advice:a,receiveArguments:c};if(d&&!e)if("after"==f){for(a=d;a;)d=a,a=a.next;d.next=g;g.previous=d}else{if("before"==f)b[f]=g,g.next=d,d.previous=g}else b[f]=g;return g}function k(b){return function(f,a,c,d){var e=f[a],m;if(!e||e.target!=f){f[a]=m=function(){for(var a=j,b=arguments,d=m.before;d;)b=d.advice.apply(this,b)||b,d=d.next;if(m.around)var f=m.around.advice(this,b);for(d=m.after;d&&d.idf.attributes.length); +k.clearElement=function(f){f.innerHTML="";return f};k.normalize=function(f,j){var e=f.match(/[\?:]|[^:\?]*/g),c=0,i=function(b){var g=e[c++];if(":"==g)return 0;if("?"==e[c++]){if(!b&&k(g))return i();i(!0);return i(b)}return g||0};return(f=i())&&j(f)};k.load=function(f,j,e){f?j([f],e):e()};return k})},"dojo/_base/config":function(){define(["../has","require"],function(f,k){var h={},j=k.rawConfig,e;for(e in j)h[e]=j[e];return h})},"dojo/_base/array":function(){define(["./kernel","../has","./lang"], +function(f,k,h){function j(a){return i[a]=new Function("item","index","array",a)}function e(a){var b=!a;return function(d,g,c){var e=0,f=d&&d.length||0,h;f&&"string"==typeof d&&(d=d.split(""));"string"==typeof g&&(g=i[g]||j(g));if(c)for(;ei? +(i=j+i,0>i&&(i=d)):i=i>=j?j+c:i;for(j&&"string"==typeof e&&(e=e.split(""));i!=h;i+=l)if(e[i]==f)return i;return-1}}var i={},b,g={every:e(!1),some:e(!0),indexOf:c(!0),lastIndexOf:c(!1),forEach:function(a,b,d){var g=0,c=a&&a.length||0;c&&"string"==typeof a&&(a=a.split(""));"string"==typeof b&&(b=i[b]||j(b));if(d)for(;g=u&&(u=0,r.ioPublish&&f.publish&&(!a||a&&!1!==a.ioArgs.args.ioPublish)&&f.publish("/dojo/io/stop"))},u=0;p.after(m,"_onAction",function(){u-=1});p.after(m,"_onInFlight",t);f._ioCancelAll=m.cancelAll;f._ioNotifyStart=function(a){r.ioPublish&& +f.publish&&!1!==a.ioArgs.args.ioPublish&&(u||f.publish("/dojo/io/start"),u+=1,f.publish("/dojo/io/send",[a]))};f._ioWatch=function(b,d,g,c){b.ioArgs.options=b.ioArgs.args;a.mixin(b,{response:b.ioArgs,isValid:function(){return d(b)},isReady:function(){return g(b)},handleResponse:function(){return c(b)}});m(b);t(b)};f._ioAddQueryToUrl=function(a){if(a.query.length)a.url+=(-1==a.url.indexOf("?")?"?":"&")+a.query,a.query=null};f.xhr=function(a,b,d){var g,c=f._ioSetArgs(b,function(){g&&g.cancel()},v,s), +l=c.ioArgs;"postData"in b?l.query=b.postData:"putData"in b?l.query=b.putData:"rawBody"in b?l.query=b.rawBody:(2a?(c=j(i),i=""):(c=j(i.slice(0,a)),i=j(i.slice(a+1)));"string"==typeof e[c]&&(e[c]=[e[c]]);f.isArray(e[c])?e[c].push(i):e[c]=i}return e}}})},"dojo/dom":function(){define(["./sniff","./_base/lang","./_base/window"],function(f,k,h){if(7>=f("ie"))try{document.execCommand("BackgroundImageCache",!1,!0)}catch(j){}var e={};e.byId=f("ie")?function(c,e){if("string"!=typeof c)return c;var b=e||h.doc,g=c&&b.getElementById(c);if(g&&(g.attributes.id.value==c||g.id==c))return g;b=b.all[c];if(!b|| +b.nodeName)b=[b];for(var a=0;g=b[a++];)if(g.attributes&&g.attributes.id&&g.attributes.id.value==c||g.id==c)return g}:function(c,e){return("string"==typeof c?(e||h.doc).getElementById(c):c)||null};e.isDescendant=function(c,f){try{c=e.byId(c);for(f=e.byId(f);c;){if(c==f)return!0;c=c.parentNode}}catch(b){}return!1};e.setSelectable=function(c,i){c=e.byId(c);if(f("mozilla"))c.style.MozUserSelect=i?"":"none";else if(f("khtml")||f("webkit"))c.style.KhtmlUserSelect=i?"auto":"none";else if(f("ie"))for(var b= +c.unselectable=i?"":"on",g=c.getElementsByTagName("*"),a=0,l=g.length;a"file|submit|image|reset|button".indexOf(d)&&!a.disabled){var p=i,m=l,a=e.fieldToObject(a);if(null!==a){var n=p[m];"string"==typeof n?p[m]=[n,a]:f.isArray(n)?n.push(a):p[m]=a}if("image"==d)i[l+".x"]=i[l+".y"]=i[l].x=i[l].y=0}}return i},toQuery:function(c){return h.objectToQuery(e.toObject(c))},toJson:function(c, +f){return j.stringify(e.toObject(c),null,f?4:0)}};return e})},"dojo/json":function(){define(["./has"],function(f){var k="undefined"!=typeof JSON;f.add("json-parse",k);f.add("json-stringify",k&&'{"a":1}'==JSON.stringify({a:0},function(f,e){return e||1}));if(f("json-stringify"))return JSON;var h=function(f){return('"'+f.replace(/(["\\])/g,"\\$1")+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")};return{parse:f("json-parse")?JSON.parse: +function(f,e){if(e&&!/^([\s\[\{]*(?:"(?:\\.|[^"])+"|-?\d[\d\.]*(?:[Ee][+-]?\d+)?|null|true|false|)[\s\]\}]*(?:,|:|$))+$/.test(f))throw new SyntaxError("Invalid characters in JSON");return eval("("+f+")")},stringify:function(f,e,c){function i(g,a,l){e&&(g=e(l,g));var d;d=typeof g;if("number"==d)return isFinite(g)?g+"":"null";if("boolean"==d)return g+"";if(null===g)return"null";if("string"==typeof g)return h(g);if("function"==d||"undefined"==d)return b;if("function"==typeof g.toJSON)return i(g.toJSON(l), +a,l);if(g instanceof Date)return'"{FullYear}-{Month+}-{Date}T{Hours}:{Minutes}:{Seconds}Z"'.replace(/\{(\w+)(\+)?\}/g,function(a,b,d){a=g["getUTC"+b]()+(d?1:0);return 10>a?"0"+a:a});if(g.valueOf()!==g)return i(g.valueOf(),a,l);var f=c?a+c:"",m=c?" ":"",n=c?"\n":"";if(g instanceof Array){for(var m=g.length,o=[],l=0;l");}}})},"dojo/promise/tracer":function(){define(["../_base/lang","./Promise","../Evented"],function(f,k,h){function j(f){setTimeout(function(){c.apply(e,f)},0)}var e=new h,c=e.emit; +e.emit=null;k.prototype.trace=function(){var c=f._toArray(arguments);this.then(function(b){j(["resolved",b].concat(c))},function(b){j(["rejected",b].concat(c))},function(b){j(["progress",b].concat(c))});return this};k.prototype.traceRejected=function(){var c=f._toArray(arguments);this.otherwise(function(b){j(["rejected",b].concat(c))});return this};return e})},"dojo/Evented":function(){define("dojo/Evented",["./aspect","./on"],function(f,k){function h(){}var j=f.after;h.prototype={on:function(e,c){return k.parse(this, +e,c,function(e,b){return j(e,"on"+b,c,!0)})},emit:function(e,c){var f=[this];f.push.apply(f,arguments);return k.emit.apply(k,f)}};return h})},"dojo/aspect":function(){define("dojo/aspect",[],function(){function f(b,g,a,c){var d=b[g],e="around"==g,f;if(e){var i=a(function(){return d.advice(this,arguments)});f={remove:function(){f.cancelled=!0},advice:function(a,b){return f.cancelled?d.advice(a,b):i.apply(a,b)}}}else f={remove:function(){var a=f.previous,d=f.next;if(!d&&!a)delete b[g];else if(a?a.next= +d:b[g]=d,d)d.previous=a},id:j++,advice:a,receiveArguments:c};if(d&&!e)if("after"==g){for(a=d;a;)d=a,a=a.next;d.next=f;f.previous=d}else{if("before"==g)b[g]=f,f.next=d,d.previous=f}else b[g]=f;return f}function k(b){return function(g,a,c,d){var e=g[a],m;if(!e||e.target!=g){g[a]=m=function(){for(var a=j,b=arguments,d=m.before;d;)b=d.advice.apply(this,b)||b,d=d.next;if(m.around)var g=m.around.advice(this,b);for(d=m.after;d&&d.idi("jscript"))&&!i("config-_allow_leaks")){"undefined"==typeof _dojoIEListeners_&&(_dojoIEListeners_=[]);var f=a[b];if(!f||!f.listeners){var c=f,f=Function("event","var callee = arguments.callee; for(var i = 0; ia||304===a||1223===a||!a}})},"dojo/errors/RequestError":function(){define(["./create"],function(g){return g("RequestError",function(g,i){this.response=i})})},"dojo/errors/RequestTimeoutError":function(){define(["./create","./RequestError"],function(g, -k){return g("RequestTimeoutError",null,k,{dojoType:"timeout"})})},"dojo/request/xhr":function(){define(["../errors/RequestError","./watch","./handlers","./util","../has"],function(g,k,i,j,e){function c(a,b){var d=a.xhr;a.status=a.xhr.status;a.text=d.responseText;if("xml"===a.options.handleAs)a.data=d.responseXML;if(!b)try{i(a)}catch(f){b=f}b?this.reject(b):j.checkStatus(d.status)?this.resolve(a):(b=new g("Unable to load "+a.url+" status: "+d.status,a),this.reject(b))}function h(m,i,n){var v=j.parseArgs(m, -j.deepCreate(p,i),e("native-formdata")&&i&&i.data&&i.data instanceof FormData),m=v.url,i=v.options,s,t=j.deferred(v,l,b,f,c,function(){s&&s()}),u=v.xhr=h._create();if(!u)return t.cancel(new g("XHR was not created")),n?t:t.promise;v.getHeader=function(a){return this.xhr.getResponseHeader(a)};a&&(s=a(u,t,v));var y=i.data,z=!i.sync,I=i.method;try{u.open(I,m,z,i.user||d,i.password||d);if(i.withCredentials)u.withCredentials=i.withCredentials;var J=i.headers,N;if(J)for(var E in J)"content-type"===E.toLowerCase()? +a};o.prototype.remove=function(){delete _dojoIEListeners_[this.handle]};var r=function(a){return function(d){var d=b._fixEvent(d,this),g=a.call(this,d);d.modified&&(n||setTimeout(function(){n=null}),n=d);return g}},q=function(a,b,d){d=r(d);if(((a.ownerDocument?a.ownerDocument.parentWindow:a.parentWindow||a.window||window)!=top||5.8>h("jscript"))&&!h("config-_allow_leaks")){"undefined"==typeof _dojoIEListeners_&&(_dojoIEListeners_=[]);var g=a[b];if(!g||!g.listeners){var c=g,g=Function("event","var callee = arguments.callee; for(var i = 0; ia||304===a||1223===a||!a}})},"dojo/errors/RequestError":function(){define(["./create"],function(f){return f("RequestError",function(f,h){this.response=h})})},"dojo/errors/RequestTimeoutError":function(){define(["./create","./RequestError"],function(f, +k){return f("RequestTimeoutError",null,k,{dojoType:"timeout"})})},"dojo/request/xhr":function(){define(["../errors/RequestError","./watch","./handlers","./util","../has"],function(f,k,h,j,e){function c(a,b){var d=a.xhr;a.status=a.xhr.status;a.text=d.responseText;if("xml"===a.options.handleAs)a.data=d.responseXML;if(!b)try{h(a)}catch(g){b=g}b?this.reject(b):j.checkStatus(d.status)?this.resolve(a):(b=new f("Unable to load "+a.url+" status: "+d.status,a),this.reject(b))}function i(m,h,n){var v=j.parseArgs(m, +j.deepCreate(p,h),e("native-formdata")&&h&&h.data&&h.data instanceof FormData),m=v.url,h=v.options,s,t=j.deferred(v,l,b,g,c,function(){s&&s()}),u=v.xhr=i._create();if(!u)return t.cancel(new f("XHR was not created")),n?t:t.promise;v.getHeader=function(a){return this.xhr.getResponseHeader(a)};a&&(s=a(u,t,v));var y=h.data,z=!h.sync,I=h.method;try{u.open(I,m,z,h.user||d,h.password||d);if(h.withCredentials)u.withCredentials=h.withCredentials;var J=h.headers,N;if(J)for(var E in J)"content-type"===E.toLowerCase()? N=J[E]:J[E]&&u.setRequestHeader(E,J[E]);N&&!1!==N&&u.setRequestHeader("Content-Type",N);(!J||!("X-Requested-With"in J))&&u.setRequestHeader("X-Requested-With","XMLHttpRequest");j.notify&&j.notify.emit("send",v,t.promise.cancel);u.send(y)}catch(S){t.reject(S)}k(t);u=null;return n?t:t.promise}e.add("native-xhr",function(){return"undefined"!==typeof XMLHttpRequest});e.add("dojo-force-activex-xhr",function(){return e("activex")&&!document.addEventListener&&"file:"===window.location.protocol});e.add("native-xhr2", -function(){if(e("native-xhr")){var a=new XMLHttpRequest;return"undefined"!==typeof a.addEventListener&&("undefined"===typeof opera||"undefined"!==typeof a.upload)}});e.add("native-formdata",function(){return"function"===typeof FormData});var b,f,a,l;e("native-xhr2")?(b=function(){return!this.isFulfilled()},l=function(a,b){b.xhr.abort()},a=function(a,b,d){function f(){b.handleResponse(d)}function c(a){a=new g("Unable to load "+d.url+" status: "+a.target.status,d);b.handleResponse(d,a)}function e(a){if(a.lengthComputable)d.loaded= -a.loaded,d.total=a.total,b.progress(d)}a.addEventListener("load",f,!1);a.addEventListener("error",c,!1);a.addEventListener("progress",e,!1);return function(){a.removeEventListener("load",f,!1);a.removeEventListener("error",c,!1);a.removeEventListener("progress",e,!1)}}):(b=function(a){return a.xhr.readyState},f=function(a){return 4===a.xhr.readyState},l=function(a,b){var d=b.xhr,f=typeof d.abort;("function"===f||"object"===f||"unknown"===f)&&d.abort()});var d,p={data:null,query:null,sync:!1,method:"GET", -headers:{"Content-Type":"application/x-www-form-urlencoded"}};h._create=function(){throw Error("XMLHTTP not available");};if(e("native-xhr")&&!e("dojo-force-activex-xhr"))h._create=function(){return new XMLHttpRequest};else if(e("activex"))try{new ActiveXObject("Msxml2.XMLHTTP"),h._create=function(){return new ActiveXObject("Msxml2.XMLHTTP")}}catch(m){try{new ActiveXObject("Microsoft.XMLHTTP"),h._create=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}catch(n){}}j.addCommonMethods(h);return h})}, -"dojo/request/handlers":function(){define(["../json","../_base/kernel","../_base/array","../has"],function(g,k,i,j){function e(f){var a=b[f.options.handleAs];f.data=a?a(f):f.data||f.text;return f}j.add("activex","undefined"!==typeof ActiveXObject);var c;if(j("activex")){var h=["Msxml2.DOMDocument.6.0","Msxml2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML.DOMDocument"];c=function(b){var a=b.data;if(!a||!a.documentElement){var c=b.text;i.some(h,function(b){try{var f=new ActiveXObject(b);f.async= -!1;f.loadXML(c);a=f}catch(e){return!1}return!0})}return a}}var b={javascript:function(b){return k.eval(b.text||"")},json:function(b){return g.parse(b.text||null)},xml:c};e.register=function(f,a){b[f]=a};return e})},"dojo/main":function(){define("./_base/kernel,./has,require,./sniff,./_base/lang,./_base/array,./_base/config,./ready,./_base/declare,./_base/connect,./_base/Deferred,./_base/json,./_base/Color,./has!dojo-firebug?./_firebug/firebug,./_base/browser,require".split(","),function(g,k,i,j,e, -c,h,b){h.isDebug&&i(["./_firebug/firebug"]);var f=h.require;f&&(f=c.map(e.isArray(f)?f:[f],function(a){return a.replace(/\./g,"/")}),g.isAsync?i(f):b(1,function(){i(f)}));return g})},"dojo/ready":function(){define(["./_base/kernel","./has","require","./domReady","./_base/lang"],function(g,k,i,j,e){var c=0,h,b=[],f=0,a=function(){if(c&&!f&&b.length){f=1;var d=b.shift();try{d()}finally{f=0}f=0;b.length&&h(a)}};i.on("idle",a);h=function(){i.idle()&&a()};var k=g.ready=g.addOnLoad=function(a,f,c){var l= -e._toArray(arguments);"number"!=typeof a?(c=f,f=a,a=1E3):l.shift();c=c?e.hitch.apply(g,l):function(){f()};c.priority=a;for(l=0;l=b[l].priority;l++);b.splice(l,0,c);h()},l=g.config.addOnLoad;if(l)k[e.isArray(l)?"apply":"call"](g,l);j(function(){c=1;g._postLoad=g.config.afterOnLoad=!0;b.length&&h(a)});return k})},"dojo/domReady":function(){define(["./has"],function(g){function k(a){h?a(j):b.push(a)}var i=this,j=document,e={loaded:1,complete:1},c="string"!=typeof j.readyState,h=!!e[j.readyState]; -if(c)j.readyState="loading";if(!h){var b=[],f=[],a=function(a){a=a||i.event;if(!(h||"readystatechange"==a.type&&!e[j.readyState])){h=1;if(c)j.readyState="complete";for(;b.length;)b.shift()(j)}},l=function(d,f){d.addEventListener(f,a,!1);b.push(function(){d.removeEventListener(f,a,!1)})};if(!g("dom-addeventlistener")){var l=function(d,f){f="on"+f;d.attachEvent(f,a);b.push(function(){d.detachEvent(f,a)})},d=j.createElement("div");try{d.doScroll&&null===i.frameElement&&f.push(function(){try{return d.doScroll("left"), -1}catch(a){}})}catch(p){}}l(j,"DOMContentLoaded");l(i,"load");"onreadystatechange"in j?l(j,"readystatechange"):c||f.push(function(){return e[j.readyState]});if(f.length){var m=function(){if(!h){for(var b=f.length;b--;)if(f[b]()){a("poller");return}setTimeout(m,30)}};m()}}k.load=function(a,b,d){k(d)};return k})},"dojo/_base/declare":function(){define(["./kernel","../has","./lang"],function(g,k,i){function j(a,b){throw Error("declare"+(b?" "+b:"")+": "+a);}function e(a,b,d){var f,c,e,l,g,h,m,i=this._inherited= -this._inherited||{};"string"==typeof a&&(f=a,a=b,b=d);d=0;l=a.callee;(f=f||l.nom)||j("can't deduce a name to call inherited()",this.declaredClass);g=this.constructor._meta;e=g.bases;m=i.p;if(f!=z){if(i.c!==l&&(m=0,h=e[0],g=h._meta,g.hidden[f]!==l)){(c=g.chains)&&"string"==typeof c[f]&&j("calling chained method with inherited: "+f,this.declaredClass);do if(g=h._meta,c=h.prototype,g&&(c[f]===l&&c.hasOwnProperty(f)||g.hidden[f]===l))break;while(h=e[++m]);m=h?m:-1}if(h=e[++m])if(c=h.prototype,h._meta&& -c.hasOwnProperty(f))d=c[f];else{l=s[f];do if(c=h.prototype,(d=c[f])&&(h._meta?c.hasOwnProperty(f):d!==l))break;while(h=e[++m])}d=h&&d||s[f]}else{if(i.c!==l&&(m=0,(g=e[0]._meta)&&g.ctor!==l)){c=g.chains;for((!c||"manual"!==c.constructor)&&j("calling chained constructor with inherited",this.declaredClass);(h=e[++m])&&!((g=h._meta)&&g.ctor===l););m=h?m:-1}for(;(h=e[++m])&&!(d=(g=h._meta)?g.ctor:h););d=h&&d}i.c=d;i.p=m;if(d)return!0===b?d:d.apply(this,b||a)}function c(a,b){return"string"==typeof a?this.__inherited(a, -b,!0):this.__inherited(a,!0)}function h(a,b,d){var f=this.getInherited(a,b);if(f)return f.apply(this,d||b||a)}function b(a){for(var b=this.constructor._meta.bases,d=0,f=b.length;d=b[l].priority;l++);b.splice(l,0,c);i()},l=f.config.addOnLoad;if(l)k[e.isArray(l)?"apply":"call"](f,l);j(function(){c=1;f._postLoad=f.config.afterOnLoad=!0;b.length&&i(a)});return k})},"dojo/domReady":function(){define(["./has"],function(f){function k(a){i?a(j):b.push(a)}var h=this,j=document,e={loaded:1,complete:1},c="string"!=typeof j.readyState,i=!!e[j.readyState]; +if(c)j.readyState="loading";if(!i){var b=[],g=[],a=function(a){a=a||h.event;if(!(i||"readystatechange"==a.type&&!e[j.readyState])){i=1;if(c)j.readyState="complete";for(;b.length;)b.shift()(j)}},l=function(d,g){d.addEventListener(g,a,!1);b.push(function(){d.removeEventListener(g,a,!1)})};if(!f("dom-addeventlistener")){var l=function(d,g){g="on"+g;d.attachEvent(g,a);b.push(function(){d.detachEvent(g,a)})},d=j.createElement("div");try{d.doScroll&&null===h.frameElement&&g.push(function(){try{return d.doScroll("left"), +1}catch(a){}})}catch(p){}}l(j,"DOMContentLoaded");l(h,"load");"onreadystatechange"in j?l(j,"readystatechange"):c||g.push(function(){return e[j.readyState]});if(g.length){var m=function(){if(!i){for(var b=g.length;b--;)if(g[b]()){a("poller");return}setTimeout(m,30)}};m()}}k.load=function(a,b,d){k(d)};return k})},"dojo/_base/declare":function(){define(["./kernel","../has","./lang"],function(f,k,h){function j(a,b){throw Error("declare"+(b?" "+b:"")+": "+a);}function e(a,b,d){var g,c,e,l,f,m,i,h=this._inherited= +this._inherited||{};"string"==typeof a&&(g=a,a=b,b=d);d=0;l=a.callee;(g=g||l.nom)||j("can't deduce a name to call inherited()",this.declaredClass);f=this.constructor._meta;e=f.bases;i=h.p;if(g!=z){if(h.c!==l&&(i=0,m=e[0],f=m._meta,f.hidden[g]!==l)){(c=f.chains)&&"string"==typeof c[g]&&j("calling chained method with inherited: "+g,this.declaredClass);do if(f=m._meta,c=m.prototype,f&&(c[g]===l&&c.hasOwnProperty(g)||f.hidden[g]===l))break;while(m=e[++i]);i=m?i:-1}if(m=e[++i])if(c=m.prototype,m._meta&& +c.hasOwnProperty(g))d=c[g];else{l=s[g];do if(c=m.prototype,(d=c[g])&&(m._meta?c.hasOwnProperty(g):d!==l))break;while(m=e[++i])}d=m&&d||s[g]}else{if(h.c!==l&&(i=0,(f=e[0]._meta)&&f.ctor!==l)){c=f.chains;for((!c||"manual"!==c.constructor)&&j("calling chained constructor with inherited",this.declaredClass);(m=e[++i])&&!((f=m._meta)&&f.ctor===l););i=m?i:-1}for(;(m=e[++i])&&!(d=(f=m._meta)?f.ctor:m););d=m&&d}h.c=d;h.p=i;if(d)return!0===b?d:d.apply(this,b||a)}function c(a,b){return"string"==typeof a?this.__inherited(a, +b,!0):this.__inherited(a,!0)}function i(a,b,d){var g=this.getInherited(a,b);if(g)return g.apply(this,d||b||a)}function b(a){for(var b=this.constructor._meta.bases,d=0,g=b.length;dd||90d||111d||192d||222f?f-48:!a.shiftKey&&65<=f&&90>=f?f+32:l[f]||f}d=p(a,{type:"keypress",faux:!0,charCode:f});b.call(a.currentTarget,d);if(h("ie"))try{a.keyCode=d.keyCode}catch(c){}}}),f=k(a,"keypress",function(a){var d=a.charCode,a=p(a,{charCode:32<=d?d:0,faux:!0});return b.call(this,a)});return{remove:function(){d.remove();f.remove()}}}:h("opera")?function(a,b){return k(a,"keypress",function(a){var d=a.which;3==d&&(d=99);d=32>d&&!a.shiftKey?0:d;a.ctrlKey&&!a.shiftKey&&65<=d&&90>=d&&(d+=32);return b.call(this,p(a, -{charCode:d}))})}:function(b,d){return k(b,"keypress",function(b){a(b);return d.call(this,b)})};var n={_keypress:m,connect:function(a,b,d,c,e){var l=arguments,g=[],h=0;g.push("string"==typeof l[0]?null:l[h++],l[h++]);var m=l[h+1];g.push("string"==typeof m||"function"==typeof m?l[h++]:null,l[h++]);for(m=l.length;hg("ie")){var b=a.getBoundingClientRect(),d=b.left,b=b.top;7>g("ie")&&(d+=a.clientLeft,b+=a.clientTop);return{x:0>d?0:d,y:0>b?0:b}}return{x:0,y:0}};b.fixIeBiDiScrollLeft=function(a,f){var f=f||k.doc,d=g("ie");if(d&&!b.isBodyLtr(f)){var c= -g("quirks"),e=c?k.body(f):f.documentElement,h=k.global;6==d&&!c&&h.frameElement&&e.scrollHeight>e.clientHeight&&(a+=e.clientLeft);return 8>d||c?a+e.clientWidth-e.scrollWidth:-a}return a};b.position=function(a,f){var a=i.byId(a),d=k.body(a.ownerDocument),c=a.getBoundingClientRect(),c={x:c.left,y:c.top,w:c.right-c.left,h:c.bottom-c.top};if(g("ie")){var e=b.getIeDocumentElementOffset(a.ownerDocument);c.x-=e.x+(g("quirks")?d.clientLeft+d.offsetLeft:0);c.y-=e.y+(g("quirks")?d.clientTop+d.offsetTop:0)}f&& -(d=b.docScroll(a.ownerDocument),c.x+=d.x,c.y+=d.y);return c};b.getMarginSize=function(a,f){var a=i.byId(a),d=b.getMarginExtents(a,f||j.getComputedStyle(a)),c=a.getBoundingClientRect();return{w:c.right-c.left+d.w,h:c.bottom-c.top+d.h}};b.normalizeEvent=function(a){if(!("layerX"in a))a.layerX=a.offsetX,a.layerY=a.offsetY;if(!g("dom-addeventlistener")){var f=a.target,f=f&&f.ownerDocument||document,d=g("quirks")?f.body:f.documentElement,c=b.getIeDocumentElementOffset(f);a.pageX=a.clientX+b.fixIeBiDiScrollLeft(d.scrollLeft|| -0,f)-c.x;a.pageY=a.clientY+(d.scrollTop||0)-c.y}};return b})},"dojo/dom-style":function(){define(["./sniff","./dom"],function(g,k){function i(b,d,f){d=d.toLowerCase();if(g("ie")){if("auto"==f){if("height"==d)return b.offsetHeight;if("width"==d)return b.offsetWidth}if("fontweight"==d)switch(f){case 700:return"bold";default:return"normal"}}d in a||(a[d]=l.test(d));return a[d]?c(b,f):f}var j,e={};j=g("webkit")?function(a){var b;if(1==a.nodeType){var d=a.ownerDocument.defaultView;b=d.getComputedStyle(a, -null);if(!b&&a.style)a.style.display="",b=d.getComputedStyle(a,null)}return b||{}}:g("ie")&&(9>g("ie")||g("quirks"))?function(a){return 1==a.nodeType&&a.currentStyle?a.currentStyle:{}}:function(a){return 1==a.nodeType?a.ownerDocument.defaultView.getComputedStyle(a,null):{}};e.getComputedStyle=j;var c;c=g("ie")?function(a,b){if(!b)return 0;if("medium"==b)return 4;if(b.slice&&"px"==b.slice(-2))return parseFloat(b);var d=a.style,f=a.runtimeStyle,c=d.left,e=f.left;f.left=a.currentStyle.left;try{d.left= -b,b=d.pixelLeft}catch(l){b=0}d.left=c;f.left=e;return b}:function(a,b){return parseFloat(b)||0};e.toPixelValue=c;var h=function(a,b){try{return a.filters.item("DXImageTransform.Microsoft.Alpha")}catch(d){return b?{}:null}},b=9>g("ie")||g("ie")&&g("quirks")?function(a){try{return h(a).Opacity/100}catch(b){return 1}}:function(a){return j(a).opacity},f=9>g("ie")||g("ie")&&g("quirks")?function(a,b){var d=100*b,c=1==b;a.style.zoom=c?"":1;if(h(a))h(a,1).Opacity=d;else{if(c)return b;a.style.filter+=" progid:DXImageTransform.Microsoft.Alpha(Opacity="+ -d+")"}h(a,1).Enabled=!c;if("tr"==a.tagName.toLowerCase())for(d=a.firstChild;d;d=d.nextSibling)"td"==d.tagName.toLowerCase()&&f(d,b);return b}:function(a,b){return a.style.opacity=b},a={left:!0,top:!0},l=/margin|padding|width|height|max|min|offset/,d=g("ie")?"styleFloat":"cssFloat",p={cssFloat:d,styleFloat:d,"float":d};e.get=function(a,d){var f=k.byId(a),c=arguments.length;if(2==c&&"opacity"==d)return b(f);var d=p[d]||d,l=e.getComputedStyle(f);return 1==c?l:i(f,d,l[d]||f.style[d])};e.set=function(a, -b,d){var c=k.byId(a),l=arguments.length,g="opacity"==b,b=p[b]||b;if(3==l)return g?f(c,d):c.style[b]=d;for(var h in b)e.set(a,h,b[h]);return e.getComputedStyle(c)};return e})},"dojo/mouse":function(){define(["./_base/kernel","./on","./has","./dom","./_base/window"],function(g,k,i,j,e){function c(e,b){var f=function(a,f){return k(a,e,function(d){if(b)return b(d,f);if(!j.isDescendant(d.relatedTarget,a))return f.call(this,d)})};f.bubble=function(a){return c(e,function(b,d){var f=a(b.target),c=b.relatedTarget; -if(f&&f!=(c&&1==c.nodeType&&a(c)))return d.call(f,b)})};return f}i.add("dom-quirks",e.doc&&"BackCompat"==e.doc.compatMode);i.add("events-mouseenter",e.doc&&"onmouseenter"in e.doc.createElement("div"));i.add("events-mousewheel",e.doc&&"onmousewheel"in e.doc);e=i("dom-quirks")&&i("ie")||!i("dom-addeventlistener")?{LEFT:1,MIDDLE:4,RIGHT:2,isButton:function(c,b){return c.button&b},isLeft:function(c){return c.button&1},isMiddle:function(c){return c.button&4},isRight:function(c){return c.button&2}}:{LEFT:0, -MIDDLE:1,RIGHT:2,isButton:function(c,b){return c.button==b},isLeft:function(c){return 0==c.button},isMiddle:function(c){return 1==c.button},isRight:function(c){return 2==c.button}};g.mouseButtons=e;g=i("events-mousewheel")?"mousewheel":function(c,b){return k(c,"DOMMouseScroll",function(f){f.wheelDelta=-f.detail;b.call(this,f)})};return{_eventHandler:c,enter:c("mouseover"),leave:c("mouseout"),wheel:g,isLeft:e.isLeft,isMiddle:e.isMiddle,isRight:e.isRight}})},"dojo/keys":function(){define(["./_base/kernel", -"./sniff"],function(g,k){return g.keys={BACKSPACE:8,TAB:9,CLEAR:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,META:k("webkit")?91:224,PAUSE:19,CAPS_LOCK:20,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,INSERT:45,DELETE:46,HELP:47,LEFT_WINDOW:91,RIGHT_WINDOW:92,SELECT:93,NUMPAD_0:96,NUMPAD_1:97,NUMPAD_2:98,NUMPAD_3:99,NUMPAD_4:100,NUMPAD_5:101,NUMPAD_6:102,NUMPAD_7:103,NUMPAD_8:104,NUMPAD_9:105,NUMPAD_MULTIPLY:106,NUMPAD_PLUS:107,NUMPAD_ENTER:108, -NUMPAD_MINUS:109,NUMPAD_PERIOD:110,NUMPAD_DIVIDE:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,NUM_LOCK:144,SCROLL_LOCK:145,UP_DPAD:175,DOWN_DPAD:176,LEFT_DPAD:177,RIGHT_DPAD:178,copyKey:k("mac")&&!k("air")?k("safari")?91:224:17}})},"dojo/_base/Color":function(){define(["./kernel","./lang","./array","./config"],function(g,k,i,j){var e=g.Color=function(c){c&&this.setColor(c)};e.named={black:[0,0,0],silver:[192,192,192],gray:[128, -128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255],transparent:j.transparentColor||[0,0,0,0]};k.extend(e,{r:255,g:255,b:255,a:1,_set:function(c,e,b,f){this.r=c;this.g=e;this.b=b;this.a=f},setColor:function(c){k.isString(c)?e.fromString(c,this):k.isArray(c)?e.fromArray(c,this):(this._set(c.r,c.g,c.b,c.a),c instanceof e|| -this.sanitize());return this},sanitize:function(){return this},toRgb:function(){return[this.r,this.g,this.b]},toRgba:function(){return[this.r,this.g,this.b,this.a]},toHex:function(){return"#"+i.map(["r","g","b"],function(c){c=this[c].toString(16);return 2>c.length?"0"+c:c},this).join("")},toCss:function(c){var e=this.r+", "+this.g+", "+this.b;return(c?"rgba("+e+", "+this.a:"rgb("+e)+")"},toString:function(){return this.toCss(!0)}});e.blendColors=g.blendColors=function(c,g,b,f){var a=f||new e;i.forEach(["r", -"g","b","a"],function(f){a[f]=c[f]+(g[f]-c[f])*b;"a"!=f&&(a[f]=Math.round(a[f]))});return a.sanitize()};e.fromRgb=g.colorFromRgb=function(c,g){var b=c.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/);return b&&e.fromArray(b[1].split(/\s*,\s*/),g)};e.fromHex=g.colorFromHex=function(c,g){var b=g||new e,f=4==c.length?4:8,a=(1<>=f;b[e]=4==f?17*d:d});b.a=1;return b};e.fromArray=g.colorFromArray=function(c, -g){var b=g||new e;b._set(Number(c[0]),Number(c[1]),Number(c[2]),Number(c[3]));if(isNaN(b.a))b.a=1;return b.sanitize()};e.fromString=g.colorFromString=function(c,g){var b=e.named[c];return b&&e.fromArray(b,g)||e.fromRgb(c,g)||e.fromHex(c,g)};return e})},"dojo/_base/browser":function(){require.has&&require.has.add("config-selectorEngine","acme");define("../ready,./kernel,./connect,./unload,./window,./event,./html,./NodeList,../query,./xhr,./fx".split(","),function(g){return g})},"dojo/_base/unload":function(){define(["./kernel", -"./lang","../on"],function(g,k,i){var j=window,e={addOnWindowUnload:function(c,e){if(!g.windowUnloaded)i(j,"unload",g.windowUnloaded=function(){});i(j,"unload",k.hitch(c,e))},addOnUnload:function(c,e){i(j,"beforeunload",k.hitch(c,e))}};g.addOnWindowUnload=e.addOnWindowUnload;g.addOnUnload=e.addOnUnload;return e})},"dojo/_base/html":function(){define("./kernel,../dom,../dom-style,../dom-attr,../dom-prop,../dom-class,../dom-construct,../dom-geometry".split(","),function(g,k,i,j,e,c,h,b){g.byId=k.byId; -g.isDescendant=k.isDescendant;g.setSelectable=k.setSelectable;g.getAttr=j.get;g.setAttr=j.set;g.hasAttr=j.has;g.removeAttr=j.remove;g.getNodeProp=j.getNodeProp;g.attr=function(b,a,c){return 2==arguments.length?j["string"==typeof a?"get":"set"](b,a):j.set(b,a,c)};g.hasClass=c.contains;g.addClass=c.add;g.removeClass=c.remove;g.toggleClass=c.toggle;g.replaceClass=c.replace;g._toDom=g.toDom=h.toDom;g.place=h.place;g.create=h.create;g.empty=function(b){h.empty(b)};g._destroyElement=g.destroy=function(b){h.destroy(b)}; -g._getPadExtents=g.getPadExtents=b.getPadExtents;g._getBorderExtents=g.getBorderExtents=b.getBorderExtents;g._getPadBorderExtents=g.getPadBorderExtents=b.getPadBorderExtents;g._getMarginExtents=g.getMarginExtents=b.getMarginExtents;g._getMarginSize=g.getMarginSize=b.getMarginSize;g._getMarginBox=g.getMarginBox=b.getMarginBox;g.setMarginBox=b.setMarginBox;g._getContentBox=g.getContentBox=b.getContentBox;g.setContentSize=b.setContentSize;g._isBodyLtr=g.isBodyLtr=b.isBodyLtr;g._docScroll=g.docScroll= -b.docScroll;g._getIeDocumentElementOffset=g.getIeDocumentElementOffset=b.getIeDocumentElementOffset;g._fixIeBiDiScrollLeft=g.fixIeBiDiScrollLeft=b.fixIeBiDiScrollLeft;g.position=b.position;g.marginBox=function(f,a){return a?b.setMarginBox(f,a):b.getMarginBox(f)};g.contentBox=function(f,a){return a?b.setContentSize(f,a):b.getContentBox(f)};g.coords=function(f,a){g.deprecated("dojo.coords()","Use dojo.position() or dojo.marginBox().");var f=k.byId(f),c=i.getComputedStyle(f),c=b.getMarginBox(f,c),d= -b.position(f,a);c.x=d.x;c.y=d.y;return c};g.getProp=e.get;g.setProp=e.set;g.prop=function(b,a,c){return 2==arguments.length?e["string"==typeof a?"get":"set"](b,a):e.set(b,a,c)};g.getStyle=i.get;g.setStyle=i.set;g.getComputedStyle=i.getComputedStyle;g.__toPixelValue=g.toPixelValue=i.toPixelValue;g.style=function(b,a,c){switch(arguments.length){case 1:return i.get(b);case 2:return i["string"==typeof a?"get":"set"](b,a)}return i.set(b,a,c)};return g})},"dojo/dom-attr":function(){define("exports,./sniff,./_base/lang,./dom,./dom-style,./dom-prop".split(","), -function(g,k,i,j,e,c){function h(a,b){var d=a.getAttributeNode&&a.getAttributeNode(b);return d&&d.specified}var b={innerHTML:1,className:1,htmlFor:k("ie"),value:1},f={classname:"class",htmlfor:"for",tabindex:"tabIndex",readonly:"readOnly"};g.has=function(a,e){var d=e.toLowerCase();return b[c.names[d]||e]||h(j.byId(a),f[d]||e)};g.get=function(a,e){var a=j.byId(a),d=e.toLowerCase(),g=c.names[d]||e,m=a[g];if(b[g]&&"undefined"!=typeof m||"href"!=g&&("boolean"==typeof m||i.isFunction(m)))return m;d=f[d]|| -e;return h(a,d)?a.getAttribute(d):null};g.set=function(a,l,d){a=j.byId(a);if(2==arguments.length){for(var h in l)g.set(a,h,l[h]);return a}h=l.toLowerCase();var m=c.names[h]||l,k=b[m];if("style"==m&&"string"!=typeof d)return e.set(a,d),a;if(k||"boolean"==typeof d||i.isFunction(d))return c.set(a,l,d);a.setAttribute(f[h]||l,d);return a};g.remove=function(a,b){j.byId(a).removeAttribute(f[b.toLowerCase()]||b)};g.getNodeProp=function(a,b){var a=j.byId(a),d=b.toLowerCase(),e=c.names[d]||b;if(e in a&&"href"!= -e)return a[e];d=f[d]||b;return h(a,d)?a.getAttribute(d):null}})},"dojo/dom-prop":function(){define("exports,./_base/kernel,./sniff,./_base/lang,./dom,./dom-style,./dom-construct,./_base/connect".split(","),function(g,k,i,j,e,c,h,b){var f={},a=0,l=k._scopeName+"attrid";g.names={"class":"className","for":"htmlFor",tabindex:"tabIndex",readonly:"readOnly",colspan:"colSpan",frameborder:"frameBorder",rowspan:"rowSpan",valuetype:"valueType"};g.get=function(a,b){var a=e.byId(a),f=b.toLowerCase();return a[g.names[f]|| -b]};g.set=function(d,k,m){d=e.byId(d);if(2==arguments.length&&"string"!=typeof k){for(var n in k)g.set(d,n,k[n]);return d}n=k.toLowerCase();n=g.names[n]||k;if("style"==n&&"string"!=typeof m)return c.set(d,m),d;if("innerHTML"==n)return i("ie")&&d.tagName.toLowerCase()in{col:1,colgroup:1,table:1,tbody:1,tfoot:1,thead:1,tr:1,title:1}?(h.empty(d),d.appendChild(h.toDom(m,d.ownerDocument))):d[n]=m,d;if(j.isFunction(m)){var o=d[l];o||(o=a++,d[l]=o);f[o]||(f[o]={});var r=f[o][n];if(r)b.disconnect(r);else try{delete d[n]}catch(q){}m? -f[o][n]=b.connect(d,n,m):d[n]=null;return d}d[n]=m;return d}})},"dojo/dom-construct":function(){define("exports,./_base/kernel,./sniff,./_base/window,./dom,./dom-attr,./on".split(","),function(g,k,i,j,e,c,h){function b(a,b){var d=b.parentNode;d&&d.insertBefore(a,b)}var f={option:["select"],tbody:["table"],thead:["table"],tfoot:["table"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","thead","tr"],legend:["fieldset"],caption:["table"],colgroup:["table"],col:["table","colgroup"],li:["ul"]}, -a=/<\s*([\w\:]+)/,l={},d=0,p="__"+k._scopeName+"ToDomId",m;for(m in f)if(f.hasOwnProperty(m))k=f[m],k.pre="option"==m?'':"<"+k.join("><")+">",k.post="";var n=null,o;i(window,"unload",function(){n=null});f.toDom=function(b,c){var c=c||j.doc,e=c[p];e||(c[p]=e=++d+"",l[e]=c.createElement("div"));var b=b+"",f=b.match(a),i=f?f[1].toLowerCase():"",e=l[e];if(f&&g[i]){f=g[i];e.innerHTML=f.pre+b+f.post;for(f=f.length;f;--f)e=e.firstChild}else e.innerHTML= +b;if(1==e.childNodes.length)return e.removeChild(e.firstChild);for(i=c.createDocumentFragment();f=e.firstChild;)i.appendChild(f);return i};f.place=function(a,d,c){d=e.byId(d);"string"==typeof a&&(a=/^\s*c?0:c])}else switch(c){case "before":b(a,d);break;case "after":c=a;(g=d.parentNode)&&(g.lastChild==d?g.appendChild(c):g.insertBefore(c,d.nextSibling));break;case "replace":d.parentNode.replaceChild(a, +d);break;case "only":f.empty(d);d.appendChild(a);break;case "first":if(d.firstChild){b(a,d.firstChild);break}default:d.appendChild(a)}return a};f.create=function(a,b,d,g){var l=j.doc;if(d)d=e.byId(d),l=d.ownerDocument;"string"==typeof a&&(a=l.createElement(a));b&&c.set(a,b);d&&f.place(a,d,g);return a};f.empty=h("ie")?function(a){for(var a=e.byId(a),b;b=a.lastChild;)f.destroy(b)}:function(a){e.byId(a).innerHTML=""};f.destroy=function(a){a=e.byId(a);try{var b=a.ownerDocument;if(!n||o!=b)n=b.createElement("div"), +o=b;n.appendChild(a.parentNode?a.parentNode.removeChild(a):a);n.innerHTML=""}catch(d){}}})},"dojo/dom-class":function(){define(["./_base/lang","./_base/array","./dom"],function(f,k,h){function j(b){if("string"==typeof b||b instanceof String){if(b&&!c.test(b))return i[0]=b,i;b=b.split(c);b.length&&!b[0]&&b.shift();b.length&&!b[b.length-1]&&b.pop();return b}return!b?[]:k.filter(b,function(a){return a})}var e,c=/\s+/,i=[""],b={};return e={contains:function(b,a){return 0<=(" "+h.byId(b).className+" ").indexOf(" "+ +a+" ")},add:function(b,a){var b=h.byId(b),a=j(a),c=b.className,d,c=c?" "+c+" ":" ";d=c.length;for(var e=0,f=a.length,i;ec.indexOf(" "+i+" ")&&(c+=i+" ");db&&(b=this.length+b);this[b]&&a.push(this[b])},this);return a._stash(this)}});var q=f(b,n);g.query=f(b,function(a){return n(a)});q.load=function(a,b,d){h.load(a,b,function(a){d(f(a,n))})};g._filterQueryResult=q._filterResult=function(a,b,d){return new n(q.filter(a,b,d))};g.NodeList=q.NodeList=n;return q})},"dojo/selector/_loader":function(){define(["../has", -"require"],function(g,k){var i=document.createElement("div");g.add("dom-qsa2.1",!!i.querySelectorAll);g.add("dom-qsa3",function(){try{return i.innerHTML="

",1==i.querySelectorAll(".TEST:empty").length}catch(e){}});var j;return{load:function(e,c,h){var b=k,e="default"==e?g("config-selectorEngine")||"css3":e,e="css2"==e||"lite"==e?"./lite":"css2.1"==e?g("dom-qsa2.1")?"./lite":"./acme":"css3"==e?g("dom-qsa3")?"./lite":"./acme":"acme"==e?"./acme":(b=c)&&e;if("?"==e.charAt(e.length- -1))var e=e.substring(0,e.length-1),f=!0;if(f&&(g("dom-compliant-qsa")||j))return h(j);b([e],function(a){"./lite"!=e&&(j=a);h(a)})}}})},"dojo/selector/acme":function(){define(["../dom","../sniff","../_base/array","../_base/lang","../_base/window"],function(g,k,i,j,e){var c=j.trim,h=i.forEach,b="BackCompat"==e.doc.compatMode,f=!1,a=function(){return!0},l=function(a){for(var a=0<=">~+".indexOf(a.slice(-1))?a+" * ":a+" ",b=function(b,d){return c(a.slice(b,d))},d=[],e=-1,g=-1,l=-1,h=-1,m=-1,j=-1,i=-1, -k,o="",n="",p,q=0,t=a.length,r=null,u=null,v=function(){if(0<=j)r.id=b(j,q).replace(/\\/g,""),j=-1;if(0<=i){var a=i==q?null:b(i,q);r[0>">~+".indexOf(a)?"tag":"oper"]=a;i=-1}0<=m&&(r.classes.push(b(m+1,q).replace(/\\/g,"")),m=-1)};o=n,n=a.charAt(q),qb&&(b=this.length+b);this[b]&&a.push(this[b])},this);return a._stash(this)}});var q=g(b,n);f.query=g(b,function(a){return n(a)});q.load=function(a,b,d){i.load(a,b,function(a){d(g(a,n))})};f._filterQueryResult=q._filterResult=function(a,b,d){return new n(q.filter(a,b,d))};f.NodeList=q.NodeList=n;return q})},"dojo/selector/_loader":function(){define(["../has", +"require"],function(f,k){var h=document.createElement("div");f.add("dom-qsa2.1",!!h.querySelectorAll);f.add("dom-qsa3",function(){try{return h.innerHTML="

",1==h.querySelectorAll(".TEST:empty").length}catch(e){}});var j;return{load:function(e,c,i){var b=k,e="default"==e?f("config-selectorEngine")||"css3":e,e="css2"==e||"lite"==e?"./lite":"css2.1"==e?f("dom-qsa2.1")?"./lite":"./acme":"css3"==e?f("dom-qsa3")?"./lite":"./acme":"acme"==e?"./acme":(b=c)&&e;if("?"==e.charAt(e.length- +1))var e=e.substring(0,e.length-1),g=!0;if(g&&(f("dom-compliant-qsa")||j))return i(j);b([e],function(a){"./lite"!=e&&(j=a);i(a)})}}})},"dojo/selector/acme":function(){define(["../dom","../sniff","../_base/array","../_base/lang","../_base/window"],function(f,k,h,j,e){var c=j.trim,i=h.forEach,b="BackCompat"==e.doc.compatMode,g=!1,a=function(){return!0},l=function(a){for(var a=0<=">~+".indexOf(a.slice(-1))?a+" * ":a+" ",b=function(b,d){return c(a.slice(b,d))},d=[],e=-1,f=-1,l=-1,i=-1,m=-1,j=-1,h=-1, +k,o="",n="",p,q=0,t=a.length,r=null,u=null,v=function(){if(0<=j)r.id=b(j,q).replace(/\\/g,""),j=-1;if(0<=h){var a=h==q?null:b(h,q);r[0>">~+".indexOf(a)?"tag":"oper"]=a;h=-1}0<=m&&(r.classes.push(b(m+1,q).replace(/\\/g,"")),m=-1)};o=n,n=a.charAt(q),qe?e=e%f&&f+e%f:0=f&&(g=e-e%f),e%=f):0>f&&(f*=-1,0=g&&(0>l||a<=l)&&a%f==e};b=e}var h= -d(b);return function(a){return y(a)==h}}},N=k("ie")&&(9>k("ie")||k("quirks"))?function(a){var b=a.toLowerCase();"class"==b&&(a="className");return function(d){return f?d.getAttribute(a):d[a]||d[b]}}:function(a){return function(b){return b&&b.getAttribute&&b.hasAttribute(a)}},E=function(b,c){if(!b)return a;var c=c||{},e=null;"el"in c||(e=d(e,m));"tag"in c||"*"!=b.tag&&(e=d(e,function(a){return a&&(f?a.tagName:a.tagName.toUpperCase())==b.getTag()}));"classes"in c||h(b.classes,function(a,b){var c=RegExp("(?:^|\\s)"+ -a+"(?:\\s|$)");e=d(e,function(a){return c.test(a.className)});e.count=b});"pseudos"in c||h(b.pseudos,function(a){var b=a.name;J[b]&&(e=d(e,J[b](b,a.value)))});"attrs"in c||h(b.attrs,function(a){var b,c=a.attr;a.type&&o[a.type]?b=o[a.type](c,a.matchFor):c.length&&(b=N(c));b&&(e=d(e,b))});"id"in c||b.id&&(e=d(e,function(a){return!!a&&a.id==b.id}));e||"default"in c||(e=a);return e},S=function(a){return function(b,d,c){for(;b=b[q];)if(!r||m(b)){(!c||P(b,c))&&a(b)&&d.push(b);break}return d}},Q=function(a){return function(b, -d,c){for(b=b[q];b;){if(s(b)){if(c&&!P(b,c))break;a(b)&&d.push(b)}b=b[q]}return d}},B=function(b){b=b||a;return function(a,d,c){for(var f=0,e=a.children||a.childNodes;a=e[f++];)s(a)&&(!c||P(a,c))&&b(a,f)&&d.push(a);return d}},A={},w=function(d){var c=A[d.query];if(c)return c;var f=d.infixOper,f=f?f.oper:"",l=E(d,{el:1}),h="*"==d.tag,m=e.doc.getElementsByClassName;if(f){m={el:1};if(h)m.tag=1;l=E(d,m);"+"==f?c=S(l):"~"==f?c=Q(l):">"==f&&(c=B(l))}else if(d.id)l=!d.loops&&h?a:E(d,{el:1,id:1}),c=function(a, -b){var c=g.byId(d.id,a.ownerDocument||a);if(c&&l(c)){if(9==a.nodeType)return p(c,b);for(var f=c.parentNode;f&&!(f==a);)f=f.parentNode;if(f)return p(c,b)}};else if(m&&/\{\s*\[native code\]\s*\}/.test(""+m)&&d.classes.length&&!b)var l=E(d,{el:1,classes:1,id:1}),j=d.classes.join(" "),c=function(a,b,d){for(var b=p(0,b),c,f=0,e=a.getElementsByClassName(j);c=e[f++];)l(c,a)&&P(c,d)&&b.push(c);return b};else!h&&!d.loops?c=function(a,b,c){for(var b=p(0,b),f=0,e=d.getTag(),e=e?a.getElementsByTagName(e):[];a= -e[f++];)P(a,c)&&b.push(a);return b}:(l=E(d,{el:1,tag:1,id:1}),c=function(a,b,c){for(var b=p(0,b),f,e=0,g=(f=d.getTag())?a.getElementsByTagName(f):[];f=g[e++];)l(f,a)&&P(f,c)&&b.push(f);return b});return A[d.query]=c},x={},K={},H=function(a){var b=l(c(a));if(1==b.length){var d=w(b[0]);return function(a){if(a=d(a,[]))a.nozip=!0;return a}}return function(a){for(var a=p(a),d,c,f=b.length,e,g,l=0;l~+]|n\+\d|([^ \\])?([>~+])([^ =])?/g,D=function(a,b,d,c){return d?(b?b+" ":"")+d+(c?" "+c:""):a},L=/([^[]*)([^\]]*])?/g,T=function(a,b,d){return b.replace(O,D)+(d||"")},G=function(a,d){a=a.replace(L,T);if(F){var c=K[a];if(c&&!d)return c}if(c=x[a])return c;var c=a.charAt(0),f=-1==a.indexOf(" ");0<=a.indexOf("#")&&f&&(d=!0);if(F&&!d&&-1==">~+".indexOf(c)&&(!k("ie")||-1==a.indexOf(":"))&&!(b&&0<=a.indexOf("."))&&-1==a.indexOf(":contains")&& --1==a.indexOf(":checked")&&-1==a.indexOf("|=")){var e=0<=">~+".indexOf(a.charAt(a.length-1))?a+" *":a;return K[a]=function(b){try{if(!(9==b.nodeType||f))throw"";var d=b.querySelectorAll(e);d[C]=!0;return d}catch(c){return G(a,!0)(b)}}}var g=a.match(/([^\s,](?:"(?:\\.|[^"])+"|'(?:\\.|[^'])+'|[^,])*)/g);return x[a]=2>g.length?H(a):function(a){for(var b=0,d=[],c;c=g[b++];)d=d.concat(H(c)(a));return d}},M=0,X=k("ie")?function(a){return f?a.getAttribute("_uid")||a.setAttribute("_uid",++M)||M:a.uniqueID}: -function(a){return a._uid||(a._uid=++M)},P=function(a,b){if(!b)return 1;var d=X(a);return!b[d]?b[d]=1:0},Y=function(a){if(a&&a.nozip)return a;var b=[];if(!a||!a.length)return b;a[0]&&b.push(a[0]);if(2>a.length)return b;M++;var d,c;if(k("ie")&&f){var e=M+"";a[0].setAttribute("_zipIdx",e);for(d=1;c=a[d];d++)a[d].getAttribute("_zipIdx")!=e&&b.push(c),c.setAttribute("_zipIdx",e)}else if(k("ie")&&a.commentStrip)try{for(d=1;c=a[d];d++)m(c)&&b.push(c)}catch(g){}else{a[0]&&(a[0]._zipIdx=M);for(d=1;c=a[d];d++)a[d]._zipIdx!= -M&&b.push(c),c._zipIdx=M}return b},U=function(a,b){b=b||e.doc;f="div"===(b.ownerDocument||b).createElement("div").tagName;var d=G(a)(b);return d&&d.nozip?d:Y(d)};U.filter=function(a,b,d){for(var c=[],f=l(b),f=1==f.length&&!/[^\w#\.]/.test(b)?E(f[0]):function(a){return-1!=i.indexOf(U(b,g.byId(d)),a)},e=0,h;h=a[e];e++)f(h)&&c.push(h);return c};return U})},"dojo/NodeList-dom":function(){define("dojo/NodeList-dom","./_base/kernel,./query,./_base/array,./_base/lang,./dom-class,./dom-construct,./dom-geometry,./dom-attr,./dom-style".split(","), -function(g,k,i,j,e,c,h,b,f){function a(a){return function(b,d,c){return 2==arguments.length?a["string"==typeof d?"get":"set"](b,d):a.set(b,d,c)}}var l=function(a){return 1==a.length&&"string"==typeof a[0]},d=function(a){var b=a.parentNode;b&&b.removeChild(a)},p=k.NodeList,m=p._adaptWithCondition,n=p._adaptAsForEach,o=p._adaptAsMap;j.extend(p,{_normalize:function(a,b){var d=!0===a.parse;if("string"==typeof a.template)var f=a.templateFunc||g.string&&g.string.substitute,a=f?f(a.template,a):a;f=typeof a; -"string"==f||"number"==f?(a=c.toDom(a,b&&b.ownerDocument),a=11==a.nodeType?j._toArray(a.childNodes):[a]):j.isArrayLike(a)?j.isArray(a)||(a=j._toArray(a)):a=[a];if(d)a._runParse=!0;return a},_cloneNode:function(a){return a.cloneNode(!0)},_place:function(a,b,d,f){if(!(1!=b.nodeType&&"only"==d))for(var e,l=a.length,h=l-1;0<=h;h--){var m=f?this._cloneNode(a[h]):a[h];if(a._runParse&&g.parser&&g.parser.parse){e||(e=b.ownerDocument.createElement("div"));e.appendChild(m);g.parser.parse(e);for(m=e.firstChild;e.firstChild;)e.removeChild(e.firstChild)}h== -l-1?c.place(m,b,d):b.parentNode.insertBefore(m,b);b=m}},position:o(h.position),attr:m(a(b),l),style:m(a(f),l),addClass:n(e.add),removeClass:n(e.remove),toggleClass:n(e.toggle),replaceClass:n(e.replace),empty:n(c.empty),removeAttr:n(b.remove),marginBox:o(h.getMarginBox),place:function(a,b){var d=k(a)[0];return this.forEach(function(a){c.place(a,d,b)})},orphan:function(a){return(a?k._filterResult(this,a):this).forEach(d)},adopt:function(a,b){return k(a).place(this[0],b)._stash(this)},query:function(a){if(!a)return this; -var b=new p;this.map(function(d){k(a,d).forEach(function(a){void 0!==a&&b.push(a)})});return b._stash(this)},filter:function(a){var b=arguments,d=this,c=0;if("string"==typeof a){d=k._filterResult(this,b[0]);if(1==b.length)return d._stash(this);c=1}return this._wrap(i.filter(d,b[c],b[c+1]),this)},addContent:function(a,b){for(var a=this._normalize(a,this[0]),d=0,c;c=this[d];d++)this._place(a,c,b,0e?e=e%g&&g+e%g:0=g&&(f=e-e%g),e%=g):0>g&&(g*=-1,0=f&&(0>l||a<=l)&&a%g==e};b=e}var i= +d(b);return function(a){return y(a)==i}}},N=k("ie")&&(9>k("ie")||k("quirks"))?function(a){var b=a.toLowerCase();"class"==b&&(a="className");return function(d){return g?d.getAttribute(a):d[a]||d[b]}}:function(a){return function(b){return b&&b.getAttribute&&b.hasAttribute(a)}},E=function(b,c){if(!b)return a;var c=c||{},e=null;"el"in c||(e=d(e,m));"tag"in c||"*"!=b.tag&&(e=d(e,function(a){return a&&(g?a.tagName:a.tagName.toUpperCase())==b.getTag()}));"classes"in c||i(b.classes,function(a,b){var c=RegExp("(?:^|\\s)"+ +a+"(?:\\s|$)");e=d(e,function(a){return c.test(a.className)});e.count=b});"pseudos"in c||i(b.pseudos,function(a){var b=a.name;J[b]&&(e=d(e,J[b](b,a.value)))});"attrs"in c||i(b.attrs,function(a){var b,c=a.attr;a.type&&o[a.type]?b=o[a.type](c,a.matchFor):c.length&&(b=N(c));b&&(e=d(e,b))});"id"in c||b.id&&(e=d(e,function(a){return!!a&&a.id==b.id}));e||"default"in c||(e=a);return e},S=function(a){return function(b,d,c){for(;b=b[q];)if(!r||m(b)){(!c||P(b,c))&&a(b)&&d.push(b);break}return d}},Q=function(a){return function(b, +d,c){for(b=b[q];b;){if(s(b)){if(c&&!P(b,c))break;a(b)&&d.push(b)}b=b[q]}return d}},B=function(b){b=b||a;return function(a,d,c){for(var g=0,e=a.children||a.childNodes;a=e[g++];)s(a)&&(!c||P(a,c))&&b(a,g)&&d.push(a);return d}},A={},w=function(d){var c=A[d.query];if(c)return c;var g=d.infixOper,g=g?g.oper:"",l=E(d,{el:1}),i="*"==d.tag,m=e.doc.getElementsByClassName;if(g){m={el:1};if(i)m.tag=1;l=E(d,m);"+"==g?c=S(l):"~"==g?c=Q(l):">"==g&&(c=B(l))}else if(d.id)l=!d.loops&&i?a:E(d,{el:1,id:1}),c=function(a, +b){var c=f.byId(d.id,a.ownerDocument||a);if(c&&l(c)){if(9==a.nodeType)return p(c,b);for(var g=c.parentNode;g&&!(g==a);)g=g.parentNode;if(g)return p(c,b)}};else if(m&&/\{\s*\[native code\]\s*\}/.test(""+m)&&d.classes.length&&!b)var l=E(d,{el:1,classes:1,id:1}),j=d.classes.join(" "),c=function(a,b,d){for(var b=p(0,b),c,g=0,e=a.getElementsByClassName(j);c=e[g++];)l(c,a)&&P(c,d)&&b.push(c);return b};else!i&&!d.loops?c=function(a,b,c){for(var b=p(0,b),g=0,e=d.getTag(),e=e?a.getElementsByTagName(e):[];a= +e[g++];)P(a,c)&&b.push(a);return b}:(l=E(d,{el:1,tag:1,id:1}),c=function(a,b,c){for(var b=p(0,b),g,e=0,f=(g=d.getTag())?a.getElementsByTagName(g):[];g=f[e++];)l(g,a)&&P(g,c)&&b.push(g);return b});return A[d.query]=c},x={},K={},H=function(a){var b=l(c(a));if(1==b.length){var d=w(b[0]);return function(a){if(a=d(a,[]))a.nozip=!0;return a}}return function(a){for(var a=p(a),d,c,g=b.length,e,f,l=0;l~+]|n\+\d|([^ \\])?([>~+])([^ =])?/g,D=function(a,b,d,c){return d?(b?b+" ":"")+d+(c?" "+c:""):a},L=/([^[]*)([^\]]*])?/g,T=function(a,b,d){return b.replace(O,D)+(d||"")},G=function(a,d){a=a.replace(L,T);if(F){var c=K[a];if(c&&!d)return c}if(c=x[a])return c;var c=a.charAt(0),g=-1==a.indexOf(" ");0<=a.indexOf("#")&&g&&(d=!0);if(F&&!d&&-1==">~+".indexOf(c)&&(!k("ie")||-1==a.indexOf(":"))&&!(b&&0<=a.indexOf("."))&&-1==a.indexOf(":contains")&& +-1==a.indexOf(":checked")&&-1==a.indexOf("|=")){var e=0<=">~+".indexOf(a.charAt(a.length-1))?a+" *":a;return K[a]=function(b){try{if(!(9==b.nodeType||g))throw"";var d=b.querySelectorAll(e);d[C]=!0;return d}catch(c){return G(a,!0)(b)}}}var f=a.match(/([^\s,](?:"(?:\\.|[^"])+"|'(?:\\.|[^'])+'|[^,])*)/g);return x[a]=2>f.length?H(a):function(a){for(var b=0,d=[],c;c=f[b++];)d=d.concat(H(c)(a));return d}},M=0,X=k("ie")?function(a){return g?a.getAttribute("_uid")||a.setAttribute("_uid",++M)||M:a.uniqueID}: +function(a){return a._uid||(a._uid=++M)},P=function(a,b){if(!b)return 1;var d=X(a);return!b[d]?b[d]=1:0},Y=function(a){if(a&&a.nozip)return a;var b=[];if(!a||!a.length)return b;a[0]&&b.push(a[0]);if(2>a.length)return b;M++;var d,c;if(k("ie")&&g){var e=M+"";a[0].setAttribute("_zipIdx",e);for(d=1;c=a[d];d++)a[d].getAttribute("_zipIdx")!=e&&b.push(c),c.setAttribute("_zipIdx",e)}else if(k("ie")&&a.commentStrip)try{for(d=1;c=a[d];d++)m(c)&&b.push(c)}catch(f){}else{a[0]&&(a[0]._zipIdx=M);for(d=1;c=a[d];d++)a[d]._zipIdx!= +M&&b.push(c),c._zipIdx=M}return b},U=function(a,b){b=b||e.doc;g="div"===(b.ownerDocument||b).createElement("div").tagName;var d=G(a)(b);return d&&d.nozip?d:Y(d)};U.filter=function(a,b,d){for(var c=[],g=l(b),g=1==g.length&&!/[^\w#\.]/.test(b)?E(g[0]):function(a){return-1!=h.indexOf(U(b,f.byId(d)),a)},e=0,i;i=a[e];e++)g(i)&&c.push(i);return c};return U})},"dojo/NodeList-dom":function(){define("dojo/NodeList-dom","./_base/kernel,./query,./_base/array,./_base/lang,./dom-class,./dom-construct,./dom-geometry,./dom-attr,./dom-style".split(","), +function(f,k,h,j,e,c,i,b,g){function a(a){return function(b,d,c){return 2==arguments.length?a["string"==typeof d?"get":"set"](b,d):a.set(b,d,c)}}var l=function(a){return 1==a.length&&"string"==typeof a[0]},d=function(a){var b=a.parentNode;b&&b.removeChild(a)},p=k.NodeList,m=p._adaptWithCondition,n=p._adaptAsForEach,o=p._adaptAsMap;j.extend(p,{_normalize:function(a,b){var d=!0===a.parse;if("string"==typeof a.template)var g=a.templateFunc||f.string&&f.string.substitute,a=g?g(a.template,a):a;g=typeof a; +"string"==g||"number"==g?(a=c.toDom(a,b&&b.ownerDocument),a=11==a.nodeType?j._toArray(a.childNodes):[a]):j.isArrayLike(a)?j.isArray(a)||(a=j._toArray(a)):a=[a];if(d)a._runParse=!0;return a},_cloneNode:function(a){return a.cloneNode(!0)},_place:function(a,b,d,g){if(!(1!=b.nodeType&&"only"==d))for(var e,l=a.length,i=l-1;0<=i;i--){var m=g?this._cloneNode(a[i]):a[i];if(a._runParse&&f.parser&&f.parser.parse){e||(e=b.ownerDocument.createElement("div"));e.appendChild(m);f.parser.parse(e);for(m=e.firstChild;e.firstChild;)e.removeChild(e.firstChild)}i== +l-1?c.place(m,b,d):b.parentNode.insertBefore(m,b);b=m}},position:o(i.position),attr:m(a(b),l),style:m(a(g),l),addClass:n(e.add),removeClass:n(e.remove),toggleClass:n(e.toggle),replaceClass:n(e.replace),empty:n(c.empty),removeAttr:n(b.remove),marginBox:o(i.getMarginBox),place:function(a,b){var d=k(a)[0];return this.forEach(function(a){c.place(a,d,b)})},orphan:function(a){return(a?k._filterResult(this,a):this).forEach(d)},adopt:function(a,b){return k(a).place(this[0],b)._stash(this)},query:function(a){if(!a)return this; +var b=new p;this.map(function(d){k(a,d).forEach(function(a){void 0!==a&&b.push(a)})});return b._stash(this)},filter:function(a){var b=arguments,d=this,c=0;if("string"==typeof a){d=k._filterResult(this,b[0]);if(1==b.length)return d._stash(this);c=1}return this._wrap(h.filter(d,b[c],b[c+1]),this)},addContent:function(a,b){for(var a=this._normalize(a,this[0]),d=0,c;c=this[d];d++)this._place(a,c,b,0this._percent)this._startTimer();else{this._active=!1;if(0=m&&(clearInterval(n),n=null,m=0)}});var r=h("ie")?function(a){var b=a.style;if(!b.width.length&&"auto"==f.get(a,"width"))b.width="auto"}:function(){};l._fade=function(d){d.node=b.byId(d.node);var e=a({properties:{}},d),d=e.properties.opacity= -{};d.start=!("start"in e)?function(){return+f.get(e.node,"opacity")||0}:e.start;d.end=e.end;d=l.animateProperty(e);c.connect(d,"beforeBegin",i.partial(r,e.node));return d};l.fadeIn=function(b){return l._fade(a({end:1},b))};l.fadeOut=function(b){return l._fade(a({end:0},b))};l._defaultEasing=function(a){return 0.5+Math.sin((a+1.5)*Math.PI)/2};var q=function(a){this._properties=a;for(var b in a){var d=a[b];if(d.start instanceof e)d.tempColor=new e}};q.prototype.getValue=function(a){var b={},d;for(d in this._properties){var c= -this._properties[d],f=c.start;f instanceof e?b[d]=e.blendColors(f,c.end,a,c.tempColor).toCss():i.isArray(f)||(b[d]=(c.end-f)*a+f+("opacity"!=d?c.units||"px":0))}return b};l.animateProperty=function(d){var l=d.node=b.byId(d.node);if(!d.easing)d.easing=g._defaultEasing;d=new p(d);c.connect(d,"beforeBegin",d,function(){var b={},d;for(d in this.properties){if("width"==d||"height"==d)this.node.display="block";var c=this.properties[d];i.isFunction(c)&&(c=c(l));c=b[d]=a({},i.isObject(c)?c:{end:c});if(i.isFunction(c.start))c.start= -c.start(l);if(i.isFunction(c.end))c.end=c.end(l);var g=0<=d.toLowerCase().indexOf("color"),h=function(a,b){var d={height:a.offsetHeight,width:a.offsetWidth}[b];if(void 0!==d)return d;d=f.get(a,b);return"opacity"==b?+d:g?d:parseFloat(d)};if("end"in c){if(!("start"in c))c.start=h(l,d)}else c.end=h(l,d);g?(c.start=new e(c.start),c.end=new e(c.end)):c.start="opacity"==d?+c.start:parseFloat(c.start)}this.curve=new q(b)});c.connect(d,"onAnimate",i.hitch(f,"set",d.node));return d};l.anim=function(a,b,d, -c,f,e){return l.animateProperty({node:a,duration:d||p.prototype.duration,properties:b,easing:c,onEnd:f}).play(e||0)};a(g,l);g._Animation=p;return l})},"dijit/layout/BorderContainer":function(){define("dojo/_base/array,dojo/cookie,dojo/_base/declare,dojo/dom-class,dojo/dom-construct,dojo/dom-geometry,dojo/dom-style,dojo/_base/event,dojo/keys,dojo/_base/lang,dojo/on,dojo/touch,../_WidgetBase,../_Widget,../_TemplatedMixin,./_LayoutWidget,./utils".split(","),function(g,k,i,j,e,c,h,b,f,a,l,d,p,m,n,o,r){var q= -i("dijit.layout._Splitter",[m,n],{live:!0,templateString:'',constructor:function(){this._handlers=[]},postMixInProperties:function(){this.inherited(arguments);this.horizontal=/top|bottom/.test(this.region);this._factor=/top|left/.test(this.region)?1:-1;this._cookieName=this.container.id+"_"+ -this.region},buildRendering:function(){this.inherited(arguments);j.add(this.domNode,"dijitSplitter"+(this.horizontal?"H":"V"));if(this.container.persist){var a=k(this._cookieName);a&&(this.child.domNode.style[this.horizontal?"height":"width"]=a)}},_computeMaxSize:function(){var a=this.horizontal?"h":"w",b=c.getMarginBox(this.child.domNode)[a],d=g.filter(this.container.getChildren(),function(a){return"center"==a.region})[0],a=c.getMarginBox(d.domNode)[a];return Math.min(this.child.maxSize,b+a)},_startDrag:function(f){if(!this.cover)this.cover= -e.place("
",this.child.domNode,"after");j.add(this.cover,"dijitSplitterCoverActive");this.fake&&e.destroy(this.fake);if(!(this._resize=this.live))(this.fake=this.domNode.cloneNode(!0)).removeAttribute("id"),j.add(this.domNode,"dijitSplitterShadow"),e.place(this.fake,this.domNode,"after");j.add(this.domNode,"dijitSplitterActive dijitSplitter"+(this.horizontal?"H":"V")+"Active");this.fake&&j.remove(this.fake,"dijitSplitterHover dijitSplitter"+(this.horizontal?"H": -"V")+"Hover");var g=this._factor,h=this.horizontal,m=h?"pageY":"pageX",i=f[m],k=this.domNode.style,o=c.getMarginBox(this.child.domNode)[h?"h":"w"],n=this._computeMaxSize(),p=this.child.minSize||20,h=this.region,q="top"==h||"bottom"==h?"top":"left",r=parseInt(k[q],10),v=this._resize,A=a.hitch(this.container,"_layoutChildren",this.child.id),h=this.ownerDocument;this._handlers=this._handlers.concat([l(h,d.move,this._drag=function(a,b){var d=a[m]-i,c=g*d+o,f=Math.max(Math.min(c,n),p);(v||b)&&A(f);k[q]= -d+r+g*(f-c)+"px"}),l(h,"dragstart",b.stop),l(this.ownerDocumentBody,"selectstart",b.stop),l(h,d.release,a.hitch(this,"_stopDrag"))]);b.stop(f)},_onMouse:function(a){a="mouseover"==a.type||"mouseenter"==a.type;j.toggle(this.domNode,"dijitSplitterHover",a);j.toggle(this.domNode,"dijitSplitter"+(this.horizontal?"H":"V")+"Hover",a)},_stopDrag:function(a){try{this.cover&&j.remove(this.cover,"dijitSplitterCoverActive"),this.fake&&e.destroy(this.fake),j.remove(this.domNode,"dijitSplitterActive dijitSplitter"+ -(this.horizontal?"H":"V")+"Active dijitSplitterShadow"),this._drag(a),this._drag(a,!0)}finally{this._cleanupHandlers(),delete this._drag}this.container.persist&&k(this._cookieName,this.child.domNode.style[this.horizontal?"height":"width"],{expires:365})},_cleanupHandlers:function(){for(var a;a=this._handlers.pop();)a.remove()},_onKeyPress:function(a){this._resize=!0;var d=this.horizontal,e=1;switch(a.charOrCode){case d?f.UP_ARROW:f.LEFT_ARROW:e*=-1;case d?f.DOWN_ARROW:f.RIGHT_ARROW:break;default:return}d= -c.getMarginSize(this.child.domNode)[d?"h":"w"]+this._factor*e;this.container._layoutChildren(this.child.id,Math.max(Math.min(d,this._computeMaxSize()),this.child.minSize));b.stop(a)},destroy:function(){this._cleanupHandlers();delete this.child;delete this.container;delete this.cover;delete this.fake;this.inherited(arguments)}}),v=i("dijit.layout._Gutter",[m,n],{templateString:'',postMixInProperties:function(){this.inherited(arguments);this.horizontal= -/top|bottom/.test(this.region)},buildRendering:function(){this.inherited(arguments);j.add(this.domNode,"dijitGutter"+(this.horizontal?"H":"V"))}}),i=i("dijit.layout.BorderContainer",o,{design:"headline",gutters:!0,liveSplitters:!0,persist:!1,baseClass:"dijitBorderContainer",_splitterClass:q,postMixInProperties:function(){this.gutters||(this.baseClass+="NoGutter");this.inherited(arguments)},startup:function(){this._started||(g.forEach(this.getChildren(),this._setupChild,this),this.inherited(arguments))}, -_setupChild:function(b){var d=b.region;if(d){this.inherited(arguments);j.add(b.domNode,this.baseClass+"Pane");var c=this.isLeftToRight();"leading"==d&&(d=c?"left":"right");"trailing"==d&&(d=c?"right":"left");if("center"!=d&&(b.splitter||this.gutters)&&!b._splitterWidget)c=b.splitter?this._splitterClass:v,a.isString(c)&&(c=a.getObject(c)),c=new c({id:b.id+"_splitter",container:this,child:b,region:d,live:this.liveSplitters}),c.isSplitter=!0,b._splitterWidget=c,e.place(c.domNode,b.domNode,"after"),c.startup(); -b.region=d}},layout:function(){this._layoutChildren()},addChild:function(a,b){this.inherited(arguments);this._started&&this.layout()},removeChild:function(a){var b=a.region,d=a._splitterWidget;d&&(d.destroy(),delete a._splitterWidget);this.inherited(arguments);this._started&&this._layoutChildren();j.remove(a.domNode,this.baseClass+"Pane");h.set(a.domNode,{top:"auto",bottom:"auto",left:"auto",right:"auto",position:"static"});h.set(a.domNode,"top"==b||"bottom"==b?"width":"height","auto")},getChildren:function(){return g.filter(this.inherited(arguments), -function(a){return!a.isSplitter})},getSplitter:function(a){return g.filter(this.getChildren(),function(b){return b.region==a})[0]._splitterWidget},resize:function(a,b){if(!this.cs||!this.pe){var d=this.domNode;this.cs=h.getComputedStyle(d);this.pe=c.getPadExtents(d,this.cs);this.pe.r=h.toPixelValue(d,this.cs.paddingRight);this.pe.b=h.toPixelValue(d,this.cs.paddingBottom);h.set(d,"padding","0px")}this.inherited(arguments)},_layoutChildren:function(a,b){if(this._borderBox&&this._borderBox.h){var d= -g.map(this.getChildren(),function(a,b){return{pane:a,weight:["center"==a.region?Infinity:0,a.layoutPriority,("sidebar"==this.design?1:-1)*(/top|bottom/.test(a.region)?1:-1),b]}},this);d.sort(function(a,b){for(var d=a.weight,c=b.weight,f=0;fparseFloat(c.replace(/_/,".").replace(/_/g,"")));var d,p;i&&(b(function(){p=f.body();f.doc.addEventListener("touchstart", -function(a){var b=p;p=a.target;e.emit(b,"dojotouchout",{target:b,relatedTarget:p,bubbles:!0});e.emit(p,"dojotouchover",{target:p,relatedTarget:b,bubbles:!0})},!0);e(f.doc,"touchmove",function(a){if((a=f.doc.elementFromPoint(a.pageX-(l?0:f.global.pageXOffset),a.pageY-(l?0:f.global.pageYOffset)))&&p!==a)e.emit(p,"dojotouchout",{target:p,relatedTarget:a,bubbles:!0}),e.emit(a,"dojotouchover",{target:a,relatedTarget:p,bubbles:!0}),p=a})}),d=function(a,b){return e(f.doc,"touchmove",function(d){(a===f.doc|| -j.isDescendant(p,a))&&b.call(this,k.mixin({},d,{target:p,touches:d.touches,preventDefault:function(){d.preventDefault()},stopPropagation:function(){d.stopPropagation()}}))})});h={press:a(i?"touchstart":"mousedown"),move:i?d:a("mousemove"),release:a(i?"touchend":"mouseup"),cancel:i?a("touchcancel"):h.leave,over:a(i?"dojotouchover":"mouseover"),out:a(i?"dojotouchout":"mouseout"),enter:h._eventHandler(i?"dojotouchover":"mouseover"),leave:h._eventHandler(i?"dojotouchout":"mouseout")};return g.touch=h})}, -"dijit/_WidgetBase":function(){define("require,dojo/_base/array,dojo/aspect,dojo/_base/config,dojo/_base/connect,dojo/_base/declare,dojo/dom,dojo/dom-attr,dojo/dom-class,dojo/dom-construct,dojo/dom-geometry,dojo/dom-style,dojo/has,dojo/_base/kernel,dojo/_base/lang,dojo/on,dojo/ready,dojo/Stateful,dojo/topic,dojo/_base/window,./Destroyable,./registry".split(","),function(g,k,i,j,e,c,h,b,f,a,l,d,p,m,n,o,r,q,v,s,t,u){function y(a){return function(d){b[d?"set":"remove"](this.domNode,a,d);this._set(a, -d)}}p.add("dijit-legacy-requires",!m.isAsync);p("dijit-legacy-requires")&&r(0,function(){g(["dijit/_base/manager"])});var z={};return c("dijit._WidgetBase",[q,t],{id:"",_setIdAttr:"domNode",lang:"",_setLangAttr:y("lang"),dir:"",_setDirAttr:y("dir"),textDir:"","class":"",_setClassAttr:{node:"domNode",type:"class"},style:"",title:"",tooltip:"",baseClass:"",srcNodeRef:null,domNode:null,containerNode:null,ownerDocument:null,_setOwnerDocumentAttr:function(a){this._set("ownerDocument",a)},attributeMap:{}, -_blankGif:j.blankGif||g.toUrl("dojo/resources/blank.gif"),postscript:function(a,b){this.create(a,b)},create:function(a,b){this.srcNodeRef=h.byId(b);this._connects=[];this._supportingWidgets=[];if(this.srcNodeRef&&"string"==typeof this.srcNodeRef.id)this.id=this.srcNodeRef.id;if(a)this.params=a,n.mixin(this,a);this.postMixInProperties();if(!this.id)this.id=u.getUniqueId(this.declaredClass.replace(/\./g,"_")),this.params&&delete this.params.id;this.ownerDocument=this.ownerDocument||(this.srcNodeRef? -this.srcNodeRef.ownerDocument:s.doc);this.ownerDocumentBody=s.body(this.ownerDocument);u.add(this);this.buildRendering();var d;if(this.domNode){this._applyAttributes();var c=this.srcNodeRef;c&&c.parentNode&&this.domNode!==c&&(c.parentNode.replaceChild(this.domNode,c),d=!0);this.domNode.setAttribute("widgetId",this.id)}this.postCreate();d&&delete this.srcNodeRef;this._created=!0},_applyAttributes:function(){var a=this.constructor,b=a._setterAttrs;if(!b){var b=a._setterAttrs=[],d;for(d in this.attributeMap)b.push(d); -var a=a.prototype,c;for(c in a)c in this.attributeMap||"_set"+c.replace(/^[a-z]|-[a-zA-Z]/g,function(a){return a.charAt(a.length-1).toUpperCase()})+"Attr"in a&&b.push(c)}var f={},e;for(e in this.params||{})f[e]=this[e];k.forEach(b,function(a){a in f||this[a]&&this.set(a,this[a])},this);for(e in f)this.set(e,f[e])},postMixInProperties:function(){},buildRendering:function(){if(!this.domNode)this.domNode=this.srcNodeRef||this.ownerDocument.createElement("div");if(this.baseClass){var a=this.baseClass.split(" "); -this.isLeftToRight()||(a=a.concat(k.map(a,function(a){return a+"Rtl"})));f.add(this.domNode,a)}},postCreate:function(){},startup:function(){if(!this._started)this._started=!0,k.forEach(this.getChildren(),function(a){if(!a._started&&!a._destroyed&&n.isFunction(a.startup))a.startup(),a._started=!0})},destroyRecursive:function(a){this._beingDestroyed=!0;this.destroyDescendants(a);this.destroy(a)},destroy:function(a){function b(d){d.destroyRecursive?d.destroyRecursive(a):d.destroy&&d.destroy(a)}this._beingDestroyed= +var m=0,n=null,o={run:function(){}};h.extend(p,{_startTimer:function(){if(!this._timer)this._timer=c.connect(o,"run",this,"_cycle"),m++;n||(n=setInterval(h.hitch(o,"run"),this.rate))},_stopTimer:function(){if(this._timer)c.disconnect(this._timer),this._timer=null,m--;0>=m&&(clearInterval(n),n=null,m=0)}});var r=i("ie")?function(a){var b=a.style;if(!b.width.length&&"auto"==g.get(a,"width"))b.width="auto"}:function(){};l._fade=function(d){d.node=b.byId(d.node);var e=a({properties:{}},d),d=e.properties.opacity= +{};d.start=!("start"in e)?function(){return+g.get(e.node,"opacity")||0}:e.start;d.end=e.end;d=l.animateProperty(e);c.connect(d,"beforeBegin",h.partial(r,e.node));return d};l.fadeIn=function(b){return l._fade(a({end:1},b))};l.fadeOut=function(b){return l._fade(a({end:0},b))};l._defaultEasing=function(a){return 0.5+Math.sin((a+1.5)*Math.PI)/2};var q=function(a){this._properties=a;for(var b in a){var d=a[b];if(d.start instanceof e)d.tempColor=new e}};q.prototype.getValue=function(a){var b={},d;for(d in this._properties){var c= +this._properties[d],g=c.start;g instanceof e?b[d]=e.blendColors(g,c.end,a,c.tempColor).toCss():h.isArray(g)||(b[d]=(c.end-g)*a+g+("opacity"!=d?c.units||"px":0))}return b};l.animateProperty=function(d){var l=d.node=b.byId(d.node);if(!d.easing)d.easing=f._defaultEasing;d=new p(d);c.connect(d,"beforeBegin",d,function(){var b={},d;for(d in this.properties){if("width"==d||"height"==d)this.node.display="block";var c=this.properties[d];h.isFunction(c)&&(c=c(l));c=b[d]=a({},h.isObject(c)?c:{end:c});if(h.isFunction(c.start))c.start= +c.start(l);if(h.isFunction(c.end))c.end=c.end(l);var f=0<=d.toLowerCase().indexOf("color"),i=function(a,b){var d={height:a.offsetHeight,width:a.offsetWidth}[b];if(void 0!==d)return d;d=g.get(a,b);return"opacity"==b?+d:f?d:parseFloat(d)};if("end"in c){if(!("start"in c))c.start=i(l,d)}else c.end=i(l,d);f?(c.start=new e(c.start),c.end=new e(c.end)):c.start="opacity"==d?+c.start:parseFloat(c.start)}this.curve=new q(b)});c.connect(d,"onAnimate",h.hitch(g,"set",d.node));return d};l.anim=function(a,b,d, +c,g,e){return l.animateProperty({node:a,duration:d||p.prototype.duration,properties:b,easing:c,onEnd:g}).play(e||0)};a(f,l);f._Animation=p;return l})},"dojox/html/entities":function(){define(["dojo/_base/lang"],function(f){var k=f.getObject("dojox.html.entities",!0),h=function(e,c){var f,b;if(c._encCache&&c._encCache.regexp&&c._encCache.mapper&&c.length==c._encCache.length)f=c._encCache.mapper,b=c._encCache.regexp;else{f={};b=["["];var g;for(g=0;g","gt"],["\u00a0","nbsp"]];k.latin=[["\u00a1","iexcl"],["\u00a2","cent"],["\u00a3","pound"],["\u20ac","euro"],["\u00a4","curren"],["\u00a5","yen"],["\u00a6","brvbar"],["\u00a7","sect"],["\u00a8","uml"],["\u00a9","copy"],["\u00aa","ordf"],["\u00ab","laquo"],["\u00ac","not"],["\u00ad","shy"],["\u00ae","reg"],["\u00af","macr"],["\u00b0","deg"],["\u00b1","plusmn"],["\u00b2","sup2"],["\u00b3","sup3"],["\u00b4","acute"],["\u00b5","micro"],["\u00b6","para"], +["\u00b7","middot"],["\u00b8","cedil"],["\u00b9","sup1"],["\u00ba","ordm"],["\u00bb","raquo"],["\u00bc","frac14"],["\u00bd","frac12"],["\u00be","frac34"],["\u00bf","iquest"],["\u00c0","Agrave"],["\u00c1","Aacute"],["\u00c2","Acirc"],["\u00c3","Atilde"],["\u00c4","Auml"],["\u00c5","Aring"],["\u00c6","AElig"],["\u00c7","Ccedil"],["\u00c8","Egrave"],["\u00c9","Eacute"],["\u00ca","Ecirc"],["\u00cb","Euml"],["\u00cc","Igrave"],["\u00cd","Iacute"],["\u00ce","Icirc"],["\u00cf","Iuml"],["\u00d0","ETH"],["\u00d1", +"Ntilde"],["\u00d2","Ograve"],["\u00d3","Oacute"],["\u00d4","Ocirc"],["\u00d5","Otilde"],["\u00d6","Ouml"],["\u00d7","times"],["\u00d8","Oslash"],["\u00d9","Ugrave"],["\u00da","Uacute"],["\u00db","Ucirc"],["\u00dc","Uuml"],["\u00dd","Yacute"],["\u00de","THORN"],["\u00df","szlig"],["\u00e0","agrave"],["\u00e1","aacute"],["\u00e2","acirc"],["\u00e3","atilde"],["\u00e4","auml"],["\u00e5","aring"],["\u00e6","aelig"],["\u00e7","ccedil"],["\u00e8","egrave"],["\u00e9","eacute"],["\u00ea","ecirc"],["\u00eb", +"euml"],["\u00ec","igrave"],["\u00ed","iacute"],["\u00ee","icirc"],["\u00ef","iuml"],["\u00f0","eth"],["\u00f1","ntilde"],["\u00f2","ograve"],["\u00f3","oacute"],["\u00f4","ocirc"],["\u00f5","otilde"],["\u00f6","ouml"],["\u00f7","divide"],["\u00f8","oslash"],["\u00f9","ugrave"],["\u00fa","uacute"],["\u00fb","ucirc"],["\u00fc","uuml"],["\u00fd","yacute"],["\u00fe","thorn"],["\u00ff","yuml"],["\u0192","fnof"],["\u0391","Alpha"],["\u0392","Beta"],["\u0393","Gamma"],["\u0394","Delta"],["\u0395","Epsilon"], +["\u0396","Zeta"],["\u0397","Eta"],["\u0398","Theta"],["\u0399","Iota"],["\u039a","Kappa"],["\u039b","Lambda"],["\u039c","Mu"],["\u039d","Nu"],["\u039e","Xi"],["\u039f","Omicron"],["\u03a0","Pi"],["\u03a1","Rho"],["\u03a3","Sigma"],["\u03a4","Tau"],["\u03a5","Upsilon"],["\u03a6","Phi"],["\u03a7","Chi"],["\u03a8","Psi"],["\u03a9","Omega"],["\u03b1","alpha"],["\u03b2","beta"],["\u03b3","gamma"],["\u03b4","delta"],["\u03b5","epsilon"],["\u03b6","zeta"],["\u03b7","eta"],["\u03b8","theta"],["\u03b9","iota"], +["\u03ba","kappa"],["\u03bb","lambda"],["\u03bc","mu"],["\u03bd","nu"],["\u03be","xi"],["\u03bf","omicron"],["\u03c0","pi"],["\u03c1","rho"],["\u03c2","sigmaf"],["\u03c3","sigma"],["\u03c4","tau"],["\u03c5","upsilon"],["\u03c6","phi"],["\u03c7","chi"],["\u03c8","psi"],["\u03c9","omega"],["\u03d1","thetasym"],["\u03d2","upsih"],["\u03d6","piv"],["\u2022","bull"],["\u2026","hellip"],["\u2032","prime"],["\u2033","Prime"],["\u203e","oline"],["\u2044","frasl"],["\u2118","weierp"],["\u2111","image"],["\u211c", +"real"],["\u2122","trade"],["\u2135","alefsym"],["\u2190","larr"],["\u2191","uarr"],["\u2192","rarr"],["\u2193","darr"],["\u2194","harr"],["\u21b5","crarr"],["\u21d0","lArr"],["\u21d1","uArr"],["\u21d2","rArr"],["\u21d3","dArr"],["\u21d4","hArr"],["\u2200","forall"],["\u2202","part"],["\u2203","exist"],["\u2205","empty"],["\u2207","nabla"],["\u2208","isin"],["\u2209","notin"],["\u220b","ni"],["\u220f","prod"],["\u2211","sum"],["\u2212","minus"],["\u2217","lowast"],["\u221a","radic"],["\u221d","prop"], +["\u221e","infin"],["\u2220","ang"],["\u2227","and"],["\u2228","or"],["\u2229","cap"],["\u222a","cup"],["\u222b","int"],["\u2234","there4"],["\u223c","sim"],["\u2245","cong"],["\u2248","asymp"],["\u2260","ne"],["\u2261","equiv"],["\u2264","le"],["\u2265","ge"],["\u2282","sub"],["\u2283","sup"],["\u2284","nsub"],["\u2286","sube"],["\u2287","supe"],["\u2295","oplus"],["\u2297","otimes"],["\u22a5","perp"],["\u22c5","sdot"],["\u2308","lceil"],["\u2309","rceil"],["\u230a","lfloor"],["\u230b","rfloor"], +["\u2329","lang"],["\u232a","rang"],["\u25ca","loz"],["\u2660","spades"],["\u2663","clubs"],["\u2665","hearts"],["\u2666","diams"],["\u0152","Elig"],["\u0153","oelig"],["\u0160","Scaron"],["\u0161","scaron"],["\u0178","Yuml"],["\u02c6","circ"],["\u02dc","tilde"],["\u2002","ensp"],["\u2003","emsp"],["\u2009","thinsp"],["\u200c","zwnj"],["\u200d","zwj"],["\u200e","lrm"],["\u200f","rlm"],["\u2013","ndash"],["\u2014","mdash"],["\u2018","lsquo"],["\u2019","rsquo"],["\u201a","sbquo"],["\u201c","ldquo"], +["\u201d","rdquo"],["\u201e","bdquo"],["\u2020","dagger"],["\u2021","Dagger"],["\u2030","permil"],["\u2039","lsaquo"],["\u203a","rsaquo"]];k.encode=function(e,c){e&&(c?e=h(e,c):(e=h(e,k.html),e=h(e,k.latin)));return e};k.decode=function(e,c){e&&(c?e=j(e,c):(e=j(e,k.html),e=j(e,k.latin)));return e};return k})},"dijit/layout/BorderContainer":function(){define("dojo/_base/array,dojo/cookie,dojo/_base/declare,dojo/dom-class,dojo/dom-construct,dojo/dom-geometry,dojo/dom-style,dojo/_base/event,dojo/keys,dojo/_base/lang,dojo/on,dojo/touch,../_WidgetBase,../_Widget,../_TemplatedMixin,./_LayoutWidget,./utils".split(","), +function(f,k,h,j,e,c,i,b,g,a,l,d,p,m,n,o,r){var q=h("dijit.layout._Splitter",[m,n],{live:!0,templateString:'',constructor:function(){this._handlers=[]},postMixInProperties:function(){this.inherited(arguments);this.horizontal=/top|bottom/.test(this.region);this._factor=/top|left/.test(this.region)? +1:-1;this._cookieName=this.container.id+"_"+this.region},buildRendering:function(){this.inherited(arguments);j.add(this.domNode,"dijitSplitter"+(this.horizontal?"H":"V"));if(this.container.persist){var a=k(this._cookieName);a&&(this.child.domNode.style[this.horizontal?"height":"width"]=a)}},_computeMaxSize:function(){var a=this.horizontal?"h":"w",b=c.getMarginBox(this.child.domNode)[a],d=f.filter(this.container.getChildren(),function(a){return"center"==a.region})[0],a=c.getMarginBox(d.domNode)[a]; +return Math.min(this.child.maxSize,b+a)},_startDrag:function(g){if(!this.cover)this.cover=e.place("
",this.child.domNode,"after");j.add(this.cover,"dijitSplitterCoverActive");this.fake&&e.destroy(this.fake);if(!(this._resize=this.live))(this.fake=this.domNode.cloneNode(!0)).removeAttribute("id"),j.add(this.domNode,"dijitSplitterShadow"),e.place(this.fake,this.domNode,"after");j.add(this.domNode,"dijitSplitterActive dijitSplitter"+(this.horizontal?"H":"V")+"Active"); +this.fake&&j.remove(this.fake,"dijitSplitterHover dijitSplitter"+(this.horizontal?"H":"V")+"Hover");var f=this._factor,i=this.horizontal,m=i?"pageY":"pageX",h=g[m],k=this.domNode.style,o=c.getMarginBox(this.child.domNode)[i?"h":"w"],n=this._computeMaxSize(),p=this.child.minSize||20,i=this.region,q="top"==i||"bottom"==i?"top":"left",r=parseInt(k[q],10),v=this._resize,A=a.hitch(this.container,"_layoutChildren",this.child.id),i=this.ownerDocument;this._handlers=this._handlers.concat([l(i,d.move,this._drag= +function(a,b){var d=a[m]-h,c=f*d+o,g=Math.max(Math.min(c,n),p);(v||b)&&A(g);k[q]=d+r+f*(g-c)+"px"}),l(i,"dragstart",b.stop),l(this.ownerDocumentBody,"selectstart",b.stop),l(i,d.release,a.hitch(this,"_stopDrag"))]);b.stop(g)},_onMouse:function(a){a="mouseover"==a.type||"mouseenter"==a.type;j.toggle(this.domNode,"dijitSplitterHover",a);j.toggle(this.domNode,"dijitSplitter"+(this.horizontal?"H":"V")+"Hover",a)},_stopDrag:function(a){try{this.cover&&j.remove(this.cover,"dijitSplitterCoverActive"),this.fake&& +e.destroy(this.fake),j.remove(this.domNode,"dijitSplitterActive dijitSplitter"+(this.horizontal?"H":"V")+"Active dijitSplitterShadow"),this._drag(a),this._drag(a,!0)}finally{this._cleanupHandlers(),delete this._drag}this.container.persist&&k(this._cookieName,this.child.domNode.style[this.horizontal?"height":"width"],{expires:365})},_cleanupHandlers:function(){for(var a;a=this._handlers.pop();)a.remove()},_onKeyPress:function(a){this._resize=!0;var d=this.horizontal,e=1;switch(a.charOrCode){case d? +g.UP_ARROW:g.LEFT_ARROW:e*=-1;case d?g.DOWN_ARROW:g.RIGHT_ARROW:break;default:return}d=c.getMarginSize(this.child.domNode)[d?"h":"w"]+this._factor*e;this.container._layoutChildren(this.child.id,Math.max(Math.min(d,this._computeMaxSize()),this.child.minSize));b.stop(a)},destroy:function(){this._cleanupHandlers();delete this.child;delete this.container;delete this.cover;delete this.fake;this.inherited(arguments)}}),v=h("dijit.layout._Gutter",[m,n],{templateString:'', +postMixInProperties:function(){this.inherited(arguments);this.horizontal=/top|bottom/.test(this.region)},buildRendering:function(){this.inherited(arguments);j.add(this.domNode,"dijitGutter"+(this.horizontal?"H":"V"))}}),h=h("dijit.layout.BorderContainer",o,{design:"headline",gutters:!0,liveSplitters:!0,persist:!1,baseClass:"dijitBorderContainer",_splitterClass:q,postMixInProperties:function(){this.gutters||(this.baseClass+="NoGutter");this.inherited(arguments)},startup:function(){this._started||(f.forEach(this.getChildren(), +this._setupChild,this),this.inherited(arguments))},_setupChild:function(b){var d=b.region;if(d){this.inherited(arguments);j.add(b.domNode,this.baseClass+"Pane");var c=this.isLeftToRight();"leading"==d&&(d=c?"left":"right");"trailing"==d&&(d=c?"right":"left");if("center"!=d&&(b.splitter||this.gutters)&&!b._splitterWidget)c=b.splitter?this._splitterClass:v,a.isString(c)&&(c=a.getObject(c)),c=new c({id:b.id+"_splitter",container:this,child:b,region:d,live:this.liveSplitters}),c.isSplitter=!0,b._splitterWidget= +c,e.place(c.domNode,b.domNode,"after"),c.startup();b.region=d}},layout:function(){this._layoutChildren()},addChild:function(a,b){this.inherited(arguments);this._started&&this.layout()},removeChild:function(a){var b=a.region,d=a._splitterWidget;d&&(d.destroy(),delete a._splitterWidget);this.inherited(arguments);this._started&&this._layoutChildren();j.remove(a.domNode,this.baseClass+"Pane");i.set(a.domNode,{top:"auto",bottom:"auto",left:"auto",right:"auto",position:"static"});i.set(a.domNode,"top"== +b||"bottom"==b?"width":"height","auto")},getChildren:function(){return f.filter(this.inherited(arguments),function(a){return!a.isSplitter})},getSplitter:function(a){return f.filter(this.getChildren(),function(b){return b.region==a})[0]._splitterWidget},resize:function(a,b){if(!this.cs||!this.pe){var d=this.domNode;this.cs=i.getComputedStyle(d);this.pe=c.getPadExtents(d,this.cs);this.pe.r=i.toPixelValue(d,this.cs.paddingRight);this.pe.b=i.toPixelValue(d,this.cs.paddingBottom);i.set(d,"padding","0px")}this.inherited(arguments)}, +_layoutChildren:function(a,b){if(this._borderBox&&this._borderBox.h){var d=f.map(this.getChildren(),function(a,b){return{pane:a,weight:["center"==a.region?Infinity:0,a.layoutPriority,("sidebar"==this.design?1:-1)*(/top|bottom/.test(a.region)?1:-1),b]}},this);d.sort(function(a,b){for(var d=a.weight,c=b.weight,g=0;gparseFloat(c.replace(/_/,".").replace(/_/g,"")));var d,p; +h&&(b(function(){p=g.body();g.doc.addEventListener("touchstart",function(a){var b=p;p=a.target;e.emit(b,"dojotouchout",{target:b,relatedTarget:p,bubbles:!0});e.emit(p,"dojotouchover",{target:p,relatedTarget:b,bubbles:!0})},!0);e(g.doc,"touchmove",function(a){if((a=g.doc.elementFromPoint(a.pageX-(l?0:g.global.pageXOffset),a.pageY-(l?0:g.global.pageYOffset)))&&p!==a)e.emit(p,"dojotouchout",{target:p,relatedTarget:a,bubbles:!0}),e.emit(a,"dojotouchover",{target:a,relatedTarget:p,bubbles:!0}),p=a})}), +d=function(a,b){return e(g.doc,"touchmove",function(d){(a===g.doc||j.isDescendant(p,a))&&b.call(this,k.mixin({},d,{target:p,touches:d.touches,preventDefault:function(){d.preventDefault()},stopPropagation:function(){d.stopPropagation()}}))})});i={press:a(h?"touchstart":"mousedown"),move:h?d:a("mousemove"),release:a(h?"touchend":"mouseup"),cancel:h?a("touchcancel"):i.leave,over:a(h?"dojotouchover":"mouseover"),out:a(h?"dojotouchout":"mouseout"),enter:i._eventHandler(h?"dojotouchover":"mouseover"),leave:i._eventHandler(h? +"dojotouchout":"mouseout")};return f.touch=i})},"dijit/_WidgetBase":function(){define("require,dojo/_base/array,dojo/aspect,dojo/_base/config,dojo/_base/connect,dojo/_base/declare,dojo/dom,dojo/dom-attr,dojo/dom-class,dojo/dom-construct,dojo/dom-geometry,dojo/dom-style,dojo/has,dojo/_base/kernel,dojo/_base/lang,dojo/on,dojo/ready,dojo/Stateful,dojo/topic,dojo/_base/window,./Destroyable,./registry".split(","),function(f,k,h,j,e,c,i,b,g,a,l,d,p,m,n,o,r,q,v,s,t,u){function y(a){return function(d){b[d? +"set":"remove"](this.domNode,a,d);this._set(a,d)}}p.add("dijit-legacy-requires",!m.isAsync);p("dijit-legacy-requires")&&r(0,function(){f(["dijit/_base/manager"])});var z={};return c("dijit._WidgetBase",[q,t],{id:"",_setIdAttr:"domNode",lang:"",_setLangAttr:y("lang"),dir:"",_setDirAttr:y("dir"),textDir:"","class":"",_setClassAttr:{node:"domNode",type:"class"},style:"",title:"",tooltip:"",baseClass:"",srcNodeRef:null,domNode:null,containerNode:null,ownerDocument:null,_setOwnerDocumentAttr:function(a){this._set("ownerDocument", +a)},attributeMap:{},_blankGif:j.blankGif||f.toUrl("dojo/resources/blank.gif"),postscript:function(a,b){this.create(a,b)},create:function(a,b){this.srcNodeRef=i.byId(b);this._connects=[];this._supportingWidgets=[];if(this.srcNodeRef&&"string"==typeof this.srcNodeRef.id)this.id=this.srcNodeRef.id;if(a)this.params=a,n.mixin(this,a);this.postMixInProperties();if(!this.id)this.id=u.getUniqueId(this.declaredClass.replace(/\./g,"_")),this.params&&delete this.params.id;this.ownerDocument=this.ownerDocument|| +(this.srcNodeRef?this.srcNodeRef.ownerDocument:s.doc);this.ownerDocumentBody=s.body(this.ownerDocument);u.add(this);this.buildRendering();var d;if(this.domNode){this._applyAttributes();var c=this.srcNodeRef;c&&c.parentNode&&this.domNode!==c&&(c.parentNode.replaceChild(this.domNode,c),d=!0);this.domNode.setAttribute("widgetId",this.id)}this.postCreate();d&&delete this.srcNodeRef;this._created=!0},_applyAttributes:function(){var a=this.constructor,b=a._setterAttrs;if(!b){var b=a._setterAttrs=[],d;for(d in this.attributeMap)b.push(d); +var a=a.prototype,c;for(c in a)c in this.attributeMap||"_set"+c.replace(/^[a-z]|-[a-zA-Z]/g,function(a){return a.charAt(a.length-1).toUpperCase()})+"Attr"in a&&b.push(c)}var g={},e;for(e in this.params||{})g[e]=this[e];k.forEach(b,function(a){a in g||this[a]&&this.set(a,this[a])},this);for(e in g)this.set(e,g[e])},postMixInProperties:function(){},buildRendering:function(){if(!this.domNode)this.domNode=this.srcNodeRef||this.ownerDocument.createElement("div");if(this.baseClass){var a=this.baseClass.split(" "); +this.isLeftToRight()||(a=a.concat(k.map(a,function(a){return a+"Rtl"})));g.add(this.domNode,a)}},postCreate:function(){},startup:function(){if(!this._started)this._started=!0,k.forEach(this.getChildren(),function(a){if(!a._started&&!a._destroyed&&n.isFunction(a.startup))a.startup(),a._started=!0})},destroyRecursive:function(a){this._beingDestroyed=!0;this.destroyDescendants(a);this.destroy(a)},destroy:function(a){function b(d){d.destroyRecursive?d.destroyRecursive(a):d.destroy&&d.destroy(a)}this._beingDestroyed= !0;this.uninitialize();k.forEach(this._connects,n.hitch(this,"disconnect"));k.forEach(this._supportingWidgets,b);this.domNode&&k.forEach(u.findWidgets(this.domNode,this.containerNode),b);this.destroyRendering(a);u.remove(this.id);this._destroyed=!0},destroyRendering:function(d){this.bgIframe&&(this.bgIframe.destroy(d),delete this.bgIframe);this.domNode&&(d?b.remove(this.domNode,"widgetId"):a.destroy(this.domNode),delete this.domNode);this.srcNodeRef&&(d||a.destroy(this.srcNodeRef),delete this.srcNodeRef)}, destroyDescendants:function(a){k.forEach(this.getChildren(),function(b){b.destroyRecursive&&b.destroyRecursive(a)})},uninitialize:function(){return!1},_setStyleAttr:function(a){var b=this.domNode;n.isObject(a)?d.set(b,a):b.style.cssText=b.style.cssText?b.style.cssText+("; "+a):a;this._set("style",a)},_attrToDom:function(a,d,c){c=3<=arguments.length?c:this.attributeMap[a];k.forEach(n.isArray(c)?c:[c],function(c){var e=this[c.node||c||"domNode"];switch(c.type||"attribute"){case "attribute":n.isFunction(d)&& -(d=n.hitch(this,d));c=c.attribute?c.attribute:/^on[A-Z][a-zA-Z]*$/.test(a)?a.toLowerCase():a;e.tagName?b.set(e,c,d):e.set(c,d);break;case "innerText":e.innerHTML="";e.appendChild(this.ownerDocument.createTextNode(d));break;case "innerHTML":e.innerHTML=d;break;case "class":f.replace(e,d,this[a])}},this)},get:function(a){var b=this._getAttrNames(a);return this[b.g]?this[b.g]():this[a]},set:function(a,b){if("object"===typeof a){for(var d in a)this.set(d,a[d]);return this}d=this._getAttrNames(a);var c= -this[d.s];if(n.isFunction(c))var f=c.apply(this,Array.prototype.slice.call(arguments,1));else{var c=this.focusNode&&!n.isFunction(this.focusNode)?"focusNode":"domNode",e=this[c].tagName,g;if(!(g=z[e])){g=this[c];var l={},h;for(h in g)l[h.toLowerCase()]=!0;g=z[e]=l}h=a in this.attributeMap?this.attributeMap[a]:d.s in this?this[d.s]:d.l in g&&"function"!=typeof b||/^aria-|^data-|^role$/.test(a)?c:null;null!=h&&this._attrToDom(a,b,h);this._set(a,b)}return f||this},_attrPairNames:{},_getAttrNames:function(a){var b= +(d=n.hitch(this,d));c=c.attribute?c.attribute:/^on[A-Z][a-zA-Z]*$/.test(a)?a.toLowerCase():a;e.tagName?b.set(e,c,d):e.set(c,d);break;case "innerText":e.innerHTML="";e.appendChild(this.ownerDocument.createTextNode(d));break;case "innerHTML":e.innerHTML=d;break;case "class":g.replace(e,d,this[a])}},this)},get:function(a){var b=this._getAttrNames(a);return this[b.g]?this[b.g]():this[a]},set:function(a,b){if("object"===typeof a){for(var d in a)this.set(d,a[d]);return this}d=this._getAttrNames(a);var c= +this[d.s];if(n.isFunction(c))var g=c.apply(this,Array.prototype.slice.call(arguments,1));else{var c=this.focusNode&&!n.isFunction(this.focusNode)?"focusNode":"domNode",e=this[c].tagName,f;if(!(f=z[e])){f=this[c];var l={},i;for(i in f)l[i.toLowerCase()]=!0;f=z[e]=l}i=a in this.attributeMap?this.attributeMap[a]:d.s in this?this[d.s]:d.l in f&&"function"!=typeof b||/^aria-|^data-|^role$/.test(a)?c:null;null!=i&&this._attrToDom(a,b,i);this._set(a,b)}return g||this},_attrPairNames:{},_getAttrNames:function(a){var b= this._attrPairNames;if(b[a])return b[a];var d=a.replace(/^[a-z]|-[a-zA-Z]/g,function(a){return a.charAt(a.length-1).toUpperCase()});return b[a]={n:a+"Node",s:"_set"+d+"Attr",g:"_get"+d+"Attr",l:d.toLowerCase()}},_set:function(a,b){var d=this[a];this[a]=b;this._created&&b!==d&&(this._watchCallbacks&&this._watchCallbacks(a,d,b),this.emit("attrmodified-"+a,{detail:{prevValue:d,newValue:b}}))},emit:function(a,b,d){b=b||{};if(void 0===b.bubbles)b.bubbles=!0;if(void 0===b.cancelable)b.cancelable=!0;if(!b.detail)b.detail= -{};b.detail.widget=this;var c,f=this["on"+a];f&&(c=f.apply(this,d?d:[b]));this._started&&!this._beingDestroyed&&o.emit(this.domNode,a.toLowerCase(),b);return c},on:function(a,b){var d=this._onMap(a);return d?i.after(this,d,b,!0):this.own(o(this.domNode,a,b))[0]},_onMap:function(a){var b=this.constructor,d=b._onMap;if(!d){var d=b._onMap={},c;for(c in b.prototype)/^on/.test(c)&&(d[c.replace(/^on/,"").toLowerCase()]=c)}return d["string"==typeof a&&a.toLowerCase()]},toString:function(){return"[Widget "+ +{};b.detail.widget=this;var c,g=this["on"+a];g&&(c=g.apply(this,d?d:[b]));this._started&&!this._beingDestroyed&&o.emit(this.domNode,a.toLowerCase(),b);return c},on:function(a,b){var d=this._onMap(a);return d?h.after(this,d,b,!0):this.own(o(this.domNode,a,b))[0]},_onMap:function(a){var b=this.constructor,d=b._onMap;if(!d){var d=b._onMap={},c;for(c in b.prototype)/^on/.test(c)&&(d[c.replace(/^on/,"").toLowerCase()]=c)}return d["string"==typeof a&&a.toLowerCase()]},toString:function(){return"[Widget "+ this.declaredClass+", "+(this.id||"NO ID")+"]"},getChildren:function(){return this.containerNode?u.findWidgets(this.containerNode):[]},getParent:function(){return u.getEnclosingWidget(this.domNode.parentNode)},connect:function(a,b,d){return this.own(e.connect(a,b,this,d))[0]},disconnect:function(a){a.remove()},subscribe:function(a,b){return this.own(v.subscribe(a,n.hitch(this,b)))[0]},unsubscribe:function(a){a.remove()},isLeftToRight:function(){return this.dir?"ltr"==this.dir:l.isBodyLtr(this.ownerDocument)}, -isFocusable:function(){return this.focus&&"none"!=d.get(this.domNode,"display")},placeAt:function(b,d){var c=!b.tagName&&u.byId(b);c&&c.addChild&&(!d||"number"===typeof d)?c.addChild(this,d):(c=c?c.containerNode&&!/after|before|replace/.test(d||"")?c.containerNode:c.domNode:h.byId(b,this.ownerDocument),a.place(this.domNode,c,d),!this._started&&(this.getParent()||{})._started&&this.startup());return this},getTextDir:function(a,b){return b},applyTextDir:function(){},defer:function(a,b){var d=setTimeout(n.hitch(this, -function(){d=null;this._destroyed||n.hitch(this,a)()}),b||0);return{remove:function(){d&&(clearTimeout(d),d=null);return null}}}})})},"dojo/Stateful":function(){define("dojo/Stateful",["./_base/declare","./_base/lang","./_base/array","dojo/when"],function(g,k,i,j){return g("dojo.Stateful",null,{_attrPairNames:{},_getAttrNames:function(e){var c=this._attrPairNames;return c[e]?c[e]:c[e]={s:"_"+e+"Setter",g:"_"+e+"Getter"}},postscript:function(e){e&&this.set(e)},_get:function(e,c){return"function"=== -typeof this[c.g]?this[c.g]():this[e]},get:function(e){return this._get(e,this._getAttrNames(e))},set:function(e,c){if("object"===typeof e){for(var g in e)e.hasOwnProperty(g)&&"_watchCallbacks"!=g&&this.set(g,e[g]);return this}g=this._getAttrNames(e);var b=this._get(e,g);g=this[g.s];var f;"function"===typeof g?f=g.apply(this,Array.prototype.slice.call(arguments,1)):this[e]=c;if(this._watchCallbacks){var a=this;j(f,function(){a._watchCallbacks(e,b,c)})}return this},_changeAttrValue:function(e,c){var g= -this.get(e);this[e]=c;this._watchCallbacks&&this._watchCallbacks(e,g,c);return this},watch:function(e,c){var g=this._watchCallbacks;if(!g)var b=this,g=this._watchCallbacks=function(a,d,c,f){var e=function(f){if(f)for(var f=f.slice(),e=0,g=f.length;e=c;e--)if(f=o.byId(d[e]))f._hasBeenBlurred=!0,f.set("focused",!1),f._focusManager==this&&f._onBlur(b),this.emit("widget-blur",f,b);for(e= -c;ed.clientHeight||g.clientWidth>d.clientWidth)?d:g:n?g:d,m=m?g:o,r=o.clientWidth, -q=o.clientHeight,v=!e.isBodyLtr(a),s=f||e.position(b),t=b.parentNode,a=function(a){return 6>=h||h&&n?!1:"fixed"==c.get(a,"position").toLowerCase()};if(!a(b))for(;t;){t==g&&(t=m);var u=e.position(t),y=a(t);if(t==m){u.w=r;u.h=q;m==d&&h&&v&&(u.x+=m.offsetWidth-u.w);if(0>u.x||!h)u.x=0;if(0>u.y||!h)u.y=0}else{var z=e.getPadBorderExtents(t);u.w-=z.w;u.h-=z.h;u.x+=z.l;u.y+=z.t;var I=t.clientWidth,J=u.w-I;if(0z.l)?J:0;I=t.clientHeight;J=u.h-I;if(0 -u.y)u.h+=u.y,u.y=0;if(0>u.x)u.w+=u.x,u.x=0;if(u.y+u.h>q)u.h=q-u.y;if(u.x+u.w>r)u.w=r-u.x}var N=s.x-u.x,E=s.y-Math.max(u.y,0),S=N+s.w-u.w,Q=E+s.h-u.h;if(0N?"max":"min"](N,S);if(v&&(8==h&&!n||9<=h))B=-B;s.x+=t.scrollLeft;t.scrollLeft+=B;s.x-=t.scrollLeft}0E?"max":"min"](E,Q),s.y-=t.scrollTop);t=t!=m&&!y&&t.parentNode}}}catch(A){b.scrollIntoView(!1)}}};g.setObject("dojo.window",h);return h})},"dijit/a11y":function(){define("dojo/_base/array,dojo/_base/config,dojo/_base/declare,dojo/dom,dojo/dom-attr,dojo/dom-style,dojo/sniff,./main".split(","), -function(g,k,i,j,e,c,h,b){var f=b._isElementShown=function(a){var b=c.get(a);return"hidden"!=b.visibility&&"collapsed"!=b.visibility&&"none"!=b.display&&"hidden"!=e.get(a,"type")};b.hasDefaultTabStop=function(a){switch(a.nodeName.toLowerCase()){case "a":return e.has(a,"href");case "area":case "button":case "input":case "object":case "select":case "textarea":return!0;case "iframe":var b;try{var c=a.contentDocument;if("designMode"in c&&"on"==c.designMode)return!0;b=c.body}catch(f){try{b=a.contentWindow.document.body}catch(g){return!1}}return b&& -("true"==b.contentEditable||b.firstChild&&"true"==b.firstChild.contentEditable);default:return"true"==a.contentEditable}};var a=b.isTabNavigable=function(a){return e.get(a,"disabled")?!1:e.has(a,"tabIndex")?0<=e.get(a,"tabIndex"):b.hasDefaultTabStop(a)};b._getTabNavigable=function(b){function d(a){return a&&"input"==a.tagName.toLowerCase()&&a.type&&"radio"==a.type.toLowerCase()&&a.name&&a.name.toLowerCase()}var c,g,i,j,k,q,v={},s=function(b){for(b=b.firstChild;b;b=b.nextSibling)if(!(1!=b.nodeType|| -h("ie")&&"HTML"!==b.scopeName||!f(b))){if(a(b)){var l=+e.get(b,"tabIndex");if(!e.has(b,"tabIndex")||0==l)c||(c=b),g=b;else if(0=q)q=l,k=b}l=d(b);e.get(b,"checked")&&l&&(v[l]=b)}"SELECT"!=b.nodeName.toUpperCase()&&s(b)}};f(b)&&s(b);return{first:v[d(c)]||c,last:v[d(g)]||g,lowest:v[d(i)]||i,highest:v[d(k)]||k}};b.getFirstInTabbingOrder=function(a,d){var c=b._getTabNavigable(j.byId(a,d));return c.lowest?c.lowest:c.first};b.getLastInTabbingOrder=function(a,d){var c=b._getTabNavigable(j.byId(a, -d));return c.last?c.last:c.highest};return{hasDefaultTabStop:b.hasDefaultTabStop,isTabNavigable:b.isTabNavigable,_getTabNavigable:b._getTabNavigable,getFirstInTabbingOrder:b.getFirstInTabbingOrder,getLastInTabbingOrder:b.getLastInTabbingOrder}})},"dojo/uacss":function(){define(["./dom-geometry","./_base/lang","./ready","./sniff","./_base/window"],function(g,k,i,j,e){var c=e.doc.documentElement,h=j("ie"),b=j("opera"),f=Math.floor,a=j("ff"),e=g.boxModel.replace(/-/,""),h={dj_ie:h,dj_ie6:6==f(h),dj_ie7:7== -f(h),dj_ie8:8==f(h),dj_ie9:9==f(h),dj_quirks:j("quirks"),dj_iequirks:h&&j("quirks"),dj_opera:b,dj_khtml:j("khtml"),dj_webkit:j("webkit"),dj_safari:j("safari"),dj_chrome:j("chrome"),dj_gecko:j("mozilla"),dj_ff3:3==f(a)};h["dj_"+e]=!0;var l="",d;for(d in h)h[d]&&(l+=d+" ");c.className=k.trim(c.className+" "+l);i(90,function(){if(!g.isBodyLtr()){var a="dj_rtl dijitRtl "+l.replace(/ /g,"-rtl ");c.className=k.trim(c.className+" "+a+"dj_rtl dijitRtl "+l.replace(/ /g,"-rtl "))}});return j})},"dijit/hccss":function(){define(["dojo/dom-class", -"dojo/hccss","dojo/ready","dojo/_base/window"],function(g,k,i,j){i(90,function(){k("highcontrast")&&g.add(j.body(),"dijit_a11y")});return k})},"dojo/hccss":function(){define("require,./_base/config,./dom-class,./dom-construct,./dom-style,./has,./ready,./_base/window".split(","),function(g,k,i,j,e,c,h,b){c.add("highcontrast",function(){var c=b.doc.createElement("div");c.style.cssText="border: 1px solid; border-color:red green; position: absolute; height: 5px; top: -999px;background-image: url("+(k.blankGif|| -g.toUrl("./resources/blank.gif"))+");";b.body().appendChild(c);var a=e.getComputedStyle(c),l=a.backgroundImage,a=a.borderTopColor==a.borderRightColor||l&&("none"==l||"url(invalid-url:)"==l);j.destroy(c);return a});h(90,function(){c("highcontrast")&&i.add(b.body(),"dj_a11y")});return c})},"dijit/_TemplatedMixin":function(){define("dojo/_base/lang,dojo/touch,./_WidgetBase,dojo/string,dojo/cache,dojo/_base/array,dojo/_base/declare,dojo/dom-construct,dojo/sniff,dojo/_base/unload".split(","),function(g, -k,i,j,e,c,h,b,f,a){var l=h("dijit._TemplatedMixin",null,{templateString:null,templatePath:null,_skipNodeCache:!1,_earlyTemplatedStartup:!1,constructor:function(){this._attachPoints=[];this._attachEvents=[]},_stringRepl:function(a){var b=this.declaredClass,c=this;return j.substitute(a,this,function(a,d){"!"==d.charAt(0)&&(a=g.getObject(d.substr(1),!1,c));if("undefined"==typeof a)throw Error(b+" template:"+d);return null==a?"":"!"==d.charAt(0)?a:a.toString().replace(/"/g,""")},this)},buildRendering:function(){if(!this.templateString)this.templateString= -e(this.templatePath,{sanitize:!0});var a=l.getCachedTemplate(this.templateString,this._skipNodeCache,this.ownerDocument),c;if(g.isString(a)){if(c=b.toDom(this._stringRepl(a),this.ownerDocument),1!=c.nodeType)throw Error("Invalid template: "+a);}else c=a.cloneNode(!0);this.domNode=c;this.inherited(arguments);this._attachTemplateNodes(c,function(a,b){return a.getAttribute(b)});this._beforeFillContent();this._fillContent(this.srcNodeRef)},_beforeFillContent:function(){},_fillContent:function(a){var b= -this.containerNode;if(a&&b)for(;a.hasChildNodes();)b.appendChild(a.firstChild)},_attachTemplateNodes:function(a,b){for(var c=g.isArray(a)?a:a.all||a.getElementsByTagName("*"),f=g.isArray(a)?0:-1;0>f||c[f];f++){var e=-1==f?a:c[f];if(!this.widgetsInTemplate||!b(e,"dojoType")&&!b(e,"data-dojo-type")){var l=b(e,"dojoAttachPoint")||b(e,"data-dojo-attach-point");if(l)for(var h=l.split(/\s*,\s*/);l=h.shift();)g.isArray(this[l])?this[l].push(e):this[l]=e,this._attachPoints.push(l);if(l=b(e,"dojoAttachEvent")|| -b(e,"data-dojo-attach-event"))for(var h=l.split(/\s*,\s*/),i=g.trim;l=h.shift();)if(l){var j=null;-1!=l.indexOf(":")?(j=l.split(":"),l=i(j[0]),j=i(j[1])):l=i(l);j||(j=l);this._attachEvents.push(this.connect(e,k[l]||l,j))}}}},destroyRendering:function(){c.forEach(this._attachPoints,function(a){delete this[a]},this);this._attachPoints=[];c.forEach(this._attachEvents,this.disconnect,this);this._attachEvents=[];this.inherited(arguments)}});l._templateCache={};l.getCachedTemplate=function(a,c,f){var e= -l._templateCache,g=a,h=e[g];if(h){try{if(!h.ownerDocument||h.ownerDocument==(f||document))return h}catch(i){}b.destroy(h)}a=j.trim(a);if(c||a.match(/\$\{([^\}]+)\}/g))return e[g]=a;c=b.toDom(a,f);if(1!=c.nodeType)throw Error("Invalid template: "+a);return e[g]=c};f("ie")&&a.addOnWindowUnload(function(){var a=l._templateCache,c;for(c in a){var f=a[c];"object"==typeof f&&b.destroy(f);delete a[c]}});g.extend(i,{dojoAttachEvent:"",dojoAttachPoint:""});return l})},"dojo/string":function(){define(["./_base/kernel", -"./_base/lang"],function(g,k){var i={};k.setObject("dojo.string",i);i.rep=function(g,e){if(0>=e||!g)return"";for(var c=[];;){e&1&&c.push(g);if(!(e>>=1))break;g+=g}return c.join("")};i.pad=function(g,e,c,h){c||(c="0");g=""+g;e=i.rep(c,Math.ceil((e-g.length)/c.length));return h?g+e:e+g};i.substitute=function(i,e,c,h){h=h||g.global;c=c?k.hitch(h,c):function(b){return b};return i.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(b,f,a){b=k.getObject(f,!1,e);a&&(b=k.getObject(a,!1,h).call(h,b, -f));return c(b,f).toString()})};i.trim=String.prototype.trim?k.trim:function(g){for(var g=g.replace(/^\s+/,""),e=g.length-1;0<=e;e--)if(/\S/.test(g.charAt(e))){g=g.substring(0,e+1);break}return g};return i})},"dojo/cache":function(){define("dojo/cache",["./_base/kernel","./text"],function(g){return g.cache})},"dojo/text":function(){define(["./_base/kernel","require","./has","./_base/xhr"],function(g,k,i,j){var e;e=function(a,b,d){j("GET",{url:a,sync:!!b,load:d,headers:g.config.textPluginHeaders|| -{}})};var c={},h=function(a){if(a){var a=a.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,""),b=a.match(/]*>\s*([\s\S]+)\s*<\/body>/im);b&&(a=b[1])}else a="";return a},b={},f={};g.cache=function(a,b,d){var f;"string"==typeof a?/\//.test(a)?(f=a,d=b):f=k.toUrl(a.replace(/\./g,"/")+(b?"/"+b:"")):(f=a+"",d=b);a=void 0!=d&&"string"!=typeof d?d.value:d;d=d&&d.sanitize;if("string"==typeof a)return c[f]=a,d?h(a):a;if(null===a)return delete c[f],null;f in c||e(f,!0,function(a){c[f]= -a});return d?h(c[f]):c[f]};return{dynamic:!0,normalize:function(a,b){var d=a.split("!"),c=d[0];return(/^\./.test(c)?b(c):c)+(d[1]?"!"+d[1]:"")},load:function(a,g,d){var a=a.split("!"),i=1=e)c=h[e-1].domNode,e="after"}i.place(g.domNode,c,e);this._started&&!g._started&&g.startup()},removeChild:function(g){"number"==typeof g&&(g=this.getChildren()[g]);if(g)(g=g.domNode)&&g.parentNode&&g.parentNode.removeChild(g)},hasChildren:function(){return 0${loadingState}",errorMessage:"${errorState}",isLoaded:!1,baseClass:"dijitContentPane",ioArgs:{}, +isFocusable:function(){return this.focus&&"none"!=d.get(this.domNode,"display")},placeAt:function(b,d){var c=!b.tagName&&u.byId(b);c&&c.addChild&&(!d||"number"===typeof d)?c.addChild(this,d):(c=c?c.containerNode&&!/after|before|replace/.test(d||"")?c.containerNode:c.domNode:i.byId(b,this.ownerDocument),a.place(this.domNode,c,d),!this._started&&(this.getParent()||{})._started&&this.startup());return this},getTextDir:function(a,b){return b},applyTextDir:function(){},defer:function(a,b){var d=setTimeout(n.hitch(this, +function(){d=null;this._destroyed||n.hitch(this,a)()}),b||0);return{remove:function(){d&&(clearTimeout(d),d=null);return null}}}})})},"dojo/Stateful":function(){define("dojo/Stateful",["./_base/declare","./_base/lang","./_base/array","dojo/when"],function(f,k,h,j){return f("dojo.Stateful",null,{_attrPairNames:{},_getAttrNames:function(e){var c=this._attrPairNames;return c[e]?c[e]:c[e]={s:"_"+e+"Setter",g:"_"+e+"Getter"}},postscript:function(e){e&&this.set(e)},_get:function(e,c){return"function"=== +typeof this[c.g]?this[c.g]():this[e]},get:function(e){return this._get(e,this._getAttrNames(e))},set:function(e,c){if("object"===typeof e){for(var f in e)e.hasOwnProperty(f)&&"_watchCallbacks"!=f&&this.set(f,e[f]);return this}f=this._getAttrNames(e);var b=this._get(e,f);f=this[f.s];var g;"function"===typeof f?g=f.apply(this,Array.prototype.slice.call(arguments,1)):this[e]=c;if(this._watchCallbacks){var a=this;j(g,function(){a._watchCallbacks(e,b,c)})}return this},_changeAttrValue:function(e,c){var f= +this.get(e);this[e]=c;this._watchCallbacks&&this._watchCallbacks(e,f,c);return this},watch:function(e,c){var f=this._watchCallbacks;if(!f)var b=this,f=this._watchCallbacks=function(a,d,c,g){var e=function(g){if(g)for(var g=g.slice(),e=0,f=g.length;e=c;e--)if(g=o.byId(d[e]))g._hasBeenBlurred=!0,g.set("focused",!1),g._focusManager==this&&g._onBlur(b),this.emit("widget-blur",g,b);for(e= +c;ed.clientHeight||f.clientWidth>d.clientWidth)?d:f:n?f:d,m=m?f:o,r=o.clientWidth, +q=o.clientHeight,v=!e.isBodyLtr(a),s=g||e.position(b),t=b.parentNode,a=function(a){return 6>=i||i&&n?!1:"fixed"==c.get(a,"position").toLowerCase()};if(!a(b))for(;t;){t==f&&(t=m);var u=e.position(t),y=a(t);if(t==m){u.w=r;u.h=q;m==d&&i&&v&&(u.x+=m.offsetWidth-u.w);if(0>u.x||!i)u.x=0;if(0>u.y||!i)u.y=0}else{var z=e.getPadBorderExtents(t);u.w-=z.w;u.h-=z.h;u.x+=z.l;u.y+=z.t;var I=t.clientWidth,J=u.w-I;if(0z.l)?J:0;I=t.clientHeight;J=u.h-I;if(0 +u.y)u.h+=u.y,u.y=0;if(0>u.x)u.w+=u.x,u.x=0;if(u.y+u.h>q)u.h=q-u.y;if(u.x+u.w>r)u.w=r-u.x}var N=s.x-u.x,E=s.y-Math.max(u.y,0),S=N+s.w-u.w,Q=E+s.h-u.h;if(0N?"max":"min"](N,S);if(v&&(8==i&&!n||9<=i))B=-B;s.x+=t.scrollLeft;t.scrollLeft+=B;s.x-=t.scrollLeft}0E?"max":"min"](E,Q),s.y-=t.scrollTop);t=t!=m&&!y&&t.parentNode}}}catch(A){b.scrollIntoView(!1)}}};f.setObject("dojo.window",i);return i})},"dijit/a11y":function(){define("dojo/_base/array,dojo/_base/config,dojo/_base/declare,dojo/dom,dojo/dom-attr,dojo/dom-style,dojo/sniff,./main".split(","), +function(f,k,h,j,e,c,i,b){var g=b._isElementShown=function(a){var b=c.get(a);return"hidden"!=b.visibility&&"collapsed"!=b.visibility&&"none"!=b.display&&"hidden"!=e.get(a,"type")};b.hasDefaultTabStop=function(a){switch(a.nodeName.toLowerCase()){case "a":return e.has(a,"href");case "area":case "button":case "input":case "object":case "select":case "textarea":return!0;case "iframe":var b;try{var c=a.contentDocument;if("designMode"in c&&"on"==c.designMode)return!0;b=c.body}catch(g){try{b=a.contentWindow.document.body}catch(f){return!1}}return b&& +("true"==b.contentEditable||b.firstChild&&"true"==b.firstChild.contentEditable);default:return"true"==a.contentEditable}};var a=b.isTabNavigable=function(a){return e.get(a,"disabled")?!1:e.has(a,"tabIndex")?0<=e.get(a,"tabIndex"):b.hasDefaultTabStop(a)};b._getTabNavigable=function(b){function d(a){return a&&"input"==a.tagName.toLowerCase()&&a.type&&"radio"==a.type.toLowerCase()&&a.name&&a.name.toLowerCase()}var c,f,h,j,k,q,v={},s=function(b){for(b=b.firstChild;b;b=b.nextSibling)if(!(1!=b.nodeType|| +i("ie")&&"HTML"!==b.scopeName||!g(b))){if(a(b)){var l=+e.get(b,"tabIndex");if(!e.has(b,"tabIndex")||0==l)c||(c=b),f=b;else if(0=q)q=l,k=b}l=d(b);e.get(b,"checked")&&l&&(v[l]=b)}"SELECT"!=b.nodeName.toUpperCase()&&s(b)}};g(b)&&s(b);return{first:v[d(c)]||c,last:v[d(f)]||f,lowest:v[d(h)]||h,highest:v[d(k)]||k}};b.getFirstInTabbingOrder=function(a,d){var c=b._getTabNavigable(j.byId(a,d));return c.lowest?c.lowest:c.first};b.getLastInTabbingOrder=function(a,d){var c=b._getTabNavigable(j.byId(a, +d));return c.last?c.last:c.highest};return{hasDefaultTabStop:b.hasDefaultTabStop,isTabNavigable:b.isTabNavigable,_getTabNavigable:b._getTabNavigable,getFirstInTabbingOrder:b.getFirstInTabbingOrder,getLastInTabbingOrder:b.getLastInTabbingOrder}})},"dojo/uacss":function(){define(["./dom-geometry","./_base/lang","./ready","./sniff","./_base/window"],function(f,k,h,j,e){var c=e.doc.documentElement,i=j("ie"),b=j("opera"),g=Math.floor,a=j("ff"),e=f.boxModel.replace(/-/,""),i={dj_ie:i,dj_ie6:6==g(i),dj_ie7:7== +g(i),dj_ie8:8==g(i),dj_ie9:9==g(i),dj_quirks:j("quirks"),dj_iequirks:i&&j("quirks"),dj_opera:b,dj_khtml:j("khtml"),dj_webkit:j("webkit"),dj_safari:j("safari"),dj_chrome:j("chrome"),dj_gecko:j("mozilla"),dj_ff3:3==g(a)};i["dj_"+e]=!0;var l="",d;for(d in i)i[d]&&(l+=d+" ");c.className=k.trim(c.className+" "+l);h(90,function(){if(!f.isBodyLtr()){var a="dj_rtl dijitRtl "+l.replace(/ /g,"-rtl ");c.className=k.trim(c.className+" "+a+"dj_rtl dijitRtl "+l.replace(/ /g,"-rtl "))}});return j})},"dijit/hccss":function(){define(["dojo/dom-class", +"dojo/hccss","dojo/ready","dojo/_base/window"],function(f,k,h,j){h(90,function(){k("highcontrast")&&f.add(j.body(),"dijit_a11y")});return k})},"dojo/hccss":function(){define("require,./_base/config,./dom-class,./dom-construct,./dom-style,./has,./ready,./_base/window".split(","),function(f,k,h,j,e,c,i,b){c.add("highcontrast",function(){var c=b.doc.createElement("div");c.style.cssText="border: 1px solid; border-color:red green; position: absolute; height: 5px; top: -999px;background-image: url("+(k.blankGif|| +f.toUrl("./resources/blank.gif"))+");";b.body().appendChild(c);var a=e.getComputedStyle(c),l=a.backgroundImage,a=a.borderTopColor==a.borderRightColor||l&&("none"==l||"url(invalid-url:)"==l);j.destroy(c);return a});i(90,function(){c("highcontrast")&&h.add(b.body(),"dj_a11y")});return c})},"dijit/_TemplatedMixin":function(){define("dojo/_base/lang,dojo/touch,./_WidgetBase,dojo/string,dojo/cache,dojo/_base/array,dojo/_base/declare,dojo/dom-construct,dojo/sniff,dojo/_base/unload".split(","),function(f, +k,h,j,e,c,i,b,g,a){var l=i("dijit._TemplatedMixin",null,{templateString:null,templatePath:null,_skipNodeCache:!1,_earlyTemplatedStartup:!1,constructor:function(){this._attachPoints=[];this._attachEvents=[]},_stringRepl:function(a){var b=this.declaredClass,c=this;return j.substitute(a,this,function(a,d){"!"==d.charAt(0)&&(a=f.getObject(d.substr(1),!1,c));if("undefined"==typeof a)throw Error(b+" template:"+d);return null==a?"":"!"==d.charAt(0)?a:a.toString().replace(/"/g,""")},this)},buildRendering:function(){if(!this.templateString)this.templateString= +e(this.templatePath,{sanitize:!0});var a=l.getCachedTemplate(this.templateString,this._skipNodeCache,this.ownerDocument),c;if(f.isString(a)){if(c=b.toDom(this._stringRepl(a),this.ownerDocument),1!=c.nodeType)throw Error("Invalid template: "+a);}else c=a.cloneNode(!0);this.domNode=c;this.inherited(arguments);this._attachTemplateNodes(c,function(a,b){return a.getAttribute(b)});this._beforeFillContent();this._fillContent(this.srcNodeRef)},_beforeFillContent:function(){},_fillContent:function(a){var b= +this.containerNode;if(a&&b)for(;a.hasChildNodes();)b.appendChild(a.firstChild)},_attachTemplateNodes:function(a,b){for(var c=f.isArray(a)?a:a.all||a.getElementsByTagName("*"),g=f.isArray(a)?0:-1;0>g||c[g];g++){var e=-1==g?a:c[g];if(!this.widgetsInTemplate||!b(e,"dojoType")&&!b(e,"data-dojo-type")){var l=b(e,"dojoAttachPoint")||b(e,"data-dojo-attach-point");if(l)for(var i=l.split(/\s*,\s*/);l=i.shift();)f.isArray(this[l])?this[l].push(e):this[l]=e,this._attachPoints.push(l);if(l=b(e,"dojoAttachEvent")|| +b(e,"data-dojo-attach-event"))for(var i=l.split(/\s*,\s*/),h=f.trim;l=i.shift();)if(l){var j=null;-1!=l.indexOf(":")?(j=l.split(":"),l=h(j[0]),j=h(j[1])):l=h(l);j||(j=l);this._attachEvents.push(this.connect(e,k[l]||l,j))}}}},destroyRendering:function(){c.forEach(this._attachPoints,function(a){delete this[a]},this);this._attachPoints=[];c.forEach(this._attachEvents,this.disconnect,this);this._attachEvents=[];this.inherited(arguments)}});l._templateCache={};l.getCachedTemplate=function(a,c,g){var e= +l._templateCache,f=a,i=e[f];if(i){try{if(!i.ownerDocument||i.ownerDocument==(g||document))return i}catch(h){}b.destroy(i)}a=j.trim(a);if(c||a.match(/\$\{([^\}]+)\}/g))return e[f]=a;c=b.toDom(a,g);if(1!=c.nodeType)throw Error("Invalid template: "+a);return e[f]=c};g("ie")&&a.addOnWindowUnload(function(){var a=l._templateCache,c;for(c in a){var g=a[c];"object"==typeof g&&b.destroy(g);delete a[c]}});f.extend(h,{dojoAttachEvent:"",dojoAttachPoint:""});return l})},"dojo/string":function(){define(["./_base/kernel", +"./_base/lang"],function(f,k){var h={};k.setObject("dojo.string",h);h.rep=function(f,e){if(0>=e||!f)return"";for(var c=[];;){e&1&&c.push(f);if(!(e>>=1))break;f+=f}return c.join("")};h.pad=function(f,e,c,i){c||(c="0");f=""+f;e=h.rep(c,Math.ceil((e-f.length)/c.length));return i?f+e:e+f};h.substitute=function(h,e,c,i){i=i||f.global;c=c?k.hitch(i,c):function(b){return b};return h.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(b,g,a){b=k.getObject(g,!1,e);a&&(b=k.getObject(a,!1,i).call(i,b, +g));return c(b,g).toString()})};h.trim=String.prototype.trim?k.trim:function(f){for(var f=f.replace(/^\s+/,""),e=f.length-1;0<=e;e--)if(/\S/.test(f.charAt(e))){f=f.substring(0,e+1);break}return f};return h})},"dojo/cache":function(){define("dojo/cache",["./_base/kernel","./text"],function(f){return f.cache})},"dojo/text":function(){define(["./_base/kernel","require","./has","./_base/xhr"],function(f,k,h,j){var e;e=function(a,b,d){j("GET",{url:a,sync:!!b,load:d,headers:f.config.textPluginHeaders|| +{}})};var c={},i=function(a){if(a){var a=a.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,""),b=a.match(/]*>\s*([\s\S]+)\s*<\/body>/im);b&&(a=b[1])}else a="";return a},b={},g={};f.cache=function(a,b,d){var g;"string"==typeof a?/\//.test(a)?(g=a,d=b):g=k.toUrl(a.replace(/\./g,"/")+(b?"/"+b:"")):(g=a+"",d=b);a=void 0!=d&&"string"!=typeof d?d.value:d;d=d&&d.sanitize;if("string"==typeof a)return c[g]=a,d?i(a):a;if(null===a)return delete c[g],null;g in c||e(g,!0,function(a){c[g]= +a});return d?i(c[g]):c[g]};return{dynamic:!0,normalize:function(a,b){var d=a.split("!"),c=d[0];return(/^\./.test(c)?b(c):c)+(d[1]?"!"+d[1]:"")},load:function(a,f,d){var a=a.split("!"),h=1=e)c=i[e-1].domNode,e="after"}h.place(f.domNode,c,e);this._started&&!f._started&&f.startup()},removeChild:function(f){"number"==typeof f&&(f=this.getChildren()[f]);if(f)(f=f.domNode)&&f.parentNode&&f.parentNode.removeChild(f)},hasChildren:function(){return 0${loadingState}",errorMessage:"${errorState}",isLoaded:!1,baseClass:"dijitContentPane",ioArgs:{}, onLoadDeferred:null,_setTitleAttr:null,stopParser:!0,template:!1,create:function(a,b){if((!a||!a.template)&&b&&!("href"in a)&&!("content"in a)){for(var b=d.byId(b),c=b.ownerDocument.createDocumentFragment();b.firstChild;)c.appendChild(b.firstChild);a=k.delegate(a,{content:c})}this.inherited(arguments,[a,b])},postMixInProperties:function(){this.inherited(arguments);var a=n.getLocalization("dijit","loading",this.lang);this.loadingMessage=c.substitute(this.loadingMessage,a);this.errorMessage=c.substitute(this.errorMessage, -a)},buildRendering:function(){this.inherited(arguments);if(!this.containerNode)this.containerNode=this.domNode;this.domNode.title="";p.get(this.domNode,"role")||this.domNode.setAttribute("role","group")},startup:function(){this.inherited(arguments);this._contentSetter&&f.forEach(this._contentSetter.parseResults,function(a){if(!a._started&&!a._destroyed&&k.isFunction(a.startup))a.startup(),a._started=!0},this)},_startChildren:function(){f.forEach(this.getChildren(),function(a){if(!a._started&&!a._destroyed&& -k.isFunction(a.startup))a.startup(),a._started=!0});this._contentSetter&&f.forEach(this._contentSetter.parseResults,function(a){if(!a._started&&!a._destroyed&&k.isFunction(a.startup))a.startup(),a._started=!0},this)},setHref:function(a){g.deprecated("dijit.layout.ContentPane.setHref() is deprecated. Use set('href', ...) instead.","","2.0");return this.set("href",a)},_setHrefAttr:function(a){this.cancel();this.onLoadDeferred=new l(k.hitch(this,"cancel"));this.onLoadDeferred.then(k.hitch(this,"onLoad")); -this._set("href",a);this.preload||this._created&&this._isShown()?this._load():this._hrefChanged=!0;return this.onLoadDeferred},setContent:function(a){g.deprecated("dijit.layout.ContentPane.setContent() is deprecated. Use set('content', ...) instead.","","2.0");this.set("content",a)},_setContentAttr:function(a){this._set("href","");this.cancel();this.onLoadDeferred=new l(k.hitch(this,"cancel"));this._created&&this.onLoadDeferred.then(k.hitch(this,"onLoad"));this._setContent(a||"");this._isDownloaded= +a)},buildRendering:function(){this.inherited(arguments);if(!this.containerNode)this.containerNode=this.domNode;this.domNode.title="";p.get(this.domNode,"role")||this.domNode.setAttribute("role","group")},startup:function(){this.inherited(arguments);this._contentSetter&&g.forEach(this._contentSetter.parseResults,function(a){if(!a._started&&!a._destroyed&&k.isFunction(a.startup))a.startup(),a._started=!0},this)},_startChildren:function(){g.forEach(this.getChildren(),function(a){if(!a._started&&!a._destroyed&& +k.isFunction(a.startup))a.startup(),a._started=!0});this._contentSetter&&g.forEach(this._contentSetter.parseResults,function(a){if(!a._started&&!a._destroyed&&k.isFunction(a.startup))a.startup(),a._started=!0},this)},setHref:function(a){f.deprecated("dijit.layout.ContentPane.setHref() is deprecated. Use set('href', ...) instead.","","2.0");return this.set("href",a)},_setHrefAttr:function(a){this.cancel();this.onLoadDeferred=new l(k.hitch(this,"cancel"));this.onLoadDeferred.then(k.hitch(this,"onLoad")); +this._set("href",a);this.preload||this._created&&this._isShown()?this._load():this._hrefChanged=!0;return this.onLoadDeferred},setContent:function(a){f.deprecated("dijit.layout.ContentPane.setContent() is deprecated. Use set('content', ...) instead.","","2.0");this.set("content",a)},_setContentAttr:function(a){this._set("href","");this.cancel();this.onLoadDeferred=new l(k.hitch(this,"cancel"));this._created&&this.onLoadDeferred.then(k.hitch(this,"onLoad"));this._setContent(a||"");this._isDownloaded= !1;return this.onLoadDeferred},_getContentAttr:function(){return this.containerNode.innerHTML},cancel:function(){this._xhrDfd&&-1==this._xhrDfd.fired&&this._xhrDfd.cancel();delete this._xhrDfd;this.onLoadDeferred=null},destroy:function(){this.cancel();this.inherited(arguments)},destroyRecursive:function(a){this._beingDestroyed||this.inherited(arguments)},_onShow:function(){this.inherited(arguments);if(this.href&&!this._xhrDfd&&(!this.isLoaded||this._hrefChanged||this.refreshOnShow))return this.refresh()}, refresh:function(){this.cancel();this.onLoadDeferred=new l(k.hitch(this,"cancel"));this.onLoadDeferred.then(k.hitch(this,"onLoad"));this._load();return this.onLoadDeferred},_load:function(){this._setContent(this.onDownloadStart(),!0);var a=this,b={preventCache:this.preventCache||this.refreshOnShow,url:this.href,handleAs:"text"};k.isObject(this.ioArgs)&&k.mixin(b,this.ioArgs);var d=this._xhrDfd=(this.ioMethod||m.get)(b),c;d.then(function(b){c=b;try{return a._isDownloaded=!0,a._setContent(b,!1)}catch(d){a._onError("Content", -d)}},function(b){d.canceled||a._onError("Download",b);delete a._xhrDfd;return b}).then(function(){a.onDownloadEnd();delete a._xhrDfd;return c});delete this._hrefChanged},_onLoadHandler:function(a){this._set("isLoaded",!0);try{this.onLoadDeferred.resolve(a)}catch(b){}},_onUnloadHandler:function(){this._set("isLoaded",!1);try{this.onUnload()}catch(a){}},destroyDescendants:function(a){this.isLoaded&&this._onUnloadHandler();var b=this._contentSetter;f.forEach(this.getChildren(),function(b){b.destroyRecursive? -b.destroyRecursive(a):b.destroy&&b.destroy(a);b._destroyed=!0});b&&(f.forEach(b.parseResults,function(b){if(!b._destroyed)b.destroyRecursive?b.destroyRecursive(a):b.destroy&&b.destroy(a),b._destroyed=!0}),delete b.parseResults);a||h._emptyNode(this.containerNode);delete this._singleChild},_setContent:function(a,b){this.destroyDescendants();var d=this._contentSetter;if(!(d&&d instanceof h._ContentSetter))d=this._contentSetter=new h._ContentSetter({node:this.containerNode,_onError:k.hitch(this,this._onError), -onContentError:k.hitch(this,function(a){a=this.onContentError(a);try{this.containerNode.innerHTML=a}catch(b){}})});var c=k.mixin({cleanContent:this.cleanContent,extractContent:this.extractContent,parseContent:!a.domNode&&this.parseOnLoad,parserScope:this.parserScope,startup:!1,dir:this.dir,lang:this.lang,textDir:this.textDir},this._contentSetterParams||{}),c=d.set(k.isObject(a)&&a.domNode?a.domNode:a,c),f=this;return o(c&&c.then?c:d.parseDeferred,function(){delete f._contentSetterParams;b||(f._started&& -(f._startChildren(),f._scheduleLayout()),f._onLoadHandler(a))})},_onError:function(a,b,d){this.onLoadDeferred.reject(b);a=this["on"+a+"Error"].call(this,b);d||a&&this._setContent(a,!0)},onLoad:function(){},onUnload:function(){},onDownloadStart:function(){return this.loadingMessage},onContentError:function(){},onDownloadError:function(){return this.errorMessage},onDownloadEnd:function(){}})})},"dijit/layout/_ContentPaneResizeMixin":function(){define("dojo/_base/array,dojo/_base/declare,dojo/dom-class,dojo/dom-geometry,dojo/dom-style,dojo/_base/lang,dojo/query,dojo/sniff,../registry,../Viewport,./utils".split(","), -function(g,k,i,j,e,c,h,b,f,a,l){return k("dijit.layout._ContentPaneResizeMixin",null,{doLayout:!0,isLayoutContainer:!0,startup:function(){if(!this._started){var b=this.getParent();this._childOfLayoutWidget=b&&b.isLayoutContainer;this._needLayout=!this._childOfLayoutWidget;this.inherited(arguments);this._isShown()&&this._onShow();this._childOfLayoutWidget||this.own(a.on("resize",c.hitch(this,"resize")))}},_checkIfSingleChild:function(){var a=[],b=!1;h("> *",this.containerNode).some(function(c){var e= -f.byNode(c);e&&e.resize?a.push(e):c.offsetHeight&&(b=!0)});this._singleChild=1==a.length&&!b?a[0]:null;i.toggle(this.containerNode,this.baseClass+"SingleChild",!!this._singleChild)},resize:function(a,b){this._resizeCalled=!0;this._scheduleLayout(a,b)},_scheduleLayout:function(a,b){this._isShown()?this._layout(a,b):(this._needLayout=!0,this._changeSize=a,this._resultSize=b)},_layout:function(a,b){delete this._needLayout;!this._wasShown&&!1!==this.open&&this._onShow();a&&j.setMarginBox(this.domNode, -a);var f=this.containerNode;if(f===this.domNode){var e=b||{};c.mixin(e,a||{});if(!("h"in e)||!("w"in e))e=c.mixin(j.getMarginBox(f),e);this._contentBox=l.marginBox2contentBox(f,e)}else this._contentBox=j.getContentBox(f);this._layoutChildren()},_layoutChildren:function(){this.doLayout&&this._checkIfSingleChild();if(this._singleChild&&this._singleChild.resize){var a=this._contentBox||j.getContentBox(this.containerNode);this._singleChild.resize({w:a.w,h:a.h})}else g.forEach(this.getChildren(),function(a){a.resize&& -a.resize()})},_isShown:function(){if(this._childOfLayoutWidget)return this._resizeCalled&&"open"in this?this.open:this._resizeCalled;if("open"in this)return this.open;var a=this.domNode,b=this.domNode.parentNode;return"none"!=a.style.display&&"hidden"!=a.style.visibility&&!i.contains(a,"dijitHidden")&&b&&b.style&&"none"!=b.style.display},_onShow:function(){this._wasShown=!0;this._needLayout&&this._layout(this._changeSize,this._resultSize);this.inherited(arguments)}})})},"dojo/html":function(){define("./_base/kernel,./_base/lang,./_base/array,./_base/declare,./dom,./dom-construct,./parser".split(","), -function(g,k,i,j,e,c,h){var b={};k.setObject("dojo.html",b);var f=0;b._secureForInnerHtml=function(a){return a.replace(/(?:\s*]+>|]*>[\s\S]*?<\/title>)/ig,"")};b._emptyNode=c.empty;b._setNodeContent=function(a,b){c.empty(a);if(b)if("string"==typeof b&&(b=c.toDom(b,a.ownerDocument)),!b.nodeType&&k.isArrayLike(b))for(var d=b.length,f=0;f]*>\s*([\s\S]+)\s*<\/body>/im);c&&(a=c[1])}this.empty();this.content=a;return this.node},onEnd:function(){this.parseContent&&this._parse();return this.node},tearDown:function(){delete this.parseResults;delete this.parseDeferred;delete this.node;delete this.content},onContentError:function(a){return"Error occurred setting content: "+a},onExecError:function(a){return"Error occurred executing scripts: "+a},_mixin:function(a){var b={},d;for(d in a)d in b|| -(this[d]=a[d])},_parse:function(){var a=this.node;try{var b={};i.forEach(["dir","lang","textDir"],function(a){this[a]&&(b[a]=this[a])},this);var d=this;this.parseDeferred=h.parse({rootNode:a,noStart:!this.startup,inherited:b,scope:this.parserScope}).then(function(a){return d.parseResults=a})}catch(c){this._onError("Content",c,"Error parsing in _ContentSetter#"+this.id)}},_onError:function(a,c,d){a=this["on"+a+"Error"].call(this,c);d||a&&b._setNodeContent(this.node,a,!0)}});b.set=function(a,c,d){void 0== -c&&(c="");return d?(new b._ContentSetter(k.mixin(d,{content:c,node:a}))).set():b._setNodeContent(a,c,!0)};return b})},"dojo/parser":function(){define("require,./_base/kernel,./_base/lang,./_base/array,./_base/config,./_base/html,./_base/window,./_base/url,./_base/json,./aspect,./date/stamp,./Deferred,./has,./query,./on,./ready".split(","),function(g,k,i,j,e,c,h,b,f,a,l,d,p,m,n,o){function r(a){var b=a._nameCaseMap,d=a.prototype;if(!b||b._extendCnt.*$/,""),v=j.map(o.split(/\s+/),function(a){var b=a.toLowerCase();return{name:a,value:"LI"==c.nodeName&&"value"==a||"enctype"==b?c.getAttribute(b):c.getAttributeNode(b).value}}));var s=g.scope||k._scopeName,o="data-"+s+"-",A={};"dojo"!==s&&(A[o+"props"]= +d)}},function(b){d.canceled||a._onError("Download",b);delete a._xhrDfd;return b}).then(function(){a.onDownloadEnd();delete a._xhrDfd;return c});delete this._hrefChanged},_onLoadHandler:function(a){this._set("isLoaded",!0);try{this.onLoadDeferred.resolve(a)}catch(b){}},_onUnloadHandler:function(){this._set("isLoaded",!1);try{this.onUnload()}catch(a){}},destroyDescendants:function(a){this.isLoaded&&this._onUnloadHandler();var b=this._contentSetter;g.forEach(this.getChildren(),function(b){b.destroyRecursive? +b.destroyRecursive(a):b.destroy&&b.destroy(a);b._destroyed=!0});b&&(g.forEach(b.parseResults,function(b){if(!b._destroyed)b.destroyRecursive?b.destroyRecursive(a):b.destroy&&b.destroy(a),b._destroyed=!0}),delete b.parseResults);a||i._emptyNode(this.containerNode);delete this._singleChild},_setContent:function(a,b){this.destroyDescendants();var d=this._contentSetter;if(!(d&&d instanceof i._ContentSetter))d=this._contentSetter=new i._ContentSetter({node:this.containerNode,_onError:k.hitch(this,this._onError), +onContentError:k.hitch(this,function(a){a=this.onContentError(a);try{this.containerNode.innerHTML=a}catch(b){}})});var c=k.mixin({cleanContent:this.cleanContent,extractContent:this.extractContent,parseContent:!a.domNode&&this.parseOnLoad,parserScope:this.parserScope,startup:!1,dir:this.dir,lang:this.lang,textDir:this.textDir},this._contentSetterParams||{}),c=d.set(k.isObject(a)&&a.domNode?a.domNode:a,c),g=this;return o(c&&c.then?c:d.parseDeferred,function(){delete g._contentSetterParams;b||(g._started&& +(g._startChildren(),g._scheduleLayout()),g._onLoadHandler(a))})},_onError:function(a,b,d){this.onLoadDeferred.reject(b);a=this["on"+a+"Error"].call(this,b);d||a&&this._setContent(a,!0)},onLoad:function(){},onUnload:function(){},onDownloadStart:function(){return this.loadingMessage},onContentError:function(){},onDownloadError:function(){return this.errorMessage},onDownloadEnd:function(){}})})},"dijit/layout/_ContentPaneResizeMixin":function(){define("dojo/_base/array,dojo/_base/declare,dojo/dom-class,dojo/dom-geometry,dojo/dom-style,dojo/_base/lang,dojo/query,dojo/sniff,../registry,../Viewport,./utils".split(","), +function(f,k,h,j,e,c,i,b,g,a,l){return k("dijit.layout._ContentPaneResizeMixin",null,{doLayout:!0,isLayoutContainer:!0,startup:function(){if(!this._started){var b=this.getParent();this._childOfLayoutWidget=b&&b.isLayoutContainer;this._needLayout=!this._childOfLayoutWidget;this.inherited(arguments);this._isShown()&&this._onShow();this._childOfLayoutWidget||this.own(a.on("resize",c.hitch(this,"resize")))}},_checkIfSingleChild:function(){var a=[],b=!1;i("> *",this.containerNode).some(function(c){var e= +g.byNode(c);e&&e.resize?a.push(e):c.offsetHeight&&(b=!0)});this._singleChild=1==a.length&&!b?a[0]:null;h.toggle(this.containerNode,this.baseClass+"SingleChild",!!this._singleChild)},resize:function(a,b){this._resizeCalled=!0;this._scheduleLayout(a,b)},_scheduleLayout:function(a,b){this._isShown()?this._layout(a,b):(this._needLayout=!0,this._changeSize=a,this._resultSize=b)},_layout:function(a,b){delete this._needLayout;!this._wasShown&&!1!==this.open&&this._onShow();a&&j.setMarginBox(this.domNode, +a);var g=this.containerNode;if(g===this.domNode){var e=b||{};c.mixin(e,a||{});if(!("h"in e)||!("w"in e))e=c.mixin(j.getMarginBox(g),e);this._contentBox=l.marginBox2contentBox(g,e)}else this._contentBox=j.getContentBox(g);this._layoutChildren()},_layoutChildren:function(){this.doLayout&&this._checkIfSingleChild();if(this._singleChild&&this._singleChild.resize){var a=this._contentBox||j.getContentBox(this.containerNode);this._singleChild.resize({w:a.w,h:a.h})}else f.forEach(this.getChildren(),function(a){a.resize&& +a.resize()})},_isShown:function(){if(this._childOfLayoutWidget)return this._resizeCalled&&"open"in this?this.open:this._resizeCalled;if("open"in this)return this.open;var a=this.domNode,b=this.domNode.parentNode;return"none"!=a.style.display&&"hidden"!=a.style.visibility&&!h.contains(a,"dijitHidden")&&b&&b.style&&"none"!=b.style.display},_onShow:function(){this._wasShown=!0;this._needLayout&&this._layout(this._changeSize,this._resultSize);this.inherited(arguments)}})})},"dojo/html":function(){define("./_base/kernel,./_base/lang,./_base/array,./_base/declare,./dom,./dom-construct,./parser".split(","), +function(f,k,h,j,e,c,i){var b={};k.setObject("dojo.html",b);var g=0;b._secureForInnerHtml=function(a){return a.replace(/(?:\s*]+>|]*>[\s\S]*?<\/title>)/ig,"")};b._emptyNode=c.empty;b._setNodeContent=function(a,b){c.empty(a);if(b)if("string"==typeof b&&(b=c.toDom(b,a.ownerDocument)),!b.nodeType&&k.isArrayLike(b))for(var d=b.length,g=0;g]*>\s*([\s\S]+)\s*<\/body>/im);c&&(a=c[1])}this.empty();this.content=a;return this.node},onEnd:function(){this.parseContent&&this._parse();return this.node},tearDown:function(){delete this.parseResults;delete this.parseDeferred;delete this.node;delete this.content},onContentError:function(a){return"Error occurred setting content: "+a},onExecError:function(a){return"Error occurred executing scripts: "+a},_mixin:function(a){var b={},c;for(c in a)c in b|| +(this[c]=a[c])},_parse:function(){var a=this.node;try{var b={};h.forEach(["dir","lang","textDir"],function(a){this[a]&&(b[a]=this[a])},this);var c=this;this.parseDeferred=i.parse({rootNode:a,noStart:!this.startup,inherited:b,scope:this.parserScope}).then(function(a){return c.parseResults=a})}catch(g){this._onError("Content",g,"Error parsing in _ContentSetter#"+this.id)}},_onError:function(a,c,d){a=this["on"+a+"Error"].call(this,c);d||a&&b._setNodeContent(this.node,a,!0)}});b.set=function(a,c,d){void 0== +c&&(c="");return d?(new b._ContentSetter(k.mixin(d,{content:c,node:a}))).set():b._setNodeContent(a,c,!0)};return b})},"dojo/parser":function(){define("require,./_base/kernel,./_base/lang,./_base/array,./_base/config,./_base/html,./_base/window,./_base/url,./_base/json,./aspect,./date/stamp,./Deferred,./has,./query,./on,./ready".split(","),function(f,k,h,j,e,c,i,b,g,a,l,d,p,m,n,o){function r(a){var b=a._nameCaseMap,c=a.prototype;if(!b||b._extendCnt.*$/,""),v=j.map(o.split(/\s+/),function(a){var b=a.toLowerCase();return{name:a,value:"LI"==d.nodeName&&"value"==a||"enctype"==b?d.getAttribute(b):d.getAttributeNode(b).value}}));var s=f.scope||k._scopeName,o="data-"+s+"-",A={};"dojo"!==s&&(A[o+"props"]= "data-dojo-props",A[o+"type"]="data-dojo-type",A[o+"mixins"]="data-dojo-mixins",A[s+"type"]="dojoType",A[o+"id"]="data-dojo-id");for(var s=0,w,x=[],K,H;w=v[s++];){var C=w.name,F=C.toLowerCase();w=w.value;switch(A[F]||F){case "data-dojo-type":case "dojotype":case "data-dojo-mixins":break;case "data-dojo-props":H=w;break;case "data-dojo-id":case "jsid":K=w;break;case "data-dojo-attach-point":case "dojoattachpoint":t.dojoAttachPoint=w;break;case "data-dojo-attach-event":case "dojoattachevent":t.dojoAttachEvent= -w;break;case "class":t["class"]=c.className;break;case "style":t.style=c.style&&c.style.cssText;break;default:if(C in q||(C=r(d)[F]||C),C in q)switch(typeof q[C]){case "string":t[C]=w;break;case "number":t[C]=w.length?Number(w):NaN;break;case "boolean":t[C]="false"!=w.toLowerCase();break;case "function":t[C]=""===w||-1!=w.search(/[^\w\.]+/i)?new Function(w):i.getObject(w,!1)||new Function(w);x.push(C);break;default:F=q[C],t[C]=F&&"length"in F?w?w.split(/\s*,\s*/):[]:F instanceof Date?""==w?new Date(""): -"now"==w?new Date:l.fromISOString(w):F instanceof b?k.baseUrl+w:f.fromJson(w)}else t[C]=w}}for(s=0;s script[type^='dojo/']",c));e=[];g=[];H=[];x=[];if(h)for(s=0;sc[0]&&h.setFullYear(c[0]||1970);var b=0,f=c[7]&&c[7].charAt(0);"Z"!=f&&(b=60*(c[8]||0)+(Number(c[9])||0),"-"!=f&&(b*=-1));f&&(b-=h.getTimezoneOffset());b&&h.setTime(h.getTime()+6E4*b)}return h};i.toISOString=function(g,e){var c=function(a){return 10>a?"0"+a:a},e=e||{},h=[],b=e.zulu?"getUTC":"get",f="";"time"!=e.selector&&(f=g[b+"FullYear"](),f=["0000".substr((f+ -"").length)+f,c(g[b+"Month"]()+1),c(g[b+"Date"]())].join("-"));h.push(f);if("date"!=e.selector){f=[c(g[b+"Hours"]()),c(g[b+"Minutes"]()),c(g[b+"Seconds"]())].join(":");b=g[b+"Milliseconds"]();e.milliseconds&&(f+="."+(100>b?"0":"")+c(b));if(e.zulu)f+="Z";else if("time"!=e.selector)var b=g.getTimezoneOffset(),a=Math.abs(b),f=f+((0 script[type^='dojo/']",d));e=[];f=[];H=[];x=[];if(i)for(s=0;sc[0]&&i.setFullYear(c[0]||1970);var b=0,g=c[7]&&c[7].charAt(0);"Z"!=g&&(b=60*(c[8]||0)+(Number(c[9])||0),"-"!=g&&(b*=-1));g&&(b-=i.getTimezoneOffset());b&&i.setTime(i.getTime()+6E4*b)}return i};h.toISOString=function(f,e){var c=function(a){return 10>a?"0"+a:a},e=e||{},i=[],b=e.zulu?"getUTC":"get",g="";"time"!=e.selector&&(g=f[b+"FullYear"](),g=["0000".substr((g+ +"").length)+g,c(f[b+"Month"]()+1),c(f[b+"Date"]())].join("-"));i.push(g);if("date"!=e.selector){g=[c(f[b+"Hours"]()),c(f[b+"Minutes"]()),c(f[b+"Seconds"]())].join(":");b=f[b+"Milliseconds"]();e.milliseconds&&(g+="."+(100>b?"0":"")+c(b));if(e.zulu)g+="Z";else if("time"!=e.selector)var b=f.getTimezoneOffset(),a=Math.abs(b),g=g+((0this._titleHeight){if(!this._showing)this._showing=!this._showing,this._showEnd();this._showSize=d;this._setupAnims()}else this._showSize=b[this._isHorizontal?"h":"w"],this._showing=!1,this._hideWrapper(),this._hideAnim.gotoPercent(89,!0)},_setupAnims:function(){j.forEach(this._animConnects,e.disconnect);var a={node:this.domNode,duration:this.duration},b={},d=this._showSize,c=this._closedSize,f={},g=this._isHorizontal? -"height":"width",l=this._needsPosition;b[g]={end:d};f[g]={end:c};l&&(b[l]={end:function(a){return parseInt(a.style[l],10)-d+c}},f[l]={end:function(a){return parseInt(a.style[l],10)+d-c}});this._showAnim=h.animateProperty(k.mixin(a,{easing:this.easeIn,properties:b}));this._hideAnim=h.animateProperty(k.mixin(a,{easing:this.easeOut,properties:f}));this._animConnects=[e.connect(this._showAnim,"onEnd",this,"_showEnd"),e.connect(this._hideAnim,"onEnd",this,"_hideEnd")]},preview:function(){if(!this._showing)this._isonlypreview= -!this._isonlypreview;this.toggle()},toggle:function(){this._showing?(this._hideWrapper(),this._showAnim&&this._showAnim.stop(),this._hideAnim.play()):(this._hideAnim&&this._hideAnim.stop(),this._showAnim.play());this._showing=!this._showing;this.domNode.setAttribute("aria-expanded",this._showing)},_hideWrapper:function(){f.add(this.domNode,"dojoxExpandoClosed");b.set(this.cwrapper,{visibility:"hidden",opacity:"0",overflow:"hidden"})},_showEnd:function(){b.set(this.cwrapper,{opacity:0,visibility:"visible"}); -h.anim(this.cwrapper,{opacity:this._isonlypreview?this.previewOpacity:1},227);f.remove(this.domNode,"dojoxExpandoClosed");this._isonlypreview?(this._previewShowing=!0,this.resize()):setTimeout(k.hitch(this._container,"layout"),15)},_hideEnd:function(){this._isonlypreview?this._previewShowing=!1:setTimeout(k.hitch(this._container,"layout"),25);this._isonlypreview=!1},resize:function(d){this._hasSizes||this._startupSizes(d);var c=a.getMarginBox(this.domNode);this._contentBox={w:d&&"w"in d?d.w:c.w,h:(d&& -"h"in d?d.h:c.h)-this._titleHeight};b.set(this.containerNode,"height",this._contentBox.h+"px");d&&a.setMarginBox(this.domNode,d);this._layoutChildren();this._setupAnims()},_trap:function(a){c.stop(a)}})})},"url:dojox/layout/resources/ExpandoPane.html":'
\n\t
\n\t\t
X
\n\t\t${title}\n\t
\n\t
\n\t\t
\n\t
\n
\n', -"dijit/layout/LayoutContainer":function(){define("dojo/_base/kernel,dojo/_base/lang,dojo/_base/declare,../_WidgetBase,./_LayoutWidget,./utils".split(","),function(g,k,i,j,e,c){i=i("dijit.layout.LayoutContainer",e,{baseClass:"dijitLayoutContainer",constructor:function(){g.deprecated("dijit.layout.LayoutContainer is deprecated","use BorderContainer instead",2)},layout:function(){c.layoutChildren(this.domNode,this._contentBox,this.getChildren())},addChild:function(e,b){this.inherited(arguments);this._started&& -c.layoutChildren(this.domNode,this._contentBox,this.getChildren())},removeChild:function(e){this.inherited(arguments);this._started&&c.layoutChildren(this.domNode,this._contentBox,this.getChildren())}});i.ChildWidgetProperties={layoutAlign:"none"};k.extend(j,i.ChildWidgetProperties);return i})},"dijit/form/Form":function(){define("dojo/_base/declare,dojo/dom-attr,dojo/_base/event,dojo/_base/kernel,dojo/sniff,../_Widget,../_TemplatedMixin,./_FormMixin,../layout/_ContentPaneResizeMixin".split(","), -function(g,k,i,j,e,c,h,b,f){return g("dijit.form.Form",[c,h,b,f],{name:"",action:"",method:"",encType:"","accept-charset":"",accept:"",target:"",templateString:"
",postMixInProperties:function(){this.nameAttrSetting=this.name?"name='"+this.name+"'":"";this.inherited(arguments)},execute:function(){},onExecute:function(){},_setEncTypeAttr:function(a){this.encType=a;k.set(this.domNode, -"encType",a);if(e("ie"))this.domNode.encoding=a},reset:function(a){var b={returnValue:!0,preventDefault:function(){this.returnValue=!1},stopPropagation:function(){},currentTarget:a?a.target:this.domNode,target:a?a.target:this.domNode};!1!==this.onReset(b)&&b.returnValue&&this.inherited(arguments,[])},onReset:function(){return!0},_onReset:function(a){this.reset(a);i.stop(a);return!1},_onSubmit:function(a){var b=this.constructor.prototype;if(this.execute!=b.execute||this.onExecute!=b.onExecute)j.deprecated("dijit.form.Form:execute()/onExecute() are deprecated. Use onSubmit() instead.", -"","2.0"),this.onExecute(),this.execute(this.getValues());!1===this.onSubmit(a)&&i.stop(a)},onSubmit:function(){return this.isValid()},submit:function(){!1!==this.onSubmit()&&this.containerNode.submit()}})})},"dijit/form/_FormMixin":function(){define("dojo/_base/array,dojo/_base/declare,dojo/_base/kernel,dojo/_base/lang,dojo/on,dojo/window".split(","),function(g,k,i,j,e,c){return k("dijit.form._FormMixin",null,{state:"",_getDescendantFormWidgets:function(c){var b=[];g.forEach(c||this.getChildren(), -function(c){"value"in c?b.push(c):b=b.concat(this._getDescendantFormWidgets(c.getChildren()))},this);return b},reset:function(){g.forEach(this._getDescendantFormWidgets(),function(c){c.reset&&c.reset()})},validate:function(){var e=!1;return g.every(g.map(this._getDescendantFormWidgets(),function(b){b._hasBeenBlurred=!0;var f=b.disabled||!b.validate||b.validate();!f&&!e&&(c.scrollIntoView(b.containerNode||b.domNode),b.focus(),e=!0);return f}),function(b){return b})},setValues:function(c){i.deprecated(this.declaredClass+ -"::setValues() is deprecated. Use set('value', val) instead.","","2.0");return this.set("value",c)},_setValueAttr:function(c){var b={};g.forEach(this._getDescendantFormWidgets(),function(a){a.name&&(b[a.name]||(b[a.name]=[])).push(a)});for(var f in b)if(b.hasOwnProperty(f)){var a=b[f],e=j.getObject(f,!1,c);void 0!==e&&(j.isArray(e)||(e=[e]),"boolean"==typeof a[0].checked?g.forEach(a,function(a){a.set("value",-1!=g.indexOf(e,a.value))}):a[0].multiple?a[0].set("value",e):g.forEach(a,function(a,b){a.set("value", -e[b])}))}},getValues:function(){i.deprecated(this.declaredClass+"::getValues() is deprecated. Use get('value') instead.","","2.0");return this.get("value")},_getValueAttr:function(){var c={};g.forEach(this._getDescendantFormWidgets(),function(b){var f=b.name;if(f&&!b.disabled){var a=b.get("value");"boolean"==typeof b.checked?/Radio/.test(b.declaredClass)?!1!==a?j.setObject(f,a,c):(a=j.getObject(f,!1,c),void 0===a&&j.setObject(f,null,c)):(b=j.getObject(f,!1,c),b||(b=[],j.setObject(f,b,c)),!1!==a&& -b.push(a)):(b=j.getObject(f,!1,c),"undefined"!=typeof b?j.isArray(b)?b.push(a):j.setObject(f,[b,a],c):j.setObject(f,a,c))}});return c},isValid:function(){return""==this.state},onValidStateChange:function(){},_getState:function(){var c=g.map(this._descendants,function(b){return b.get("state")||""});return 0<=g.indexOf(c,"Error")?"Error":0<=g.indexOf(c,"Incomplete")?"Incomplete":""},disconnectChildren:function(){},connectChildren:function(c){this._descendants=this._getDescendantFormWidgets();g.forEach(this._descendants, +a.getMarginBox(this.domNode);var c=this._currentSize[this._isHorizontal?"h":"w"];if(c>this._titleHeight){if(!this._showing)this._showing=!this._showing,this._showEnd();this._showSize=c;this._setupAnims()}else this._showSize=b[this._isHorizontal?"h":"w"],this._showing=!1,this._hideWrapper(),this._hideAnim.gotoPercent(89,!0)},_setupAnims:function(){j.forEach(this._animConnects,e.disconnect);var a={node:this.domNode,duration:this.duration},b={},c=this._showSize,d=this._closedSize,g={},f=this._isHorizontal? +"height":"width",l=this._needsPosition;b[f]={end:c};g[f]={end:d};l&&(b[l]={end:function(a){return parseInt(a.style[l],10)-c+d}},g[l]={end:function(a){return parseInt(a.style[l],10)+c-d}});this._showAnim=i.animateProperty(k.mixin(a,{easing:this.easeIn,properties:b}));this._hideAnim=i.animateProperty(k.mixin(a,{easing:this.easeOut,properties:g}));this._animConnects=[e.connect(this._showAnim,"onEnd",this,"_showEnd"),e.connect(this._hideAnim,"onEnd",this,"_hideEnd")]},preview:function(){if(!this._showing)this._isonlypreview= +!this._isonlypreview;this.toggle()},toggle:function(){this._showing?(this._hideWrapper(),this._showAnim&&this._showAnim.stop(),this._hideAnim.play()):(this._hideAnim&&this._hideAnim.stop(),this._showAnim.play());this._showing=!this._showing;this.domNode.setAttribute("aria-expanded",this._showing)},_hideWrapper:function(){g.add(this.domNode,"dojoxExpandoClosed");b.set(this.cwrapper,{visibility:"hidden",opacity:"0",overflow:"hidden"})},_showEnd:function(){b.set(this.cwrapper,{opacity:0,visibility:"visible"}); +i.anim(this.cwrapper,{opacity:this._isonlypreview?this.previewOpacity:1},227);g.remove(this.domNode,"dojoxExpandoClosed");this._isonlypreview?(this._previewShowing=!0,this.resize()):setTimeout(k.hitch(this._container,"layout"),15)},_hideEnd:function(){this._isonlypreview?this._previewShowing=!1:setTimeout(k.hitch(this._container,"layout"),25);this._isonlypreview=!1},resize:function(c){this._hasSizes||this._startupSizes(c);var d=a.getMarginBox(this.domNode);this._contentBox={w:c&&"w"in c?c.w:d.w,h:(c&& +"h"in c?c.h:d.h)-this._titleHeight};b.set(this.containerNode,"height",this._contentBox.h+"px");c&&a.setMarginBox(this.domNode,c);this._layoutChildren();this._setupAnims()},_trap:function(a){c.stop(a)}})})},"url:dojox/layout/resources/ExpandoPane.html":'
\n\t
\n\t\t
X
\n\t\t${title}\n\t
\n\t
\n\t\t
\n\t
\n
\n', +"dijit/layout/LayoutContainer":function(){define("dojo/_base/kernel,dojo/_base/lang,dojo/_base/declare,../_WidgetBase,./_LayoutWidget,./utils".split(","),function(f,k,h,j,e,c){h=h("dijit.layout.LayoutContainer",e,{baseClass:"dijitLayoutContainer",constructor:function(){f.deprecated("dijit.layout.LayoutContainer is deprecated","use BorderContainer instead",2)},layout:function(){c.layoutChildren(this.domNode,this._contentBox,this.getChildren())},addChild:function(e,b){this.inherited(arguments);this._started&& +c.layoutChildren(this.domNode,this._contentBox,this.getChildren())},removeChild:function(e){this.inherited(arguments);this._started&&c.layoutChildren(this.domNode,this._contentBox,this.getChildren())}});h.ChildWidgetProperties={layoutAlign:"none"};k.extend(j,h.ChildWidgetProperties);return h})},"dijit/form/Form":function(){define("dojo/_base/declare,dojo/dom-attr,dojo/_base/event,dojo/_base/kernel,dojo/sniff,../_Widget,../_TemplatedMixin,./_FormMixin,../layout/_ContentPaneResizeMixin".split(","), +function(f,k,h,j,e,c,i,b,g){return f("dijit.form.Form",[c,i,b,g],{name:"",action:"",method:"",encType:"","accept-charset":"",accept:"",target:"",templateString:"
",postMixInProperties:function(){this.nameAttrSetting=this.name?"name='"+this.name+"'":"";this.inherited(arguments)},execute:function(){},onExecute:function(){},_setEncTypeAttr:function(a){this.encType=a;k.set(this.domNode, +"encType",a);if(e("ie"))this.domNode.encoding=a},reset:function(a){var b={returnValue:!0,preventDefault:function(){this.returnValue=!1},stopPropagation:function(){},currentTarget:a?a.target:this.domNode,target:a?a.target:this.domNode};!1!==this.onReset(b)&&b.returnValue&&this.inherited(arguments,[])},onReset:function(){return!0},_onReset:function(a){this.reset(a);h.stop(a);return!1},_onSubmit:function(a){var b=this.constructor.prototype;if(this.execute!=b.execute||this.onExecute!=b.onExecute)j.deprecated("dijit.form.Form:execute()/onExecute() are deprecated. Use onSubmit() instead.", +"","2.0"),this.onExecute(),this.execute(this.getValues());!1===this.onSubmit(a)&&h.stop(a)},onSubmit:function(){return this.isValid()},submit:function(){!1!==this.onSubmit()&&this.containerNode.submit()}})})},"dijit/form/_FormMixin":function(){define("dojo/_base/array,dojo/_base/declare,dojo/_base/kernel,dojo/_base/lang,dojo/on,dojo/window".split(","),function(f,k,h,j,e,c){return k("dijit.form._FormMixin",null,{state:"",_getDescendantFormWidgets:function(c){var b=[];f.forEach(c||this.getChildren(), +function(c){"value"in c?b.push(c):b=b.concat(this._getDescendantFormWidgets(c.getChildren()))},this);return b},reset:function(){f.forEach(this._getDescendantFormWidgets(),function(c){c.reset&&c.reset()})},validate:function(){var e=!1;return f.every(f.map(this._getDescendantFormWidgets(),function(b){b._hasBeenBlurred=!0;var g=b.disabled||!b.validate||b.validate();!g&&!e&&(c.scrollIntoView(b.containerNode||b.domNode),b.focus(),e=!0);return g}),function(b){return b})},setValues:function(c){h.deprecated(this.declaredClass+ +"::setValues() is deprecated. Use set('value', val) instead.","","2.0");return this.set("value",c)},_setValueAttr:function(c){var b={};f.forEach(this._getDescendantFormWidgets(),function(a){a.name&&(b[a.name]||(b[a.name]=[])).push(a)});for(var g in b)if(b.hasOwnProperty(g)){var a=b[g],e=j.getObject(g,!1,c);void 0!==e&&(j.isArray(e)||(e=[e]),"boolean"==typeof a[0].checked?f.forEach(a,function(a){a.set("value",-1!=f.indexOf(e,a.value))}):a[0].multiple?a[0].set("value",e):f.forEach(a,function(a,b){a.set("value", +e[b])}))}},getValues:function(){h.deprecated(this.declaredClass+"::getValues() is deprecated. Use get('value') instead.","","2.0");return this.get("value")},_getValueAttr:function(){var c={};f.forEach(this._getDescendantFormWidgets(),function(b){var g=b.name;if(g&&!b.disabled){var a=b.get("value");"boolean"==typeof b.checked?/Radio/.test(b.declaredClass)?!1!==a?j.setObject(g,a,c):(a=j.getObject(g,!1,c),void 0===a&&j.setObject(g,null,c)):(b=j.getObject(g,!1,c),b||(b=[],j.setObject(g,b,c)),!1!==a&& +b.push(a)):(b=j.getObject(g,!1,c),"undefined"!=typeof b?j.isArray(b)?b.push(a):j.setObject(g,[b,a],c):j.setObject(g,a,c))}});return c},isValid:function(){return""==this.state},onValidStateChange:function(){},_getState:function(){var c=f.map(this._descendants,function(b){return b.get("state")||""});return 0<=f.indexOf(c,"Error")?"Error":0<=f.indexOf(c,"Incomplete")?"Incomplete":""},disconnectChildren:function(){},connectChildren:function(c){this._descendants=this._getDescendantFormWidgets();f.forEach(this._descendants, function(b){b._started||b.startup()});c||this._onChildChange()},_onChildChange:function(c){(!c||"state"==c||"disabled"==c)&&this._set("state",this._getState());if(!c||"value"==c||"disabled"==c||"checked"==c)this._onChangeDelayTimer&&this._onChangeDelayTimer.remove(),this._onChangeDelayTimer=this.defer(function(){delete this._onChangeDelayTimer;this._set("value",this.get("value"))},10)},startup:function(){this.inherited(arguments);this._descendants=this._getDescendantFormWidgets();this.value=this.get("value"); this.state=this._getState();var c=this;this.own(e(this.containerNode,"attrmodified-state, attrmodified-disabled, attrmodified-value, attrmodified-checked",function(b){b.target!=c.domNode&&c._onChildChange(b.type.replace("attrmodified-",""))}));this.watch("state",function(b,c,a){this.onValidStateChange(""==a)})},destroy:function(){this.inherited(arguments)}})})},"dijit/form/TextBox":function(){define("dojo/_base/declare,dojo/dom-construct,dojo/dom-style,dojo/_base/kernel,dojo/_base/lang,dojo/sniff,./_FormValueWidget,./_TextBoxMixin,dojo/text!./templates/TextBox.html,../main".split(","), -function(g,k,i,j,e,c,h,b,f,a){g=g("dijit.form.TextBox",[h,b],{templateString:f,_singleNodeTemplate:'',_buttonInputDisabled:c("ie")?"disabled":"",baseClass:"dijitTextBox",postMixInProperties:function(){var a=this.type.toLowerCase();if(this.templateString&&"input"==this.templateString.toLowerCase()||("hidden"==a||"file"==a)&&this.templateString== -this.constructor.prototype.templateString)this.templateString=this._singleNodeTemplate;this.inherited(arguments)},postCreate:function(){this.inherited(arguments);9>c("ie")&&this.defer(function(){try{var a=i.getComputedStyle(this.domNode);if(a){var b=a.fontFamily;if(b){var c=this.domNode.getElementsByTagName("INPUT");if(c)for(a=0;a',_buttonInputDisabled:c("ie")?"disabled":"",baseClass:"dijitTextBox",postMixInProperties:function(){var a=this.type.toLowerCase();if(this.templateString&&"input"==this.templateString.toLowerCase()||("hidden"==a||"file"==a)&&this.templateString== +this.constructor.prototype.templateString)this.templateString=this._singleNodeTemplate;this.inherited(arguments)},postCreate:function(){this.inherited(arguments);9>c("ie")&&this.defer(function(){try{var a=h.getComputedStyle(this.domNode);if(a){var b=a.fontFamily;if(b){var c=this.domNode.getElementsByTagName("INPUT");if(c)for(a=0;ab?1:aj("ie")||j("ie")&&j("quirks"))){c.preventDefault();var e=c.srcElement,b=e.ownerDocument.createEventObject();b.keyCode=i.ESCAPE;b.shiftKey=c.shiftKey;e.fireEvent("onkeypress",b)}}})})},"dijit/form/_TextBoxMixin":function(){define("dojo/_base/array,dojo/_base/declare,dojo/dom,dojo/_base/event,dojo/keys,dojo/_base/lang,dojo/on,../main".split(","),function(g,k,i,j,e,c,h,b){var f= -k("dijit.form._TextBoxMixin",null,{trim:!1,uppercase:!1,lowercase:!1,propercase:!1,maxLength:"",selectOnClick:!1,placeHolder:"",_getValueAttr:function(){return this.parse(this.get("displayedValue"),this.constraints)},_setValueAttr:function(a,b,c){var f;void 0!==a&&(f=this.filter(a),"string"!=typeof c&&(c=null!==f&&("number"!=typeof f||!isNaN(f))?this.filter(this.format(f,this.constraints)):""));if(null!=c&&("number"!=typeof c||!isNaN(c))&&this.textbox.value!=c)this.textbox.value=c,this._set("displayedValue", -this.get("displayedValue"));"auto"==this.textDir&&this.applyTextDir(this.focusNode,c);this.inherited(arguments,[f,b])},displayedValue:"",_getDisplayedValueAttr:function(){return this.filter(this.textbox.value)},_setDisplayedValueAttr:function(a){null==a?a="":"string"!=typeof a&&(a=""+a);this.textbox.value=a;this._setValueAttr(this.get("value"),void 0);this._set("displayedValue",this.get("displayedValue"));"auto"==this.textDir&&this.applyTextDir(this.focusNode,a)},format:function(a){return null==a? -"":a.toString?a.toString():a},parse:function(a){return a},_refreshState:function(){},onInput:function(){},__skipInputEvent:!1,_onInput:function(a){"auto"==this.textDir&&this.applyTextDir(this.focusNode,this.focusNode.value);this._processInput(a)},_processInput:function(){this._refreshState();this._set("displayedValue",this.get("displayedValue"))},postCreate:function(){this.textbox.setAttribute("value",this.textbox.value);this.inherited(arguments);this.own(h(this.textbox,"keydown, keypress, paste, cut, input, compositionend", +!1;this._setValueAttr(this._resetValue,!0)},_onKeyDown:function(c){if(c.keyCode==h.ESCAPE&&!c.ctrlKey&&!c.altKey&&!c.metaKey&&(9>j("ie")||j("ie")&&j("quirks"))){c.preventDefault();var e=c.srcElement,b=e.ownerDocument.createEventObject();b.keyCode=h.ESCAPE;b.shiftKey=c.shiftKey;e.fireEvent("onkeypress",b)}}})})},"dijit/form/_TextBoxMixin":function(){define("dojo/_base/array,dojo/_base/declare,dojo/dom,dojo/_base/event,dojo/keys,dojo/_base/lang,dojo/on,../main".split(","),function(f,k,h,j,e,c,i,b){var g= +k("dijit.form._TextBoxMixin",null,{trim:!1,uppercase:!1,lowercase:!1,propercase:!1,maxLength:"",selectOnClick:!1,placeHolder:"",_getValueAttr:function(){return this.parse(this.get("displayedValue"),this.constraints)},_setValueAttr:function(a,b,c){var g;void 0!==a&&(g=this.filter(a),"string"!=typeof c&&(c=null!==g&&("number"!=typeof g||!isNaN(g))?this.filter(this.format(g,this.constraints)):""));if(null!=c&&("number"!=typeof c||!isNaN(c))&&this.textbox.value!=c)this.textbox.value=c,this._set("displayedValue", +this.get("displayedValue"));"auto"==this.textDir&&this.applyTextDir(this.focusNode,c);this.inherited(arguments,[g,b])},displayedValue:"",_getDisplayedValueAttr:function(){return this.filter(this.textbox.value)},_setDisplayedValueAttr:function(a){null==a?a="":"string"!=typeof a&&(a=""+a);this.textbox.value=a;this._setValueAttr(this.get("value"),void 0);this._set("displayedValue",this.get("displayedValue"));"auto"==this.textDir&&this.applyTextDir(this.focusNode,a)},format:function(a){return null==a? +"":a.toString?a.toString():a},parse:function(a){return a},_refreshState:function(){},onInput:function(){},__skipInputEvent:!1,_onInput:function(a){"auto"==this.textDir&&this.applyTextDir(this.focusNode,this.focusNode.value);this._processInput(a)},_processInput:function(){this._refreshState();this._set("displayedValue",this.get("displayedValue"))},postCreate:function(){this.textbox.setAttribute("value",this.textbox.value);this.inherited(arguments);this.own(i(this.textbox,"keydown, keypress, paste, cut, input, compositionend", c.hitch(this,function(a){var b;if("keydown"==a.type){b=a.keyCode;switch(b){case e.SHIFT:case e.ALT:case e.CTRL:case e.META:case e.CAPS_LOCK:case e.NUM_LOCK:case e.SCROLL_LOCK:return}if(!a.ctrlKey&&!a.metaKey&&!a.altKey){switch(b){case e.NUMPAD_0:case e.NUMPAD_1:case e.NUMPAD_2:case e.NUMPAD_3:case e.NUMPAD_4:case e.NUMPAD_5:case e.NUMPAD_6:case e.NUMPAD_7:case e.NUMPAD_8:case e.NUMPAD_9:case e.NUMPAD_MULTIPLY:case e.NUMPAD_PLUS:case e.NUMPAD_ENTER:case e.NUMPAD_MINUS:case e.NUMPAD_PERIOD:case e.NUMPAD_DIVIDE:return}if(65<= b&&90>=b||48<=b&&57>=b||b==e.SPACE)return;b=!1;for(var d in e)if(e[d]===a.keyCode){b=!0;break}if(!b)return}}(b=32<=a.charCode?String.fromCharCode(a.charCode):a.charCode)||(b=65<=a.keyCode&&90>=a.keyCode||48<=a.keyCode&&57>=a.keyCode||a.keyCode==e.SPACE?String.fromCharCode(a.keyCode):a.keyCode);b||(b=229);if("keypress"==a.type){if("string"!=typeof b)return;if("a"<=b&&"z">=b||"A"<=b&&"Z">=b||"0"<=b&&"9">=b||" "===b)if(a.ctrlKey||a.metaKey||a.altKey)return}if("input"==a.type){if(this.__skipInputEvent){this.__skipInputEvent= -!1;return}}else this.__skipInputEvent=!0;var f={faux:!0},g;for(g in a)"layerX"!=g&&"layerY"!=g&&(d=a[g],"function"!=typeof d&&"undefined"!=typeof d&&(f[g]=d));c.mixin(f,{charOrCode:b,_wasConsumed:!1,preventDefault:function(){f._wasConsumed=!0;a.preventDefault()},stopPropagation:function(){a.stopPropagation()}});!1===this.onInput(f)&&(f.preventDefault(),f.stopPropagation());f._wasConsumed||this.defer(function(){this._onInput(f)})})))},_blankValue:"",filter:function(a){if(null===a)return this._blankValue; +!1;return}}else this.__skipInputEvent=!0;var g={faux:!0},f;for(f in a)"layerX"!=f&&"layerY"!=f&&(d=a[f],"function"!=typeof d&&"undefined"!=typeof d&&(g[f]=d));c.mixin(g,{charOrCode:b,_wasConsumed:!1,preventDefault:function(){g._wasConsumed=!0;a.preventDefault()},stopPropagation:function(){a.stopPropagation()}});!1===this.onInput(g)&&(g.preventDefault(),g.stopPropagation());g._wasConsumed||this.defer(function(){this._onInput(g)})})))},_blankValue:"",filter:function(a){if(null===a)return this._blankValue; if("string"!=typeof a)return a;this.trim&&(a=c.trim(a));this.uppercase&&(a=a.toUpperCase());this.lowercase&&(a=a.toLowerCase());this.propercase&&(a=a.replace(/[^\s]+/g,function(a){return a.substring(0,1).toUpperCase()+a.substring(1)}));return a},_setBlurValue:function(){this._setValueAttr(this.get("value"),!0)},_onBlur:function(a){this.disabled||(this._setBlurValue(),this.inherited(arguments))},_isTextSelected:function(){return this.textbox.selectionStart!=this.textbox.selectionEnd},_onFocus:function(a){if(!this.disabled&& -!this.readOnly){if(this.selectOnClick&&"mouse"==a)this._selectOnClickHandle=this.connect(this.domNode,"onmouseup",function(){this.disconnect(this._selectOnClickHandle);this._selectOnClickHandle=null;this._isTextSelected()||f.selectInputText(this.textbox)}),this.defer(function(){if(this._selectOnClickHandle)this.disconnect(this._selectOnClickHandle),this._selectOnClickHandle=null},500);this.inherited(arguments);this._refreshState()}},reset:function(){this.textbox.value="";this.inherited(arguments)}, -_setTextDirAttr:function(a){if(!this._created||this.textDir!=a)this._set("textDir",a),this.applyTextDir(this.focusNode,this.focusNode.value)}});f._setSelectionRange=b._setSelectionRange=function(a,b,c){a.setSelectionRange&&a.setSelectionRange(b,c)};f.selectInputText=b.selectInputText=function(a,b,c){a=i.byId(a);isNaN(b)&&(b=0);isNaN(c)&&(c=a.value?a.value.length:0);try{a.focus(),f._setSelectionRange(a,b,c)}catch(e){}};return f})},"url:dijit/form/templates/TextBox.html":'