From ea12815ab8a1a2a93d939d69a835626921fbdace Mon Sep 17 00:00:00 2001 From: Smart Home Cambodia Date: Sat, 22 Apr 2023 21:53:33 +0700 Subject: [PATCH] Add files via upload --- hass-portainer/CHANGELOG.md | 114 ++++++ hass-portainer/Dockerfile | 17 + hass-portainer/LICENSE | 674 ++++++++++++++++++++++++++++++++++++ hass-portainer/README.md | 12 + hass-portainer/config.json | 31 ++ hass-portainer/icon.png | Bin 0 -> 4765 bytes hass-portainer/init.sh | 3 + hass-portainer/logo.png | Bin 0 -> 30960 bytes 8 files changed, 851 insertions(+) create mode 100644 hass-portainer/CHANGELOG.md create mode 100644 hass-portainer/Dockerfile create mode 100644 hass-portainer/LICENSE create mode 100644 hass-portainer/README.md create mode 100644 hass-portainer/config.json create mode 100644 hass-portainer/icon.png create mode 100644 hass-portainer/init.sh create mode 100644 hass-portainer/logo.png diff --git a/hass-portainer/CHANGELOG.md b/hass-portainer/CHANGELOG.md new file mode 100644 index 0000000..a0cb628 --- /dev/null +++ b/hass-portainer/CHANGELOG.md @@ -0,0 +1,114 @@ +# Changelog +All notable changes to this project will be documented in this file. + +## [v2023.4.0] - 2023-04-05 + +### Changed + +- Updated to Portainer CE v2.17.1. + +## [v2022.11.1] - 2022-11-24 + +### Changed + +- Updated to Portainer CE v2.16.2. + +## [v2022.11.0] - 2022-11-10 + +### Changed + +- Updated to Portainer CE v2.16.1. + +## [v2022.9.0] - 2022-09-21 + +### Changed + +- Updated to Portainer CE v2.15.1. + +## [v2022.8.0] - 2022-08-10 + +### Changed + +- Updated to Portainer CE v2.14.2. + +## [v2022.7.0] - 2022-07-18 + +### Changed + +- Updated to Portainer CE v2.14.1. + +## [v2022.5.0] - 2022-05-15 + +### Changed +- Updated to Portainer CE v2.13.1. + +## [v2022.2.0] - 2022-02-08 + +### Changed +- Updated to Portainer CE v2.11.1. + +## [v2021.12.1] - 2021-12-10 + +### Changed +- Updated to Portainer CE v2.11.0. + +## [v2021.12.0] - 2021-12-04 + +### Changed +- Updated to Portainer CE v2.9.3. + +## [v2021.10.1] - 2021-10-29 + +### Changed +- Updated to Portainer CE v2.9.2. + +## [v2021.10.0] - 2021-10-12 + +### Changed +- Updated to Portainer CE v2.9.1. +- Updated version number scheme. + +## [v0.9] - 2021-09-29 + +### Changed +- Updated to Portainer CE v2.9.0. + +## [v0.8] - 2021-08-30 + +### Changed +- Updated to Portainer CE v2.6.3. + +## [v0.7] - 2021-08-02 + +### Changed +- Updated to Portainer CE v2.6.2. + +## [v0.6] - 2021-07-16 + +### Changed +- Updated to Portainer CE v2.6.1. + +## [v0.5] - 2021-07-02 + +### Changed +- Updated to Portainer CE v2.6.0. + +## [v0.4] - 2021-05-28 + +### Changed +- Updated to Portainer CE v2.5.1. + +## [v0.3] - 2021-05-26 + +### Changed +- Updated to Portainer CE v2.5.0. + +## [v0.2] - 2021-02-19 + +### Added +- Port options for exposing port 8000 and 9000 directly. + +## [v0.1] - 2021-02-17 + +### Added +- Initial version based on Portainer-CE v2.1.1. diff --git a/hass-portainer/Dockerfile b/hass-portainer/Dockerfile new file mode 100644 index 0000000..02d49ba --- /dev/null +++ b/hass-portainer/Dockerfile @@ -0,0 +1,17 @@ +ARG BUILD_FROM +FROM ${BUILD_FROM} + +RUN apk add --no-cache curl + +ARG BUILD_ARCH +RUN if [ "${BUILD_ARCH}" = "aarch64" ]; then ARCH="arm64"; fi && \ + if [ "${BUILD_ARCH}" = "armhf" ]; then ARCH="arm"; fi && \ + if [ "${BUILD_ARCH}" = "armv7" ]; then ARCH="arm"; fi && \ + if [ "${BUILD_ARCH}" = "amd64" ]; then ARCH="amd64"; fi && \ + curl -L -s "https://github.com/portainer/portainer/releases/download/2.17.1/portainer-2.17.1-linux-${ARCH}.tar.gz" | tar zxvf - -C /opt/ + +COPY /init.sh / + +RUN chmod +x /init.sh + +ENTRYPOINT ["sh", "/init.sh"] diff --git a/hass-portainer/LICENSE b/hass-portainer/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/hass-portainer/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 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 General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is 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. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + 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. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + 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 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. Use with the GNU Affero General Public License. + + 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 Affero 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 special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 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 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 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 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + 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 GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/hass-portainer/README.md b/hass-portainer/README.md new file mode 100644 index 0000000..09f8a80 --- /dev/null +++ b/hass-portainer/README.md @@ -0,0 +1,12 @@ +# hass-portainer +Portainer CE v2.x Add-On for Home Assistant (https://blog.mikejmcguire.com/2021/02/17/portainer-ce-2-1-add-on-for-home-assistant/) + +This add-on provides a 2.x version of Portainer-CE, as the standard add-on is based on Portainer 1.x. + +The initial credentials for the add-on are admin/portainer - strongly suggest changing the password upon first login. + +Port options are available for exposing ports 8000 and 9000 as required. + +Portainer requires Home Assistant protection mode to be disabled, as it requires administrative access to the docker platform. As a result, care must be taken when using the portainer tool. + +Home Assistant AddOn Repository: https://github.com/MikeJMcGuire/HASSAddons. diff --git a/hass-portainer/config.json b/hass-portainer/config.json new file mode 100644 index 0000000..7d955bc --- /dev/null +++ b/hass-portainer/config.json @@ -0,0 +1,31 @@ +{ + "arch": [ + "amd64", + "armv7", + "armhf", + "aarch64" + ], + "description": "Container management made easy", + "docker_api": true, + "image": "mikejmcguire/hass-portainer-{arch}", + "ingress": true, + "ingress_port": 9000, + "init": false, + "map": [ + "ssl" + ], + "ports": { + "8000/tcp": null, + "9000/tcp": null + }, + "ports_description": { + "8000/tcp": "Port for exposing Portainer to edge agents", + "9000/tcp": "Port for exposing Portainer UI directly" + }, + "name": "Portainer", + "panel_icon": "mdi:docker", + "slug": "portainer", + "startup": "services", + "url": "https://github.com/MikeJMcGuire/hass-portainer", + "version": "2023.1.0" +} diff --git a/hass-portainer/icon.png b/hass-portainer/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c411cf12388ea8b05a119c55b2e68bbe35054f14 GIT binary patch literal 4765 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 literal 0 HcmV?d00001 diff --git a/hass-portainer/init.sh b/hass-portainer/init.sh new file mode 100644 index 0000000..00c3c68 --- /dev/null +++ b/hass-portainer/init.sh @@ -0,0 +1,3 @@ +#/bin/sh + +/opt/portainer/portainer --admin-password='$2y$05$pdJ.0776Nsf1Q3sqCRXW3uDiMgBkHShRzlqqxFJxxKFt8Ee72DZQm' --host=unix:///run/docker.sock diff --git a/hass-portainer/logo.png b/hass-portainer/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e790cc37615f685fbd2cd2089f550b497f9a24ff GIT binary patch literal 30960 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%0DiOLRK}8%neh+ z1O{VyS4`{N?wwEmdUDtCC6mu3{Xxw}u_@R8hB*`hCm!W&&y3pxuFHcM%5)vBR$7>L zZrh8Q=n=>(Gpv%q6+L!sT0ta^d`+-Weu>x(dwA6iBgEF(gB^eUCM(arg?D@(owoE( zxd3Ls*Z)XOc={%!=+T=nDIu|yv7b9Ud5h*oqjATF$yY8~45?EVBdh?ppPfKv%8lK( z@lNDy_1o=`e;}O7Np@ig(-)c7Et>TA$L7c4YLMPHt>&*@l)eUBt6GExAmjn;kf%

