diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0ad25db --- /dev/null +++ b/LICENSE @@ -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/NMU/NoUpdates.json b/NMU/NoUpdates.json new file mode 100644 index 0000000..66be9c2 --- /dev/null +++ b/NMU/NoUpdates.json @@ -0,0 +1,4 @@ +{ + "name": "No More Updates", + "identifier": "com.rileytestut.AltStore.Alpha", +} \ No newline at end of file diff --git a/README.md b/README.md index 2aada5c..ce7cc37 100644 --- a/README.md +++ b/README.md @@ -1 +1,43 @@ -# pwnders.github.io \ No newline at end of file +# AltStore [(ALPHA)Jailbroken] + +AltStore with on device signing and sideloading for Jailbroken iDevices. + +## Getting Started + +- A Jailrboken device with iOS 12.2 or newer. + +### Prerequisites + +- Debian package manager (Cydia, [Zebra](https://getzbra.com/), [Sileo](https://www.reddit.com/r/jailbreak/comments/fe7t5l/tutorial_the_no_bs_solution_for_sileo_on_unc0ver/), [Installer 5](https://apptapp.me/repo/) or others) + +### Installing + +0. [**Jailbreak your iDevice**](https://ios.cfw.guide/) +1. Open **Cydia** (or any other debian packages manager) +2. Tap on the **Sources tab** +3. Press **Modify** on the top right +4. Press **Add** +5. Paste [**Pwnders repo**](https://pwnders.github.io/repo/) and hit **Add source** +6. Wait for sources to refresh +7. Tap on the **Search tab** +8. Search for **"AltStore (ALPHA)"** +9. Hit **Install** on the top right and then **Confirm** + +### Signing/Sideloading iPAs + +1. Open **AltStore** (located on the homescreen) +2. Tap on the **Settinga tab** +3. Press **Sign in with Apple ID** +4. *Sign in* +5. Tap on the **My Apps tab** +6. Hit the **"+"** +7. Choose the iPA you wish to sign and sideload +8. Profit + +### How to check if I did everything correct + +1. Open **Settings** +2. Go to **Generals** > **Profiles & Device Management** +3. You should see a certificate containing the iPA prevoiusly signed and sidleoaded + +### Join our [**discord server**](https://discord.gg/kzPPbsw) for help! diff --git a/repo/CydiaIcon.png b/repo/CydiaIcon.png new file mode 100644 index 0000000..13b1be3 Binary files /dev/null and b/repo/CydiaIcon.png differ diff --git a/repo/Packages b/repo/Packages new file mode 100644 index 0000000..ee87ce5 --- /dev/null +++ b/repo/Packages @@ -0,0 +1,33 @@ +Package: com.rileytestut.altstore.alpha.jailbroken +Section: Tweaks +Maintainer: Riley Testut +Depends: firmware (>=12.2), com.rileytestut.altdaemon +Architecture: iphoneos-arm +Version: 1.4a4 +Filename: ./debs/com.rileytestut.AltStore.Alpha.Jailbroken_iphoneos-arm.deb +Size: 3124474 +Description: Jailbroken version of AltStore with on device signing feauture. +Name: AltStore (ALPHA) +Icon: https://pwnders.github.io/repo/icons/com.rileytestut.altstore.alpha.jailbroken.png +Author: Riley Testut - T7Y +MD5sum: e9824193c0d561e1617a70fb0529dc4a +SHA1: 84f8f2cf8503853f00119428b7834cfb07462bc8 +SHA256: 07f33096485919cf8b5718a52508b1351bdf296e38ef9ce66af7fb9935cca3e8 +Depiction: https://pwnders.github.io/repo/packageInfo/com.rileytestut.AltStore.Alpha.Jailbroken.html + +Package: com.rileytestut.altdaemon +Section: System +Maintainer: Riley Testut +Depends: firmware (>=12.2) +Architecture: iphoneos-arm +Version: 0.1 +Filename: ./debs/AltDaemon.deb +Size: 873258 +Description: AltDaemon allows AltStore to install and refresh apps without a computer. +Name: AltDaemon +Icon: https://pwnders.github.io/repo/icons/AltDaemon.png +Author: Riley Testut - T7Y +MD5sum: 1bbb0546d88a0011cf1311acc66afca4 +SHA1: 76a657be16ab1f7ee56dfa5297e6c21cc43f46df +SHA256: fbf46faaeb7a3ee3d9d6c1071394a12bb0ccb1832213440ce5c5a9347c9950b6 +Depiction: https://pwnders.github.io/repo/packageInfo/AltDaemon.html diff --git a/repo/Packages.bak b/repo/Packages.bak new file mode 100644 index 0000000..ee87ce5 --- /dev/null +++ b/repo/Packages.bak @@ -0,0 +1,33 @@ +Package: com.rileytestut.altstore.alpha.jailbroken +Section: Tweaks +Maintainer: Riley Testut +Depends: firmware (>=12.2), com.rileytestut.altdaemon +Architecture: iphoneos-arm +Version: 1.4a4 +Filename: ./debs/com.rileytestut.AltStore.Alpha.Jailbroken_iphoneos-arm.deb +Size: 3124474 +Description: Jailbroken version of AltStore with on device signing feauture. +Name: AltStore (ALPHA) +Icon: https://pwnders.github.io/repo/icons/com.rileytestut.altstore.alpha.jailbroken.png +Author: Riley Testut - T7Y +MD5sum: e9824193c0d561e1617a70fb0529dc4a +SHA1: 84f8f2cf8503853f00119428b7834cfb07462bc8 +SHA256: 07f33096485919cf8b5718a52508b1351bdf296e38ef9ce66af7fb9935cca3e8 +Depiction: https://pwnders.github.io/repo/packageInfo/com.rileytestut.AltStore.Alpha.Jailbroken.html + +Package: com.rileytestut.altdaemon +Section: System +Maintainer: Riley Testut +Depends: firmware (>=12.2) +Architecture: iphoneos-arm +Version: 0.1 +Filename: ./debs/AltDaemon.deb +Size: 873258 +Description: AltDaemon allows AltStore to install and refresh apps without a computer. +Name: AltDaemon +Icon: https://pwnders.github.io/repo/icons/AltDaemon.png +Author: Riley Testut - T7Y +MD5sum: 1bbb0546d88a0011cf1311acc66afca4 +SHA1: 76a657be16ab1f7ee56dfa5297e6c21cc43f46df +SHA256: fbf46faaeb7a3ee3d9d6c1071394a12bb0ccb1832213440ce5c5a9347c9950b6 +Depiction: https://pwnders.github.io/repo/packageInfo/AltDaemon.html diff --git a/repo/Packages.bz2 b/repo/Packages.bz2 new file mode 100644 index 0000000..85eae99 Binary files /dev/null and b/repo/Packages.bz2 differ diff --git a/repo/Release b/repo/Release new file mode 100644 index 0000000..71966cd --- /dev/null +++ b/repo/Release @@ -0,0 +1,8 @@ +Origin: Pwnder's Repo +Label: Pwnders +Suite: stable +Version: 1.0 +Codename: WePwn +Architecture: iphoneos-arm +Components: main +Description: Pwnder's deb repository \ No newline at end of file diff --git a/repo/debs/AltDaemon.deb b/repo/debs/AltDaemon.deb new file mode 100644 index 0000000..aa71f94 Binary files /dev/null and b/repo/debs/AltDaemon.deb differ diff --git a/repo/debs/com.rileytestut.AltStore.Alpha.Jailbroken_iphoneos-arm.deb b/repo/debs/com.rileytestut.AltStore.Alpha.Jailbroken_iphoneos-arm.deb new file mode 100644 index 0000000..74cf065 Binary files /dev/null and b/repo/debs/com.rileytestut.AltStore.Alpha.Jailbroken_iphoneos-arm.deb differ diff --git a/repo/icons/AltDaemon.png b/repo/icons/AltDaemon.png new file mode 100644 index 0000000..0e87c43 Binary files /dev/null and b/repo/icons/AltDaemon.png differ diff --git a/repo/icons/com.rileytestut.altstore.alpha.jailbroken.png b/repo/icons/com.rileytestut.altstore.alpha.jailbroken.png new file mode 100644 index 0000000..0e87c43 Binary files /dev/null and b/repo/icons/com.rileytestut.altstore.alpha.jailbroken.png differ diff --git a/repo/index.html b/repo/index.html new file mode 100644 index 0000000..c4b1a21 --- /dev/null +++ b/repo/index.html @@ -0,0 +1,37 @@ + +Pwnder's Repo + + + + + + + + + +
+
+

Pwnder's Repo

+
+
+

Add Pwnder's repo to

+ Cydia +
+
+

+ Sileo +
+
+

+ Zebra +
+
+

+ Installer 5 +
+
+
+
+ + + \ No newline at end of file diff --git a/repo/packageInfo/AltDaemon.html b/repo/packageInfo/AltDaemon.html new file mode 100644 index 0000000..bc95412 --- /dev/null +++ b/repo/packageInfo/AltDaemon.html @@ -0,0 +1,50 @@ + + + + + AltDeamon + + + + + + + + + + +
+
+ + +
+
+

AltDeamon allows AltStore to install and refresh apps without a computer
Means you no longer need an PC to re-sign/sign your apps.
Please sideload AltStore Alpha Before using this :)

This is the Alpha version so except bugs.

+
+

Download .deb here

+
+
+ + +
+
+

Support iOS 12.2 - 13.5.1

+
+
+ + + +

Changes in AltStore v0.1 (6/06/2020)

