├── .gitignore ├── LICENSE ├── config.xml ├── package-lock.json ├── package.json ├── res └── icon.png └── www ├── css └── style.css ├── fonts ├── montserrat.eot ├── montserrat.otf ├── montserrat.svg ├── montserrat.ttf ├── montserrat.woff └── montserrat.woff2 ├── images ├── 1 │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ └── 7.png ├── 2 │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ └── 6.png ├── 3 │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ └── 6.png ├── 4 │ ├── 1.png │ ├── 2.png │ ├── 3.png │ └── 4.png ├── 5 │ ├── 1.png │ ├── 2.png │ ├── 3.png │ └── 4.png ├── 6 │ ├── 1.png │ ├── 2.png │ ├── 3.png │ └── 4.png ├── 7 │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ └── 8.png ├── 8 │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ └── 5.png ├── 9 │ ├── 1.png │ ├── 2.png │ └── 3.png ├── 10 │ ├── 1.png │ ├── 10.png │ ├── 11.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ ├── 8.png │ └── 9.png ├── 11 │ ├── 1.png │ ├── 10.png │ ├── 11.png │ ├── 12.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ ├── 8.png │ └── 9.png ├── 12 │ ├── 1.png │ ├── 10.png │ ├── 11.png │ ├── 12.png │ ├── 13.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ ├── 8.png │ └── 9.png └── calculators │ ├── 1.png │ └── 2.png ├── index.html └── js └── index.js /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/apachecordova 3 | # Edit at https://www.gitignore.io/?templates=apachecordova 4 | 5 | ### ApacheCordova ### 6 | # Apache Cordova generated files and directories 7 | bin/* 8 | !/plugins 9 | !/plugins/android.json 10 | !/plugins/fetch.json 11 | plugins/* 12 | platforms/* 13 | node_modules 14 | hooks 15 | build.json 16 | # End of https://www.gitignore.io/api/apachecordova -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc., 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Lesser General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | 294 | Copyright (C) 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License along 307 | with this program; if not, write to the Free Software Foundation, Inc., 308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 309 | 310 | Also add information on how to contact you by electronic and paper mail. 311 | 312 | If the program is interactive, make it output a short notice like this 313 | when it starts in an interactive mode: 314 | 315 | Gnomovision version 69, Copyright (C) year name of author 316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 317 | This is free software, and you are welcome to redistribute it 318 | under certain conditions; type `show c' for details. 319 | 320 | The hypothetical commands `show w' and `show c' should show the appropriate 321 | parts of the General Public License. Of course, the commands you use may 322 | be called something other than `show w' and `show c'; they could even be 323 | mouse-clicks or menu items--whatever suits your program. 324 | 325 | You should also get your employer (if you work as a programmer) or your 326 | school, if any, to sign a "copyright disclaimer" for the program, if 327 | necessary. Here is a sample; alter the names: 328 | 329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 330 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 331 | 332 | , 1 April 1989 333 | Ty Coon, President of Vice 334 | 335 | This General Public License does not permit incorporating your program into 336 | proprietary programs. If your program is a subroutine library, you may 337 | consider it more useful to permit linking proprietary applications with the 338 | library. If this is what you want to do, use the GNU Lesser General 339 | Public License instead of this License. 340 | -------------------------------------------------------------------------------- /config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Trigonometry 4 | 5 | This app has two section, first one is a complete trigonometric calculator and another is a complete list of trigonometric identities and formulas. 6 | 7 | 8 | Armanco 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.armanco.trigonometry", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "abbrev": { 8 | "version": "1.1.1", 9 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 10 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" 11 | }, 12 | "accepts": { 13 | "version": "1.3.7", 14 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 15 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", 16 | "requires": { 17 | "mime-types": "~2.1.24", 18 | "negotiator": "0.6.2" 19 | } 20 | }, 21 | "android-versions": { 22 | "version": "1.5.0", 23 | "resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.5.0.tgz", 24 | "integrity": "sha512-/GWUAqa2OJNlDF5VGSe3SR1QMHEPXxx54Ur56r0qQC0H9FlBr7kyBF2SgVEhzFCPbrW4UcYgVuWrq/2Ty3QvXg==", 25 | "requires": { 26 | "semver": "^5.4.1" 27 | } 28 | }, 29 | "ansi": { 30 | "version": "0.3.1", 31 | "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", 32 | "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" 33 | }, 34 | "ansi-styles": { 35 | "version": "3.2.1", 36 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 37 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 38 | "requires": { 39 | "color-convert": "^1.9.0" 40 | } 41 | }, 42 | "array-flatten": { 43 | "version": "1.1.1", 44 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 45 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 46 | }, 47 | "array-ify": { 48 | "version": "1.0.0", 49 | "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", 50 | "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=" 51 | }, 52 | "balanced-match": { 53 | "version": "1.0.0", 54 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 55 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 56 | }, 57 | "base64-js": { 58 | "version": "1.3.1", 59 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", 60 | "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" 61 | }, 62 | "big-integer": { 63 | "version": "1.6.47", 64 | "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.47.tgz", 65 | "integrity": "sha512-9t9f7X3as2XGX8b52GqG6ox0GvIdM86LyIXASJnDCFhYNgt+A+MByQZ3W2PyMRZjEvG5f8TEbSPfEotVuMJnQg==" 66 | }, 67 | "body-parser": { 68 | "version": "1.19.0", 69 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", 70 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", 71 | "requires": { 72 | "bytes": "3.1.0", 73 | "content-type": "~1.0.4", 74 | "debug": "2.6.9", 75 | "depd": "~1.1.2", 76 | "http-errors": "1.7.2", 77 | "iconv-lite": "0.4.24", 78 | "on-finished": "~2.3.0", 79 | "qs": "6.7.0", 80 | "raw-body": "2.4.0", 81 | "type-is": "~1.6.17" 82 | }, 83 | "dependencies": { 84 | "bytes": { 85 | "version": "3.1.0", 86 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 87 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 88 | } 89 | } 90 | }, 91 | "bplist-parser": { 92 | "version": "0.1.1", 93 | "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", 94 | "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", 95 | "requires": { 96 | "big-integer": "^1.6.7" 97 | } 98 | }, 99 | "brace-expansion": { 100 | "version": "1.1.11", 101 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 102 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 103 | "requires": { 104 | "balanced-match": "^1.0.0", 105 | "concat-map": "0.0.1" 106 | } 107 | }, 108 | "bytes": { 109 | "version": "3.0.0", 110 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", 111 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" 112 | }, 113 | "chalk": { 114 | "version": "2.4.2", 115 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 116 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 117 | "requires": { 118 | "ansi-styles": "^3.2.1", 119 | "escape-string-regexp": "^1.0.5", 120 | "supports-color": "^5.3.0" 121 | } 122 | }, 123 | "color-convert": { 124 | "version": "1.9.3", 125 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 126 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 127 | "requires": { 128 | "color-name": "1.1.3" 129 | } 130 | }, 131 | "color-name": { 132 | "version": "1.1.3", 133 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 134 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 135 | }, 136 | "compare-func": { 137 | "version": "1.3.2", 138 | "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", 139 | "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", 140 | "requires": { 141 | "array-ify": "^1.0.0", 142 | "dot-prop": "^3.0.0" 143 | } 144 | }, 145 | "compressible": { 146 | "version": "2.0.17", 147 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", 148 | "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", 149 | "requires": { 150 | "mime-db": ">= 1.40.0 < 2" 151 | } 152 | }, 153 | "compression": { 154 | "version": "1.7.4", 155 | "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", 156 | "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", 157 | "requires": { 158 | "accepts": "~1.3.5", 159 | "bytes": "3.0.0", 160 | "compressible": "~2.0.16", 161 | "debug": "2.6.9", 162 | "on-headers": "~1.0.2", 163 | "safe-buffer": "5.1.2", 164 | "vary": "~1.1.2" 165 | } 166 | }, 167 | "concat-map": { 168 | "version": "0.0.1", 169 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 170 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 171 | }, 172 | "content-disposition": { 173 | "version": "0.5.3", 174 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", 175 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", 176 | "requires": { 177 | "safe-buffer": "5.1.2" 178 | } 179 | }, 180 | "content-type": { 181 | "version": "1.0.4", 182 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 183 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 184 | }, 185 | "cookie": { 186 | "version": "0.4.0", 187 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", 188 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" 189 | }, 190 | "cookie-signature": { 191 | "version": "1.0.6", 192 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 193 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 194 | }, 195 | "cordova-admob-sdk": { 196 | "version": "0.24.1", 197 | "resolved": "https://registry.npmjs.org/cordova-admob-sdk/-/cordova-admob-sdk-0.24.1.tgz", 198 | "integrity": "sha512-gz9h9E/opydsq3nCB2vL40Miy7KG7gcmhkvY1WqiHb015PpaLr50pgmUNBKCTW3/J6Vn+xNcCHPRiJIZLUMX9Q==" 199 | }, 200 | "cordova-android": { 201 | "version": "8.1.0", 202 | "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-8.1.0.tgz", 203 | "integrity": "sha512-eAY6g9q3raJ4P03wNdSWC5MOW1EfxoomWNXsPhi7T6Q9yAqmxqn0sLEUjLL1Ib0LCH3nKQWBXdxapQ5LgbHu+g==", 204 | "requires": { 205 | "android-versions": "^1.4.0", 206 | "compare-func": "^1.3.2", 207 | "cordova-common": "^3.2.0", 208 | "nopt": "^4.0.1", 209 | "properties-parser": "^0.3.1", 210 | "q": "^1.5.1", 211 | "shelljs": "^0.5.3" 212 | } 213 | }, 214 | "cordova-browser": { 215 | "version": "6.0.0", 216 | "resolved": "https://registry.npmjs.org/cordova-browser/-/cordova-browser-6.0.0.tgz", 217 | "integrity": "sha512-G61S7fhnVVJC98lvkGeKCVpfFtoW0a1P1Sg9TK+n03g3yupDMIM7XuecWuJ3KEMRhED4+CEc2hauruAff7oXrw==", 218 | "requires": { 219 | "cordova-common": "^3.1.0", 220 | "cordova-serve": "^3.0.0", 221 | "nopt": "^4.0.1", 222 | "shelljs": "^0.5.3" 223 | } 224 | }, 225 | "cordova-common": { 226 | "version": "3.2.0", 227 | "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.0.tgz", 228 | "integrity": "sha512-EvlQ6PirfR65hGDoQvsluW00uSS2MTVIRKQ3c1Xvsddx7D5T5JgF3fHWkGik/Y/8yNcpI0zI2NcJyie2z/ak2A==", 229 | "requires": { 230 | "ansi": "^0.3.1", 231 | "bplist-parser": "^0.1.0", 232 | "cross-spawn": "^6.0.5", 233 | "elementtree": "0.1.7", 234 | "endent": "^1.1.1", 235 | "fs-extra": "^8.0.0", 236 | "glob": "^7.1.2", 237 | "minimatch": "^3.0.0", 238 | "plist": "^3.0.1", 239 | "q": "^1.4.1", 240 | "strip-bom": "^3.0.0", 241 | "underscore": "^1.8.3", 242 | "which": "^1.3.0" 243 | } 244 | }, 245 | "cordova-plugin-admob-free": { 246 | "version": "0.27.0", 247 | "resolved": "https://registry.npmjs.org/cordova-plugin-admob-free/-/cordova-plugin-admob-free-0.27.0.tgz", 248 | "integrity": "sha512-4QP89i3maFivk2GN8uAfaPDjwSAwvfrxkJu6pV1+ZJbPSAlp1OhNeXUbXXK8VXNNkoEWqLFQ2TCU1c09ybdATQ==" 249 | }, 250 | "cordova-plugin-statusbar": { 251 | "version": "2.4.3", 252 | "resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.3.tgz", 253 | "integrity": "sha512-ThmXzl6QIKWFXf4wWw7Q/zpB+VKkz3VM958+5A0sXD4jmR++u7KnGttLksXshVwWr6lvGwUebLYtIyXwS4Ovcg==" 254 | }, 255 | "cordova-plugin-whitelist": { 256 | "version": "1.3.4", 257 | "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.4.tgz", 258 | "integrity": "sha512-EYC5eQFVkoYXq39l7tYKE6lEjHJ04mvTmKXxGL7quHLdFPfJMNzru/UYpn92AOfpl3PQaZmou78C7EgmFOwFQQ==", 259 | "dev": true 260 | }, 261 | "cordova-promise-polyfill": { 262 | "version": "0.0.2", 263 | "resolved": "https://registry.npmjs.org/cordova-promise-polyfill/-/cordova-promise-polyfill-0.0.2.tgz", 264 | "integrity": "sha1-a7epScVqfDGOf1VOYzjI+GPlBag=" 265 | }, 266 | "cordova-serve": { 267 | "version": "3.0.0", 268 | "resolved": "https://registry.npmjs.org/cordova-serve/-/cordova-serve-3.0.0.tgz", 269 | "integrity": "sha512-h479g/5a0PXn//yiFuMrD5MDEbB+mtihNkWcE6uD/aCh/6z0FRZ9sWH3NfZbHDB+Bp1yGLYsjbH8LZBL8KOQ0w==", 270 | "requires": { 271 | "chalk": "^2.4.1", 272 | "compression": "^1.6.0", 273 | "express": "^4.13.3", 274 | "opn": "^5.3.0", 275 | "which": "^1.3.0" 276 | } 277 | }, 278 | "cross-spawn": { 279 | "version": "6.0.5", 280 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 281 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 282 | "requires": { 283 | "nice-try": "^1.0.4", 284 | "path-key": "^2.0.1", 285 | "semver": "^5.5.0", 286 | "shebang-command": "^1.2.0", 287 | "which": "^1.2.9" 288 | } 289 | }, 290 | "debug": { 291 | "version": "2.6.9", 292 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 293 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 294 | "requires": { 295 | "ms": "2.0.0" 296 | } 297 | }, 298 | "dedent": { 299 | "version": "0.7.0", 300 | "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", 301 | "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" 302 | }, 303 | "deep-equal": { 304 | "version": "1.0.1", 305 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", 306 | "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" 307 | }, 308 | "define-properties": { 309 | "version": "1.1.3", 310 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 311 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 312 | "requires": { 313 | "object-keys": "^1.0.12" 314 | } 315 | }, 316 | "defined": { 317 | "version": "1.0.0", 318 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 319 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" 320 | }, 321 | "depd": { 322 | "version": "1.1.2", 323 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 324 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 325 | }, 326 | "destroy": { 327 | "version": "1.0.4", 328 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 329 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 330 | }, 331 | "dot-prop": { 332 | "version": "3.0.0", 333 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", 334 | "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", 335 | "requires": { 336 | "is-obj": "^1.0.0" 337 | } 338 | }, 339 | "ee-first": { 340 | "version": "1.1.1", 341 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 342 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 343 | }, 344 | "elementtree": { 345 | "version": "0.1.7", 346 | "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", 347 | "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=", 348 | "requires": { 349 | "sax": "1.1.4" 350 | } 351 | }, 352 | "encodeurl": { 353 | "version": "1.0.2", 354 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 355 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 356 | }, 357 | "endent": { 358 | "version": "1.3.0", 359 | "resolved": "https://registry.npmjs.org/endent/-/endent-1.3.0.tgz", 360 | "integrity": "sha512-C8AryqPPwtydqcpO5AF6k9Bd1EpFkQtvsefJqS3y3n8TG13Jy63MascDxTOULZYqrUde+dK6BjNc6LIMr3iI2A==", 361 | "requires": { 362 | "dedent": "^0.7.0", 363 | "fast-json-parse": "^1.0.3", 364 | "objectorarray": "^1.0.3" 365 | } 366 | }, 367 | "es-abstract": { 368 | "version": "1.15.0", 369 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", 370 | "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", 371 | "requires": { 372 | "es-to-primitive": "^1.2.0", 373 | "function-bind": "^1.1.1", 374 | "has": "^1.0.3", 375 | "has-symbols": "^1.0.0", 376 | "is-callable": "^1.1.4", 377 | "is-regex": "^1.0.4", 378 | "object-inspect": "^1.6.0", 379 | "object-keys": "^1.1.1", 380 | "string.prototype.trimleft": "^2.1.0", 381 | "string.prototype.trimright": "^2.1.0" 382 | } 383 | }, 384 | "es-to-primitive": { 385 | "version": "1.2.0", 386 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", 387 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", 388 | "requires": { 389 | "is-callable": "^1.1.4", 390 | "is-date-object": "^1.0.1", 391 | "is-symbol": "^1.0.2" 392 | } 393 | }, 394 | "escape-html": { 395 | "version": "1.0.3", 396 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 397 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 398 | }, 399 | "escape-string-regexp": { 400 | "version": "1.0.5", 401 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 402 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 403 | }, 404 | "etag": { 405 | "version": "1.8.1", 406 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 407 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 408 | }, 409 | "express": { 410 | "version": "4.17.1", 411 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", 412 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", 413 | "requires": { 414 | "accepts": "~1.3.7", 415 | "array-flatten": "1.1.1", 416 | "body-parser": "1.19.0", 417 | "content-disposition": "0.5.3", 418 | "content-type": "~1.0.4", 419 | "cookie": "0.4.0", 420 | "cookie-signature": "1.0.6", 421 | "debug": "2.6.9", 422 | "depd": "~1.1.2", 423 | "encodeurl": "~1.0.2", 424 | "escape-html": "~1.0.3", 425 | "etag": "~1.8.1", 426 | "finalhandler": "~1.1.2", 427 | "fresh": "0.5.2", 428 | "merge-descriptors": "1.0.1", 429 | "methods": "~1.1.2", 430 | "on-finished": "~2.3.0", 431 | "parseurl": "~1.3.3", 432 | "path-to-regexp": "0.1.7", 433 | "proxy-addr": "~2.0.5", 434 | "qs": "6.7.0", 435 | "range-parser": "~1.2.1", 436 | "safe-buffer": "5.1.2", 437 | "send": "0.17.1", 438 | "serve-static": "1.14.1", 439 | "setprototypeof": "1.1.1", 440 | "statuses": "~1.5.0", 441 | "type-is": "~1.6.18", 442 | "utils-merge": "1.0.1", 443 | "vary": "~1.1.2" 444 | } 445 | }, 446 | "fast-json-parse": { 447 | "version": "1.0.3", 448 | "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", 449 | "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==" 450 | }, 451 | "finalhandler": { 452 | "version": "1.1.2", 453 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 454 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 455 | "requires": { 456 | "debug": "2.6.9", 457 | "encodeurl": "~1.0.2", 458 | "escape-html": "~1.0.3", 459 | "on-finished": "~2.3.0", 460 | "parseurl": "~1.3.3", 461 | "statuses": "~1.5.0", 462 | "unpipe": "~1.0.0" 463 | } 464 | }, 465 | "for-each": { 466 | "version": "0.3.3", 467 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", 468 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", 469 | "requires": { 470 | "is-callable": "^1.1.3" 471 | } 472 | }, 473 | "forwarded": { 474 | "version": "0.1.2", 475 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 476 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" 477 | }, 478 | "fresh": { 479 | "version": "0.5.2", 480 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 481 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 482 | }, 483 | "fs-extra": { 484 | "version": "8.1.0", 485 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 486 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", 487 | "requires": { 488 | "graceful-fs": "^4.2.0", 489 | "jsonfile": "^4.0.0", 490 | "universalify": "^0.1.0" 491 | } 492 | }, 493 | "fs.realpath": { 494 | "version": "1.0.0", 495 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 496 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 497 | }, 498 | "function-bind": { 499 | "version": "1.1.1", 500 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 501 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 502 | }, 503 | "glob": { 504 | "version": "7.1.4", 505 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", 506 | "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", 507 | "requires": { 508 | "fs.realpath": "^1.0.0", 509 | "inflight": "^1.0.4", 510 | "inherits": "2", 511 | "minimatch": "^3.0.4", 512 | "once": "^1.3.0", 513 | "path-is-absolute": "^1.0.0" 514 | } 515 | }, 516 | "graceful-fs": { 517 | "version": "4.2.2", 518 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", 519 | "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" 520 | }, 521 | "has": { 522 | "version": "1.0.3", 523 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 524 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 525 | "requires": { 526 | "function-bind": "^1.1.1" 527 | } 528 | }, 529 | "has-flag": { 530 | "version": "3.0.0", 531 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 532 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 533 | }, 534 | "has-symbols": { 535 | "version": "1.0.0", 536 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", 537 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" 538 | }, 539 | "http-errors": { 540 | "version": "1.7.2", 541 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 542 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", 543 | "requires": { 544 | "depd": "~1.1.2", 545 | "inherits": "2.0.3", 546 | "setprototypeof": "1.1.1", 547 | "statuses": ">= 1.5.0 < 2", 548 | "toidentifier": "1.0.0" 549 | }, 550 | "dependencies": { 551 | "inherits": { 552 | "version": "2.0.3", 553 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 554 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 555 | } 556 | } 557 | }, 558 | "iconv-lite": { 559 | "version": "0.4.24", 560 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 561 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 562 | "requires": { 563 | "safer-buffer": ">= 2.1.2 < 3" 564 | } 565 | }, 566 | "inflight": { 567 | "version": "1.0.6", 568 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 569 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 570 | "requires": { 571 | "once": "^1.3.0", 572 | "wrappy": "1" 573 | } 574 | }, 575 | "inherits": { 576 | "version": "2.0.4", 577 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 578 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 579 | }, 580 | "ipaddr.js": { 581 | "version": "1.9.0", 582 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", 583 | "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" 584 | }, 585 | "is-callable": { 586 | "version": "1.1.4", 587 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 588 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" 589 | }, 590 | "is-date-object": { 591 | "version": "1.0.1", 592 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 593 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" 594 | }, 595 | "is-obj": { 596 | "version": "1.0.1", 597 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", 598 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" 599 | }, 600 | "is-regex": { 601 | "version": "1.0.4", 602 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 603 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 604 | "requires": { 605 | "has": "^1.0.1" 606 | } 607 | }, 608 | "is-symbol": { 609 | "version": "1.0.2", 610 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", 611 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", 612 | "requires": { 613 | "has-symbols": "^1.0.0" 614 | } 615 | }, 616 | "is-wsl": { 617 | "version": "1.1.0", 618 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", 619 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" 620 | }, 621 | "isexe": { 622 | "version": "2.0.0", 623 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 624 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 625 | }, 626 | "jsonfile": { 627 | "version": "4.0.0", 628 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 629 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 630 | "requires": { 631 | "graceful-fs": "^4.1.6" 632 | } 633 | }, 634 | "media-typer": { 635 | "version": "0.3.0", 636 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 637 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 638 | }, 639 | "merge-descriptors": { 640 | "version": "1.0.1", 641 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 642 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 643 | }, 644 | "methods": { 645 | "version": "1.1.2", 646 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 647 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 648 | }, 649 | "mime": { 650 | "version": "1.6.0", 651 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 652 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 653 | }, 654 | "mime-db": { 655 | "version": "1.40.0", 656 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", 657 | "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" 658 | }, 659 | "mime-types": { 660 | "version": "2.1.24", 661 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", 662 | "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", 663 | "requires": { 664 | "mime-db": "1.40.0" 665 | } 666 | }, 667 | "minimatch": { 668 | "version": "3.0.4", 669 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 670 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 671 | "requires": { 672 | "brace-expansion": "^1.1.7" 673 | } 674 | }, 675 | "minimist": { 676 | "version": "1.2.0", 677 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 678 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" 679 | }, 680 | "ms": { 681 | "version": "2.0.0", 682 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 683 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 684 | }, 685 | "negotiator": { 686 | "version": "0.6.2", 687 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 688 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 689 | }, 690 | "nice-try": { 691 | "version": "1.0.5", 692 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 693 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" 694 | }, 695 | "nopt": { 696 | "version": "4.0.1", 697 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", 698 | "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", 699 | "requires": { 700 | "abbrev": "1", 701 | "osenv": "^0.1.4" 702 | } 703 | }, 704 | "object-inspect": { 705 | "version": "1.6.0", 706 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", 707 | "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" 708 | }, 709 | "object-keys": { 710 | "version": "1.1.1", 711 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 712 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" 713 | }, 714 | "objectorarray": { 715 | "version": "1.0.3", 716 | "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.3.tgz", 717 | "integrity": "sha512-kPoflSYkAf/Onvjr4ZLaq37vDuOXjVzfwLCRuORRzYGdXkHa/vacPT0RgR+KmtkwOYFcxTMM62BRrZk8GGKHjw==", 718 | "requires": { 719 | "tape": "^4.8.0" 720 | } 721 | }, 722 | "on-finished": { 723 | "version": "2.3.0", 724 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 725 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 726 | "requires": { 727 | "ee-first": "1.1.1" 728 | } 729 | }, 730 | "on-headers": { 731 | "version": "1.0.2", 732 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", 733 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" 734 | }, 735 | "once": { 736 | "version": "1.4.0", 737 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 738 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 739 | "requires": { 740 | "wrappy": "1" 741 | } 742 | }, 743 | "opn": { 744 | "version": "5.5.0", 745 | "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", 746 | "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", 747 | "requires": { 748 | "is-wsl": "^1.1.0" 749 | } 750 | }, 751 | "os-homedir": { 752 | "version": "1.0.2", 753 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 754 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" 755 | }, 756 | "os-tmpdir": { 757 | "version": "1.0.2", 758 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 759 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 760 | }, 761 | "osenv": { 762 | "version": "0.1.5", 763 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", 764 | "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", 765 | "requires": { 766 | "os-homedir": "^1.0.0", 767 | "os-tmpdir": "^1.0.0" 768 | } 769 | }, 770 | "parseurl": { 771 | "version": "1.3.3", 772 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 773 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 774 | }, 775 | "path-is-absolute": { 776 | "version": "1.0.1", 777 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 778 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 779 | }, 780 | "path-key": { 781 | "version": "2.0.1", 782 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 783 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 784 | }, 785 | "path-parse": { 786 | "version": "1.0.6", 787 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 788 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" 789 | }, 790 | "path-to-regexp": { 791 | "version": "0.1.7", 792 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 793 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 794 | }, 795 | "plist": { 796 | "version": "3.0.1", 797 | "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", 798 | "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", 799 | "requires": { 800 | "base64-js": "^1.2.3", 801 | "xmlbuilder": "^9.0.7", 802 | "xmldom": "0.1.x" 803 | } 804 | }, 805 | "properties-parser": { 806 | "version": "0.3.1", 807 | "resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz", 808 | "integrity": "sha1-ExbpU5/7/ZOEXjabIRAiq9R4dxo=", 809 | "requires": { 810 | "string.prototype.codepointat": "^0.2.0" 811 | } 812 | }, 813 | "proxy-addr": { 814 | "version": "2.0.5", 815 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", 816 | "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", 817 | "requires": { 818 | "forwarded": "~0.1.2", 819 | "ipaddr.js": "1.9.0" 820 | } 821 | }, 822 | "q": { 823 | "version": "1.5.1", 824 | "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", 825 | "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" 826 | }, 827 | "qs": { 828 | "version": "6.7.0", 829 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", 830 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" 831 | }, 832 | "range-parser": { 833 | "version": "1.2.1", 834 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 835 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 836 | }, 837 | "raw-body": { 838 | "version": "2.4.0", 839 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", 840 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", 841 | "requires": { 842 | "bytes": "3.1.0", 843 | "http-errors": "1.7.2", 844 | "iconv-lite": "0.4.24", 845 | "unpipe": "1.0.0" 846 | }, 847 | "dependencies": { 848 | "bytes": { 849 | "version": "3.1.0", 850 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 851 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 852 | } 853 | } 854 | }, 855 | "resolve": { 856 | "version": "1.11.1", 857 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", 858 | "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", 859 | "requires": { 860 | "path-parse": "^1.0.6" 861 | } 862 | }, 863 | "resumer": { 864 | "version": "0.0.0", 865 | "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", 866 | "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", 867 | "requires": { 868 | "through": "~2.3.4" 869 | } 870 | }, 871 | "safe-buffer": { 872 | "version": "5.1.2", 873 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 874 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 875 | }, 876 | "safer-buffer": { 877 | "version": "2.1.2", 878 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 879 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 880 | }, 881 | "sax": { 882 | "version": "1.1.4", 883 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", 884 | "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=" 885 | }, 886 | "semver": { 887 | "version": "5.7.1", 888 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 889 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 890 | }, 891 | "send": { 892 | "version": "0.17.1", 893 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", 894 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", 895 | "requires": { 896 | "debug": "2.6.9", 897 | "depd": "~1.1.2", 898 | "destroy": "~1.0.4", 899 | "encodeurl": "~1.0.2", 900 | "escape-html": "~1.0.3", 901 | "etag": "~1.8.1", 902 | "fresh": "0.5.2", 903 | "http-errors": "~1.7.2", 904 | "mime": "1.6.0", 905 | "ms": "2.1.1", 906 | "on-finished": "~2.3.0", 907 | "range-parser": "~1.2.1", 908 | "statuses": "~1.5.0" 909 | }, 910 | "dependencies": { 911 | "ms": { 912 | "version": "2.1.1", 913 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 914 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" 915 | } 916 | } 917 | }, 918 | "serve-static": { 919 | "version": "1.14.1", 920 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", 921 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", 922 | "requires": { 923 | "encodeurl": "~1.0.2", 924 | "escape-html": "~1.0.3", 925 | "parseurl": "~1.3.3", 926 | "send": "0.17.1" 927 | } 928 | }, 929 | "setprototypeof": { 930 | "version": "1.1.1", 931 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 932 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 933 | }, 934 | "shebang-command": { 935 | "version": "1.2.0", 936 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 937 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 938 | "requires": { 939 | "shebang-regex": "^1.0.0" 940 | } 941 | }, 942 | "shebang-regex": { 943 | "version": "1.0.0", 944 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 945 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 946 | }, 947 | "shelljs": { 948 | "version": "0.5.3", 949 | "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", 950 | "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=" 951 | }, 952 | "statuses": { 953 | "version": "1.5.0", 954 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 955 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 956 | }, 957 | "string.prototype.codepointat": { 958 | "version": "0.2.1", 959 | "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", 960 | "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" 961 | }, 962 | "string.prototype.trim": { 963 | "version": "1.1.2", 964 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", 965 | "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", 966 | "requires": { 967 | "define-properties": "^1.1.2", 968 | "es-abstract": "^1.5.0", 969 | "function-bind": "^1.0.2" 970 | } 971 | }, 972 | "string.prototype.trimleft": { 973 | "version": "2.1.0", 974 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", 975 | "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", 976 | "requires": { 977 | "define-properties": "^1.1.3", 978 | "function-bind": "^1.1.1" 979 | } 980 | }, 981 | "string.prototype.trimright": { 982 | "version": "2.1.0", 983 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", 984 | "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", 985 | "requires": { 986 | "define-properties": "^1.1.3", 987 | "function-bind": "^1.1.1" 988 | } 989 | }, 990 | "strip-bom": { 991 | "version": "3.0.0", 992 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 993 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" 994 | }, 995 | "supports-color": { 996 | "version": "5.5.0", 997 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 998 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 999 | "requires": { 1000 | "has-flag": "^3.0.0" 1001 | } 1002 | }, 1003 | "tape": { 1004 | "version": "4.11.0", 1005 | "resolved": "https://registry.npmjs.org/tape/-/tape-4.11.0.tgz", 1006 | "integrity": "sha512-yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA==", 1007 | "requires": { 1008 | "deep-equal": "~1.0.1", 1009 | "defined": "~1.0.0", 1010 | "for-each": "~0.3.3", 1011 | "function-bind": "~1.1.1", 1012 | "glob": "~7.1.4", 1013 | "has": "~1.0.3", 1014 | "inherits": "~2.0.4", 1015 | "minimist": "~1.2.0", 1016 | "object-inspect": "~1.6.0", 1017 | "resolve": "~1.11.1", 1018 | "resumer": "~0.0.0", 1019 | "string.prototype.trim": "~1.1.2", 1020 | "through": "~2.3.8" 1021 | } 1022 | }, 1023 | "through": { 1024 | "version": "2.3.8", 1025 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1026 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 1027 | }, 1028 | "toidentifier": { 1029 | "version": "1.0.0", 1030 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 1031 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 1032 | }, 1033 | "type-is": { 1034 | "version": "1.6.18", 1035 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 1036 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 1037 | "requires": { 1038 | "media-typer": "0.3.0", 1039 | "mime-types": "~2.1.24" 1040 | } 1041 | }, 1042 | "underscore": { 1043 | "version": "1.9.1", 1044 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", 1045 | "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" 1046 | }, 1047 | "universalify": { 1048 | "version": "0.1.2", 1049 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 1050 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 1051 | }, 1052 | "unpipe": { 1053 | "version": "1.0.0", 1054 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 1055 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 1056 | }, 1057 | "utils-merge": { 1058 | "version": "1.0.1", 1059 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 1060 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 1061 | }, 1062 | "vary": { 1063 | "version": "1.1.2", 1064 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 1065 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 1066 | }, 1067 | "which": { 1068 | "version": "1.3.1", 1069 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 1070 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 1071 | "requires": { 1072 | "isexe": "^2.0.0" 1073 | } 1074 | }, 1075 | "wrappy": { 1076 | "version": "1.0.2", 1077 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1078 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 1079 | }, 1080 | "xmlbuilder": { 1081 | "version": "9.0.7", 1082 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", 1083 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" 1084 | }, 1085 | "xmldom": { 1086 | "version": "0.1.27", 1087 | "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", 1088 | "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" 1089 | } 1090 | } 1091 | } 1092 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.armanco.trigonometry", 3 | "displayName": "Trigonometry", 4 | "version": "1.0.0", 5 | "description": "A sample Apache Cordova application that responds to the deviceready event.", 6 | "main": "index.js", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "keywords": [ 11 | "ecosystem:cordova" 12 | ], 13 | "author": "Apache Cordova Team", 14 | "license": "Apache-2.0", 15 | "dependencies": { 16 | "cordova-admob-sdk": "0.24.1", 17 | "cordova-android": "^8.1.0", 18 | "cordova-browser": "^6.0.0", 19 | "cordova-plugin-admob-free": "0.27.0", 20 | "cordova-plugin-statusbar": "^2.4.3", 21 | "cordova-promise-polyfill": "0.0.2" 22 | }, 23 | "devDependencies": { 24 | "cordova-plugin-whitelist": "^1.3.4" 25 | }, 26 | "cordova": { 27 | "plugins": { 28 | "cordova-plugin-whitelist": {}, 29 | "cordova-plugin-statusbar": {}, 30 | "cordova-plugin-admob-free": { 31 | "ADMOB_APP_ID": "ca-app-pub-4301546764905932~5236269212" 32 | } 33 | }, 34 | "platforms": [ 35 | "android", 36 | "browser" 37 | ] 38 | } 39 | } -------------------------------------------------------------------------------- /res/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/res/icon.png -------------------------------------------------------------------------------- /www/css/style.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Montserrat'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: local('Montserrat'), local('Montserrat'), url(../fonts/Montserrat.eot) format('embedded-opentype'), url(../fonts/Montserrat.woff2) format('woff2'), url(../fonts/Montserrat.woff) format('woff'), url(../fonts/Montserrat.ttf) format('truetype'), url('../fonts/Montserrat.svg') format('svg'); 6 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; 7 | } 8 | 9 | * { 10 | -webkit-tap-highlight-color: rgba(255,255,255,0); 11 | -webkit-tap-highlight-color: transparent; 12 | } 13 | 14 | body { 15 | margin:0; 16 | background-color:#fcfcfc; 17 | font-size:12px; 18 | font-family: 'Montserrat', Arial, serif; 19 | -webkit-touch-callout: none; 20 | -webkit-user-select: none; 21 | -khtml-user-select: none; 22 | -moz-user-select: none; 23 | -ms-user-select: none; 24 | user-select: none; 25 | } 26 | 27 | select,input { 28 | width:90%; 29 | padding:10px; 30 | direction:ltr; 31 | margin:0; 32 | border:1px solid #dddddd; 33 | font-family: 'Montserrat',Arial, serif; 34 | font-size:14px; 35 | } 36 | 37 | .page-table { 38 | width:100%; 39 | direction:ltr; 40 | margin-top: 60px; 41 | } 42 | 43 | .page-table-bar { 44 | position: fixed; 45 | top: 0; 46 | left: 0; 47 | width:100%; 48 | height:60px; 49 | background-color:#ff6d3f; 50 | color:#ffffff; 51 | font-family: 'Montserrat',Arial, serif; 52 | } 53 | 54 | .page-table-bar-right { 55 | text-align:left; 56 | padding-left:15px; 57 | font-size:18px; 58 | font-weight:bold; 59 | border-bottom:1px solid #f1673c; 60 | } 61 | 62 | .page-table-bar-left { 63 | text-align:right; 64 | padding-right:10px; 65 | border-bottom:1px solid #f1673c; 66 | } 67 | 68 | .page-table-bar-subtitle { 69 | color:#974026; 70 | font-size:12px; 71 | padding-left:10px; 72 | } 73 | 74 | .page-table-main { 75 | background-color:#ffffff; 76 | } 77 | 78 | .page-table-input { 79 | background-color:#f8f8f8; 80 | } 81 | 82 | .page-table-image { 83 | height:300px; 84 | background-size:contain; 85 | background: #ffffff no-repeat center; 86 | border-top:3px solid #fafafa; 87 | border-bottom:3px solid #fafafa; 88 | } 89 | 90 | .page-table-unit { 91 | padding:10px; 92 | background-color:#f8f8f8; 93 | border-bottom:3px solid #eeeeee; 94 | } 95 | 96 | .page-table-copy { 97 | font-size:10px; 98 | color:#bbbbbb; 99 | text-align:center; 100 | direction:ltr; 101 | padding:10px 0 60px 0; 102 | border-top:3px solid #f8f8f8; 103 | } 104 | 105 | .property { 106 | width: 100%; 107 | direction: ltr; 108 | cursor: pointer; 109 | background-color: #fcfcfc; 110 | border-spacing: 2px; 111 | font-family: 'Montserrat', Arial, serif; 112 | } 113 | 114 | .property-thumb { 115 | background-size:cover; 116 | background: #ffdfd5 center; 117 | color:#f1673c; 118 | height: 60px; 119 | width:60px; 120 | border-radius: 30px; 121 | text-align:center; 122 | font-size:14px; 123 | } 124 | 125 | .property-name { 126 | background-color:#ffffff; 127 | color:#888888; 128 | text-align: left; 129 | padding-left: 10px; 130 | font-size: 14px; 131 | font-weight: bold; 132 | } 133 | 134 | .property2 { 135 | width: 100%; 136 | direction: ltr; 137 | cursor: pointer; 138 | background-color: #fcfcfc; 139 | border-spacing: 2px; 140 | font-family: 'Montserrat', Arial, serif; 141 | } 142 | 143 | .property2-thumb { 144 | background-size:cover; 145 | background: #ffcebf center; 146 | color:#974026; 147 | height: 60px; 148 | width:60px; 149 | border-radius: 30px; 150 | text-align:center; 151 | font-size:14px; 152 | } 153 | 154 | .property2-name { 155 | background-color:#fffdfd; 156 | color:#974026; 157 | text-align: left; 158 | padding-left: 10px; 159 | font-size: 14px; 160 | font-weight: bold; 161 | } 162 | 163 | .about { 164 | width: 100%; 165 | direction: ltr; 166 | cursor: pointer; 167 | background-color: #fcfcfc; 168 | border-spacing: 2px; 169 | font-family: 'Montserrat', Arial, serif; 170 | } 171 | 172 | .about-thumb { 173 | background-size:cover; 174 | height: 60px; 175 | width:60px; 176 | border-radius: 30px; 177 | background: #eeeeee center; 178 | color:#999999; 179 | text-align:center; 180 | font-size:14px; 181 | } 182 | 183 | .about-name { 184 | background-color: #fbfbfb; 185 | color: #aaaaaa; 186 | text-align: left; 187 | padding-left: 10px; 188 | font-size: 14px; 189 | font-weight: bold; 190 | } 191 | 192 | .unit { 193 | height:30px; 194 | float:left; 195 | direction:ltr; 196 | padding:5px; 197 | margin:2px; 198 | background-color:#eeeeee; 199 | border:1px solid #ededed; 200 | color:#888888; 201 | } 202 | 203 | .unit-selected { 204 | height:30px; 205 | float:left; 206 | direction:ltr; 207 | padding:5px; 208 | margin:2px; 209 | background-color:#dd5e37; 210 | border:1px solid #f2673c; 211 | color:#ffffff; 212 | } 213 | 214 | .input { 215 | width:100%; 216 | height:70px; 217 | background-color:#ffffff; 218 | border:1px solid #fafafa; 219 | } 220 | 221 | .input-lable { 222 | width:80px; 223 | text-align:left; 224 | padding-left:10px; 225 | font-family: 'Montserrat',Arial, serif; 226 | font-size:14px; 227 | font-weight:bold; 228 | } 229 | 230 | .input-sign { 231 | font-size:10px; 232 | } 233 | 234 | .input-value { 235 | text-align:left; 236 | padding-left:10px; 237 | } 238 | 239 | .converted { 240 | width:100%; 241 | height:70px; 242 | direction:ltr; 243 | background-color:#eeeeee; 244 | border:1px solid #eaeaea; 245 | } 246 | 247 | .converted-unit { 248 | color:#555555; 249 | height:30px; 250 | text-align:left; 251 | padding-left:10px; 252 | font-size:12px; 253 | } 254 | 255 | .converted-unit-fa { 256 | color:#555555; 257 | height:30px; 258 | text-align:left; 259 | padding-left:10px; 260 | font-size:14px; 261 | font-family: 'Montserrat',Arial, serif; 262 | font-weight:bold; 263 | } 264 | 265 | .converted-value { 266 | color:#333333; 267 | text-align:center; 268 | font-size:18px; 269 | font-family: 'Montserrat',Arial, serif; 270 | } 271 | 272 | .identity { 273 | width:100%; 274 | height:70px; 275 | direction:ltr; 276 | background-color:#ffffff; 277 | border:1px solid #fafafa; 278 | } 279 | 280 | .identity-title { 281 | background-color:#fafafa; 282 | color:#555555; 283 | height:30px; 284 | text-align:left; 285 | padding:10px; 286 | font-size:14px; 287 | font-family: 'Montserrat',Arial, serif; 288 | font-weight:bold; 289 | } 290 | 291 | .identity-formula { 292 | color:#333333; 293 | text-align:center; 294 | font-size:18px; 295 | font-family: 'Montserrat', Arial, serif; 296 | padding:20px 10px; 297 | border-bottom: 1px solid #eee; 298 | } 299 | 300 | .button { 301 | height:30px; 302 | border-radius: 30px; 303 | background:#dd5e37; 304 | border:1px solid #d45a35; 305 | float: right; 306 | margin: 5px; 307 | padding: 0 10px 0 10px; 308 | color: #ffffff; 309 | text-align: center; 310 | font-weight: normal; 311 | font-size: 12px; 312 | } 313 | 314 | .button:hover { 315 | background-color:#d45a35; 316 | } 317 | 318 | #page2,#page3,#page4,#page5 { 319 | display:none; 320 | } 321 | 322 | .paragraph { 323 | font-family: 'Montserrat', Arial, serif; 324 | font-size: 12px; 325 | color: #999999; 326 | direction: ltr; 327 | text-align: left; 328 | line-height: 200%; 329 | padding: 20px 10px 10px 10px; 330 | } 331 | 332 | .app { 333 | width: 100%; 334 | direction: ltr; 335 | cursor: pointer; 336 | background-color: #fcfcfc; 337 | border-spacing: 5px; 338 | font-family: 'Montserrat', Arial, serif; 339 | } 340 | 341 | .app-thumb { 342 | height: 100px; 343 | width:100px; 344 | text-align:center; 345 | background-repeat: no-repeat; 346 | background-size: contain; 347 | } 348 | 349 | .app-detail { 350 | background-color: #ffffff; 351 | color: #888888; 352 | text-align: left; 353 | padding-left: 10px; 354 | } 355 | 356 | .app-name { 357 | font-size: 14px; 358 | font-weight: bold; 359 | } 360 | 361 | .app-price { 362 | font-size: 12px; 363 | color: #4B946A; 364 | } -------------------------------------------------------------------------------- /www/fonts/montserrat.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/fonts/montserrat.eot -------------------------------------------------------------------------------- /www/fonts/montserrat.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/fonts/montserrat.otf -------------------------------------------------------------------------------- /www/fonts/montserrat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Created by FontForge 20150824 at Fri Mar 11 10:22:21 2016 6 | By Everything Fonts 7 | 8 | 9 | 10 | 25 | 27 | 29 | 31 | 33 | 35 | 37 | 39 | 41 | 43 | 45 | 47 | 50 | 53 | 56 | 58 | 60 | 62 | 64 | 66 | 68 | 70 | 72 | 74 | 76 | 78 | 80 | 82 | 84 | 86 | 89 | 91 | 94 | 97 | 99 | 101 | 103 | 105 | 107 | 110 | 113 | 115 | 118 | 120 | 122 | 124 | 126 | 128 | 130 | 132 | 134 | 136 | 138 | 140 | 142 | 144 | 146 | 149 | 151 | 154 | 156 | 158 | 160 | 162 | 164 | 166 | 168 | 170 | 172 | 174 | 176 | 178 | 180 | 182 | 184 | 186 | 188 | 190 | 192 | 195 | 197 | 199 | 201 | 203 | 205 | 207 | 209 | 211 | 213 | 215 | 217 | 220 | 222 | 224 | 226 | 228 | 230 | 232 | 234 | 236 | 238 | 240 | 242 | 244 | 246 | 248 | 251 | 253 | 255 | 258 | 260 | 263 | 265 | 267 | 269 | 272 | 274 | 276 | 278 | 280 | 282 | 284 | 286 | 288 | 290 | 292 | 294 | 296 | 298 | 300 | 302 | 305 | 308 | 310 | 312 | 314 | 316 | 319 | 322 | 324 | 327 | 329 | 331 | 333 | 335 | 337 | 339 | 341 | 343 | 345 | 347 | 349 | 351 | 353 | 356 | 359 | 361 | 364 | 366 | 368 | 370 | 373 | 375 | 377 | 380 | 383 | 386 | 389 | 392 | 395 | 398 | 401 | 404 | 406 | 408 | 411 | 414 | 416 | 418 | 420 | 422 | 425 | 428 | 430 | 432 | 435 | 438 | 441 | 443 | 446 | 448 | 450 | 452 | 455 | 457 | 460 | 463 | 465 | 467 | 470 | 472 | 474 | 476 | 478 | 480 | 482 | 484 | 486 | 488 | 490 | 492 | 494 | 496 | 498 | 500 | 503 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 | 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | 673 | 674 | 675 | 676 | 677 | 678 | 679 | 680 | 681 | 682 | 683 | 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 723 | 724 | 725 | 726 | 727 | 728 | 729 | 730 | 731 | 732 | 733 | 734 | 735 | 736 | 737 | 738 | 739 | 740 | 741 | 742 | 743 | 744 | 745 | 746 | 747 | 748 | 749 | 750 | 751 | 752 | 753 | 754 | 755 | 756 | 757 | 758 | 759 | 760 | 761 | 762 | 763 | 764 | 765 | 766 | 767 | 768 | 769 | 770 | 771 | 772 | 773 | 774 | 775 | 776 | 777 | 778 | 779 | 780 | 781 | 782 | 783 | 784 | 785 | 786 | 787 | 788 | 789 | 790 | 791 | 792 | 793 | 794 | 795 | 796 | 797 | 798 | 799 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 820 | 821 | 822 | 823 | 824 | 825 | 826 | 827 | 828 | 829 | 830 | 831 | 832 | 833 | 834 | 835 | 836 | 837 | 838 | 839 | 840 | 841 | 842 | 843 | 844 | 845 | 846 | 847 | 848 | 849 | 850 | 851 | 852 | 853 | 854 | 855 | 856 | 857 | 858 | 859 | 860 | 861 | 862 | 863 | 864 | 865 | 866 | 867 | 868 | 869 | 870 | 871 | 872 | 873 | 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | 882 | 883 | 884 | 885 | 886 | 887 | 888 | 889 | 890 | 891 | 892 | 893 | 894 | 895 | 896 | 897 | 898 | 899 | 900 | 901 | 902 | 903 | 904 | 905 | 906 | 907 | 908 | 909 | 910 | 911 | 912 | 913 | 914 | 915 | 916 | 917 | 918 | 919 | 920 | 921 | 922 | 923 | 924 | 925 | 926 | 927 | 928 | 929 | 930 | 931 | 932 | 933 | 934 | 935 | 936 | 937 | 938 | 939 | 940 | 941 | 942 | 943 | 944 | 945 | 946 | 947 | 948 | 949 | 950 | 951 | 952 | 953 | 954 | 955 | 956 | 957 | 958 | 959 | 960 | 961 | 962 | 963 | 964 | 965 | 966 | 967 | 968 | 969 | 970 | 971 | 972 | 973 | 974 | 975 | 976 | 977 | 978 | 979 | 980 | 981 | 982 | 983 | 984 | 985 | 986 | 987 | 988 | 989 | 990 | 991 | 992 | 993 | 994 | 995 | 996 | 997 | 998 | 999 | 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 | 1009 | 1010 | 1011 | 1012 | 1013 | 1014 | 1015 | 1016 | 1017 | 1018 | 1019 | 1020 | 1021 | 1022 | 1023 | 1024 | 1025 | 1026 | 1027 | 1028 | 1029 | 1030 | 1031 | 1032 | 1033 | 1034 | 1035 | 1036 | 1037 | 1038 | 1039 | 1040 | 1041 | 1042 | 1043 | 1044 | 1045 | 1046 | 1047 | 1048 | 1049 | 1050 | 1051 | 1052 | 1053 | 1054 | 1055 | 1056 | 1057 | 1058 | 1059 | 1060 | 1061 | 1062 | 1063 | 1064 | 1065 | 1066 | 1067 | 1068 | 1069 | 1070 | 1071 | 1072 | 1073 | 1074 | 1075 | 1076 | 1077 | 1078 | 1079 | 1080 | 1081 | 1082 | 1083 | 1084 | 1085 | 1086 | 1087 | 1088 | 1089 | 1090 | 1091 | 1092 | 1093 | 1094 | 1095 | 1096 | 1097 | 1098 | 1099 | 1100 | 1101 | 1102 | 1103 | 1104 | 1105 | 1106 | 1107 | 1108 | 1109 | 1110 | 1111 | 1112 | 1113 | 1114 | 1115 | 1116 | 1117 | 1118 | 1119 | 1120 | 1121 | 1122 | 1123 | 1124 | 1125 | 1126 | 1127 | 1128 | 1129 | 1130 | 1131 | 1132 | 1133 | 1134 | 1135 | 1136 | 1137 | 1138 | 1139 | 1140 | 1141 | 1142 | 1143 | 1144 | 1145 | 1146 | 1147 | 1148 | 1149 | 1150 | 1151 | 1152 | 1153 | 1154 | 1155 | 1156 | 1157 | 1158 | 1159 | 1160 | 1161 | 1162 | 1163 | 1164 | 1165 | 1166 | 1167 | 1168 | 1169 | 1170 | 1171 | 1172 | 1173 | 1174 | 1175 | 1176 | 1177 | 1178 | 1179 | 1180 | 1181 | 1182 | 1183 | 1184 | 1185 | 1186 | 1187 | 1188 | 1189 | 1190 | 1191 | 1192 | 1193 | 1194 | 1195 | 1196 | 1197 | 1198 | 1199 | 1200 | 1201 | 1202 | 1203 | 1204 | 1205 | 1206 | 1207 | 1208 | 1209 | 1210 | 1211 | 1212 | 1213 | 1214 | 1215 | 1216 | 1217 | 1218 | 1219 | 1220 | 1221 | 1222 | 1223 | 1224 | 1225 | 1226 | 1227 | 1228 | 1229 | 1230 | 1231 | 1232 | 1233 | 1234 | 1235 | 1236 | 1237 | 1238 | 1239 | 1240 | 1241 | 1242 | 1243 | 1244 | 1245 | 1246 | 1247 | 1248 | 1249 | 1250 | 1251 | 1252 | 1253 | 1254 | 1255 | 1256 | 1257 | 1258 | 1259 | 1260 | 1261 | 1262 | 1263 | 1264 | 1265 | 1266 | 1267 | 1268 | 1269 | 1270 | 1271 | 1272 | 1273 | 1274 | 1275 | 1276 | 1277 | 1278 | 1279 | 1280 | 1281 | 1282 | 1283 | 1284 | 1285 | 1286 | 1287 | 1288 | 1289 | 1290 | 1291 | 1292 | 1293 | 1294 | 1295 | 1296 | 1297 | 1298 | 1299 | 1300 | 1301 | 1302 | 1303 | 1304 | 1305 | 1306 | 1307 | 1308 | 1309 | 1310 | 1311 | 1312 | 1313 | 1314 | 1315 | 1316 | 1317 | 1318 | 1319 | 1320 | 1321 | 1322 | 1323 | 1324 | 1325 | 1326 | 1327 | 1328 | 1329 | 1330 | 1331 | 1332 | 1333 | 1334 | 1335 | 1336 | 1337 | 1338 | 1339 | 1340 | 1341 | 1342 | 1343 | 1344 | 1345 | 1346 | 1347 | 1348 | 1349 | 1350 | 1351 | 1352 | 1353 | 1354 | 1355 | 1356 | 1357 | 1358 | 1359 | 1360 | 1361 | 1362 | 1363 | 1364 | 1365 | 1366 | 1367 | 1368 | 1369 | 1370 | 1371 | 1372 | 1373 | 1374 | 1375 | 1376 | 1377 | 1378 | 1379 | 1380 | 1381 | 1382 | 1383 | 1384 | 1385 | 1386 | 1387 | 1388 | 1389 | 1390 | 1391 | 1392 | 1393 | 1394 | 1395 | 1396 | 1397 | 1398 | 1399 | 1400 | 1401 | 1402 | 1403 | 1404 | 1405 | 1406 | 1407 | 1408 | 1409 | 1410 | 1411 | 1412 | 1413 | 1414 | 1415 | 1416 | 1417 | 1418 | 1419 | 1420 | 1421 | 1422 | 1423 | 1424 | 1425 | 1426 | 1427 | 1428 | 1429 | 1430 | 1431 | 1432 | 1433 | 1434 | 1435 | 1436 | 1437 | 1438 | 1439 | 1440 | 1441 | 1442 | 1443 | 1444 | 1445 | 1446 | 1447 | 1448 | 1449 | 1450 | 1451 | 1452 | 1453 | 1454 | 1455 | 1456 | 1457 | 1458 | 1459 | 1460 | 1461 | 1462 | 1463 | 1464 | 1465 | 1466 | 1467 | 1468 | 1469 | 1470 | 1471 | 1472 | 1473 | 1474 | 1475 | 1476 | 1477 | 1478 | 1479 | 1480 | 1481 | 1482 | 1483 | 1484 | 1485 | 1486 | 1487 | 1488 | 1489 | 1490 | 1491 | 1492 | 1493 | 1494 | 1495 | 1496 | 1497 | 1498 | 1499 | 1500 | 1501 | 1502 | 1503 | 1504 | 1505 | 1506 | 1507 | 1508 | 1509 | 1510 | 1511 | 1512 | 1513 | 1514 | 1515 | 1516 | 1517 | 1518 | 1519 | 1520 | 1521 | 1522 | 1523 | 1524 | 1525 | 1526 | 1527 | 1528 | 1529 | 1530 | 1531 | 1532 | 1533 | 1534 | 1535 | 1536 | 1537 | 1538 | 1539 | 1540 | 1541 | 1542 | 1543 | 1544 | 1545 | 1546 | 1547 | 1548 | 1549 | 1550 | 1551 | 1552 | 1553 | 1554 | 1555 | 1556 | 1557 | 1558 | 1559 | 1560 | 1561 | 1562 | 1563 | 1564 | 1565 | 1566 | 1567 | 1568 | 1569 | 1570 | 1571 | -------------------------------------------------------------------------------- /www/fonts/montserrat.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/fonts/montserrat.ttf -------------------------------------------------------------------------------- /www/fonts/montserrat.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/fonts/montserrat.woff -------------------------------------------------------------------------------- /www/fonts/montserrat.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/fonts/montserrat.woff2 -------------------------------------------------------------------------------- /www/images/1/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/1/1.png -------------------------------------------------------------------------------- /www/images/1/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/1/2.png -------------------------------------------------------------------------------- /www/images/1/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/1/3.png -------------------------------------------------------------------------------- /www/images/1/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/1/4.png -------------------------------------------------------------------------------- /www/images/1/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/1/5.png -------------------------------------------------------------------------------- /www/images/1/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/1/6.png -------------------------------------------------------------------------------- /www/images/1/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/1/7.png -------------------------------------------------------------------------------- /www/images/10/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/1.png -------------------------------------------------------------------------------- /www/images/10/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/10.png -------------------------------------------------------------------------------- /www/images/10/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/11.png -------------------------------------------------------------------------------- /www/images/10/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/2.png -------------------------------------------------------------------------------- /www/images/10/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/3.png -------------------------------------------------------------------------------- /www/images/10/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/4.png -------------------------------------------------------------------------------- /www/images/10/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/5.png -------------------------------------------------------------------------------- /www/images/10/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/6.png -------------------------------------------------------------------------------- /www/images/10/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/7.png -------------------------------------------------------------------------------- /www/images/10/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/8.png -------------------------------------------------------------------------------- /www/images/10/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/10/9.png -------------------------------------------------------------------------------- /www/images/11/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/1.png -------------------------------------------------------------------------------- /www/images/11/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/10.png -------------------------------------------------------------------------------- /www/images/11/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/11.png -------------------------------------------------------------------------------- /www/images/11/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/12.png -------------------------------------------------------------------------------- /www/images/11/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/2.png -------------------------------------------------------------------------------- /www/images/11/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/3.png -------------------------------------------------------------------------------- /www/images/11/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/4.png -------------------------------------------------------------------------------- /www/images/11/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/5.png -------------------------------------------------------------------------------- /www/images/11/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/6.png -------------------------------------------------------------------------------- /www/images/11/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/7.png -------------------------------------------------------------------------------- /www/images/11/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/8.png -------------------------------------------------------------------------------- /www/images/11/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/11/9.png -------------------------------------------------------------------------------- /www/images/12/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/1.png -------------------------------------------------------------------------------- /www/images/12/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/10.png -------------------------------------------------------------------------------- /www/images/12/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/11.png -------------------------------------------------------------------------------- /www/images/12/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/12.png -------------------------------------------------------------------------------- /www/images/12/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/13.png -------------------------------------------------------------------------------- /www/images/12/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/2.png -------------------------------------------------------------------------------- /www/images/12/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/3.png -------------------------------------------------------------------------------- /www/images/12/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/4.png -------------------------------------------------------------------------------- /www/images/12/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/5.png -------------------------------------------------------------------------------- /www/images/12/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/6.png -------------------------------------------------------------------------------- /www/images/12/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/7.png -------------------------------------------------------------------------------- /www/images/12/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/8.png -------------------------------------------------------------------------------- /www/images/12/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/12/9.png -------------------------------------------------------------------------------- /www/images/2/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/2/1.png -------------------------------------------------------------------------------- /www/images/2/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/2/2.png -------------------------------------------------------------------------------- /www/images/2/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/2/3.png -------------------------------------------------------------------------------- /www/images/2/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/2/4.png -------------------------------------------------------------------------------- /www/images/2/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/2/5.png -------------------------------------------------------------------------------- /www/images/2/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/2/6.png -------------------------------------------------------------------------------- /www/images/3/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/3/1.png -------------------------------------------------------------------------------- /www/images/3/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/3/2.png -------------------------------------------------------------------------------- /www/images/3/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/3/3.png -------------------------------------------------------------------------------- /www/images/3/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/3/4.png -------------------------------------------------------------------------------- /www/images/3/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/3/5.png -------------------------------------------------------------------------------- /www/images/3/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/3/6.png -------------------------------------------------------------------------------- /www/images/4/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/4/1.png -------------------------------------------------------------------------------- /www/images/4/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/4/2.png -------------------------------------------------------------------------------- /www/images/4/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/4/3.png -------------------------------------------------------------------------------- /www/images/4/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/4/4.png -------------------------------------------------------------------------------- /www/images/5/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/5/1.png -------------------------------------------------------------------------------- /www/images/5/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/5/2.png -------------------------------------------------------------------------------- /www/images/5/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/5/3.png -------------------------------------------------------------------------------- /www/images/5/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/5/4.png -------------------------------------------------------------------------------- /www/images/6/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/6/1.png -------------------------------------------------------------------------------- /www/images/6/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/6/2.png -------------------------------------------------------------------------------- /www/images/6/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/6/3.png -------------------------------------------------------------------------------- /www/images/6/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/6/4.png -------------------------------------------------------------------------------- /www/images/7/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/7/1.png -------------------------------------------------------------------------------- /www/images/7/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/7/2.png -------------------------------------------------------------------------------- /www/images/7/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/7/3.png -------------------------------------------------------------------------------- /www/images/7/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/7/4.png -------------------------------------------------------------------------------- /www/images/7/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/7/5.png -------------------------------------------------------------------------------- /www/images/7/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/7/6.png -------------------------------------------------------------------------------- /www/images/7/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/7/7.png -------------------------------------------------------------------------------- /www/images/7/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/7/8.png -------------------------------------------------------------------------------- /www/images/8/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/8/1.png -------------------------------------------------------------------------------- /www/images/8/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/8/2.png -------------------------------------------------------------------------------- /www/images/8/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/8/3.png -------------------------------------------------------------------------------- /www/images/8/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/8/4.png -------------------------------------------------------------------------------- /www/images/8/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/8/5.png -------------------------------------------------------------------------------- /www/images/9/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/9/1.png -------------------------------------------------------------------------------- /www/images/9/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/9/2.png -------------------------------------------------------------------------------- /www/images/9/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/9/3.png -------------------------------------------------------------------------------- /www/images/calculators/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/calculators/1.png -------------------------------------------------------------------------------- /www/images/calculators/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/armancodv/trigonometry/0002510bcb953807a988d5e22f1793225a651ca9/www/images/calculators/2.png -------------------------------------------------------------------------------- /www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 18 | 19 |
15 | 16 | 17 |
20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 |
© armanco
version:
29 |
30 |
31 | 32 | 33 | 35 | 42 | 43 |
34 | 36 | 37 | 38 | 39 | 40 |
Back
41 |
44 | 45 | 46 | 48 | 49 | 50 | 54 | 55 | 56 | 59 | 60 | 61 | 62 | 63 |
47 |
51 |
Please complete inputs
52 |
53 |
57 |
58 |
© armanco
version:
64 |
65 |
66 | 67 | 68 | 70 | 78 | 79 |
69 | 71 | 72 | 73 | 74 | 75 |
Back
76 | 77 |
80 | 81 | 82 | 84 | 85 | 86 | 87 | 88 |
83 |
© armanco
version:
89 |
90 |
91 | 92 | 93 | 95 | 103 | 104 |
94 | Similar Apps 96 | 97 | 98 | 99 | 100 |
Back
101 | 102 |
105 | 106 | 107 | 109 | 110 | 111 | 112 | 113 |
108 |
© armanco
version:
114 |
115 |
116 | 117 | 118 | 120 | 128 | 129 |
119 | About 121 | 122 | 123 | 124 | 125 |
Back
126 | 127 |
130 | 131 | 132 | 137 | 138 | 139 | 140 | 141 |
133 |