_e!D7aERehR2cHYubqd=4RIX!Suai(h-5K?pp461J?zX^ zEKMZ((Uk%VQgwAlZZK@R-VgF%B4(4i&<22i6IN}10l7CjcWngQ(>FG$qhljAq|JXh z{dTn4|4#A|AP42)54bdBa1*Ori`~!~`ZpR3ckEuC571)f^NzNtb$9I+#uh^4{C4eB zrfh%!uZa);g3mud{5@M@NLXf2qu}=W%El#0N0BA!+(%B=#;_b4m2MM;^(qvmN1=q;4INZ!n~FkjXq zyT5mB6ifNC84FgbgryVVilx==F~jHhrU!Hrokg3Op@uwk&kwiF&|B@JeN4f=RJ*5W-Ijr{#;L zXBpHT@S@0>dBFu=cP^$cshqD3*HXp5B}rfjZ$MUV0i4IWa~&0_r)I_#oZeQhu?Wyr z@P2qV%xf}Uv#(My4G?N1M*_Cfnw^}!S&hJlz!R(`WW!x^d$vbMw(9jmJk3OtM^F_A zkQ+29bI<4BnTn)*3nmOf$wkX`JQ}L(sQuwFz;XpUA$%vDLb37t&MO==&v20D7aFcl z!rl67vh$JQ!Q3H<=CAjLY;k@%Z4dL&uTG*45Zz7u%TfXhXW0iYQq8Te>TTeOuf1q@ zAN2N9Fgm;k2=6RTAUz~I`kF~Xfa<5{wvOXwC|^R!xJA9-EhRC0=x}dyij>Bw%N2fQC~!*LcqJ<#uZP4pKe_`Ywy@C$Mr5kJ z$biI$d?db1{1iW+KIsbF_y833f)5^{spd!e`$CJoZkHXMLEbWQw~bti3ky5 z7s!ELlH1`C#nK`mBTr7P<|=3?V7oTMvw8HKs&`Ez$OP)-w^%I z`THadPR8_Ps8mM?DS}n=>O(HsaR7R5Ki{0E04Fu#cHmx~a$HEf8q_T@9kpFZuW^}I z+-8Ku53~_Z;>|(^hMOIb)-SWAl2a$r{q?Zo6H>`m^uGc+-wVV9LhYyPTdkR7_g!M|+Guf<=$W=pGk(!mQhDhsaM}ac?*BQBQp|a5l_p>f7GjTmxC}mei76Y?i zAYsSGifYuvDNiY>Um@4n*yhD*GR=c&QKqL|LHzsPVuod~=q_!A-`8bh86rCoSTATW zrnSWn8OneFOWSa76a)!9w1DE3qZT>zvTQ4X-og%a_+`Z&(!bK2hR{BM2%oQnI#3%T zYcpt-O%cWLy*w%JK13Z~#M#M-c#FS&VXp)kGQhInsAWvCu5Dr56W>8pU1zeY*Lp#! zf7e#+<>bDci_|@Wpw?|j!7LK8D(|rZIXD+sld&VQ)2fL{38tWL;B!9-ZR8e7&!JBi z4VKyO`yoz+Ziw8{Bzbh;cx1n?yMv{Za%hW=OC(8B^%-{Fq!-MtIZe8Km&D%eEx?e% z$f7-hD_pVBi88dYg%PPK_1kEU#Ob~UPYrE+$(elnYtZrnh!>i2p0{_S5xLf1=#`rsV2gEM-94MsFjo;CIhKNR!kfypLtC~IlL zBVft3|2b$c@5*@j!n9#2Q`7Lll#&AEgX;FY_&xhY1u~H6g_1 zZv8UBsm$a@C**azx(co1tHRz!$DdhwVrG!{zz>jY&yQcX1~GJBTBt%$u>A!{FV+Hp zQ?tPsdJUHCnZ}zQ9SZyA=fzt61y}<-x$}pp9e?*DXpRT3$oz$abC%q6INyGF(RXk0 z_jCbjoGfSxFmxM`r&x`TmDd|+h!au;*ROta(0u-&I$L0(gvgFb7K?paU}g}xD8!_I zSw_oo=1?tR29N7H^lbF(tUxeQyBW+Xs~|=D@jGAta_WJAVX8j&O$>K5nT97@f7YXR zBN#lQ4)N`J z)Efz_q8+O-0THrccCZhEWs)j0w3Xb5LPc>_xutkWqn6Cs#yUir+fR zsvC2<1q%n6Z{N9_E`D_v2aRGFKrc++;#O4u`>k-0eT){$AL?Y!_#r^5Hx(^AMBvg# z=uA>IoQwb->60og^^>UDN5kCZ$6UiC#S@H`E4gr>ZdNLzUv)lk(A(O3>HL*N!i9k8 z_;ZAzSJfHo7o9;aCBi1Z?xhI+=eD>(X|6qGv^3Xt5WvE-3gifm2;o0=fpa*aM3}=v z0Y7dqkoTTcQEq7+Kd_6Ky+{bsnV&$UCC!`9v#9sN%>b$#M_C=WC5*Ln!#Z%K_J9yk z5@$e-gF3wM{XpV?Uk!5F>FIO^lVWH((O@{ARK1zOnG7;5X1YW!smPhT=22`^Ji;ku z-`~)W+SPpKBCxAsP28ByypdZyu_pME|G1DINy~b4k z?f?}gS-F&}b|aWbl2G?sTMxF`evm!X5&bD{n-T+Al27hQP7e=;Pg?h->B3T1vd1Qw z&%&~8mmUon`|EDQkr03x<4qPan!(vR3|R{qJ;*HwhTq1L?iUK_+F&#G_#0L#TSu@b zA~^7``*EiC)J#>38LYX8348m$BvB`@Yxau#ZOvuTOp#BrfJ(c6{b8-5=kl}a? z++!STi&84J&t4V~z>kEAO*CN}S~EHxwV&z(liP0<=%xs-#4oWgy^&oiZqhP&JpftV zSVjhsjL5-{`1QCk&?a8+A4+mfc; zyDghPZ1J!`Bu3+orXl`a0-^RfAVuvgYm5xCp!8e{3f#u#pJxkkEnlGg4dS6mvsiI8 zH>S0A028bz?6NTfhjCKT1B>r78;thOx$wdFQmp_}IBBxSiq9{Z(SoW746?~zYhi^+XpXf*G6%am z117=L5LE&Yz?p|zzb;u5pYP=+s zDO<+e;{GReh2^NrwaBfD(*_hw^JA}Tz9dGMZ1ce#DA1dFQ(=|?kaTdM%8p#uzS}k~ zsG@PojFQdpd}ci$;WsNt9jO4}#}@T{gGP=avz89rwSR=9HqYratng+i=>p_JXAIK< z-TjrNSNR)%4Phn!zR!_Lz=$;zd^Hftgg$lm4j&2{WT}t?#`|H{h3;~d8(6*gb#2_a zcV-EBVTknb56mA@a_AGL^IU@3ptn%Lm>U)K3YlE!!w{%u%Bwr2IS}tkI$z{b$q39L zxoX0*a0{l;>N=QD!kxv{J=VC{uR)C*SAQk}7 z893CL4bg*O;q|je{fz0daRE0g=cXZxCV1b}0Y$&qC-NHv=#eLZ1Jv~on;S}$b%RjQ z1%=bGvunp@#yM({#+>&@Uj)7gXQ1=`P`ZyMs&rAqG|CriGRUfN{|Z_tf(=toMdVTm znPc~+ZE)vDnhCf?LM?5Vta<3SmJDHODn9#Ay{ih_M95kU$KrdZY&Qfkq+$9zu;Q56CS9EV&qsBqU61f-YsAsda(I2W2Os&RWF%SNFfq=e=;U-jH%R!}Dls2o3Z zY`-T9LeQnVPs~Vn52XGn(&KiJauXRjqF{+p4I^XM(h(_1Hg&6yum$`ex-wHX2&*JMXz_B&tI@cxuHk#X|~0(kp(heLr?=u~lk494tRSBY#jaKkKv_n$$ppq+Duogk)xiyZ_usUhN!nFO=*djm0mJ zKXp7+9PHw*&haQ8C(GL<#=yBR>Bz7|eSPlBC2cE2^YTx+?sgw^3A!M0nSvolnIfBJ zAu!G@Qbk?jTB}HyNFL_T^}BiH-Wb)fH0R2V@%q96`ey<*&mg8$Bo+aTZXjCzk$)>& z@Z$V^ZQ_PnI$=trKKU~d@h_qhZ)MSz_>A$*H_eh5?&xQPtDGp!x%_NE)tFxxvuV== zsvyP`h`y9iXj;!^;V=noOjbI5>dJKr5_wA#Ups;PjFx(JQk@f0&B9S#!6B5I2vY z8$|7P>oK}44T_3upnn^_U#o)v32>N*9-FI+kFh=RpINF-&R5; zL2{rwqwY%=T@i_R%cTYlGEn5;cr~87t9>tDJx?P);q9Ki#;*O6Cj9%3 z;@>vv9ect4A{2jQk3l<&3uTu$uL1w*%M(=tyJYMl|ev6)Bcfvf96A*NN)%zGj#YK zR%x9zlQeqQC3=fvuuIVT+7C}R&X93K@V-~+C8*M_y#d%485eK|QnR-HZB;xqB)oM9l~jUO3Cz?)C}#{lvAfm4-L~#M*=zhXvBDfIT3NZ zr>}KdRiceOI*7OkU9>o)nL>*@D03ES5=^P z1)zYXC{(!|*+PhuC=Opse~DYMw=8H}By*(%GO3bUPi9bs)Y4M_cG3-lPgrK&%Kr6* z&BX053u#v=ta*Surh32^1XCOou=h84?Hhdf<)mr4ta5@fgzvj>G(9M~d^r+Jq7`q$ zKclNqWjR1jPDA|Q9%9Zjp_Kb3y1nQ9mzGNxW$@^pFV5DBa4?5vyF9izjF-w>O!@fK zzN2XJuH5hCB3_g?00=39F+|XG00>b<3;+_8GVDR9@wooYB0VHNG~6sGVawd zVOaQR@WjYdpFK*F<;m6&yX~e=qaf!3x`}h+@&QjJ$xZ_UQn34ETqNkN@1v!7p6-MY zqmlnXYUb`gOtU7AjE_J9{qbd;JJFy)0eXr|=u^K1r>@KR)>H)vo)Asvo#j<1OUJO# zmX3J2TJ$te@jS+S?b4xuJy*S@N6EgIby>Z~E+^Nn{`du(WrISI&=0Y|@t-U?Ouo6v z;kSt977}FiFO3#S(-43B*b*)x^Ct_9WS5D_Ou&B;WUPPn*e-P%-YIkLxqyVMjTPi4 z9Ng~l_?hxvM?72`yi3XOpf#)T)bT-HB(%{{nFGzQ){`%~EcQ;Jq} z4PFryWKS03RnDyouHlU!n)T2zKju1GfK&Ml90BS;R6L+}Os`tVZ#K9Q5eXS+s5E{@ zHW0vxtUzrP08XNgVpvwX6S<&+kRijvN4c@|<&Z#6(Mjka1x=2xR7z@3e(1fdu>`@1-2le;=NUM6R?l!n z)(c5z{Kte_vQ-|Rb2(SDer25e3Ek{g^8l4p1HN_y*<2x=pxOk(9#G-YY6YX^b z8$eW(Tb$j>fi3Ze5;Ep(|Hl7&|BW?ve6_(zwv<1)UgQ%x=aRm> zcA=bHdnr4Qz(dpp&w5oy{OsMjr>U<8gMY4+B0Kux!uRp&$*xOo;~wnYFeiHSJmA$)m4ak30+ZrUtGVfAUA5_ zW$DkM+t0xPJ^Z$`r^rJw6bAeC`vi#acfX1$l=r*Xt>inu2q`Z)KsbOr96?)ECrmIb zu-~p9oCLHm7p(^%YOW5;dSqMQvqI9(^rJ$gl*G_b&B5Lj)7egEYmi0ATHwnPO6@Qj zR_#m1*vrS=26BOb3B3eQ=!Wm6^4Dg6^@rEK16J)WtE3_7=%+r0`BV}DbJSVXFSAM z3=3nM)m5iDJW$1%yoDM>&s-wQ&VdAnG?^T8j(cJ2Aw&QR1|>9!w-jNr=H`@#3&R2f zM1hA}I~CEh%@Z_YRrk@vv`O5Eg81cilg6DWy+`n10ZT9{znFD5ytp2Not*7ys1=4$ z;j?gvo>*&i(5^I=SXKHMUJzw2rf~PPbWK4;3UHg#F^K8M?-2{mY~Z&^kG0$eD#w}$ z?n`3K2{ycEm1p$Bh|-3N#6?&RpjJ>H(Z&3q(DX$-f~#0o8`q~}W%}b^C*OnAd9^5Q zY7(4t1FT1jU2Q3IBv?^S=wNDIVOWF!J{@9$TqH=QALdYIXXkF?%p^BuS=2TTE3 z3%D?B2{G~neg?u z661)ccYZd!EqkB-d|${dAZEWJ;)}biK`~7OcN!$uo~ZG{ycmyICK%I-2P&IM{UMJX z{`Mn``}&2j`FAz>nh20MgkXVQmL`lkR!QbWV9I8CTVz+gPHVC$=@U=(0x=68y^!mB z4j{5y>aOO4f@C?R{Cw~0Si6DrFp!nk)Pa!$sJg_VPeD6?}W*tGe* zX9)&S^_tl$jUa>yEcg5D4D|o>kui>(>Ox8!Nt6WRA8E!}K5s~L8+5yuE_oABZk-9- z-qRctA+pDr749=kJeQ*OY>;3~3)s2{%iaRYby=s2=6MpX2iS-zs^#Jd#HR@d_05ke z^nOENr%3|(&HMvW>u)0z$w_xjh`KY-{p}ZATldg$8XHnnJu=I8Ed`$&TRH^Ee;U+JGL{HDD4R&+s@Q6Z;Mjo?vA|r{{cU3RD_ny1 zq^Q;VNI-D+Y2z?AH%VcWbt*>eOPr3Q77}hN{8O1Cd5ItCDctFU22p)D#ILP$u!}N8 z2SFRDbrS6i8J_`1Yt}tg2!MFI&yZ|e*B}6MYLbMG;?SB>yvWo*txBWcb;iT@eho~L?3k@ry$ZK zWu_*aoj_N|w_j()1HS zbDQt=J|Wn>{{%Y>iVZ7pW%PFWO+L6&HNz(XoNtb?U^Gl40PqI@xR_u8 zTD{{qSs=xFF~7aIYBZ=_6yuQbE{vEm@jjKp?yDcQCme`*UXn>T=1hHrSGlpi@fx7N%854!G`?A{;n0YbX0s-~lS1ZQ50-sJ65fhzdfBc{4myy!NIx?EOkaI^yJ96 z$oRpzO}57BWh+#gPJ0$zUU=*XoCn@XF4>D>HEv&8k&glFh6>$g;pLmDU- zeQ4E9u(Jf!0)z_4ZtnH>K5rle0)TK6HkTV3#5YLvcTe0N!|RgR#p5~9U^d+QAg`4D z^gn*(f&Duq>PR)h5qdLwN{~BJndn2r4HI7nOC)Vqxamr&>76Z5>h_uG-#w9hO*j$U zroHu95u~n0?3QR;Uys~S3)vrk`A@lE^kZ2KrOq?vGaL49!&=9Lt#J%wx$Dv1|jQu#}p&Gc`zb*RXk01i`8)DHsW5mQ9`j zxap#fr;w2JRYVzLas-wi?qc&L!={FrsQ>rutENVi+0_=0OD1XD7 z%BYL+Ll)JvkOIXE=BS$&hF*Qq&7?nIgy}OvBEaGz?H^L`cHF+pj41)$YZ3ETf0_op z+s|50ol?c_zaS;JKP65bxgRCV`+fabV&YKuLUk@%1#2$0Ve`D4+JVB=Ch{kI3dBpe zq=rJP$I?nQDFn>c@P37JArD#XDGwJ3bOF|i;Wf-$(Uz&{Nt1uCU7B?~D2e^>Ee?Vq zRz(L@8ooys2zRb8ev`-Ug;)nm1R**AAZ;<`Y}Y%7zzAafL>!4rNZyG&IOG0PJi5VVU|RpLRLW}>(H832T_iGN>giO}-Sw~pzjG!H)a zI}yERvC#9WIS{kTzDdG##%lQ>IDjvNnG@y@M#)SO0KAG8k=&0G_N5oDrn;>%To`6F z2zP<%utRD7{qO;SMPou0XU0hT?Xt)rS`nkdfMTXE`9TXV7C*4L9V*=EuL+u5tv0^3pV^|$ddJT%k8gy&b5K|h_>j+_wNvm|;{c5!W&z(IZ z6zlGpN?}JeLhLx)?2t$iAQ~L7?dY?S^2pPzzXIrh+Uwm9P%E26TX#x@xL2cde~V14 z%obT0h|qpygso7PP~H6r?q<2d4~2VJ?*!{Hp%N%E4H_!E z1TXolb!`pX#s7j_H@cboPID`~thz5>tS%{d*&;vO3ZasOq`N77t`4@0*Db_+6dOxU z-F)Ym!FeMx3Pa^o5l&6Wf)sUsxJ|y0k>j0Od~;w3*ad10(A+ zcd48vyFF$Y<2Q*!G_fi(==TtYL4z4Am6PU|*|ZvHXe)kM!?I3&73ostG3IBH%BW%` z)^kJu4a<#*_Y#{x@;?9&bEg#(2t5`7T+{}`V&#C$0TDvFpY-J2>FHC5Mr4>;MvB4W z*Ldr4{jrNzc9p5vsd(!vN^A`>`!X3?%gHC@O4pv&w`X!cr$z%>f(j&CMffv2pmpY^ zN7zv#YSo`t+Sup$&mx%=`i>Unou6)4hre)WI%4oolgaop7glG-xvUM4R?d2I^Y>h+@IV%$|2f68WslA&w0r%HBU zsB!n@TA1=9!Yye!$Dc(xE09RE=`xC``vNY57L0{_NoV06l~3tk39PI0uH(WC;=TZx zihv;jg5sY@um#n89Q}t$qq3f_gy;2v6Y+g!7O1Dq#i|j;*9;*Hdp5YO8B3feo%Gcc zkF8A~VQer81Z=vocn~L3oaf||H+fg@HEcgB^V6$Xj&^0h*dP=xoEeGhELS^j<!#k;13z_Pv_6{@m$WN!4-f4YwG&J%p9PkejC8h_BA*LAmdDB&S z)<)jeUI(-VX|{g-K_v_~m%RF!pO3dFX<{_k;Wsg_l~nr(>kR*Y7C)90N6w^g;n=)>NZ z!K`%+yw0z2puGo7eiO%0Gng7KH6)Xg>9G%IkHc0t6JHDFK%<*;YjQ`<6nuqk%@#fGQdD+YCnXmGjyzwM2>*lX zYb0hR2)Ab8R)x*0BzZKWTA1`t?j^|(u6}|aJd-?hJqZ8?BBQOBbOt;N7?f}AY<1Hj z7%pv5*}6Q?AAj4`;;E#avOnY5{^Sz8Jikm|#=1|!;*Y5|={n^Td`Y1y655-+uazH$ zF?Zhv)eYzPYkc=kg;Xt$?z^kh%T~9#!yG@+sm2BnJ5*{Lh}m!jOtidz^!j3zi$IP=kJuA1;S%Aq3n?lA3$b9D=qy_iU3nc03%n)Ma)XkD}02iT0uq5_B0%}-| z4y21a*hT|K+mRN;gEf2UG5+)y@=bX2u@O{uSoOk@-zS=e^ClndN_V_6r1*<-&z$I& zU=T@9s?*FJKRljb&0gto*7yKxn-512A-j-rLD_L1@{skaykY=2ppY9J zm#!VFu;f3A-%L=~ z3bJnf@k^jZ^Ig$_#p^wb4~1=PP0br6)Wg9X>fvx3CDmK5j@v^?g8M!Rl}F2OGT*i- z>?;h6y0Od$k{%?}xUXNuO{)uuaN@AAv2jABP#%yWveR_?%o?O;2By)mV)%mfl0zwMqEt?k6 z!qLG122%fwCzHCAAglL!Jxz;Z?{_AD3!=m)jtWJ|#clf+LlTtyMO z68$>aOVYqXOGCE0yl*Y)dAbp=(D>#=r`@f3CYvXd7C~cg8*S_ls&pgLdmQ(x6A`}+ za3*02CIXoefMleJDVjm>9wTz3=9S;-4n3ndbsn-{Y&^5k`?r?E8l(L+0^&qSN^sR_ z4nv53lpm6Sge0<Wr(K_1UxOZZ8zVE@c^2?5>eH>=!PTAYaty9I4-6Z>Po6Q;E68P}3LE`-aErT3iP zN@gpiX>6~=_bS1?^5Cfxv*SN0Qh;EAjDk8(4R{%=F8Kc>!>`=Up0rVmfKV1k);z#g zfY5X&(aR6RU%d(NVG`x{2fk~iw@n?l%=hj9+1ju`ctS{ZO4L@VY=S$#mq+Qvnz@}f z#zU_#WC$TYobLE&*^HDwACt|!(?dMu$!Buwt4^lWK=S|KiCq^+G*hYhS=gqM<5xBV z$%S(N&Zm8JFClC%vA>~<9t>&sgvX|44hFf7^j4G!1>r3?Fq$$%JX=-xTvTT8d z6Y|eyfJ4YFrZr|RDv8gLJ9Z?yMo+R4An@zK_Cv?tW6c2v!N_aHg3EAJu*@%M>R_XC z?YpKS7pwxWrIjhM*n%I&e+N<8UOXD{YjWs|wQ9w);K_(FF2GjSf2Aokhd=2F(lQP8 z+2%}C);TRw#XcPbyC@+sdQ)=5Ws{-oa?RVM-KkgRe9c|OSnTbB2dd%42qiS>8K=Bl zI#br~$1&a6^^{U>zMo|n{KC7&1DKysXB0&mBadrw*!*I)dwL6z8|Z&(_)A_9TPB;_ zV=0IpaYx#dO3Ns`j+W0^y7j$ZQplvZVz5aRNlh`SV(HJ-@~HFg3XT||Fq`G)rD&=o zcshXo0A45n><4f2_ui#7+@7He(UxLkXsdzJ7()tv<-}3lifcfJH6FJ$)waCl%A0%r zQykG~ONt3)Qbae5;K%rZ#M;bvF|gC97DVpVYrUEvT}f{xpHkr?&N7}VLTYmt38)={ z#lMq0&fAqnG+abliVt-4#FvJ&BPHW{Al97K`nyW?ugKD`?l3&>z%DGh>7B!?_3$7D z7~ZZGJkj4scjCu|qRV0KBrK*}DWw@s%?iA#t=RE27HxT_B4K#;86RY%0UQG%Jio;*^O z@@kdI^^0dvy&VpY_fXhZ`ho{E_I@P^(J2717?+uKcaTgiJdl=f`cNcIJ&Q!rxvFVS z&i|Ua5bU7evd)hTSIb8k9}XIh%yN0R4U~-6kt25~RV~(<)C4cLm#OlqH5V`r-_e!0 zaDG!;I~vC^F-0Orq<=rVeX}C+M=Z8U%s*Re@f35qNTs#tO%Lg11T-Bs$o}RB=Y6an zrv4nr`B$68>DjZ9F16u`kHZ4?Z-h0GZZe`$cEhx6Rf&jc6>-`#=SL&%TIB`)Perh(sG~93jl!KC~O7aiiie zHWQzUBK)XdyvLZXy!I?P>z48RydSd;rqaIN=KEB)qe^lbP#=n_?6VW4mO|}9vq#7` zSIQwl-9Bp2)$U5FU@L=qj zqFJ3K3~ax5kI>j|lfI;DthDbt3TGb)<=zjkE_s%c-4V}nb7gF|N*Z5zbgR^;8+zJ< z$p@Os8<}AH0N}^(iRq%t5}&x5#S7V^S74%Y(%LwCYLJgnayvdJ(FCc(vXF-8Fy-nd zAuU#lsE!^_{?Q!u-UPzmCs>mtj?N5>he#uU8LCV>r3=_ISRtxi7xeQxxBSGB!HeS3 z3B6eoMQj-BKRQ$3Efu`PCBix>mJtXG->aL-A%gv!!x{7Fq$6yzoHz#cizR-5irFCs z-Njgl9ZtUno$#l>5O5k{YzGYgvk(i61v< z8K+J9;{p4b!L|N=NAkocj)mN{!zQS6amm}? z*TfV_OV*J}8Hc1Rsz+jAQuFg{E5>n5e+y>X8Nvj1bP?P;&xk43*wcp+z^JZVdpru; z21->aB_Kce5!$dHt8tuIR)ptq==F}Hvf)Uc(+&KPIeARg8TAh8hDX9(c_z4#yj&GP z1P>}&W_ph1!2$h(vnq3?=?81GcT}z)3*2X_@3@#t=X6!Aql7INy`UeqRP7f{&G(gV z?#F2rQ#Tfmte94t^CLC0?|Lk9hY?y&BSrMlKKzo~Q)0-Yu%O7DK{ewU%94J~F{B+k zJB_-0&k&uA3P-!CbsZ)~@y8s&tFSb%KNsm-ytGaYrYXhKrN<6@lYO~`p!(=)fw3+i zw2v2kx5|YyI6{V_+(lV1#Bheml{_B*-B^d{G24(+h3P(r@jQZ~`cAqPMz2d|pxaf+ zEoXgIG%nvSX}1a|#dz`;t4?Q%2 zpa?2TiIv^L6Ky5&)D<*rUdOT&{SXa~8K$7x|M-1CcS>Bk1D9VhSmrI|^MiF;`MUxL zEp1c@!8{x|_<7IUN+oCHpqcy0lg=$oelH}0SF?Nw=)=I9_5+)4|L-4>o}z7YTt>)r zBO6FeH^wlCtY=J{Uc;7k+(l2xvp#Al5cq;dwut^%&X z4BK9;{~W`l*~BZCzE_e(23X9~w^|EN9%^o6orX5nqV+2)kDUF50s z-ub{-<0S0>9B$ea_l64b2isiYJ>Xk@I+t=+M8-buIA>udk%}}pP7?&9zHkSihhgF= zyuIVF^2zht3DSL)g&&;#8nX!toWTY0+T5W;`%d`H{#4wTebm1%8vp*uAb0p^rGrAb z#`Vn4q|&N5^MgOGsOFQ~`q`MHD@}K7m7BmYAbTWdv4Sm0S46X`_JJ7Vhi#+Iojv<> z+YdtmU)6bDzTn(^!$LCZ9ZZO41(_?kzG|SjDol-37y3)xl8h*AHSO%cH0SV!GogiG zN;0oRex|m%<)<3Am1YF!Kd;Sr;}B8cwt5|AdIWD|*8b1?X^B{@;aS5+yk>>eQKPC? zmb$Y{p-aK^>NMecooJ%ZFW~jzu>_?NpH-Lf$;X zuI+JWq)uaE`NgZM(fVVzg{hZUO1cqjr3Un5=@*GJpGX;Dozao91EtO zJ)ayxHagdw|tu&H |6L&+7p;m3o!{W;Ka%r*C7meMMGssl~P~ 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