+
+
  • Initial Release
  • +
    + + +
    + diff --git a/repo/packageInfo/assets/depiction.css b/repo/packageInfo/assets/depiction.css new file mode 100644 index 0000000..ba846aa --- /dev/null +++ b/repo/packageInfo/assets/depiction.css @@ -0,0 +1,2 @@ +panel>input[type="submit"],fieldset>a>div>div>input[type="checkbox"],fieldset>a>div>div>select{-moz-appearance:none;-webkit-appearance:none}panel>footer,fieldset>div,panel>block,fieldset>a>div>div>label.detail{-webkit-user-select:text;user-select:text;-moz-user-select:element;-ms-user-select:element;user-select:element}fieldset>a[href]{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}*{border:0;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;text-decoration:none;vertical-align:baseline}.clearfix:after,fieldset>a>div>div:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.clearfix,fieldset>a>div>div{display:block}*{-moz-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}img{-ms-interpolation-mode:bicubic;image-rendering:auto;image-rendering:optimizeQuality}img.crisp{-ms-interpolation-mode:nearest-neighbor;image-rendering:optimizeSpeed;image-rendering:-webkit-optimize-contrast;image-rendering:-o-crisp-edges;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}strong{font-weight:bold}em{font-style:italic}sup{font-size:smaller;position:relative;top:-6px;margin-top:-6px}pre{font-family:monospace}html.cytyle-faux{font-family:Helvetica,Arial}html.cytyle-faux #cytyle-metric{font-size:16px}html.cytyle-flat{font-family:"Helvetica Neue",Helvetica,Arial}html.cytyle-flat #cytyle-metric{font-size:17px}body{-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-user-select:none;margin:0 auto}body.white{background-color:#fff}.cytyle-faux body.pinstripe{background:#c7ced5 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAABCAIAAACdaSOZAAAAFElEQVQIHWM4euYKErp0+tINIAIAuHQQ4rDrv5YAAAAASUVORK5CYII=')}.cytyle-flat body.pinstripe{background:#efeff4}body{width:414px}@media screen and (max-device-width: 767px){body{width:100%}}.default{color:#aab}div.cy-table{margin:0 auto;max-width:568px}panel{display:block;margin:0 auto}panel>hr{margin:9px auto;text-align:center;border-bottom:1px solid transparent;width:60%}.cytyle-faux panel>hr{color:#4d4d70}.cytyle-flat panel>hr{color:#6d6d72}.cytyle-faux panel>hr{border-bottom-color:#4d4d70}.cytyle-flat panel>hr{border-bottom-color:#6d6d72}panel>block{display:block;background-color:rgba(255,255,255,0.5);margin-top:9px;margin-bottom:9px}.cytyle-faux panel>block{border:1px dashed #999}.cytyle-flat panel>block{border:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair panel>block{border-width:.5px}}.cytyle-faux panel>block{margin-left:9px;margin-right:9px}.cytyle-faux panel>block{-webkit-border-radius:9px;-moz-border-radius:9px;-ms-border-radius:9px;-o-border-radius:9px;border-radius:9px}.cytyle-flat panel>block{border-left:none;border-right:none}panel>fieldset{position:relative;display:block;background-color:#fff;margin-top:9px;margin-bottom:9px}.cytyle-faux panel>fieldset{border-top:1px solid #999}.cytyle-flat panel>fieldset{border-top:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair panel>fieldset{border-top-width:.5px}}.cytyle-faux panel>fieldset{border-left:1px solid #999}.cytyle-flat panel>fieldset{border-left:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair panel>fieldset{border-left-width:.5px}}.cytyle-faux panel>fieldset{border-right:1px solid #999}.cytyle-flat panel>fieldset{border-right:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair panel>fieldset{border-right-width:.5px}}.cytyle-flat panel>fieldset{border-left:none;border-right:none}.cytyle-faux panel>fieldset{margin-left:9px;margin-right:9px}.cytyle-faux panel>fieldset{font-size:16px}.cytyle-flat panel>fieldset{font-size:17px}.cytyle-faux panel>fieldset{-webkit-border-radius:9px;-moz-border-radius:9px;-ms-border-radius:9px;-o-border-radius:9px;border-radius:9px;max-width:396px}panel>fieldset.terminal{background-color:#000;color:#fff;font-family:monospace;font-size:14px;font-weight:bold;padding:10px}panel>label{display:block;position:relative;top:4px}.cytyle-faux panel>label{margin:9px;padding-left:12px}.cytyle-flat panel>label{margin:9px 15px}.cytyle-faux panel>label{color:#4d4d70}.cytyle-flat panel>label{color:#6d6d72}.cytyle-faux panel>label{text-shadow:rgba(255,255,255,0.75) 1px 1px 0;font-weight:bold;font-size:16px}.cytyle-flat panel>label{text-transform:uppercase;font-size:14px}panel>footer{display:block;margin:9px;font-size:12px;text-align:center}.cytyle-faux panel>footer{color:#4d4d70}.cytyle-flat panel>footer{color:#6d6d72}panel>iframe{display:block;margin:-9px 0}panel>iframe:first-child,panel>iframe+iframe{margin-top:0}panel>div a{color:#586c90;font-weight:bold;text-shadow:rgba(255,255,255,0.75) 1px 1px 0}div.cytyle-app{position:relative;padding:9.5px;text-rendering:optimizeLegibility}.cytyle-faux div.cytyle-app{background-color:#e6e6e6 ;background-image:-moz-linear-gradient(top, #fff 0%, #ccc 100%) ;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #ccc)) ;background-image:-webkit-linear-gradient(top, #fff 0%, #ccc 100%) ;background-image:-ms-linear-gradient(top, #fff 0%, #ccc 100%) ;background-image:linear-gradient(to bottom, #fff 0%, #ccc 100%) ;border-bottom:1px solid #fff}.cytyle-flat div.cytyle-app{background-color:#f2f2f2;border:1px solid;border-color:#a9a9a9 transparent #c2c2c2 transparent}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair div.cytyle-app{border-width:.5px}}div.cytyle-app>div.icon{display:inline-block;vertical-align:middle;height:64px;width:64px;background-size:64px 64px}div.cytyle-app>div.left{display:inline-block;vertical-align:middle;padding-left:9.5px}div.cytyle-app>div.left>label{font-size:14px}.cytyle-faux div.cytyle-app>div.left>label{color:#4d4d4d;text-shadow:#fff 0px 1px 0;font-weight:bold}.cytyle-flat div.cytyle-app>div.left>label{color:#000}div.cytyle-app>div.left>label+label{font-size:12px}.cytyle-faux div.cytyle-app>div.left>label+label{color:#6a6a6a}.cytyle-flat div.cytyle-app>div.left>label+label{color:#303030}div.cytyle-app>div.right{float:right}div.cytyle-app>div.right>div{display:table-cell;height:64px;vertical-align:middle}div.cytyle-app a{display:inline-block}.cytyle-faux div.cytyle-app a{background-color:#e6e6e6 ;background-image:-moz-linear-gradient(top, #fff 0%, #ccc 100%) ;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #ccc)) ;background-image:-webkit-linear-gradient(top, #fff 0%, #ccc 100%) ;background-image:-ms-linear-gradient(top, #fff 0%, #ccc 100%) ;background-image:linear-gradient(to bottom, #fff 0%, #ccc 100%) ;border:1px solid #afafaf;border-radius:3px;box-shadow:0px 1px 0px #fff;color:#6a6a6a;font-size:13px;font-weight:bold;padding:.375em .75em;text-shadow:#fff 0px 1px 0}.cytyle-flat div.cytyle-app a{color:#007aff;font-size:18px;padding:0 7px}panel>input[type="submit"]{display:block;background-color:#fff;border:1px solid blue;-webkit-border-radius:9px;-moz-border-radius:9px;-ms-border-radius:9px;-o-border-radius:9px;border-radius:9px;color:blue;font-weight:bold;text-align:center;margin:9px auto;width:396px}.cytyle-faux panel>input[type="submit"]{font-size:20px}.cytyle-flat panel>input[type="submit"]{font-size:22px}.cytyle-faux panel>input[type="submit"]{padding:11px 15px}.cytyle-flat panel>input[type="submit"]{padding:10px 15px}panel>input[type="submit"]:active{background-color:blue;color:#fff}fieldset>div,panel>block{font-size:14px}.cytyle-faux fieldset>div,.cytyle-faux panel>block{padding:0 13px}.cytyle-flat fieldset>div,.cytyle-flat panel>block{padding:0 20px}fieldset>div>*,panel>block>*{margin-top:9px;margin-bottom:9px}fieldset>div>ul,panel>block>ul{list-style-position:inside}.cytyle-faux fieldset>div>hr,.cytyle-faux panel>block>hr{border-top:1px dashed #999}.cytyle-flat fieldset>div>hr,.cytyle-flat panel>block>hr{border-top:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair fieldset>div>hr,.cytyle-flat.cytyle-hair panel>block>hr{border-top-width:.5px}}fieldset>div a,panel>block a{color:blue}fieldset>a,fieldset>div,fieldset>textarea{display:block;position:relative}.cytyle-faux panel>fieldset>a,.cytyle-faux panel>fieldset>div,.cytyle-faux panel>fieldset>textarea{border-bottom:1px solid #999}.cytyle-flat panel>fieldset>a,.cytyle-flat panel>fieldset>div,.cytyle-flat panel>fieldset>textarea{border-bottom:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair panel>fieldset>a,.cytyle-flat.cytyle-hair panel>fieldset>div,.cytyle-flat.cytyle-hair panel>fieldset>textarea{border-bottom-width:.5px}}div.cy-table>fieldset>a,div.cy-table>fieldset>div,div.cy-table>fieldset>textarea{border-bottom:1px solid #e0e0e0}.cytyle-faux panel>fieldset>a:first-child,.cytyle-faux panel>fieldset>div:first-child,.cytyle-faux panel>fieldset>textarea:first-child{-moz-border-radius-topleft:8px;-webkit-border-top-left-radius:8px;border-top-left-radius:8px;-moz-border-radius-topright:8px;-webkit-border-top-right-radius:8px;border-top-right-radius:8px}.cytyle-faux panel>fieldset>a.left:first-child,.cytyle-faux panel>fieldset>div.left:first-child,.cytyle-faux panel>fieldset>textarea.left:first-child{-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0}.cytyle-faux panel>fieldset>a.right:nth-child(2),.cytyle-faux panel>fieldset>div.right:nth-child(2),.cytyle-faux panel>fieldset>textarea.right:nth-child(2){-moz-border-radius-topright:8px;-webkit-border-top-right-radius:8px;border-top-right-radius:8px}.cytyle-faux panel>fieldset>a:last-child,.cytyle-faux panel>fieldset>div:last-child,.cytyle-faux panel>fieldset>textarea:last-child{-moz-border-radius-bottomleft:8px;-webkit-border-bottom-left-radius:8px;border-bottom-left-radius:8px;-moz-border-radius-bottomright:8px;-webkit-border-bottom-right-radius:8px;border-bottom-right-radius:8px}.cytyle-faux panel>fieldset>a.left:nth-last-child(2),.cytyle-faux panel>fieldset>div.left:nth-last-child(2),.cytyle-faux panel>fieldset>textarea.left:nth-last-child(2){-moz-border-radius-bottomleft:8px;-webkit-border-bottom-left-radius:8px;border-bottom-left-radius:8px}.cytyle-faux panel>fieldset>a.right:last-child,.cytyle-faux panel>fieldset>div.right:last-child,.cytyle-faux panel>fieldset>textarea.right:last-child{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}fieldset>img.close{position:absolute;z-index:1;top:-11px;left:-11px;content:url(closebox@2x.png);width:30px;height:29px}fieldset>a>div>div>label>p{display:inline;text-rendering:optimizeLegibility}.cytyle-faux fieldset>a>div>div>label:first-child{font-weight:bold}fieldset>a>div>div>label.detail{display:inline-block;float:right;text-align:right}fieldset>a>div>div>label.price{display:inline-block;float:right;background-color:#2463de;-webkit-border-radius:9px;-moz-border-radius:9px;-ms-border-radius:9px;-o-border-radius:9px;border-radius:9px;color:#fff !important;padding:.2em .4em;margin:-.2em -.4em}fieldset>a>div>div>label.verbose{display:inline-block;float:right;font-size:10px;position:relative;margin:-3.5px;text-align:center}fieldset>a>div>div>label.lower{display:block;font-size:13px}fieldset>a>div>div>label.url{display:block;font-size:14px;font-style:italic;word-wrap:break-word}fieldset>a>span.extra{position:absolute;-moz-border-radius-bottomleft:7px;-webkit-border-bottom-left-radius:7px;border-bottom-left-radius:7px;padding:.2em .4em;background-color:#ccc;color:#fff;font-size:12px;font-weight:bold}panel>fieldset>a>span.extra{top:-1px;right:-1px}div.cy-table>fieldset>a>span.extra{top:0px;right:0px}fieldset>a>span.badge{position:absolute;bottom:0px;right:0px;-moz-border-radius-topleft:7px;-webkit-border-top-left-radius:7px;border-top-left-radius:7px;padding:.2em .4em;background-color:#da0812;color:#fff;font-size:11px;font-weight:bold}.cytyle-faux panel>fieldset>a:first-child>span.extra{-moz-border-radius-topright:9px;-webkit-border-top-right-radius:9px;border-top-right-radius:9px}.cytyle-faux panel>fieldset>a:last-child>span.badge{-moz-border-radius-bottomright:8px;-webkit-border-bottom-right-radius:8px;border-bottom-right-radius:8px}fieldset{clear:both}fieldset.more{clear:none}.cytyle-faux fieldset.more{margin-right:9px}.cytyle-faux fieldset.half>a>div>div label,.cytyle-faux fieldset.more>a>div>div label{margin-right:-11px}.cytyle-flat fieldset.half>a>div>div label,.cytyle-flat fieldset.more>a>div>div label{margin-right:-10px}fieldset>a>img.icon{position:absolute;height:auto;max-height:30px;width:30px;min-width:30px}.cytyle-faux fieldset>a>img.icon{margin:6px 6px}.cytyle-flat fieldset>a>img.icon{margin:6px 15px}.cytyle-faux fieldset>a>img.icon+div{margin-left:42px}.cytyle-flat fieldset>a>img.icon+div{margin-left:51px}fieldset>a>img.icon+div>div{min-height:42px}.cytyle-faux fieldset>a>div{margin-left:15px}.cytyle-flat fieldset>a>div{margin-left:15px}.cytyle-faux fieldset>a>div>div{padding:11px 15px 11px 0}.cytyle-flat fieldset>a>div>div{padding:10px 15px 10px 0}fieldset>a[type="profile"]>img.icon{position:absolute;height:50px;width:50px;background-repeat:no-repeat;background-position:center center;max-height:none;min-width:none;margin:0}.cytyle-faux panel>fieldset>a[type="profile"]>img.icon{-moz-border-radius-topleft:8px;-webkit-border-top-left-radius:8px;border-top-left-radius:8px;-moz-border-radius-bottomleft:8px;-webkit-border-bottom-left-radius:8px;border-bottom-left-radius:8px}fieldset>a[type="profile"]>img.icon+div{margin-left:50px}.cytyle-faux fieldset>a[type="profile"]>img.icon+div{border-left:1px solid #999}.cytyle-flat fieldset>a[type="profile"]>img.icon+div{border-left:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair fieldset>a[type="profile"]>img.icon+div{border-left-width:.5px}}fieldset>a[type="profile"]>img.icon+div>div{min-height:50px}fieldset>a[type="profile"]>div>div{padding:6px}fieldset>a[type="thumb"]>img.icon{position:absolute;height:64px;width:64px;background-repeat:no-repeat;background-position:center center;max-height:none;min-width:none;margin:0}.cytyle-faux panel>fieldset>a[type="thumb"]>img.icon{-moz-border-radius-topleft:8px;-webkit-border-top-left-radius:8px;border-top-left-radius:8px;-moz-border-radius-bottomleft:8px;-webkit-border-bottom-left-radius:8px;border-bottom-left-radius:8px}fieldset>a[type="thumb"]>img.icon+div{margin-left:64px}.cytyle-faux fieldset>a[type="thumb"]>img.icon+div{border-left:1px solid #999}.cytyle-flat fieldset>a[type="thumb"]>img.icon+div{border-left:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair fieldset>a[type="thumb"]>img.icon+div{border-left-width:.5px}}fieldset>a[type="thumb"]>img.icon+div>div{min-height:64px}fieldset>a[type="thumb"]>div>div{padding:13px}div.cy-table>label{height:23px;padding:1px 6px;display:block;font-weight:bold}.cytyle-faux div.cy-table>label{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAXCAYAAADKmiUPAAAASklEQVQIHQ3BoRECARDAwCR3RT3t0ACWUhkEEoFgKIHf5Xq7vzuOC32+P1JpRlqjE7VLUzRKM1EzdKItKiklR9qWVEoJpYRezwd/hakIzN7IcU4AAAAASUVORK5CYII=');background-repeat:repeat-x no-repeat-y;-webkit-background-size:1px 23px;background-size:1px 23px;color:#fff;text-shadow:rgba(0,0,0,0.5) 0px 1px 0}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-faux div.cy-table>label{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAAuCAYAAAAC2MhpAAAAcklEQVQYV33OPQ6AIAwF4P5wBOIRNF7NG7h6UXVxc0DjwqShgIYGmb70vQJmGKcNnmMaayGg71qBOy/B7g4BIdaAyBGsIorgn3WiAjliyk8kQJ5AGWlQ7FDagryl7gEgNdGdMvpMFN4/1zsJ87oIvPcBN23ED1QZEXz1AAAAAElFTkSuQmCC')}}.cytyle-flat div.cy-table>label{background-color:#f7f7f7}.cytyle-faux fieldset>.left{border-right:1px solid #999}.cytyle-flat fieldset>.left{border-right:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair fieldset>.left{border-right-width:.5px}}fieldset>.left,fieldset>.right{float:left;width:50%}fieldset.half{float:left}panel>fieldset.half{margin-top:0}.cytyle-faux panel>fieldset.half{min-width:146.5px}.cytyle-flat panel>fieldset.half{min-width:50%}.cytyle-faux fieldset.half>a{border-right:1px solid #999}.cytyle-flat fieldset.half>a{border-right:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair fieldset.half>a{border-right-width:.5px}}.cytyle-faux fieldset.half>a{border-right:none}div.cy-table>fieldset.half{min-width:50%}.cytyle-faux fieldset>a[href]>div{padding-right:15px}.cytyle-flat fieldset>a[href]>div{padding-right:15px}fieldset>a>div>div>select,fieldset>a[href]>div>div{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAANCAYAAACQN/8FAAAAUElEQVQoz2NggIKysrI6EGbAB6CK/kNxHT6FLUgKQbiaaorb0RRXUK4YKCENxG+RFD4BYiFsim6jKVKhnSIWID6CVxGSYhWoAtyK0BTjVAQA7b9/uRuNojcAAAAASUVORK5CYII=');background-position:right center;background-repeat:no-repeat;-webkit-background-size:10px 13px;background-size:10px 13px}@media screen and (-webkit-min-device-pixel-ratio: 2){fieldset>a>div>div>select,fieldset>a[href]>div>div{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAaCAYAAAC3g3x9AAAAn0lEQVRIx73VUQqAIBAEUCm6WWIQ/hZBh+nmtkGGyKKzuiTMj8FD1sFMCMHkoTVTVu5bLRxmKdcbMVrCmtAUcwwmRiM2Uc4CCKPpCVXQfIbdKHfLXSi/CaKUAQIF6EYZIbAVrdcAQ/eIYmUVoJrgAYESTOtSvvn9VxsQ81CxUUzzcfDFuWti0ge2iuUnXHoxboauB0N+oyKs1EPbgj25AROsvvXJNxxhAAAAAElFTkSuQmCC')}}.cytyle-faux fieldset>a>div>div>select,.cytyle-faux fieldset>a[href]>div>div{padding-right:25px}.cytyle-flat fieldset>a>div>div>select,.cytyle-flat fieldset>a[href]>div>div{padding-right:25px}fieldset.dark>a>div>div>select,fieldset.dark>a[href]>div>div{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAANCAYAAACQN/8FAAAAUElEQVQoz2NggILOzs46EGbAB6CK/kNxHT6FLUgKQbiaaorb0RRXUK4YKCENxG+RFD4BYiFsim6jKVKhnSIWID6CVxGSYhWoAtyK0BTjVAQADpCNh/CoZr0AAAAASUVORK5CYII=')}@media screen and (-webkit-min-device-pixel-ratio: 2){fieldset.dark>a>div>div>select,fieldset.dark>a[href]>div>div{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAaCAYAAAC3g3x9AAAAnElEQVRIx73U0QqAIAwFUCn6s6Qgei2CPqY/N4MMkU2u2+jhgi44hk5dCMERGWMW5ls1VNHHXG+a0RomQvPJRGDNaBoMMWcFhNF8YoKWBTVKFVUotxKKdiiIoltMj4IiFOktBN0Tit4AGLUEDxSEMatD+fbv17ZBsBVtbBQzexxYrATVWA6aYOUfzlqM2sNJg3Gn7KVYrQ+9BHtyAx0sbnA+jpPNAAAAAElFTkSuQmCC')}}fieldset>a>div>div>input[type="checkbox"]{-webkit-border-radius:7px;-moz-border-radius:7px;-ms-border-radius:7px;-o-border-radius:7px;border-radius:7px;float:right}fieldset>a>div>div>input[type="checkbox"]:checked{background-color:#000}.cytyle-faux fieldset>a>div>div>input[type="checkbox"]{margin-right:-4px}.cytyle-flat fieldset>a>div>div>input[type="checkbox"]{margin-right:-5px}.cytyle-faux fieldset>a>div>div>input[type="checkbox"]{border:1px solid #999}.cytyle-flat fieldset>a>div>div>input[type="checkbox"]{border:1px solid #c8c7cc}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-flat.cytyle-hair fieldset>a>div>div>input[type="checkbox"]{border-width:.5px}}.cytyle-faux fieldset>a>div>div>input[type="checkbox"]{height:1.25em;width:1.25em}.cytyle-flat fieldset>a>div>div>input[type="checkbox"]{height:1.29412em;width:1.29412em}fieldset>a>div>div>input[type="password"],fieldset>a>div>div>input[type="text"]{float:right;text-align:right}fieldset>a>div>div>select{background-color:transparent;text-align:right;direction:rtl;float:right;min-width:100px;text-indent:.01px;text-overflow:""}fieldset>a>div>div>select::-ms-expand{display:none}fieldset>a>div>div>select>option{direction:ltr}fieldset>textarea{padding:10px;width:100%;min-width:394px}fieldset>textarea.left,fieldset>textarea.right{min-width:197px}.cytyle-faux fieldset>a>div>div>label+label,.cytyle-faux fieldset>a>div>div>input,.cytyle-faux fieldset>a>div>div>select,.cytyle-faux fieldset>textarea{color:#193250}.cytyle-flat fieldset>a>div>div>label+label,.cytyle-flat fieldset>a>div>div>input,.cytyle-flat fieldset>a>div>div>select,.cytyle-flat fieldset>textarea{color:#8e8e9f}fieldset>a.cytyle-up{-webkit-transition:background .3s ease-in}fieldset>a.cytyle-up p{-webkit-transition:color .3s ease-in}fieldset>a.cytyle-dn label,fieldset>a.cytyle-dn span,fieldset>a.cytyle-in label,fieldset>a.cytyle-in span{background:none !important}.cytyle-faux fieldset>a.cytyle-dn p,.cytyle-faux fieldset>a.cytyle-dn p span,.cytyle-faux fieldset>a.cytyle-in p,.cytyle-faux fieldset>a.cytyle-in p span{color:#fff !important}.cytyle-flat fieldset>a.cytyle-dn p,.cytyle-flat fieldset>a.cytyle-dn p span,.cytyle-flat fieldset>a.cytyle-in p,.cytyle-flat fieldset>a.cytyle-in p span{color:#000 !important}.cytyle-faux fieldset>a.cytyle-dn,.cytyle-faux fieldset>a.cytyle-in{background-color:#0375e3 !important;background-image:-moz-linear-gradient(top, #058cdf 0%, #015de6 100%) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #058cdf), color-stop(100%, #015de6)) !important;background-image:-webkit-linear-gradient(top, #058cdf 0%, #015de6 100%) !important;background-image:-ms-linear-gradient(top, #058cdf 0%, #015de6 100%) !important;background-image:linear-gradient(to bottom, #058cdf 0%, #015de6 100%) !important}.cytyle-faux fieldset>a.cytyle-dn[href]>div>div,.cytyle-faux fieldset>a.cytyle-in[href]>div>div{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAANCAYAAACQN/8FAAAAUElEQVQoz2NggILOzs46EGbAB6CK/kNxHT6FLUgKQbiaaorb0RRXUK4YKCENxG+RFD4BYiFsim6jKVKhnSIWID6CVxGSYhWoAtyK0BTjVAQADpCNh/CoZr0AAAAASUVORK5CYII=')}@media screen and (-webkit-min-device-pixel-ratio: 2){.cytyle-faux fieldset>a.cytyle-dn[href]>div>div,.cytyle-faux fieldset>a.cytyle-in[href]>div>div{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAaCAYAAAC3g3x9AAAAnElEQVRIx73U0QqAIAwFUCn6s6Qgei2CPqY/N4MMkU2u2+jhgi44hk5dCMERGWMW5ls1VNHHXG+a0RomQvPJRGDNaBoMMWcFhNF8YoKWBTVKFVUotxKKdiiIoltMj4IiFOktBN0Tit4AGLUEDxSEMatD+fbv17ZBsBVtbBQzexxYrATVWA6aYOUfzlqM2sNJg3Gn7KVYrQ+9BHtyAx0sbnA+jpPNAAAAAElFTkSuQmCC')}}.cytyle-flat fieldset>a.cytyle-dn,.cytyle-flat fieldset>a.cytyle-in{background-color:#d9d9d9 !important}.cytyle-flat fieldset>a.cytyle-dn img,.cytyle-flat fieldset>a.cytyle-in img{-webkit-transform:translateZ(0);-webkit-filter:grayscale(100%);filter:grayscale(100%)}p,input[type="password"],input[type="text"],select{position:relative}.cytyle-faux p,.cytyle-faux input[type="password"],.cytyle-faux input[type="text"],.cytyle-faux select{line-height:1.25}.cytyle-flat p,.cytyle-flat input[type="password"],.cytyle-flat input[type="text"],.cytyle-flat select{line-height:1.29412}.cytyle-faux panel>block p,.cytyle-faux fieldset>div>p{margin-left:-.0625em;margin-right:-.0625em}.cytyle-flat panel>block p,.cytyle-flat fieldset>div>p{margin-left:-.05882em;margin-right:-.05882em}.cytyle-faux fieldset>a>div>div>label:first-child,.cytyle-faux fieldset>a>div>div>label.lower,.cytyle-faux fieldset>a>div>div>label.url{left:-.0625em}.cytyle-flat fieldset>a>div>div>label:first-child,.cytyle-flat fieldset>a>div>div>label.lower,.cytyle-flat fieldset>a>div>div>label.url{left:-.05882em} +/*# sourceMappingURL=style.css.map */ diff --git a/repo/packageInfo/assets/depiction.js b/repo/packageInfo/assets/depiction.js new file mode 100644 index 0000000..ffbb7b1 --- /dev/null +++ b/repo/packageInfo/assets/depiction.js @@ -0,0 +1,232 @@ +/* Cytyle - iOS Interface Cascading Style Sheet + * Copyright (C) 2007-2013 Jay Freeman (saurik) +*/ + +(function() { + var uncytyle = function(e, d) { + e.className = e.className.replace(new RegExp('(\\s|^)' + d + '(\\s|$)'), ' '); + }; + + var find = function(e) { + for (var item = e.target; item != null && item.nodeName != 'A'; item = item.parentNode); + if (item != null && item.href == '') + return null; + return item; + }; + + if ('ontouchstart' in document.documentElement) { + document.addEventListener('DOMContentLoaded', function() { + FastClick.attach(document.body); + + document.addEventListener('click', function(e) { + var item = find(e); + if (item == null) + return; + + if (typeof cydia != 'undefined') + if (item.href.substr(0, 32) == 'http://cydia.saurik.com/package/') + item.href = 'cydia://package/' + item.href.substr(32); + + item.className += ' cytyle-dn'; + uncytyle(item, 'cytyle-in'); + }); + }, false); + + var timeout = null; + var clear = function() { + if (timeout == null) + return; + clearTimeout(timeout); + timeout = null; + }; + + document.addEventListener('touchstart', function(e) { + var item = find(e); + if (item == null) + return; + + uncytyle(item, 'cytyle-up'); + timeout = setTimeout(function() { + if (timeout != null) + item.className += ' cytyle-in'; + }, 50); + }); + + var stop = function(e) { + var item = find(e); + if (item == null) + return; + + clear(); + uncytyle(item, 'cytyle-in'); + }; + + document.addEventListener('touchmove', stop); + document.addEventListener('touchend', stop); + } else { + document.addEventListener('click', function(e) { + var item = find(e); + if (item == null) + return; + item.className += ' cytyle-dn'; + uncytyle(item, 'cytyle-in'); + }); + + document.addEventListener('mousedown', function(e) { + var item = find(e); + if (item == null) + return; + + uncytyle(item, 'cytyle-up'); + item.className += ' cytyle-in'; + }); + + var stop = function(e) { + var item = find(e); + if (item == null) + return; + + uncytyle(item, 'cytyle-in'); + }; + + document.addEventListener('mousemove', stop); + document.addEventListener('mouseup', stop); + } + + var wipe = function(e) { + var items = document.getElementsByClassName('cytyle-dn'); + for (var i = items.length, e = 0; i != e; --i) { + var item = items.item(i - 1); + uncytyle(item, 'cytyle-in'); + item.className += ' cytyle-up'; + uncytyle(item, 'cytyle-dn'); + } + }; + + var page = function(e) { + window.removeEventListener('pageshow', page); + window.addEventListener('pageshow', wipe); + }; + + if (typeof cydia != 'undefined') + document.addEventListener("CydiaViewWillAppear", wipe); + else if (typeof window.onpageshow != 'undefined') + window.addEventListener('pageshow', page); +})(); + +if (navigator.userAgent.search(/Cydia/) == -1) + document.write(''); +else { + document.write(''); + document.write(''); +} + +// XXX: this might just fail on Chrome everywhere, even Mac :( +// https://code.google.com/p/chromium/issues/detail?id=168646 +if (navigator.userAgent.search(/Linux/) != -1) + document.write(''); + +(function() { + var cytyle = window.location.search; + cytyle = cytyle.match(/^\?cytyle=(.*)$/); + + if (cytyle != null) + cytyle = ' cytyle-' + cytyle[1]; + else { + cytyle = navigator.userAgent; + cytyle = cytyle.match(/.*; CPU (?:iPhone )?OS ([0-9_]*) like Mac OS X[;)]/); + cytyle = cytyle == null ? '7.0' : cytyle[1].replace(/_/g, '.'); + cytyle = parseInt(cytyle); + cytyle = cytyle >= 7 ? ' cytyle-flat' : ' cytyle-faux'; + } + + var body = document.documentElement; + body.className += cytyle; + + if (window.devicePixelRatio && devicePixelRatio >= 2) { + var test = document.createElement('div'); + test.style.border = '.5px solid transparent'; + body.appendChild(test); + if (test.offsetHeight == 1) + body.className += ' cytyle-hair'; + body.removeChild(test); + } +})(); + +(function() { + var update = function() { + if (window.parent != window) + parent.postMessage({cytyle: {name: "iframe-y", value: document.body.scrollHeight}}, "*"); + }; + + window.addEventListener('message', function(event) { + var message = event.data.cytyle; + if (message == undefined) + return; + + switch (message.name) { + case "iframe-y": + var height = message.value; + var iframes = document.getElementsByTagName("iframe"); + if (iframes.length != 1) + return; + var iframe = iframes.item(0); + iframe.style.height = height + 'px'; + update(); + break; + } + }, false); + + window.addEventListener('load', update, false); +})(); + +(function() { + var text = document.createElement("span"); + text.appendChild(document.createTextNode("My")); + + var block = document.createElement("div"); + block.style.display = "inline-block"; + block.style.height = "0px"; + block.style.width = "1px"; + + var div = document.createElement("div"); + div.id = 'cytyle-metric'; + div.style.lineHeight = "normal"; + + div.appendChild(text); + div.appendChild(block); + + var body = document.documentElement; + body.appendChild(div); try { + var full = text.offsetHeight; + + var style = div.currentStyle; + if (typeof style == 'undefined') + style = window.getComputedStyle(div, null); + var font = parseInt(style.fontSize); + + block.style.verticalAlign = "baseline"; + var base = block.offsetTop - text.offsetTop; + // XXX: on iOS 3 I am unable to do this? + if (base == 0) + base = 14; + } finally { + body.removeChild(div); + } + + var top = base - font * 0.75; + + //var down = (font - base) / font / 2; + //alert(down + "em = (" + font + " - " + base + ") / " + font + " / 2"); + var down = ((full - (base - top)) / 2 - top) / font; + //alert(down + "em = ((" + full + " - (" + base + " - " + top + ")) / 2 - " + top + ") / " + font); + + //var over = 4.0; // Modern + //var over = 2.5; // Legacy + //var over = 3.5; // Chrome + //var over = 3.0; // Medium + //var desc = font * 0.25; + //var down = (desc - over) / font; + + document.write(''); +})(); diff --git a/repo/packageInfo/assets/integrator.js b/repo/packageInfo/assets/integrator.js new file mode 100644 index 0000000..ab9b781 --- /dev/null +++ b/repo/packageInfo/assets/integrator.js @@ -0,0 +1 @@ +processGoogleToken({"newToken":"ChAI8Pyy9gUQ7fb7xd6Zu_Y1EjkA784gPJoYPbQ-6vv-FTHyPJk9vYk4aSo62Tn9_FFdHSYifCF5boXPwumo_tQn9RZIWa8Wus2B1vU","validLifetimeSecs":300,"freshLifetimeSecs":300,"1p_jar":"","pucrd":""}); \ No newline at end of file diff --git a/repo/packageInfo/assets/integrator_002.js b/repo/packageInfo/assets/integrator_002.js new file mode 100644 index 0000000..0de14bf --- /dev/null +++ b/repo/packageInfo/assets/integrator_002.js @@ -0,0 +1 @@ +processGoogleToken({"newToken":"ChAI8Pyy9gUQ7fb7xd6Zu_Y1EkgA784gPOe1L_5z2TyqQDyurOUUxN_mWG7DtlgDHde1nkI5XWsM9Bi8v8k8ha6oLuoghoqDhcOPhmIjWEIemgB4Xkz0r--DcME","validLifetimeSecs":300,"freshLifetimeSecs":300,"1p_jar":"2020-5-26-11","pucrd":""}); \ No newline at end of file diff --git a/repo/packageInfo/assets/osd.js b/repo/packageInfo/assets/osd.js new file mode 100644 index 0000000..001a677 --- /dev/null +++ b/repo/packageInfo/assets/osd.js @@ -0,0 +1,6 @@ +(function(window,document){/* + + Copyright The Closure Library Authors. + SPDX-License-Identifier: Apache-2.0 +*/ +var l;function aa(a){var b=0;return function(){return bb?-c:c}});var u=this||self;function oa(){}function w(a){a.Pa=void 0;a.g=function(){return a.Pa?a.Pa:a.Pa=new a}}function pa(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function qa(a){var b=pa(a);return"array"==b||"object"==b&&"number"==typeof a.length}function ra(a){return"function"==pa(a)}function sa(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}function ta(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}}function ua(a,b){a=a.split(".");var c=u;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b}function va(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a};var wa;function xa(a,b){if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,0);for(var c=0;cb?null:"string"===typeof a?a.charAt(b):a[b]}function Fa(a,b,c){for(var d=a.length,e="string"===typeof a?a.split(""):a,f=0;fb?1:a/g,Xa=/"/g,Ya=/'/g,Za=/\x00/g,$a=/[\x00&<>"']/;function z(a,b){return-1!=a.toLowerCase().indexOf(b.toLowerCase())}function ab(a,b){return ab?1:0};var A;a:{var bb=u.navigator;if(bb){var cb=bb.userAgent;if(cb){A=cb;break a}}A=""}function B(a){return-1!=A.indexOf(a)};function db(){return B("Safari")&&!(eb()||B("Coast")||B("Opera")||B("Edge")||B("Edg/")||B("OPR")||B("Firefox")||B("FxiOS")||B("Silk")||B("Android"))}function eb(){return(B("Chrome")||B("CriOS"))&&!B("Edge")};function fb(a){$a.test(a)&&(-1!=a.indexOf("&")&&(a=a.replace(Ua,"&")),-1!=a.indexOf("<")&&(a=a.replace(Va,"<")),-1!=a.indexOf(">")&&(a=a.replace(Wa,">")),-1!=a.indexOf('"')&&(a=a.replace(Xa,""")),-1!=a.indexOf("'")&&(a=a.replace(Ya,"'")),-1!=a.indexOf("\x00")&&(a=a.replace(Za,"�")));return a}function gb(){return"opacity".replace(/\-([a-z])/g,function(a,b){return b.toUpperCase()})}function hb(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()}function ib(a){return a.replace(/(^|[\s]+)([a-z])/g,function(b,c,d){return c+d.toUpperCase()})};function jb(a){jb[" "](a);return a}jb[" "]=oa;function kb(a,b){try{return jb(a[b]),!0}catch(c){}return!1}function lb(a,b){var c=mb;return Object.prototype.hasOwnProperty.call(c,a)?c[a]:c[a]=b(a)};var nb=B("Opera"),C=B("Trident")||B("MSIE"),ob=B("Edge"),pb=B("Gecko")&&!(z(A,"WebKit")&&!B("Edge"))&&!(B("Trident")||B("MSIE"))&&!B("Edge"),qb=z(A,"WebKit")&&!B("Edge"),rb=qb&&B("Mobile");function sb(){var a=u.document;return a?a.documentMode:void 0}var tb;a:{var ub="",vb=function(){var a=A;if(pb)return/rv:([^\);]+)(\)|;)/.exec(a);if(ob)return/Edge\/([\d\.]+)/.exec(a);if(C)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(qb)return/WebKit\/(\S+)/.exec(a);if(nb)return/(?:Version)[ \/]?(\S+)/.exec(a)}();vb&&(ub=vb?vb[1]:"");if(C){var wb=sb();if(null!=wb&&wb>parseFloat(ub)){tb=String(wb);break a}}tb=ub}var xb=tb,mb={};function yb(a){return lb(a,function(){for(var b=0,c=Ta(String(xb)).split("."),d=Ta(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f>>=7;a.a.push(b)}function Ib(a,b){a.a.push(b>>>0&255);a.a.push(b>>>8&255);a.a.push(b>>>16&255);a.a.push(b>>>24&255)};function Jb(){this.b=[];this.a=new Gb}function Kb(a,b,c){if(null!=c){Hb(a.a,8*b);a=a.a;var d=c;c=0>d;d=Math.abs(d);b=d>>>0;d=Math.floor((d-b)/4294967296);d>>>=0;c&&(d=~d>>>0,b=(~b>>>0)+1,4294967295>>7|b<<25)>>>0,b>>>=7;a.a.push(c)}};function Lb(){}var Mb="function"==typeof Uint8Array,Nb=[];function Ob(a){var b=a.c+a.f;a.a[b]||(a.b=a.a[b]={})}function Pb(a,b){if(b");f=f.join("")}f=hc(e,f);g&&("string"===typeof g?f.className=g:Array.isArray(g)?f.className=g.join(" "):cc(f,g));2e?encodeURIComponent(yd(a,b,c,d,e+1)):"...";return encodeURIComponent(String(a))}function Ad(a,b,c,d){a.a.push(b);a.b[b]=xd(c,d)}function Bd(a,b,c){b=b+"//pagead2.googlesyndication.com"+c;var d=Cd(a)-c.length;if(0>d)return"";a.a.sort(function(k,q){return k-q});c=null;for(var e="",f=0;f=m.length){d-=m.length;b+=m;e=a.c;break}a.f&&(e=d,m[e-1]==a.c&&--e,b+=m.substr(0,e),e=a.c,d=0);c=null==c?g:c}}a="";null!=c&&(a=e+"trn="+c);return b+a}function Cd(a){var b=1,c;for(c in a.b)b=c.length>b?c.length:b;return 3997-b-a.c.length-1};function Dd(){this.b=new rd;this.a=pd()?new od:new P}Dd.prototype.setInterval=function(a,b){return E.setInterval(a,b)};Dd.prototype.clearInterval=function(a){E.clearInterval(a)};Dd.prototype.setTimeout=function(a,b){return E.setTimeout(a,b)};Dd.prototype.clearTimeout=function(a){E.clearTimeout(a)};function Ed(a){Q();var b=K()||E;Gc(b,a,!1)}w(Dd);function Fd(){}function Q(){var a=Fd.g();if(!a.a){if(!E)throw Error("Context has not been set and window is undefined.");a.a=Dd.g()}return a.a}w(Fd);function Gd(a){a||(a=[]);this.f=-1;this.a=a;a:{if(a=this.a.length){--a;var b=this.a[a];if(!(null===b||"object"!=typeof b||Array.isArray(b)||Mb&&b instanceof Uint8Array)){this.c=a- -1;this.b=b;break a}}this.c=Number.MAX_VALUE}}va(Gd,Lb);function Hd(a){this.f=a;this.a=-1;this.b=this.c=0}function Id(a,b){return function(c){for(var d=[],e=0;eMath.random())}function Vd(a){a&&S&&Td()&&(S.clearMarks("goog_"+a.label+"_"+a.uniqueId+"_start"),S.clearMarks("goog_"+a.label+"_"+a.uniqueId+"_end"))}Ud.prototype.start=function(a,b){if(!this.a)return null;var c=Qd()||Pd();a=new Rd(a,b,c);b="goog_"+a.label+"_"+a.uniqueId+"_start";S&&Td()&&S.mark(b);return a};function Wd(){var a=Xd;this.i=Yd;this.h="jserror";this.f=!0;this.b=null;this.j=this.c;this.a=void 0===a?null:a}function Zd(a,b,c){return Id(Kd().a,function(){try{if(a.a&&a.a.a){var d=a.a.start(b.toString(),3);var e=c();var f=a.a,g=d;if(f.a&&"number"===typeof g.value){var h=Qd()||Pd();g.duration=h-g.value;var p="goog_"+g.label+"_"+g.uniqueId+"_end";S&&Td()&&S.mark(p);!f.a||2048c.height?p>k?(d=p,e=m):(d=k,e=q):pc++;){if(a===b)return!0;try{a:{var d=void 0;if(Yb&&!(C&&yb("9")&&!yb("10")&&u.SVGElement&&a instanceof u.SVGElement)&&(d=a.parentElement)){var e=d;break a}d=a.parentNode;e=sa(d)&&1==d.nodeType?d:null}if(a=e||a){var f=H(a),g=f&&fc(f),h=g&&g.frameElement;h&&(a=h)}}catch(p){break}}return!1}function Re(a,b,c){if(!a||!b)return!1;b=Ec(Dc(a),-b.left,-b.top);a=(b.left+b.right)/2;b=(b.top+b.bottom)/2;var d=K();oc(d.top)&&d.top&&d.top.document&&(d=d.top);if(!re(d))return!1;a=d.document.elementFromPoint(a,b);if(!a)return!1;b=(b=(b=H(c))&&b.defaultView&&b.defaultView.frameElement)&&Qe(b,a);d=a===c;a=!d&&a&&lc(a,function(e){return e===c});return!(b||d||a)}function Se(a,b,c,d){return U.g().b?!1:0>=Bc(a)||0>=Cc(a)?!0:c&&d?fe(208,function(){return Re(a,b,c)}):!1};function Te(a,b,c){var d=new J(0,0,0,0);this.time=a;this.volume=null;this.c=b;this.a=d;this.b=c};function Ue(a,b,c,d,e,f,g){this.j=a;this.i=b;this.c=c;this.a=d;this.h=e;this.b=f;this.f=g};function Ve(a){this.c=a;this.b=0;this.a=null}Ve.prototype.cancel=function(){Q().clearTimeout(this.a);this.a=null};function We(a){var b=Q();a.a=b.setTimeout(Id(Kd().a,ge(143,function(){a.b++;a.c.Ab()})),ne())};function V(a,b,c){this.o=a;this.O=void 0===c?"na":c;this.f=[];this.m=!1;this.c=new Te(-1,!0,this);this.a=this;this.i=b;this.w=this.l=!1;this.D="uk";this.F=!1;this.j=!0}l=V.prototype;l.Z=function(){return!1};l.Oa=function(){return this.m=!0};l.W=function(){return this.a.D};l.ga=function(){return this.a.w};function Xe(a,b,c){if(!a.w||(void 0===c?0:c))a.w=!0,a.D=b,a.i=0,a.a!=a||Ye(a)}l.u=function(){return this.a.O};l.L=function(){return this.a.ib()};l.ib=function(){return{}};l.M=function(){return this.a.i};function Ze(a,b){Ga(a.f,b)||(a.f.push(b),b.fa(a.a),b.R(a.c),b.S()&&(a.l=!0))}l.Sa=function(){var a=U.g();a.a=Rc(!0,this.o,a.i)};l.Ta=function(){Ke(U.g(),this.o)};l.tb=function(){Le(U.g(),this.o)};l.ub=function(){var a=U.g();a.c=Rc(!1,this.o,a.i)};l.Ma=function(){return this.c.a};function $e(a){a=a.a;a.Ta();a.Sa();a.ub();a.tb();a.c.a=a.Ma()}l.Ab=function(){};function af(a){a.l=a.f.length?Ba(a.f,function(b){return b.S()}):!1}function bf(a){var b=Ia(a.f);x(b,function(c){c.R(a.c)})}function Ye(a){var b=Ia(a.f);x(b,function(c){c.fa(a.a)});a.a!=a||bf(a)}l.fa=function(a){var b=this.a;this.a=a.M()>=this.i?a:this;b!==this.a?(this.j=this.a.j,Ye(this)):this.j!==this.a.j&&(this.j=this.a.j,Ye(this))};l.R=function(a){if(a.b===this.a){var b=this.c,c=this.l;if(c=a&&(void 0===c||!c||b.volume==a.volume)&&b.c==a.c)b=b.a,c=a.a,c=b==c?!0:b&&c?b.top==c.top&&b.right==c.right&&b.bottom==c.bottom&&b.left==c.left:!1;this.c=a;!c&&bf(this)}};l.S=function(){return this.l};l.B=function(){this.F=!0};l.X=function(){return this.F};function cf(a,b,c,d){this.c=a;this.a=new J(0,0,0,0);this.l=new J(0,0,0,0);this.b=b;this.D=c;this.F=d;this.C=!1;this.timestamp=-1;this.h=new Ue(b.c,this.a,new J(0,0,0,0),0,0,T(),0)}l=cf.prototype;l.Aa=function(){return!0};l.H=function(){};l.La=function(){if(this.c){var a=this.c,b=this.b.a.o;try{try{var c=Be(a.getBoundingClientRect())}catch(m){c=new J(0,0,0,0)}var d=c.right-c.left,e=c.bottom-c.top,f=Lc(a,b),g=f.x,h=f.y;var p=new J(Math.round(h),Math.round(g+d),Math.round(h+e),Math.round(g))}catch(m){p=Dc(Ne)}this.a=p}};l.bb=function(){this.l=this.b.c.a};l.P=function(){this.La();this.h=new Ue(this.b.c,this.a,this.h.c,this.h.a,this.h.h,T(),this.h.f)};l.B=function(){if(!this.X()){var a=this.b,b=a.f,c=xa(b,this);0<=c&&Array.prototype.splice.call(b,c,1);a.l&&this.S()&&af(a);this.H();this.C=!0}};l.X=function(){return this.C};l.L=function(){return this.b.L()};l.M=function(){return this.b.M()};l.W=function(){return this.b.W()};l.ga=function(){return this.b.ga()};l.fa=function(){};l.R=function(){this.P()};l.S=function(){return this.F};function df(a){this.h=!1;this.a=a;this.f=oa}l=df.prototype;l.M=function(){return this.a.M()};l.W=function(){return this.a.W()};l.ga=function(){return this.a.ga()};l.create=function(a,b,c){var d=null;this.a&&(d=this.wa(a,b,c),Ze(this.a,d));return d};l.Ra=function(){return this.Y()};l.Y=function(){return!1};l.mb=function(a){return this.a.Oa()?(Ze(this.a,this),this.f=a,!0):!1};l.fa=function(a){0==a.M()&&this.f(a.W(),this)};l.R=function(){};l.S=function(){return!1};l.B=function(){this.h=!0};l.X=function(){return this.h};l.L=function(){return{}};function ef(a,b,c){this.c=void 0===c?0:c;this.b=a;this.a=null==b?"":b}function ff(a){switch(Math.trunc(a.c)){case -16:return-16;case -8:return-8;case 0:return 0;case 8:return 8;case 16:return 16;default:return 16}}function gf(a,b){return a.cb.c?!1:a.bb.b?!1:typeof a.atypeof b.a?!1:a.a=Math.abs(this.b.s-this.a.s))};tf.prototype.h=function(){var a={};return a.b_name=this.a.U,a.v_name=this.b.U,a.b_vp_off=JSON.stringify(this.a.I),a.v_vp_off=JSON.stringify(this.b.I),a.b_vp_sz=JSON.stringify(this.a.Wa),a.v_vp_sz=JSON.stringify(this.b.Wa),a.b_exp=this.a.s,a.v_exp=this.b.s,a.efp_occ=this.a.Db,a.sbv=this.a.ia,a};function uf(){rf.call(this,"capt");this.f=[];this.c=[]}t(uf,rf);uf.prototype.i=function(a,b){rf.prototype.i.call(this,a,b);20<=this.c.length||(this.f.push(a.s),this.c.push(b.s))};uf.prototype.j=function(){return 20===this.c.length};uf.prototype.h=function(){var a=vf(this.f,this.c),b=wf(this.f,this.c),c={};return c.b_name=this.a.U,c.v_name=this.b.U,c.b_exp=this.f.join(","),c.v_exp=this.c.join(","),c.diff=a,c.diff_buckets=b,c};function vf(a,b){return Da(La(a,b),function(c){return c[0]!==c[1]})}function wf(a,b){function c(d){return.25*Math.floor(d/.25)}return vf(za(a,c),za(b,c))};function xf(a,b,c,d,e){e=void 0===e?[new sf,new tf,new uf]:e;I.call(this);this.a=a.wa(b,c,this.S());this.a.Aa();this.c=e;this.b=d}t(xf,I);xf.prototype.V=function(){this.a&&(this.a.H(),this.a.B())};function yf(a,b,c){x(a.c,function(d){var e=a.b;if(!d.l&&(d.i(b,c),d.j())){d.l=!0;var f=d.h(),g=new hf;g.add("id","av-js");g.add("type","verif");g.add("vtype",d.m);d=qf.g();g.add("i",d.a++);g.add("adk",e);kf(g,f);e=new nf(g);var h=void 0===h?4E3:h;e=e.toString();/&v=[^&]+/.test(e)||(e=(f=pf())?e+"&v="+encodeURIComponent(f):e);e=e.substring(0,h);Ed(e)}})}xf.prototype.R=function(){};xf.prototype.fa=function(){};xf.prototype.S=function(){return!1};function zf(){this.a=this.b=this.c=0}function Af(a,b,c,d){b&&(a.c+=c,a.b+=c,a.a=Math.max(a.a,a.b));if(void 0===d?!b:d)a.b=0};var Bf=[1,.75,.5,.3,0];function Cf(a){this.a=a=void 0===a?Bf:a;this.b=za(this.a,function(){return new zf})}function Df(a){return Ef(a,function(b){return b.c},!1)}function Ff(a){return Ef(a,function(b){return b.a},!0)}function Gf(a,b,c,d,e,f){var g=void 0===g?!0:g;c=f?Math.min(b,c):c;for(f=0;f=h;h=!(0=h)||d;Af(a.b[f],g&&p,e,!g||h)}}function Ef(a,b,c){a=za(a.b,function(d){return b(d)});return c?a:Hf(a)}function Hf(a){return za(a,function(b,c,d){return 0=(this.ha()?.3:.5),a.b=Math.max(a.b,e.s),Gf(a.f,e.f,c.f,e.c,f,d),Gf(a.a,e.s,c.s,e.c,f,d),d=d||c.a!=e.a?c.isVisible()&&e.isVisible():c.isVisible(),c=!e.isVisible()||e.c,Af(a.c,d,f,c),this.aa=b,0=a.length)throw Xf;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");}function $f(a,b){if(qa(a))try{x(a,b,void 0)}catch(c){if(c!==Xf)throw c;}else{a=Zf(a);try{for(;;)b.call(void 0,a.next(),void 0,a)}catch(c){if(c!==Xf)throw c;}}}function ag(a,b){var c=1;$f(a,function(d){c=b.call(void 0,c,d)});return c}function bg(a,b){var c=Zf(a);a=new Yf;a.next=function(){var d=c.next();if(b.call(void 0,d,void 0,c))return d;throw Xf;};return a}function cg(a){var b=Zf(a);a=new Yf;var c=100;a.next=function(){if(0=a.bottom||a.left>=a.right?new J(0,0,0,0):a;a=this.b.c;var c=0,d=0,e=0;0<(this.a.bottom-this.a.top)*(this.a.right-this.a.left)&&(this.nb(b)?b=new J(0,0,0,0):(c=U.g().j,e=new J(0,c.height,c.width,0),c=Oe(b,this.a),d=Oe(b,U.g().a),e=Oe(b,e)));b=b.top>=b.bottom||b.left>=b.right?new J(0,0,0,0):Ec(b,-this.a.left,-this.a.top);Me()||(d=c=0);this.h=new Ue(a,this.a,b,c,d,this.timestamp,e)};qg.prototype.u=function(){return this.b.u()};function rg(a){var b=[];sg(new tg,a,b);return b.join("")}function tg(){}function sg(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if(Array.isArray(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;fc.time?b:c},a[0])}l.La=function(){};l.nb=function(){return!1};l.bb=function(){};l.L=function(){var a={};return Object.assign(this.b.L(),(a.niot_obs=this.w,a.niot_cbk=this.m,a))};var Rg={threshold:[0,.3,.5,.75,1]};function Sg(a,b,c,d){Og.call(this,a,b,c,d);this.i=this.j=this.f=null}t(Sg,Og);Sg.prototype.u=function(){return"nio"};Sg.prototype.H=function(){if(this.f&&this.c)try{this.f.unobserve(this.c),this.j?(this.j.unobserve(this.c),this.j=null):this.i&&(this.i.disconnect(),this.i=null)}catch(a){}};function Tg(a){return a.f&&a.f.takeRecords?a.f.takeRecords():[]}Sg.prototype.A=function(){var a=this;if(!this.c)return!1;var b=this.c,c=this.b.a.o,d=Kd().a;this.f=new c.IntersectionObserver(Id(d,function(e){return Pg(a,e)}),Rg);d=Id(d,function(){a.f.unobserve(b);a.f.observe(b);Pg(a,Tg(a))});c.ResizeObserver?(this.j=new c.ResizeObserver(d),this.j.observe(b)):c.MutationObserver&&(this.i=new u.MutationObserver(d),this.i.observe(b,{attributes:!0,childList:!0,characterData:!0,subtree:!0}));this.f.observe(b);Pg(this,Tg(this));return!0};Sg.prototype.P=function(){var a=Tg(this);0this.a.i&&(this.a=this,Ye(this)),this.i=a);return 2==a};function Wg(){R.g();var a=U.g();return a.b||a.f?0:2}w(Vg);var Xg={},Yg=(Xg[1]=function(){return new Ug},Xg[2]=function(){return new Mg([Vg.g()])},Xg);function Zg(){this.a=null;this.b=Yg}function $g(){var a=Zg.g();a:{var b=O(R.g().a,"mv");if(null!=b&&(b=a.b[b])&&(b=b())&&b.Y())break a;b=null}a.a=b}w(Zg);function ah(){this.done=!1;this.a={$a:0,Za:0,nc:0,eb:0,xa:-1,Hb:0,Gb:0,Ib:0};this.j=null;this.h=this.l=!1;this.i="";this.b=null;this.m=0;this.c=new Ve(this)}function bh(a){var b=Y;if(!b.l){b.l=!0;if(a){a=Gg();for(var c,d=0;dd?1:0)?-d:d;if(0===d)Fb=0<1/d?0:2147483648,Eb=0;else if(isNaN(d))Fb=2147483647,Eb=4294967295;else if(1.7976931348623157E308>>0,Eb=0;else if(2.2250738585072014E-308>d)d/=Math.pow(2,-1074),Fb=(q<<31|d/4294967296)>>>0,Eb=d>>>0;else{e=d;c=0;if(2<=e)for(;2<=e&&1023>c;)c++,e/=2;else for(;1>e&&-1022>>0;Eb=4503599627370496*d>>>0}Ib(k,Eb);Ib(k,Fb)}k=Qb(b,2);0!==k&&null!=k&&Kb(m,2,k);k=Qb(b,3);0!==k&&null!=k&&Kb(m,3,k);k=Qb(b,4);0!==k&&null!=k&&Kb(m,4,k);k=Qb(b,5);if(0!==k&&null!=k&&null!=k)if(Hb(m.a,40),b=m.a,0<=k)Hb(b,k);else{for(q=0;9>q;q++)b.a.push(k&127|128),k>>=7;b.a.push(1)}b=new Uint8Array(m.a.length());q=m.b;c=q.length;for(d=k=0;dq;q++)for(c=m.concat(k[q].split("")),Cb[q]=c,d=0;d>2,f=(f&3)<<4|g>>4,g=(g&15)<<2|e>>6,e&=63,c||(e=64,q||(g=64)),m.push(v[d],v[f],v[g]||"",v[e]||"");v=(n.pf=m.join(""),n)}else v={};y(a,v);return a}function jh(){x(Gg(),function(a){if(a.b.b){var b=a.m||0,c=Zg.g();if(b=c.a?new xf(c.a,a.b.a,a.h,b):null)a.F=b}})}function kh(){var a=Kg.g();if(null!=a.a){var b=a.a;x(Gg(),function(c){return Nf(c,b)})}}function fh(a){var b=R.g(),c=1===O(b.a,"llp");"osd"==a.i&&x(X.a,function(d){if(c){if(1==b.b||W(d.c)||d.l){var e={};ig(d,0,(e.r=void 0,e))}}else e={},ig(d,0,(e.r=void 0,e))})}function gh(a,b){a=a.m;me&&(a+=b-ke);return a}function lh(a){return(a=a.match(/[&\?;](?:dc_)?adk=([0-9]+)/))&&2==a.length?parseInt(a[1],10):0}function mh(a){return(a=a.match(/[&\?;]adf=([0-9]+)/))&&2==a.length?parseInt(a[1],10):0}function nh(){var a=Y;var b=void 0===b?function(){return{}}:b;ce.h="av-js";Yd.a=.01;ee([function(c){var d=R.g(),e={};y(c,(e.bin=d.b,e.type="error",e),ed(d.a),ih(a,E),b());if(d=pf())e={},y(c,(e.v=encodeURIComponent(d),e))}])}function oh(a){var b=new ph;switch(a){case 0:case 5:return[];default:return a=4===R.g().b,[new zg(b),new Bg(b),new Ag(b)].concat(r(a?[]:[new xg]))}}w(ah);var Y=ah.g();function ph(){}function yg(a,b){var c=b||{};b=void 0===c.Va?{}:c.Va;c=void 0===c.Qa?{}:c.Qa;var d=c.r,e=b[0],f=ih(Y,K(),!1),g={};y(g,f,b);b={};y(b,mg(a,e,d,g),c);Fe(a.b.b,b,a.ba);return!0};function qh(a,b,c,d){Og.call(this,a,b,c,d);this.f=function(){return null}}t(qh,Og);qh.prototype.u=function(){return"aio"};qh.prototype.H=function(){if(this.f)try{this.f()}catch(a){}};qh.prototype.A=function(){var a=this;if(!this.c)return!1;this.f=Fc(this.b.a.o).observeIntersection(Id(Kd().a,function(b){return Pg(a,b)}));return!0};function rh(a){a=void 0===a?E:a;df.call(this,new V(a,2))}t(rh,df);rh.prototype.u=function(){return"aio"};rh.prototype.Ra=function(){return U.g().b&&this.Y()};rh.prototype.Y=function(){return!U.g().f&&qe(this.a.a.o)};rh.prototype.wa=function(a,b,c){return new qh(a,this.a,b,c)};function sh(){V.call(this,E,2,"iem")}t(sh,V);l=sh.prototype;l.Ma=function(){function a(n,v){return!!b.o.document.elementFromPoint(n,v)}var b=this,c=new J(0,this.o.innerWidth||this.o.width,this.o.innerHeight||this.o.height,0),d=ec(document),e=Math.floor(c.left-d.x),f=Math.floor(c.top-d.y),g=Math.floor(c.right-d.x),h=Math.floor(c.bottom-d.y);c=a(e,f);d=a(g,h);if(c&&d)return new J(f,g,h,e);var p=a(g,f),m=a(e,h);if(c)h=Z(f,h,function(n){return a(e,n)}),g=Z(e,g,function(n){return a(n,f)});else if(p)h=Z(f,h,function(n){return a(g,n)}),e=Z(g,e,function(n){return a(n,f)});else if(m)f=Z(h,f,function(n){return a(e,n)}),g=Z(e,g,function(n){return a(n,h)});else if(d)f=Z(h,f,function(n){return a(g,n)}),e=Z(g,e,function(n){return a(n,h)});else{var k=Math.floor((e+g)/2),q=Math.floor((f+h)/2);if(!a(k,q))return new J(0,0,0,0);f=Z(q,f,function(n){return a(k,n)});h=Z(q,h,function(n){return a(k,n)});e=Z(k,e,function(n){return a(n,q)});g=Z(k,g,function(n){return a(n,q)})}return new J(f,g,h,e)};function Z(a,b,c){if(c(b))return b;for(var d=15;d--;){var e=Math.floor((a+b)/2);if(e==a||e==b)break;c(e)?a=e:b=e}return a}l.Z=function(){return U.g().b&&C&&yb(8)&&re(this.o)};l.Sa=function(){};l.Ta=function(){};l.tb=function(){};l.ub=function(){};w(sh);function th(){V.call(this,E,2,"mraid");this.J=0;this.A=this.C=!1;this.h=null;this.b=pe(this.o);this.c.a=new J(0,0,0,0);this.K=!1}t(th,V);l=th.prototype;l.Z=function(){return null!=this.b.G};l.ib=function(){var a={};this.J&&(a.mraid=this.J);this.C&&(a.mlc=1);a.mtop=this.b.Ob;this.h&&(a.mse=this.h);this.K&&(a.msc=1);a.mcp=this.b.va;return a};l.N=function(a,b){for(var c=[],d=1;d=Pe(Mf(a))?0:null!=a.J&&null!=a.J.match(/\/pagead\/adview\?.*ai=.*&vt=\d+/i)&&!a.rb)&&(Hc(a.J),a.rb=!0)};function Zh(a,b){if(b&&b.data&&b.source){var c=b.data;if("string"!==typeof c)var d=null;else{d={};c=c.split("\n");for(var e=0;e!=c.length;++e){var f=c[e],g=f.indexOf("=");if(!(0>=g)){var h=Number(f.substr(0,g));f=f.substr(g+1);switch(h){case 36:case 26:case 15:case 8:case 11:case 16:case 5:case 18:f="true"==f;break;case 4:case 33:case 6:case 25:case 28:case 29:case 24:case 31:case 30:case 23:case 22:case 7:case 21:case 20:f=Number(f);break;case 19:case 3:if(ra(decodeURIComponent))try{f=decodeURIComponent(f)}catch(p){throw Error("Error: URI malformed: "+f);}}d[h]=f}}d=d[0]?d:null}if(c=d)if(e=c[0],Ga("goog_creative_loaded goog_dom_content_loaded goog_listener_status goog_provide_mode goog_request_monitoring goog_stop_monitoring".split(" "),e)&&(d=Dg(new md(c[4],c[12]))))if(h=c[33],0 + + + \ No newline at end of file diff --git a/repo/packageInfo/com.rileytestut.AltStore.Alpha.Jailbroken.html b/repo/packageInfo/com.rileytestut.AltStore.Alpha.Jailbroken.html new file mode 100644 index 0000000..bb137da --- /dev/null +++ b/repo/packageInfo/com.rileytestut.AltStore.Alpha.Jailbroken.html @@ -0,0 +1,50 @@ + + + + + AltStore Alpha + + + + + + + + + + +
    +
    + + +
    +
    +

    Cleans up codebase more in preparation for beta launch soon.

    +
    +

    Download .deb here

    +
    +
    + + +
    +
    +

    Support iOS 12.2 - 13.5.1

    +
    +
    + + + +

    Changes in AltStore v1.4a1 (6/01/2020)

    +
    +
  • AltStore (ALPHA) supports on-device signing feauture for Jailbroken iDevices. +
  • +
    + +
    + \ No newline at end of file diff --git a/repo/style.css b/repo/style.css new file mode 100644 index 0000000..2df7a59 --- /dev/null +++ b/repo/style.css @@ -0,0 +1,79 @@ +/* #981CEB */ +html, body { + margin: 0; + padding:0; +} + +body { + margin: 10px 0; + background: #000; + color: #fff; + font-family: "SF Pro Display", "SF Pro", "Helvetica Neue", "Roboto", "Segoe UI", Helvetica, Arial, Verdana, sans-serif; +} + +a { + color: #b342ff; +} + +a:hover { + opacity: 0.9; +} + +h1 { + margin: 0; + text-align: center; +} + +h2 { + text-align: center; +} + +.card { + max-width: 1200px; + margin: 0 auto; +} + +.buttons { + display: grid; + grid-template-columns: 50% 50%; +} + +.buttons a { + text-align: center; + background: #512673; + font-weight: bold; + color: #fff; + display: inline-block; + padding: 10px; + text-decoration: none; + text-align: center; + flex: 1; + border-radius: 5px; + margin: 5px; +} + +.row { + padding: 5px 15px; +} + +.logo { + width: 40px; + display: block; + margin: 25px auto; +} + +@media screen and (min-width: 900px) { + .buttons:not(.two) { + grid-template-columns: 33.3% 33.3% 33.3%; + } +} + +@media screen and (max-width: 650px) { + .buttons { + grid-template-columns: 100%; + } +} + +.content { + padding: 5px 20px; +}