1fb299fa2Sopenharmony_ciCopyright (C) 2021 Huawei Device Co., Ltd. 2fb299fa2Sopenharmony_ciLicensed under the Apache License, Version 2.0 (the "License"); 3fb299fa2Sopenharmony_ciyou may not use this file except in compliance with the License. 4fb299fa2Sopenharmony_ciYou may obtain a copy of the License at 5fb299fa2Sopenharmony_ci 6fb299fa2Sopenharmony_ci http://www.apache.org/licenses/LICENSE-2.0 7fb299fa2Sopenharmony_ci 8fb299fa2Sopenharmony_ciUnless required by applicable law or agreed to in writing, software 9fb299fa2Sopenharmony_cidistributed under the License is distributed on an "AS IS" BASIS, 10fb299fa2Sopenharmony_ciWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11fb299fa2Sopenharmony_ciSee the License for the specific language governing permissions and 12fb299fa2Sopenharmony_cilimitations under the License. 13fb299fa2Sopenharmony_ci 14fb299fa2Sopenharmony_ci*************************************************************** 15fb299fa2Sopenharmony_ci 16fb299fa2Sopenharmony_cibsdiff, it is derived from the following: 17fb299fa2Sopenharmony_cihttps://github.com/mendsley/bsdiff 18fb299fa2Sopenharmony_civersion 4.3 19fb299fa2Sopenharmony_ci*************************************************************** 20fb299fa2Sopenharmony_ci Copyright 2003-2005 Colin Percival 21fb299fa2Sopenharmony_ci Copyright 2012 Matthew Endsley 22fb299fa2Sopenharmony_ci All rights reserved 23fb299fa2Sopenharmony_ci 24fb299fa2Sopenharmony_ci Redistribution and use in source and binary forms, with or without 25fb299fa2Sopenharmony_ci modification, are permitted providing that the following conditions 26fb299fa2Sopenharmony_ci are met: 27fb299fa2Sopenharmony_ci 1. Redistributions of source code must retain the above copyright 28fb299fa2Sopenharmony_ci notice, this list of conditions and the following disclaimer. 29fb299fa2Sopenharmony_ci 2. Redistributions in binary form must reproduce the above copyright 30fb299fa2Sopenharmony_ci notice, this list of conditions and the following disclaimer in the 31fb299fa2Sopenharmony_ci documentation and/or other materials provided with the distribution. 32fb299fa2Sopenharmony_ci 33fb299fa2Sopenharmony_ci THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 34fb299fa2Sopenharmony_ci IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 35fb299fa2Sopenharmony_ci WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 36fb299fa2Sopenharmony_ci ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 37fb299fa2Sopenharmony_ci DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 38fb299fa2Sopenharmony_ci DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 39fb299fa2Sopenharmony_ci OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 40fb299fa2Sopenharmony_ci HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 41fb299fa2Sopenharmony_ci STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 42fb299fa2Sopenharmony_ci IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 43fb299fa2Sopenharmony_ci POSSIBILITY OF SUCH DAMAGE. 44fb299fa2Sopenharmony_ci 45fb299fa2Sopenharmony_ci*************************************************************** 46fb299fa2Sopenharmony_ci 47fb299fa2Sopenharmony_ci Apache License 48fb299fa2Sopenharmony_ci Version 2.0, January 2004 49fb299fa2Sopenharmony_ci http://www.apache.org/licenses/ 50fb299fa2Sopenharmony_ci 51fb299fa2Sopenharmony_ci TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 52fb299fa2Sopenharmony_ci 53fb299fa2Sopenharmony_ci 1. Definitions. 54fb299fa2Sopenharmony_ci 55fb299fa2Sopenharmony_ci "License" shall mean the terms and conditions for use, reproduction, 56fb299fa2Sopenharmony_ci and distribution as defined by Sections 1 through 9 of this document. 57fb299fa2Sopenharmony_ci 58fb299fa2Sopenharmony_ci "Licensor" shall mean the copyright owner or entity authorized by 59fb299fa2Sopenharmony_ci the copyright owner that is granting the License. 60fb299fa2Sopenharmony_ci 61fb299fa2Sopenharmony_ci "Legal Entity" shall mean the union of the acting entity and all 62fb299fa2Sopenharmony_ci other entities that control, are controlled by, or are under common 63fb299fa2Sopenharmony_ci control with that entity. For the purposes of this definition, 64fb299fa2Sopenharmony_ci "control" means (i) the power, direct or indirect, to cause the 65fb299fa2Sopenharmony_ci direction or management of such entity, whether by contract or 66fb299fa2Sopenharmony_ci otherwise, or (ii) ownership of fifty percent (50%) or more of the 67fb299fa2Sopenharmony_ci outstanding shares, or (iii) beneficial ownership of such entity. 68fb299fa2Sopenharmony_ci 69fb299fa2Sopenharmony_ci "You" (or "Your") shall mean an individual or Legal Entity 70fb299fa2Sopenharmony_ci exercising permissions granted by this License. 71fb299fa2Sopenharmony_ci 72fb299fa2Sopenharmony_ci "Source" form shall mean the preferred form for making modifications, 73fb299fa2Sopenharmony_ci including but not limited to software source code, documentation 74fb299fa2Sopenharmony_ci source, and configuration files. 75fb299fa2Sopenharmony_ci 76fb299fa2Sopenharmony_ci "Object" form shall mean any form resulting from mechanical 77fb299fa2Sopenharmony_ci transformation or translation of a Source form, including but 78fb299fa2Sopenharmony_ci not limited to compiled object code, generated documentation, 79fb299fa2Sopenharmony_ci and conversions to other media types. 80fb299fa2Sopenharmony_ci 81fb299fa2Sopenharmony_ci "Work" shall mean the work of authorship, whether in Source or 82fb299fa2Sopenharmony_ci Object form, made available under the License, as indicated by a 83fb299fa2Sopenharmony_ci copyright notice that is included in or attached to the work 84fb299fa2Sopenharmony_ci (an example is provided in the Appendix below). 85fb299fa2Sopenharmony_ci 86fb299fa2Sopenharmony_ci "Derivative Works" shall mean any work, whether in Source or Object 87fb299fa2Sopenharmony_ci form, that is based on (or derived from) the Work and for which the 88fb299fa2Sopenharmony_ci editorial revisions, annotations, elaborations, or other modifications 89fb299fa2Sopenharmony_ci represent, as a whole, an original work of authorship. For the purposes 90fb299fa2Sopenharmony_ci of this License, Derivative Works shall not include works that remain 91fb299fa2Sopenharmony_ci separable from, or merely link (or bind by name) to the interfaces of, 92fb299fa2Sopenharmony_ci the Work and Derivative Works thereof. 93fb299fa2Sopenharmony_ci 94fb299fa2Sopenharmony_ci "Contribution" shall mean any work of authorship, including 95fb299fa2Sopenharmony_ci the original version of the Work and any modifications or additions 96fb299fa2Sopenharmony_ci to that Work or Derivative Works thereof, that is intentionally 97fb299fa2Sopenharmony_ci submitted to Licensor for inclusion in the Work by the copyright owner 98fb299fa2Sopenharmony_ci or by an individual or Legal Entity authorized to submit on behalf of 99fb299fa2Sopenharmony_ci the copyright owner. For the purposes of this definition, "submitted" 100fb299fa2Sopenharmony_ci means any form of electronic, verbal, or written communication sent 101fb299fa2Sopenharmony_ci to the Licensor or its representatives, including but not limited to 102fb299fa2Sopenharmony_ci communication on electronic mailing lists, source code control systems, 103fb299fa2Sopenharmony_ci and issue tracking systems that are managed by, or on behalf of, the 104fb299fa2Sopenharmony_ci Licensor for the purpose of discussing and improving the Work, but 105fb299fa2Sopenharmony_ci excluding communication that is conspicuously marked or otherwise 106fb299fa2Sopenharmony_ci designated in writing by the copyright owner as "Not a Contribution." 107fb299fa2Sopenharmony_ci 108fb299fa2Sopenharmony_ci "Contributor" shall mean Licensor and any individual or Legal Entity 109fb299fa2Sopenharmony_ci on behalf of whom a Contribution has been received by Licensor and 110fb299fa2Sopenharmony_ci subsequently incorporated within the Work. 111fb299fa2Sopenharmony_ci 112fb299fa2Sopenharmony_ci 2. Grant of Copyright License. Subject to the terms and conditions of 113fb299fa2Sopenharmony_ci this License, each Contributor hereby grants to You a perpetual, 114fb299fa2Sopenharmony_ci worldwide, non-exclusive, no-charge, royalty-free, irrevocable 115fb299fa2Sopenharmony_ci copyright license to reproduce, prepare Derivative Works of, 116fb299fa2Sopenharmony_ci publicly display, publicly perform, sublicense, and distribute the 117fb299fa2Sopenharmony_ci Work and such Derivative Works in Source or Object form. 118fb299fa2Sopenharmony_ci 119fb299fa2Sopenharmony_ci 3. Grant of Patent License. Subject to the terms and conditions of 120fb299fa2Sopenharmony_ci this License, each Contributor hereby grants to You a perpetual, 121fb299fa2Sopenharmony_ci worldwide, non-exclusive, no-charge, royalty-free, irrevocable 122fb299fa2Sopenharmony_ci (except as stated in this section) patent license to make, have made, 123fb299fa2Sopenharmony_ci use, offer to sell, sell, import, and otherwise transfer the Work, 124fb299fa2Sopenharmony_ci where such license applies only to those patent claims licensable 125fb299fa2Sopenharmony_ci by such Contributor that are necessarily infringed by their 126fb299fa2Sopenharmony_ci Contribution(s) alone or by combination of their Contribution(s) 127fb299fa2Sopenharmony_ci with the Work to which such Contribution(s) was submitted. If You 128fb299fa2Sopenharmony_ci institute patent litigation against any entity (including a 129fb299fa2Sopenharmony_ci cross-claim or counterclaim in a lawsuit) alleging that the Work 130fb299fa2Sopenharmony_ci or a Contribution incorporated within the Work constitutes direct 131fb299fa2Sopenharmony_ci or contributory patent infringement, then any patent licenses 132fb299fa2Sopenharmony_ci granted to You under this License for that Work shall terminate 133fb299fa2Sopenharmony_ci as of the date such litigation is filed. 134fb299fa2Sopenharmony_ci 135fb299fa2Sopenharmony_ci 4. Redistribution. You may reproduce and distribute copies of the 136fb299fa2Sopenharmony_ci Work or Derivative Works thereof in any medium, with or without 137fb299fa2Sopenharmony_ci modifications, and in Source or Object form, provided that You 138fb299fa2Sopenharmony_ci meet the following conditions: 139fb299fa2Sopenharmony_ci 140fb299fa2Sopenharmony_ci (a) You must give any other recipients of the Work or 141fb299fa2Sopenharmony_ci Derivative Works a copy of this License; and 142fb299fa2Sopenharmony_ci 143fb299fa2Sopenharmony_ci (b) You must cause any modified files to carry prominent notices 144fb299fa2Sopenharmony_ci stating that You changed the files; and 145fb299fa2Sopenharmony_ci 146fb299fa2Sopenharmony_ci (c) You must retain, in the Source form of any Derivative Works 147fb299fa2Sopenharmony_ci that You distribute, all copyright, patent, trademark, and 148fb299fa2Sopenharmony_ci attribution notices from the Source form of the Work, 149fb299fa2Sopenharmony_ci excluding those notices that do not pertain to any part of 150fb299fa2Sopenharmony_ci the Derivative Works; and 151fb299fa2Sopenharmony_ci 152fb299fa2Sopenharmony_ci (d) If the Work includes a "NOTICE" text file as part of its 153fb299fa2Sopenharmony_ci distribution, then any Derivative Works that You distribute must 154fb299fa2Sopenharmony_ci include a readable copy of the attribution notices contained 155fb299fa2Sopenharmony_ci within such NOTICE file, excluding those notices that do not 156fb299fa2Sopenharmony_ci pertain to any part of the Derivative Works, in at least one 157fb299fa2Sopenharmony_ci of the following places: within a NOTICE text file distributed 158fb299fa2Sopenharmony_ci as part of the Derivative Works; within the Source form or 159fb299fa2Sopenharmony_ci documentation, if provided along with the Derivative Works; or, 160fb299fa2Sopenharmony_ci within a display generated by the Derivative Works, if and 161fb299fa2Sopenharmony_ci wherever such third-party notices normally appear. The contents 162fb299fa2Sopenharmony_ci of the NOTICE file are for informational purposes only and 163fb299fa2Sopenharmony_ci do not modify the License. You may add Your own attribution 164fb299fa2Sopenharmony_ci notices within Derivative Works that You distribute, alongside 165fb299fa2Sopenharmony_ci or as an addendum to the NOTICE text from the Work, provided 166fb299fa2Sopenharmony_ci that such additional attribution notices cannot be construed 167fb299fa2Sopenharmony_ci as modifying the License. 168fb299fa2Sopenharmony_ci 169fb299fa2Sopenharmony_ci You may add Your own copyright statement to Your modifications and 170fb299fa2Sopenharmony_ci may provide additional or different license terms and conditions 171fb299fa2Sopenharmony_ci for use, reproduction, or distribution of Your modifications, or 172fb299fa2Sopenharmony_ci for any such Derivative Works as a whole, provided Your use, 173fb299fa2Sopenharmony_ci reproduction, and distribution of the Work otherwise complies with 174fb299fa2Sopenharmony_ci the conditions stated in this License. 175fb299fa2Sopenharmony_ci 176fb299fa2Sopenharmony_ci 5. Submission of Contributions. Unless You explicitly state otherwise, 177fb299fa2Sopenharmony_ci any Contribution intentionally submitted for inclusion in the Work 178fb299fa2Sopenharmony_ci by You to the Licensor shall be under the terms and conditions of 179fb299fa2Sopenharmony_ci this License, without any additional terms or conditions. 180fb299fa2Sopenharmony_ci Notwithstanding the above, nothing herein shall supersede or modify 181fb299fa2Sopenharmony_ci the terms of any separate license agreement you may have executed 182fb299fa2Sopenharmony_ci with Licensor regarding such Contributions. 183fb299fa2Sopenharmony_ci 184fb299fa2Sopenharmony_ci 6. Trademarks. This License does not grant permission to use the trade 185fb299fa2Sopenharmony_ci names, trademarks, service marks, or product names of the Licensor, 186fb299fa2Sopenharmony_ci except as required for reasonable and customary use in describing the 187fb299fa2Sopenharmony_ci origin of the Work and reproducing the content of the NOTICE file. 188fb299fa2Sopenharmony_ci 189fb299fa2Sopenharmony_ci 7. Disclaimer of Warranty. Unless required by applicable law or 190fb299fa2Sopenharmony_ci agreed to in writing, Licensor provides the Work (and each 191fb299fa2Sopenharmony_ci Contributor provides its Contributions) on an "AS IS" BASIS, 192fb299fa2Sopenharmony_ci WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 193fb299fa2Sopenharmony_ci implied, including, without limitation, any warranties or conditions 194fb299fa2Sopenharmony_ci of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 195fb299fa2Sopenharmony_ci PARTICULAR PURPOSE. You are solely responsible for determining the 196fb299fa2Sopenharmony_ci appropriateness of using or redistributing the Work and assume any 197fb299fa2Sopenharmony_ci risks associated with Your exercise of permissions under this License. 198fb299fa2Sopenharmony_ci 199fb299fa2Sopenharmony_ci 8. Limitation of Liability. In no event and under no legal theory, 200fb299fa2Sopenharmony_ci whether in tort (including negligence), contract, or otherwise, 201fb299fa2Sopenharmony_ci unless required by applicable law (such as deliberate and grossly 202fb299fa2Sopenharmony_ci negligent acts) or agreed to in writing, shall any Contributor be 203fb299fa2Sopenharmony_ci liable to You for damages, including any direct, indirect, special, 204fb299fa2Sopenharmony_ci incidental, or consequential damages of any character arising as a 205fb299fa2Sopenharmony_ci result of this License or out of the use or inability to use the 206fb299fa2Sopenharmony_ci Work (including but not limited to damages for loss of goodwill, 207fb299fa2Sopenharmony_ci work stoppage, computer failure or malfunction, or any and all 208fb299fa2Sopenharmony_ci other commercial damages or losses), even if such Contributor 209fb299fa2Sopenharmony_ci has been advised of the possibility of such damages. 210fb299fa2Sopenharmony_ci 211fb299fa2Sopenharmony_ci 9. Accepting Warranty or Additional Liability. While redistributing 212fb299fa2Sopenharmony_ci the Work or Derivative Works thereof, You may choose to offer, 213fb299fa2Sopenharmony_ci and charge a fee for, acceptance of support, warranty, indemnity, 214fb299fa2Sopenharmony_ci or other liability obligations and/or rights consistent with this 215fb299fa2Sopenharmony_ci License. However, in accepting such obligations, You may act only 216fb299fa2Sopenharmony_ci on Your own behalf and on Your sole responsibility, not on behalf 217fb299fa2Sopenharmony_ci of any other Contributor, and only if You agree to indemnify, 218fb299fa2Sopenharmony_ci defend, and hold each Contributor harmless for any liability 219fb299fa2Sopenharmony_ci incurred by, or claims asserted against, such Contributor by reason 220fb299fa2Sopenharmony_ci of your accepting any such warranty or additional liability. 221fb299fa2Sopenharmony_ci 222fb299fa2Sopenharmony_ci END OF TERMS AND CONDITIONS 223