Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
793c8eedc9 | ||
|
|
146c049b45 | ||
|
|
86faab3f26 | ||
|
|
44adec536e | ||
|
|
e79d84b9b4 | ||
|
|
039964e8d0 | ||
|
|
4a04bdacec | ||
|
|
b21fef0fec | ||
|
|
40a4168a17 | ||
|
|
a2595b35e7 | ||
|
|
4956fcc1ee | ||
|
|
509abc291b | ||
|
|
b55764bdd7 | ||
|
|
8ac2e88383 | ||
|
|
5bc653c012 | ||
|
|
e71c9d7f49 | ||
|
|
a3aba74ffa | ||
|
|
f3e834226f | ||
|
|
e6dc3b8189 | ||
|
|
9677aefcbb | ||
|
|
01c46f7009 | ||
|
|
a692b6b838 | ||
|
|
44a77dfcb3 | ||
|
|
f1d3d41887 | ||
|
|
bba7d4cb36 | ||
|
|
6a40687804 | ||
|
|
f420fd962f | ||
|
|
1625fe9afe | ||
|
|
36de0fcc9c | ||
|
|
a7b7e5b8bc | ||
|
|
a5f64f78dd | ||
|
|
57c72b11aa | ||
|
|
677c2347c6 | ||
|
|
4a51855678 | ||
|
|
81a62bbc93 | ||
|
|
dd290cd217 | ||
|
|
e9cfd04800 | ||
|
|
e110c64f83 | ||
|
|
1d16a82117 | ||
|
|
bca030f069 | ||
|
|
5908a8b66e | ||
|
|
53fabe75c8 | ||
|
|
bdfaf8c9f3 | ||
|
|
5640e993a4 | ||
|
|
4cc3f1576c | ||
|
|
1b716790f0 | ||
|
|
b9fa61282e | ||
|
|
c53b0cd811 | ||
|
|
fc4120cd0d | ||
|
|
a26ed296de | ||
|
|
7473390715 | ||
|
|
5e0bcc8bbb | ||
|
|
08be5158da | ||
|
|
684566c30b | ||
|
|
576cabb04b | ||
|
|
5e68adb79e | ||
|
|
09c725dcb2 | ||
|
|
ac3c24852f | ||
|
|
3e49fe9626 | ||
|
|
7edee9c594 | ||
|
|
add5da6ce8 | ||
|
|
29346c0668 | ||
|
|
21e9f66798 | ||
|
|
bb8f89bf58 | ||
|
|
6e0a86c300 | ||
|
|
0d650d0838 | ||
|
|
c574944153 | ||
|
|
77d0ee8c58 | ||
|
|
355ee91d2c | ||
|
|
5bc5e23272 | ||
|
|
12481c6f94 | ||
|
|
ec121e477d | ||
|
|
8f1461e33a | ||
|
|
c803265ac1 | ||
|
|
ee12e6e1a3 | ||
|
|
d803f47b99 | ||
|
|
993672565c | ||
|
|
734347a093 | ||
|
|
2d366d6e8e | ||
|
|
56a6d7dd5e | ||
|
|
05d3c5c80f | ||
|
|
5d94371015 | ||
|
|
4549f9794f | ||
|
|
8a9d2758bf | ||
|
|
eb73388e21 | ||
|
|
ca65db5c71 | ||
|
|
fe8ecb2b03 | ||
|
|
c1930f3a11 | ||
|
|
8799ed6dc7 | ||
|
|
1f9df5503b | ||
|
|
a33aae5ed5 | ||
|
|
73b73ffa3c | ||
|
|
ceaf1ac7b8 | ||
|
|
245e26730d | ||
|
|
8b9fe48932 | ||
|
|
9209fee228 | ||
|
|
2a3f282229 | ||
|
|
bd018de2ee | ||
|
|
d4e01ab21b | ||
|
|
98ffcda1b8 | ||
|
|
a7da5983c2 | ||
|
|
cd26da75d3 | ||
|
|
a0c15da432 | ||
|
|
b7f9df6383 | ||
|
|
863ac1d6cf | ||
|
|
852a7d9f48 | ||
|
|
013d07a079 | ||
|
|
2ff8de6e80 | ||
|
|
da127a621a | ||
|
|
bd6448734d | ||
|
|
c4c93b9c02 | ||
|
|
2a72585cbb | ||
|
|
b00120c637 | ||
|
|
8f811a47f4 | ||
|
|
2ebb131d8e | ||
|
|
c5a398e05e | ||
|
|
846ab1443b | ||
|
|
42240ad5a5 | ||
|
|
bc75b75802 | ||
|
|
178395df52 | ||
|
|
97cf00d45c | ||
|
|
bc0cb02eca | ||
|
|
e78397c198 | ||
|
|
22b41ab781 | ||
|
|
f83c655524 | ||
|
|
643f81b60c | ||
|
|
8fbba1817a | ||
|
|
5cdbc4c0eb | ||
|
|
625f75302b | ||
|
|
796449023d | ||
|
|
c4365c1cef | ||
|
|
5e007afb54 | ||
|
|
f71286e7d1 | ||
|
|
7e11327f69 | ||
|
|
9a8932ca2a | ||
|
|
582002b29e | ||
|
|
6a0ca5e260 | ||
|
|
3c5fd3bfca | ||
|
|
174675dba8 | ||
|
|
fde5d12850 | ||
|
|
6af167612e | ||
|
|
7ed8b803df | ||
|
|
be4bad496e | ||
|
|
8d42005e13 | ||
|
|
c6ecebb057 | ||
|
|
6429c802ed | ||
|
|
527760d7df | ||
|
|
eb233757fc | ||
|
|
94c9289b64 | ||
|
|
d98eafd6b6 | ||
|
|
ae6490c132 | ||
|
|
3decb868b5 | ||
|
|
9224471670 | ||
|
|
6bec9622ef | ||
|
|
64ca24fbac | ||
|
|
d475900300 | ||
|
|
e15da6a7e0 | ||
|
|
404aef15a0 | ||
|
|
ccb1c04c80 | ||
|
|
c15eef418f | ||
|
|
450938f203 | ||
|
|
07c1f9cc42 | ||
|
|
b68e7a55ea | ||
|
|
6855e46975 | ||
|
|
08e657a2c8 | ||
|
|
d1b90a872a | ||
|
|
9f20584df3 | ||
|
|
f3f50b2e17 | ||
|
|
9003c35fcd | ||
|
|
b96f1ea473 | ||
|
|
f8776d6758 | ||
|
|
5a8dcf4888 | ||
|
|
e04f4c7bc7 | ||
|
|
9cab2f993a | ||
|
|
9772f17efa | ||
|
|
ca8c61ed5d | ||
|
|
d8b862d58d | ||
|
|
60f18b7afd | ||
|
|
09fe778d85 | ||
|
|
a61369d1bc | ||
|
|
e11d817c64 | ||
|
|
2d63b34afa | ||
|
|
868c476ced | ||
|
|
10a429bf6d | ||
|
|
a216b29b97 | ||
|
|
5bf6f62ac7 | ||
|
|
74594092c8 | ||
|
|
8729768478 | ||
|
|
196e91f3ec | ||
|
|
eb27f6c2c4 | ||
|
|
b68c6bd275 | ||
|
|
d778080899 | ||
|
|
5fc82298b8 | ||
|
|
c062e53a6e | ||
|
|
24352fb0bc | ||
|
|
760f431a16 | ||
|
|
49c8f06c2d | ||
|
|
3a32731061 | ||
|
|
dc2af3b4fb | ||
|
|
c4b0da3703 | ||
|
|
32fbcfdcd5 | ||
|
|
de91e33f74 | ||
|
|
4c0c58ac90 | ||
|
|
d26b1120a0 | ||
|
|
232db9b571 | ||
|
|
f923e48333 | ||
|
|
84d56c95cd | ||
|
|
48f1905cee | ||
|
|
b2543239aa | ||
|
|
f134be461c | ||
|
|
8424f262df | ||
|
|
97d195e6b5 | ||
|
|
5be35a8fe1 | ||
|
|
9396e1448d | ||
|
|
5ba012fad1 | ||
|
|
f4ea1f6e69 | ||
|
|
3b0319cb37 | ||
|
|
3c13025773 | ||
|
|
c7e35b8aeb | ||
|
|
11bfc4a4bf | ||
|
|
6035857f08 | ||
|
|
fb24995cee | ||
|
|
7c72c16578 | ||
|
|
a78c5340c2 | ||
|
|
ac5929a9fe | ||
|
|
dd11e0cfa4 | ||
|
|
18ff9b1bdb | ||
|
|
5b231fb711 | ||
|
|
91b4a96194 | ||
|
|
f05190111c | ||
|
|
8a06c7d074 | ||
|
|
b0b5a68d2c | ||
|
|
7ae588054b | ||
|
|
69a27f4c86 | ||
|
|
1c56b7fbf2 | ||
|
|
5a70ed2113 | ||
|
|
5ddffcc10c | ||
|
|
c12ce33fc6 | ||
|
|
fe37968654 | ||
|
|
6b600182dd | ||
|
|
360fa6ff5e | ||
|
|
da001198f6 | ||
|
|
0276f29198 | ||
|
|
a69bd8a0df | ||
|
|
4d7351d07e | ||
|
|
9316ff7e76 | ||
|
|
d55f8efc7f | ||
|
|
a2887abee4 | ||
|
|
b9b316cb95 | ||
|
|
9427ccf48c | ||
|
|
d977bac7f9 |
+12
@@ -0,0 +1,12 @@
|
||||
# IntelliJ IDEA project files
|
||||
.idea
|
||||
*.iml
|
||||
/.vscode
|
||||
|
||||
# Gradle output
|
||||
/.gradle
|
||||
/build
|
||||
/bin
|
||||
/gradle.properties
|
||||
buildSrc/build
|
||||
buildSrc/.gradle
|
||||
+201
-202
@@ -1,202 +1,201 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -0,0 +1,93 @@
|
||||
# What is Keycard?
|
||||
|
||||
Keycard is an implementation of a BIP-32 HD wallet running on Javacard 3.0.4+ (see implementation notes)
|
||||
|
||||
It supports among others
|
||||
- key generation, derivation and signing
|
||||
- exporting keys defined in the context of EIP-1581 https://eips.ethereum.org/EIPS/eip-1581
|
||||
- setting up a NFC NDEF tag
|
||||
|
||||
Communication with the Keycard happens through a simple APDU interface, together with a Secure Channel guaranteeing confidentiality, authentication and integrity of all commands. It supports both NFC and ISO7816 physical interfaces, meaning that it is compatible with any Android phone equipped with NFC, and all USB Smartcard readers.
|
||||
|
||||
The most obvious case for integration of Keycard is crypto wallets (ETH, BTC, etc), however it can be used in other systems where a BIP-32 key tree is used and/or you perform authentication/identification.
|
||||
|
||||
# Where to start?
|
||||
|
||||
A good place to start is our documentation site https://keycard.tech/docs/
|
||||
|
||||
You can also join the dicussion about this project on Status channel: https://get.status.im/chat/public/status-keycard
|
||||
|
||||
If you just want to use the Keycard as your hardware wallet there are currently three apps supporting it
|
||||
|
||||
1. Status [[Android](https://play.google.com/store/apps/details?id=im.status.ethereum)][[iOS](https://apps.apple.com/us/app/status-private-communication/id1178893006)]
|
||||
2. WallETH [[Android](https://play.google.com/store/apps/details?id=org.walleth)]
|
||||
3. Enno Walet https://ennowallet.com/
|
||||
|
||||
# How to contribute?
|
||||
|
||||
Anyone is welcome to contribute to Keycard!
|
||||
|
||||
Most of our communication about the project is going on here: https://get.status.im/chat/public/status-keycard
|
||||
|
||||
Should you wish to work on an issue, please claim it first by commenting on the GitHub issue that you want to work on it. This is to prevent duplicated efforts from contributors on the same issue.
|
||||
|
||||
# How to build the project?
|
||||
|
||||
The project is built using Gradle with the [Fidesmo Javacard Gradle plugin](https://github.com/fidesmo/gradle-javacard).
|
||||
You can set the JavaCard HOME not only through the environment but also creating a gradle.properties file with the
|
||||
property "com.fidesmo.gradle.javacard.home" set to the correct path.
|
||||
|
||||
Testing is done with JUnit and performed either on a real card or on [jCardSim](https://github.com/status-im/jcardsim).
|
||||
Although the tests are comprehensive, debugging on the real card is not easy because raw APDUs are not shown in the test
|
||||
log and there is no way to set breakpoints in the applet.
|
||||
|
||||
In order to test with the simulator with an IDE, you need to pass these additional parameters to the JVM
|
||||
|
||||
```-noverify -Dim.status.keycard.test.target=simulator```
|
||||
|
||||
## Compilation
|
||||
1. Download and install the JavaCard 3.0.4 SDK from [Oracle](http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javame-419430.html#java_card_kit-classic-3_0_4-rr-bin-do)
|
||||
2. Clone the Github repo for our fork of [jCardSim](https://github.com/status-im/jcardsim)
|
||||
3. Create a gradle.properties (see below for an example)
|
||||
4. Run `./gradlew convertJavacard`
|
||||
|
||||
## Installation
|
||||
1. Follow all steps from the Compilation phase (except the last one)
|
||||
2. Disconnect all card reader terminals from the system, except the one with the card where you want to install the applet
|
||||
3. Run `./gradlew install`
|
||||
|
||||
## Testing
|
||||
1. Follow all steps from the Installation phase (except the last one)
|
||||
2. Make sure your JRE has the [JCE Unlimited Strength Jurisdiction Policy Files](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)
|
||||
installed. For more information check [here](https://stackoverflow.com/questions/41580489/how-to-install-unlimited-strength-jurisdiction-policy-files).
|
||||
3. Run `./gradlew test`
|
||||
|
||||
# What kind of smartcards can I use?
|
||||
|
||||
* The applet requires JavaCard 3.0.4 (with the addition of KeyAgreement.ALG_EC_SVDP_DH_PLAIN_XY
|
||||
) or later.
|
||||
* The class byte of the APDU is not checked since there are no conflicting INS code.
|
||||
* The GlobalPlatform ISD keys are set to c212e073ff8b4bbfaff4de8ab655221f.
|
||||
|
||||
The algorithms the card must support are at least:
|
||||
* Cipher.ALG_AES_BLOCK_128_CBC_NOPAD
|
||||
* Cipher.ALG_AES_CBC_ISO9797_M2
|
||||
* KeyAgreement.ALG_EC_SVDP_DH_PLAIN
|
||||
* KeyAgreement.ALG_EC_SVDP_DH_PLAIN_XY
|
||||
* KeyPair.ALG_EC_FP (generation of 256-bit keys)
|
||||
* MessageDigest.ALG_SHA_256
|
||||
* MessageDigest.ALG_SHA_512
|
||||
* RandomData.ALG_SECURE_RANDOM
|
||||
* Signature.ALG_AES_MAC_128_NOPAD
|
||||
* Signature.ALG_ECDSA_SHA_256
|
||||
|
||||
Best performance is achieved if the card supports:
|
||||
* Signature.ALG_HMAC_SHA_512
|
||||
|
||||
# Other related repositories
|
||||
|
||||
Java SDK for Android and Desktop https://github.com/status-im/status-keycard-java
|
||||
|
||||
Swift SDK for iOS13 and above https://github.com/status-im/Keycard.swift
|
||||
|
||||
Keycard CLI for Desktop https://github.com/status-im/keycard-cli
|
||||
File diff suppressed because one or more lines are too long
+101
@@ -0,0 +1,101 @@
|
||||
apply plugin: 'javacard'
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
maven { url 'http://releases.marmeladburk.fidesmo.com/' }
|
||||
mavenCentral()
|
||||
maven { url 'https://jitpack.io' }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.fidesmo:gradle-javacard:0.2.7'
|
||||
classpath 'com.github.status-im.status-keycard-java:desktop:64aece4'
|
||||
}
|
||||
}
|
||||
|
||||
javacard {
|
||||
sdkVersion = "3.0.4"
|
||||
|
||||
cap {
|
||||
aid = '0xA0:0x00:0x00:0x08:0x04:0x00:0x01'
|
||||
packageName = 'im.status.keycard'
|
||||
applet {
|
||||
aid = '0xA0:0x00:0x00:0x08:0x04:0x00:0x01:0x01'
|
||||
className = 'KeycardApplet'
|
||||
}
|
||||
applet {
|
||||
aid = '0xA0:0x00:0x00:0x08:0x04:0x00:0x01:0x02'
|
||||
className = 'NDEFApplet'
|
||||
}
|
||||
applet {
|
||||
aid = '0xA0:0x00:0x00:0x08:0x04:0x00:0x01:0x03'
|
||||
className = 'CashApplet'
|
||||
}
|
||||
applet {
|
||||
aid = '0xA0:0x00:0x00:0x08:0x04:0x00:0x01:0x04'
|
||||
className = 'IdentApplet'
|
||||
}
|
||||
version = '3.1'
|
||||
}
|
||||
}
|
||||
|
||||
def testTarget = project.properties['im.status.keycard.test.target']
|
||||
if (!testTarget) {
|
||||
testTarget = 'card'
|
||||
}
|
||||
|
||||
def pairingPass = project.properties['im.status.keycard.test.pairing']
|
||||
if (!pairingPass) {
|
||||
pairingPass = 'KeycardDefaultPairing'
|
||||
}
|
||||
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url 'https://jitpack.io' }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testCompile(files("../jcardsim/jcardsim-3.0.5-SNAPSHOT.jar"))
|
||||
testCompile('org.web3j:core:2.3.1')
|
||||
testCompile('org.bitcoinj:bitcoinj-core:0.14.5')
|
||||
testCompile('com.github.status-im.status-keycard-java:desktop:3.1.2')
|
||||
testCompile('org.bouncycastle:bcprov-jdk15on:1.65')
|
||||
testCompile("org.junit.jupiter:junit-jupiter-api:5.1.1")
|
||||
testRuntime("org.junit.jupiter:junit-jupiter-engine:5.1.1")
|
||||
}
|
||||
|
||||
test {
|
||||
classpath = sourceSets.test.runtimeClasspath.filter { f -> f.name != "api_classic.jar" }
|
||||
useJUnitPlatform {
|
||||
excludeTags 'manual'
|
||||
}
|
||||
}
|
||||
|
||||
task install (type: im.status.keycard.build.InstallTask)
|
||||
|
||||
if (testTarget == 'card') {
|
||||
tasks.install.dependsOn(convertJavacard)
|
||||
tasks.test.dependsOn(install)
|
||||
}
|
||||
|
||||
compileJava {
|
||||
sourceCompatibility = 1.6
|
||||
targetCompatibility = 1.6
|
||||
}
|
||||
|
||||
compileTestJava {
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
def jvmArgs = ["-Dim.status.keycard.test.target=${testTarget}", "-Dim.status.keycard.test.pairing=${pairingPass}"]
|
||||
|
||||
if (testTarget == 'simulator') {
|
||||
jvmArgs.push('-noverify')
|
||||
}
|
||||
|
||||
def testTask = tasks.getByName('test')
|
||||
testTask.jvmArgs(jvmArgs)
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url 'https://jitpack.io' }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'com.github.status-im.status-keycard-java:desktop:3.1.2'
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package im.status.keycard.build;
|
||||
|
||||
import im.status.keycard.applet.Identifiers;
|
||||
import im.status.keycard.desktop.PCSCCardChannel;
|
||||
import im.status.keycard.globalplatform.GlobalPlatformCommandSet;
|
||||
import im.status.keycard.globalplatform.LoadCallback;
|
||||
import im.status.keycard.io.APDUException;
|
||||
import org.bouncycastle.util.encoders.Hex;
|
||||
import org.gradle.api.DefaultTask;
|
||||
import org.gradle.api.GradleException;
|
||||
import org.gradle.api.logging.Logger;
|
||||
import org.gradle.api.tasks.TaskAction;
|
||||
|
||||
import javax.smartcardio.*;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class InstallTask extends DefaultTask {
|
||||
|
||||
@TaskAction
|
||||
public void install() {
|
||||
Logger logger = getLogger();
|
||||
|
||||
TerminalFactory tf = TerminalFactory.getDefault();
|
||||
CardTerminal cardTerminal = null;
|
||||
|
||||
try {
|
||||
for (CardTerminal t : tf.terminals().list()) {
|
||||
if (t.isCardPresent()) {
|
||||
cardTerminal = t;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch(CardException e) {
|
||||
throw new GradleException("Error listing card terminals", e);
|
||||
}
|
||||
|
||||
if (cardTerminal == null) {
|
||||
throw new GradleException("No available PC/SC terminal");
|
||||
}
|
||||
|
||||
Card apduCard;
|
||||
|
||||
try {
|
||||
apduCard = cardTerminal.connect("*");
|
||||
} catch(CardException e) {
|
||||
throw new GradleException("Couldn't connect to the card", e);
|
||||
}
|
||||
|
||||
logger.info("Connected to " + cardTerminal.getName());
|
||||
PCSCCardChannel sdkChannel = new PCSCCardChannel(apduCard.getBasicChannel());
|
||||
GlobalPlatformCommandSet cmdSet = new GlobalPlatformCommandSet(sdkChannel);
|
||||
|
||||
try {
|
||||
logger.info("Selecting the ISD");
|
||||
cmdSet.select().checkOK();
|
||||
logger.info("Opening a SecureChannel");
|
||||
cmdSet.openSecureChannel();
|
||||
logger.info("Deleting the old instances and package (if present)");
|
||||
cmdSet.deleteKeycardInstancesAndPackage();
|
||||
logger.info("Loading the new package");
|
||||
cmdSet.loadKeycardPackage(new FileInputStream(this.getProject().file("build/javacard/im/status/keycard/javacard/keycard.cap")), new LoadCallback() {
|
||||
@Override
|
||||
public void blockLoaded(int loadedBlock, int blockCount) {
|
||||
logger.info("Loaded block " + loadedBlock + "/" + blockCount);
|
||||
}
|
||||
});
|
||||
logger.info("Installing the Keycard Applet");
|
||||
cmdSet.installKeycardApplet().checkOK();
|
||||
logger.info("Installing the NDEF Applet");
|
||||
cmdSet.installNDEFApplet(new byte[0]).checkOK();
|
||||
logger.info("Installing the Cash Applet");
|
||||
cmdSet.installCashApplet().checkOK();
|
||||
logger.info("Installing the Identifier Applet");
|
||||
cmdSet.installIdentApplet().checkOK();
|
||||
} catch (IOException e) {
|
||||
throw new GradleException("I/O error", e);
|
||||
} catch (APDUException e) {
|
||||
throw new GradleException(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
-2913
File diff suppressed because it is too large
Load Diff
@@ -1,146 +0,0 @@
|
||||
/**
|
||||
* atom-dark theme for `prism.js`
|
||||
* Based on Atom's `atom-dark` theme: https://github.com/atom/atom-dark-syntax
|
||||
* @author Joe Gibson (@gibsjose)
|
||||
*/
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: #c5c8c6;
|
||||
text-shadow: 0 1px rgba(0, 0, 0, 0.3);
|
||||
font-family: Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace;
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
border-radius: 0.3em;
|
||||
}
|
||||
|
||||
:not(pre) > code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #1d1f21;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre) > code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: #7C7C7C;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #c5c8c6;
|
||||
}
|
||||
|
||||
.namespace {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.keyword,
|
||||
.token.tag {
|
||||
color: #96CBFE;
|
||||
}
|
||||
|
||||
.token.class-name {
|
||||
color: #FFFFB6;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.token.boolean,
|
||||
.token.constant {
|
||||
color: #99CC99;
|
||||
}
|
||||
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #f92672;
|
||||
}
|
||||
|
||||
.token.number {
|
||||
color: #FF73FD;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.attr-name,
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.builtin,
|
||||
.token.inserted {
|
||||
color: #A8FF60;
|
||||
}
|
||||
|
||||
.token.variable {
|
||||
color: #C6C5FE;
|
||||
}
|
||||
|
||||
.token.operator {
|
||||
color: #EDEDED;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
color: #FFFFB6;
|
||||
/* text-decoration: underline; */
|
||||
}
|
||||
|
||||
.token.url {
|
||||
color: #96CBFE;
|
||||
}
|
||||
|
||||
.language-css .token.string,
|
||||
.style .token.string {
|
||||
color: #87C38A;
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value {
|
||||
color: #F9EE98;
|
||||
}
|
||||
|
||||
.token.function {
|
||||
color: #DAD085;
|
||||
}
|
||||
|
||||
.token.regex {
|
||||
color: #E9C062;
|
||||
}
|
||||
|
||||
.token.important {
|
||||
color: #fd971f;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-879
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-894
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-895
File diff suppressed because one or more lines are too long
-990
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Vendored
BIN
Binary file not shown.
+5
@@ -0,0 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
@@ -0,0 +1,172 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m"'
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
fi
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
Vendored
+84
@@ -0,0 +1,84 @@
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@@ -1,4 +0,0 @@
|
||||
<svg width="49" height="48" viewBox="0 0 49 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M32.1917 11.5C32.5901 11.5 32.9722 11.342 33.2539 11.0607C33.5356 10.7794 33.6939 10.3978 33.6939 10V7C33.6939 6.60218 33.5356 6.22064 33.2539 5.93934C32.9722 5.65804 32.5901 5.5 32.1917 5.5C31.7933 5.5 31.4112 5.65804 31.1295 5.93934C30.8478 6.22064 30.6896 6.60218 30.6896 7V10C30.6896 10.3978 30.8478 10.7794 31.1295 11.0607C31.4112 11.342 31.7933 11.5 32.1917 11.5Z" fill="#09D9B9"/>
|
||||
<path d="M42.206 6C42.206 4.4087 41.573 2.88258 40.4461 1.75736C39.3193 0.632141 37.791 0 36.1974 0L12.1631 0C10.5695 0 9.04122 0.632141 7.91439 1.75736C6.78756 2.88258 6.15452 4.4087 6.15452 6V42C6.15452 43.5913 6.78756 45.1174 7.91439 46.2426C9.04122 47.3679 10.5695 48 12.1631 48H36.1974C37.791 48 39.3193 47.3679 40.4461 46.2426C41.573 45.1174 42.206 43.5913 42.206 42V6ZM24.1803 28C24.5764 28 24.9636 28.1173 25.293 28.3371C25.6224 28.5568 25.8791 28.8692 26.0307 29.2346C26.1823 29.6001 26.2219 30.0022 26.1446 30.3902C26.0674 30.7781 25.8766 31.1345 25.5965 31.4142C25.3164 31.6939 24.9595 31.8844 24.571 31.9616C24.1825 32.0387 23.7798 31.9991 23.4138 31.8478C23.0478 31.6964 22.735 31.44 22.515 31.1111C22.2949 30.7822 22.1774 30.3956 22.1774 30C22.1774 29.4696 22.3884 28.9609 22.764 28.5858C23.1396 28.2107 23.6491 28 24.1803 28ZM22.1774 21C22.1774 20.6044 22.2949 20.2178 22.515 19.8889C22.735 19.56 23.0478 19.3036 23.4138 19.1522C23.7798 19.0009 24.1825 18.9613 24.571 19.0384C24.9595 19.1156 25.3164 19.3061 25.5965 19.5858C25.8766 19.8655 26.0674 20.2219 26.1446 20.6098C26.2219 20.9978 26.1823 21.3999 26.0307 21.7654C25.8791 22.1308 25.6224 22.4432 25.293 22.6629C24.9636 22.8827 24.5764 23 24.1803 23C23.6491 23 23.1396 22.7893 22.764 22.4142C22.3884 22.0391 22.1774 21.5304 22.1774 21ZM33.1931 37.5C33.5915 37.5 33.9736 37.658 34.2553 37.9393C34.537 38.2206 34.6953 38.6022 34.6953 39C34.6953 39.3978 34.537 39.7794 34.2553 40.0607C33.9736 40.342 33.5915 40.5 33.1931 40.5H22.1774C21.779 40.5 21.3969 40.342 21.1152 40.0607C20.8335 39.7794 20.6753 39.3978 20.6753 39C20.6753 38.6022 20.8335 38.2206 21.1152 37.9393C21.3969 37.658 21.779 37.5 22.1774 37.5H33.1931ZM33.1931 32C32.797 32 32.4098 31.8827 32.0804 31.6629C31.751 31.4432 31.4943 31.1308 31.3427 30.7654C31.1912 30.3999 31.1515 29.9978 31.2288 29.6098C31.306 29.2219 31.4968 28.8655 31.7769 28.5858C32.057 28.3061 32.4139 28.1156 32.8024 28.0384C33.1909 27.9613 33.5936 28.0009 33.9596 28.1522C34.3256 28.3036 34.6384 28.56 34.8585 28.8889C35.0785 29.2178 35.196 29.6044 35.196 30C35.196 30.5304 34.985 31.0391 34.6094 31.4142C34.2338 31.7893 33.7243 32 33.1931 32ZM33.1931 23C32.797 23 32.4098 22.8827 32.0804 22.6629C31.751 22.4432 31.4943 22.1308 31.3427 21.7654C31.1912 21.3999 31.1515 20.9978 31.2288 20.6098C31.306 20.2219 31.4968 19.8655 31.7769 19.5858C32.057 19.3061 32.4139 19.1156 32.8024 19.0384C33.1909 18.9613 33.5936 19.0009 33.9596 19.1522C34.3256 19.3036 34.6384 19.56 34.8585 19.8889C35.0785 20.2178 35.196 20.6044 35.196 21C35.196 21.5304 34.985 22.0391 34.6094 22.4142C34.2338 22.7893 33.7243 23 33.1931 23ZM15.1674 32C14.7713 32 14.384 31.8827 14.0547 31.6629C13.7253 31.4432 13.4686 31.1308 13.317 30.7654C13.1654 30.3999 13.1257 29.9978 13.203 29.6098C13.2803 29.2219 13.4711 28.8655 13.7512 28.5858C14.0313 28.3061 14.3881 28.1156 14.7767 28.0384C15.1652 27.9613 15.5679 28.0009 15.9339 28.1522C16.2998 28.3036 16.6126 28.56 16.8327 28.8889C17.0528 29.2178 17.1703 29.6044 17.1703 30C17.1703 30.5304 16.9592 31.0391 16.5836 31.4142C16.208 31.7893 15.6986 32 15.1674 32ZM17.1703 39C17.1703 39.3956 17.0528 39.7822 16.8327 40.1111C16.6126 40.44 16.2998 40.6964 15.9339 40.8478C15.5679 40.9991 15.1652 41.0387 14.7767 40.9616C14.3881 40.8844 14.0313 40.6939 13.7512 40.4142C13.4711 40.1345 13.2803 39.7781 13.203 39.3902C13.1257 39.0022 13.1654 38.6001 13.317 38.2346C13.4686 37.8692 13.7253 37.5568 14.0547 37.3371C14.384 37.1173 14.7713 37 15.1674 37C15.6986 37 16.208 37.2107 16.5836 37.5858C16.9592 37.9609 17.1703 38.4696 17.1703 39ZM15.1674 23C14.7713 23 14.384 22.8827 14.0547 22.6629C13.7253 22.4432 13.4686 22.1308 13.317 21.7654C13.1654 21.3999 13.1257 20.9978 13.203 20.6098C13.2803 20.2219 13.4711 19.8655 13.7512 19.5858C14.0313 19.3061 14.3881 19.1156 14.7767 19.0384C15.1652 18.9613 15.5679 19.0009 15.9339 19.1522C16.2998 19.3036 16.6126 19.56 16.8327 19.8889C17.0528 20.2178 17.1703 20.6044 17.1703 21C17.1703 21.5304 16.9592 22.0391 16.5836 22.4142C16.208 22.7893 15.6986 23 15.1674 23ZM12.1631 4H36.1974C36.7286 4 37.2381 4.21071 37.6137 4.58579C37.9893 4.96086 38.2003 5.46957 38.2003 6V12.5C38.2003 12.6326 38.1475 12.7598 38.0536 12.8536C37.9597 12.9473 37.8324 13 37.6996 13H10.661C10.5282 13 10.4008 12.9473 10.3069 12.8536C10.213 12.7598 10.1602 12.6326 10.1602 12.5V6C10.1602 5.46957 10.3713 4.96086 10.7469 4.58579C11.1225 4.21071 11.6319 4 12.1631 4Z" fill="#09D9B9"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.8 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="38" height="38" viewBox="0 0 38 38" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M31.9042 6.39667C31.7256 6.36022 31.5651 6.26329 31.4497 6.12224C31.3343 5.98119 31.2712 5.80465 31.2708 5.62242V3.16667C31.2708 2.32681 30.9372 1.52136 30.3433 0.927495C29.7495 0.33363 28.944 0 28.1042 0L8.3125 0C7.05272 0 5.84454 0.500445 4.95374 1.39124C4.06295 2.28204 3.5625 3.49022 3.5625 4.75V33.25C3.5625 34.5098 4.06295 35.718 4.95374 36.6088C5.84454 37.4996 7.05272 38 8.3125 38H31.2708C32.1107 38 32.9161 37.6664 33.51 37.0725C34.1039 36.4786 34.4375 35.6732 34.4375 34.8333V9.5C34.4377 8.76999 34.1856 8.06234 33.7239 7.49683C33.2623 6.93132 32.6194 6.54267 31.9042 6.39667ZM6.72917 4.75C6.72917 4.33007 6.89598 3.92735 7.19291 3.63041C7.48985 3.33348 7.89257 3.16667 8.3125 3.16667H27.7083C27.8133 3.16667 27.914 3.20837 27.9882 3.2826C28.0625 3.35684 28.1042 3.45752 28.1042 3.5625V5.9375C28.1042 6.04248 28.0625 6.14316 27.9882 6.2174C27.914 6.29163 27.8133 6.33333 27.7083 6.33333H8.3125C7.89257 6.33333 7.48985 6.16652 7.19291 5.86959C6.89598 5.57265 6.72917 5.16993 6.72917 4.75ZM28.2213 31.6413C28.1471 31.7305 28.0541 31.8022 27.949 31.8515C27.844 31.9007 27.7294 31.9263 27.6133 31.9263H10.3867C10.2708 31.9265 10.1563 31.9013 10.0513 31.8524C9.94621 31.8035 9.85319 31.7321 9.77874 31.6433C9.7043 31.5545 9.65025 31.4505 9.62042 31.3385C9.59058 31.2265 9.58569 31.1094 9.60608 30.9953C9.74825 30.1711 10.0074 29.3713 10.3756 28.6203C11.0833 27.2017 12.8646 26.3308 16.1199 25.1243C16.2567 24.7401 16.2523 24.3197 16.1073 23.9384C14.8331 22.338 14.2034 20.319 14.3418 18.278C14.3089 17.6458 14.4049 17.0136 14.6241 16.4198C14.8433 15.8259 15.1811 15.2829 15.6169 14.8238C16.0527 14.3647 16.5774 13.999 17.159 13.7492C17.7406 13.4994 18.367 13.3705 19 13.3705C19.633 13.3705 20.2594 13.4994 20.841 13.7492C21.4226 13.999 21.9473 14.3647 22.3831 14.8238C22.8189 15.2829 23.1567 15.8259 23.3759 16.4198C23.5951 17.0136 23.6911 17.6458 23.6582 18.278C23.7956 20.3354 23.156 22.3695 21.8658 23.978C21.7369 24.359 21.7515 24.774 21.907 25.1449C25.1354 26.334 26.9167 27.2032 27.6244 28.6283C27.9926 29.3793 28.2518 30.179 28.3939 31.0033C28.4128 31.1158 28.4072 31.231 28.3774 31.3412C28.3476 31.4513 28.2944 31.5537 28.2213 31.6413Z" fill="#09D9B9"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="38" height="38" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>close</title><path d="M14.3,12.179a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.442L12.177,9.7a.25.25,0,0,1-.354,0L2.561.442A1.5,1.5,0,0,0,.439,2.563L9.7,11.825a.25.25,0,0,1,0,.354L.439,21.442a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,0,0,2.122-2.121Z"/></svg>
|
||||
|
Before Width: | Height: | Size: 373 B |
@@ -1,11 +0,0 @@
|
||||
<svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M11.9167 35.1173V35.0415C11.9203 34.5082 11.7272 33.9923 11.3742 33.5925C11.0212 33.1928 10.5332 32.9372 10.0035 32.8748C8.4166 32.8894 6.88388 32.2982 5.71784 31.2217C5.23314 30.7067 4.85999 30.0972 4.62175 29.4313C4.38352 28.7655 4.28533 28.0576 4.33334 27.352C4.33392 25.866 4.92435 24.4409 5.97493 23.3899C7.02551 22.339 8.45031 21.748 9.93635 21.7468C10.3259 21.7476 10.7143 21.7883 11.0955 21.8682C11.4002 21.9299 11.7146 21.9259 12.0176 21.8564C12.3206 21.7869 12.6053 21.6535 12.8527 21.4652C13.1125 21.2662 13.3239 21.011 13.471 20.7187C13.6181 20.4264 13.6971 20.1045 13.702 19.7773C13.8775 7.31033 31.6853 3.82417 37.141 15.3465C37.3193 15.7321 37.6086 16.0557 37.9717 16.2761C38.3349 16.4964 38.7555 16.6035 39.1798 16.5837C40.3924 16.5229 41.6029 16.7396 42.7191 17.2171C43.8354 17.6947 44.828 18.4206 45.6213 19.3397C47.0197 20.9378 47.7517 23.0115 47.6667 25.1333C47.6219 26.8782 47.0072 28.5605 45.9164 29.9232C44.8256 31.2859 43.3188 32.2541 41.626 32.6798C41.1839 32.8078 40.7952 33.0757 40.5182 33.4433C40.2412 33.8109 40.0909 34.2584 40.0898 34.7187C40.0878 35.048 40.1626 35.3733 40.3082 35.6687C40.4538 35.9641 40.6663 36.2214 40.9288 36.4204C41.1912 36.6193 41.4964 36.7544 41.8202 36.8148C42.1439 36.8752 42.4773 36.8593 42.7938 36.7683C45.392 36.1382 47.7068 34.6616 49.3735 32.5713C51.0403 30.4809 51.9643 27.8954 52 25.2222C52.124 22.0321 51.022 18.9157 48.9203 16.5126C46.8187 14.1096 43.8768 12.6023 40.6987 12.3002C40.6142 12.292 40.5329 12.2642 40.461 12.2191C40.3892 12.1739 40.3289 12.1127 40.2848 12.0402C38.5715 9.17822 36.038 6.89685 33.0128 5.49171C29.9875 4.08657 26.61 3.62243 23.3179 4.15944C20.0258 4.69645 16.9708 6.20986 14.549 8.50354C12.1271 10.7972 10.4499 13.7654 9.73485 17.0235C9.71115 17.1394 9.65031 17.2444 9.56155 17.3226C9.4728 17.4008 9.36096 17.4479 9.24301 17.4568C7.6329 17.5735 6.07452 18.0759 4.69955 18.9218C3.32457 19.7677 2.17342 20.9321 1.34334 22.3167C0.397727 23.9167 -0.068528 25.7547 1.07624e-05 27.612C-0.0227125 28.85 0.202303 30.08 0.661829 31.2297C1.12135 32.3795 1.80611 33.4257 2.67584 34.307C4.56538 36.0481 6.99881 37.0822 9.56368 37.2342C9.86025 37.2644 10.1599 37.2322 10.4433 37.1397C10.7267 37.0472 10.9875 36.8964 11.2092 36.6971C11.4308 36.4977 11.6082 36.2541 11.7301 35.9821C11.8519 35.71 11.9155 35.4154 11.9167 35.1173Z" fill="#09D9B9"/>
|
||||
<path d="M36.8334 32.8878C36.8247 32.1086 36.54 31.3576 36.0298 30.7685C35.5196 30.1794 34.8171 29.7903 34.047 29.6703C33.9184 29.6516 33.8008 29.5872 33.7156 29.489C33.6305 29.3907 33.5836 29.2652 33.5834 29.1352V26.9295C33.5834 24.9183 32.7844 22.9894 31.3622 21.5673C29.9401 20.1451 28.0112 19.3462 26 19.3462C23.9888 19.3462 22.0599 20.1451 20.6378 21.5673C19.2156 22.9894 18.4167 24.9183 18.4167 26.9295V29.1352C18.4166 29.2648 18.3699 29.3902 18.2852 29.4884C18.2005 29.5866 18.0834 29.6511 17.9552 29.6703C17.1846 29.7894 16.4813 30.1782 15.9706 30.7674C15.4599 31.3567 15.175 32.1081 15.1667 32.8878V44.8045C15.1667 45.6665 15.5091 46.4931 16.1186 47.1026C16.7281 47.7121 17.5547 48.0545 18.4167 48.0545H33.5834C34.4453 48.0545 35.272 47.7121 35.8814 47.1026C36.4909 46.4931 36.8334 45.6665 36.8334 44.8045V32.8878ZM26 42.0962C25.5715 42.0962 25.1526 41.9691 24.7963 41.731C24.44 41.4929 24.1623 41.1546 23.9983 40.7586C23.8343 40.3627 23.7914 39.9271 23.875 39.5068C23.9586 39.0865 24.1649 38.7004 24.468 38.3974C24.771 38.0944 25.157 37.8881 25.5773 37.8045C25.9976 37.7209 26.4333 37.7638 26.8292 37.9278C27.2251 38.0917 27.5635 38.3695 27.8015 38.7258C28.0396 39.0821 28.1667 39.501 28.1667 39.9295C28.1667 40.5041 27.9384 41.0552 27.5321 41.4616C27.1258 41.8679 26.5747 42.0962 26 42.0962ZM22.75 26.9295C22.75 26.0675 23.0924 25.2409 23.7019 24.6314C24.3114 24.0219 25.1381 23.6795 26 23.6795C26.862 23.6795 27.6886 24.0219 28.2981 24.6314C28.9076 25.2409 29.25 26.0675 29.25 26.9295V29.0962C29.25 29.2398 29.193 29.3776 29.0914 29.4792C28.9898 29.5808 28.852 29.6378 28.7084 29.6378H23.2917C23.148 29.6378 23.0103 29.5808 22.9087 29.4792C22.8071 29.3776 22.75 29.2398 22.75 29.0962V26.9295Z" fill="#09D9B9"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="52" height="52" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.2 KiB |
@@ -1,6 +0,0 @@
|
||||
<svg width="51" height="51" viewBox="0 0 51 51" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M43.0716 18.8465C41.8415 17.885 40.3256 17.3615 38.7642 17.359C38.3358 17.3613 37.9086 17.4069 37.4892 17.495C37.3952 17.5148 37.3082 17.5595 37.2375 17.6246C37.1669 17.6897 37.1151 17.7727 37.0876 17.8648C37.0599 17.9565 37.0578 18.054 37.0813 18.1469C37.1049 18.2397 37.1534 18.3244 37.2215 18.3918L45.509 26.6793C46.4891 27.6176 47.1612 28.8314 47.4364 30.16C47.6332 31.1822 47.5767 32.2371 47.2719 33.2324C46.967 34.2277 46.423 35.1333 45.6875 35.8699L44.8736 36.6859C44.8194 36.7393 44.7775 36.8038 44.7507 36.875C44.7239 36.9461 44.7129 37.0223 44.7185 37.0982C44.724 37.1744 44.7458 37.2486 44.7824 37.3157C44.8191 37.3828 44.8698 37.4412 44.931 37.487L45.3241 37.7824C45.4916 37.908 45.6326 38.0653 45.7393 38.2454C45.8459 38.4255 45.916 38.6248 45.9456 38.832C45.9752 39.0392 45.9637 39.2502 45.9118 39.4529C45.8598 39.6557 45.7684 39.8462 45.6429 40.0137C45.5173 40.1811 45.36 40.3222 45.1799 40.4288C44.9998 40.5354 44.8005 40.6055 44.5933 40.6351C44.3861 40.6647 44.1751 40.6532 43.9723 40.6013C43.7696 40.5493 43.5791 40.458 43.4116 40.3324L36.4501 35.1113L36.4267 35.0943L36.0017 34.8074C35.7295 34.6367 35.4338 34.5064 35.1241 34.4207C34.4236 34.2136 33.6742 34.245 32.9934 34.5099C32.3127 34.7748 31.7392 35.2581 31.3628 35.8842C30.9864 36.5102 30.8286 37.2435 30.914 37.969C30.9994 38.6944 31.3232 39.371 31.8346 39.8925L32.2469 40.3027C32.3463 40.4026 32.4021 40.5378 32.4021 40.6788C32.4021 40.8197 32.3463 40.955 32.2469 41.0549L30.7594 42.5424C30.7102 42.5918 30.6518 42.631 30.5874 42.6578C30.523 42.6845 30.454 42.6983 30.3843 42.6983C30.3146 42.6983 30.2456 42.6845 30.1812 42.6578C30.1169 42.631 30.0584 42.5918 30.0092 42.5424L11.7428 24.3014C11.6435 24.2018 11.5877 24.0669 11.5877 23.9263C11.5877 23.7857 11.6435 23.6509 11.7428 23.5513L22.5505 12.7499C22.5997 12.7002 22.6583 12.6607 22.7228 12.6338C22.7874 12.6068 22.8567 12.5929 22.9266 12.5929C22.9966 12.5929 23.0658 12.6068 23.1304 12.6338C23.195 12.6607 23.2535 12.7002 23.3027 12.7499L41.548 30.9952C41.6473 31.0947 41.703 31.2296 41.703 31.3702C41.703 31.5108 41.6473 31.6457 41.548 31.7453L40.273 33.0075C40.122 33.1577 40.0033 33.3372 39.9241 33.5349C39.845 33.7326 39.807 33.9443 39.8126 34.1572C39.8181 34.3701 39.8671 34.5796 39.9565 34.7729C40.0459 34.9662 40.1739 35.1392 40.3325 35.2813C40.6247 35.5453 41.0057 35.6895 41.3996 35.6852C41.7934 35.6808 42.1711 35.5283 42.4575 35.2579L43.7941 33.9999L43.8069 33.985C44.5028 33.2885 44.8937 32.3442 44.8937 31.3596C44.8937 30.375 44.5028 29.4307 43.8069 28.7342L25.5553 10.4889C24.8579 9.79207 23.9124 9.40063 22.9266 9.40063C21.9408 9.40063 20.9953 9.79207 20.298 10.4889L9.49025 21.2967C9.14464 21.6418 8.87046 22.0518 8.68339 22.503C8.49633 22.9542 8.40004 23.4379 8.40004 23.9263C8.40004 24.4148 8.49633 24.8985 8.68339 25.3497C8.87046 25.8009 9.14464 26.2108 9.49025 26.556L27.7355 44.8013C28.4336 45.4966 29.3788 45.8869 30.3641 45.8869C31.3494 45.8869 32.2946 45.4966 32.9927 44.8013L34.4802 43.3138C34.5807 43.2152 34.7156 43.1595 34.8564 43.1587C34.9263 43.1588 34.9956 43.1728 35.0601 43.1998C35.1247 43.2267 35.1832 43.2662 35.2325 43.3159L36.0188 44.1C36.2652 44.3465 36.5309 44.5697 36.7986 44.7928C37.9268 45.7437 39.2246 46.4726 40.6236 46.9412L50.0416 50.0798C50.1214 50.1059 50.2063 50.1128 50.2893 50.0999C50.3722 50.087 50.451 50.0547 50.5191 50.0056C50.5873 49.9565 50.6429 49.892 50.6814 49.8174C50.7199 49.7428 50.7402 49.6601 50.7407 49.5762V25.0749C50.7403 24.9925 50.7208 24.9113 50.684 24.8377C50.6472 24.764 50.5939 24.6997 50.5282 24.6499L43.0716 18.8465Z" fill="#09D9B9"/>
|
||||
<path d="M16.7344 4.0863C17.1571 4.0863 17.5624 3.91839 17.8613 3.61951C18.1602 3.32062 18.3281 2.91524 18.3281 2.49255C18.3281 2.06986 18.1602 1.66449 17.8613 1.3656C17.5624 1.06672 17.1571 0.898804 16.7344 0.898804C12.3681 0.903865 8.18219 2.64059 5.0948 5.72798C2.00741 8.81537 0.270687 13.0013 0.265625 17.3676C0.265625 17.7902 0.433537 18.1956 0.732424 18.4945C1.03131 18.7934 1.43669 18.9613 1.85938 18.9613C2.28206 18.9613 2.68744 18.7934 2.98633 18.4945C3.28521 18.1956 3.45312 17.7902 3.45312 17.3676C3.45706 13.8464 4.8576 10.4705 7.34746 7.98064C9.83733 5.49078 13.2132 4.09024 16.7344 4.0863Z" fill="#09D9B9"/>
|
||||
<path d="M10.2467 16.7876C10.2744 16.7185 10.2972 16.6475 10.3147 16.5751C10.4888 15.1441 11.1372 13.8127 12.1563 12.7932C13.1754 11.7737 14.5066 11.1248 15.9375 10.9502C16.0103 10.9315 16.0814 10.9066 16.15 10.8758C16.4181 10.8054 16.6628 10.665 16.8588 10.469C17.0548 10.273 17.1952 10.0284 17.2656 9.76022C17.318 9.56939 17.3331 9.37027 17.3102 9.17372C17.2853 8.9658 17.2194 8.76487 17.1165 8.58251C17.0135 8.40015 16.8755 8.23997 16.7104 8.11118C16.5453 7.9824 16.3563 7.88756 16.1543 7.83213C15.9524 7.7767 15.7415 7.76178 15.5337 7.78822C13.4019 8.05049 11.4189 9.01809 9.90023 10.5371C8.38158 12.0562 7.41448 14.0394 7.15275 16.1713C7.12689 16.3793 7.14228 16.5903 7.19804 16.7922C7.25381 16.9942 7.34885 17.1832 7.47774 17.3484C7.60662 17.5136 7.76682 17.6518 7.94916 17.755C8.1315 17.8582 8.3324 17.9245 8.54037 17.95C8.6052 17.9584 8.6705 17.9627 8.73587 17.9627C8.87255 17.9552 9.00762 17.9294 9.1375 17.8862C9.40243 17.8163 9.64434 17.678 9.83901 17.4852C10.0337 17.2924 10.1743 17.0518 10.2467 16.7876Z" fill="#09D9B9"/>
|
||||
<path d="M18.4556 20.5935C18.3843 20.8571 18.383 21.1348 18.452 21.399C18.5209 21.6633 18.6577 21.9049 18.8488 22.1001L19.6223 22.8757C19.7066 22.9599 19.7603 23.07 19.7745 23.1883C19.7888 23.3066 19.7628 23.4263 19.7009 23.5281C19.324 24.1385 19.1445 24.8503 19.1869 25.5665C19.2294 26.2826 19.4917 26.9682 19.938 27.5299C20.3844 28.0915 20.9931 28.5018 21.6812 28.7048C22.3693 28.9078 23.1033 28.8936 23.783 28.6642L28.0968 27.2277C28.1641 27.2062 28.2366 27.2078 28.3029 27.2323C28.3692 27.2568 28.4254 27.3028 28.4625 27.3629C28.4997 27.423 28.5156 27.4938 28.5079 27.564C28.5001 27.6343 28.4691 27.6999 28.4197 27.7505L25.4001 30.768C25.1011 31.0669 24.9332 31.4725 24.9332 31.8953C24.9332 32.3181 25.1011 32.7236 25.4001 33.0226C25.6991 33.3216 26.1046 33.4895 26.5274 33.4895C26.9503 33.4895 27.3558 33.3216 27.6547 33.0226L28.3369 32.3405C28.386 32.2911 28.4445 32.2519 28.5089 32.2251C28.5732 32.1983 28.6422 32.1846 28.7119 32.1846C28.7816 32.1846 28.8507 32.1983 28.915 32.2251C28.9794 32.2519 29.0378 32.2911 29.087 32.3405L29.7691 33.0226C29.9162 33.1747 30.0921 33.2961 30.2866 33.3795C30.4811 33.4629 30.6903 33.5068 30.9019 33.5085C31.1135 33.5103 31.3233 33.4699 31.5192 33.3896C31.715 33.3094 31.8929 33.191 32.0424 33.0413C32.192 32.8916 32.3103 32.7136 32.3903 32.5177C32.4704 32.3217 32.5106 32.1119 32.5086 31.9002C32.5067 31.6886 32.4626 31.4795 32.379 31.2851C32.2954 31.0907 32.1739 30.9149 32.0216 30.768L31.2503 29.9945C31.1659 29.9103 31.1122 29.8002 31.098 29.6819C31.0837 29.5636 31.1097 29.4439 31.1716 29.3421C31.5483 28.7313 31.7276 28.0193 31.685 27.303C31.6423 26.5866 31.3798 25.9009 30.9333 25.3391C30.4868 24.7774 29.878 24.367 29.1897 24.1638C28.5015 23.9607 27.7674 23.9746 27.0874 24.2038L22.7758 25.6403C22.72 25.6594 22.66 25.6626 22.6026 25.6494C22.5452 25.6363 22.4925 25.6074 22.4506 25.566C22.3922 25.5064 22.3595 25.4263 22.3595 25.3428C22.3595 25.2594 22.3922 25.1793 22.4506 25.1197L25.4703 22.1001C25.7518 21.798 25.905 21.3984 25.8977 20.9855C25.8905 20.5726 25.7232 20.1786 25.4312 19.8866C25.1392 19.5946 24.7453 19.4274 24.3324 19.4201C23.9195 19.4128 23.5199 19.5661 23.2178 19.8476L22.5356 20.5297C22.4354 20.6286 22.3003 20.684 22.1595 20.684C22.0187 20.684 21.8836 20.6286 21.7834 20.5297L21.1034 19.8476C20.9079 19.6571 20.6662 19.5207 20.4021 19.4518C20.1379 19.3829 19.8604 19.3838 19.5968 19.4545C19.3137 19.5067 19.0531 19.6435 18.8494 19.8469C18.6457 20.0502 18.5084 20.3105 18.4556 20.5935Z" fill="#09D9B9"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 7.6 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg width="51" height="51" viewBox="0 0 51 51" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.0625 38.25C1.0625 39.3772 1.51027 40.4582 2.3073 41.2552C3.10433 42.0522 4.18533 42.5 5.3125 42.5H45.6875C46.8147 42.5 47.8957 42.0522 48.6927 41.2552C49.4897 40.4582 49.9375 39.3772 49.9375 38.25V20.1875C49.9375 20.0466 49.8815 19.9115 49.7819 19.8118C49.6823 19.7122 49.5471 19.6562 49.4062 19.6562H1.59375C1.45285 19.6562 1.31773 19.7122 1.2181 19.8118C1.11847 19.9115 1.0625 20.0466 1.0625 20.1875V38.25ZM36.125 33.4688H42.5C42.9227 33.4688 43.3281 33.6367 43.627 33.9355C43.9258 34.2344 44.0938 34.6398 44.0938 35.0625C44.0938 35.4852 43.9258 35.8906 43.627 36.1895C43.3281 36.4883 42.9227 36.6562 42.5 36.6562H36.125C35.7023 36.6562 35.2969 36.4883 34.998 36.1895C34.6992 35.8906 34.5312 35.4852 34.5312 35.0625C34.5312 34.6398 34.6992 34.2344 34.998 33.9355C35.2969 33.6367 35.7023 33.4688 36.125 33.4688ZM9.5625 24.9688H26.5625C26.9852 24.9688 27.3906 25.1367 27.6895 25.4355C27.9883 25.7344 28.1562 26.1398 28.1562 26.5625C28.1562 26.9852 27.9883 27.3906 27.6895 27.6895C27.3906 27.9883 26.9852 28.1562 26.5625 28.1562H9.5625C9.13981 28.1562 8.73443 27.9883 8.43555 27.6895C8.13666 27.3906 7.96875 26.9852 7.96875 26.5625C7.96875 26.1398 8.13666 25.7344 8.43555 25.4355C8.73443 25.1367 9.13981 24.9688 9.5625 24.9688ZM9.5625 33.4688H15.9375C16.3602 33.4688 16.7656 33.6367 17.0645 33.9355C17.3633 34.2344 17.5312 34.6398 17.5312 35.0625C17.5312 35.4852 17.3633 35.8906 17.0645 36.1895C16.7656 36.4883 16.3602 36.6562 15.9375 36.6562H9.5625C9.13981 36.6562 8.73443 36.4883 8.43555 36.1895C8.13666 35.8906 7.96875 35.4852 7.96875 35.0625C7.96875 34.6398 8.13666 34.2344 8.43555 33.9355C8.73443 33.6367 9.13981 33.4688 9.5625 33.4688Z" fill="#09D9B9"/>
|
||||
<path d="M49.9375 12.75C49.9375 11.6228 49.4897 10.5418 48.6927 9.7448C47.8957 8.94777 46.8147 8.5 45.6875 8.5H5.3125C4.18533 8.5 3.10433 8.94777 2.3073 9.7448C1.51027 10.5418 1.0625 11.6228 1.0625 12.75V15.9375C1.0625 16.0784 1.11847 16.2135 1.2181 16.3132C1.31773 16.4128 1.45285 16.4688 1.59375 16.4688H49.4062C49.5471 16.4688 49.6823 16.4128 49.7819 16.3132C49.8815 16.2135 49.9375 16.0784 49.9375 15.9375V12.75Z" fill="#09D9B9"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.2 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user