├── .gitignore
├── .watchmanconfig
├── App.js
├── CHANGELOG.md
├── LICENSE
├── README.md
├── app.json
├── assets
├── animations
│ ├── 101-x-pop.json
│ ├── 2144-little-girl-jumping-loader.json
│ ├── 2151-loading-hamster.json
│ ├── 4284-notification.json
│ ├── 433-checked-done.json
│ ├── 4386-connection-error.json
│ ├── 677-trophy.json
│ └── 823-crying.json
├── fonts
│ ├── BadaboomBB_Reg.ttf
│ ├── GrinchedRegular.otf
│ └── SaucerBB.ttf
├── icon.png
├── images
│ ├── game_background.png
│ └── game_background_active.png
├── sounds
│ ├── correct.wav
│ ├── gameover_average.wav
│ ├── gameover_bad.wav
│ ├── gameover_good.wav
│ ├── incorrect.wav
│ └── timeout.wav
└── splash.png
├── babel.config.js
├── package.json
├── src
├── Router.js
├── Scaling.js
├── TriviaAPI.js
├── Utils.js
├── actions
│ ├── TriviaActions.js
│ ├── index.js
│ └── types.js
├── components
│ ├── AnswerStatus.js
│ ├── Button.js
│ ├── CountdownCircle.js
│ ├── Question.js
│ ├── QuestionOptionItem.js
│ ├── TriviaLoader.js
│ └── screens
│ │ ├── GameOver.js
│ │ ├── MainMenu.js
│ │ ├── TriviaGame.js
│ │ └── TriviaSelection.js
└── reducers
│ ├── TriviaReducer.js
│ └── index.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .expo/
3 | npm-debug.*
4 | *.jks
5 | *.p8
6 | *.p12
7 | *.key
8 | *.mobileprovision
9 | *.orig.*
10 | web-build/
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 |
15 | # macOS
16 | .DS_Store
--------------------------------------------------------------------------------
/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/App.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Provider } from 'react-redux';
3 | import { createStore, applyMiddleware } from 'redux';
4 | import ReduxThunk from 'redux-thunk';
5 | import reducers from './src/reducers';
6 | import Router from './src/Router';
7 |
8 | export default class App extends React.Component {
9 |
10 | render() {
11 | const store = createStore(reducers, {}, applyMiddleware(ReduxThunk));
12 | return (
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 | All notable changes to this project will be documented in this file.
3 |
4 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
5 |
6 | ## [2.4.0](../../releases/tag/v2.4.0)
7 | - Update base expo from v36 to v42
8 | - Update React from 16.9.0 to 16.13.1
9 | - Move CountdownCircle component from the [react-native-countdown-circle](https://github.com/MrToph/react-native-countdown-circle) to the base code
10 | - Improve Game Over and button component UI
11 |
12 | ## [2.3.0](../../releases/tag/v2.3.0)
13 | - Update base expo from v32 to v36
14 | - Update React from 16.5.0 to 16.9.0
15 | - Refactor parts of the code to match base lib changes: Audio, fonts and some component life cycles.
16 |
17 | ## [2.2](../../releases/tag/v2.2)
18 | - Improve game sound logic
19 |
20 | ## [2.1](../../releases/tag/v2.1)
21 | - Improve Game Over screen with sounds and animations
22 | - Add scaling strategy for component styles
23 |
24 | ## [2.0](../../releases/tag/v2.0)
25 | - Add Category Selection
26 | - Add Difficulty Selection
27 | - Add Number of Questions Selection
28 | - Add Countdown timer per question
29 | - Add Answer Correct/Incorrect/Time Over animations and sounds
30 | - Add Main Menu Github Button
31 |
32 | ## [1.0](../../releases/tag/v1.0)
33 | - First Version
34 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Vin Busquet
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React Native Trivia Quiz
2 |
3 | A simple trivia game built with React Native, Redux, and the [Open Trivia Database](https://opentdb.com/).
4 | 
5 |
6 | ## Getting Started
7 |
8 | These instructions will get you a copy of the project up and running on your local machine for development and testing
9 | purposes.
10 |
11 | ### Prerequisites
12 |
13 | The project can be built with npm or yarn, so choose one of the approach bellow in case you don't
14 | have any installed on your system.
15 |
16 | * Yarn is a package manager built by Facebook Team and seems to be faster than npm in general. [Download Yarn](https://yarnpkg.com/en/docs/install). (RECOMMENDED)
17 |
18 | or
19 |
20 | * npm is distributed with Node.js which means that when you download Node.js,
21 | you automatically get npm installed on your computer. [Download Node.js](https://nodejs.org/en/download/)
22 |
23 | ### Installing
24 |
25 | To download the project follow the instructions bellow
26 |
27 | ```
28 | git clone https://github.com/computationalcore/react-native-trivia-quiz
29 | cd react-native-trivia-quiz
30 | ```
31 |
32 | Install dependencies and run with:
33 |
34 | yarn
35 | ```
36 | yarn install
37 | yarn start
38 | ```
39 | or
40 |
41 | npm
42 | ```
43 | npm install
44 | npm start
45 | ```
46 | ## How to Play
47 |
48 | - Open the app
49 | - Click at "Play" button
50 | - Select Quiz Options and click Start Quiz
51 | - Answer each one of the questions in max 10 seconds per question
52 | - When all questions are answered it shows the game over screen with total score and elapsed time
53 |
54 | ## Assets Credits
55 |
56 | #### Animations
57 |
58 | * [Loading Hamster](https://lottiefiles.com/2151-loading-hamster) by [Nabeel Shah](https://lottiefiles.com/nabeelshah7)
59 |
60 | * [Connection error](https://lottiefiles.com/4386-connection-error) by [Lorena Villanueva García](https://lottiefiles.com/lorenavillanueva)
61 |
62 | * [Checked Done](https://lottiefiles.com/433-checked-done) by [LottieFiles](https://lottiefiles.com/lottiefiles)
63 |
64 | * [X Pop](https://lottiefiles.com/101-x-pop) by [LottieFiles](https://lottiefiles.com/lottiefiles)
65 |
66 | * [Notification](https://lottiefiles.com/4284-notification) by [Changhyun Lee](https://lottiefiles.com/jony)
67 |
68 | * [Crying](https://lottiefiles.com/823-crying) by [Rogger Tân](https://lottiefiles.com/leminhtanvus)
69 |
70 | * [Trophy](https://lottiefiles.com/677-trophy by [Michael Harvey](https://lottiefiles.com/marvey)
71 |
72 | * [Little Girl Jumping - Loader](https://lottiefiles.com/2144-little-girl-jumping-loader) by [Jignesh Gajjar](https://lottiefiles.com/jigneshgajjar)
73 |
74 | #### Fonts
75 |
76 | * [Saucer BB Font](https://www.1001fonts.com/saucer-bb-font.html) by [Blambot Comic Fonts](https://www.1001fonts.com/users/blambot/)
77 |
78 | * [Grinched Font](https://www.1001fonts.com/grinched-font.html) by [Sharkshock](https://www.1001fonts.com/users/sharkshock/)
79 |
80 | * [BadaBoom BB Font](https://www.1001fonts.com/badaboom-bb-font.html) by [Blambot Comic Fonts](https://www.1001fonts.com/users/blambot/)
81 |
82 | #### Images
83 | * [Faq free icon](https://www.flaticon.com/free-icon/faq_1580270) by [Freepik](https://www.flaticon.com/authors/freepik) from [www.flaticon.com](https://www.flaticon.com)
84 |
85 | #### Sounds
86 |
87 | * [Cartoon Oh-Oh](https://freesound.org/people/dersuperanton/sounds/435883/) by [dersuperanton](https://freesound.org/people/dersuperanton/)
88 |
89 | * [Grinched Font](https://www.1001fonts.com/grinched-font.html) by [Sharkshock](https://www.1001fonts.com/users/sharkshock/)
90 |
91 | * [success 2](https://freesound.org/people/Leszek_Szary/sounds/171670/) by [Leszek_Szary](https://freesound.org/people/Leszek_Szary/)
92 |
93 | * [Bell, Counter, A.wav](https://freesound.org/people/InspectorJ/sounds/415510/) by [InspectorJ](https://freesound.org/people/InspectorJ/)
94 |
95 | * [Sad Trombone.wav](https://freesound.org/people/Benboncan/sounds/73581/) by [Benboncan](https://freesound.org/people/Benboncan/)
96 |
97 | * [Celebration](https://freesound.org/people/sonsdebarcelona/sounds/221937/) by [sonsdebarcelona](https://freesound.org/people/sonsdebarcelona/)
98 |
99 | * [Jazzy Chords](https://freesound.org/people/NenadSimic/sounds/150879/) by [NenadSimic](https://freesound.org/people/NenadSimic/)
100 | ## Authors
101 | Vin Busquet
102 | * [https://github.com/computationalcore](https://github.com/computationalcore)
103 |
104 | ## License
105 |
106 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
107 |
108 | ## Changelog
109 |
110 | For details, check out [CHANGELOG.md](CHANGELOG.md).
111 |
112 | ## Acknowledgments
113 | * [Open Trivia DB](https://opentdb.com/)
114 | * [Crowdbotics](https://www.crowdbotics.com/)
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "expo": {
3 | "name": "React Trivia Game",
4 | "slug": "react-native-trivia-quiz",
5 | "privacy": "public",
6 | "sdkVersion": "42.0.0",
7 | "platforms": [
8 | "ios",
9 | "android"
10 | ],
11 | "version": "2.4.0",
12 | "orientation": "portrait",
13 | "icon": "./assets/icon.png",
14 | "splash": {
15 | "image": "./assets/splash.png",
16 | "resizeMode": "contain",
17 | "backgroundColor": "#ffffff"
18 | },
19 | "updates": {
20 | "fallbackToCacheTimeout": 0
21 | },
22 | "assetBundlePatterns": [
23 | "**/*"
24 | ],
25 | "ios": {
26 | "supportsTablet": true,
27 | "bundleIdentifier": "com.vinbusquet.react-trivia-game"
28 | },
29 | "android": {
30 | "package": "com.vinbusquet.triviagame"
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/assets/animations/101-x-pop.json:
--------------------------------------------------------------------------------
1 | {"v":"4.5.9","fr":60,"ip":0,"op":120,"w":300,"h":300,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"smallCircle5","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[133.426,147.301,0],"e":[69.676,167.301,0],"to":[-10.625,3.33333325386047,0],"ti":[10.625,-3.33333325386047,0]},{"t":12}]},"a":{"a":0,"k":[-32.449,76.551,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[7.102,7.102]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.94,0.166,0.692,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-32.449,76.551],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"smallCircle4","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[144.676,133.926,0],"e":[118.926,69.926,0],"to":[-4.29166650772095,-10.6666669845581,0],"ti":[4.29166650772095,10.6666669845581,0]},{"t":12}]},"a":{"a":0,"k":[-32.449,76.551,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[7.102,7.102]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.94,0.166,0.692,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-32.449,76.551],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"smallCircle3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[159.551,138.051,0],"e":[218.801,76.551,0],"to":[9.875,-10.25,0],"ti":[-9.875,10.25,0]},{"t":12}]},"a":{"a":0,"k":[-32.449,76.551,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[7.102,7.102]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.94,0.166,0.692,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-32.449,76.551],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"smallCircle2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[156.926,162.301,0],"e":[230.176,204.301,0],"to":[12.2083330154419,7,0],"ti":[-12.2083330154419,-7,0]},{"t":12}]},"a":{"a":0,"k":[-32.449,76.551,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[7.102,7.102]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.94,0.166,0.692,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-32.449,76.551],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"smallCircle1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[142.301,162.676,0],"e":[131.301,249.176,0],"to":[-1.83333337306976,14.4166669845581,0],"ti":[1.83333337306976,-14.4166669845581,0]},{"t":12}]},"a":{"a":0,"k":[-32.449,76.551,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[7.102,7.102]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.94,0.166,0.692,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-32.449,76.551],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"bigCircle5","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[136.6,141.6,0],"e":[66.1,185.85,0],"to":[-11.75,7.375,0],"ti":[11.75,-7.375,0]},{"t":12}]},"a":{"a":0,"k":[-72.275,38.725,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3.449,3.449]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.908,0.059,0.259,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-72.275,38.725],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[292.94,292.94],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":6,"ty":4,"nm":"bigCircle4","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[164.1,140.1,0],"e":[199.85,89.35,0],"to":[5.95833349227905,-8.45833301544189,0],"ti":[-5.95833349227905,8.45833301544189,0]},{"t":12}]},"a":{"a":0,"k":[-72.275,38.725,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3.449,3.449]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.908,0.059,0.259,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-72.275,38.725],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[292.94,292.94],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":7,"ty":4,"nm":"bigCircle3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[146.225,132.1,0],"e":[122.975,84.35,0],"to":[-3.875,-7.95833349227905,0],"ti":[3.875,7.95833349227905,0]},{"t":12}]},"a":{"a":0,"k":[-72.275,38.725,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3.449,3.449]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.908,0.059,0.259,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-72.275,38.725],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[292.94,292.94],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":8,"ty":4,"nm":"bigCircle2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[162.85,157.475,0],"e":[216.1,188.725,0],"to":[8.875,5.20833349227905,0],"ti":[-8.875,-5.20833349227905,0]},{"t":12}]},"a":{"a":0,"k":[-72.275,38.725,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3.449,3.449]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.908,0.059,0.259,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-72.275,38.725],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[292.94,292.94],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":9,"ty":4,"nm":"bigCircle1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1,"s":[139.475,156.85,0],"e":[123.475,221.1,0],"to":[-2.66666674613953,10.7083330154419,0],"ti":[2.66666674613953,-10.7083330154419,0]},{"t":12}]},"a":{"a":0,"k":[-72.275,38.725,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":8,"s":[100,100,100],"e":[0,0,100]},{"t":17}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3.449,3.449]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.908,0.059,0.259,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-72.275,38.725],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[292.94,292.94],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":10,"ty":4,"nm":"check","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":1,"s":[0],"e":[100]},{"t":18}]},"r":{"a":1,"k":[{"i":{"x":[0.66],"y":[2.045]},"o":{"x":[0.167],"y":[0.167]},"n":["0p66_2p045_0p167_0p167"],"t":1,"s":[-164],"e":[0]},{"i":{"x":[0.074],"y":[0.984]},"o":{"x":[0],"y":[0]},"n":["0p074_0p984_0_0"],"t":18,"s":[0],"e":[-36.525]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.666],"y":[-0.009]},"n":["0p833_1_0p666_-0p009"],"t":23,"s":[-36.525],"e":[18.356]},{"i":{"x":[0.57],"y":[0.989]},"o":{"x":[0.167],"y":[0]},"n":["0p57_0p989_0p167_0"],"t":29,"s":[18.356],"e":[-13.643]},{"i":{"x":[0.57],"y":[1.046]},"o":{"x":[0.427],"y":[-0.031]},"n":["0p57_1p046_0p427_-0p031"],"t":34,"s":[-13.643],"e":[0]},{"t":40}]},"p":{"a":0,"k":[150,150,0]},"a":{"a":0,"k":[-5.5,-5.5,0]},"s":{"a":1,"k":[{"i":{"x":[0.842,0.842,0.833],"y":[1.621,1.621,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p842_1p621_0p167_0p167","0p842_1p621_0p167_0p167","0p833_0p833_0p167_0p167"],"t":1,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.349,0.349,0.833],"y":[1.018,1.018,0.833]},"o":{"x":[0,0,0],"y":[0,0,0]},"n":["0p349_1p018_0_0","0p349_1p018_0_0","0p833_0p833_0_0"],"t":18,"s":[100,100,100],"e":[92.786,92.786,100]},{"i":{"x":[0.783,0.783,0.833],"y":[2.448,2.448,0.833]},"o":{"x":[0.671,0.671,0.167],"y":[0.024,0.024,0.167]},"n":["0p783_2p448_0p671_0p024","0p783_2p448_0p671_0p024","0p833_0p833_0p167_0p167"],"t":25,"s":[92.786,92.786,100],"e":[100,100,100]},{"t":34}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-55,-49],[25.5,52]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.799,0.158,0.158,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-55,51],[-15.5,5.5],[25,-50.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.799,0.158,0.158,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":120,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/assets/animations/2151-loading-hamster.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.10","fr":20,"ip":0,"op":10,"w":160,"h":160,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[80.5,76,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[116.965,127.679,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[120,120]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"gs","o":{"a":0,"k":100},"w":{"a":0,"k":4},"g":{"p":7,"k":{"a":0,"k":[0,0.394,0.906,0.647,0.134,0.395,0.906,0.647,0.268,0.396,0.906,0.647,0.274,0.28,0.849,0.48,0.28,0.165,0.792,0.314,0.64,0.165,0.792,0.314,1,0.165,0.792,0.314]}},"s":{"a":0,"k":[-22.863,-0.406]},"e":{"a":0,"k":[101.338,-0.812]},"t":1,"lc":1,"lj":1,"ml":4,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke"},{"ty":"tr","p":{"a":0,"k":[-0.75,3.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[99.287,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-720],"e":[-365]},{"t":10}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":205,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":-3.003},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[92.75,118.75,0],"e":[92.75,121.5,0],"to":[0,0.45833334326744,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[92.75,121.5,0],"e":[92.75,118.75,0],"to":[0,0,0],"ti":[0,0.45833334326744,0]},{"t":10}]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[84.753,96.459,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[8.25,7.75]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[31.375,-9.375],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":11,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":-3.003},"p":{"a":0,"k":[88.5,119.5,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[84.753,96.459,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[3.047,-1.793],[0,0],[0,0],[0,0],[0,0],[10.251,-11.39],[0,0],[-5.25,-8.25],[0,0],[0.25,-16.25],[1.225,-6.982],[-0.905,-0.74],[-1.515,2.331],[-18.016,-1.386],[-1.25,-1],[6,4.75],[0,0],[2.75,2.75],[-1.538,-1.923],[-14.25,3.5],[5.75,8.75],[0,0]],"o":[[-4.25,2.5],[0,0],[0,0],[0,0],[0,0],[-2.25,2.5],[0,0],[5.25,8.25],[0,0],[-0.067,4.324],[-0.48,2.738],[4.969,4.06],[3.25,-5],[3.25,0.25],[1.25,1],[-1.616,-1.28],[0,0],[-2.75,-2.75],[2,2.5],[14.25,-3.5],[-5.75,-8.75],[0,0]],"v":[[12.5,-28.75],[14.75,-20.25],[4.058,-23.074],[-4.856,-25.429],[-11.75,-27.25],[-41,-20],[-49,-24.25],[-50.75,-19],[-43.75,-15.5],[-53.893,5.757],[-53.408,15.217],[-55.846,21.884],[-34.069,17.804],[3,19.5],[20.75,24.5],[27.5,19.5],[16.25,13.25],[6.5,5],[7.5,2.25],[34,11.25],[57.75,-10.5],[28.25,-23]],"c":true}],"e":[{"i":[[3.047,-1.793],[0,0],[0,0],[0,0],[0,0],[10.251,-11.39],[0,0],[-5.25,-8.25],[0,0],[0.25,-16.25],[-3.669,-4.557],[-1.137,-0.272],[-1.515,2.331],[-16.768,6.732],[-1.25,-1],[-3.5,8.75],[0,0],[2.75,2.75],[-1.538,-1.923],[-14.25,3.5],[5.75,8.75],[0,0]],"o":[[-4.25,2.5],[0,0],[0,0],[0,0],[0,0],[-2.25,2.5],[0,0],[5.25,8.25],[0,0],[-0.067,4.324],[3.78,4.695],[1.958,0.468],[3.25,-5],[2.089,-0.839],[1.25,1],[0.766,-1.914],[0,0],[-2.75,-2.75],[2,2.5],[14.25,-3.5],[-5.75,-8.75],[0,0]],"v":[[17.25,-31.25],[14.75,-20.25],[4.058,-23.074],[-4.856,-25.429],[-11.75,-27.25],[-41,-20],[-47,-25.25],[-49.75,-21],[-43.75,-15.5],[-51.622,5.9],[-45.305,20.797],[-33.415,31.38],[-28.75,20.25],[3,19.5],[5.373,30.77],[16.894,23.152],[16,12.25],[6.5,5],[7.5,2.25],[31.75,12.75],[57.75,-6.5],[28.25,-23]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[{"i":[[3.047,-1.793],[0,0],[0,0],[0,0],[0,0],[10.251,-11.39],[0,0],[-5.25,-8.25],[0,0],[0.25,-16.25],[-3.669,-4.557],[-1.137,-0.272],[-1.515,2.331],[-16.768,6.732],[-1.25,-1],[-3.5,8.75],[0,0],[2.75,2.75],[-1.538,-1.923],[-14.25,3.5],[5.75,8.75],[0,0]],"o":[[-4.25,2.5],[0,0],[0,0],[0,0],[0,0],[-2.25,2.5],[0,0],[5.25,8.25],[0,0],[-0.067,4.324],[3.78,4.695],[1.958,0.468],[3.25,-5],[2.089,-0.839],[1.25,1],[0.766,-1.914],[0,0],[-2.75,-2.75],[2,2.5],[14.25,-3.5],[-5.75,-8.75],[0,0]],"v":[[17.25,-31.25],[14.75,-20.25],[4.058,-23.074],[-4.856,-25.429],[-11.75,-27.25],[-41,-20],[-47,-25.25],[-49.75,-21],[-43.75,-15.5],[-51.622,5.9],[-45.305,20.797],[-33.415,31.38],[-28.75,20.25],[3,19.5],[5.373,30.77],[16.894,23.152],[16,12.25],[6.5,5],[7.5,2.25],[31.75,12.75],[57.75,-6.5],[28.25,-23]],"c":true}],"e":[{"i":[[3.047,-1.793],[0,0],[0,0],[0,0],[0,0],[10.251,-11.39],[0,0],[-5.25,-8.25],[0,0],[-4.75,-15.75],[-1.508,-1.838],[-1.37,0.576],[-1.022,1.572],[-18.016,-1.386],[-1.25,-1],[3.344,13.375],[0,0],[2.75,2.75],[-1.538,-1.923],[-14.25,3.5],[5.75,8.75],[0,0]],"o":[[-4.25,2.5],[0,0],[0,0],[0,0],[0,0],[-2.25,2.5],[0,0],[5.25,8.25],[0,0],[1.604,5.318],[1.554,1.894],[1.238,-0.52],[3.25,-5],[3.25,0.25],[1.25,1],[-0.5,-2],[0,0],[-2.75,-2.75],[2,2.5],[14.25,-3.5],[-5.75,-8.75],[0,0]],"v":[[18.5,-27.75],[14.75,-20.25],[4.058,-23.074],[-4.856,-25.429],[-11.75,-27.25],[-41,-20],[-47.5,-26],[-48.75,-20.5],[-43.75,-15.5],[-48.5,16.5],[-43.812,26.951],[-39.405,28.618],[-36,25.25],[3,19.5],[17,26.75],[27.5,19.5],[16.25,13.25],[6.5,5],[7.5,2.25],[33.25,13],[58.25,-6.75],[28.5,-22]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[{"i":[[3.047,-1.793],[0,0],[0,0],[0,0],[0,0],[10.251,-11.39],[0,0],[-5.25,-8.25],[0,0],[-4.75,-15.75],[-1.508,-1.838],[-1.37,0.576],[-1.022,1.572],[-18.016,-1.386],[-1.25,-1],[3.344,13.375],[0,0],[2.75,2.75],[-1.538,-1.923],[-14.25,3.5],[5.75,8.75],[0,0]],"o":[[-4.25,2.5],[0,0],[0,0],[0,0],[0,0],[-2.25,2.5],[0,0],[5.25,8.25],[0,0],[1.604,5.318],[1.554,1.894],[1.238,-0.52],[3.25,-5],[3.25,0.25],[1.25,1],[-0.5,-2],[0,0],[-2.75,-2.75],[2,2.5],[14.25,-3.5],[-5.75,-8.75],[0,0]],"v":[[18.5,-27.75],[14.75,-20.25],[4.058,-23.074],[-4.856,-25.429],[-11.75,-27.25],[-41,-20],[-47.5,-26],[-48.75,-20.5],[-43.75,-15.5],[-48.5,16.5],[-43.812,26.951],[-39.405,28.618],[-36,25.25],[3,19.5],[17,26.75],[27.5,19.5],[16.25,13.25],[6.5,5],[7.5,2.25],[33.25,13],[58.25,-6.75],[28.5,-22]],"c":true}],"e":[{"i":[[3.047,-1.793],[0,0],[0,0],[0,0],[0,0],[10.251,-11.39],[0,0],[-3.75,-8.75],[0,0],[3.591,-15.85],[1.172,-3.654],[0.489,-1.248],[-4.588,1.957],[-18.016,-1.386],[0.5,-0.5],[0,6.27],[0,0],[1.5,3.5],[-1.538,-1.923],[-14.25,3.5],[3.5,7.75],[0,0]],"o":[[-4.25,2.5],[0,0],[0,0],[0,0],[0,0],[-2.25,2.5],[0,0],[3.852,8.988],[0,0],[-0.719,3.175],[-1.631,5.087],[-1.593,4.065],[6.047,-2.58],[3.25,0.25],[6.5,0.5],[0,-2.75],[0,0],[-1.532,-3.575],[2,2.5],[14.25,-3.5],[-4.309,-9.542],[0,0]],"v":[[16.262,-27.809],[14.5,-20.25],[3.074,-23.297],[-4.971,-25.442],[-11.75,-27.25],[-41,-20],[-47,-25.25],[-49.75,-21],[-43.75,-15.5],[-50.169,-4.277],[-51.13,6.058],[-56.991,17.37],[-35.981,19.531],[3,19.5],[23.602,25.758],[31.31,21.015],[14.75,14],[6.5,5],[9.75,6.25],[34.18,13.514],[58.406,-10.128],[28.75,-21]],"c":true}]},{"t":9}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.1647059,0.7921569,0.3137255,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":11,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/assets/animations/4284-notification.json:
--------------------------------------------------------------------------------
1 | {"v":"5.4.3","fr":30,"ip":0,"op":90,"w":128,"h":128,"nm":"preview","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"ic_bell_12 Outlines","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":7,"s":[100],"e":[40]},{"t":11}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,56,0],"ix":2},"a":{"a":0,"k":[6,6,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":7,"s":[200,200,100],"e":[240,240,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":11,"s":[240,240,100],"e":[200,200,100]},{"t":15}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.104,0],[0,1.104],[0,0]],"o":[[1.104,0],[0,0],[0,1.104]],"v":[[0,6],[2,4],[-2,4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.139,0.049],[0.055,1.314],[0,0],[1.489,0],[0.368,0],[0,-0.355],[0.06,-1.435],[0,0],[1.264,-0.449],[0,-0.143],[0,0],[-0.184,0],[0,0],[0,0.177],[0,0]],"o":[[-1.265,-0.449],[0,0],[-0.058,-1.435],[0,-0.355],[-0.368,0],[-1.489,0],[0,0],[-0.054,1.314],[-0.139,0.049],[0,0],[0,0.177],[0,0],[0.184,0],[0,0],[0,-0.143]],"v":[[5.761,1.961],[3.569,-0.945],[3.439,-2.788],[0.667,-5.357],[0,-6],[-0.667,-5.357],[-3.44,-2.788],[-3.57,-0.945],[-5.761,1.961],[-6,2.278],[-6,2.679],[-5.667,3],[5.667,3],[6,2.679],[6,2.278]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":7,"s":[1,1,1,1],"e":[0,0,0,1]},{"t":11}],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[6,6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,56,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100,100],"e":[0,0,100]},{"t":7}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[48,48],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.949019610882,0.474509805441,0.207843139768,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,56,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[160,160,100],"e":[200,200,100]},{"t":5}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":1,"ml2":{"a":0,"k":1,"ix":8},"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"ic_bell_12 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,56,0],"ix":2},"a":{"a":0,"k":[6,6,0],"ix":1},"s":{"a":0,"k":[200,200,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.104,0],[0,1.104],[0,0]],"o":[[1.104,0],[0,0],[0,1.104]],"v":[[0,6],[2,4],[-2,4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.139,0.049],[0.055,1.314],[0,0],[1.489,0],[0.368,0],[0,-0.355],[0.06,-1.435],[0,0],[1.264,-0.449],[0,-0.143],[0,0],[-0.184,0],[0,0],[0,0.177],[0,0]],"o":[[-1.265,-0.449],[0,0],[-0.058,-1.435],[0,-0.355],[-0.368,0],[-1.489,0],[0,0],[-0.054,1.314],[-0.139,0.049],[0,0],[0,0.177],[0,0],[0.184,0],[0,0],[0,-0.143]],"v":[[5.761,1.961],[3.569,-0.945],[3.439,-2.788],[0.667,-5.357],[0,-6],[-0.667,-5.357],[-3.44,-2.788],[-3.57,-0.945],[-5.761,1.961],[-6,2.278],[-6,2.679],[-5.667,3],[5.667,3],[6,2.679],[6,2.278]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[6,6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,56,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[48,48],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.949019610882,0.474509805441,0.207843139768,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"bell@2x","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4,"s":[0],"e":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":8,"s":[5],"e":[-5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":11,"s":[-5],"e":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":14,"s":[5],"e":[-5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[-5],"e":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[5],"e":[0]},{"t":22}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[56,44,0],"e":[56,32,0],"to":[0,-2,0],"ti":[0,2,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":4,"s":[56,32,0],"e":[56,32,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[56,32,0],"e":[56,44,0],"to":[0,2,0],"ti":[0,-2,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[48,48,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":0,"s":[50,50,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":4,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":22,"s":[100,100,100],"e":[50,50,100]},{"t":30}],"ix":6}},"ao":0,"w":96,"h":96,"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,56,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":0,"s":[100,100,100],"e":[224,224,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_1_0p333_0"],"t":4,"s":[224,224,100],"e":[192,192,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":7,"s":[192,192,100],"e":[200,200,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0","0p667_1_0p167_0"],"t":9,"s":[200,200,100],"e":[200,200,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":22,"s":[200,200,100],"e":[100,100,100]},{"t":30}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[48,48],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.949019610882,0.474509805441,0.207843139768,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"ic_bell_24 Outlines 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,72,0],"ix":2},"a":{"a":0,"k":[12,12,0],"ix":1},"s":{"a":0,"k":[200,200,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.28,0.1],[0.108,2.629],[0,0],[2.979,0],[0.736,0],[0,-0.71],[0.118,-2.87],[0,0],[2.529,-0.899],[0,-0.287],[0,0],[-0.369,0],[0,0],[0,0.355],[0,0]],"o":[[-2.528,-0.899],[0,0],[-0.119,-2.87],[0,-0.71],[-0.736,0],[-2.979,0],[0,0],[-0.11,2.629],[-0.279,0.1],[0,0],[0,0.355],[0,0],[0.368,0],[0,0],[0,-0.287]],"v":[[11.521,3.921],[7.14,-1.891],[6.88,-5.576],[1.333,-10.714],[0,-12],[-1.333,-10.714],[-6.879,-5.576],[-7.139,-1.891],[-11.522,3.921],[-12,4.557],[-12,5.357],[-11.333,6],[11.333,6],[12,5.357],[12,4.557]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[12,12],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"ic_bell_24 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[48,72,0],"e":[48,72,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[48,72,0],"e":[38,72,0],"to":[-1.66666662693024,0,0],"ti":[-1.66666662693024,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":9,"s":[38,72,0],"e":[58,72,0],"to":[1.66666662693024,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[58,72,0],"e":[38,72,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":15,"s":[38,72,0],"e":[58,72,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18,"s":[58,72,0],"e":[38,72,0],"to":[0,0,0],"ti":[1.66666662693024,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":21,"s":[38,72,0],"e":[48,72,0],"to":[-1.66666662693024,0,0],"ti":[-1.66666662693024,0,0]},{"t":25}],"ix":2},"a":{"a":0,"k":[12,12,0],"ix":1},"s":{"a":0,"k":[200,200,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.102,0],[-0.162,2.061],[0.171,0],[0,0],[-0.013,-0.172]],"o":[[2.103,0],[0.014,-0.172],[0,0],[-0.172,0],[0.162,2.061]],"v":[[0,12],[3.987,8.318],[3.684,8],[-3.683,8],[-3.988,8.318]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[12,12],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"ic_bell_12 Outlines","sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,56,0],"ix":2},"a":{"a":0,"k":[6,6,0],"ix":1},"s":{"a":0,"k":[200,200,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.104,0],[0,1.104],[0,0]],"o":[[1.104,0],[0,0],[0,1.104]],"v":[[0,6],[2,4],[-2,4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.139,0.049],[0.055,1.314],[0,0],[1.489,0],[0.368,0],[0,-0.355],[0.06,-1.435],[0,0],[1.264,-0.449],[0,-0.143],[0,0],[-0.184,0],[0,0],[0,0.177],[0,0]],"o":[[-1.265,-0.449],[0,0],[-0.058,-1.435],[0,-0.355],[-0.368,0],[-1.489,0],[0,0],[-0.054,1.314],[-0.139,0.049],[0,0],[0,0.177],[0,0],[0.184,0],[0,0],[0,-0.143]],"v":[[5.761,1.961],[3.569,-0.945],[3.439,-2.788],[0.667,-5.357],[0,-6],[-0.667,-5.357],[-3.44,-2.788],[-3.57,-0.945],[-5.761,1.961],[-6,2.278],[-6,2.679],[-5.667,3],[5.667,3],[6,2.679],[6,2.278]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[6,6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,56,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[200,200,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":1,"ml2":{"a":0,"k":1,"ix":8},"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"ic_bell_disabled@2x","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[64,64,0],"ix":2},"a":{"a":0,"k":[56,56,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":112,"h":112,"ip":60,"op":90,"st":60,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"ic_bell_activated_n@2x","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[64,64,0],"ix":2},"a":{"a":0,"k":[56,56,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":112,"h":112,"ip":45,"op":60,"st":45,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"ic_bell_activated@2x","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[64,64,0],"ix":2},"a":{"a":0,"k":[56,56,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":112,"h":112,"ip":16,"op":45,"st":16,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"ic_bell_disabled_n@2x","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[64,64,0],"ix":2},"a":{"a":0,"k":[56,56,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":112,"h":112,"ip":0,"op":16,"st":0,"bm":0}],"markers":[]}
--------------------------------------------------------------------------------
/assets/animations/433-checked-done.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.3","fr":24,"ip":0,"op":21,"w":320,"h":320,"nm":"checklist","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 13","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":300},"p":{"a":0,"k":[160,159.5,0]},"a":{"a":0,"k":[0,-34,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":17}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.7921569,0.4470588,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":6,"s":[-8.142,-92.147],"e":[-7.675,-162.544],"to":[0.07779947668314,-11.7327470779419],"ti":[-0.07779947668314,11.7327470779419]},{"t":17}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[83.981,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":6,"s":[20.367],"e":[6.367]},{"t":17}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":21}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.9070925,0.5119235,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[16.585,-99.759],"e":[28.521,-187.495],"to":[1.9892578125,-14.6227216720581],"ti":[-1.9892578125,14.6227216720581]},{"t":21}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[97.419,116],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[14.733],"e":[8.733]},{"t":21}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"}],"ip":6,"op":22,"st":-21,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 12","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":250},"p":{"a":0,"k":[160,159.5,0]},"a":{"a":0,"k":[0,-34,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":17}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.7921569,0.4470588,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":6,"s":[-8.142,-92.147],"e":[-7.675,-162.544],"to":[0.07779947668314,-11.7327470779419],"ti":[-0.07779947668314,11.7327470779419]},{"t":17}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[83.981,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":6,"s":[20.367],"e":[6.367]},{"t":17}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":21}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.9070925,0.5119235,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[16.585,-99.759],"e":[28.521,-187.495],"to":[1.9892578125,-14.6227216720581],"ti":[-1.9892578125,14.6227216720581]},{"t":21}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[97.419,116],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[14.733],"e":[8.733]},{"t":21}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"}],"ip":6,"op":22,"st":-21,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 11","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":200},"p":{"a":0,"k":[160,159.5,0]},"a":{"a":0,"k":[0,-34,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":17}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.7921569,0.4470588,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":6,"s":[-8.142,-92.147],"e":[-7.675,-162.544],"to":[0.07779947668314,-11.7327470779419],"ti":[-0.07779947668314,11.7327470779419]},{"t":17}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[83.981,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":6,"s":[20.367],"e":[6.367]},{"t":17}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":21}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.9070925,0.5119235,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[16.585,-99.759],"e":[28.521,-187.495],"to":[1.9892578125,-14.6227216720581],"ti":[-1.9892578125,14.6227216720581]},{"t":21}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[97.419,116],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[14.733],"e":[8.733]},{"t":21}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"}],"ip":6,"op":22,"st":-21,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 10","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":150},"p":{"a":0,"k":[160,159.5,0]},"a":{"a":0,"k":[0,-34,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":17}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.7921569,0.4470588,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":6,"s":[-8.142,-92.147],"e":[-7.675,-162.544],"to":[0.07779947668314,-11.7327470779419],"ti":[-0.07779947668314,11.7327470779419]},{"t":17}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[83.981,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":6,"s":[20.367],"e":[6.367]},{"t":17}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":21}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.9070925,0.5119235,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[16.585,-99.759],"e":[28.521,-187.495],"to":[1.9892578125,-14.6227216720581],"ti":[-1.9892578125,14.6227216720581]},{"t":21}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[97.419,116],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[14.733],"e":[8.733]},{"t":21}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"}],"ip":6,"op":22,"st":-21,"bm":0,"sr":1},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 9","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":100},"p":{"a":0,"k":[160,159.5,0]},"a":{"a":0,"k":[0,-34,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":17}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.7921569,0.4470588,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":6,"s":[-8.142,-92.147],"e":[-7.675,-162.544],"to":[0.07779947668314,-11.7327470779419],"ti":[-0.07779947668314,11.7327470779419]},{"t":17}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[83.981,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":6,"s":[20.367],"e":[6.367]},{"t":17}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":21}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.9070925,0.5119235,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[16.585,-99.759],"e":[28.521,-187.495],"to":[1.9892578125,-14.6227216720581],"ti":[-1.9892578125,14.6227216720581]},{"t":21}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[97.419,116],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[14.733],"e":[8.733]},{"t":21}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"}],"ip":6,"op":22,"st":-21,"bm":0,"sr":1},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 8","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":50},"p":{"a":0,"k":[160,159.5,0]},"a":{"a":0,"k":[0,-34,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":17}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.7921569,0.4470588,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":6,"s":[-8.142,-92.147],"e":[-7.675,-162.544],"to":[0.07779947668314,-11.7327470779419],"ti":[-0.07779947668314,11.7327470779419]},{"t":17}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[83.981,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":6,"s":[20.367],"e":[6.367]},{"t":17}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":21}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.9070925,0.5119235,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[16.585,-99.759],"e":[28.521,-187.495],"to":[1.9892578125,-14.6227216720581],"ti":[-1.9892578125,14.6227216720581]},{"t":21}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[97.419,116],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[14.733],"e":[8.733]},{"t":21}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"}],"ip":6,"op":22,"st":-21,"bm":0,"sr":1},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 7","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[160,159.5,0]},"a":{"a":0,"k":[0,-34,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":17}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.7921569,0.4470588,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":6,"s":[-8.142,-92.147],"e":[-7.675,-162.544],"to":[0.07779947668314,-11.7327470779419],"ti":[-0.07779947668314,11.7327470779419]},{"t":17}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[83.981,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":6,"s":[20.367],"e":[6.367]},{"t":17}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":6,"s":[15.021,15.021],"e":[0,0]},{"t":21}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0.0823529,0.6784314,0.3843137,1],"e":[0,0.9070925,0.5119235,1]},{"t":17}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[16.585,-99.759],"e":[28.521,-187.495],"to":[1.9892578125,-14.6227216720581],"ti":[-1.9892578125,14.6227216720581]},{"t":21}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[97.419,116],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[14.733],"e":[8.733]},{"t":21}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"}],"ip":6,"op":22,"st":-21,"bm":0,"sr":1},{"ddd":0,"ind":9,"ty":4,"nm":"Shape Layer 5","parent":11,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":-44},"p":{"a":0,"k":[0.378,-0.641,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[7.39,7.39,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0]],"o":[[0,0]],"v":[[-274.219,-254.097]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-17,-16],[-17,10.5],[41,10.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":1,"ml":5,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"}],"ip":7,"op":22,"st":-21,"bm":0,"sr":1},{"ddd":0,"ind":10,"ty":4,"nm":"Shape Layer 6","ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":4,"s":[50],"e":[0]},{"t":14}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[160,160,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":4,"s":[100,100,100],"e":[1085,1085,100]},{"t":14}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[19.779,19.779]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0,0.7921569,0.4470588,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.068,0.036],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":4,"op":22,"st":-23,"bm":0,"sr":1},{"ddd":0,"ind":11,"ty":4,"nm":"Shape Layer 4","ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[30],"e":[100]},{"t":9}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[160.312,161.188,0]},"a":{"a":0,"k":[0.812,-0.562,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":6,"s":[100,100,100],"e":[1087,1087,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":11,"s":[1087,1087,100],"e":[866,866,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":13,"s":[866,866,100],"e":[878,878,100]},{"t":16}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[10.068,10.068]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0,0.7921569,0.4470588,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0.784,-0.716],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":6,"op":22,"st":-19,"bm":0,"sr":1},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[161,160,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":3,"s":[100,100,100],"e":[224,224,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":4,"s":[224,224,100],"e":[476,476,100]},{"t":8}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[6.009,6.009]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":4,"s":[0.0558609,0.688557,0.3778246,1],"e":[0.1089485,0.6693168,0.3941063,1]},{"t":8}]},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":4,"s":[0],"e":[100]},{"t":5}]},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":4,"s":[3],"e":[0]},{"t":8}]},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0,0.7921569,0.4470588,1]},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":3,"s":[100],"e":[99]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":4,"s":[99],"e":[0]},{"t":5}]},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.338,0.065],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[649.112,649.112],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":3,"op":22,"st":-21,"bm":0,"sr":1},{"ddd":0,"ind":13,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[160.142,159.987,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[377.603,377.603,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[22.315,22.315]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.8352941,0.8352941,0.8352941,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":1},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.038,0.003],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":-21,"op":22,"st":-21,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/assets/animations/4386-connection-error.json:
--------------------------------------------------------------------------------
1 | {"v":"5.1.5","fr":29.9700012207031,"ip":0,"op":42.0000017106951,"w":32,"h":32,"nm":"System-states-Sin conexión","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":3,"ty":4,"nm":"! contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[16,16,0],"ix":2},"a":{"a":0,"k":[8.25,8.25,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.847,0.847,0.667],"y":[1,1,1]},"o":{"x":[1,1,0.333],"y":[0,0,0]},"n":["0p847_1_1_0","0p847_1_1_0","0p667_1_0p333_0"],"t":0,"s":[100,100,100],"e":[130,130,100]},{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.127,0.127,0.333],"y":[0,0,0]},"n":["0_1_0p127_0","0_1_0p127_0","0p667_1_0p333_0"],"t":21,"s":[130,130,100],"e":[100,100,100]},{"t":42.0000017106951}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.442,0],[0,-0.443],[-0.442,0],[0,0.441]],"o":[[-0.442,0],[0,0.441],[0.442,0],[0,-0.443]],"v":[[0,-0.8],[-0.8,0],[0,0.8],[0.8,0]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[8.25,12.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.221,0],[0,0.221],[0,0],[0.221,0],[0,-0.221],[0,0]],"o":[[0.221,0],[0,0],[0,-0.221],[-0.221,0],[0,0],[0,0.221]],"v":[[0,2.544],[0.4,2.144],[0.4,-2.144],[0,-2.544],[-0.4,-2.144],[-0.4,2.144]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[8.25,7.194],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.416],[-4.416,0],[0,4.416],[4.416,0]],"o":[[0,4.416],[4.416,0],[0,-4.416],[-4.416,0]],"v":[[-8,0],[0,8],[8,0],[0,-8]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.172999991623,0.340999977261,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[8.25,8.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 3","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":3597.00014650881,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Sombra contornos","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":8.4,"s":[100],"e":[0]},{"t":23.8000009693939}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[16,16,0],"ix":2},"a":{"a":0,"k":[8.25,8.25,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.847,0.847,0.667],"y":[1,1,1]},"o":{"x":[1,1,0.333],"y":[0,0,0]},"n":["0p847_1_1_0","0p847_1_1_0","0p667_1_0p333_0"],"t":0,"s":[100,100,100],"e":[180,180,100]},{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.127,0.127,0.333],"y":[0,0,0]},"n":["0_1_0p127_0","0_1_0p127_0","0p667_1_0p333_0"],"t":21,"s":[180,180,100],"e":[100,100,100]},{"t":42.0000017106951}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.416],[-4.416,0],[0,4.416],[4.416,0]],"o":[[0,4.416],[4.416,0],[0,-4.416],[-4.416,0]],"v":[[-8,0],[0,8],[8,0],[0,-8]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.172999991623,0.340999977261,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[8.25,8.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 3","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":3597.00014650881,"st":0,"bm":0}],"markers":[]}
--------------------------------------------------------------------------------
/assets/animations/677-trophy.json:
--------------------------------------------------------------------------------
1 | {"v":"4.10.1","fr":29.9700012207031,"ip":0,"op":60.0000024438501,"w":550,"h":400,"nm":"trofeu_camadas 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"estrela/trofeu_camadas contornos","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":31,"s":[100],"e":[0]},{"t":47.0000019143492}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":24,"s":[0],"e":[-364.604]},{"t":40.0000016292334}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":24,"s":[277,204,0],"e":[72,66,0],"to":[-8.16666698455811,-29.3333339691162,0],"ti":[143.16667175293,-10.1666669845581,0]},{"t":40.0000016292334}],"ix":2},"a":{"a":0,"k":[48,46,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,12.45]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_12p45"],"t":24,"s":[16.667,16.667,100],"e":[91.367,91.367,100]},{"t":40.0000016292334}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[0,0],[0,0],[-2.548,1.855],[0.523,3.087],[0,0]],"o":[[2.277,-2.193],[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.674],[0,0],[0,0],[2.733,1.433],[2.546,-1.856],[0,0],[0,0]],"v":[[20.859,-4.095],[22.783,-11.914],[16.583,-17],[-6.647,-20.492],[-16.946,-41.444],[-19.856,-44.38],[-23.778,-45.392],[-23.778,33.001],[-3.003,43.959],[4.918,43.326],[7.954,35.912],[4.006,12.328]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[71.583,45.642],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[1.214,-0.675],[0.658,-1.249],[0,0],[0,0],[0.996,-3.003],[-2.277,-2.193],[0,0],[0,0],[-2.531,-1.856],[-2.733,1.45],[0,0],[0,0],[-2.531,1.855],[0.523,3.104],[0,0],[0,0]],"o":[[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.675],[-1.417,0],[-1.265,0.709],[0,0],[0,0],[-3.121,0.388],[-0.995,3.02],[0,0],[0,0],[-0.523,3.087],[2.547,1.855],[0,0],[0,0],[2.734,1.45],[2.547,-1.856],[0,0],[0,0],[2.278,-2.193]],"v":[[46.561,-11.91],[40.36,-16.996],[17.13,-20.488],[6.831,-41.439],[3.921,-44.376],[-0.001,-45.387],[-3.948,-44.376],[-6.833,-41.439],[-17.157,-20.488],[-40.385,-16.996],[-46.561,-11.91],[-44.637,-4.091],[-27.785,12.306],[-31.732,35.916],[-28.721,43.33],[-20.801,43.937],[-0.001,33.005],[20.799,43.937],[28.695,43.33],[31.731,35.89],[27.785,12.306],[44.636,-4.091]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.806,45.638],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":24.00000097754,"op":47.0000019143492,"st":10.0000004073083,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"estrela/trofeu_camadas contornos","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":27,"s":[100],"e":[0]},{"t":43.0000017514259}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":20,"s":[0],"e":[-364.604]},{"t":36.0000014663101}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":20,"s":[280,196,0],"e":[70,232,0],"to":[-58,-35.5,0],"ti":[28,-26.5,0]},{"t":36.0000014663101}],"ix":2},"a":{"a":0,"k":[48,46,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,11.786]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_11p786"],"t":20,"s":[16.667,16.667,100],"e":[87.381,87.381,100]},{"t":36.0000014663101}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[0,0],[0,0],[-2.548,1.855],[0.523,3.087],[0,0]],"o":[[2.277,-2.193],[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.674],[0,0],[0,0],[2.733,1.433],[2.546,-1.856],[0,0],[0,0]],"v":[[20.859,-4.095],[22.783,-11.914],[16.583,-17],[-6.647,-20.492],[-16.946,-41.444],[-19.856,-44.38],[-23.778,-45.392],[-23.778,33.001],[-3.003,43.959],[4.918,43.326],[7.954,35.912],[4.006,12.328]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[71.583,45.642],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[1.214,-0.675],[0.658,-1.249],[0,0],[0,0],[0.996,-3.003],[-2.277,-2.193],[0,0],[0,0],[-2.531,-1.856],[-2.733,1.45],[0,0],[0,0],[-2.531,1.855],[0.523,3.104],[0,0],[0,0]],"o":[[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.675],[-1.417,0],[-1.265,0.709],[0,0],[0,0],[-3.121,0.388],[-0.995,3.02],[0,0],[0,0],[-0.523,3.087],[2.547,1.855],[0,0],[0,0],[2.734,1.45],[2.547,-1.856],[0,0],[0,0],[2.278,-2.193]],"v":[[46.561,-11.91],[40.36,-16.996],[17.13,-20.488],[6.831,-41.439],[3.921,-44.376],[-0.001,-45.387],[-3.948,-44.376],[-6.833,-41.439],[-17.157,-20.488],[-40.385,-16.996],[-46.561,-11.91],[-44.637,-4.091],[-27.785,12.306],[-31.732,35.916],[-28.721,43.33],[-20.801,43.937],[-0.001,33.005],[20.799,43.937],[28.695,43.33],[31.731,35.89],[27.785,12.306],[44.636,-4.091]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.806,45.638],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":20.0000008146167,"op":47.0000019143492,"st":6.00000024438501,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"estrela/trofeu_camadas contornos","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":22,"s":[100],"e":[0]},{"t":38.0000015477717}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":15,"s":[0],"e":[-364.604]},{"t":31.0000012626559}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":15,"s":[277,197,0],"e":[98,361,0],"to":[-51.8333320617676,-12.6666669845581,0],"ti":[31.8333339691162,-65.3333358764648,0]},{"t":31.0000012626559}],"ix":2},"a":{"a":0,"k":[48,46,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,10.491]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_10p491"],"t":15,"s":[16.667,16.667,100],"e":[79.612,79.612,100]},{"t":31.0000012626559}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[0,0],[0,0],[-2.548,1.855],[0.523,3.087],[0,0]],"o":[[2.277,-2.193],[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.674],[0,0],[0,0],[2.733,1.433],[2.546,-1.856],[0,0],[0,0]],"v":[[20.859,-4.095],[22.783,-11.914],[16.583,-17],[-6.647,-20.492],[-16.946,-41.444],[-19.856,-44.38],[-23.778,-45.392],[-23.778,33.001],[-3.003,43.959],[4.918,43.326],[7.954,35.912],[4.006,12.328]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[71.583,45.642],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[1.214,-0.675],[0.658,-1.249],[0,0],[0,0],[0.996,-3.003],[-2.277,-2.193],[0,0],[0,0],[-2.531,-1.856],[-2.733,1.45],[0,0],[0,0],[-2.531,1.855],[0.523,3.104],[0,0],[0,0]],"o":[[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.675],[-1.417,0],[-1.265,0.709],[0,0],[0,0],[-3.121,0.388],[-0.995,3.02],[0,0],[0,0],[-0.523,3.087],[2.547,1.855],[0,0],[0,0],[2.734,1.45],[2.547,-1.856],[0,0],[0,0],[2.278,-2.193]],"v":[[46.561,-11.91],[40.36,-16.996],[17.13,-20.488],[6.831,-41.439],[3.921,-44.376],[-0.001,-45.387],[-3.948,-44.376],[-6.833,-41.439],[-17.157,-20.488],[-40.385,-16.996],[-46.561,-11.91],[-44.637,-4.091],[-27.785,12.306],[-31.732,35.916],[-28.721,43.33],[-20.801,43.937],[-0.001,33.005],[20.799,43.937],[28.695,43.33],[31.731,35.89],[27.785,12.306],[44.636,-4.091]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.806,45.638],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":15.0000006109625,"op":47.0000019143492,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"estrela/trofeu_camadas contornos","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":29,"s":[100],"e":[0]},{"t":45.0000018328876}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":22,"s":[0],"e":[-364.604]},{"t":38.0000015477717}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":22,"s":[278,199,0],"e":[489,78,0],"to":[26.1666660308838,-72,0],"ti":[-99.1666641235352,7,0]},{"t":38.0000015477717}],"ix":2},"a":{"a":0,"k":[48,46,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,12.197]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_12p197"],"t":22,"s":[16.667,16.667,100],"e":[89.847,89.847,100]},{"t":38.0000015477717}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[0,0],[0,0],[-2.548,1.855],[0.523,3.087],[0,0]],"o":[[2.277,-2.193],[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.674],[0,0],[0,0],[2.733,1.433],[2.546,-1.856],[0,0],[0,0]],"v":[[20.859,-4.095],[22.783,-11.914],[16.583,-17],[-6.647,-20.492],[-16.946,-41.444],[-19.856,-44.38],[-23.778,-45.392],[-23.778,33.001],[-3.003,43.959],[4.918,43.326],[7.954,35.912],[4.006,12.328]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[71.583,45.642],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[1.214,-0.675],[0.658,-1.249],[0,0],[0,0],[0.996,-3.003],[-2.277,-2.193],[0,0],[0,0],[-2.531,-1.856],[-2.733,1.45],[0,0],[0,0],[-2.531,1.855],[0.523,3.104],[0,0],[0,0]],"o":[[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.675],[-1.417,0],[-1.265,0.709],[0,0],[0,0],[-3.121,0.388],[-0.995,3.02],[0,0],[0,0],[-0.523,3.087],[2.547,1.855],[0,0],[0,0],[2.734,1.45],[2.547,-1.856],[0,0],[0,0],[2.278,-2.193]],"v":[[46.561,-11.91],[40.36,-16.996],[17.13,-20.488],[6.831,-41.439],[3.921,-44.376],[-0.001,-45.387],[-3.948,-44.376],[-6.833,-41.439],[-17.157,-20.488],[-40.385,-16.996],[-46.561,-11.91],[-44.637,-4.091],[-27.785,12.306],[-31.732,35.916],[-28.721,43.33],[-20.801,43.937],[-0.001,33.005],[20.799,43.937],[28.695,43.33],[31.731,35.89],[27.785,12.306],[44.636,-4.091]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.806,45.638],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":22.0000008960784,"op":47.0000019143492,"st":8.00000032584668,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"estrela/trofeu_camadas contornos","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":25,"s":[100],"e":[0]},{"t":41.0000016699642}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":18,"s":[0],"e":[-364.604]},{"t":34.0000013848484}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":18,"s":[278,202,0],"e":[480,253,0],"to":[69.6666641235352,-35,0],"ti":[-15.6666669845581,-44,0]},{"t":34.0000013848484}],"ix":2},"a":{"a":0,"k":[48,46,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,12.956]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_12p956"],"t":18,"s":[16.667,16.667,100],"e":[94.404,94.404,100]},{"t":34.0000013848484}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[0,0],[0,0],[-2.548,1.855],[0.523,3.087],[0,0]],"o":[[2.277,-2.193],[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.674],[0,0],[0,0],[2.733,1.433],[2.546,-1.856],[0,0],[0,0]],"v":[[20.859,-4.095],[22.783,-11.914],[16.583,-17],[-6.647,-20.492],[-16.946,-41.444],[-19.856,-44.38],[-23.778,-45.392],[-23.778,33.001],[-3.003,43.959],[4.918,43.326],[7.954,35.912],[4.006,12.328]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[71.583,45.642],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[1.214,-0.675],[0.658,-1.249],[0,0],[0,0],[0.996,-3.003],[-2.277,-2.193],[0,0],[0,0],[-2.531,-1.856],[-2.733,1.45],[0,0],[0,0],[-2.531,1.855],[0.523,3.104],[0,0],[0,0]],"o":[[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.675],[-1.417,0],[-1.265,0.709],[0,0],[0,0],[-3.121,0.388],[-0.995,3.02],[0,0],[0,0],[-0.523,3.087],[2.547,1.855],[0,0],[0,0],[2.734,1.45],[2.547,-1.856],[0,0],[0,0],[2.278,-2.193]],"v":[[46.561,-11.91],[40.36,-16.996],[17.13,-20.488],[6.831,-41.439],[3.921,-44.376],[-0.001,-45.387],[-3.948,-44.376],[-6.833,-41.439],[-17.157,-20.488],[-40.385,-16.996],[-46.561,-11.91],[-44.637,-4.091],[-27.785,12.306],[-31.732,35.916],[-28.721,43.33],[-20.801,43.937],[-0.001,33.005],[20.799,43.937],[28.695,43.33],[31.731,35.89],[27.785,12.306],[44.636,-4.091]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.806,45.638],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":18.000000733155,"op":47.0000019143492,"st":4.00000016292334,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"estrela/trofeu_camadas contornos","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":21,"s":[100],"e":[0]},{"t":37.0000015070409}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":14,"s":[0],"e":[-364.604]},{"t":30.0000012219251}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":14,"s":[278,216,0],"e":[452,364,0],"to":[78.1666641235352,-2.66666674613953,0],"ti":[-0.16666667163372,-52.3333320617676,0]},{"t":30.0000012219251}],"ix":2},"a":{"a":0,"k":[48,46,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,9.473]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_9p473"],"t":14,"s":[16.667,16.667,100],"e":[73.504,73.504,100]},{"t":30.0000012219251}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[0,0],[0,0],[-2.548,1.855],[0.523,3.087],[0,0]],"o":[[2.277,-2.193],[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.674],[0,0],[0,0],[2.733,1.433],[2.546,-1.856],[0,0],[0,0]],"v":[[20.859,-4.095],[22.783,-11.914],[16.583,-17],[-6.647,-20.492],[-16.946,-41.444],[-19.856,-44.38],[-23.778,-45.392],[-23.778,33.001],[-3.003,43.959],[4.918,43.326],[7.954,35.912],[4.006,12.328]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[71.583,45.642],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[1.214,-0.675],[0.658,-1.249],[0,0],[0,0],[0.996,-3.003],[-2.277,-2.193],[0,0],[0,0],[-2.531,-1.856],[-2.733,1.45],[0,0],[0,0],[-2.531,1.855],[0.523,3.104],[0,0],[0,0]],"o":[[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.675],[-1.417,0],[-1.265,0.709],[0,0],[0,0],[-3.121,0.388],[-0.995,3.02],[0,0],[0,0],[-0.523,3.087],[2.547,1.855],[0,0],[0,0],[2.734,1.45],[2.547,-1.856],[0,0],[0,0],[2.278,-2.193]],"v":[[46.561,-11.91],[40.36,-16.996],[17.13,-20.488],[6.831,-41.439],[3.921,-44.376],[-0.001,-45.387],[-3.948,-44.376],[-6.833,-41.439],[-17.157,-20.488],[-40.385,-16.996],[-46.561,-11.91],[-44.637,-4.091],[-27.785,12.306],[-31.732,35.916],[-28.721,43.33],[-20.801,43.937],[-0.001,33.005],[20.799,43.937],[28.695,43.33],[31.731,35.89],[27.785,12.306],[44.636,-4.091]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.806,45.638],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":14.0000005702317,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"topo contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":17,"s":[277.078,91.691,0],"e":[277.078,132.191,0],"to":[0,6.75,0],"ti":[0,-5.91666650772095,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":22,"s":[277.078,132.191,0],"e":[277.078,127.191,0],"to":[0,5.91666650772095,0],"ti":[0,0.58333331346512,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":26,"s":[277.078,127.191,0],"e":[277.078,128.691,0],"to":[0,-0.58333331346512,0],"ti":[0,-0.25,0]},{"t":29.0000011811942}],"ix":2},"a":{"a":0,"k":[98.938,7.841,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":17,"s":[0.555,173.834,100],"e":[109.991,75.033,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":22,"s":[109.991,75.033,100],"e":[89.218,160.66,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":26,"s":[89.218,160.66,100],"e":[95.298,114.553,100]},{"t":29.0000011811942}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.126],[1.468,1.468],[2.126,0],[0,0],[0,0],[0,0],[-1.468,1.468]],"o":[[0,-2.125],[-1.468,-1.467],[0,0],[0,0],[0,0],[2.126,0],[1.468,-1.468]],"v":[[49.344,0],[47.142,-5.39],[41.752,-7.591],[-49.344,-7.591],[-49.344,7.591],[41.752,7.591],[47.142,5.39]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[148.281,7.841],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.126],[1.468,1.468],[2.126,0],[0,0],[1.45,-1.467],[0,-2.125],[-1.468,-1.468],[-2.143,0],[0,0],[-1.468,1.468]],"o":[[0,-2.125],[-1.468,-1.467],[0,0],[-2.143,0],[-1.468,1.468],[0,2.126],[1.45,1.468],[0,0],[2.126,0],[1.468,-1.468]],"v":[[98.688,0],[96.485,-5.39],[91.095,-7.591],[-91.096,-7.591],[-96.486,-5.39],[-98.688,0],[-96.486,5.39],[-91.096,7.591],[91.095,7.591],[96.485,5.39]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[98.938,7.841],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":17.0000006924242,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"estrela contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":14,"s":[-361.275],"e":[0]},{"t":30.0000012219251}],"ix":10},"p":{"a":0,"k":[277.078,201.291,0],"ix":2},"a":{"a":0,"k":[47.806,45.642,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.983]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0p983"],"t":14,"s":[0.61,0.155,100],"e":[105.898,105.898,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,-7.135]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_-7p135"],"t":21,"s":[105.898,105.898,100],"e":[63.089,63.089,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,6.152]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_6p152"],"t":26,"s":[63.089,63.089,100],"e":[72.709,72.709,100]},{"t":29.0000011811942}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[0,0],[0,0],[-2.548,1.855],[0.523,3.087],[0,0]],"o":[[2.277,-2.193],[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.674],[0,0],[0,0],[2.733,1.433],[2.546,-1.856],[0,0],[0,0]],"v":[[20.859,-4.095],[22.783,-11.914],[16.583,-17],[-6.647,-20.492],[-16.946,-41.444],[-19.856,-44.38],[-23.778,-45.392],[-23.778,33.001],[-3.003,43.959],[4.918,43.326],[7.954,35.912],[4.006,12.328]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[71.583,45.642],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.995,3.02],[3.121,0.388],[0,0],[0,0],[1.266,0.709],[1.401,0],[1.214,-0.675],[0.658,-1.249],[0,0],[0,0],[0.996,-3.003],[-2.277,-2.193],[0,0],[0,0],[-2.531,-1.856],[-2.733,1.45],[0,0],[0,0],[-2.531,1.855],[0.523,3.104],[0,0],[0,0]],"o":[[-1.013,-3.003],[0,0],[0,0],[-0.674,-1.249],[-1.214,-0.675],[-1.417,0],[-1.265,0.709],[0,0],[0,0],[-3.121,0.388],[-0.995,3.02],[0,0],[0,0],[-0.523,3.087],[2.547,1.855],[0,0],[0,0],[2.734,1.45],[2.547,-1.856],[0,0],[0,0],[2.278,-2.193]],"v":[[46.561,-11.91],[40.36,-16.996],[17.13,-20.488],[6.831,-41.439],[3.921,-44.376],[-0.001,-45.387],[-3.948,-44.376],[-6.833,-41.439],[-17.157,-20.488],[-40.385,-16.996],[-46.561,-11.91],[-44.637,-4.091],[-27.785,12.306],[-31.732,35.916],[-28.721,43.33],[-20.801,43.937],[-0.001,33.005],[20.799,43.937],[28.695,43.33],[31.731,35.89],[27.785,12.306],[44.636,-4.091]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.806,45.638],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":14.0000005702317,"op":60.0000024438501,"st":-7.00000028511585,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"caneca contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p667_1_0p167_0"],"t":11,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p667_1_0p167_0"],"t":17,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p667_1_0p167_0"],"t":21,"s":[0],"e":[0]},{"t":24.00000097754}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":11,"s":[277.077,276,0],"e":[277.077,186,0],"to":[0,-15,0],"ti":[0,11,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":17,"s":[277.077,186,0],"e":[277.077,210,0],"to":[0,-11,0],"ti":[0,-3.33333325386047,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":21,"s":[277.077,210,0],"e":[277.077,206,0],"to":[0,3.33333325386047,0],"ti":[0,0.66666668653488,0]},{"t":24.00000097754}],"ix":2},"a":{"a":0,"k":[83.914,84.008,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":11,"s":[14.198,3.539,100],"e":[109.534,111.904,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0.167,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":17,"s":[109.534,111.904,100],"e":[109.534,88.096,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":21,"s":[109.534,88.096,100],"e":[100,94.048,100]},{"t":24.00000097754}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.332,1.602],[2.059,0.237],[0,0],[0,0],[-8.739,3.407],[-6.765,6.106],[-4.151,8.114],[-0.979,9.447]],"o":[[0.151,-2.125],[-1.317,-1.603],[0,0],[0,0],[9.481,0],[8.468,-3.307],[6.748,-6.09],[4.267,-8.351],[0,0]],"v":[[41.677,-75.407],[39.906,-80.999],[34.844,-83.758],[-41.828,-83.758],[-41.828,83.758],[-14.499,78.647],[8.351,64.527],[24.698,43.22],[32.567,16.524]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.8,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[125.751,84.008],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.332,1.602],[2.059,0.237],[0,0],[1.333,-1.603],[-0.169,-2.108],[0,0],[-4.268,-8.351],[-6.764,-6.107],[-8.486,-3.307],[-9.497,0],[-8.739,3.407],[-6.765,6.106],[-4.151,8.114],[-0.979,9.447]],"o":[[0.151,-2.125],[-1.317,-1.603],[0,0],[-2.058,0.237],[-1.332,1.619],[0,0],[0.978,9.447],[4.15,8.098],[6.748,6.106],[8.721,3.407],[9.481,0],[8.468,-3.307],[6.748,-6.09],[4.267,-8.351],[0,0]],"v":[[83.514,-75.407],[81.742,-80.999],[76.681,-83.758],[-76.663,-83.758],[-81.751,-80.999],[-83.495,-75.407],[-74.411,16.524],[-66.542,43.22],[-50.171,64.527],[-27.32,78.647],[0.009,83.758],[27.337,78.647],[50.188,64.527],[66.535,43.22],[74.404,16.524]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.859000052658,0.250999989229,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[83.914,84.008],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":11.0000004480392,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"braco2 contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":17,"s":[304.254,197.132,0],"e":[374.254,197.132,0],"to":[11.6666669845581,0,0],"ti":[-9.66666698455811,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":24,"s":[374.254,197.132,0],"e":[362.254,197.132,0],"to":[9.66666698455811,0,0],"ti":[1.66666662693024,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":29,"s":[362.254,197.132,0],"e":[364.254,197.132,0],"to":[-1.66666662693024,0,0],"ti":[-0.33333334326744,0,0]},{"t":33.0000013441176}],"ix":2},"a":{"a":0,"k":[43.402,57.143,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0","0p667_1_0p167_0"],"t":17,"s":[22.014,100,100],"e":[136.699,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0","0p667_1_0p167_0"],"t":24,"s":[136.699,100,100],"e":[81.65,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0","0p667_1_0p167_0"],"t":29,"s":[81.65,100,100],"e":[100,100,100]},{"t":33.0000013441176}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.484,1.484],[2.093,0],[0,0],[1.485,-1.485],[0,-2.092],[-1.485,-1.484],[-2.092,0],[0,0],[0,0],[8.991,-12.18],[14.373,-4.47],[0,0],[0.979,-1.855],[-0.624,-1.99],[-1.839,-0.979],[-2.025,0.624],[0,0],[-7.372,5.28],[-5.262,7.135],[-2.799,8.385],[0,9.076],[0,0]],"o":[[-1.484,-1.485],[0,0],[-2.092,0],[-1.485,1.484],[0,2.092],[1.485,1.484],[0,0],[0,0],[0,15.032],[-8.992,12.146],[0,0],[-2.007,0.625],[-0.978,1.857],[0.624,1.991],[1.856,0.995],[0,0],[8.671,-2.7],[7.203,-5.179],[5.281,-7.136],[2.885,-8.603],[0,0],[0,-2.092]],"v":[[40.926,-54.666],[35.56,-56.893],[-13.555,-56.893],[-18.919,-54.666],[-21.147,-49.302],[-18.919,-43.937],[-13.555,-41.71],[27.969,-41.71],[27.969,-29.261],[14.482,11.556],[-20.565,36.48],[-37.518,41.769],[-41.997,45.488],[-42.529,51.258],[-38.835,55.712],[-33.014,56.269],[-16.06,50.98],[8.004,39.011],[26.703,20.539],[38.824,-2.742],[43.152,-29.261],[43.152,-49.302]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.402,57.143],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":17.0000006924242,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"braco1 contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":17,"s":[256.121,195.466,0],"e":[173.121,195.466,0],"to":[-13.8333330154419,0,0],"ti":[11.8333330154419,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":24,"s":[173.121,195.466,0],"e":[185.121,195.466,0],"to":[-11.8333330154419,0,0],"ti":[-1.66666662693024,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":29,"s":[185.121,195.466,0],"e":[183.121,195.466,0],"to":[1.66666662693024,0,0],"ti":[0.33333334326744,0,0]},{"t":33.0000013441176}],"ix":2},"a":{"a":0,"k":[41.34,54.477,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0","0p667_1_0p167_0"],"t":17,"s":[12.917,100,100],"e":[129.028,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0","0p667_1_0p167_0"],"t":24,"s":[129.028,100,100],"e":[85.486,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0","0p667_1_0p167_0"],"t":29,"s":[85.486,100,100],"e":[100,100,100]},{"t":33.0000013441176}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.092],[1.484,1.484],[2.092,0],[0,0],[1.485,-1.485],[0,-2.092],[0,0],[-3.154,-8.958],[-5.736,-7.322],[-7.709,-5.079],[-9.194,-2.295],[0,0],[-1.788,1.08],[-0.506,2.042],[1.079,1.788],[2.041,0.507],[0,0],[6.478,4.268],[4.69,5.989],[2.513,7.136],[0,7.744],[0,0],[0,0],[-1.484,1.484]],"o":[[0,-2.092],[-1.484,-1.485],[0,0],[-2.092,0],[-1.484,1.484],[0,0],[0,9.464],[3.054,8.705],[5.719,7.304],[7.929,5.212],[0,0],[2.025,0.506],[1.805,-1.08],[0.523,-2.024],[-1.08,-1.805],[0,0],[-7.524,-1.89],[-6.326,-4.184],[-4.707,-5.988],[-2.581,-7.338],[0,0],[0,0],[2.092,0],[1.484,-1.485]],"v":[[23.183,-46.636],[20.956,-52],[15.591,-54.227],[-33.499,-54.227],[-38.864,-52],[-41.09,-46.636],[-41.09,-29.986],[-36.359,-2.353],[-23.175,21.686],[-3.033,40.26],[22.651,51.52],[31.381,53.721],[37.1,52.861],[40.567,48.179],[39.732,42.461],[35.051,38.994],[26.321,36.818],[5.318,27.582],[-11.206,12.323],[-22.036,-7.364],[-25.908,-29.986],[-25.908,-39.045],[15.591,-39.045],[20.956,-41.271]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.34,54.477],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":17.0000006924242,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"base contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"n":"0p667_0p667_0p167_0p167","t":0,"s":[277.083,369.918,0],"e":[277.083,369.918,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"n":"0p667_0p667_0p167_0p167","t":5,"s":[277.083,369.918,0],"e":[277.083,369.918,0],"to":[0,0,0],"ti":[0,0,0]},{"t":8.00000032584668}],"ix":2},"a":{"a":0,"k":[68.572,7.841,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":0,"s":[0.105,182.892,100],"e":[127.708,80.871,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":5,"s":[127.708,80.871,100],"e":[100,100,100]},{"t":8.00000032584668}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-1.468,1.468],[0,2.126],[1.468,1.468],[2.126,0]],"o":[[0,0],[0,0],[2.126,0],[1.468,-1.466],[0,-2.125],[-1.468,-1.468],[0,0]],"v":[[-34.161,-7.592],[-34.161,7.592],[26.569,7.592],[31.96,5.389],[34.161,-0.001],[31.96,-5.391],[26.569,-7.592]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[102.732,7.842],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.451,-1.468],[0,-2.125],[-1.467,-1.466],[-2.142,0],[0,0],[-1.468,1.468],[0,2.126],[1.467,1.468],[2.126,0]],"o":[[-2.142,0],[-1.467,1.468],[0,2.126],[1.451,1.468],[0,0],[2.126,0],[1.467,-1.466],[0,-2.125],[-1.468,-1.468],[0,0]],"v":[[-60.731,-7.592],[-66.121,-5.391],[-68.322,-0.001],[-66.121,5.389],[-60.731,7.592],[60.73,7.592],[66.121,5.389],[68.322,-0.001],[66.121,-5.391],[60.73,-7.592]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[68.572,7.842],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"base1 contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":5,"s":[277.083,365.551,0],"e":[277.083,333.551,0],"to":[0,-5.33333349227905,0],"ti":[0,4.33333349227905,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":10,"s":[277.083,333.551,0],"e":[277.083,339.551,0],"to":[0,-4.33333349227905,0],"ti":[0,-1,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"n":"0p667_0p667_0p167_0p167","t":13,"s":[277.083,339.551,0],"e":[277.083,339.551,0],"to":[0,0,0],"ti":[0,0,0]},{"t":15.0000006109625}],"ix":2},"a":{"a":0,"k":[53.389,30.615,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":5,"s":[100,2.009,100],"e":[92.508,116.332,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":10,"s":[92.508,116.332,100],"e":[107.492,90.201,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":13,"s":[107.492,90.201,100],"e":[100,100,100]},{"t":15.0000006109625}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.31,0],[0,0],[0,0],[0,0],[-1.468,1.468],[0,2.125],[0,0],[4.437,4.453]],"o":[[0,0],[0,0],[0,0],[2.126,0],[1.468,-1.467],[0,0],[0,-6.293],[-4.436,-4.436]],"v":[[3.796,-30.365],[-26.57,-30.365],[-26.57,30.365],[18.979,30.365],[24.369,28.164],[26.57,22.775],[26.57,-7.591],[19.915,-23.71]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.8,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[79.958,30.615],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.31,0],[0,0],[4.436,-4.436],[0,-6.309],[0,0],[-1.468,-1.467],[-2.142,0],[0,0],[-1.468,1.468],[0,2.125],[0,0],[4.437,4.453]],"o":[[0,0],[-6.31,0],[-4.437,4.437],[0,0],[0,2.125],[1.451,1.468],[0,0],[2.126,0],[1.468,-1.467],[0,0],[0,-6.293],[-4.436,-4.436]],"v":[[30.365,-30.365],[-30.365,-30.365],[-46.484,-23.71],[-53.139,-7.591],[-53.139,22.775],[-50.938,28.164],[-45.548,30.365],[45.548,30.365],[50.938,28.164],[53.139,22.775],[53.139,-7.591],[46.484,-23.71]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.859000052658,0.250999989229,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[53.389,30.615],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":5.00000020365417,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"meio contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":8,"s":[277.086,351.957,0],"e":[277.086,288.957,0],"to":[0,-10.5,0],"ti":[0,8.5,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":13,"s":[277.086,288.957,0],"e":[277.086,300.957,0],"to":[0,-8.5,0],"ti":[0,-2,0]},{"t":16.0000006516934}],"ix":2},"a":{"a":0,"k":[23.024,38.46,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0.167,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":8,"s":[100,1.196,100],"e":[100,126.001,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0.167,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":13,"s":[100,126.001,100],"e":[100,100,100]},{"t":16.0000006516934}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.387,-38.21],[-11.387,-38.21],[-11.387,38.21],[11.387,38.21]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.6,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[34.411,38.46],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[22.774,-38.21],[-22.774,-38.21],[-22.774,38.21],[22.774,38.21]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.658999992819,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[23.024,38.46],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":8.00000032584668,"op":60.0000024438501,"st":8.00000032584668,"bm":0}]}
--------------------------------------------------------------------------------
/assets/animations/823-crying.json:
--------------------------------------------------------------------------------
1 | {"v":"4.11.1","fr":60,"ip":0,"op":93,"w":1280,"h":720,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"crying Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,360,0],"ix":2},"a":{"a":0,"k":[512,384,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.42,8.036],[0,0],[0,0],[0,0],[0,0],[0.186,-8.725],[0,-2.326],[-33.695,0.959],[-4.12,28.285]],"o":[[-0.701,-3.304],[0,0],[0,0],[0,0],[0,0],[-0.26,2.257],[0,33.48],[28.571,-0.813],[1.324,-9.091]],"v":[[56.683,29.587],[55.119,24.185],[-2.401,-107.29],[-2.402,-107.29],[-55.813,24.185],[-59.495,39.913],[-59.921,46.781],[1.391,106.331],[58.596,55.447]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-713.733,130.356],[310.267,130.356],[310.267,-637.644],[-713.733,-637.644]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-713.733,-637.644],[310.267,-637.644],[310.267,130.356],[-713.733,130.356]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.26699999641,0.458999992819,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[713.733,437.644],"e":[713.733,820.644],"to":[0,63.8333320617676],"ti":[0,-63.8333320617676]},{"t":92}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[0,0],"e":[52,52]},{"t":46}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"drop","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-61.629,0],[0,0]],"o":[[0,0],[61.628,0],[0,0]],"v":[[-84.225,18.488],[-2.053,-22.597],[84.225,22.597]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.149000010771,0.172999991623,0.219999994016,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[512.065,548.843],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,27.229],[24.96,0],[0,-27.229],[-24.96,0]],"o":[[0,-27.229],[-24.96,0],[0,27.229],[24.96,0]],"v":[[45.195,0],[0,-49.303],[-45.195,0],[0,49.303]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-662.028,373.228],[361.972,373.228],[361.972,-394.772],[-662.028,-394.772]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-662.028,-394.772],[361.972,-394.772],[361.972,373.228],[-662.028,373.228]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149000010771,0.172999991623,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[662.028,394.772],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,27.229],[24.96,0],[0,-27.229],[-24.961,0]],"o":[[0,-27.229],[-24.961,0],[0,27.229],[24.96,0]],"v":[[45.194,0],[0,-49.303],[-45.195,0],[0,49.303]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-362.103,373.228],[661.897,373.228],[661.897,-394.772],[-362.103,-394.772]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-362.103,-394.772],[661.897,-394.772],[661.897,373.228],[-362.103,373.228]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149000010771,0.172999991623,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[362.103,394.772],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":4,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[27.413,14.595],[0,0]],"o":[[0,0],[-27.413,-14.595],[0,0]],"v":[[39.076,27.454],[9.962,-12.859],[-39.076,-19.88]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.149000010771,0.172999991623,0.219999994016,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[680.561,305.689],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-27.413,14.595],[0,0]],"o":[[0,0],[27.413,-14.595],[0,0]],"v":[[-39.076,27.454],[-9.963,-12.859],[39.076,-19.88]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.149000010771,0.172999991623,0.219999994016,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[343.659,305.689],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}]}
--------------------------------------------------------------------------------
/assets/fonts/BadaboomBB_Reg.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/fonts/BadaboomBB_Reg.ttf
--------------------------------------------------------------------------------
/assets/fonts/GrinchedRegular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/fonts/GrinchedRegular.otf
--------------------------------------------------------------------------------
/assets/fonts/SaucerBB.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/fonts/SaucerBB.ttf
--------------------------------------------------------------------------------
/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/icon.png
--------------------------------------------------------------------------------
/assets/images/game_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/images/game_background.png
--------------------------------------------------------------------------------
/assets/images/game_background_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/images/game_background_active.png
--------------------------------------------------------------------------------
/assets/sounds/correct.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/sounds/correct.wav
--------------------------------------------------------------------------------
/assets/sounds/gameover_average.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/sounds/gameover_average.wav
--------------------------------------------------------------------------------
/assets/sounds/gameover_bad.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/sounds/gameover_bad.wav
--------------------------------------------------------------------------------
/assets/sounds/gameover_good.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/sounds/gameover_good.wav
--------------------------------------------------------------------------------
/assets/sounds/incorrect.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/sounds/incorrect.wav
--------------------------------------------------------------------------------
/assets/sounds/timeout.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/sounds/timeout.wav
--------------------------------------------------------------------------------
/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/computationalcore/react-native-trivia-quiz/8471ed90d57bcb0d4b9f80290234f4f3db84f4aa/assets/splash.png
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-native-trivia-quiz",
3 | "version": "2.4.0",
4 | "description": "A simple trivia game built with React Native, Redux, and the Open Trivia Database Trivia.",
5 | "repository": {
6 | "type": "git",
7 | "url": "git+https://github.com/computationalcore/react-native-trivia-quiz"
8 | },
9 | "keywords": [
10 | "trivia",
11 | "quiz",
12 | "trivia quiz",
13 | "trivia react native",
14 | "trivia quiz react native",
15 | "quiz react native",
16 | "react native",
17 | "open trivia database api",
18 | "open trivia db",
19 | "opentdb"
20 | ],
21 | "author": "Vin Busquet",
22 | "license": "SEE LICENSE IN LICENSE.txt",
23 | "bugs": {
24 | "url": "https://github.com/computationalcore/react-native-trivia-quiz/issues"
25 | },
26 | "homepage": "https://github.com/computationalcore/react-native-trivia-quiz",
27 | "main": "node_modules/expo/AppEntry.js",
28 | "scripts": {
29 | "start": "expo start",
30 | "android": "expo start --android",
31 | "ios": "expo start --ios",
32 | "eject": "expo eject"
33 | },
34 | "jest": {
35 | "preset": "jest-expo"
36 | },
37 | "dependencies": {
38 | "@expo/vector-icons": "^12.0.0",
39 | "@react-native-community/masked-view": "0.1.10",
40 | "@react-navigation/bottom-tabs": "^6.0.5",
41 | "@react-navigation/native": "^6.0.2",
42 | "@react-navigation/native-stack": "^6.1.0",
43 | "expo": "~42.0.1",
44 | "expo-asset": "~8.3.2",
45 | "expo-av": "~9.2.1",
46 | "expo-constants": "~11.0.1",
47 | "expo-font": "~9.2.1",
48 | "expo-linking": "~2.3.1",
49 | "expo-splash-screen": "~0.11.2",
50 | "expo-status-bar": "~1.0.4",
51 | "expo-web-browser": "~9.2.0",
52 | "html-entities": "^1.2.1",
53 | "lottie-ios": "^3.2.3",
54 | "lottie-react-native": "4.0.2",
55 | "mem": "^4.0.0",
56 | "prop-types": "^15.7.2",
57 | "react": "16.13.1",
58 | "react-dom": "16.13.1",
59 | "react-native": "https://github.com/expo/react-native/archive/sdk-42.0.0.tar.gz",
60 | "react-native-gesture-handler": "~1.10.2",
61 | "react-native-picker-select": "^6.0.0",
62 | "react-native-reanimated": "~2.2.0",
63 | "react-native-router-flux": "^4.3.1",
64 | "react-native-safe-area-context": "3.2.0",
65 | "react-native-screens": "~3.4.0",
66 | "react-native-segmented-control-tab": "^3.4.0",
67 | "react-native-web": "~0.13.12",
68 | "react-navigation": "^4.4.4",
69 | "react-redux": "^6.0.1",
70 | "redux": "^4.0.1",
71 | "redux-thunk": "^2.3.0",
72 | "sort-by": "^1.2.0"
73 | },
74 | "devDependencies": {
75 | "@babel/core": "^7.9.0",
76 | "jest-expo": "~41.0.0-beta.0"
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/src/Router.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Scene, Router } from 'react-native-router-flux';
3 | import GameOver from './components/screens/GameOver';
4 | import MainMenu from './components/screens/MainMenu';
5 | import TriviaGame from './components/screens/TriviaGame';
6 | import TriviaSelection from './components/screens/TriviaSelection';
7 |
8 | const RouterComponent = () => {
9 | return (
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | );
19 | };
20 |
21 | export default RouterComponent;
22 |
--------------------------------------------------------------------------------
/src/Scaling.js:
--------------------------------------------------------------------------------
1 | // App scaling setup used for styles
2 | import { Dimensions } from 'react-native';
3 | const { width, height } = Dimensions.get('window');
4 |
5 | //Guideline sizes are based on standard ~5" screen mobile device
6 | //const guidelineBaseWidth = 350;
7 | //const guidelineBaseHeight = 680;
8 | const guidelineBaseWidth = 500;
9 | const guidelineBaseHeight = 972;
10 |
11 | const scale = size => width / guidelineBaseWidth * size;
12 | const verticalScale = size => height / guidelineBaseHeight * size;
13 | const moderateScale = (size, factor = 0.5) => size + ( scale(size) - size ) * factor;
14 |
15 | export {scale, verticalScale, moderateScale};
16 |
--------------------------------------------------------------------------------
/src/TriviaAPI.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This file contains helper functions to interact with the Open Trivia Database API.
3 | *
4 | * @see https://opentdb.com
5 | */
6 |
7 | const API_URL = 'https://opentdb.com';
8 |
9 | /**
10 | * @description Get questions request.
11 | * @param {number} amount - Number of Questions
12 | */
13 | export const getQuestions = async (amount=10, category=-1, difficulty='Mixed') => {
14 | difficulty = difficulty.toLowerCase();
15 | const url = `${API_URL}/api.php?amount=${amount}` +
16 | ((category !== -1) ? `&category=${category}` : '') +
17 | ((difficulty !== 'mixed') ? `&difficulty=${difficulty}` : '');
18 | console.log(url);
19 | return fetch(url)
20 | .then(res => {
21 | if (res.status !== 200) {
22 | return res;
23 | }
24 | return res.json();
25 | })
26 | .then(data => {
27 | // Only happen if status is 200
28 | if (data.results) {
29 | return data.results;
30 | }
31 | // Return the object with with http status (error code)
32 | return {errorCode: data.status};
33 | });
34 | }
35 |
36 | /**
37 | * @description Get all available categories.
38 | */
39 | export const getCategories = async () => {
40 | return fetch(`${API_URL}/api_category.php`)
41 | .then(res => {
42 | if (res.status !== 200) {
43 | return res;
44 | }
45 | return res.json();
46 | })
47 | .then(data => {
48 | // Only happen if status is 200
49 | if (data.trivia_categories) {
50 | return data.trivia_categories;
51 | }
52 | // Return the object with with http status (error code)
53 | return {errorCode: data.status};
54 | });
55 | }
56 |
--------------------------------------------------------------------------------
/src/Utils.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Shuffle the data of an array.
3 | * @param {*} array
4 | */
5 | export const shuffleArray = (array) => {
6 | let ctr = array.length;
7 | let temp;
8 | let index;
9 |
10 | // While there are elements in the array
11 | while (ctr > 0) {
12 | // Pick a random index
13 | index = Math.floor(Math.random() * ctr);
14 | // Decrease ctr by 1
15 | ctr--;
16 | // And swap the last element with it
17 | temp = array[ctr];
18 | array[ctr] = array[index];
19 | array[index] = temp;
20 | }
21 | return array;
22 | }
23 |
24 | /**
25 | * @description Capitalize fist letter of a string.
26 | * @param {string} str
27 | */
28 | export const capitalizeFirstLetter = (str) => {
29 | return str.charAt(0).toUpperCase() + str.slice(1);
30 | }
--------------------------------------------------------------------------------
/src/actions/TriviaActions.js:
--------------------------------------------------------------------------------
1 | import { Actions } from 'react-native-router-flux';
2 | import { AllHtmlEntities as entities } from 'html-entities';
3 | import sortBy from 'sort-by';
4 | import {
5 | TRIVIA_MAIN_MENU,
6 | TRIVIA_SELECT_OPTIONS_GAME,
7 | TRIVIA_START_GAME,
8 | TRIVIA_FETCH_CATEGORIES_SUCCESS,
9 | TRIVIA_FETCH_SUCCESS,
10 | TRIVIA_FETCH_ERROR,
11 | TRIVIA_NEXT_QUESTION,
12 | TRIVIA_GAME_OVER
13 | } from './types';
14 | import { shuffleArray } from '../Utils';
15 | import * as TriviaAPI from '../TriviaAPI';
16 |
17 | /**
18 | * @description Fetch the quiz categories, parse the response and dispatch success or error action.
19 | */
20 | export const triviaCategoryFetch = () => {
21 |
22 | return (dispatch) => {
23 | TriviaAPI.getCategories().then((categories) => {
24 | //console.log(categories);
25 | categories = categories.map(
26 | category => {
27 | return {
28 | label: category.name,
29 | value: category.id
30 | }
31 | }
32 | ).sort(sortBy('label'));
33 | // Add 'Any' options a the beginning of the array
34 | categories.unshift({
35 | label: 'Any',
36 | value: -1
37 | });
38 | dispatch({ type: TRIVIA_FETCH_CATEGORIES_SUCCESS, payload: categories });
39 | }).catch(function () {
40 | dispatch({ type: TRIVIA_FETCH_ERROR });
41 | });
42 | }
43 | };
44 |
45 | /**
46 | * @description Fetch the questions, parse the response and dispatch success or error action.
47 | */
48 | export const triviaFetch = (selectedCategoryId, selectedDifficulty, numberOfQuestions) => {
49 |
50 | return (dispatch) => {
51 | TriviaAPI.getQuestions(numberOfQuestions, selectedCategoryId, selectedDifficulty).then((questions) => {
52 | const formatedQuestions = questions.map(
53 | question => {
54 | let options = question.incorrect_answers;
55 | options.push(question.correct_answer);
56 | options = shuffleArray(options);
57 |
58 | return {
59 | options: options.map(option => entities.decode(option)),
60 | category: question.category,
61 | difficulty: question.difficulty,
62 | type: question.type,
63 | correct_answer: entities.decode(question.correct_answer),
64 | question: entities.decode(question.question)
65 | }
66 | }
67 | );
68 | //console.log(formatedQuestions);
69 | dispatch({ type: TRIVIA_FETCH_SUCCESS, payload: formatedQuestions });
70 | }).catch(function () {
71 | dispatch({ type: TRIVIA_FETCH_ERROR });
72 | });
73 | }
74 | };
75 |
76 |
77 | /**
78 | * @description Validate answer, and dispatch action to move to next question or game over.
79 | * @param {string} currentAnswer - Currect answer selected by the user.
80 | * @param {number} currentQuestionIndex - Current question selected by the user.
81 | * @param {Object[]} questions - The array with the questions.
82 | * @param {*} totalScore - The total score of the user.
83 | */
84 | export const nextQuestion = (currentAnswer, currentQuestionIndex, questions, totalScore) => {
85 |
86 | return (dispatch) => {
87 | const nextIndex = currentQuestionIndex + 1;
88 | let totalQuestionsSize = questions.length;
89 |
90 | // Validate current answer
91 | if (currentAnswer === questions[currentQuestionIndex].correct_answer) {
92 | totalScore += 1;
93 | }
94 |
95 | if (nextIndex < totalQuestionsSize) {
96 | dispatch({ type: TRIVIA_NEXT_QUESTION, payload: { currentQuestionIndex: nextIndex, totalScore } });
97 | }
98 | else {
99 | dispatch({ type: TRIVIA_GAME_OVER, payload: totalScore });
100 | // Call game over screen and disable back action
101 | Actions.gameOver({ type: 'reset' });
102 | }
103 | }
104 | };
105 |
106 | /**
107 | * @description Start Trivia Game.
108 | */
109 | export const startGame = (categoryId, difficulty, numberOfQuestions) => {
110 | return (dispatch) => {
111 | dispatch({ type: TRIVIA_START_GAME, payload: { categoryId, difficulty, numberOfQuestions } });
112 | // Call start game and disable back action
113 | Actions.triviaGame({ type: 'reset' });
114 | }
115 | };
116 |
117 | /**
118 | * @description Start Game Selection.
119 | */
120 | export const startGameSelection = () => {
121 |
122 | return (dispatch) => {
123 | dispatch({ type: TRIVIA_SELECT_OPTIONS_GAME });
124 | // Call start game and disable back action
125 | Actions.triviaSelection({ type: 'reset' });
126 | }
127 | };
128 |
129 | /**
130 | * @description Go to Main Menu Screen.
131 | */
132 | export const goToMainMenu = () => {
133 |
134 | return (dispatch) => {
135 | dispatch({ type: TRIVIA_MAIN_MENU });
136 | // Call start game and disable back action
137 | Actions.mainMenu({ type: 'reset' });
138 | }
139 | };
140 |
--------------------------------------------------------------------------------
/src/actions/index.js:
--------------------------------------------------------------------------------
1 | export * from './TriviaActions';
2 |
--------------------------------------------------------------------------------
/src/actions/types.js:
--------------------------------------------------------------------------------
1 | export const TRIVIA_MAIN_MENU = 'trivia_main_menu';
2 | export const TRIVIA_SELECT_OPTIONS_GAME = 'trivia_select_options_game';
3 | export const TRIVIA_START_GAME = 'trivia_start_game';
4 | export const TRIVIA_FETCH_CATEGORIES_SUCCESS = 'trivia_fetch_categories_success';
5 | export const TRIVIA_FETCH_CATEGORIES_ERROR = 'trivia_fetch_categories_error';
6 | export const TRIVIA_FETCH_SUCCESS = 'trivia_fetch_success';
7 | export const TRIVIA_FETCH_ERROR = 'trivia_fetch_error';
8 | export const TRIVIA_NEXT_QUESTION = 'trivia_next_question';
9 | export const TRIVIA_GAME_OVER = 'trivia_game_over';
10 |
--------------------------------------------------------------------------------
/src/components/AnswerStatus.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 | import {
4 | View,
5 | Text,
6 | StyleSheet,
7 | } from 'react-native';
8 | import * as Font from 'expo-font';
9 | import LottieView from 'lottie-react-native';
10 | import { scale, moderateScale, verticalScale} from '../Scaling';
11 |
12 | const STATUS_FONT = require('../../assets/fonts/BadaboomBB_Reg.ttf');
13 | const CORRECT_ANIMATION = require('../../assets/animations/433-checked-done.json');
14 | const INCORRECT_ANIMATION = require('../../assets/animations/101-x-pop.json');
15 | const TIMEOUT_ANIMATION = require('../../assets/animations/4284-notification.json');
16 |
17 |
18 | /**
19 | * This object is used for type checking the props of the component.
20 | */
21 | const propTypes = {
22 | type: PropTypes.oneOf(['correct', 'incorrect', 'timeout']).isRequired,
23 | };
24 |
25 |
26 | /**
27 | * @description Show the correct animation for answer status based on type.
28 | * @constructor
29 | * @param {Object} props - The props that were defined by the caller of this component.
30 | * @param {string} props.type - Type of the status answer (correct, incorrect or timeout).
31 | */
32 | class AnswerStatus extends React.Component {
33 |
34 | constructor(props){
35 | super(props);
36 | /**
37 | * @typedef {Object} ComponentState
38 | * @property {Object[]} fontLoaded - Indicates whether custom fonts already loaded.
39 | */
40 |
41 | /** @type {ComponentState} */
42 | this.state = {
43 | fontLoaded: false
44 | };
45 | }
46 |
47 | async componentDidMount() {
48 | await Font.loadAsync({
49 | 'status-text': STATUS_FONT,
50 | });
51 | this.setState({ fontLoaded: true });
52 | }
53 |
54 | render() {
55 | let animation;
56 | let statusMessage;
57 | let statusStyle;
58 | switch(this.props.type) {
59 | case 'correct':
60 | animation = CORRECT_ANIMATION;
61 | statusMessage = 'Correct!!!';
62 | statusStyle = styles.correctText;
63 | break;
64 | case 'incorrect':
65 | animation = INCORRECT_ANIMATION;
66 | statusMessage = 'Incorrect!!!';
67 | statusStyle = styles.errorText;
68 | break;
69 | default:
70 | statusMessage = 'Time over!!!';
71 | statusStyle = styles.timeoutText;
72 | animation = TIMEOUT_ANIMATION;
73 | }
74 |
75 | return (
76 | (this.state.fontLoaded) &&
77 |
78 |
84 | {statusMessage}
85 |
86 | );
87 | }
88 | }
89 |
90 | /**
91 | * AnswerStatus component StyleSheet.
92 | */
93 | const styles = StyleSheet.create({
94 | statusContainer: {
95 | flex: 1,
96 | height: '100%',
97 | width: '100%',
98 | paddingTop: 0,
99 | borderWidth: 2,
100 | borderRadius: 8,
101 | borderColor: '#ffffff',
102 | justifyContent: 'center',
103 | alignItems: 'center',
104 | alignSelf: 'center',
105 | backgroundColor: 'rgba(255, 255, 255, 0.9)',
106 | },
107 | statusAnimation: {
108 | width: scale(300),
109 | height: scale(300)
110 | },
111 | statusText: {
112 | fontFamily: "status-text",
113 | fontSize: moderateScale(40),
114 | textShadowRadius: 10,
115 | marginTop: moderateScale(-60)
116 | },
117 | correctText: {
118 | color: '#00C871'
119 | },
120 | errorText: {
121 | color: '#FF1122'
122 | },
123 | timeoutText: {
124 | color: '#FFAA38'
125 | },
126 | });
127 |
128 | // Type checking the props of the component
129 | AnswerStatus.propTypes = propTypes;
130 |
131 | export default AnswerStatus;
--------------------------------------------------------------------------------
/src/components/Button.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { Text, TouchableOpacity } from "react-native";
3 | import { scale, moderateScale } from "../Scaling";
4 |
5 | /**
6 | * This object sets default values to the optional props.
7 | */
8 | const defaultProps = {
9 | style: {},
10 | onPress: () => {},
11 | };
12 |
13 | /**
14 | * @callback onPress
15 | */
16 |
17 | /**
18 | * @description General Button component.
19 | * @constructor
20 | * @param {Object} props - The props that were defined by the caller of this component.
21 | * @param {onPress} props.onPress - The size of the spinner.
22 | */
23 | const Button = ({ onPress, children, style }) => {
24 | const { buttonStyle, textStyle } = styles;
25 |
26 | return (
27 |
28 | {children}
29 |
30 | );
31 | };
32 |
33 | /**
34 | * Button component StyleSheet.
35 | */
36 | const styles = {
37 | textStyle: {
38 | padding: scale(12),
39 | color: "#ffffff",
40 | fontSize: moderateScale(24),
41 | fontWeight: "normal",
42 | textAlign: "center",
43 | textShadowColor: "#000000",
44 | textShadowOffset: { width: 2, height: 2 },
45 | textShadowRadius: 0,
46 | },
47 | buttonStyle: {
48 | display: 'flex',
49 | flexDirection: "column",
50 | justifyContent: "center",
51 | alignItems: "center",
52 | height: moderateScale(60),
53 | alignSelf: "stretch",
54 | minHeight: moderateScale(32),
55 | margin: scale(10),
56 | backgroundColor: "rgba(64, 64, 255, 0.8)",
57 | borderRadius: 8,
58 | },
59 | };
60 |
61 | // Assign default values to the optional props
62 | Button.defaultProps = defaultProps;
63 |
64 | export default Button;
65 |
--------------------------------------------------------------------------------
/src/components/CountdownCircle.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Adapted from https://github.com/MrToph/react-native-countdown-circle
3 | */
4 | import React from "react";
5 | import {
6 | Easing,
7 | Animated,
8 | StyleSheet,
9 | Text,
10 | View,
11 | ViewPropTypes,
12 | } from "react-native";
13 | import PropTypes from "prop-types";
14 |
15 | const ViewPropTypesStyle = ViewPropTypes
16 | ? ViewPropTypes.style
17 | : View.propTypes.style;
18 |
19 | const styles = StyleSheet.create({
20 | outerCircle: {
21 | overflow: "hidden",
22 | justifyContent: "center",
23 | alignItems: "center",
24 | backgroundColor: "#e3e3e3",
25 | },
26 | innerCircle: {
27 | overflow: "hidden",
28 | justifyContent: "center",
29 | alignItems: "center",
30 | backgroundColor: "#fff",
31 | },
32 | leftWrap: {
33 | position: "absolute",
34 | top: 0,
35 | left: 0,
36 | },
37 | halfCircle: {
38 | position: "absolute",
39 | top: 0,
40 | left: 0,
41 | borderTopRightRadius: 0,
42 | borderBottomRightRadius: 0,
43 | backgroundColor: "#f00",
44 | },
45 | });
46 |
47 | function calcInterpolationValuesForHalfCircle1(animatedValue, { shadowColor }) {
48 | const rotate = animatedValue.interpolate({
49 | inputRange: [0, 50, 50, 100],
50 | outputRange: ["0deg", "180deg", "180deg", "180deg"],
51 | });
52 |
53 | const backgroundColor = shadowColor;
54 | return { rotate, backgroundColor };
55 | }
56 |
57 | function calcInterpolationValuesForHalfCircle2(
58 | animatedValue,
59 | { color, shadowColor }
60 | ) {
61 | const rotate = animatedValue.interpolate({
62 | inputRange: [0, 50, 50, 100],
63 | outputRange: ["0deg", "0deg", "180deg", "360deg"],
64 | });
65 |
66 | const backgroundColor = animatedValue.interpolate({
67 | inputRange: [0, 50, 50, 100],
68 | outputRange: [color, color, shadowColor, shadowColor],
69 | });
70 | return { rotate, backgroundColor };
71 | }
72 |
73 | function getInitialState(props) {
74 | const circleProgress = new Animated.Value(0);
75 | return {
76 | circleProgress,
77 | secondsElapsed: 0,
78 | text: props.updateText(0, props.seconds),
79 | interpolationValuesHalfCircle1: calcInterpolationValuesForHalfCircle1(
80 | circleProgress,
81 | props
82 | ),
83 | interpolationValuesHalfCircle2: calcInterpolationValuesForHalfCircle2(
84 | circleProgress,
85 | props
86 | ),
87 | };
88 | }
89 |
90 | export default class PercentageCircle extends React.PureComponent {
91 | static propTypes = {
92 | seconds: PropTypes.number.isRequired,
93 | radius: PropTypes.number.isRequired,
94 | color: PropTypes.string,
95 | shadowColor: PropTypes.string, // eslint-disable-line react/no-unused-prop-types
96 | bgColor: PropTypes.string,
97 | borderWidth: PropTypes.number,
98 | containerStyle: ViewPropTypesStyle,
99 | textStyle: Text.propTypes.style,
100 | updateText: PropTypes.func,
101 | onTimeElapsed: PropTypes.func,
102 | };
103 |
104 | static defaultProps = {
105 | color: "#f00",
106 | shadowColor: "#999",
107 | bgColor: "#e9e9ef",
108 | borderWidth: 2,
109 | seconds: 10,
110 | children: null,
111 | containerStyle: null,
112 | textStyle: null,
113 | onTimeElapsed: () => null,
114 | updateText: (elapsedSeconds, totalSeconds) =>
115 | (totalSeconds - elapsedSeconds).toString(),
116 | };
117 |
118 | constructor(props) {
119 | super(props);
120 |
121 | this.state = getInitialState(props);
122 | this.restartAnimation();
123 | }
124 |
125 | UNSAFE_componentWillReceiveProps(nextProps) {
126 | if (this.props.seconds !== nextProps.seconds) {
127 | this.state.circleProgress.stopAnimation();
128 | this.setState(getInitialState(nextProps), this.restartAnimation);
129 | }
130 | }
131 |
132 | onCircleAnimated = ({ finished }) => {
133 | // if animation was interrupted by stopAnimation don't restart it.
134 | if (!finished) return;
135 |
136 | const secondsElapsed = this.state.secondsElapsed + 1;
137 | const callback =
138 | secondsElapsed < this.props.seconds
139 | ? this.restartAnimation
140 | : this.props.onTimeElapsed;
141 | const updatedText = this.props.updateText(
142 | secondsElapsed,
143 | this.props.seconds
144 | );
145 | this.setState(
146 | {
147 | ...getInitialState(this.props),
148 | secondsElapsed,
149 | text: updatedText,
150 | },
151 | callback
152 | );
153 | };
154 |
155 | restartAnimation = () => {
156 | this.state.circleProgress.stopAnimation();
157 | Animated.timing(this.state.circleProgress, {
158 | toValue: 100,
159 | duration: 1000,
160 | easing: Easing.linear,
161 | useNativeDriver: false,
162 | }).start(this.onCircleAnimated);
163 | };
164 |
165 | renderHalfCircle({ rotate, backgroundColor }) {
166 | const { radius } = this.props;
167 |
168 | return (
169 |
178 |
194 |
195 | );
196 | }
197 |
198 | renderInnerCircle() {
199 | const radiusMinusBorder = this.props.radius - this.props.borderWidth;
200 | return (
201 |
213 | {this.state.text}
214 |
215 | );
216 | }
217 |
218 | render() {
219 | const { interpolationValuesHalfCircle1, interpolationValuesHalfCircle2 } =
220 | this.state;
221 | return (
222 |
233 | {this.renderHalfCircle(interpolationValuesHalfCircle1)}
234 | {this.renderHalfCircle(interpolationValuesHalfCircle2)}
235 | {this.renderInnerCircle()}
236 |
237 | );
238 | }
239 | }
240 |
--------------------------------------------------------------------------------
/src/components/Question.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 | import {
4 | View,
5 | Text,
6 | StyleSheet,
7 | FlatList,
8 | } from 'react-native';
9 | import QuestionOptionItem from './QuestionOptionItem';
10 | import { scale, moderateScale, verticalScale} from '../Scaling';
11 |
12 | /**
13 | * This object is used for type checking the props of the component.
14 | */
15 | const propTypes = {
16 | category: PropTypes.string.isRequired,
17 | type: PropTypes.oneOf(['boolean', 'multiple']).isRequired,
18 | difficulty: PropTypes.oneOf(['easy', 'medium', 'hard']).isRequired,
19 | question: PropTypes.string.isRequired,
20 | options: PropTypes.arrayOf(PropTypes.string).isRequired,
21 | };
22 |
23 | /**
24 | * This object sets default values to the optional props.
25 | */
26 | const defaultProps = {
27 | onItemSelected: () => { },
28 | };
29 |
30 | /**
31 | * @callback onItemSelected
32 | * @param {string} selected - Text of the option selected.
33 | */
34 |
35 | /**
36 | * @description Individual quiz question with options.
37 | * @constructor
38 | * @param {Object} props - The props that were defined by the caller of this component.
39 | * @param {string} props.category - The id of the book.
40 | * @param {string} props.type - The url of the book cover image.
41 | * @param {string} props.difficulty - The title of the book.
42 | * @param {boolean} props.question - Indicates whether the book is updating. Shows the loader layer if true.
43 | * @param {} props.onItemSelected - Executed when an option is selected.
44 | */
45 | function Question(props) {
46 | return (
47 |
48 |
49 |
50 |
51 | {props.question}
52 |
53 |
54 |
55 | (
60 |
64 | )}
65 | keyExtractor={(item, index) => `${index}-${item}`}
66 | onPressItem={props.onItemSelected}
67 | scrollEnabled={true}
68 | />
69 |
70 | );
71 | }
72 |
73 | /**
74 | * Question component StyleSheet.
75 | */
76 | const styles = StyleSheet.create({
77 | questionDataContainer: {
78 | flex: 1,
79 | justifyContent: 'center',
80 | alignItems: 'center',
81 | marginLeft: scale(16),
82 | marginRight: scale(16),
83 | },
84 |
85 | questionData: {
86 | padding: scale(16),
87 | marginTop: scale(32),
88 | marginBottom: scale(32),
89 | alignSelf: 'stretch',
90 | maxHeight: verticalScale(280),
91 | borderWidth: 2,
92 | borderRadius: 8,
93 | borderColor: '#ffffff',
94 | justifyContent: 'center',
95 | backgroundColor: 'rgba(255, 255, 255, 0.9)',
96 | },
97 |
98 | questionDescription: {
99 | color: '#000',
100 | fontSize: moderateScale(20),
101 | textAlign: 'center',
102 | },
103 |
104 | questionOptions: {
105 | width: '100%',
106 | },
107 | questionOptionsContainer: {
108 | marginTop: 0,
109 | }
110 | });
111 |
112 | // Type checking the props of the component
113 | Question.propTypes = propTypes;
114 | // Assign default values to the optional props
115 | Question.defaultProps = defaultProps;
116 |
117 | export default Question;
--------------------------------------------------------------------------------
/src/components/QuestionOptionItem.js:
--------------------------------------------------------------------------------
1 | import React, { PureComponent } from 'react';
2 | import {
3 | View,
4 | Text,
5 | StyleSheet,
6 | TouchableOpacity,
7 | } from 'react-native';
8 | import PropTypes from 'prop-types';
9 | import { scale, moderateScale } from '../Scaling';
10 |
11 | /**
12 | * This object is used for type checking the props of the component.
13 | */
14 | const propTypes = {
15 | optionDescription: PropTypes.string.isRequired,
16 | onPressItem: PropTypes.func.isRequired,
17 | };
18 |
19 | /**
20 | * @callback onPressItem
21 | * @param {string} selected - Text of the option selected.
22 | */
23 |
24 | /**
25 | * @description Individual quiz question option component.
26 | * @constructor
27 | * @param {Object} props - The props that were defined by the caller of this component.
28 | * @param {string} props.optionDescription - The text of the option.
29 | * @param {onPressItem} props.onPressItem - Executed when user selects an option.
30 | */
31 | class QuestionOptionItem extends PureComponent {
32 |
33 | _onPress = () => {
34 | this.props.onPressItem(this.props.optionDescription);
35 | };
36 |
37 | render() {
38 | const { optionDescription } = this.props;
39 |
40 | return (
41 |
44 |
45 | {optionDescription}
46 |
47 |
48 | );
49 | }
50 | }
51 |
52 | /**
53 | * QuestionOptionItem component StyleSheet.
54 | */
55 | const styles = StyleSheet.create({
56 | quizOption: {
57 | flex: 1,
58 | alignSelf: 'stretch',
59 | minHeight: 32,
60 | marginTop: 4,
61 | marginBottom: 4,
62 | backgroundColor: 'rgba(64, 64, 64,0.8)',
63 | borderRadius: 8,
64 | },
65 |
66 | quizOptionDescription: {
67 | flex: 1,
68 | padding: scale(12),
69 | color: '#ffffff',
70 | fontSize: moderateScale(24),
71 | fontWeight:'normal',
72 | textAlign: 'center',
73 | textShadowColor:'#000000',
74 | textShadowOffset:{width: 2, height: 2},
75 | textShadowRadius:0,
76 | },
77 | });
78 |
79 | // Type checking the props of the component
80 | QuestionOptionItem.propTypes = propTypes;
81 |
82 | export default QuestionOptionItem;
83 |
--------------------------------------------------------------------------------
/src/components/TriviaLoader.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | View,
4 | Text,
5 | StyleSheet,
6 | ImageBackground,
7 | } from 'react-native';
8 | import LottieView from 'lottie-react-native';
9 | import Button from './Button';
10 | import { scale, moderateScale, verticalScale} from '../Scaling';
11 |
12 | // Assets
13 | const BACKGROUND_IMAGE = require('../../assets/images/game_background.png');
14 | const BACKGROUND_IMAGE_ACTIVE = require('../../assets/images/game_background_active.png');
15 | const LOADING_ANIMATION = require('../../assets/animations/2151-loading-hamster.json');
16 | const ERROR_ANIMATION = require('../../assets/animations/4386-connection-error.json');
17 |
18 | /**
19 | * This object sets default values to the optional props.
20 | */
21 | const defaultProps = {
22 | error: false,
23 | loading: false,
24 | loadingText: '',
25 | onRetryPressed: () => {}
26 | };
27 |
28 | /**
29 | * @description Trivia app general loader container with network error handler.
30 | * @constructor
31 | */
32 | class TriviaLoader extends React.Component {
33 |
34 | render() {
35 | const { loading, error, loadingText, onRetryPressed} = this.props;
36 |
37 | return (
38 |
39 |
44 | {(loading || error) ? (
45 | (loading) ? (
46 |
47 |
53 | {loadingText}
54 |
55 | ) : (
56 |
57 |
63 | Request Error
64 | Unable to get questions from server.
65 | Possible reasons:
66 | - Internet connectivity issue
67 | - Server Instability
68 |
71 |
72 | )
73 | ) : (
74 | this.props.children
75 | )}
76 |
77 |
78 | );
79 | }
80 | }
81 |
82 | /**
83 | * TriviaLoader component StyleSheet.
84 | */
85 | const styles = StyleSheet.create({
86 | container: {
87 | flex: 1,
88 | paddingTop: 0,
89 | },
90 | loaderContainer: {
91 | flex: 1,
92 | height: '100%',
93 | width: '100%',
94 | paddingTop: 0,
95 | borderWidth: 2,
96 | borderRadius: 8,
97 | borderColor: '#ffffff',
98 | justifyContent: 'center',
99 | alignItems: 'center',
100 | alignSelf: 'center',
101 | backgroundColor: 'rgba(255, 255, 255, 0.9)',
102 | },
103 | loaderAnimation: {
104 | width: moderateScale(200),
105 | height: verticalScale(200)
106 | },
107 | errorAnimation: {
108 | width: moderateScale(100),
109 | height: verticalScale(100)
110 | },
111 | loaderText: {
112 | fontSize: moderateScale(30),
113 | textShadowOffset: {width: -1, height: 1},
114 | textShadowRadius: 10,
115 | color: '#00AA38'
116 | },
117 | errorText: {
118 | fontSize: moderateScale(30),
119 | color: '#FF4423',
120 | textShadowOffset: {width: -1, height: 1},
121 | textShadowRadius: 10,
122 | marginBottom: scale(10),
123 | },
124 | errorDescription: {
125 | fontSize: moderateScale(20),
126 | textAlign: 'center',
127 | marginBottom: 0,
128 | },
129 | errorIssue: {
130 | marginBottom: 0,
131 | fontStyle: 'italic',
132 | },
133 | imageBackground: {
134 | flex: 1,
135 | height: '100%',
136 | width: '100%',
137 | flexDirection: 'column',
138 | justifyContent: 'space-between',
139 | },
140 | });
141 |
142 | // Assign default values to the optional props
143 | TriviaLoader.defaultProps = defaultProps;
144 |
145 | export default TriviaLoader;
--------------------------------------------------------------------------------
/src/components/screens/GameOver.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import {
3 | View,
4 | Text,
5 | ScrollView,
6 | StyleSheet,
7 | ImageBackground,
8 | } from "react-native";
9 | import { connect } from "react-redux";
10 | import { Audio } from "expo-av";
11 | import * as Font from "expo-font";
12 | import LottieView from "lottie-react-native";
13 | import Button from "../Button";
14 | import { goToMainMenu, startGameSelection } from "../../actions";
15 | import { scale, moderateScale, verticalScale } from "../../Scaling";
16 |
17 | // Static assets
18 | const GOOD_ANIMATION = require("../../../assets/animations/677-trophy.json");
19 | const AVERAGE_ANIMATION = require("../../../assets/animations/2144-little-girl-jumping-loader.json");
20 | const BAD_ANIMATION = require("../../../assets/animations/823-crying.json");
21 | const GOOD_SOUND = require("../../../assets/sounds/gameover_good.wav");
22 | const AVERAGE_SOUND = require("../../../assets/sounds/gameover_average.wav");
23 | const BAD_SOUND = require("../../../assets/sounds/gameover_bad.wav");
24 | const BACKGROUND_IMAGE = require("../../../assets/images/game_background.png");
25 | const GAMEOVER_TITLE_FONT = require("../../../assets/fonts/GrinchedRegular.otf");
26 | const GAMEOVER_FONT = require("../../../assets/fonts/BadaboomBB_Reg.ttf");
27 |
28 | /**
29 | * @description Game Over screen.
30 | * @constructor
31 | * @param {Object} props - The props that were defined by the caller of this component.
32 | * @param {number} props.elapsedTime - Total elapsed time in seconds since start and game over.
33 | * @param {function} props.goToMainMenu - Callback executed when user clicks back to main menu.
34 | * @param {string} props.scorePercent - Percent value of the score.
35 | * @param {string} props.selectedCategory - Quiz category.
36 | * @param {string} props.selectedDifficulty - Quiz difficulty.
37 | * @param {function} props.startGameSelection - Callback executed when user clicks play again button.
38 | * @param {number} props.totalQuestionsNumber - Quiz Total questions number.
39 | * @param {number} props.totalScore - Game total score.
40 | */
41 | class GameOver extends React.Component {
42 | constructor(props) {
43 | super(props);
44 | /**
45 | * @typedef {Object} ComponentState
46 | * @property {Object[]} fontLoaded - Indicates whether custom fonts already loaded.
47 | */
48 |
49 | /** @type {ComponentState} */
50 | this.state = {
51 | fontLoaded: false,
52 | };
53 | }
54 |
55 | /**
56 | * Load custom fonts when component mount.
57 | */
58 | async componentDidMount() {
59 | const { scorePercent } = this.props;
60 | await Font.loadAsync({
61 | "game-over": GAMEOVER_FONT,
62 | "game-over-title": GAMEOVER_TITLE_FONT,
63 | });
64 | this.setState({ fontLoaded: true });
65 |
66 | await Audio.setIsEnabledAsync(true);
67 | const soundObject = new Audio.Sound();
68 | try {
69 | await soundObject.unloadAsync();
70 | await soundObject.loadAsync(
71 | scorePercent >= 0.8
72 | ? GOOD_SOUND
73 | : scorePercent > 0.5
74 | ? AVERAGE_SOUND
75 | : BAD_SOUND
76 | );
77 | await soundObject.playAsync();
78 | } catch (error) {
79 | // An error occurred!
80 | console.log(error);
81 | }
82 | }
83 |
84 | render() {
85 | const {
86 | elapsedTime,
87 | goToMainMenu,
88 | scorePercent,
89 | selectedCategory,
90 | selectedDifficulty,
91 | startGameSelection,
92 | totalQuestionsNumber,
93 | totalScore,
94 | } = this.props;
95 |
96 | // Change some game over data based on score percent
97 | let scoreColor;
98 | let message;
99 | let animation;
100 | if (scorePercent >= 0.8) {
101 | animation = GOOD_ANIMATION;
102 | scoreColor = "#14AB00";
103 | message = "Congratulations, you rock!";
104 | } else if (scorePercent > 0.5) {
105 | animation = AVERAGE_ANIMATION;
106 | scoreColor = "#8f61f9";
107 | message = "Not bad!\nBut you can do better!";
108 | } else {
109 | animation = BAD_ANIMATION;
110 | message = "Better luck next time!";
111 | scoreColor = "#FF2020";
112 | }
113 |
114 | return (
115 |
116 |
121 | {this.state.fontLoaded && (
122 |
123 |
124 |
125 | GAME OVER
126 |
132 |
133 | {message}
134 |
135 |
136 | Total Score: {totalScore} of {totalQuestionsNumber}
137 |
138 |
139 | Elapsed Time: {elapsedTime} seconds
140 |
141 |
142 | Category: {selectedCategory}
143 |
144 |
145 | Difficulty: {selectedDifficulty}
146 |
147 |
148 |
151 |
152 |
153 |
154 | )}
155 |
156 |
157 | );
158 | }
159 | }
160 |
161 | /**
162 | * GameOver component StyleSheet.
163 | */
164 | const styles = StyleSheet.create({
165 | container: {
166 | flex: 1,
167 | width: "100%",
168 | width: "100%",
169 | },
170 | imageBackground: {
171 | flex: 1,
172 | height: 0,
173 | width: "100%",
174 | justifyContent: "center",
175 | alignItems: "center",
176 | backgroundColor: "rgb(255, 255, 255)",
177 | },
178 | gameOverData: {
179 | padding: scale(16),
180 | marginTop: scale(32),
181 | marginBottom: scale(32),
182 | alignSelf: "stretch",
183 | alignItems: "center",
184 | borderWidth: 2,
185 | borderRadius: 8,
186 | borderColor: "#ffffff",
187 | justifyContent: "center",
188 | backgroundColor: "rgba(255, 255, 255, 0.9)",
189 | },
190 | gameOverInternal: {
191 | alignSelf: "stretch",
192 | alignItems: "center",
193 | justifyContent: "center",
194 | },
195 | gameOverMessage: {
196 | fontSize: moderateScale(28),
197 | textAlign: "center",
198 | fontWeight: "900",
199 | },
200 | gameOverTitle: {
201 | fontFamily: "game-over-title",
202 | color: "#000000",
203 | textShadowOffset: { width: -1, height: 1 },
204 | textShadowRadius: scale(10),
205 | fontSize: moderateScale(78),
206 | marginBottom: scale(-40),
207 | zIndex: 9999,
208 | },
209 | gameScoreText: {
210 | fontFamily: "game-over",
211 | fontWeight: "900",
212 | fontSize: moderateScale(32),
213 | marginTop: scale(5),
214 | marginBottom: scale(5),
215 | },
216 | gameStatusText: {
217 | fontFamily: "game-over",
218 | fontSize: moderateScale(24),
219 | fontWeight: "900",
220 | color: "#8f61f9",
221 | marginTop: 2,
222 | marginBottom: 2,
223 | },
224 | mainMenuButton: {
225 | marginBottom: scale(50),
226 | backgroundColor: "#DC143C",
227 | },
228 | statusAnimation: {
229 | width: scale(200),
230 | height: scale(200),
231 | },
232 | });
233 |
234 | const mapStateToProps = ({ trivia }) => {
235 | const {
236 | categories,
237 | endTime,
238 | questions,
239 | startTime,
240 | selectedCategoryId,
241 | selectedDifficulty,
242 | totalScore,
243 | } = trivia;
244 |
245 | // Elapsed time in seconds
246 | const elapsedTime = Math.round((endTime - startTime) / 1000);
247 |
248 | const totalQuestionsNumber = questions.length;
249 |
250 | const scorePercent = totalScore / totalQuestionsNumber;
251 |
252 | return {
253 | selectedCategory: categories.filter(
254 | (category) => category.value === selectedCategoryId
255 | )[0].label,
256 | elapsedTime,
257 | scorePercent,
258 | selectedDifficulty,
259 | totalQuestionsNumber,
260 | totalScore,
261 | };
262 | };
263 |
264 | export default connect(mapStateToProps, { startGameSelection, goToMainMenu })(
265 | GameOver
266 | );
267 |
--------------------------------------------------------------------------------
/src/components/screens/MainMenu.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | ImageBackground,
4 | Linking,
5 | StyleSheet,
6 | Text,
7 | View,
8 | } from 'react-native';
9 | import { connect } from 'react-redux';
10 | import * as Font from 'expo-font';
11 | import Button from '../Button';
12 | import { startGameSelection } from '../../actions';
13 | import { scale, moderateScale, verticalScale} from '../../Scaling';
14 |
15 | // Game background image
16 | const BACKGROUND_IMAGE = require('../../../assets/images/game_background.png');
17 | const GAME_TITLE_FONT = require('../../../assets/fonts/SaucerBB.ttf');
18 |
19 | const GITHUB_URL = 'https://github.com/computationalcore/react-native-trivia-quiz';
20 |
21 | /**
22 | * @description Main Menu screen.
23 | * @constructor
24 | * @param {Object} props - The props that were defined by the caller of this component.
25 | * @param {function} props.startGame - Callback when user clicks start game button.
26 | */
27 | class MainMenu extends React.Component {
28 |
29 | constructor(props){
30 | super(props);
31 | /**
32 | * @typedef {Object} ComponentState
33 | * @property {Object[]} fontLoaded - Indicates whether custom fonts already loaded.
34 | */
35 |
36 | /** @type {ComponentState} */
37 | this.state = {
38 | fontLoaded: false
39 | };
40 | }
41 |
42 | async componentDidMount() {
43 | await Font.loadAsync({
44 | 'game-title': GAME_TITLE_FONT,
45 | });
46 | this.setState({ fontLoaded: true });
47 | }
48 |
49 | /**
50 | * Open githubpage using default browser.
51 | */
52 | handleGithubClick = () => {
53 | Linking.canOpenURL(GITHUB_URL).then(supported => {
54 | if (supported) {
55 | Linking.openURL(GITHUB_URL);
56 | } else {
57 | console.log("Don't know how to open URI: " + GITHUB_URL);
58 | }
59 | });
60 | };
61 |
62 | render() {
63 | return (
64 |
65 |
70 | {(this.state.fontLoaded) &&
71 |
72 | TRIVIA QUIZ
73 |
74 | }
75 |
78 |
81 |
82 |
83 | )
84 | }
85 | }
86 |
87 | /**
88 | * MainMenu component StyleSheet.
89 | */
90 | const styles = StyleSheet.create({
91 | container: {
92 | flex: 1,
93 | justifyContent: 'flex-start',
94 | },
95 | gameTitleContainer: {
96 | flex: 1,
97 | marginTop: scale(60),
98 | alignSelf: 'center',
99 | justifyContent: 'flex-start',
100 | },
101 | gameTitle: {
102 | fontFamily: "game-title",
103 | color: '#000000',
104 | fontSize: moderateScale(50)
105 | },
106 | playButton: {
107 | marginBottom: scale(10)
108 | },
109 | githubButton: {
110 | marginBottom: scale(50),
111 | backgroundColor: '#DC143C'
112 | },
113 | imageBackground: {
114 | flex: 1,
115 | height: '100%',
116 | width: '100%',
117 | justifyContent: 'flex-end',
118 | },
119 | });
120 |
121 | const mapStateToProps = (state) => {
122 | return state;
123 | };
124 |
125 | export default connect(mapStateToProps, { startGameSelection })(MainMenu);
--------------------------------------------------------------------------------
/src/components/screens/TriviaGame.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | View,
4 | Text,
5 | StyleSheet,
6 | } from 'react-native';
7 | import { connect } from 'react-redux';
8 | import { Audio } from 'expo-av';
9 | import CountdownCircle from '../CountdownCircle';
10 | import AnswerStatus from '../AnswerStatus';
11 | import Button from '../Button';
12 | import Question from '../Question';
13 | import TriviaLoader from '../TriviaLoader';
14 | import * as actions from '../../actions';
15 | import { capitalizeFirstLetter } from '../../Utils';
16 | import { scale, moderateScale } from '../../Scaling';
17 |
18 | // Sound setup
19 | const AVAILABLE_SOUNDS = {
20 | correct: require('../../../assets/sounds/correct.wav'),
21 | incorrect: require('../../../assets/sounds/incorrect.wav'),
22 | timeout: require('../../../assets/sounds/timeout.wav')
23 | };
24 |
25 | const COUNTDOWN_TIME = 10;
26 |
27 | /**
28 | * @description Trivia Game Screen.
29 | * @constructor
30 | */
31 | class TriviaGame extends React.Component {
32 |
33 | constructor(props){
34 | super(props);
35 | /**
36 | * @typedef {Object} ComponentState
37 | * @property {Object[]} fontLoaded - Indicates whether custom fonts already loaded.
38 | */
39 |
40 | /** @type {ComponentState} */
41 | this.state = {
42 | answerStatus: false,
43 | answerType: 'correct',
44 | fontLoaded: false,
45 | countdownTime: COUNTDOWN_TIME,
46 | soundController: null,
47 | };
48 | }
49 |
50 | async componentDidMount() {
51 | // Call the action to fetch quiz data.
52 | const { selectedCategoryId, selectedDifficulty, numberOfQuestions } = this.props;
53 | this.props.triviaFetch(
54 | selectedCategoryId,
55 | selectedDifficulty,
56 | numberOfQuestions,
57 | );
58 |
59 | // Preload sound controller
60 | await Audio.setIsEnabledAsync(true);
61 | this.setState({
62 | soundController: new Audio.Sound()
63 | });
64 | }
65 |
66 | /**
67 | * Play the correct sound based on answer status type.
68 | */
69 | playSound = async (type) => {
70 | try {
71 | await this.state.soundController.unloadAsync();
72 | await this.state.soundController.loadAsync(AVAILABLE_SOUNDS[type]);
73 | await this.state.soundController.playAsync();
74 | } catch (error) {
75 | // An error occurred!
76 | console.log(error);
77 | }
78 | };
79 |
80 | /**
81 | * @description Call action to move to the next question or end the game.
82 | * @param {string} questionOption - The text of the selected question option.
83 | */
84 | handleAnswerSelection = (questionOption) => {
85 | // Ignore if already selected (it can be a timeout)
86 | if(this.state.answerStatus) return;
87 | const {
88 | currentQuestionIndex,
89 | currentQuestion,
90 | questions,
91 | nextQuestion,
92 | totalScore
93 | } = this.props;
94 | // TODO: Lottie will release a onAnimationFinish event handler, replace later
95 | const app = this;
96 | const type = (questionOption === null) ? 'timeout': (questionOption === currentQuestion.correct_answer) ? 'correct' : 'incorrect';
97 | this.playSound(type);
98 | //console.log('---');
99 | //console.log(currentQuestion.correct_answer);
100 | //console.log(questionOption);
101 | this.setState({answerStatus: true, answerType: type});
102 | setTimeout(function(){
103 | app.setState({answerStatus: false, countdownTime: COUNTDOWN_TIME});
104 | nextQuestion(
105 | questionOption,
106 | currentQuestionIndex,
107 | questions,
108 | totalScore
109 | );
110 | },
111 | 1500);
112 | };
113 |
114 | render() {
115 | const {
116 | currentQuestionNumber,
117 | currentQuestion,
118 | questions,
119 | totalQuestionsSize,
120 | } = this.props;
121 |
122 | return (
123 | this.props.startGame()}
128 | >
129 | {(this.state.answerStatus) &&
130 |
131 |
134 |
135 | }
136 | {(questions.length === 0) ? (
137 |
138 |
139 | No Quiz Available
140 |
141 | No Quiz questions available for "{this.props.selectedCategory}" category,
142 | "{this.props.selectedDifficulty}" difficulty, and {this.props.numberOfQuestions} questions.
143 | NOTE: Sometimes lowering the number of questions for the same category and difficulty works.
144 |
147 |
148 | ) : (
149 |
150 |
151 | Question {currentQuestionNumber}/{totalQuestionsSize}
152 | {this.props.selectedCategory} - {capitalizeFirstLetter(currentQuestion.difficulty)}
153 |
154 |
162 | {(!this.state.answerStatus) &&
163 |
164 | this.handleAnswerSelection(null)}
173 | />}
174 |
175 | )}
176 |
177 | );
178 | }
179 | }
180 |
181 | /**
182 | * TriviaScreen component StyleSheet.
183 | */
184 | const styles = StyleSheet.create({
185 | countdownContainer: {
186 | flexDirection: 'row',
187 | alignItems: 'center',
188 | justifyContent: 'flex-end',
189 | alignSelf: 'center'
190 | },
191 | noDataContainer: {
192 | flex: 1,
193 | height: '100%',
194 | width: '100%',
195 | paddingTop: 0,
196 | borderWidth: 2,
197 | borderRadius: 8,
198 | borderColor: '#ffffff',
199 | justifyContent: 'center',
200 | alignItems: 'center',
201 | alignSelf: 'center',
202 | backgroundColor: 'rgba(255, 255, 255, 0.9)',
203 | },
204 | answerStatus: {
205 | position: 'absolute',
206 | width: '100%',
207 | height: '100%',
208 | zIndex: 9999
209 | },
210 | noDataText: {
211 | fontSize: moderateScale(20),
212 | padding: scale(10),
213 | textAlign: 'justify',
214 | },
215 | container: {
216 | flex: 1,
217 | paddingTop: 0,
218 | },
219 | headerContainer: {
220 | //flexDirection: 'row',
221 | alignItems: 'center',
222 | justifyContent: 'center',
223 | paddingRight: scale(24),
224 | paddingLeft: scale(24),
225 | paddingTop: scale(12),
226 | paddingBottom: scale(12),
227 | backgroundColor: '#00BCD4',
228 | borderWidth: 2,
229 | borderRadius: 8,
230 | borderColor: '#ffffff',
231 | margin: scale(8),
232 | marginTop: scale(36),
233 | },
234 | headerTitle: {
235 | fontWeight: '300',
236 | color: '#ffffff',
237 | fontSize: moderateScale(28),
238 | fontWeight: '900',
239 | },
240 | categoryText: {
241 | fontWeight: '300',
242 | color: '#ffffff',
243 | fontSize: moderateScale(18),
244 | fontWeight: '900',
245 | },
246 | });
247 |
248 | const mapStateToProps = ({ trivia }) => {
249 | const {
250 | categories,
251 | currentQuestionIndex,
252 | error,
253 | loading,
254 | questions,
255 | totalScore,
256 | selectedCategoryId,
257 | selectedDifficulty,
258 | numberOfQuestions
259 | } = trivia;
260 |
261 | return {
262 | currentQuestion: questions[currentQuestionIndex],
263 | currentQuestionNumber: currentQuestionIndex + 1,
264 | selectedCategory: categories.filter(category => category.value === selectedCategoryId)[0].label,
265 | totalQuestionsSize: questions.length,
266 | currentQuestionIndex,
267 | error,
268 | loading,
269 | numberOfQuestions,
270 | questions,
271 | totalScore,
272 | selectedCategoryId,
273 | selectedDifficulty,
274 | };
275 | };
276 |
277 | export default connect(mapStateToProps,
278 | actions
279 | )(TriviaGame);
--------------------------------------------------------------------------------
/src/components/screens/TriviaSelection.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | View,
4 | Text,
5 | StyleSheet,
6 | } from 'react-native';
7 | import { connect } from 'react-redux';
8 | import RNPickerSelect from 'react-native-picker-select';
9 | import SegmentedControlTab from 'react-native-segmented-control-tab';
10 | import * as Font from 'expo-font';
11 | import Button from '../Button';
12 | import TriviaLoader from '../TriviaLoader';
13 | import * as actions from '../../actions';
14 | import { scale, moderateScale, verticalScale} from '../../Scaling';
15 |
16 | const SELECT_FONT = require('../../../assets/fonts/BadaboomBB_Reg.ttf');
17 |
18 | const DIFFICULTY_OPTIONS = ["Mixed", "Easy", "Medium", "Hard"];
19 | const NUMBER_OF_QUESTIONS = ["10", "20", "30", "40", "50"];
20 |
21 | /**
22 | * @description Trivia setup page screen.
23 | * @constructor
24 | */
25 | class TriviaSelection extends React.Component {
26 |
27 | constructor() {
28 | super()
29 |
30 | /**
31 | * @typedef {Object} ComponentState
32 | * @property {Object[]} fontLoaded - Indicates whether custom fonts already loaded.
33 | */
34 |
35 | /** @type {ComponentState} */
36 | this.state = {
37 | selectedCategoryId: -1,
38 | selectedDifficulty: 0,
39 | selectedQuestion: 0,
40 | fontLoaded: false
41 | }
42 | }
43 |
44 | async componentDidMount() {
45 | // Call the action to fetch quiz data.
46 | this.props.triviaCategoryFetch();
47 |
48 | await Font.loadAsync({
49 | 'select-font': SELECT_FONT,
50 | });
51 | this.setState({ fontLoaded: true });
52 | }
53 |
54 | handleCategorySelect = (value) => {
55 | console.log(value);
56 | this.setState({ selectedCategoryId: value });
57 | }
58 |
59 | handleQuestionSelect = (index) => {
60 | console.log(index);
61 | this.setState({ selectedQuestion: index });
62 | }
63 |
64 | handleDifficultySelect = (index) => {
65 | this.setState({ selectedDifficulty: index });
66 | }
67 |
68 | handleStartGame = () => {
69 | const { selectedCategoryId, selectedDifficulty, selectedQuestion } = this.state;
70 | this.props.startGame(
71 | selectedCategoryId,
72 | DIFFICULTY_OPTIONS[selectedDifficulty],
73 | NUMBER_OF_QUESTIONS[selectedQuestion]
74 | );
75 | }
76 |
77 | render() {
78 | return (
79 | (this.state.fontLoaded) &&
80 | this.props.startGameSelection()}
85 | >
86 |
87 |
88 | Select Options
89 |
90 |
91 | Category
92 |
99 |
100 | Difficulty
101 |
108 |
109 | Number of Questions
110 |
115 |
116 |
119 |
120 |
121 | );
122 | }
123 | }
124 |
125 | /* TriviaSelection StyleSheet */
126 | const styles = StyleSheet.create({
127 | gameTitle: {
128 | fontFamily: 'select-font',
129 | color: '#000000',
130 | fontSize: moderateScale(60)
131 | },
132 | gameTitleContainer: {
133 | textAlign: 'center'
134 | },
135 | container: {
136 | flex: 1,
137 | justifyContent: 'center',
138 | alignItems: 'center',
139 | alignContent: 'center',
140 | backgroundColor: '#FFFFFFDD',
141 | width: '100%',
142 | height: '100%'
143 | },
144 | parentContainer: {
145 | flex: 1,
146 | width: '100%',
147 | height: '100%'
148 | },
149 | tabViewText: {
150 | color: '#444444',
151 | fontWeight: 'bold',
152 | marginTop: scale(50),
153 | fontSize: moderateScale(18),
154 | },
155 | titleText: {
156 | color: '#444444',
157 | padding: scale(20),
158 | fontSize: moderateScale(14),
159 | fontWeight: '500',
160 | },
161 | headerText: {
162 | fontFamily: 'select-font',
163 | padding: scale(8),
164 | fontSize: moderateScale(24),
165 | color: '#444444',
166 | },
167 | tabContent: {
168 | color: '#444444',
169 | fontSize: scale(18),
170 | margin: scale(24),
171 | },
172 | Separator: {
173 | marginHorizontal: scale(-10),
174 | alignSelf: 'stretch',
175 | borderTopWidth: 1,
176 | borderTopColor: '#888888',
177 | marginTop: scale(24),
178 | },
179 | tabStyle: {
180 | borderColor: '#D52C43',
181 | paddingHorizontal: scale(10),
182 | },
183 | activeTabStyle: {
184 | backgroundColor: '#D52C43',
185 | },
186 | tabTextStyle: {
187 | color: '#D52C43',
188 | },
189 | });
190 |
191 | /* RNPickerSelect StyleSheet */
192 | const pickerSelectStyles = StyleSheet.create({
193 | inputIOS: {
194 | fontSize: scale(24),
195 | textAlign: 'center',
196 | fontWeight: "900",
197 | paddingVertical: 12,
198 | paddingHorizontal: 10,
199 | borderWidth: 1,
200 | borderColor: 'gray',
201 | borderRadius: 4,
202 | color: 'black',
203 | paddingRight: 30, // to ensure the text is never behind the icon
204 | },
205 | inputAndroid: {
206 | paddingHorizontal: 10,
207 | paddingVertical: 8,
208 | borderWidth: 0.5,
209 | borderRadius: 8,
210 | color: 'black',
211 | paddingRight: 30, // to ensure the text is never behind the icon
212 | },
213 | });
214 |
215 | const mapStateToProps = ({ trivia }) => {
216 | const { error, loading, categories } = trivia;
217 |
218 | return {
219 | error,
220 | loading,
221 | categories
222 | };
223 | };
224 |
225 | export default connect(mapStateToProps,
226 | actions
227 | )(TriviaSelection);
--------------------------------------------------------------------------------
/src/reducers/TriviaReducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | TRIVIA_MAIN_MENU,
3 | TRIVIA_SELECT_OPTIONS_GAME,
4 | TRIVIA_START_GAME,
5 | TRIVIA_FETCH_CATEGORIES_SUCCESS,
6 | TRIVIA_FETCH_SUCCESS,
7 | TRIVIA_FETCH_ERROR,
8 | TRIVIA_NEXT_QUESTION,
9 | TRIVIA_GAME_OVER
10 | } from '../actions/types';
11 |
12 | const INITIAL_STATE = {
13 | questions: [{
14 | category: '',
15 | correct_answer: '',
16 | difficulty: 'easy',
17 | incorrect_answers: [],
18 | options: [],
19 | question: '',
20 | type: 'boolean',
21 | }],
22 | currentQuestionIndex: 0,
23 | totalScore: 0,
24 | startTime: 0,
25 | endTime: 0,
26 | loading: true,
27 | error: true,
28 | categories: [{
29 | label: 'Any',
30 | value: -1
31 | }],
32 | selectedCategoryId: -1,
33 | selectedDifficulty: 'Mixed',
34 | numberOfQuestions: 10
35 | };
36 |
37 | export default (state = INITIAL_STATE, action) => {
38 | switch (action.type) {
39 | case TRIVIA_MAIN_MENU:
40 | return INITIAL_STATE;
41 | case TRIVIA_SELECT_OPTIONS_GAME:
42 | return INITIAL_STATE;
43 | case TRIVIA_START_GAME:
44 | return {
45 | ...state,
46 | selectedCategoryId: (action.payload.categoryId) ? action.payload.categoryId : state.selectedCategoryId,
47 | selectedDifficulty: (action.payload.difficulty) ? action.payload.difficulty : state.selectedDifficulty,
48 | numberOfQuestions: (action.payload.numberOfQuestions) ? action.payload.numberOfQuestions: state.numberOfQuestions,
49 | currentQuestionIndex: 0,
50 | totalScore: 0,
51 | loading: true,
52 | };
53 | case TRIVIA_FETCH_CATEGORIES_SUCCESS:
54 | return {
55 | ...state,
56 | categories: action.payload,
57 | loading: false,
58 | error: '',
59 | };
60 | case TRIVIA_FETCH_SUCCESS:
61 | return {
62 | ...state,
63 | questions: action.payload,
64 | totalQuestionsSize: action.payload.length,
65 | startTime: (new Date).getTime(),
66 | loading: false,
67 | error: '',
68 | };
69 | case TRIVIA_FETCH_ERROR:
70 | return {
71 | ...state,
72 | startTime: (new Date).getTime(),
73 | loading: false,
74 | error: true,
75 | };
76 | case TRIVIA_NEXT_QUESTION:
77 | return {
78 | ...state,
79 | currentQuestionIndex: action.payload.currentQuestionIndex,
80 | totalScore: action.payload.totalScore,
81 | };
82 | case TRIVIA_GAME_OVER:
83 | return {
84 | ...state,
85 | totalScore: action.payload,
86 | endTime: (new Date).getTime(),
87 | };
88 | default:
89 | return state;
90 | }
91 | };
--------------------------------------------------------------------------------
/src/reducers/index.js:
--------------------------------------------------------------------------------
1 | import { combineReducers } from 'redux';
2 | import TriviaReducer from './TriviaReducer';
3 |
4 | export default combineReducers({
5 | trivia: TriviaReducer,
6 | });
7 |
--------------------------------------------------------------------------------