Fix transparent background rendering with MULTIPLY Blend mode on Android 34+ (#2661)
diff --git a/.github/workflows/post_snapshot_comment.yml b/.github/workflows/post_snapshot_comment.yml
index 2d86c15..9dd88cd 100644
--- a/.github/workflows/post_snapshot_comment.yml
+++ b/.github/workflows/post_snapshot_comment.yml
@@ -48,4 +48,4 @@
message: |
**Snapshot Tests**
**API 23**: [Report](https://happo.io/a/27/report/${{ env.GITHUB_SHA }}-android23) [Diff](https://happo.io/a/27/p/27/compare/master-android23/${{ env.GITHUB_SHA }}-android23)
- **API 31**: [Report](https://happo.io/a/27/report/${{ env.GITHUB_SHA }}-android31) [Diff](https://happo.io/a/27/p/27/compare/master-android31/${{ env.GITHUB_SHA }}-android31)
\ No newline at end of file
+ **API 35**: [Report](https://happo.io/a/27/report/${{ env.GITHUB_SHA }}-android35) [Diff](https://happo.io/a/27/p/27/compare/master-android35/${{ env.GITHUB_SHA }}-android35)
diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml
index bf8b794..49002f2 100644
--- a/.github/workflows/validate.yml
+++ b/.github/workflows/validate.yml
@@ -99,7 +99,7 @@
test: snapshot-tests/build/outputs/apk/androidTest/debug/snapshot-tests-debug-androidTest.apk
devices: |
model=Pixel2,version=23,gpu=auto
- model=Pixel2,version=31,gpu=auto
+ model=Pixel2,version=35,gpu=auto
outputs-dir: build/test-results
- name: Save PR number
if: github.event_name == 'pull_request'
diff --git a/lottie/src/main/java/com/airbnb/lottie/model/content/LBlendMode.java b/lottie/src/main/java/com/airbnb/lottie/model/content/LBlendMode.java
index 4a4012b..b01456f 100644
--- a/lottie/src/main/java/com/airbnb/lottie/model/content/LBlendMode.java
+++ b/lottie/src/main/java/com/airbnb/lottie/model/content/LBlendMode.java
@@ -42,11 +42,15 @@
// any alpha blending. It just does a component-wise multiplication
// of the colors.
//
- // For proper results on all platforms, we will map the MULTIPLY
+ // For proper results on Android versions < Q, we will map the MULTIPLY
// blend mode to MODULATE, and then do a slight adjustment to
// how we render such layers to still achieve the correct result.
// See BaseLayer.draw().
- return BlendModeCompat.MODULATE;
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
+ return BlendModeCompat.MULTIPLY;
+ } else {
+ return BlendModeCompat.MODULATE;
+ }
case SCREEN:
return BlendModeCompat.SCREEN;
case OVERLAY:
diff --git a/lottie/src/main/java/com/airbnb/lottie/model/layer/BaseLayer.java b/lottie/src/main/java/com/airbnb/lottie/model/layer/BaseLayer.java
index b9b4e5f..c472bab 100644
--- a/lottie/src/main/java/com/airbnb/lottie/model/layer/BaseLayer.java
+++ b/lottie/src/main/java/com/airbnb/lottie/model/layer/BaseLayer.java
@@ -322,19 +322,21 @@
if (getBlendMode() != LBlendMode.MULTIPLY) {
clearCanvas(canvas);
} else {
- // Due to the difference between PorterDuffMode.MULTIPLY (which we use for compatibility
- // with Android < Q) and BlendMode.MULTIPLY (which is the correct, alpha-blended mode),
- // we will alpha-blend the contents of this layer on top of a white background before
- // we multiply it with the opaque substrate below (with canvas.restore()).
- //
- // Since white is the identity color for multiplication, this will behave as if we
- // had correctly performed an alpha-blended multiply (such as BlendMode.MULTIPLY), but
- // will work pre-Q as well.
- if (solidWhitePaint == null) {
- solidWhitePaint = new LPaint();
- solidWhitePaint.setColor(0xffffffff);
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
+ // Due to the difference between PorterDuffMode.MODULATE (which we use for compatibility
+ // with Android < Q) and BlendMode.MULTIPLY (which is the correct, alpha-blended mode),
+ // we will alpha-blend the contents of this layer on top of a white background before
+ // we multiply it with the opaque substrate below (with canvas.restore()).
+ //
+ // Since white is the identity color for multiplication, this will behave as if we
+ // had correctly performed an alpha-blended multiply (such as BlendMode.MULTIPLY), but
+ // will work pre-Q as well.
+ if (solidWhitePaint == null) {
+ solidWhitePaint = new LPaint();
+ solidWhitePaint.setColor(0xffffffff);
+ }
+ canvas.drawRect(rect.left - 1, rect.top - 1, rect.right + 1, rect.bottom + 1, solidWhitePaint);
}
- canvas.drawRect(rect.left - 1, rect.top - 1, rect.right + 1, rect.bottom + 1, solidWhitePaint);
}
if (L.isTraceEnabled()) {
diff --git a/snapshot-tests/src/main/assets/Tests/clock_animation_transparent_background.json b/snapshot-tests/src/main/assets/Tests/clock_animation_transparent_background.json
new file mode 100644
index 0000000..bfa2a5a
--- /dev/null
+++ b/snapshot-tests/src/main/assets/Tests/clock_animation_transparent_background.json
@@ -0,0 +1,2795 @@
+{
+ "v": "4.8.0",
+ "meta": {
+ "g": "LottieFiles AE 3.5.4",
+ "a": "",
+ "k": "",
+ "d": "",
+ "tc": ""
+ },
+ "fr": 30,
+ "ip": 0,
+ "op": 180,
+ "w": 40,
+ "h": 40,
+ "nm": "timer-3",
+ "ddd": 0,
+ "assets": [],
+ "layers": [
+ {
+ "ddd": 0,
+ "ind": 1,
+ "ty": 4,
+ "nm": "arrow",
+ "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]
+ },
+ "t": 0,
+ "s": [0]
+ },
+ {
+ "i": {
+ "x": [0.833],
+ "y": [0.833]
+ },
+ "o": {
+ "x": [0.167],
+ "y": [0.167]
+ },
+ "t": 90,
+ "s": [360]
+ },
+ {
+ "t": 180,
+ "s": [720]
+ }
+ ],
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [20.006, 21.98, 0],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [20.006, 21.98, 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": [
+ [0.23, 0.23],
+ [0, 0],
+ [0.27, -0.197],
+ [-0.23, -0.23],
+ [0, 0],
+ [-0.27, 0.197]
+ ],
+ "o": [
+ [0, 0],
+ [-0.23, -0.23],
+ [-0.197, 0.27],
+ [0, 0],
+ [0.23, 0.23],
+ [0.197, -0.27]
+ ],
+ "v": [
+ [0.91, 0.076],
+ [-0.076, -0.91],
+ [-0.94, -0.94],
+ [-0.91, -0.076],
+ [0.076, 0.91],
+ [0.94, 0.94]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 3,
+ "k": {
+ "a": 0,
+ "k": [0.031, 0.243, 0.255, 0.271, 0.516, 0.188, 0.202, 0.218, 1, 0.133, 0.149, 0.165],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [-1.262, 1.004],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [0.959, -1.125],
+ "ix": 6
+ },
+ "t": 1,
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [17.624, 24.383],
+ "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,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 0.552],
+ [0.552, 0],
+ [0, -0.552],
+ [-0.552, 0]
+ ],
+ "o": [
+ [0, -0.552],
+ [-0.552, 0],
+ [0, 0.552],
+ [0.552, 0]
+ ],
+ "v": [
+ [1, 0],
+ [0, -1],
+ [-1, 0],
+ [0, 1]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 3,
+ "k": {
+ "a": 0,
+ "k": [0.048, 0.342, 0.339, 0.336, 0.419, 0.238, 0.244, 0.25, 0.79, 0.133, 0.149, 0.165],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [-0.169, -0.256],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [0.415, 1.165],
+ "ix": 6
+ },
+ "t": 2,
+ "h": {
+ "a": 0,
+ "k": 0,
+ "ix": 7
+ },
+ "a": {
+ "a": 0,
+ "k": 0,
+ "ix": 8
+ },
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [20, 22],
+ "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,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0.608, -0.507],
+ [0, 0],
+ [-0.268, -0.268],
+ [0, 0],
+ [-0.27, 0.304],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [-0.305, 0.269],
+ [0, 0],
+ [0.267, 0.267],
+ [0, 0],
+ [0.507, -0.608]
+ ],
+ "v": [
+ [4.658, -5.408],
+ [-5.348, 3.428],
+ [-5.417, 4.42],
+ [-4.431, 5.407],
+ [-3.439, 5.339],
+ [5.419, -4.647]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 7,
+ "k": {
+ "a": 0,
+ "k": [0.031, 0.243, 0.255, 0.271, 0.109, 0.306, 0.309, 0.311, 0.186, 0.369, 0.363, 0.351, 0.373, 0.322, 0.315, 0.305, 0.56, 0.275, 0.267, 0.259, 0.78, 0.204, 0.208, 0.212, 1, 0.133, 0.149, 0.165],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [-0.438, -1.098],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [1.796, 1.147],
+ "ix": 6
+ },
+ "t": 1,
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [22.131, 19.886],
+ "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": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 3,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 2,
+ "ty": 4,
+ "nm": "Shape Layer 2",
+ "td": 1,
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 720,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [20.125, 19.25, 0],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [0, 0, 0],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [25, 25, 100],
+ "ix": 6
+ }
+ },
+ "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
+ },
+ "t": 0,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [24.5, -68],
+ [13.643, -66.48],
+ [-0.5, -64.5],
+ [-0.5, 11],
+ [66, -55.5],
+ [48, -63]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 18,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [65.196, -12.435],
+ [57.469, -64.132],
+ [-0.5, -64.5],
+ [-0.5, 11],
+ [67.196, 47.043],
+ [69.522, 18.391]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 23,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [76.5, 3],
+ [69.643, -63.48],
+ [-0.5, -64.5],
+ [-0.5, 11],
+ [66.25, 80],
+ [75.5, 41]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 37,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [72.543, 40.435],
+ [71.165, -50.697],
+ [-0.5, -64.5],
+ [-0.5, 11],
+ [-18.489, 81.978],
+ [48.413, 67.478]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 46,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [70, 64.5],
+ [72.143, -42.48],
+ [-0.5, -64.5],
+ [-0.5, 11],
+ [-82, 83.25],
+ [31, 84.5]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 56,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [68.182, 69.273],
+ [72.143, -42.48],
+ [-0.5, -64.5],
+ [-0.5, 11],
+ [-76.523, 11.182],
+ [-17.182, 81.545]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 68,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [66, 75],
+ [72.143, -42.48],
+ [-0.5, -64.5],
+ [-0.5, 11],
+ [-67.75, -61],
+ [-75, 78]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 73,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [42.061, 87.697],
+ [91.855, -22.389],
+ [-0.477, -67.697],
+ [-0.5, 11],
+ [-34.295, -67.47],
+ [-94.788, 51.288]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 79,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [13.333, 102.933],
+ [115.509, 1.72],
+ [-0.45, -71.533],
+ [-0.5, 11],
+ [-0.75, -70.833],
+ [-118.533, 19.233]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 91,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [41, 114.5],
+ [98.643, 4.02],
+ [60.75, -44.5],
+ [-0.5, 11],
+ [-0.5, -72.5],
+ [-126.5, 26]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 99,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-7.696, 115.37],
+ [79.686, 36.89],
+ [74.511, 0.543],
+ [-0.5, 11],
+ [-0.5, -72.5],
+ [-114.326, -3.391]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 114,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-99, 117],
+ [44.143, 98.52],
+ [44.25, 62],
+ [-0.5, 11],
+ [-0.5, -72.5],
+ [-91.5, -58.5]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 128,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-110.565, 40],
+ [-65.357, 105.303],
+ [-25.641, 91.283],
+ [-0.5, 11],
+ [-0.5, -72.5],
+ [-68.065, -65.196]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 137,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-118, -9.5],
+ [-123.357, 37.52],
+ [-64, 60],
+ [-0.5, 11],
+ [-0.5, -72.5],
+ [-53, -69.5]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 144,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-94.068, -55.955],
+ [-111.016, 8.384],
+ [-60.568, 21.636],
+ [-0.5, 11],
+ [-0.5, -72.5],
+ [-47.273, -69.818]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 159,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-69.5, -56.5],
+ [-79.857, -41.48],
+ [-48.5, -48],
+ [-0.5, 11],
+ [-0.5, -72.5],
+ [-35, -70.5]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 170,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-9.5, -83.5],
+ [-13.857, -78.98],
+ [-0.5, -64.75],
+ [-0.5, 11],
+ [-0.5, -72.5],
+ [-1, -81]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "t": 179,
+ "s": [
+ {
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [38.5, -76.5],
+ [19.143, -74.48],
+ [0.5, -65],
+ [-0.5, 11],
+ [56, -54.5],
+ [46, -71]
+ ],
+ "c": true
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [0.5, 0.5, 0.5, 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": "Shape 1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 3,
+ "ty": 4,
+ "nm": "Shape Layer 1",
+ "tt": 1,
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 40,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 720,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [19.971, 22.023, 0],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [-0.779, 9.273, 0],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [25.395, 25.395, 100],
+ "ix": 6
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "d": 1,
+ "ty": "el",
+ "s": {
+ "a": 0,
+ "k": [95.031, 95.031],
+ "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.5, 0.5, 0.5, 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.779, 9.273],
+ "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,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 1
+ },
+ {
+ "ddd": 0,
+ "ind": 7,
+ "ty": 4,
+ "nm": "button",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.284,
+ "y": 1
+ },
+ "o": {
+ "x": 0.875,
+ "y": 0
+ },
+ "t": 68,
+ "s": [20, 4, 0],
+ "to": [0, 0.167, 0],
+ "ti": [0, 0, 0]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 79,
+ "s": [20, 5, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0.167, 0]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 0.667
+ },
+ "o": {
+ "x": 0.875,
+ "y": 0.875
+ },
+ "t": 90,
+ "s": [20, 4, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0, 0]
+ },
+ {
+ "i": {
+ "x": 0.284,
+ "y": 1
+ },
+ "o": {
+ "x": 0.875,
+ "y": 0
+ },
+ "t": 159,
+ "s": [20, 4, 0],
+ "to": [0, 0.167, 0],
+ "ti": [0, 0, 0]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 170,
+ "s": [20, 5, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0.167, 0]
+ },
+ {
+ "t": 179,
+ "s": [20, 4, 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": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0.356, 0],
+ [0, 0],
+ [0, -0.356],
+ [0, 0],
+ [-0.356, 0],
+ [0, 0],
+ [0, 0.356],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [-0.356, 0],
+ [0, 0],
+ [0, 0.356],
+ [0, 0],
+ [0.356, 0],
+ [0, 0],
+ [0, -0.356]
+ ],
+ "v": [
+ [2.355, -2],
+ [-2.355, -2],
+ [-3, -1.355],
+ [-3, 1.355],
+ [-2.355, 2],
+ [2.355, 2],
+ [3, 1.355],
+ [3, -1.355]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 9,
+ "k": {
+ "a": 0,
+ "k": [0, 0.988, 0.804, 0.075, 0.119, 0.994, 0.849, 0.267, 0.238, 1, 0.894, 0.459, 0.334, 1, 0.869, 0.384, 0.43, 1, 0.843, 0.31, 0.576, 0.986, 0.812, 0.19, 0.723, 0.973, 0.78, 0.071, 0.861, 0.873, 0.661, 0.112, 0.998, 0.773, 0.541, 0.153],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [-3, 0],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [3, 0],
+ "ix": 6
+ },
+ "t": 1,
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-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": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 10,
+ "ty": 4,
+ "nm": "base 4",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [20, 22, 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": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 5.523],
+ [5.523, 0],
+ [0, -5.523],
+ [-5.523, 0]
+ ],
+ "o": [
+ [0, -5.523],
+ [-5.523, 0],
+ [0, 5.523],
+ [5.523, 0]
+ ],
+ "v": [
+ [10, 0],
+ [0, -10],
+ [-10, 0],
+ [0, 10]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 3,
+ "k": {
+ "a": 0,
+ "k": [0.32, 1, 1, 1, 0.655, 1, 1, 1, 0.99, 1, 1, 1, 0.32, 0.6, 0.655, 0.3, 0.99, 0],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [0, -4],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [10, -4],
+ "ix": 6
+ },
+ "t": 2,
+ "h": {
+ "a": 0,
+ "k": 0,
+ "ix": 7
+ },
+ "a": {
+ "a": 0,
+ "k": 0,
+ "ix": 8
+ },
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-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": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 11,
+ "ty": 4,
+ "nm": "base 3",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [20, 22, 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": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 6.627],
+ [6.627, 0],
+ [0, -6.627],
+ [-6.627, 0]
+ ],
+ "o": [
+ [0, -6.627],
+ [-6.627, 0],
+ [0, 6.627],
+ [6.627, 0]
+ ],
+ "v": [
+ [12, 0],
+ [0, -12],
+ [-12, 0],
+ [0, 12]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 3,
+ "k": {
+ "a": 0,
+ "k": [0.906, 1, 0.988, 0.965, 0.95, 0.955, 0.919, 0.858, 0.994, 0.909, 0.85, 0.751],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [0, 0],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [12.929, 0],
+ "ix": 6
+ },
+ "t": 2,
+ "h": {
+ "a": 0,
+ "k": 0,
+ "ix": 7
+ },
+ "a": {
+ "a": 0,
+ "k": 0,
+ "ix": 8
+ },
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-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": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 12,
+ "ty": 4,
+ "nm": "base 2",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [20, 22, 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": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 8.284],
+ [8.284, 0],
+ [0, -8.284],
+ [-8.284, 0]
+ ],
+ "o": [
+ [0, -8.284],
+ [-8.284, 0],
+ [0, 8.284],
+ [8.284, 0]
+ ],
+ "v": [
+ [15, 0],
+ [0, -15],
+ [-15, 0],
+ [0, 15]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 7,
+ "k": {
+ "a": 0,
+ "k": [0.699, 0.839, 0.592, 0.125, 0.754, 0.914, 0.698, 0.1, 0.809, 0.988, 0.804, 0.075, 0.854, 0.994, 0.849, 0.267, 0.899, 1, 0.894, 0.459, 0.95, 1, 0.815, 0.229, 1, 1, 0.737, 0],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [-1, -1],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [14.985, -0.978],
+ "ix": 6
+ },
+ "t": 2,
+ "h": {
+ "a": 0,
+ "k": 0,
+ "ix": 7
+ },
+ "a": {
+ "a": 0,
+ "k": 0,
+ "ix": 8
+ },
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-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": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 13,
+ "ty": 4,
+ "nm": "base",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [20, 6, 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": [
+ {
+ "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": [
+ [2, -2],
+ [-2, -2],
+ [-2, 2],
+ [2, 2]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 7,
+ "k": {
+ "a": 0,
+ "k": [0, 0.937, 0.659, 0.102, 0.187, 0.969, 0.751, 0.206, 0.374, 1, 0.843, 0.31, 0.548, 0.976, 0.763, 0.196, 0.722, 0.953, 0.682, 0.082, 0.86, 0.863, 0.612, 0.118, 0.998, 0.773, 0.541, 0.153],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [-3, 0],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [1, 0],
+ "ix": 6
+ },
+ "t": 1,
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-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": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 14,
+ "ty": 4,
+ "nm": "base 6",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [32.364, 9.591, 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": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0.169, 0.169],
+ [0, 0],
+ [0.169, -0.169],
+ [0, 0],
+ [-0.169, -0.169],
+ [0, 0],
+ [-0.169, 0.169],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [-0.169, -0.169],
+ [0, 0],
+ [-0.169, 0.169],
+ [0, 0],
+ [0.169, 0.169],
+ [0, 0],
+ [0.169, -0.169]
+ ],
+ "v": [
+ [1.494, 0.721],
+ [-0.721, -1.494],
+ [-1.334, -1.494],
+ [-1.494, -1.334],
+ [-1.494, -0.721],
+ [0.721, 1.494],
+ [1.334, 1.494],
+ [1.494, 1.334]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 9,
+ "k": {
+ "a": 0,
+ "k": [0, 0.988, 0.804, 0.075, 0.119, 0.994, 0.849, 0.267, 0.238, 1, 0.894, 0.459, 0.334, 1, 0.869, 0.384, 0.43, 1, 0.843, 0.31, 0.576, 0.986, 0.812, 0.19, 0.723, 0.973, 0.78, 0.071, 0.861, 0.873, 0.661, 0.112, 0.998, 0.773, 0.541, 0.153],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [-1.442, -1.071],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [1.167, 1.254],
+ "ix": 6
+ },
+ "t": 1,
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-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": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 15,
+ "ty": 4,
+ "nm": "small-button",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [31.47, 10.432, 0],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [31.47, 10.432, 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": [
+ [0.169, 0.169],
+ [0, 0],
+ [0.169, -0.169],
+ [0, 0],
+ [-0.169, -0.169],
+ [0, 0],
+ [-0.169, 0.169],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [-0.169, -0.169],
+ [0, 0],
+ [-0.169, 0.169],
+ [0, 0],
+ [0.169, 0.169],
+ [0, 0],
+ [0.169, -0.169]
+ ],
+ "v": [
+ [1.596, 0.096],
+ [-0.096, -1.596],
+ [-0.709, -1.596],
+ [-1.596, -0.709],
+ [-1.596, -0.096],
+ [0.096, 1.596],
+ [0.709, 1.596],
+ [1.596, 0.709]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 7,
+ "k": {
+ "a": 0,
+ "k": [0, 0.937, 0.659, 0.102, 0.187, 0.969, 0.751, 0.206, 0.374, 1, 0.843, 0.31, 0.548, 0.976, 0.763, 0.196, 0.722, 0.953, 0.682, 0.082, 0.86, 0.863, 0.612, 0.118, 0.998, 0.773, 0.541, 0.153],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [-1.438, -0.8],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [0.699, 1.164],
+ "ix": 6
+ },
+ "t": 1,
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [31.701, 10.201],
+ "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,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0.169, 0.169],
+ [0, 0],
+ [0.169, -0.169],
+ [0, 0],
+ [-0.169, -0.169],
+ [0, 0],
+ [-0.169, 0.169],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [-0.169, -0.169],
+ [0, 0],
+ [-0.169, 0.169],
+ [0, 0],
+ [0.169, 0.169],
+ [0, 0],
+ [0.169, -0.169]
+ ],
+ "v": [
+ [1.308, -0.692],
+ [0.692, -1.308],
+ [0.079, -1.308],
+ [-1.308, 0.079],
+ [-1.308, 0.692],
+ [-0.692, 1.308],
+ [-0.079, 1.308],
+ [1.308, -0.079]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "gf",
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 10
+ },
+ "r": 1,
+ "bm": 0,
+ "g": {
+ "p": 7,
+ "k": {
+ "a": 0,
+ "k": [0, 0.937, 0.659, 0.102, 0.187, 0.969, 0.751, 0.206, 0.374, 1, 0.843, 0.31, 0.548, 0.976, 0.763, 0.196, 0.722, 0.953, 0.682, 0.082, 0.86, 0.863, 0.612, 0.118, 0.998, 0.773, 0.541, 0.153],
+ "ix": 9
+ }
+ },
+ "s": {
+ "a": 0,
+ "k": [-1.191, -0.123],
+ "ix": 5
+ },
+ "e": {
+ "a": 0,
+ "k": [0.045, 1.053],
+ "ix": 6
+ },
+ "t": 1,
+ "nm": "Gradient Fill 1",
+ "mn": "ADBE Vector Graphic - G-Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [30.951, 10.951],
+ "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,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 180,
+ "st": 0,
+ "bm": 0
+ }
+ ],
+ "markers": []
+ }
+
\ No newline at end of file
diff --git a/snapshot-tests/src/main/assets/Tests/ill_onb_processing_full.lottie b/snapshot-tests/src/main/assets/Tests/ill_onb_processing_full.lottie
new file mode 100644
index 0000000..e9dfcf7
--- /dev/null
+++ b/snapshot-tests/src/main/assets/Tests/ill_onb_processing_full.lottie
Binary files differ