{"v":"5.7.4","fr":25,"ip":0,"op":150,"w":1920,"h":1080,"nm":"capsule12-realisation","ddd":0,"assets":[{"id":"image_0","w":310,"h":212,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_1","w":861,"h":357,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_2","w":802,"h":270,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_3","w":487,"h":95,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_4","w":387,"h":188,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_5","w":204,"h":198,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_6","w":184,"h":184,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_7","w":152,"h":148,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_8","w":270,"h":258,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_9","w":241,"h":204,"u":"","p":"data:image/png;base64,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","e":1}],"layers":[{"ddd":0,"ind":1,"ty":2,"nm":"Mask vitre","parent":3,"td":1,"refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[612.437,123.631,0],"ix":2,"l":2},"a":{"a":0,"k":[154.6,105.627,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer","tt":1,"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},"t":0,"s":[960,540,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49.342,"s":[-1245,540,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50.329,"s":[2024,540,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":99.671,"s":[-1245,540,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100.658,"s":[2024,540,0],"to":[0,0,0],"ti":[0,0,0]},{"t":150,"s":[-1245,540,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"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],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[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],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2393,-398],[2159,-389],[1910,402],[1449,384],[1722,-364],[1240,-367],[1009,390],[969,390],[1215,-363],[1173,-363],[933,388],[835,377],[1066,-331],[986,-319],[727,488],[2100,482]],"c":true},"ix":2},"nm":"Path 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,"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":152,"st":0,"bm":3},{"ddd":0,"ind":3,"ty":2,"nm":"vaisseau","parent":6,"refId":"image_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-21.464,-27.776,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[430.456,178.068,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,10],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":0.5,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 4","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0.807,"ix":10},"p":{"a":0,"k":[702.615,251.347,0],"ix":2,"l":2},"a":{"a":0,"k":[-178.348,174.646,0],"ix":1,"l":2},"s":{"a":0,"k":[114.847,84.015,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-61.069,286.54],[55,164]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":14,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-82.429,275.192],[21.985,164.016]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":25,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-91.476,289.162],[8.401,188.971]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-66.167,264.763],[39.058,172.543]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":50,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-61.069,286.54],[55,164]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":64,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-82.429,275.192],[21.985,164.016]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":75,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-91.476,289.162],[8.401,188.971]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-66.167,264.763],[39.058,172.543]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":100,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-61.069,286.54],[55,164]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":114,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-82.429,275.192],[21.985,164.016]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":125,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-91.476,289.162],[8.401,188.971]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-66.167,264.763],[39.058,172.543]],"c":false}]},{"t":150,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-61.069,286.54],[55,164]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":6,"ix":5},"lc":2,"lj":1,"ml":4,"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":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 3","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0.807,"ix":10},"p":{"a":0,"k":[883.404,79.229,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-61.069,286.54],[55,164]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":14,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-82.429,275.192],[21.985,164.016]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":25,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-91.476,289.162],[8.401,188.971]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-66.167,264.763],[39.058,172.543]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":50,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-61.069,286.54],[55,164]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":64,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-82.429,275.192],[21.985,164.016]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":75,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-91.476,289.162],[8.401,188.971]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-66.167,264.763],[39.058,172.543]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":100,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-61.069,286.54],[55,164]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":114,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-82.429,275.192],[21.985,164.016]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":125,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-91.476,289.162],[8.401,188.971]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-66.167,264.763],[39.058,172.543]],"c":false}]},{"t":150,"s":[{"i":[[0,0],[-78,0],[0,0]],"o":[[0,0],[78,0],[0,0]],"v":[[-182,165],[-61.069,286.54],[55,164]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":12,"ix":5},"lc":2,"lj":1,"ml":4,"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":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":3,"nm":"Null voiture","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1330.672,638.621,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[20,0],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":0.5,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":80,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":3,"nm":"Null remorque","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[657.726,638.621,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[20,0],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":0.5,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":2,"nm":"Barrière","parent":7,"refId":"image_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar fx = effect('Rotation | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;"},"p":{"a":0,"k":[-182.816,84.043,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[395.729,259.362,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,5],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]},{"ty":5,"nm":"Rotation | Swink","np":16,"mn":"Pseudo/DUIK Swink","ix":2,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0002","ix":2,"v":0},{"ty":0,"nm":"A","mn":"Pseudo/DUIK Swink-0003","ix":3,"v":{"a":0,"k":-1,"ix":3}},{"ty":0,"nm":"B","mn":"Pseudo/DUIK Swink-0004","ix":4,"v":{"a":0,"k":1,"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK Swink-0007","ix":7,"v":{"a":0,"k":1,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":2,"nm":"dessous remorque","parent":8,"refId":"image_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[487.624,305.237,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[243.255,47.476,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,2],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":2,"nm":"06/SpaceShip 03-real.ai","cl":"ai","parent":8,"refId":"image_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar fx = effect('Rotation | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;"},"p":{"a":0,"k":[368.794,-38.592,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[281.149,104.32,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,-10],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":90,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]},{"ty":5,"nm":"Rotation | Swink","np":16,"mn":"Pseudo/DUIK Swink","ix":2,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0002","ix":2,"v":0},{"ty":0,"nm":"A","mn":"Pseudo/DUIK Swink-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"B","mn":"Pseudo/DUIK Swink-0004","ix":4,"v":{"a":0,"k":7,"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":2,"nm":"05/SpaceShip 03-real.ai","cl":"ai","parent":8,"refId":"image_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-3,"ix":10,"x":"var $bm_rt;\nvar fx = effect('Rotation | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;"},"p":{"a":0,"k":[658.32,36.982,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[119.193,189.577,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,-10],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":70,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]},{"ty":5,"nm":"Rotation | Swink","np":16,"mn":"Pseudo/DUIK Swink","ix":2,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0002","ix":2,"v":0},{"ty":0,"nm":"A","mn":"Pseudo/DUIK Swink-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"B","mn":"Pseudo/DUIK Swink-0004","ix":4,"v":{"a":0,"k":7,"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":2,"nm":"04/SpaceShip 03-real.ai","cl":"ai","parent":8,"refId":"image_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[659.917,133.756,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[91.876,91.874,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,-10],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":4,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":50,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":2,"nm":"03/SpaceShip 03-real.ai","cl":"ai","parent":8,"refId":"image_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar fx = effect('Rotation | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;"},"p":{"a":0,"k":[485.211,82.453,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[75.866,147.18,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,-10],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":30,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]},{"ty":5,"nm":"Rotation | Swink","np":16,"mn":"Pseudo/DUIK Swink","ix":2,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0002","ix":2,"v":0},{"ty":0,"nm":"A","mn":"Pseudo/DUIK Swink-0003","ix":3,"v":{"a":0,"k":-10,"ix":3}},{"ty":0,"nm":"B","mn":"Pseudo/DUIK Swink-0004","ix":4,"v":{"a":0,"k":10,"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK Swink-0007","ix":7,"v":{"a":0,"k":2,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":2,"nm":"02/SpaceShip 03-real.ai","cl":"ai","parent":8,"refId":"image_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar fx = effect('Rotation | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;"},"p":{"a":0,"k":[442.01,222.233,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[168.4,256.481,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,-10],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":70,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]},{"ty":5,"nm":"Rotation | Swink","np":16,"mn":"Pseudo/DUIK Swink","ix":2,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0002","ix":2,"v":0},{"ty":0,"nm":"A","mn":"Pseudo/DUIK Swink-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"B","mn":"Pseudo/DUIK Swink-0004","ix":4,"v":{"a":0,"k":10,"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK Swink-0007","ix":7,"v":{"a":0,"k":2,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK Swink-0008","ix":8,"v":{"a":0,"k":30,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":2,"nm":"01/SpaceShip 03-real.ai","cl":"ai","parent":8,"refId":"image_9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[157.219,123.878,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[120.033,101.954,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,-10],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]}],"ip":0,"op":152,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":2,"nm":"Barrière 2","parent":7,"refId":"image_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar fx = effect('Rotation | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;"},"p":{"a":0,"k":[-102.816,78.043,0],"ix":2,"x":"var $bm_rt;\nvar fx = effect('Position | Swink');\nvar AValue = fx(3).value;\nvar BValue = fx(4).value;\nvar frequencyProp = fx(7);\nvar interpolationValue = fx(12).value;\nvar rateValue = fx(13).value;\nvar offsetValue = fx(8).value;\nvar ratioValue = fx(9).value;\nvar plateauValue = fx(10).value;\nvar result = value;\nvar frequencyValue = frequencyProp.value;\nfunction bezierInterpolation(t, tMin, tMax, value1, value2, bezierPoints) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof bezierPoints === 'undefined')\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    if (arguments.length !== 5 && arguments.length !== 6)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var a = $bm_sub(value2, value1);\n    var b = $bm_sub(tMax, tMin);\n    if (b == 0)\n        return $bm_div($bm_sum(value1, value2), 2);\n    var c = clamp($bm_div($bm_sub(t, tMin), b), 0, 1);\n    if (!(bezierPoints instanceof Array) || bezierPoints.length !== 4)\n        bezierPoints = [\n            0.33,\n            0,\n            0.66,\n            1\n        ];\n    return $bm_sum($bm_mul(a, h(c, bezierPoints)), value1);\n    function h(f, g) {\n        var x = $bm_mul(3, g[0]);\n        var j = $bm_sub($bm_mul(3, $bm_sub(g[2], g[0])), x);\n        var k = $bm_sub($bm_sub(1, x), j);\n        var l = $bm_mul(3, g[1]);\n        var m = $bm_sub($bm_mul(3, $bm_sub(g[3], g[1])), l);\n        var n = $bm_sub($bm_sub(1, l), m);\n        var d = f;\n        for (var i = 0; i < 5; i++) {\n            var z = $bm_sub($bm_mul(d, $bm_sum(x, $bm_mul(d, $bm_sum(j, $bm_mul(d, k))))), f);\n            if (Math.abs(z) < 0.001)\n                break;\n            d = $bm_sub(d, $bm_div(z, $bm_sum(x, $bm_mul(d, $bm_sum($bm_mul(2, j), $bm_mul($bm_mul(3, k), d))))));\n        }\n        return $bm_mul(d, $bm_sum(l, $bm_mul(d, $bm_sum(m, $bm_mul(d, n)))));\n    }\n}\nfunction gaussianInterpolation(t, tMin, tMax, value1, value2, rate) {\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 0;\n    if (t != tMin) {\n        var newValue1 = gaussianInterpolation(tMin, tMin, tMax, value1, value2, rate);\n        var offset = $bm_sub(newValue1, value1);\n        value1 = $bm_sub(value1, offset);\n    }\n    if (rate < 0)\n        rate = $bm_mul(rate, 10);\n    rate = linear(t, tMin, tMax, 0.25, rate);\n    var r = $bm_sub(1, rate);\n    var fwhm = $bm_mul($bm_sub(tMax, tMin), r);\n    var center = tMax;\n    if (t >= tMax)\n        return value2;\n    if (fwhm === 0 && t == center)\n        return value2;\n    else if (fwhm === 0)\n        return value1;\n    var exp = $bm_mul(-4, Math.LN2);\n    exp *= Math.pow($bm_sub(t, center), 2);\n    exp *= $bm_div(1, Math.pow(fwhm, 2));\n    var result = Math.pow(Math.E, exp);\n    result = $bm_sum($bm_mul(result, $bm_sub(value2, value1)), value1);\n    return result;\n}\nfunction logInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_sum($bm_mul($bm_sub(tMax, tMin), rate), 1);\n    t = $bm_sum($bm_mul($bm_sub(t, tMin), rate), 1);\n    if (t <= 1)\n        return vMin;\n    var m = Math.log(tMax);\n    var v = Math.log(t);\n    return linearExtrapolation(v, 0, m, vMin, vMax);\n}\nfunction expInterpolation(t, tMin, tMax, vMin, vMax, rate) {\n    var value1, value2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof value1 === 'undefined')\n        value1 = 0;\n    if (typeof value2 === 'undefined')\n        value2 = 0;\n    if (typeof rate === 'undefined')\n        rate = 1;\n    if (rate == 0)\n        return linearExtrapolation(t, tMin, tMax, vMin, vMax);\n    tMax = $bm_mul($bm_sub(tMax, tMin), rate);\n    t = $bm_mul($bm_sub(t, tMin), rate);\n    var m = Math.exp(tMax);\n    t = Math.exp(t);\n    return linearExtrapolation(t, 1, m, vMin, vMax);\n}\nfunction integrateLinearKeys(prop) {\n    if (typeof prop === 'undefined')\n        prop = thisProperty;\n    var nK = prop.numKeys;\n    if (nK < 2)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    if (prop.key(1).time > time)\n        return $bm_mul(prop.value, $bm_sub(time, inPoint));\n    var result = $bm_mul(prop.key(1).value, $bm_sub(prop.key(1).time, inPoint));\n    for (var i = 2; i <= nK; i++) {\n        if (prop.key(i).time > time)\n            break;\n        var k1 = prop.key($bm_sub(i, 1));\n        var k2 = prop.key(i);\n        result = $bm_sum(result, $bm_div($bm_mul($bm_sum(k1.value, k2.value), $bm_sub(k2.time, k1.time)), 2));\n    }\n    result = $bm_sum(result, $bm_div($bm_mul($bm_sum(prop.value, prop.key($bm_sub(i, 1)).value), $bm_sub(time, prop.key($bm_sub(i, 1)).time)), 2));\n    return result;\n}\nfunction interpolateColor(t, colorspace, tMin, tMax, colorA, colorB, interpolationMethod) {\n    if (typeof t === 'undefined')\n        t = time;\n    if (typeof colorspace === 'undefined')\n        colorspace = 2;\n    if (typeof tMin === 'undefined')\n        tMin = 0;\n    if (typeof tMax === 'undefined')\n        tMax = 1;\n    if (typeof colorA === 'undefined')\n        colorA = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (typeof colorB === 'undefined')\n        colorB = [\n            1,\n            1,\n            1,\n            1\n        ];\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    var result = [\n            0,\n            0,\n            0,\n            0\n        ];\n    if (colorspace > 0 && colorspace < 4) {\n        var a = rgbToHsl(colorA);\n        var b = rgbToHsl(colorB);\n        var dist = Math.abs($bm_sub(a[0], b[0]));\n        result = interpolationMethod(t, tMin, tMax, a, b);\n        if (dist > 0.5 && colorspace == 2 || dist < 0.5 && colorspace == 3) {\n            var hA = a[0];\n            var hB = b[0];\n            var h = hA;\n            dist = $bm_sub(1, dist);\n            if (hA < hB) {\n                var limit = $bm_mul($bm_div(hA, dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 0);\n                else\n                    h = interpolationMethod(t, limit, tMax, 1, hB);\n            } else {\n                var limit = $bm_mul($bm_div($bm_sub(1, hA), dist), tMax);\n                if (t < limit)\n                    h = interpolationMethod(t, tMin, limit, hA, 1);\n                else\n                    h = interpolationMethod(t, limit, tMax, 0, hB);\n            }\n            result = [\n                h,\n                result[1],\n                result[2],\n                result[3]\n            ];\n        }\n        result = hslToRgb(result);\n    } else {\n        var rgbResult = interpolationMethod(t, tMin, tMax, colorA, colorB);\n        if (colorspace == 0)\n            result = rgbResult;\n        else {\n            var a = rgbToHsl(colorA);\n            var b = rgbToHsl(colorB);\n            var hslResult = interpolationMethod(t, tMin, tMax, a, b);\n            var h = rgbToHsl(rgbResult)[0];\n            result = [\n                h,\n                hslResult[1],\n                hslResult[2],\n                hslResult[3]\n            ];\n            result = hslToRgb(result);\n        }\n    }\n    return result;\n}\nfunction multSets(setA, setB) {\n    var r = [];\n    var countA = setA.length;\n    var countB = setB.length;\n    var count = countA;\n    if (countB < countA)\n        count = countB;\n    for (var i = 0; i < count; i++) {\n        r.push($bm_mul(setA[i], setB[i]));\n    }\n    return r;\n}\nfunction linearExtrapolation(t, tMin, tMax, value1, value2) {\n    if (tMax == tMin)\n        return $bm_div($bm_sum(value1, value2), 2);\n    return $bm_sum(value1, $bm_mul($bm_div($bm_sub(t, tMin), $bm_sub(tMax, tMin)), $bm_sub(value2, value1)));\n}\nfunction blink(A, B, frequency, offset, ratio, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    if (currentTime > ADuration)\n        return B;\n    return A;\n}\nfunction swing(A, B, frequency, offset, ratio, plateau, interpolationMethod, t) {\n    if (typeof frequency === 'undefined')\n        frequency = 1;\n    if (typeof offset === 'undefined')\n        offset = 0;\n    if (typeof ratio === 'undefined')\n        ratio = 0.5;\n    if (typeof plateau === 'undefined')\n        plateau = 0;\n    if (typeof interpolationMethod === 'undefined')\n        interpolationMethod = ease;\n    if (typeof t === 'undefined')\n        t = time;\n    var phase = $bm_div(1, frequency);\n    var currentTime = $bm_mod($bm_sum(t, offset), phase);\n    var ADuration = $bm_mul(phase, ratio);\n    var APlateau = $bm_mul(ADuration, plateau);\n    var BDuration = $bm_mul(phase, $bm_sub(1, ratio));\n    var BPlateau = $bm_mul(BDuration, plateau);\n    if (currentTime < $bm_sub(ADuration, APlateau))\n        return interpolationMethod(currentTime, 0, $bm_sub(ADuration, APlateau), A, B);\n    if (currentTime >= ADuration - APlateau && currentTime < ADuration)\n        return B;\n    if (currentTime >= ADuration && currentTime < phase - BPlateau)\n        return interpolationMethod(currentTime, ADuration, $bm_sub(phase, BPlateau), B, A);\n    return A;\n}\nif (frequencyValue > 0) {\n    offsetValue = $bm_div($bm_div(offsetValue, 100), frequencyValue);\n    ratioValue /= 100;\n    plateauValue /= 100;\n    var t = integrateLinearKeys(frequencyProp);\n    if (interpolationValue == 1)\n        result = $bm_sum(result, blink(AValue, BValue, 1, offsetValue, ratioValue, t));\n    else {\n        var i = linear;\n        if (interpolationValue == 3)\n            i = function (t, tMin, tMax, value1, value2) {\n                return bezierInterpolation(t, tMin, tMax, value1, value2, [\n                    $bm_div(rateValue, 10),\n                    0,\n                    $bm_sub(1, $bm_div(rateValue, 10)),\n                    1\n                ]);\n            };\n        if (interpolationValue == 4)\n            i = function (t, tMin, tMax, value1, value2) {\n                return gaussianInterpolation(t, tMin, tMax, value1, value2, linear(rateValue, 0, 10, -1, 1));\n            };\n        if (interpolationValue == 5)\n            i = function (t, tMin, tMax, value1, value2) {\n                return logInterpolation(t, tMin, tMax, value1, value2, $bm_mul($bm_mul(rateValue, 50), frequencyValue));\n            };\n        if (interpolationValue == 6)\n            i = function (t, tMin, tMax, value1, value2) {\n                return expInterpolation(t, tMin, tMax, value1, value2, $bm_mul(rateValue, frequencyValue));\n            };\n        var interpolator = i;\n        result = $bm_sum(result, swing(AValue, BValue, 1, offsetValue, ratioValue, plateauValue, interpolator, t));\n    }\n}\n$bm_rt = result;","l":2},"a":{"a":0,"k":[395.729,259.362,0],"ix":1,"l":2},"s":{"a":0,"k":[77,77,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[612.203,-157.158],[-166.051,-141.303],[-209.605,409.455],[608.907,437.114]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"ef":[{"ty":5,"nm":"Position | Swink","np":16,"mn":"Pseudo/DUIK 2D Swink","ix":1,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK 2D Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0002","ix":2,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/DUIK 2D Swink-0003","ix":3,"v":{"a":0,"k":[0,0],"ix":3}},{"ty":3,"nm":"B","mn":"Pseudo/DUIK 2D Swink-0004","ix":4,"v":{"a":0,"k":[0,-5],"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK 2D Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK 2D Swink-0007","ix":7,"v":{"a":0,"k":3,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK 2D Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK 2D Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK 2D Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK 2D Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK 2D Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK 2D Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK 2D Swink-0014","ix":14,"v":0}]},{"ty":5,"nm":"Rotation | Swink","np":16,"mn":"Pseudo/DUIK Swink","ix":2,"en":1,"ef":[{"ty":6,"nm":"Values","mn":"Pseudo/DUIK Swink-0001","ix":1,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0002","ix":2,"v":0},{"ty":0,"nm":"A","mn":"Pseudo/DUIK Swink-0003","ix":3,"v":{"a":0,"k":-1,"ix":3}},{"ty":0,"nm":"B","mn":"Pseudo/DUIK Swink-0004","ix":4,"v":{"a":0,"k":1,"ix":4}},{"ty":6,"nm":"Parameters","mn":"Pseudo/DUIK Swink-0005","ix":5,"v":0},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0006","ix":6,"v":0},{"ty":0,"nm":"Frequency","mn":"Pseudo/DUIK Swink-0007","ix":7,"v":{"a":0,"k":1,"ix":7}},{"ty":0,"nm":"Cycle offset","mn":"Pseudo/DUIK Swink-0008","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"A/B Ratio","mn":"Pseudo/DUIK Swink-0009","ix":9,"v":{"a":0,"k":50,"ix":9}},{"ty":0,"nm":"Plateau","mn":"Pseudo/DUIK Swink-0010","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":6,"nm":"Interpolation","mn":"Pseudo/DUIK Swink-0011","ix":11,"v":0},{"ty":7,"nm":"Mode","mn":"Pseudo/DUIK Swink-0012","ix":12,"v":{"a":0,"k":3,"ix":12}},{"ty":0,"nm":"Rate","mn":"Pseudo/DUIK Swink-0013","ix":13,"v":{"a":0,"k":5,"ix":13}},{"ty":6,"nm":"","mn":"Pseudo/DUIK Swink-0014","ix":14,"v":0}]},{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":3,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0,0.019607843831,0.027450982481,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"ip":0,"op":152,"st":0,"bm":0}],"markers":[]}