134 |

developed by: armanco
Reference: Wikipedia 135 |

136 |
© armanco
version:
142 |
143 | 144 | 145 | 146 | 147 | -------------------------------------------------------------------------------- /www/js/index.js: -------------------------------------------------------------------------------- 1 | class Model { 2 | constructor() { 3 | this.version = '4.0.0'; 4 | this.package = 'com.armanco.trigonometry'; 5 | this.homepage = 'https://arman.co.com/'; 6 | this.api = 'https://arman.co.com/api/applist_formula.php'; 7 | this.addId = 'ca-app-pub-4301546764905932/5615543166'; 8 | this.title = 'Trigonometry'; 9 | this.subTitle = 'Reference & Calculator'; 10 | this.description = 'This app has two section, first one is a complete trigonometric calculator and another is a complete list of trigonometric identities and formulas.'; 11 | this.page = 1; 12 | this.category = 0; 13 | 14 | this.categoriesTitles = ['Basis', 'Symmetry, shifts, and periodicity', 'Angle sum and difference', 'Double angle', 'Triple angle', 'Half angle', 'Power reduction', 'Product to sum', 'Sum to product', 'Inverse trigonometric', 'Derivative', 'Exponential']; 15 | this.categoriesThumbs = ['base', 'sym', 'sum', 'dou', 'tri', 'half', 'pow', 'pro', 'sum', 'inv', 'der', 'exp']; 16 | 17 | this.categoryTitles = [ 18 | ['Sine', 'Cosine', 'Tangent', 'Cosecant', 'Secant', 'Cotangent', 'Pythagorean'], 19 | ['Reflected in θ=0', 'Reflected in θ=π/4', 'Reflected in θ=π/2', 'Shift by π/2', 'Shift by π', 'Shift by 2π'], 20 | ['Sine', 'Cosine', 'Tangent', 'Arcsine', 'Arccosine', 'Arctangent'], 21 | ['Sine', 'Cosine', 'Tangent', 'Cotangent'], 22 | ['Sine', 'Cosine', 'Tangent', 'Cotangent'], 23 | ['Sine', 'Cosine', 'Tangent', 'Cotangent'], 24 | ['Quadratic Sine', 'Quadratic Cosine', 'Cubic Sine', 'Cubic Cosine', 'Biquadratic Sine', 'Biquadratic Cosine'], 25 | ['cos⁡θ.cosφ', 'sinθ.sinφ', 'sin⁡θ.cosφ', 'cos⁡θ.sinφ', 'tan⁡θ.tanφ'], 26 | ['sinθ±sinφ', 'cosθ+cosφ', 'cosθ-cosφ'], 27 | ['arcsin(x)+arccos(x)', 'arctan(x)+arccot(x)', 'arctan(x)+arctan(1/x)', 'sin(arccos(x))', 'sin(arctan(x))', 'cos(arctan(x))', 'cos(arcsin(x))', 'tan(arcsin(x))', 'tan(arccos(x))', 'cot(arcsin(x))', 'cot(arccos(x))'], 28 | ['d(sin(x))/dx', 'd(cos(x))/dx', 'd(tan(x))/dx', 'd(cot(x))/dx', 'd(sec(x))/dx', 'd(csc(x))/dx', 'd(arcsin(x))/dx', 'd(arccos(x))/dx', 'd(arctan(x))/dx', 'd(arccot(x))/dx', 'd(arcsec(x))/dx', 'd(arccsc(x))/dx'], 29 | ['cis(x)', 'sinθ', 'cosθ', 'tanθ', 'cscθ', 'secθ', 'cotθ', 'arcsin(x)', 'arccos(x)', 'arctan(x)', 'arccsc(x)', 'arcsec(x)', 'arccot(x)'] 30 | ]; 31 | 32 | this.calculatorsTitles = ['Trigonometric Calculator', 'Inverse Trigonometric Calculator']; 33 | this.calculatorsThumbs = ['sin', 'asin']; 34 | 35 | this.inputsTitles = [ 36 | ['Angle'], 37 | ['Inverse'] 38 | ]; 39 | 40 | this.inputsSigns = [ 41 | ['θ (deg)'], 42 | ['x'] 43 | ]; 44 | 45 | this.outputsTitles = [ 46 | ['Sine Function', 'Cosine Function', 'Tangent Function', 'Cotangent Function', 'Cosecant Function', 'Secant Function'], 47 | ['Inverse Sine Function', 'Inverse Cosine Function', 'Inverse Tangent Function', 'Inverse Cotangent Function', 'Inverse Cosecant Function', 'Inverse Secant Function'] 48 | ]; 49 | 50 | this.outputsSigns = [ 51 | ['sin(θ)', 'cos(θ)', 'tan(θ)', 'cot(θ)', 'csc(θ)', 'sec(θ)'], 52 | ['arcsin(x) - deg', 'arccos(x) - deg', 'arctan(x) - deg', 'arccot(x) - deg', 'arccsc(x) - deg', 'arcsec(x) - deg'] 53 | ]; 54 | 55 | this.inputs = {}; 56 | this.outputs = {}; 57 | this.calculator = 0; 58 | } 59 | 60 | calculate() { 61 | if (this.calculator === 0) { 62 | let theta = this.inputs[0] * Math.PI / 180; 63 | let sin = Math.round(Math.sin(theta) * 1000000) / 1000000; 64 | let cos = Math.round(Math.cos(theta) * 1000000) / 1000000; 65 | let tan = Math.round(Math.tan(theta) * 1000000) / 1000000; 66 | let cot = Math.round(1 / Math.tan(theta) * 1000000) / 1000000; 67 | let csc = Math.round(1 / Math.sin(theta) * 1000000) / 1000000; 68 | let sec = Math.round(1 / Math.cos(theta) * 1000000) / 1000000; 69 | this.outputs = [sin, cos, tan, cot, csc, sec]; 70 | } else if (this.calculator === 1) { 71 | let x = this.inputs[0]; 72 | let arcsin = Math.round(Math.asin(x) * 1000000 * 180 / Math.PI) / 1000000; 73 | let arccos = Math.round(Math.acos(x) * 1000000 * 180 / Math.PI) / 1000000; 74 | let arctan = Math.round(Math.atan(x) * 1000000 * 180 / Math.PI) / 1000000; 75 | let arccot = Math.round(180 * 1000000 - Math.atan(x) * 1000000 * 180 / Math.PI) / 1000000; 76 | let arccsc = Math.round(Math.asin(1 / x) * 1000000 * 180 / Math.PI) / 1000000; 77 | let arcsec = Math.round(Math.acos(1 / x) * 1000000 * 180 / Math.PI) / 1000000; 78 | this.outputs = [arcsin, arccos, arctan, arccot, arccsc, arcsec]; 79 | } 80 | }; 81 | 82 | changeCategory(number) { 83 | this.category = number; 84 | } 85 | 86 | changeCalculator(number) { 87 | this.calculator = number; 88 | this.inputs = []; 89 | this.outputs = []; 90 | } 91 | 92 | changePage(page) { 93 | this.page = page; 94 | } 95 | 96 | getApps() { 97 | let xhr = new XMLHttpRequest(); 98 | xhr.open('GET', this.api + '?p=' + this.package); 99 | xhr.send(); 100 | xhr.onload = () => { 101 | this.apps = JSON.parse(xhr.response); 102 | }; 103 | } 104 | 105 | 106 | }; 107 | 108 | class View { 109 | constructor() { 110 | this.menu = document.getElementById('menu'); 111 | this.items = document.getElementById('items'); 112 | this.apps = document.getElementById('apps'); 113 | this.categoryTitle = document.getElementById('page3-h1'); 114 | this.calculatorTitle = document.getElementById('page2-h1'); 115 | this.calculatorImage = document.getElementById('page2-image'); 116 | this.inputs = document.getElementById('inputs'); 117 | this.outputs = document.getElementById('outputs'); 118 | this.title = document.getElementById('title'); 119 | this.subTitle = document.getElementById('subtitle'); 120 | this.description = document.getElementById('description'); 121 | this.armanco = document.getElementById('armanco'); 122 | this.versions = Array.from(document.getElementsByClassName('version')); 123 | this.backs = Array.from(document.getElementsByClassName('back')); 124 | } 125 | 126 | openLink(link) { 127 | window.open(link, '_system'); 128 | } 129 | 130 | changePage(page_number) { 131 | window.location.hash = '#page' + page_number; 132 | for (let i = 1; i <= 5; i++) { 133 | if (i === page_number) { 134 | document.getElementById('page' + i).style.display = 'block'; 135 | } else { 136 | document.getElementById('page' + i).style.display = 'none'; 137 | } 138 | } 139 | document.body.scrollTop = document.documentElement.scrollTop = 0; 140 | } 141 | 142 | addMenuItem(id, thumb, title) { 143 | let element = `
${thumb}${title}
`; 144 | this.menu.insertAdjacentHTML("beforeend", element); 145 | } 146 | 147 | addMenuItemCalculator(id, thumb, title) { 148 | let element = `
${thumb}${title}
`; 149 | this.menu.insertAdjacentHTML("beforeend", element); 150 | } 151 | 152 | addMenuItemMute(id, thumb, title) { 153 | let element = `
${thumb}${title}
`; 154 | this.menu.insertAdjacentHTML("beforeend", element); 155 | } 156 | 157 | addMenuItemApp(item) { 158 | let element = `
${item.name}
${item.price}
${item.description}
`; 159 | this.apps.insertAdjacentHTML("beforeend", element); 160 | } 161 | 162 | addFormula(id, src) { 163 | let element = `
`; 164 | let place = Array.from(document.getElementById(id).getElementsByClassName('identity-formula')); 165 | place[0].insertAdjacentHTML("beforeend", element); 166 | } 167 | 168 | addItem(id, title) { 169 | let element = `
${title}
`; 170 | this.items.insertAdjacentHTML("beforeend", element); 171 | } 172 | 173 | addInput(i, title, sign) { 174 | let element = `
${title}
${sign}
`; 175 | this.inputs.insertAdjacentHTML("beforeend", element); 176 | } 177 | 178 | addOutput(i, title, sign) { 179 | let element = `
${title}
${sign}
`; 180 | this.outputs.insertAdjacentHTML("beforeend", element); 181 | } 182 | 183 | changeCalculatorImage(i) { 184 | this.calculatorImage.style.background = `url('images/calculators/${i + 1}.png') no-repeat center`; 185 | this.calculatorImage.style.backgroundSize = 'contain'; 186 | } 187 | 188 | changeTitle(title) { 189 | this.title.innerHTML = title; 190 | } 191 | 192 | changeSubTitle(subTitle) { 193 | this.subTitle.innerHTML = subTitle; 194 | } 195 | 196 | changeCategoryTitle(categoryTitle) { 197 | this.categoryTitle.innerHTML = categoryTitle; 198 | } 199 | 200 | changeCalculatorTitle(calculatorTitle) { 201 | this.calculatorTitle.innerHTML = calculatorTitle; 202 | } 203 | 204 | changeDescription(description) { 205 | this.description.innerHTML = description; 206 | } 207 | 208 | changeOutputs(outputs) { 209 | for (let key in outputs) { 210 | document.getElementById(`output${key}`).innerHTML = outputs[key]; 211 | } 212 | } 213 | 214 | changeVersion(version) { 215 | this.versions.forEach(element => { 216 | element.innerHTML = version; 217 | }); 218 | } 219 | 220 | deleteChild(id) { 221 | let place = document.getElementById(id); 222 | place.innerHTML = ""; 223 | } 224 | 225 | }; 226 | 227 | class Controller { 228 | constructor(model, view) { 229 | this.model = model; 230 | this.view = view; 231 | this.init(); 232 | this.ready(); 233 | } 234 | 235 | init() { 236 | window.addEventListener("load", () => { 237 | this.view.changeTitle(this.model.title); 238 | this.view.changeSubTitle(this.model.subTitle); 239 | this.view.changeVersion(this.model.version); 240 | this.view.changeDescription(this.model.description); 241 | this.model.getApps(); 242 | for (let i = 0; i < this.model.calculatorsTitles.length; i++) { 243 | let thumb = this.model.calculatorsThumbs[i]; 244 | let title = this.model.calculatorsTitles[i]; 245 | this.addMenuItemCalculator(i, thumb, title); 246 | } 247 | for (let i = 0; i < this.model.categoriesTitles.length; i++) { 248 | let thumb = this.model.categoriesThumbs[i]; 249 | let title = this.model.categoriesTitles[i]; 250 | this.addMenuItem(i, thumb, title); 251 | } 252 | this.addMenuItemMute('menua', 'apps', 'Similar Apps', 4); 253 | this.addMenuItemMute('menui', 'info', 'About', 5); 254 | document.addEventListener("backbutton", e => { 255 | if (this.model.page !== 1) { 256 | e.preventDefault(); 257 | this.changePage(1); 258 | } else { 259 | navigator.app.exitApp(); 260 | } 261 | }, false); 262 | this.view.backs.forEach(element => { 263 | element.addEventListener("click", () => { 264 | this.changePage(1); 265 | }); 266 | }); 267 | this.view.armanco.addEventListener("click", () => { 268 | this.view.openLink(this.model.homepage); 269 | }); 270 | 271 | }, false); 272 | 273 | } 274 | 275 | ready() { 276 | document.addEventListener("deviceready", () => { 277 | admob.banner.config({ 278 | id: this.model.addId, 279 | isTesting: false, 280 | autoShow: true 281 | }); 282 | admob.banner.prepare(); 283 | }, false); 284 | } 285 | 286 | changePage(page) { 287 | this.model.changePage(page); 288 | this.view.changePage(page); 289 | } 290 | 291 | async addMenuItemCalculator(i, thumb, title) { 292 | let id = `menucal${i}`; 293 | await this.view.addMenuItemCalculator(id, thumb, title); 294 | document.getElementById(id).addEventListener("click", async () => { 295 | await this.view.deleteChild('inputs'); 296 | await this.view.deleteChild('outputs'); 297 | this.model.changeCalculator(i); 298 | this.view.changeCalculatorTitle(title); 299 | this.view.changeCalculatorImage(i); 300 | for (let j = 0; j < this.model.outputsTitles[i].length; j++) { 301 | await this.view.addOutput(j, this.model.outputsTitles[i][j], this.model.outputsSigns[i][j]); 302 | } 303 | for (let j = 0; j < this.model.inputsTitles[i].length; j++) { 304 | await this.view.addInput(j, this.model.inputsTitles[i][j], this.model.inputsSigns[i][j]); 305 | let element = document.getElementById(`input${j}`); 306 | element.addEventListener("input", async () => { 307 | this.model.inputs[j] = await element.value; 308 | await this.model.calculate(); 309 | this.view.changeOutputs(this.model.outputs); 310 | }); 311 | } 312 | this.changePage(2); 313 | }); 314 | } 315 | 316 | async addMenuItem(i, thumb, title) { 317 | let id = `menu${i}`; 318 | await this.view.addMenuItem(id, thumb, title); 319 | document.getElementById(id).addEventListener("click", async () => { 320 | this.model.changeCategory(i); 321 | this.view.changeCategoryTitle(title); 322 | await this.view.deleteChild('items'); 323 | for (let j = 0; j < this.model.categoryTitles[i].length; j++) { 324 | await this.view.addItem(`item${j}`, this.model.categoryTitles[i][j]); 325 | this.view.addFormula(`item${j}`, `images\\${i + 1}\\${j + 1}.png`); 326 | } 327 | this.changePage(3); 328 | }); 329 | } 330 | 331 | async addMenuItemMute(id, thumb, title, page) { 332 | await this.view.addMenuItemMute(id, thumb, title); 333 | document.getElementById(id).addEventListener("click", async () => { 334 | if (page === 4) { 335 | await this.view.deleteChild('apps'); 336 | this.model.apps.forEach(async element => { 337 | await this.view.addMenuItemApp(element); 338 | document.getElementById(`app${element.name}`).addEventListener("click", () => { 339 | this.view.openLink(element.url); 340 | }); 341 | }); 342 | } 343 | this.changePage(page); 344 | }); 345 | } 346 | }; 347 | 348 | const app = new Controller(new Model(), new View()); --------------------------------------------------------------------------------