Isoquant linear function

Hi all

Problem of basic but I would like some advice:

I have a series of points (which is an approximation of a more complex curve).  I want to get linear lines between each of the points.

The end result should be a VI I can feed a value x in and return a value y for the entire range covered by the series of linear lines (equations).

The best way to go about this?

Thank you

Battler.

G ' Day David,.

Thanks for your help.

I think I have solved with this:

No point reinventing the wheel!  NOR did the job for us.

I think that we can get our x and are involved.  I probably communicate better.

I want to be able to enter a value for x (col (0)) and come up with a value of y (col (1)).

For example. If I put x = 750 it returns y = 75, which seems fair to me...

Thank you for helping me find these useful screws

Tags: NI Software

Similar Questions

  • Piecewise linear function fitting

    I have data which approximates the following function:

    f (x) = A; x<>

    f (x) = Bx + C; E<><>

    f (x) = D; x > F

    I am using the non-linear adjustment function and problems with a singular matrix error. According to me, I approached my settings quite well and the best track of the fitted curve seems fairly well aligned, but it seems that's not iterate through my approximations E and F and just using what I give him. Could someone take a look at my code and give me some additional tips? The points that I particularly need are the value 'A' and when f (x) = 0 of the second function. If there is an easier way to find these values, I'm all ears.

    Thank you

    Yes, you have only four parameters.

    1. Beginning level

    2. End level

    3. first x

    4. second x

    (interpolating linearly between the first and second x from the first to the second level).

    See attachment for a quick project.

  • Curve adjustment not linear function

    Hello everyone:

    I'm a little new here and at the same time a new learner for labview. My need for laboratory to adjust the data which are not linear, so, I choose to use the model non-linear curve VI. But when I run the VI, the error is that:NI_Gmath.lvlib:LM formula function.vi:7290001 string, or other displayments of the error. I tried several times, but unfortunately didn't. The problem may be the expression of the function form. Moreover, the design of the VI is not mine, it's Forum OR. Any constructive suggestions will be welcome.

    The form:

    y = Y0 + (Nr * cos (A)) + *(x-W1)/((x-W1) a1 ^ 2 + L1 ^ 2) + a2 *(x-W2)/((x-W2) ^ 2 + L2 ^ 2)

    In fact, the form is very long, I just write some.


  • Non-linear function Lev - Mar - output gradient functions reference table?

    Hello

    I have the whole 8.6 developer and am relatively new to labview.  First time posting, but these tips already have a lot of my problems solved.  Thank you!  My luck ran out however...

    I had worked on a recursive function to fit a set of nonlinear data, when I stumbled upon the function of lev - mar.  What a great discovery... it works very well.  However, I tried to determine the criteria for the named 'f '(X,a)' reference to the static VI which contains the lev - Mar function to fit the output.  The function performs fine without her that it will calculate the slopes in itself if the gradient table is empty, but it takes a little more time and I'm trying to speed up a bit.

    The example 'Fit Gauss surface with offset.vi' is the only example I could find where the output of f'(X,a) of the reference to the function VI is populated, but I'm a little rusty with my calculations and has failed to reverse engineer exactly what should be the values that they had classes in this table.

    I would like to be able to complete the table of f'(X,a) with the data of a 2d versus 3d surface curve in the example 'Fit Gauss surface with offset.vi.  Is attached a screenshot of the example showing the output in the example of f. '(X,a).

    Thank you very much!

    -Bill

    If you do not provide the analytical partial derivatives, LabVIEW will use automatically digital derived partial. You can watch the labview code in detail to see how it does, just open the VI and search for "LM digital gradient.vi.

    I don't know what, "recursive function" in this context, but they have an analytic expression for the partial derivatives?

    Even if the analysis of the partial derivatives are not possible, it may be an advantage to making your own derived partial inside the model. It seems to be much faster.

    You'd basically is to calculate the function several times, each time with one of the parameters that is incremented by a small delta and subtract function calculated with the current settings Plains each and divide the result by the delta. Do everything in a table 2D for the output of f'(X,a).

    The image shows one way to do this inside the model. The black square is a model where you replace you own function (f(x,a)).

    Let me know if you have any questions.

  • default easing function move animation

    Hello

    I'm trying to animate the object to move left/right on a conveyor and then to fall at the end of this one. When the fall of the conveyor object rotates just like in real life that would be of any object.

    Problem is that, at the end of the animation on the left/right to move the object slows down and stops before it starts the next animation. I put the acceleration on a null function just to be sure that no easing function is defined, but it looks that he is a. did I miss something where the easing function is moved?

    Also - is it possible to join the animations flawlessly, without stopping the animation object each time ends?

    Here is the code example to move the object to the right and then drop down:

    < mx:Sequence id = "seq" >

    < mx:Move id = "movSide" duration = "500" XDE = "300" easingFunction = "null" / >

    < mx:Parallel id = duration of "para" = "700" effectEnd = "paraSideEnd (event)" >

    < mx:Move id = "movRot" XDE = "50" / >

    < mx: rotation id = 'rot' originY = AnglePour "{height}" = "90" originX = '0' / >

    < / mx:Parallel >

    < mx:Move id = "movDown" duration = yTo "700" = "500" effectEnd = "someFunction ()" / >

    < / mx:Sequence >

    I think that just null resets the default based on acceleration.  Try using a linear function.

  • USB-6210 voltage divider Calibration questions

    I'm trying to calibrate 14 tensions that I read from a voltage divider in 14 channels of a device USB-6210. Attached is an Excel spreadsheet of data I'm trying to understand. On the bottom of the sheet, I applied the same voltage to all channels and draw the raw tension for all channels and the differences between the expected voltage and voltage of raw. I find that these differences are not constant but linear I do not understand. I then use the basic linear function to find the factors in the top of the worksheet. Therefore, in the upper part, I read the input voltage by using a probe high voltage and voltage of Labview which has been adapted by the linear function of base in the background.  Most of the multiplying factors are ~ 1000 as expected, but the tensions for the last 4 channels are significantly different and are not linear for the last two channels. I mounted the two worst voltage channels with polynomial which is ok but not make any sense. Does make sense to anyone. I'm using Labview 9.0.1 and Windows 7. I ran Diagnostic Utility for the acquisition of data on the device and it passed all tests. I looked into the issue of ghosting, but the criteria seem not valid here because of tension in the neighbouring country of the channels is small. I also enclose the VI that supports voltages raw to show how these functions are used. According to me, the results are stable and precise, but I can't explain the above mentioned discrepancies.

    The problem was solved by changing the sampling frequency in the DAQ assistant. I think the default frequency is 1 kHz and I had given up to 750 Hz. By lowering the frequency 150 Hz, the capacitor is allowed time to discharge so that no ghost image occurs. In summary, the question always was ghosting and solve the I: question

    -Removed in the wizard DAQ, channels that have been disconnected and therefore not used.

    -Change the wiring to the DAQ assistant by sending the low voltage in channel 1 and the second lowest voltage on channel 2, etc.

    -Change the sampling frequency of 1 kHz to 150 Hz to let the capacitors discharge time.

  • Analysis of the order when there is a significant shift of DC signal

    Thanks for reading this. I use the Toolkit NI LabVIEW Order Analysis for direct analysis of signals of pledge of deformation of an attachment to a car engine. My goal is to acquire data of a part of the calibrated strain connected to an engine during the rampup and identify the controls in the signal of the strain. I am not able to understand a problem I see with my results in the power of order spectrum.

    I measure the signals of pledge of strain during the preparations for engine using the module 9235 cDAQ (1000 to 6000 RPM in 15 seconds). I also acquire the tachometer using the module NOR-9402 (counter). Then I converted the signals of the strain at the same angle signals and made the order power spectrum.

    Please order power spectrum resulting Fig1 shows. What I find that is the DC offset in the signal of strain presents itself as a high amplitude (red or green) peaks in the power spectrum of order (see Fig 1) around the order of 0. Because of these enormous peaks around order 0, the peaks of the order of a real interest around 2 or 3 command (blue or purple) are difficult to discern in the graph.

    The DC offset clearly shows the chart of strain vs RPM (RPM is a linear function of time), if necessary, it is identical to the strain vs time. The white line in figure 2 corresponds to the DC offset. In this example, the CC offset is constant during the rampup rpm, but more often, the party calibrated strain of experiences both change static and forced lengthening cyclic as in Fig. 3. Here the sudden part increases the deformation in traction, with cyclic constraint superimposed on top of that.

    My questions are:

    Am I missing a key here in preprocessing step?

    -I need a high pass filter to remove DC offset?

    Subtract the average value of the signal from the time signal based before sending to the treatment?

    How does a handle signals that have a variable static elongation a cyclical signal above the static signal? This appears to me a common scenario in the measures of constraint because ESA undergoes two different static and dynamic constraints in a motor boat.

    Thanks for your comments and advice!

    You have several choices, depending on what you want to do.

    If what you want is a nice parcel of land, and the DC signal not enough to affect your 1st order, then simply set the component continues to 0 once you analyze varies.

    Presto - instant removal of DC.  It is perfectly legitimate, as long as the domain controller is not wandering too.  Mathematically, it is exactly the same as the withdrawal DC before analyzing.  (an inverse THAT FFT of this result and you will get the signal without DC, if you don't believe me).

    OR

    You can do as Bob has suggested and take the average.  If your length of block is short compared with the rate of change of the real continuous component, it is fine.

    OR

    You can remove the trend by interpolation.  For example, for a block of 1024-pt, find the way to 100 points around (on each side of) the beginning of your block.  Find the way to 100 points around (on each side of) the end of your block.  Find an equation (Y = mX + B) to describe the trendline it and use this equation to subtract a different DC value for each point.

    OR

    You can remove the trend extrapolation and interpolation.  For example, for a residence of 1024 pt. find the average of the first 100 points and the last 100 points and assign these values X = 50 and X = 973 (1023-50).  Find an equation (Y = mX + B) to describe the trendline it and use this equation to subtract a different DC value for each point.  You need to face the fact that X = 0 starts BEFORE your trend line at X = 50, but that is basic algebra.

    Remove trendline technique is more accurate and necessary if the domain controller changes siugnificantly during your block.

  • IE8 is the error in the file edge.6.0.0.min.js with "if(b===b.window)".

    I completed the first stage of a larger project on board animate and everything works in current browsers.

    The last phase is to get all the files in IE8, which unfortunately has to happen.  I used to have a backup for Modernizr my. SVG and I went to take the test.

    In IE8 for Windows XP, I get the error 'window' is null or not an object and the error returns me to the line in the edge.6.0.0.min.js file...

    if(b===b.Window)

    I have no idea what to do from here, because it is written by Edge code and I don't know what that references nor understand the provisions of the code effect... of the suggestions at?


    Here is the complete code for the .js file, if this helps anyone, but I'm horribly stuck with a date limit Friday so any help will be forever appreciated, including more information about that contains this file.  Thank you.


    (function(f, r, u) {function e (a) {return! a |}}) 'load'== a. == 'complete'a | { "uninitialized"== a}function p() {var a = c.shift (); n = 1; has? a.t.? s (function({(==a.t?w.injectCss:w.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),p()«c»)): n = 0}function h (g, d, m, t, v, f, h) {function part {If(! z & & e (y.readyState) & & (q.r = z = 1,! n & & p (),)) {"img"! = g & & s (function() {k.removeChild (y)} 50);}}})} for (var b in B [d]) if (B [d] .hasOwnProperty (b)) B [d] [b] .onload (); y.OnLoad = y.onreadystatechange =null}} h = h | w.errorTimeout; var y = r.createElement (g), z = 0, A = 0, q = {t:m, d,

    {e:v, a: f, h: x}; 1 = B [d] & &(A=1,B[d]=[]); 'object'is g? (y.data = d, y.setAttribute ('type',' text/css ')): (y.src = d, y.type = g); y.width = y.height ="0"; y.OnError = y.onload = y.onreadystatechange =function() {l.call (this, A)}; c.splice(t,0,q); « img »! = g & &(A|| 2 === B [d]?) ((P), k.insertBefore (, a? )) NULL: b), s (w, h)):B[d].push(y))}function l (a, b, g, d, k) {n = 0; b = b |} « j »; z b? h ('c'== b? y: m, a, b,this.i ++, g, d, k): (c.splice (this. i ++, 0, a), 1 == c.length & & p()); return ce} q() function {var a = w; a.loader = {load:l, i: 0}; return }var x = r.documentElement, s = f.setTimeout,.

    b = r.GetElementsByTagName ('script') [0], d = {} m:System.NET.SocketAddress.ToString, c = [], n = 0, v =function() {}, t ="MozAppearance"in x.style, a = t & &! r.createRange (.compareNode, k = a)? x: b.parentNode, g = f.opera & & == d.call'[object Opera]'(f.opera), g =! r.attachEvent & &! g, x ="webkitAppearance"in x.style & &! ("async"in r.createElement ('script')), m = t? 'object': g | x? 'script':'img', y = g? 'script': x? "img": m, A = Array.isArray | function (a) {return'[object Array]'== d.call (a)}, z =function() {return'string'==typeof one}, E =function() {return"[object Function]"== d.call (a)},

    P =function() {b & & b.parentNode |} (b = r.getElementsByTagName) ("script") [0]}, Q = [], B = {}, L = {timeout:function(a, b) {b.length & &(a.timeout=b[0]); return a}}, M, w; w =function() {function b (a) {a = a.split (".");}} var g = Q.length, c = a.pop (), d is a.length, c = {url: c, origUrl:c, prefixes: a}, m, k, n; for (k = 0; k < d; k ++) n = a [k] .split ('='), (m = L [n.shift ()]) & & (c = m (c, n)); for (k = 0; k < g; k ++) c = Q [k] (c); return c}function g (a) {a = a.split ("?")} [0] ; Return a.substr (a.lastIndexOf (".")) (+ 1)}function c (a, d, m, k, n) {var t = b (a), e = t.autoCallback; g (t.url); } If(! t.bypass) {d & &}

    (d = E (d)? d: d [a] | d [k]: d [a.Split ("/") .pop () .split ("?")]) [0]]); if (t.instead) Return t.instead (a, d, m, k, n); B [t.URL] & &! 0!==t.reexecute?t.NOEXEC=!0:B[t.URL]=1;a & & m.load (t.url, forceCSS t.:! t.forceJS & &'css'== g (t.url)?) ( 'c': u, t.noexec, t.attrs, t.timeout); (E (d) |) E (e)) & & m.load (function() {q (); d & & d (t.origUrl, n, k); e & & e (t.origUrl, n, k);}) B [t.URL] = 2})}}function d (a, b) {function g (a, d) {If(""! == a & &! a)! d & & e(); else If(z (a)) d |}} (n =function() {var a = []. slice.call (arguments); t.apply (this, a); e ()}), c(a,n,b,0,k); else if (Object (a) = a) for (h en f =

    function () {var b = 0, g;} for ( in a) a.hasOwnProperty (g) g & & b ++; & ({d | & b} (), has) a.hasOwnProperty (h) of back - f | {(E (n)? n =function() {var a = []. slice.call (arguments); t.apply (this, a); (e)}: n [h] =function() {return function() {var b = []. slice.call (arguments); has & & a.apply(, b); e()}}(t[h])), c (a [h], n, b, h, k))}var k=!!a.test,m=a.load||a.both,n=a.callback||v,t=n,e=a.complete||v,f,h;g (k? a.yep:a.nope,! m | |! a.complete); m & & g (m);! {m & & a.complete & & g (' ')}var m, k, n =this. yepnope.loader; if (z (a)) c (a, 0, n, 0); else if (A (a)) for (m = 0; m < a.length; ++ m) k =

    a [m], z (k)? c(k,0,n,0):A (k)? w (k): object (k) = k & & d (k, n); else {Object (a) = a & & d (a, n)}; w.addPrefix =function(thefunctionof a, b) {T [a] = b}; w.addFilter = (a) {Q.push (a)}; w.errorTimeout = 1E4; == nullr.readyState & & r.addEventListener & & (r.readyState ='loading', r.addEventListener ('DOMContentLoaded', M =function() {r.removeEventListener ('DOMContentLoaded', M, 0); r.readyState ="complete"}, 0)); f.yepnope = q (); f.yepnope.executeStack = p; f.yepnope.injectJs =function(a, g, c, d, m, k) {var n = r.createElement ('script'), t, h; d = d: w.errorTimeout; n.src =}

    one; for (h in c) n.setAttribute (h, c [h]); g = k? p:g | v; n.onreadystatechange = n.OnLoad =function() {! t & & e (n.readyState) & & (t = 1, g (), n.onload = n.onreadystatechange =null)}; s (function() {t |}) ((t = 1, g (1))}, d); P();m?n.OnLoad():b.parentNode.InsertBefore(n,b)}; f.yepnope.injectCss =function(a, g, c, d, m, k) {d = r.createElement ('link'); var n; g = k? p:g | v; d.href = a; d.rel ='stylesheet'; d.type =' text/css ';} for (n in c) d.setAttribute (n, c [n]); m | (P (), b.parentNode.insertBefore(d,b), s(g,0))}}) (thisdocument),

    'function'! =typeof Array.prototype.forEach & & (Array.prototype.forEach =function(f) {for(var r = 0; r <this. length; r ++) f.apply (this, [this[r], r,this])}); 'function'! ==typeof String.prototype.trim & & (String.prototype.trim =function() {return thisreplace ("/ ^ \s + | \s + $/ g,' '')}); var aBootcompsLoaded = []; window. AdobeEdge = window. AdobeEdge | {};

    (function(f) {definedfunction {return'[object Array]'= Object.prototype.toString.call (A)}function u (a, b) {var g; for(g = 0; a & & g < a.length; g ++) b [b.length ++] = a [g]}function e (a, b) {var g, c; }) If(r (a))for(c = a.length, g = 0; g < c; g ++) b(g,a[g]); else for (g dans a) (g) a.hasOwnProperty & & b(g,a[g])}function p {var b = V.style, g, c; for(c = 0; c < a.length; c++)If(g = a [c],Sub 0! == b [g])return! 0;} return! 1}function h (a) {a =' "+; if(!)} (G.RGBA & & 0==a.indexOf ("rgba")) {var b = a.lastIndexOf (","); 0 < b & & (a =' rgb ("+ a.substring(5,b) +" "") "" ")}return a}function part {var b;

    e (,function(a, g) {null! == g & & (b =! 0)}); return! b}function q (a, b) {e (b,function(b, g) {a [b] = g}); return a}function (a) {var b={};b.num=parseFloat(a);b.units=String(a).match(/[a-zA-Z%]+$/);r(b.units) & & (b.a STI = b.units [0]); return b}function s (a) {return a.replace(/^-ms-/,"ms-" () .replace (/-([a-z] |))} {([0-9]) / GI,function(a, b) {return String (b) .toUpperCase ()})}function b (a) {var g; AdobeEdge.Notifier.call (this); this.length = 0; if (! a) return this; if (a and b instanceof ) return a; if ('chain'=typeof a) if (a=a.trim(),/^#([\w\-]+)$/.test(a)) (g =

    D.getElementById (a.substring (1))) & & (this[this.length ++] = g); else if (/ < | & #? \w+; .test (a)) {this.length = g ++;} var c = a; a = document.createElement ("div"); var d = (ma.exec (c) |) ["",""]) [1] .toLowerCase (), d = da [d] | da._Default; + c.replace a.innerHTML = d [1] (na,"< $ 1 > < / $2 >"' ") + d [2]; for (c = d [0]; c - ;) a = a.lastChild; ce [g] = one}else u (D.querySelectorAll (a),this); else {g = a; c = g.length; g =null! == g & & g = g.window? 1: 1 = g.NodeType & & c? 0: r (g) |} 'function'! ==typeof g & & (0 = c |) ( 'number'=typeof c & & 0 < c & & c-1 in g); if (g) return u (,this); a.nodeType?

    ce {{[this. length ++] = a:oa.call (this, a)}return this}function d (a) {return new b (a)}function constituting a Farmout {return a.parent () .hasClass (' Centre-wrapper ')}function n (a) {c (a) | a.Wrap ("< div class = 'flow-wrapper' style =" width: 1px "> < div class ="Center-wrapper"> < / div > < / div >")}function v (a, b, g, m, k, t) {function e() {var k = c (a) n = k? a.parent () .parent () .parent (): a .parent (), h is n.width (), n.height () = v, f = a.width (), l is a.height (), y = d (window) .height (), s = 1; (n ='body'= n [0].nodeName.toLowerCase ()) & &(v=y); t | (v = d (window) .height (), h = d (window) .width ());

    " h = Math.round (h) v = Math.round (v); h / = f; v / = l;. the two'= b? s = Math.min (m, v):'height'= b? s = v:'width'= b & &(s=h); Sub 0! == m & & (s = Math.min (s, m, f)); Sub 0! == g & & (s = Math.max (s, g, f)); a.css (' transform - o - original "," 0 0 ""); a.CSS (' transform - ms - origin "," 0 0 ""); a.CSS (' - webkit - transform-origin "," 0 0 ""); a.CSS (' - moz - transform-origin "," 0 0 ""); a.CSS (' transform - o - original "," 0 0 ""); a.CSS ('transform-origin' "0 0""); v ="scale ("+ s +")"; a.css ("- o - transform", v); a.css (' - ms - transform ", v); a.css (' - webkit - transform ', v); a.css (' - moz - transform ', )

    (v); a.CSS ("- o - transform", v); a.css ("transform", v); n & &! k | a.Parent (). Height (Math.Round (l * s)). Width (Math.Round (f * s)); {k & & (k = a.parent () .pare () nt, k.height (Math.round (l * s + a.offset () .top - k.offset () .top)))} k? d.data (a [0],"alreadyWrapped"). (d.data (a [0],"alreadyWrapped",! 0), d (window) .bind ('Resize',function() {e()}), W (function() {e()})): c (a) | (n a, d (fenêtre) .bind ('Resize',function() {e()}), e ())} Function t (a, b) {var g = d (a); (g) & & (g = g.parent ()); } Si(« tant »=== b || ( "horizontal"= b) ('position','absolute'), g.css g.css ('left margin',

    ( 'auto'), g.css (' margin-right ','auto'), g.css ('left','0'), ('straight','0') g.css; if (« tant »=== b || ( «verticale»=== b) g.css ('position','absolute'), g.css (' margin-top ','auto'), g.css (' margin-bottom ','auto'), g.css ('top','0'), g.css ('bottom','0')}function a() {var a =this. notify = {}; a.obs = []; a.lvl = 0}function k (a, b, g) {If(b) {g |}} (g = {}); g.methodName = b; var c = a.notifier, d = c.obs, k, m; c.lvl ++; for (k = 0; k < d.length; k ++) if (m = (m = d [k]) & &! m.deleted? m.o.:void 0) if ('function'=typeof m) m(b,a,g); else If m (m [b]) [b] (a, g); -c.LVL; if (0 = c.lvl) for (a =

    d.Length, k = a - 1; 0 < = k; {(k--) .deleted d [k] & & d.splice (k, 1)}}function g (a, b, g) {var c, d, k, m, n = g?""} «:"", t = / \S + / g, e = / / g [\t\r\n\f] ; if (g? "undefined"=typeof b | " ( 'chain'=typeof b & & b:'string'=typeof b & & b) =(b|| ch. ""). match (t) | [], a.each (function(a, t) {If(d = 1 = t.nodeType & & (t.className?)}) () ""+ t.className +"' ().replace(e," "):n)) {for(m = 0; k = c [m ++];)If(g)for(;}" 0 < = d.indexOf (" "+ k +" «) ;) d=d.replace (""+ k +"","") ; else 0 > d.indexOf (""+ k +"""") & & (+= d k +""); {({{t.className = g? b? d.trim ():' ': d.trim ()}})}function m (a, b) {var g = c' # '==}

    b [0], d is! c & &'. " == b [0], k = c | d?b.slice(1):b,m=/^[\w-]*$/.test(k); return null! = a & & a.nodeType == a.DOCUMENT_NODE & & m & & c? (g = a.getElementById (k))? [g]: []: 1! == a.nodeType & & 9! is a.nodeType? []: Array.prototype.slice.call (m & &! c? d? a.getElementsByClassName (k): a .getElements ByTagName (b):a.querySelectorAll(b))}function y(a,b) {b = b.replace ([/ = #-] / g,"=" #"]'");}) var g, c, d is pa.exec (b); d & & d [2]in fa & & (g = f [d [2]], c = d [3], b = d [1], c & & (d = number of c, c = isNaN (d)? c.replace (/ ^ ["'"] |))) [""] $/ g » «):d)) ; if(!b) back! g | g.Call (a, c, null) = one; If (! b |! a |)

    1! == a.NodeType)return! 1; if (g = a.webkitMatchesSelector | a.mozMatchesSelector | a.oMatchesSelector | g.call(a,b); c = a.parentNode;(g=!c)) ( return a.matchesSelector) & &(c=tempParent).appendChild (a); d = ~ m(c,b).indexOf (a); g & & tempParent.removeChild (a); return d}function A (a) {a = d (a); return! (! a.width () & &! a.height ()) & &'none'! == a.css ("display")}function z (a, b, g) {function constituting a Farmout {g._l [b] =null; l (g._l) & & k (g,"assetsLoaded"{inst:a.target})}If(!)})}} Breturn AdobeEdge.supported.addEventListener); if (g & &'chain'=typeof b & &! g._l [b]) switch (a) {case 'image': a =}

    new Image; a.addEventListener ('error', c); a.addEventListener ("load", c); a.src b = g._l [b] = a; Break; case "audio": a =new Audio; a.addEventListener ('error', c); a.addEventListener ('canplaythrough', c); a.src b = g._l [b] = a; Break; case {{ 'video': a = document.createElement ("video"), a.addEventListener ("error", c), a.addEventListener ('canplaythrough', c), a.src = b, g._l [b] = a}}function E (a, b) {var g = q ({name:, conf:b, apply:function(a, b) {1 =this. conf.a? a.attr (this.name, b): (1 =this. conf.cb & & (a.css ("- webkit-"+this. name, b), a.css ("- ms-"+)))}})}

    this. {(name,b), a.css ("- moz -"+this. name, b), a.css ("- o -"+this. name, b)), a.css (this.name, b))}, units:function() {var b;""} Auto'! == a & &this. conf.u & & ('chain'=typeof a & & (b = x (a)), b & & b.units |) (un +=cette. conf.u)) ; return a}, prep:function(a, b, g, c, d, k, m) {void 0! == c & & b [g]?} () 0 Sub = b [g] [c] & & k & &(c=k),Sub 0! == d & & b [g] [c]? (a = b [g] [c] [d]: (a = b [g] [c],zero 0 = a & & (a =this. conf.d))): a = b [g]; 0 Sub ! == a & & (a =this.units (a), 1 =this. conf.p & & (m._getFullURL (a) b.type, m), zthis. conf.t & & (a =this. conf.t.replace ("@@0", a))); return a}, render:function(a,

    (b, g) {var c =this. conf.f |} this.name; Sub 0 = b [c] | 0 Sub ! isthis. conf.o & &this. conf.o! == b.tag | 0 Sub ! isthis. conf.e & &this. conf.e = b.tag | ({(c =ce.prep (a, b, c,ce. conf.i,ce. conf.j,ce. conf.ii,g),null! == c & &Sub 0! == c & &this.apply (a, c, b, g))}}, E.prototype); E.splitUnits = x; b.x & & (g = q (g, b.x)); return g}function p {e (a,function(a, b) {S [a]new E = (a, b)})}function Q (a, b, g, c, m, n, t, v) {var h = d (document.createElement (g.tag |))} " « div »)), f = h [0] ; AdobeEdge. $.data (f, g,"domDef"); h.attr ("id", g.id); h.css ('position','absolute');

    h.CSS ('margin','0px'); b & & g.symbolName & & b._applyBaseStyles (h, g.symbolName); e (S,function(b, c) {c.render(h,g,a))}; h.CSS (' - webkit - tap-highlight-color ',"rgba (0, 0, 0, 0)"); b & & b.register (f, g, b.ele? b.ele.id:""); h.addClass (h.attr ("id") +"_id"); v. k (AdobeEdge,"beginEle", {sym:b, ele:f, definition: {dom: g, style: c}}); n & & h.addClass (n); (c = document.getElementById (f.id)) & & (n = d (c) .parent ()) & & n [0] == m & & m.removeChild (c); m.children & & 0 < = t & & t < m.children.length? m.insert Before(f,m.children[t]):m.appendChild (f); AdobeEdge. $.data (f,"originalid",

    g.ID); AdobeEdge. $.data (f,"symparent", b); b & & (m = f.style.webkitTransform, b.gpuAccelerate & & f.style & & ("undefined"=typeof m |)) ""===m|| ( 'none'= m)? window.edge_authoring_mode & & = f.nodeName | 'BODY' (f.style.webkitTransform =' translateZ (0) '):! f.style.zIndex & & window.edge_authoring_mode & & (f.style.zIndex = 0)); b & &(v|| k (b,"newEle", {ele:f, defn:g}));)) return h}function b (a) {abdel & & (a.t = a.t.toLowerCase (), a.type = a.t); a.cs & & (a.className = a.cs); for(var b in Y)null! = a [b] & & (a [[b] Y] = a [b], [b] =null); a.rect |} (a.rect = []); for (; 4 >)

    (a.Rect.Length;) a.Rect [a.Rect.Length] = 0; a.Transform & & (1 > a.transform.length & & (a.transform [0] = [0,0,0]), 2 > a.transform.length & & (a.transform [1] = [0,0,0]), 3 > a.transform.length & & (a.transfor [m2] = [0,0,0]) 4 > a.transform.length & & (a.transform [3] = [1,1,1])); a.children & & (= a.children a.c, e (a.children,function(a, b) {B (b)}))}function L (a, b, g, c (, m, n, t) {If(m | b | b.ID) m = m | d ("." + b.ID) [0], e (g,function(l, r) {var e = Q (a, b, d, c, m, n, t ++), h = {sym:b, ele:e [0], defn:d}; d.c. & & L (a, b, d.c,Sub 0, e [0], n, 0); k (AdobeEdge,'endEle', h)})}function M (b,

    g, c, d, m) {a.Call (this); c._s.push (this); q (this, {name: g, composition: c, data: b, prnt:d, tl: [, variables]: m |})} {}}) ; k (c,"newSymbol", {symbol:this, parent: d}); return ce} Function w (a, b) {If(b & & a.ci)for(var g = 0; g < a.ci.length; ++ g) {var c = a.ci [g]; c & & w (c, b)} g = (._getTimeline)? a () .getState () ._getTimeline: {play:void 0}; } Sub 0 == a.autoPlay | a.autoPlay? { Sub 0 == g.playing & & a.play (0):Sub 0 == g.playing & & a.stop(-1,!1)}function F (a, b) {var g, c; for(g to b)If(b.hasOwnProperty (g)) {c = b [g]; c.typeName = g, resume & &(c.version=c.v); c.mv & &}}

    (c.minimumCompatibleVersion = c.mv); c.b & & (c.build = c.b); c.bS & & (c.baseState = c.bS); c.iS & &(c.ini tialState=c.iS); null! = c.gpu & & (c.gpuAccelerate = c.gpu); null! = c.rI & & (c.resizeInstances = c.rI); c.cn & & (c.content = c.cn); if (c.content) {var d = c.content; null! = d.sI & & (d.symbolInstances = c.content.sI); if (d.symbolInstances) for (var m = 0; m < d.symbolInstances.length; ++ m) {var k = d.symbolInstances [m]; null! = k.sN & & (k.symbolName = k.sN); null! k.a = & & (k.autoPlay = k.a); null! {{= k.x & & (k.variables = k.x)}} e (c.content.dom,function(a, b) {B (b)}); for (var n in c.content.style) c.content.style.hasOwnProperty (n) & &

    B (c.content.style [n]); c.CG & & (c.centerStage = c.cg); c.stf & & (c.scaleToFit = c.stf); c.x Fokker-built & & (c.varia = c.x Fokker-built wheats); c.tt & &(c.timeline=c.tt); d = c.timeline; if (null! = d) for {{(null! = d.d & & (d.duration = d.d),null! = da & & (d.autoPlay = d.a.), d.l & & (= d. d.labels), c = 0; c < d.data.length; c++) d.data [c] & & d.data [c] [8] & & d.data [c] [8] .vt & & (d.data [c] [8] .valueTemplate = d.data [c] [8] .vt), d.data [c] & & d.data [c] [1] & &"tr"= d.data [c] [1] & & (d.data [c] [1] = Y.tr)} a.sym = b}function I (b (, c) {a.call (this); } This. $= d ; q (this, {id: b, opts: q(c||)}) {}, aa), _urlRegExp: / ^ (?: [a - z] + :)?-/-/ / I, )

    _the: {}, _d: {}, _s: [], loaded:function(a, b, c) {this._d [a] =null; (this._d) & &this. ready()}, load:function(a, b) {b |} (ce._d[a]=!0) ; var c =ce; {yepnope ({load:this._getFullURL (a), callback:function(g, d, m) {b? b(a,d,m):c.loaded (a, d, m)}})}, set:function(a, b, c, d, g, m) {F(, b); } This.fnt = c; this.res = d; this.fx = m; ja (b); this.registerFonts (c); var k =ce; {g & & 0 < g.length & & g.forEach (function(a) {k.load (a)})}, _getFullURL:function() {return this. _urlRegExp.test (one)? a: (this. opts.htmlRoot |)} "") +}, definePreloader:function(a) {this.preloaderDOM =

    has}, defineDownLevelStage:function(a) {this.downLevelStageDOM = a}, getStage:function() {return this.stage}, registerFonts:function(a) {If(a) b, c, g, m, k, n, t; f.fonts = f.fonts |} {var {}; for (n in one) if (a.hasOwnProperty (n) & &! f.fonts [n] & & (g = a [n]) & &""!) == g) {b = ! 1 ; for (t in f.fonts) f.fonts.hasOwnProperty (t) & & f.fonts [t] = g & & (b =! 0); if ( ! b). if (f.fonts [n] = g, b = g.indexOf (' / / use.typekit.com/ '), 0 > b & & (b = g.indexOf ("" / / use.typekit.net/ "")), 0 > b & & (b = g.indexOf ("/ / use.edgefonts.net/"), k = 0 < b, window._adobewebfontsappname_ ="Animate"), 0 < b) c =

    g.indexOf (' "', b + 1"), 0 < c & & (g.substring (b, c), k = b & &"file:"= window.location.protocol & & (b ="http:"+ b), g = document.createElement ("script"), g.src =this._getFullURL (b) = g.type,' text/javascript ', document.getElementsByTagName ('head') [0] .appendChild (g), k |) (m =function() {try{window. (({Typekit.Load ()}catch(a) {window.setTimeout (m, 100)}}, window.setTimeout (m, 100))); else if (0 > g.indexOf ("< script""") & & 0 > g.indexOf ("< link ')) .append (document.createTextNode (g)) d ('head'); else if (0 > g.indexOf ("< script ')) .append (g) d ('head'); else if (b =

    g.indexOf (' > '), c = g.indexOf (' \x3c/script > '), 0 < b & & 0 < c) {g = g.substring (b + 1, c); {{Try{window.eval (g)}catch(e) {}}}, getSymbols:function(a) {If(! a)return this._s; var b = []; e (this._s,function(g, c) {c.name = a & & b.push (c)});} return b}, rC:function(a) {return a}, rR:function() {this.stage & & (this.stage, one) O}, ready:function() {var a =this;} AdobeEdge.ready (function() {a.preloaderDOM & & a.preloaderDOM.script & & (new function ('e', a.preloaderDOM.script.loading)) ({event:"done", progress: 1, reason:"complete"});}) C.AdobeEdge & & C.AdobeEdge.bootstrapLoading & &

    (c = c |) {}, c.bootstrapLoading =! 0); window.edge_authoring_mode. (c & & c.framework$ & & (f $c.frame work = $), window.jQuery & &(f.$=window.jQuery)); AdobeEdge.addTouchSupport (); a.bindingFn & & a.bind ingFn(f.$); var b = a.stage =new M (a.sym,'stage', a), g, m ="." + a.ID, k = d (m); k [0] | (k = .addClass (m) d ('body')); b.init (k [0],' - edgeLoad '+ a.id); b._applyBaseStyles (k,"stage"); k.CSS ('position','relative'); if (! window.edge_authoring_mode | c.sym) si (k = b.data.stage,! k |) 'height'! == k.scaleToFit & &'width'! == k.scaleToFit & &'both'! == k.scaleToFit |

    n (d (m))! k | "vertical"! == k.centerStage & &'horizontal'! == k.centerStage & &'both'! == k.centerStage | (b.Ele, k.centerStage), t = k.scaleToFit | 'height' = k.scaleToFit | 'width' ( "both"= k.scaleToFit) {var m = k.content.style ["${stage} '] | k.Content.style [" ${stage} '], e, h, ca = / px | ^ $0 /; m & & m.sizeRange & & (e = m.sizeRange [0], e = ca.test (e)? parseInt (e, 10): 0, h = m.sizeRange [1], h = ca.test (h)? parseInt (h, 10)Sub :Sub 0); v (b. $("step"), k.scaleToFit, e, h,! 0, a.opts.bScaleToParent)} g =function() {If(a.launchCalled | a.opts.bootstrapLoading & &)}

    ! f.doPlayWhenReady) f.readyAndWaiting.push (g); else {a.launchCalled =! 0; d (' - .edgePreload '+ a.id) .css ('display','none'); d (' - .edgeLoad '+ a.id) .removeClass (' - edgeLoad '+ a.id); aBootcompsLoaded.push (a.id);} for (var c = window. AdobeEdge.bootstrapListeners.length, k = 0; k < c; k ++)try{window. AdobeEdge.bootstrapListeners [k] (a.id)}catch(m) {console.log ("bootstrap error"+ m)} c is d.Event ("compositionReady");. c.compId = a.id; d (document) .trigger (c); a.readyCalled =! 0; window.edge_authoring_mode? He's b.stopA (0):w(b,!0)}}; l (a ._l)? g (): a .addObserver ({assetsLoaded:function(a,})

    ({{(b) g ()}})})}, getCompId:function() {return thisuser.user}}); return ce} function N {e (H,function(b, g) {a = Math.min (g.rC (a), a)}); return a}function J (a, b) {e (H,function(g, c) {var d = c [b]; d & & d.call(c,a)})}function O (a, b) {If(a.ci)for(var g = 0; g < a.ci.length; ++ g) {var c = a.ci [g]; c & & O (c, b)} a & & a._getTimeline () (b) .tick}function K (a) {({event (:"commencer"})}function W (a) {If(U |)} ( 'complete'= D.readyState) a (); else if (D.addEventListener) {var b =. 1; D.addEventListener ('DOMContentLoaded',function(g) {U =! 0; b |})} {((), b = a! 0)},! (1); D.onreadystatechange =

    function () {'complete'== document.readyState & & (U =! 0); D.onreadystatechange =null; b |} {{((), b = a! 0)}} else {D.attachEvent & & D.attachEvent ("onreadystatechange",function(b) {U =! 0; a (b)})}function set {return one & &'chain'=typeof a & & (0 < a.indexOf ('%') | 0 < a.indexOf ("em") |)} "auto"= a | « null »=== un) ? ! 1 : ! 0}function $(a) {If(! a)return 0; } If('number'=typeof a)return a; var b = a.indexOf ('px') .val; return 0 < b? (val = a.substring (0, b), parseFloat (val)):parseFloat(a)}function X (a, b, g, c, d) {var k, m, n; for(k = 0; k < a.length; k ++) m = a [k], n ="$ {}"+}

    m.ID +"} ', g [n] & & (b [n] =! 0, m.rect |) (m.rect = m, m =Sub 0, m.rect |) (m.rect = [0,0,0,0])), m.rect & & (m.transform |) (m.transform = m.tf, m.tf =Sub 0, m.transform |) (m.transform = [])), m.transform [0] | (m.transform[0]=[0,0]), R(m.rect[0]) & & (Mr. transform [0] [0] = c [n] = m.transform [0], $(m.rect [0]) [0], m.rect [0] ="0px"), R(m.rect[1]) & & (m.transform [0] [1] = $ (m.rect [1]), d [n] = m.transform [0] [1] m.rect [1] ="0px"))), m.children? {X: m (m.children, b, g, c, d) & & X (m, b, g, c, d)}function ja (a) {If(! window.edge_authoring_mode)for(var b in a)If(a.hasOwnProperty (b)) {var g =}

    a [b], c =Sub 0, d =Sub 0 mSub = 0, k =Sub 0, n = {}, t = {}, e = {} and h = {}; if (g.timeline) for (m = g.timeline, c = 0; c < m.data.length; c++) (k = m.data [c]) & & ('left'== k [1] |) ( 'top'== k [1]) & & R (k [7]) & & (h [k [5]] =! 0); g.content & & g.content.dom & & X (g.content.dom, e, h, n, t); if (g.timeline) for (m = g.timeline, c = 0; c < m.data.length; c++) (k = m.data [c]) & & ('left'== k [1] |) {( «top»==k[1]) & & R (k [7]) & & e [k [5]] & & ('left'= k [1]? d ='translateX':'top'= k [1] & & (d ="translateY""), k [1] = d)}}var D = document, window, S = C = {}, H = {}, aa = {imagesDir:' images / '}, ba = Array.prototype.forEach;

    T, ka = [], V, U, oa = [] .push, ga = {}, da = {option: [1,'< select multiple 'multiple' = >',"< / select > '], thead: [1,'< table >','< /table >'], col: [2,'< table > < colgroup >'," < / colgroup > < / table > '], tr: [2,"< table tbody > > <","< / tbody > < / table > '], td: [3," < table tbody > < tr > > < " " < /tr > < / tbody > < / table > "" "]} , _default : [1,« »,« »]}, ma = / < ([\w:]+)/,na=/ < ( ? ! Area: br | col | embed | HR: img | Input | Link | Meta | param) (([\w:]+) [^ >] *)------/ > / gi, G = {}, Z is {}; f.doPlayWhenReady =! 1; f.readyAndWaiting = []; var qa = {columnCount:! 0, fillOpacity:! 0, fontWeight:! 0, lineHeight:! 0, opacity:! 0,}

    order:! 0, orphans:! 0, widows:! 0, zIndex:! 0, zoom:! 0}, ha = {letterSpacing:0, fontWeight:400}; V = ument.createElement ("div"); the doc ba = p (["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"]); e = d.each; d.extend = q; d.data =function(a, b, g) {var c ='Babar'+ b; 2 < arguments.length & &(a[c]=g); return has [and c]}; q (a.prototype, {addObserver:function() {If(a) {var b =this. notifier.obs, g, c, g = b.length; for(c = 0; c < g; c ++)If(b [c] .o = a)return; b [g] = {o: a}}}, removeObserver:function(a) {If(a) {var b =this. notify, g = b.obs, c;}}})

    for (c = 0; c < g.length; c++) if (g [c] .o = a) if (0 = b.lvl) {g.splice (c, 1); break} else g [c] .deleted =! 0}}, notifyObservers:function(a, b) {return k (the, a, b)}, removeObservers:function() {var a =this.notifier? } This. Notifier.OBS:null; ({{has & & a.splice(0,a.length)}}); b.expr = {}; var f = b.expr [': '] = {visible:function() {If((this) A)return this}, hide:function() {If(!)}} {A (this))return this}, selected:function() {If(this.selected)return this}, check:function() {If(thischecked)return this}, parent:function() {return this.parentNode}, first:function() {If(0 =)}

    {{a)return this}, last:function(a, b) {If(a = b.length - 1)return this}, eq:function(a, b, c) {If(a = c)return this}, has:function(a, b, c) {If(m (this, c) .length)return this}}, pa = /(.*): (\w+)(?:\ {(([^)] +) \))?$\s*/,ra={tabindex:"tabIndex", readonly:"readOnly",'for':'htmlFor','class':'className', maxlength:"maxLength", cellspacing:"cellSpacing", cellpadding:'cellPadding', rowspan:"rowSpan", colspan:"colSpan", well:"well", frameborder:"frameBorder", contentEditable:contentEditable 'a'}; q (b.prototype, {css:function(a, b) {If(!)}}) () 1 >

    (( this.length)) {If('string'==typeof a) {var c, g = s (a); } If(1 < arguments.length) {isNaN (parseFloat (b)) |! isFinite (b) |} QA [g] | (b+="px"); for (c = 0; c <this.length; c ++) ce [c] .style [g] = b; return ce} c = C.getComputedStyle? C.getComputedStyle (this[0]) [g] | ce [0] .style [g]:this[0] .style [g]; 'normal'= c & & g in ha & &(c=ha[g]); return c}If(r (a)) {var m = {}, k =this[0]; d.each (r b? r: [a],function(a, b) {var c = s (b);m[b]=k.style[c]||C.computedStyle.getPropertyValue(k)[c]});})} return m}for(g in one)this.css(g,a[g]); return this}}, prop:function(a,

    (b) {a = ra [a] | one;} returns 1 in arguments? { this.each (function(c, g) {this[a] ='function'==typeof b? b.call (this, g,this[a]): b}):this[0] & &this[0] [has]}, addClass:function(a) {g (this, a); return this}, removeClass:function(a) {g (this,! 0); return this}, hasClass:function(a) {a =""+ a +""; ""} for(var b = 0, c =this.length,g=/[\t\r\n\f]/g;b < c; b ++)If(1 =this[b] .nodeType & & 0 < = (""+this[b] .className +"""").replace(g,__"_"_).indexOf (a))return! 0; return! 1}, attr:function(a, b) {If('chain'! ==typeof a |!)} ( this.length)return null; if (Sub 0 = b) return ce [0] .getAttribute (a);

    this.each (function(c, g) {b? }) ({This.setAttribute (a, b):this.removeAttribute (a)}); return this}, removeAttr:function(a) {If('chain'! ==typeof a |!)} ( this.length)return null; this.each (function(b, c) {c.removeAttribute (a)}); return this}, each:function(a) {la.call (this,function(b, c) {a.call (b, c, b)}); return this},get:function() {If(this.length & & a <this.length)return this[a]}, _s:function(a, b) {If(this.length) {If(Sub 0 = a)return this[0] [b]; }} This.each (function(c, g) {this[b] = one}); return this}}, parent:function() {var a =this[0] .parentNode;}

    { return one & & 11! == a.nodeType? d (a):null}, parents:function() {for(var a =this[0], b = []; (a = a.parentNode) & & 9! == a.nodeType;) 1 = a.nodeType & & b.push (a); return b}, text:function(a) {return this._s (one,"textContent")}, html:function(a) {return this._s (one,"innerHTML")}, show:function() {return this.each (function() {'none'==this. style.display & & (this. style.display =""); })} If('none'== getComputedStyle (this,"') .getPropertyValue ("display")) {var a =this.style, b =this.nodeName, c, g; Z [b] | (c = document.createElement (b), (c) document.body.appendChild,)

    {({{(g = getComputedStyle(c,__""_).getPropertyValue ('view'), c.parentNode.removeChild (c),'none'is g & & (g ="block"), Z [b] = g); a.display = Z [b]}})}, hide:function() {return this.css ('display','none')}, wrap:function() {var b ='function'==typeof a; } If(this[0] & &! b)var c = d (a). get (0), g = c.parentNode | 1 <this.length; return { this.each (function(m) {d (this).wrapAll(b?a.call(__this__,m):g? c.cloneNode(!0):c)})}, wrapAll:function(a) {If(this[0]) {for(this[0].parentElement.insertBefore (one,this[0]); a.firstElementChild;) a = a.firstElementChild; d (a) of (this) .append}return this},.

    dimension:function() {var b =this[0], c = a [0]? a [0] .toUpperCase () + a.substr (1):""; if(b===b.window)return b.document.documentElement ["client"+ c]; } If(9 = b.nodeType)return Math.max (b.body ["scroll"+ c], D ["scroll"+ c], b.body ["offset"+ c], D ["offset"+ c], D ["client"+ c]); cthis.css (a) = | ""; if ('auto'! = c & & (c = x c,! c.units |)) (( 'px'== c.units))return c.num;b=b.getBoundingClientRect(); if ('width'= a) return Math.Round (b.Width); if ('height'= a) return Math.Round (b.Height)}, width:function() {return void 0! = a? } This.css ("width", one):

    this.dimension ('width')}, height:function() {return void 0! = a? } {This.css ('height', a):this.dimension ('height')}, offset:function() {If(! )} This.length)return null; var a =this[0] .getBoundingClientRect (); return ({{left:a.left + window.pageXOffset, top: a.top + window.pageYOffset, width:Math.round (a.width), the hei (a.height) ght:Math.round}}, is:function() {return 0 <this.length & & y (this[0], a)}}); P ({opacity: {}, on the left: {f:"rect", i: 0, sup:"px"}, up: {f:"rect", i: 1, sup:"px"}, width: {f:"rect", i: 2, sup:"px"}, height: {f:"rect", i: 3, sup:'px'}, right: {f:"rect",})

    {i: 4, sup:'px'}, down: {f:'rect', i: 5, sup:'px'}, CBC: {o:'img'f:'fill', i: 1, one: 1, p:1, x: {apply:function(a, b, c, g) {b = g? g._getFullURL (b): b; a.attr ('src', b)}}}, poster: {f:'post', o:'video', a: 1}, preload: {f:'preload', one: 1}, medsrc: {e:'img','source', a f:: 1, x: {apply:function(a b}} (, c, g) {var m; a: {m = c.type; var k = c.preload;} if (! AdobeEdge.isIOS) {var n, t; for(n = 0; n < b.length; n ++)If(t = b [n] .split ("."), t = t [Extremity-1] .toLowerCase (), AdobeEdge.supported [m] [t]) {t =! 1;}} (t =null= k |) ""==k? == 'auto'("audio"== m? g.opts.gAudioPreloadPreference:)

    (g.opts.gVideoPreloadPreference):'auto'== k) & & z (m, g._getFullURL (b [n]), g); m = g._getFullURL (b [n]); { Break one}} m =Sub 0}If(d.isArray (b) & & 1! = b.length)for(m = 0; m < b.length; ++ m) k = document.createElement ("source"), d (k) .attr ('src', g._getFullURL (b [m])), a.get(0) .appendChild (k); else m? a.attr ('src', m):a.attr ('src', d.isArray (b)? g._getFullURL (b [0]):g._getFullURL(b));) {{{ "audio"== c.tag & & a.attr ("orders","block"== c.display)}}},' background-image ': {e:'img'f:'fill', i: 1, w:"url(@@0)", p:1, x: {prep:function(a, b, c, g, d, m, k) {var n; b [c] & &}}}

    (n = b [c] [g]); 0 Sub ! == n & & (n = z (b.type, n, k), k._getFullURL (n), n =this. conf.t.replace ("@@0", n)); retour n}}},« background-color »: {f:« remplissage », i:0, x: {s’appliquent :function(a,b){a.css (« couleur de fond », h (b))}}}, texte : {x: {s’appliquent :fonction(a,b){a.html(b)}}},« min-width »: {f :« sizeRange », i:0},« max-width »: {f :« sizeRange », i:1},« min-height »: {f :« sizeRange », i:2},« max-height »: {f :« sizeRange », i:3}, débordement : {x: {s’appliquent :fonction(a,b){a.css (« overflow », b) ;« cachée »! == b & &« scroll »! == b || a.CSS (« text-overflow » (,«clip»)}}},' background-repeat ': {e:"img",

    { f:'fill', x: {apply:function(a, b) {b & & 1! = b.length & & (d.isArray (b [1]) | a.CSS ('background-repeat', b [6]:"no-repeat""))}}},"background-attachment": {f:"fill", i: 7, x: {apply:function(a, b) {"scroll"! == b & & a.css ("background-attachment", b)}}},"background-size": {f:"fill"i: 4, d:'100% 100% '}, autoOrient: {x: {apply:function(a, b) {AdobeEdge. $.data(a[0],"doAutoOrient",b)}}}, clip : {}, display: {},"border-top-left-radius": {f:"borderRadius", i: 0},"border-top-right-radius": {f:"borderRadius", i: 1, ii:0},"border-bottom-right-radius": {f:"borderRadius" }

    i:2,ii:0},"border-bottom-left-radius":{f:"borderRadius",i:3,ii:0},"border-width":{f:"stroke",i:0,d:0,u:"px"},"border-color":{f:"stroke",i:1,d:"rgba(0,0,0,0)"},"border-style":{f:"stroke",i:2,d:"none"},cursor:{f:"cursor"},"transform-origin":{cb:1,f:"transform",i:4,x:{prep:function(a,b,c,g,d,m){if(b.transform&&void 0!=b.transform[4])return 1==b.transform[4].length?b.transform[4][0]+" 50%" {{{: b.transform [4] [0] +""+ b.transform [4] [1]}}},"font family": {f:"police", i: 0},"do-size": {f:'police', i: 1, sup:'px', x: {prep:function(a,}}

    b, c, g, d, m, k) {If('text'== b.type)return g =this. conf.i, d = 0, c =this. conf.f, a = b [c] [g] [d], b = b [c] [g] [d + 1] b & &' '! = b |} (b=this.conf.u),a+b}}},"font-weight":{f:"font",i:3},"letter-spacing":{f:"textStyle",i:0},"word-spacing":{f:"textStyle",i:1},"line-height":{f:"textStyle",i:2},"text-indent":{f:"textStyle",i:3},"text-transform":{f:"textStyle",i:4},color:{f:"font",i:2,x:{apply:function(a,b){a.css("color",h(b))}}},"text-decoration":{f:"font",i:4},"font-style":{f:"font",i:5},"word-wrap":{f:"font" i:6} ,' text-align ': {f:'align'},

    'spaces': {f:'rect', x: {prep:function(a, b) {If(b.font)return 7 < b.font.length? b.font [7]:b.rect}, apply:function(a, b) {d.isArray (b)?}} (! b [2] | 0 > = b [2] |) ( 'auto'== b [2]) & & (! b [3] | 0 > = b [3] |) {{( «auto»==b[3]) & & (a.css ("spaces","nowrap"), a.css ('wordWrap',' word-break ')): (a.css ('space', b),"nowrap"== b & & a.css ('wordWrap',' word-break '))}}}, volume: {f:'volume', x: {apply:function(a, b) {.volumegeta (0) = b}}}, className: {f:'uc', x: {apply:function(a, b) {a.addClass (b)}}}, controls: {a: 1}, alt: {a: 1}, title: {a: 1}, tabindex: {a: 1},

    AutoPlay: {a: 1}, loop: {a: 1}, linkURL: {f:'linkURL', one: 1, x: {prep:function(a, b) {ga [a user.user [0]] = b; a .onclick [0] =function() {var a = [thisuser.user] ga; a.linkTarget? window.open (a.linkURL, a.linkTarget): window.location.href = a .linkURL}; a [0]. style.cursor ="pointer"}}}); var Y = {c:'children', from left to right:'rect', zr:"sizeRange", br:'borderRadius', cl:'clip', al:'alt', tt:"title", ti:"tabindex", cn:'orders', SR.:'source', ps:"poster", pr:"preload", cu:"cursor", ap:"autoplay", lp:'loop', n:"police", tf:"transform", sh:'boxShadow', ts:"textStyle", o:'opacity',}

    {UC:'userClass's:'stroke','fill', v f::'view', fi:'filter', sN:'NomSymbole', tr:'trigger'}; q (M.prototype, a.prototype); q (M.prototype, {init:function(a, b) {var c =this[this.name] .data; c & & L (this.composition,this, c.content.dom, c.content.style, a, b)}, register:function(a, b) {}, play:function() {}}); q (I.prototype, a.prototype); I have ._playAuto = o; (function() {var ; T | (a = C.requestAnimationFrame |) C.webkitRequestAnimationFrame | E C.mozRequestAnimationFram | C.msRequestAnimationFrame | C.oRequestAnimationFrame | function (a) {C.setTimeout (a,

    (17)}, T =function() {var b; b = N (0); J (b,"rP"); J (b,"rR"); J (b,"rA") ; a.call (C, T)}, a.call (C, T))}) (); G.cssTransform = p (["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"]); G.cssTransform3d = p (["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]); G.audio =function() {var a = document.createElement ("audio"), b = {}; a.canPlayType & &(b.m4a=!! a.canPlayType (' audio/mp4; codecs="mp4a.40.2» ') replace (/ No. /," "), b.aac = b.m4a, b.mp3 =!)} a.canPlayType ("audio/mpeg;"). Replace (/ No. /,)

    ""),b.wav=!! a.canPlayType (' audio/wav; codecs = "1" ') replace (/ No. /,""), b.ogg =! a.canPlayType (' audio/ogg; codecs = "vorbis" ') replace (/ No. /,""), b.oga = b.ogg); Return b} (); G.Video =function() {var a = document.createElement ("video"), b = {}; a.canPlayType & &(b.webm=!! a.canPlayType («vidéo/webm») replace (/ No. /,""), b.mp4 =!)} a.canPlayType ("video/mp4;"). Replace (/ No. /,""), b.ogv =! a.canPlayType (' video/ogg; codecs = "theora, vorbis" ') replace (/ No. /,""), b.ogg =! a.canPlayType (' video/ogg; codecs = "theora, vorbis" ') replace (/ No. /,"""));

    Return b} (); G.customEvent =function() {If(! window.)} CustomEvent)back! 1; try { void return 0! ==new CustomEvent ('testCustomEvent',! 1! 1)} catch (a) {return!} 1}() ; G.addEventListener =Sub 0! == window.addEventListener; var a = G, here. V.style.cssText ='background - color:rgba (150,255,150,.5)'; AI = 0 == (' "+ V.style.backgroundColor) .indexOf ("rgba")? 0:! 1; his. RGBA = AI; q (f, {version:"5.0.0", Composition: I, defaultOpt:aa, $: d, a$: b, renderDOM: L, ready: W, camelize: s, splitUnits:x, loadCom position:function(a, b, c, g, m) {function n (a, g) {W (function() {var m = "})

    d ("." [ + b),k=/PX|^0$/,n=c.scaleToFit,e=c.centerStage,h=c.minW,f=c.maxW,l=c.Width,s=c.Height,y=m[0] |) document.getElementsByTagName ('body') [0]; "absolute"! = y.style.position & &"relative"! = y.style.position & & (y.style.position ="on"); s & & (s = y.style.height); l & & (y.style.width=l);/^height$|^width$|^both$/.test(n) & & (h = (h) k.test? parseInt (h, 10): 0, f = k.test (f)? parseInt (f 10)Sub :Sub 0,v(d(y),n,h,f,!1,c.bScaleToParent));/^vertical$|^horizontal$|^both$/.test(e) & & t (y, e); a & & L (H [B],null, a.dom and a.style, m [0], g + b); m.removeClass (' - edgeLoad '+)

    (b)})}function e() {K (function EA {a? ea & & setTimeout (ea, 20): a = {event:'loading', progress:0}; f.preloaderDOM.script & & (new function ('e', f.preloaderDOM.script.loading)) (a)}); n (f.preloaderDOM,' - edgePreload ')}function h() {n (f.downLevelStageDOM,"edgeDownLevel")}var f = H [b] AdobeEdge.compositions [b] =new = I (b, c), k (AdobeEdge,"newComp", {model: f} "); BA? (window.edge_authoring_mode |) (g? ((f.definePreloader (g), e (): f.load (a +"_edgePreload.js", e)), a & & (c & & c.bootstrapLoading? ka.push (a): window.edge_authoring_mode & & c.sym? f.load(a+))

    + c.sym):f.load ' _edge.js? symbol = '(a +"_edge.js"))): window.edge_authoring_mode | (m? {((f.defineDownLevelStage (m), h (): f.load (has +"_edgePreload.js", h))}, registerCompositionDefn:function(a, b, c, g, d, m) {H [a] .define (m, b, c, g, d)}, registerEventBinding:function(a, b) {H [a] .bindingFn = b}, getComposition:function() {return H [a]}, defineProps:P, Accessories: S, symbol: M, stating: a, isSupported:p, supported: G, isIOS:function() {var a = navigator.userAgent; return'webkitAppearance'in document.documentElement.style & &(/iPad/.test(a)|| /iPod/.test(a) |}

    () /iPhone/.test(a))}, isOpera: / Opera/.test (navigator.userAgent), registerFonts:function(a) {AdobeEdge.getCurrentComposition () .registerFonts (a)}, playWhenReady:function() {f.doPlayWhenReady =! 0; for(var a = 0; a < f.readyAndWaiting.length; a ++) f.readyAndWaiting [a] ()}, _: {c:H, P:E, p:S, rE: Q, no.: k, nDN:B}});} q (f, a.prototype); (a.call (f)})(window.) AdobeEdge); window. AdobeEdge.bootstrapListeners | (window w. AdobeEdge.bootstrapListeners = []);

    window. AdobeEdge.bootstrapCallback =function(f) {window. AdobeEdge.bootstrapListeners.push (f); if (0 < aBootcompsLoaded.length) for (var r = 0; r < aBootcompsLoaded.length;r++)f(aBootcompsLoaded[r])};) window.AdobeEdge.compositions | (window.AdobeEdge.compositions = [];) window. AdobeEdge.yepnope = window.yepnope;

    (function(f) {function r() {f.Notifier.call (this); }}) {This.animationID =' - animID '+ r.nextID; r.nextID += 1}function u (b, d, c) {f.Animation.call (this);"function"=typeof b?} this.handler = b:'chain'=typeof b & & (this.eventType = b); this.handlerContext = c; this.data = d; this.isTrigger =! 0}function e (b, d, c, n, h) {f.Notifier.call (this); } This.animation = b; thiswhich .position = 0; this.duration =-1; this. opts = {}; l.extend (this.opts, h); this.easing ='function'=typeof n? n to n & & l.easing [n]? n: e.defaultEasing; 0 Sub ! == d & & (thiswhich .position = d). 0 Sub ! ==

    c & & (this.duration = c); this.timeline =null; this.dScale = 1; this.dDuration = 0; the.done =! 1}function p {f.Animation.call (this); l.extend (this, f.Timeline.config); l.extend(, b); } This.startPositionthis.timerStartthis.timer = = = 0; this.currentPosition =-1; this.playing =Sub 0; thisthis.duration = .iteration = 0; this.interval = 1E3 /this*. FPS; this.objects = []}function h (b) {return s.test(b[1])}var l = $ f, q is {}, x = {}, s = / ^(trigger|@) $/; l.isArray =function(b) {return'[object Array]'= Object.prototype.toString.call (b)}; l.easing = l.easing |

    {} ; l.extend (l.easing, {linear:function(b, d, c, n) {return c + n * b}, swing:function(b, d, c, n) {return(-Math.cos(b*Math.PI)/2+0.5)*n+c}});r.nextID=1;l.extend(r.prototype,f.Notifier.prototype);}}) l.extend (r.prototype, {constructor: r, Setup:function() (), update:function(b, d) {}, getDuration:function() {return 0}}); l.extend (u.prototype, r.prototype); l.extend (u.prototype, {constructor: u, update:function(b) {this.fired |}}) (this= .fired 0,this.handler?) this. handler.call (this.handlerContext, b,this.data):this.eventType & &this.timeline & &

    this. (timeline.notifyObservers (ce.eventType, {écoulé: b, données:cette.data}))}, Setup:function(b, d) {var c =Sub 0 = b.executeTriggers |} null= b.executeTriggers; this. fired = b.startingFromCurrent & & c | ! c & &! b.executeTriggers? "backside"! == b.playDirection? b.currentPosition > = d: b.currentPosition < = d:'backside'! == b.playDirection? b.currentPosition > d: b.currentPosition < d; this. timeline = b}}); e.defaultEasing ='linear'; l.extend (e.prototype, f.Notifier.prototype); l.extend (e.prototype, {constructor: e, Setup:function(b) {this.timeline =})

    b; var d =this.duration, c =null; this.animation & &this. animation.getDuration & & (c =this. animation.getDuration ()); this.dScale =-1. == d & & 0! == d ? c / d: 1; this.dDuration =-1. == d ? d; the.done =! 1; this.animation & &this. {animation.setup & &this. animation.setup (b,thiswhich .position)}, update:function(b) {If(! )} This.done) {var d =this.dDuration, c; This.animation & & (0 = d? c = 0 < = b? 1:0: (b > = d & &(b=d), 0 > = b & & (b = 0), c = l.easing [this.easing](b/d,b,0,1,d)),this. animation.update (b *this.dScale, c)); ("reverse"=this. timeline.playDirection? 0 > = b: b > = d) & &

    {{ this. complete()}}, complete:function() {this= .done! 0; } This.timeline & &this. (this) timeline.updateComplete}, getPosition:function() {return this.position}, setPosition:function(b) {thiswhich .position = b}, getDuration:function() {return-1! ==this.duration? } This.duration:this.animation & &this. animation.getDuration? { this. animation.getDuration (): 0}, setDuration:function(b) {this.duration = 0 < = b? b:-1}});} p.config = {dropFrames:! 0, fps:60, pauseThreshold:250}; p.prototype.tick =function(b) {this._handleTimer (b)}; l.extend (p.prototype, r.prototype);

    l.extend (p.prototype, {constructor: p, reading:function(b) {b = b |}}) {}; this.notifyObservers ('play'); this= .playing! 0; this._stop ({}); if ("undefined"=typeof b.pos |) ( null= b.pos)If("reverse"== b.playDirection) b.pos =this.currentPosition, 0 > = b.pos & & (b.pos =this. getDuration()); else if (0 >this.currentPosition |) ( this.currentPosition > =this. getDuration()) b.pos = 0; l.extend(, b); this.seek (b.pos, b); this.iteration = 0; this.timerStart = (new Date) .getTime (); this.startPosition =this.currentPosition; this.lastUpdateTime =this.timerStart;

    this.firstUpdate =! 0; this. _handleTimer(); this.firstUpdate =! 1; return this}, stop:function(b) {this= .playing! 1; b & & b.bSeek? } {This.seek (b.pos, b):this._stop (b)}, get:function(b, d) {this.notifyObservers ("seek"); Thisextinguish (d); var c =this.currentPosition; this._stop (d); l.extend (this, d); 0 Sub ! == b & & (this.currentPosition = b); this.startingFromCurrent ='number'=typeof b & & c! isthis.currentPosition? 1 : ! 0; thisfacility (this); this.firstUpdate =! 0; this.updateSeek (this.currentPosition, 1, c); this.firstUpdate =! 1; return this}, add:function(b,

    d, c, n, h) {b =new e (b, d, c, n, h); This.objects.push (b); this.sorted =! 1}, sort:function(b) {var d = {width: 1, height: 2,' - webkit - transform-origin ': 3,' transform-origin ': 4,"- moz - transform-origin ': 5," - ms - transformation-origin ": 6, left: 7, top: 8, down: 9, right: 10, motion: 11}; } This.sorted | (this. objects.sort (function(b, c) {var a = b.animation, k = c.animation; })) If(a | k) {If(! a)return- 1; } {If(! k)return 1;else return b.position - c.Placez; if (a.property | k.Property) {If(! a.property)return-1;} Si (! k.property) { return 1}else return b.position - c.Placez;

    var g = d [a.property], m = d [k.property]; return a.sourceElements! == k.sourceElements? a.sourceElements > k.sourceElements? 1:-1: g & &(!m|| m < g)? 1: m & &(!g|| m>g)? ({- 1:b.position - c.Placez}),that.sorted =! (0); for (b = 1; b <this. objects.length; b ++) {var c =this[b-1] n, .objects =this. objects [b]; c.animation & & n.animation & & c.animation.property = n.animation.property & & c.anima tion.sourceElements = n.animation.sourceElements?} (c.animation._nextObj = n.animation, n.anima tion._prevObj = c.animation): (c.animation & & (c.animation._nextObj =null))

    {(n.Animation & & (n.animation._prevObj=null))}}, getDuration:function() {var b =this.duration,this.objects,this= c = d. objects.length, n = Math.max, e, t; for(e = 0; e < c; e += 1) t = d [e], b = n (b, t.position + t.getDuration ()); return b}, getCurrentPosition:function() {return this.currentPosition}, update:function(b, d) {this. sort(); } This.notifyObservers ("PreUpdateest", {elapsed: b, easingConst:d});}) var c =this.objects, n =this. triggers, e = c.length, t = n.length, a ='backside'! ==this.playDirection,k=!1,g=!0,m=!window.edge_authoring_mode & &this.executeTriggers.

    h =! Window.edge_authoring_mode & & (Sub 0 =this.executeTriggers |) ( null=this.executeTriggers), f, l, s, q, p, r; this.currentDirection = one? 'before':'backside'. for (s = 0; s < t; s += 1) if (q = n [a? s: t-s-1], p = q.animation.isTrigger & &!) (this.startingFromCurrent & &this.firstUpdate), (h & & p | m |!) ( this.firstUpdate) & &! q.animation.fired & & (a? b > = q.position:b < = q.position + q.duration)) {p =this. currentPosition = q.position; r =the. getState(); for(k = 0; k < e; k += 1) f = c [a? k: e - k-1], (l = a & &! f.opts.reverseOnly |! a & &! f.opts.forwardOnly) & &! f.anima tion.isTrigger & &}

    (a? p > = f.position:p < = f.position + f.duration) & & ((l = p-f.position) | f.Duration | a |) (l = 1), f.upd ate (l)); k =! 0; q.animation.update (p); if (! { this.equalState (r)) {g =. 1; break}}If(! k)for(k = 0; k < e; k += 1) f = c [a? k: e - k-1], (l = a & &! f.opts.reverseOnly |! a & &! f.opts.forwardOnly) & &! f.Anima tion.isTrigger & & (a? b > = f.position:b < = f.position + f.duration) & & ((l = b-f.position) | f.Duration | | a |) (l = 1), f.update (l)); this.notifyObservers ('fxUpdate', {elapsed: b}); this.notifyObservers ('postUpdate', {elapsed: b, easingConst:d});}) this.notifyObservers ('update',

    {elapsed: b, easingConst:d});} return g}, setLoop:function(b) {this.loopCount = b}, getState:function() {return{pos:this.currentPosition, dir:this.playDirection, playing:this.playing}}, equalState:function(b) {var d =! b.Playing, c =!} this.playing; { return b.pos =this.currentPosition & & b.dir =this.playDirection & & d = c}, _handleTimer:function(b) {b = b |} (new Date) .getTime (); var d ='backside'=this.playDirection, c = -this.timerStart - bit.iteration * (d? ) This.startPosition:this.duration -this.startPosition), d =this.startPosition +.

    (d?-c); b -this.lastUpdateTime >this.pauseThreshold & & (this.timerStart += b -this.lastUpdateTime +this.interval, c = b -this.timerStart); if (this.playing) {If(this.currentPosition = d = Math.max (0, Math.min (d,this.duration)),this.update(d,1),this.lastUpdateTime = b, b = (d ="backside"=this.playDirection)? 0 <this.currentPosition:this.currentPosition <this.duration,! b) {If(this.loopCount & & (this.iteration += 1,this.notifyObservers ('iterationComplete', {elapsed: c, count:this.iteration}),«forever»=this.loopCount |))}} this.iteration <

    (( this.loopCount)) {c =this. objects; b = c.length; for(d = 0; d < b; d += 1) c [d] = .done! 1;} this. tick(); return} this. stop(); {{{ this.notifyObservers ("complete", {elapsed: c})}}else this.notifyObservers ('fxUpdate', {elapsed: c})}, Setup:function(b) {f.Animation.prototype.setup.call(, b); } This.triggers = []; b =this.objects; var d =ce. objects.length, c, n; for (c = 0; c < d; c += 1) n = b [c], n.done =! 1, (this) n.setup, n.animation.isTrigger & &this.triggers.push (n); { this.duration =this. getDuration()}, updateComplete:function(b) {b.done =! 0}, _stop:function(b) {b & &}

    b.dontNotify | this.notifyObservers ('stop'); this.timer & & not (this.timer) clearTimeout(). thisthis.timer = .timerStart = 0; return this}}) ; p.prototype.updateSeek = p.prototype.update; f.Animation = r; f.TimelineObject = e; f.Timeline = p; f.Timeline.createTimeline =function(b) {return new f.Timeline (b)}; f.Timeline.createTween =function(b) {var d = q [b]; return d? d.func.apply (d.context, Array.prototype.slice.call (arguments, 1)):null}; f.Timeline.addTweenType =function(b, d, c) {q [b] = {func:d, context:c}}; f.Timeline.addTweenProperty =function(b,

    (d) {x [b] = d}; f.Timeline.getTweenType =function(b) {return x [b] |} 'style'} ; f.Timeline.createTrigger =function(b, d) {return new u(b,d,arguments[arguments.length-1])}; f.Timeline.isTrigger = h; f.Timeline.isTween =function(b) {return! h (b)}; f.Timeline.createTL =function(b, d, c) {var n = f.Timeline.createTimeline (), e = b.length, t, a, k, g; k = b.duration? b.duration:0;} var m; n.duration = k; c & & c.loop & & n.setLoop (c.loop); for (c = 0; c < e; c += 1) t = b [c], a =null, k = - 1, h (t)? (g = t.slice (3.5), g.push (d), a = f.Timeline.createTrigger.apply (null, g), g = t [5],)

    m ='none'): t [1] & & (k = x [t [1]] |) ( 'style', g = [k, t [1]] .concat (t.slice (5)), a = f.Timeline.createTween.apply (null, g), k = t [3], m = t [4], g = t [8]), a & & (a.id = t [0], n.add(a,t[2],k,m,g)); )(window.) ( return n}} AdobeEdge);

    (function(f) {var r = f. $; r.easing.jswing = r.easing.swing; r.extend (r.easing, {def:"easeOutQuad", swing:function(f, e, d, h, l) {return r.easing [r.easing.def](f,e,p,h,l)}, easeInQuad:function(f, e, d, h, l) {return h * (e / l =) * e + p}, easeOutQuad:function(f, e, d, h, l) {*(e/=l)returnh * (e-2) + p}, easeInOutQuad:function(f, e, d, h, l) {return 1 > (e / = l/2)? h/2 * e * e + p}})}) {: h/2 * (-EI * (e-2)-1) + p}, easeInCubic:function(f, e, d, h, l) {return h * (e / l =) * e * e + p}, easeOutCubic:function(f, e, d, h, l) {return h * ((e = e/l-1) * e * e + 1) + p}, easeInOutCubic:function(f, e, p, h,

    (l) {return 1 > (e / l/2 =)? h/2 * e * e * e + p:h / 2 * ((e-=2) * e * e + 2) + p}, easeInQuart:function(f, e, d, h, l) {return h * (e / = l) * e * e * e + p}, easeOutQuart:function(f, e, d, h, l) {returnh * ((e = e/l-1) * e * e * e-1) + p}, easeInOutQuart:function(f, e, d, h, l) {return 1 > (e / = l/2)? h/2 * e * e * e * e + p} {: h/2 * ((e-=2) * e * e * e-2) + p}, easeInQuint:function(f, e, d, h, l) {return h * (e / = l) * e * e * e * e + p}, easeOutQuint:function(f, e, d, h, l) {return h * ((e = e/l-1) * e * e * e * e + 1) + p}, easeInOutQuint:function(f, e, d, h, l) {return 1 > (e / l/2 =)? h/2 * e * e * e * e * e + p} {: h/2 * ((e-=2) * e * e * e * e + 2) + p}, easeInSine:function(e,

    e, p, h, l) {(return- h*Math.cos(e/l*(Math.PI/2)) + h + p}, easeOutSine:function(f, e, d, h, l) {return h*Math.sin(e/l*(Math.PI/2)) + p}, easeInOutSine:function(f, e, d, h, l) {returnh/2 * (Math.cos (Math.PI * e/l)-1) + p}, easeInExpo:function(f, e, d, h, l) {return 0 == e?:h*Math.pow(2,10*(e/l-1)) + p p} , easeOutExpo:function(f, e, d, h, l) {return e == l? p + h:h * (-Math.pow (2, -10 * e/l) + 1) + p}, easeInOutExpo:function(f, e, d, h, l) {return 0 == e? p:e == l? p + h: 1 > (e/=l/2)?h/2*Math.pow(2,10*(e-1)) + p:h / 2 * (-Math.pow (2, -10 *-e) + 2) + p}, eas eInCirc:function(f, e, p, h l) {returnh *}

    {(Math.sqrt (1--(e / = l) * e)-1) + p}, easeOutCirc:function(f, e, d, h, l) {return h * Math.sqrt (1--(e = e/l-1) * e) + p}, easeInOutCirc:function(f, e, d, h, l) {return 1 > (e/=l/2)?-h/2*(Math.sqrt(1-e*e)-1)+p:h/2*(Math.sqrt(1-(e-=2 *) + 1)) e + p}, easeInElastic:function(f, e, d, h, l) {f = 1.70158; var q = 0} r = h; if (0 == e) return p; if (1 ==(e/=l)) return p + h; q | (q = 0.3 * l); r < Math.abs (h)? (r=h,f=q/4):f=q/(2*Math.PI)*Math.asin(h/r); return-(r * Math.pow (2, 10 * (e-=1))*Math.sin(2*(e*l-f)*Math.PI/q)) + p}, easeOutElastic:function(f, e, d, h, l) {f = 1.70158; var q = 0, r = h;})

    if (0 == e) return p; if (1 ==(e/=l)) return p + h; q | (q = 0.3 * l); r < Math.abs (h)? (r=h,f=q/4):f=q/(2*Math.PI)*Math.asin(h/r); { Return r * Math.pow (2, -10 * e) * Math.sin (2 * (e * incl..) * Math.PI / q) + h + p}, easeInOutElastic:function(e, e, d, h, l) {f = 1.70158; var q = 0, r = h;} if (0 == e) return p; if (2 ==(e/=l/2)) return p + h; q | (q = 0.3 * l * 1.5); r < Math.abs (h)? (r=h,f=q/4):f=q/(2*Math.PI)*Math.asin(h/r); { return 1 > e?-0,5 * r * Math.pow (2, 10 * (e = 1)) * Math.sin (2 * (e * incl..) * Math.PI / q) + p:r * Math.pow (2, -10 *(e-=1)) * Math.sin (2 * (e * incl..) * Math.PI / q) * 0.5 + h + p}, easeInBack:function(e,

    e, d, h, l, q) {void 0 == q & & (q = 1.70158); return h * (e / l =) * e * ((q+1) * e-q) + p}, easeOutBack:function(f, e, d, h, l, q) {void 0 == q & & (q = 1.70158); return h * ((e = e/l-1) * e * ((q+1) * e + q) + 1) + p}, easeInOutBack:function(f, e, d, h, l, q) {void 0 == q & & (q = 1.70158); return 1 > (e / = l/2)? h/2 * e * e * (((q * = 1,525) + 1) * e-q) + p} {: h / 2 * ((e-=2) * e * (((q * = 1,525) + 1) * e + q) + 2) + p}, easeIn Bounce:function(f, e, d, h, l) {return h - r.easing.easeOutBounce (f, l-e, 0, h, l) + p}, easeOutBounce:function(f, e, d, h, l) {return(e / = l) < 1/2.75?7.5625*h*e*e+p: e < 2/2.75? h * (7.5625* (e = 1.5/2.75)*e+0.75)+))}

    p:e < 2.5/2.75?h* (7.5625* (e = 2.25/2.75)*e+0.9375)+p:h* (7.5625* ({e = 2.625/2.75)*e+0.984375)+p}, easeInOutBounce:function(e, e, d, h, l) {return e < l/2?0.5*r.easing.easeInBounce(f,2*e,0,h,l)+p:0.5*r.easing.easeOutBounce(f,2*e-l,0,h,l}) + 0.5 * h + p}})})(window.)) AdobeEdge);

    (function(f) {function r (a, b) {return b? b +'_'+ a: has +'_'+ k ++}function u (a) {a.length & &(a=a[0]); return has? a.edgeSymbol:null}function e (a, b) {.}}) Length & & (a = a [0]); {a & & (a.edgeSymbol = b)}function p {var b, c, d, k = a.length; } If(n.isArray (a))for(b = [], d = 0; d < d; k ++) c = a [d], b [d] =null! = c & &'object'=typeof c? (c) p: c; else for (a d in b = {}) a.hasOwnProperty (d) & &'prototype'! == d & & (c = a [d], b [d] =null! = c & &"object"=typeof c? p (c): c); return b}function h (a) {a = a.data [b.SID]; return a.timeline? a.timeline.data:null}function part {a = a.data [b.SID];

    { return a.timeline? a.timeline.duration:0}function q (a, b, c) {function d (a, b) {for(k = 0; k <.)}} Length; (k += 1) {If(a [k] user.user = b)return a [k]; {{If(a [k] .children)return (a [k] .children, b)}return null} b = b.replace (/ [-{\}------$] "/ g,' ''); a = a.data [b.SID]; var k; if (a = a.content? a.content.dom:null) if (b = d (a, b)) if (a = f.props [c]) Return a.prep (null, b, c, a.i, a.j.); return null} Function x (a, b, c, d, k) {return['generated','place', d, k,'linear', a, [[b.x, b.y, 0, 0], [c.x Fokker-built, c.y, 0, 0]]]}function s (b, c) {var d, k; c & & (b.tlCached =Sub 0); var n = h (b);} if ( ! n). return null;

    n.Duration = l (b); n.dirty & & b.tlCached & & (d = b.tlCached.currentPosition, k = b.tlCached.notifier.o bs, b.tlCached =Sub 0); if (! b.tlCached) {var e, v is b.data [b.name] .timeline, s, p = {}, r = {}, u, w, F = n.duration, I; e = b.data [b.name]; var N; s = n.Length; for (w = n.length - 1; 0 < = w; w-) "injected"= n [w] [0] & & n.splice (w, 1); s = n.length; 'number'! ==typeof e.timeline.duration & & (e.timeline.duration = 0); for (N = 0; N < s; N++)(w=n[N]) & & a (w) & & (u = w [5], p [u] |) (p [u] = []), p [u] .push (w), u = u +": '+ ("query"= w [1]?'location': w [1]), [u] r | (r [u] = []), r [u] .push (w)),

    w & & a (w) & & (I = o [3] | 0, F = Math.Max (F, w [2] + I)); p = Math.max (e.timeline.duration, F); w =function(a, b) {return a [2] b [2]}; for ( in r u) (u) r.hasOwnProperty & & r [u] extinguish (w); for (u in r) r.hasOwnProperty (u) & & (w = r [u] [0], 0 < w [2] & & (e = q (b, w [5], w [1]),null== e & & (e = w [6]),'place'= w [1]?)) () w = r [u] [0], s = {x: w [6] [0] [0], y: w [6] [0] [1]}, e = x (w [5], s, s, 0, Math.Max(0,w[2]-1)), e [0] ='injected', n.push (e)):void 0! == e & & (w = f.cloneJSONObject (r [u] [0]), [6] w = w [7] = e, w [3] = w [2], w [2] = 0, w [0] ='injected', w [8] & &' '! = .valueTemplate w [8] & &'string'==typeof e & & (= .valueTemplate w [8])

    ' '), n.push (w))), s = r [u] .length-1, 0 < = s & & (w = r [u] [s], [2] e = w + w [3], e < F & & ('place'= w [1]?)) (s = w [6]) .length-1, s = {x: w [6] [s] [0], y: w [6] [s] [1]}, e = x (w [5], s, s, e, p-e), e [0] ='injected'): (e = f.cloneJSONObject (r [u] [s]), e [6] = w [7], e [2] = p, e [3] = 0, e [0] ='injected', e [8] = e [8] |) {}, e [8] .reverseOnly =! 0), n.push (e))); F < p & & (w = ['injected','-an_resting ', F, p - F,'linear',' ${stage} ','0','100'], n.push (w)); b.tlCached = t.createTL (n, b, {loop:v.loop});}) n.dirty & &(b.tlCached.currentPosition =d,b.tlCached.notifier.obs=k|| b.tlCached.notifier.obs);

    b.tlCached.sort ()}}function b (a, b) {If('chain'=typeof b) {var c = a.data? a.data [b.SID]: 0;}} return {(c=c?c.timeline:0) & & c.labels? c.labels [b]: 0}return b}function d (a) {var b = a, c;'chain' (=typeof a & & - 1!==a.search(/\$\{/) & & (b=a.search(/\$\{/),c=a.search(/\}/),b=a.slice(b+2,c),'string'=typeof b & & (b = f.trimString (b), b = b.replace (/ [""] / g, "")));} Return b} function c (a, b) {for ("var c = a, k; b & &"string "= typeof c & & - 1!")} == c.search (/ \ $------{/}) ;) k = d (c), c = 0 Sub = b [k]? void 0:c.replace (/------$------{[^-]}] {*------} / b [k]); return c} var n = window.jQuery?

    window.jQuery:f. $v = f.Symbol, t = f.Timeline, a = t.isTween, k = 0; v._makeUniqueID = r; f.symbol = v; v.get= v.getSymbol = u; v.setSymbol = e; f.addObserver ({newComp:function(a, b) {b.comp.addObserver ({newSymbol:function(a, b) {b.symbol.addObserver ({newEle:function(a, b) {var c = n (b.ele), g = b.defn, d = a.composition; g.userClass & & c.addClass (g.userClass); f. $.data (c [0],'definition', g); g.symbolName & & (new v (d.sym g.symbolName = g}})}})}}) (, d, a), g.init (c [0]), a.ci = a.ci | [], a.ci.push (g), g.prnt = (a)}})}})}}); f.CL oneJSONObject = p; s = v.bldTL; v.p2n = b; f.trimString =

    function (a) {return a.replace (/ ^ \s + | \s + $/ g,"")}; d = v.parseVariableName; v.substituteVariables = c; n.extend (v.prototype, {init:function(a, b) {var c =this[this.name] .data, d = n (a), k = d [0] user.user, t; }}) This. gpuAccelerate = c.gpuAccelerate; "undefined"=typeof this.gpuAccelerate & & (this.gpuAccelerate =! 0); this.gpuAccelerate =this.gpuAccelerate & & f.supported.cssTransform3d; this.variablesthis.variables = | {}; this._variablesthis._variables = | {} ; a = a | n("." + b) [0] ; this.autoPlay = c.timeline? c.timeline.autoPlay:! 1; e (a,ce) ; if (this= .ele

    (a) k & &' '! == k || (k = r ('stage'), d [0] user.user = k), t ="#"+ k,this._variables [k] isthis. _variables.stage = t,this. _variables.symbolStage = t,this. _variables.symbolSelector = t, d.css ("position","absolute"), d.css (' z-index ','0'); if (c) {f.renderDOM (this.composition,this, c.content.dom, c.content.style, a, b);} var c = c.content.style, h, v.; for (h in c) if ("${symbolSelector}"! = h & & c.hasOwnProperty (h) & & (d=h,k=/^\$\{/,k.test(d)?) () d = d.Replace (k,""), d = d.replace ({/------} /,""), dthis.find = $(d)):d=f.$(d),d))for(v in f._.p) f._.p.hasOwnProperty (v) & & f._.p [v] even (d,

    c [h],this.composition)} h = {symbol:this, element:this.ele, performDefaultAction:! 0}; n.extend (h,Sub 0); { this.notifyObservers ("creationComplete", h)}, lookupSelector:function(a) {If('chain'=typeof a)try{return c ("$ {}"+ one +"")} "(,this._variables)}catch(b) {}}, getSymbolTypeName:function() {return this.name}, getComposition:function() {return this.composition}, are looking for$:function(a) {a = a.split (" "); } var b =this._variables [[0]]; if (2 > a.length |! b) return b? f$ (b):null; b = f.$ (b); if (! b |! b.Length) return null; a.splice (0,1); a = a.join (' ");

    return {(b = u (b))? b.find$ (a):void 0}, $:function() {var b = a; } If('chain'=typeof a)try{(-1===a.search(/\$\{/)?} {((b =this.lookupSelector (a)),'undefined'=typeof b & &(b=a)): b = c (a,this._variables)}catch(k) {}void 0 = b & & (b = d (a)); { return f.$ (b)}, register:function(a, b, c) {var d = b.id; c = r(d,c); } {This._variables [d] ="#"+ c; b.oldId = b.id; a.id = c}, seek:function(a, b) {s (this); {This(a, b).tlCached.seek}, play:function(a, c, and d) {s (this); This.tlCached & & (a b (this, a) =this. tlCached.play ({pos: one, variables:this._variables, executeTriggers:c,}))

    {(playDirection:d}))}, stop:function(a, c) {s (this); {This.tlCached & & (a = b (this, a),this. tlCached.stop ({pos: a, variable:this._variables, executeTriggers:c, bseek:Sub 0! = a}))}, playReverse:function(a, b) {this(a, b,"reverse") .play}, isPlaying:function() {var a =this. _getTimeline(); return a & &! a.Playing}, isPlayDirectionReverse:function() {var a =this. _getTimeline(); return & &'backside'= a.currentDirection? 0:! 1}, getTimelinePosition:function() {return this. getPosition()} , getPosition:function() {s (this); return this.tlCached?

    { this. tlCached.getCurrentPosition (): 0}, getDuration:function() {s (this); {If(this.tlCached)return this. tlCached.getDuration ()}, getLabelPosition:function(a) {return b (this, a)}, _getTimeline:function() {s (this); return this.tlCached}, _rebuild:function() {s (this,! 0)}, getTimelineData:function() {return (this) h}, getTLD:function() {return this. getTimelineData()}, _applyBaseStyles:function(a, b) {var c =this[b] .data; If(c.content & & c.content.style & & c.content.style [' ${symbolSelector} ']) {var c = c.content.style [' ${symbolSelector} '],}

    d; if (a & & a [0]) for (d in f._.p) if (f._.p.hasOwnProperty (d)) {If('width'== d |)} ( 'height'== d) {var k = a [0] .style [d]; } If(null! = k & &""!) = k & &"auto"! ({({{{(= k)continue} f._.p [d] even (a, c,this.composition)}}}, getAutoPlay:function() {return this.autoPlay}, setAutoPlay:function() {this.autoPlay = one}})})(window.) AdobeEdge);

    (function(f) {function r (h, l, q, p, s, b) {f.Animation.call (this); }}) This.name ="prop tween"; thisthis.elements = q = .sourceElements; this.deferElementResolution =! 0; this.tweenType = e [h]; this.updateTriggered =! 1; this.property = l; this.fromValue = p; thiss = .toValue; this.duration = 1E3; thisthis.tokens =this=null.valueTemplate = .fromValues; b & & u.extend(, b); this.deferElementResolutionthis.deferElementResolution = | ( 'chain'=typeof q & & - 1!==q.search(/\$\{[^\{\}]+\}/); this.deferElementResolution | (this.elements =this.resolveElementSelector (q));

    this.toValues = q = []; p =this.parseValue (s); var d; u.isArray (s) | (s = [s]) ; p & & 0! == p.length | (p = s); h = p.length; for (s = 0; s < h; s += 1) b = p [s], [l] f.props & & (b = f.props [t] .units (b)), d = {},'string'=typeof b? (d.value = parseFloat (b.replace (/ % [a-zA-Z] + $/,""")), d.unit = b.replace (/ ^-?)) [ 0-9] * (\. [ 0-9] +) ? ((/,' '), isNaN (d.value) & & (d.value = b, d.unit ="""")): ('number'=typeof b & & (b = parseFloat (b)), d.value = b, d.unit =""), q.push (d); if (null! =this.fromValue) for (l =this.fromValues = [], (s =this.parseValue (this.fromValue)) & & 0 < s.length?) this.fromValue =

    (this.fromValue) s:u.IsArray | (this.fromValue [this.fromValue] =), h =this. fromValue.length, s = 0; s < h; s += 1) b =this.fromValue [s],'string'=typeof b? ([e] l = parseFloat (b.replace (/ % [a-zA-Z] + $/,""")), isNaN (l [s]) & & (l [s] = b)): ('number'=typeof b & & (b = parseFloat (b)), l [s] = b); if (thisfilter) for ((thefilter) u.isArray |) (thisfilter = [thisfilter]), l =this. filter, h = l.length, s = 0; s < h; s += 1)'chain'=typeof l [s] & & (l [s] = Math [l [f]]),'function'! ==typeof l [s] & & (l [e] =null); { this.valueTemplate & & (this.tokens =this.parseTemplate (this.valueTemplate))}

    var u = $ f, e = {style: 0, attribute: 1 property: 2}, p ="webkitAppearance"in document.documentElement.style; f.trimString =function(e) {return e.replace (/ ^ \s + | \s + $/ g,"")}; r.Token =function(e, f) {this.value = e; This. isPlaceholder = f}; r.parseVariableName =function(e) {var l = e, q;'chain' (=typeof e & & - 1!==e.search(/\$\{/) & & (l=e.search(/\$\{/),q=e.search(/\}/),l=e.slice(l+2,q),'string'=typeof l & & (l = f.trimString (l), l = l.replace (/ ["'"] "/ g," "")));} return l}; r.substituteVariables = function (e, f) {for (var q = e, p; f & & "string" = typeof q & &)}

    -1! == q.search (/ \ $\ {/}) ;) p = r.parseVariableName (q), q =Sub 0 = f [p]? ([Sub 0:q.replace(/\$\{[^\}]*\}/,f[p]); Return q}; u.extend (r.prototype, f.Animation.prototype); u.extend (r.prototype, {constructor: r, Setup:function(e) {this.updateTriggered =! 1; }}) This.timeline = e; { this.animData =Sub 0}, update:function(e, f) {var q =this(.getElementSet), p =this, s isthis.tweenType, b =this.property, d; This.updateTriggered | (this= .updateTriggered 0,this. setupForAnimation()); q.each (function(c, n) {var v = p.getPropertyTweenData (n, s, b), t, a, k, g, m,})

    q, r; if (v.animationID = p.animationID) {t = v.fromValues, a = v.toValues, v = v.tokens; k = p.filter, g = t.leng e; m = []; for (d = 0; d < g; d += 1) q = t [d], r = a [d], q ='string'=typeof q? 0 = f & & 0 < p.duration? q:r.value:q + (r.value - q) * f, k & & k [d] & & (q = k [d] (q, p,this, b, r.unit, e)),'number'=typeof q & & 1 > q & & (q = q.toFixed (6)), m.push(q+r.unit), t = p.formatValue (m); if (0 < t.length) v = t; else if (v) {t = v.length; a = []; for (d = 0; d < t; 1) k = v [d], k.isPlaceholder? a.push += d (m [k.value]): a .push (k.value); {v = a.join (' ')}else v = m.join ("'); (this, s, b, v) p.setValue.call; p.notifyObservers ('onUpdate',

    {(({écoulé: element, propriété: b, e, valeur: v, easingConst:f:cette})}})}, setValue:function(e, f, q) {switch(e) {case 0:e = u (this); e.css (f, q); p & &' background-size '= f? e.css (' - webkit - background-size ", q):'view'= f & &"AUDIO"==this.nodeName & & e.attr ('orders','none'= q? )}} NULL:'orders'); Break; case 1:this.setAttribute (f, q); Break; {{ case 2:this[f] = q}}, getDuration:function() {return this.duration}, resolveElementSelector:function() {var e = r.substituteVariables (this.elements,this. timeline.variables); e |} (e =this.elements);/^\$\{/.test(e) & &

    (e ="bad_selector"); return u (e)}, getElementSet:function() {var e =this.animationID f; This. timeline.animData =this. timeline.animData | {} ; (f =this. timeline.animData [e]). (f =this. timeline.animData [e] =this.deferElementResolution?) ( this. resolveElementSelector():this.elements); f return }, getValue:function(e, f) {var q; switch(f) {box 0:q = u (this) .css (e); break; case 1:q isthis.getAttribute (e);. Break; {{ case 2: q = (this[e]) String}return q}, setupForAnimation:function() {var e =this, fthis.tweenType, q =this= .property; } This() .each (function(p) .getElementSet,

    (s) {var b = e.getPropertyTweenData (s, f, q), d, c, n, v; b.animationID = e.animationID; b.toValues = e.toValues; b.tokens = e.tokens; } If(e.fromValues) b.fromValues = e.fromValues; else if (d = e.getValue.call (this, q, f),Sub 0 = d & & (d ="0"), (c = e.parseValue (d)) & & 0 < c.length) for (b = b.fromValues = [], d = c.length, n = 0; n < d; n += 1) v = c [n], b [n] ='string'=typeof v? parseFloat (v.replace (/ % [a-zA-Z] + $/,""")): v, isNaN (b [n]) & &(b[n]=v); ( else b.fromValues=[parseFloat (d (/ [a-zA-Z] % + $/,))]})}, parseTemplate:function(e) {var f = e.length, q = [], p = 0, s =

    /@@[0-9]+@@/g,b=null; for (p < f & & (b = s.exec (e)); b ;) b.index! == p & & q.push (new r.Token (e.substring (p, b.index),! 1)), q.push (new r.Token (parseInt (replace b [0] (/ @ / g,""), 10),! 0)), p = s.lastIndex, b =null, p < f & & (b = s.exec (e);)) p < f & & q.push (new r.Token (e.substring (p, f),! 1)); return q}, parseValue:function(e) {return[]}, formatValue:function(e) {return""}, getPropertyTweenData:function(e, l, q) {var p = $ f..} data (e,"tweenData"); p | (p = {}, f. . data (e,"tweendata", p)); (e = p [l]) | $ (e = p [l] = {}); (l = e [q]) | (l = e [q] = {animationID:-1});}) return l}});

    f.PropertyTween = r; f.Timeline.addTweenType ('style',function(e, f, p, u, s) {return new r ('style', e, f, p, u, s)}); AdobeEdge.Timeline.addTweenType ("attribute",function(e, f, p, u, s) {return new r ("attribute", e, f, p, u, s)}); ({AdobeEdge.Timeline.addTweenType ('property',function(e, f, p, u, s) {return new r ('well', e, f, p, u, s)}); f.Timeline.addTweenProperty ('volume','property')})(window.) AdobeEdge);

    (function(f) {var r = $ f, u =function(e) {this.handlers = {}; }}) This. timeline = e}; u.Register =function(e, f, h) {var l = e.updateFinalizer;'undefined'=typeof l & & (e.updateFinalizer = l, l =new (e), e.addObserver (l)); l.handlers [f] = h}; u.unRegister =function(e, f) {var h = e.updateFinalizer;"undefined"! ==typeof h & &Remove h.handlers [f]}; r.extend (u.prototype, {_finalizeUpdate:function(e, f) {var h = {elapsed: e, context: f}, l; for(l in this.handlers)If(this.handlers.hasOwnProperty (l)) {var q =this.handlers [l]; }}) {If(the.handlers q.onFinalUpdate) q.onFinalUpdate (h)} =.

    {}, postUpdate:function(e, f) {this._finalizeUpdate (f.elapsed, f.context)}, complete:function(e) {this.timeline & &this. timeline.removeObserver (this); } This. (timeline.updateFinalizer=_0}}); f.UpdateFinalizer =Sub u})(window.) AdobeEdge);

    (function(f) {function r (b, d, e) {var f = l.event.the [d]; e & & f.teardown & & f.teardown.call (b, d, e); var f = b.AnListeners = b.AnListeners |}}) {}, a, k ; a = f [d] = f [d] | []; if (null! = e) for (b.removeEventListener? b.removeEventListener(d,e):b.detachEvent & & b.detachEvent (d, e), k = f.le ngth-1; 0 < = k; k-) a [k] = e & & f.splice (k, 1); { another d & & (f [d] .forEach (function(a) {b.removeEventListener? b.removeEventListener(d,a): b.detachEvent & & b.detachEvent(d,a)}), f [d] = [])}function u (b, d, e, f) {hasfunction {If(2 < = a.length & &'object'=typeof a [0] & &'object'=)}}

    typeof a [1] & &'onError'! == a [1] .Guy) {var g; g = l.Event ("onError"); b & & (g.compId = b.getComposition () .compId);g.originalEvent=a[1];document.dispatchEvent(g)} w indow.console.log ("Javascript error in the event handler.} Type of event = "(+ d)}var k = b [f [0]], g;" return 'function'=typeof k? ('element'= d? g =function() {var d; d = Array.prototype.slice.call (arguments); d.unshift (b); }) If(2 < = d.length & &'object'=typeof d [0] & &'object'=typeof d [1] & &'compositionReady'= d [1] game & &'chain'=typeof d [1] .compId & &'object'=typeof d [0] .composition & &)

    d [1] .compId! == d [0].composition.ID)return null; try {return k.apply (b, d)} catch (g) {d}}:'timeline'= d? g =function(g, e) {var f, t; t = e & & e.methodName & & /^trig_/.test (e.methodName)? l.Event ("trigger"): l.Event (d); e & & l.extend (t, e As EventArgs) f = Array.prototype.slice.call (arguments); t.timeline = g; ; e f.splic (0,0,t); f.unshift (b) try{return k.apply (b, f)}catch(v) {a (f)}}:'symbol'= d & & (g =function(b, c) {var g e, f; e = c & & c; c.methodName? l.Event (c.methodName): l.Event (d) & & (l.extend (e, c), e c.variableValu & &(f=c.variableValue)); g = Array.prototype.slice.call (arguments);

    g.splice (0,0,e,f); g.unshift (b); try {return k.apply (b, g)} catch {{(t) a (g)}}), g):null}function e (b, d) {var e = d [0], f = s [e [0]], a; f & & (a = u (b, e [0], e [1], d.slice (1))) & & f.apply (b, [a] .concat (e.slice (1)))}function p (b, d) {d = d | b.Data [b.Name] .actions |} { ;} l.extend (b, d)}function h(b,n,v,t,a,k) {var g = f.getComposition (b) .sym [n], m = x ("binding"); v = [[k, v, t], m]; var h;} if (g & & (g.actions = g.actions |)) {}, g.actions [m] = a, g.bindings = g.bindings | [], g.bindings.push (v) = f.getComposition (b)) b & & (b.addObserver (d), b = b.getSymbols ()))of(g = b.length,

    k = 0; (k < g;k++) t = b [k], h = t.name, n = h & & (h = {}, h [m] = a, p(t,h), e(t,v))}var l = $ f, q is f.Symbol, x = f.Symbol._makeUniqueID, s = f.triggerDict = {timeline:function(b, d, e) {If(b) {[e] d = b, d = {}; var f =this._getTimeline (); f.addObserver (d)}}, element:function(b, d, e) {If(b)If('document'= d) l (document) .bind (e}} ,b) ; else si ('window'= d) l (window) .bind (e, b); else (({var f=/^\$\{/;f.test(d) & & (d = d.replace (f,' "" '), d=d.replace(/\)},"')); {{{(dthis.find = $(d)) & & d.bind (e, b)}}, symbol:function(b, d, e) {b & & (d = {}, d [e] = b,this.addObserver (d))}}, b, d; l.Event =

    function (b) {If(f.supported.customEvent)return new CustomEvent(b,{bubbles:!0,cancelable:!0});) var d = document.createEvent ('Event'); d.initEvent(b,!0,!0); return d}; leventthe Group {}; levent.the group {};. l.extend (f.An$ .prototype, {bind:function(b, d) {this.each (function(e, f) {var a = l.event.the [b]; a & & a.setup & & a.setup.call (f, b, d); f.addEventListener? f.addEventListener(b,d):f.a ttachEvent & & f.attachEvent (b, d); a = f.AnListeners = f.AnListeners |})}}) {} ; a [b] = a [b] | [] ; ({a [b] .push (d)}); return this}, unbind:function(b, d) {this.each (function(e,

    (f) {r (f, b, d)}); return this}, trigger:function(b) {var d = document; } This[0] & & (d =this[0]); d.dispatchEvent (b); return this}}) ; b = {creationComplete:function(b, d) {p (b); var f; f = b.data [b.name] .bindings |}} []; var t = f.length, a, k; for (a = 0; a < t;a++)k=f[a],e(b,k)}};) d = {newSymbol:function(c, d) {d.symbol.addObserver (b)}}; q.bindElementAction =function(b, d, e, f, a) {h (b, d, e, f, a,'element')}; q.bindTimelineAction =function(b, d, e, f, a) {h (b, d, e, f,"timeline")}; q.bindTriggerAction =function(b, d, e, t, a) {var k = f.getComposition (b) .sym [d], g;

    {k & & (k = k.timeline? k.timeline.data:null) & & (g = x ('trig'), t = ['trigger', t, g, g], k.push (t), k.dirty is! 0, h (b, d, e, g, a,"chronology"), k.dirty =! 1)}; q.bindSymbolAction =function(b, d, e, f) {h (b, d,"", e, f,"symbol")}; q.bindVariableAction =function(b, d, e, f) {h (b, d,"","variableChanged:"+ e, f,"symbol")}; l.extend (q.prototype, {executeSymbolAction:function(b, d) {If(!)}}) () 'object'! ==typeof d | 3 > d.length)) {var e = d [0], f =this. $d [1], a = d [2];! f: 1 > f.length |} (f = q.getSymbol (f [0])) & & e & & (a & &"object"=typeof a |) {{(un =null), f [e] .apply (f a)),}}, eSA:function(b,

    (d) {this.executeSymbolAction (b, d)}})}) (window. AdobeEdge);

    (function(f, r, u) {document.createEvent & & (f.addTouchSupport =function() {var e = f. $, p = f.An$; e.fn = e.fn |})}) {} ; e.each ("touchstart touchmove touchstart blow swipeleft swiperight".split (""),function(b, d) {p.prototype [d] = e.fn [d] =function(b) {return b? }}) {This.bind (d, b):this.trigger (d)}; e.attrFn & &(e.attrFn[d]=!0)}); var h ="ontouchend"in the document, l =! h & & r.navigator.msPointerEnabled, q = h? "touchstart":"mousedown", x = h? "touchstart":"mouseup", s = h? "touchmove":"mousemove"; e.event. Special.swipe = {scrollSupressionThreshold:30, durationThreshold:1E3,

    horizontalDistanceThreshold:30, verticalDistanceThreshold:75, swipeEvent:e.Event ("swipe"), swipeLeftEvent:e.Event ("swipeleft"), swipeRightEvent:e.Event ("swiperight"), setup:function() {If(! )} This.setupDone) {var b = e (this); l & & b.css (' - ms - touch-action ',' pan-y pinch-zoom double-tap-zoom '); b.bind (q,function(d) {function c (d) {b.unbind (x, c); b.unbind (f, s); t & & a & & a.time - t.time < e.event. special.swipe.durationThreshold & & Math.abs(t.coords[0]-a.coords[0]) > e.event. special.swipe.horizontalDistanceThreshold & & Math.abs (t.coords [1]-)}})}

    a.coords [1]) < e.event. {special.swipe.verticalDistanceThreshold & & b.trigger(e.__event__.special.swipe.swipeEvent).trigger (t.coords [0] > a.coords [0]? e.event. special.swipe.swipeLeftEvent:e.event. special.swipe.swipeRightEvent); t = a = u}function FB {If(t) {var c = b.touches? b.touches [0]:b.originalEvent.touches? b.originalEvent.touches [0]: b; a = {time: (new Date) .getTime (), coords: [c.pageX, c.pageY]};}} Math.ABS(t.coords[0]-a.coords[0]) > e.event. {{special.swipe.scrollSupressionThreshold & & b.preventDefault ()}} h = d.touches? d.touches [0var ]:

    d.originalEvent.touches? d.originalEvent.touches [0]: d, t = {time: (new Date) .getTime (), coords:[h.pageX,h.pageY],origin:e(d.target)},a;b.bind(s,f).bind(x,c)});} this.setupDone =! 0}}} ; (e.each_({swipeleft_:__"swipe"__,_swiperight_:__"swipe"__},__fonction__(b,_d) {e.event.the [b] = {Setup:function() {.bind (d, e.noop) e (this)}, remove:function(b, f, h) {e (b) .unbind (d)}}})})})(AdobeEdge,window);

    (function(f) {function r(b,c,a,k,g,e) {null! == s [c] & & (this.superProperty s = .cssProp, b = s [c] [c] game,"color"= b? f.ColorTween & & (p.extend (this, f.ColorTween.prototype), p.extend (this, d), f.ColorTween.call (this, b, c, a, k, g, e)): (p.extend (this, h.prototype), p.extend (this, d), f.PropertyTween.call (this, b, c, a, k, g, e))); }}) {This.name ="subpropertyTween"}function u() {var b = $ f..} data (thiselement,thisprop); {b & & r.applySubproperty (the. element, b, b.tween)}function e (b, c) {var a = b [0], k =this.name, g = $ f..} data (a, .cssProp s [k]); g | (g = d.buildProp.call ({superProperty: s [k] .cssProp},))

    ( a), f$.data(a,s[k].cssProp,g)); g [k] = c;g.onFinalUpdate.call({element:a,prop:s[k].cssProp})}var p = $ f, h is f.PropertyTween, l = f.UpdateFinalizer, q, x {'box-shadow': {def:'box-shadow',' ' - webkit - box-shadow ':'boxShadow.color boxShadow.offsetH boxShadow.offsetV boxShadow.blur boxShadow.spread boxShadow.inset'.split (""),'- moz - box - shadow':'boxShadow.color boxShadow.offsetH boxShadow.offsetV boxShadow.blur boxShadow.spread boxShadow.inset'.split (""),'box-shadow':'boxShadow.color boxShadow.offsetH boxShadow.offsetV boxShadow.blur boxShadow.spread boxShadow.inset'.split ("")}, }

    'text-shadow': {def:'text-shadow','text-shadow': ['textShadow.color','textShadow.offsetH',' textShadow.offsetV',' textShadow.blur']}, filter: {def:'- webkit - filter','- webkit - filter':' filter.invert rotation filter.hue filter.contrast filter.saturate filter.brightness filter.sepia filter.grayscale filter.blur filter.drop - shadow.color filter.drop - shadow.offsetH filter.drop - shadow.offsetV filter.drop - shadow.blur '.split (""),'- moz - filter':' filter.invert rotation filter.hue filter.contrast filter.saturate filter.brightness filter.sepia filter.grayscale filter.blur filter.drop - shadow.color filter.drop - shadow.offsetH filter.drop - shadow.offsetV filter.drop - shadow.blur '.split (""),}

    {{ filter:"filter.invert rotation filter.hue filter.contrast filter.saturate filter.brightness filter.sepia filter.grayscale filter.blur filter.drop - shadow.color filter.drop - shadow.offsetH filter.drop - shadow.offsetV filter.drop - shadow.blur".split ("")},'background-size': {def:'background-size','background-size': ['background - size.x','background - size.y']},'background-position': {def:'background-position','background-position': ['background - position.x','background - position.y']}}, s = {'boxShadow.offsetH': {cssProp:'box-shadow' }}

    type:"style",def:"0px",u:"px",i:1},"boxShadow.offsetV":{cssProp:"box-shadow",type:"style",def:"0px",u:"px",i:2},"boxShadow.blur":{cssProp:"box-shadow",type:"style",def:"0px",u:"px",i:3},"boxShadow.spread":{cssProp:"box-shadow",type:"style",def:"0px",u:"px",i:4},"boxShadow.color":{cssProp:"box-shadow",type:"color",def:"rgba(0,0,0,0)",i:5},"boxShadow.inset":{cssProp:"box-shadow",def:"",i:0},"textShadow.offsetH":{cssProp:"text-shadow",type:"style" def {:"0px"u:"px", i: 1},'textShadow.offsetV': {cssProp:'text-shadow' }

    type:"style",def:"0px",u:"px",i:2},"textShadow.blur":{cssProp:"text-shadow",type:"style",def:"0px",u:"px",i:3},"textShadow.color":{cssProp:"text-shadow",type:"color",def:"rgba(0,0,0,0)",i:0},"filter.drop-shadow.color":{cssProp:"filter",type:"color",def:"rgba(0,0,0,0)",strReplace:"drop-shadow(%1",combinedNum:4,i:8},"filter.drop-shadow.offsetH":{cssProp:"filter",type:"style",def:"0px",u:"px",i:9},"filter.drop-shadow.offsetV":{cssProp:"filter",type:"style",def:"0px" de sup {: 'px', i: 10},' filter.drop - shadow.blur ': {cssProp:'filter', }

    type:"style",def:"0px",strReplace:"%1)",u:"px",i:11},"filter.grayscale":{cssProp:"filter",type:"style",def:"0",strReplace:"grayscale(%1)",i:6},"filter.sepia":{cssProp:"filter",type:"style",def:"0",strReplace:"sepia(%1)",i:5},"filter.saturate":{cssProp:"filter",type:"style",def:"1",strReplace:"saturate(%1)",i:3},"filter.hue-rotate":{cssProp:"filter",type:"style",def:"0deg",strReplace:"hue-rotate(%1)",u:"deg",i:1},"filter.invert" : {cssProp:"filter", type:'style', def:'0', strReplace:'invert (%1)', i: 0},'filter.brightness': {cssProp:'filter', }

    type:"style",def:"0",strReplace:"brightness(%1)",i:4},"filter.contrast":{cssProp:"filter",type:"style",def:"1",strReplace:"contrast(%1)",i:2},"filter.blur":{cssProp:"filter",type:"style",def:"0px",strReplace:"blur(%1)",u:"px",i:7},"background-position.x":{cssProp:"background-position",type:"style",def:"0px",u:"px",i:2,domProp:"fill"},"background-position.y":{cssProp:"background-position",type:"style",def:"0px",u:"px",i:3,domProp:"fill"} ,'background - size.x': {cssProp:'background-size', type:'style', }

    {{def: sup: i: 4,'%',' 100% ', domProp:'fill'},"background - size.y": {cssProp:' background-size ', type:'style', def: sup:'%',' 100% ', domProp, i: 5:'fill'}}, b = 1, d = {setValue:function(b, c, a) {f. $.data (this, s [c] .cssProp) [c] = a}, getValue:function(b, c) {$ f..}} {data (this, s [b] .cssProp)}, setupForAnimation:function() {var b =this; } This.getElementSet () .each (function() {var c = f. $.data (this, b.superProperty); c |}) (c=b.buildProp_(__ce_), f. $.data (this, b.superProperty, c))}) ; (this) h.prototype.setupForAnimation.call}, buildProp:function(c) {var d = {},

    k =this.superProperty, g = f.getSubProps (c, k); for (d to g) g.hasOwnProperty (d) & & (a [d] = g [d]); a.id =this.superProperty + b; b += 1; a.element = c; a.prop k = a.onFinalUpdate = u; return a}, update:function(b, c) {h.prototype.update.call (this, b, c); var a =this() .getElementSet, d =this, g =this.property, e =this. tweenType; a.each (function() {If((this, e, g) d.getPropertyTweenData .animationID = d.animationID) {var a = $ f..}})} data(, d.superProperty); a.timeline = d.timeline; a.tween = d; (l.Register (d.timeline,a.id,a)}})}}; r.Pro totype.constructor = r;

    f.getSubProps =function(b, c) {var a = p (b), d, g; for(g in x [c])If(x [c] .hasOwnProperty (g) & & (d = a.css (g)) & &""!)} == d & &"none"! == d) {If(c ==) {g = x [c] [g]; d = d.replace'filter'(/, \s*/g,","); var a = [], e =Sub 0; a = (e=d.match(/invert\((.*?)}} [["filter.invert"] \)/))?e[1]:null; a = (e=d.match(/hue-rotate\((.*?) [[' filter.hue - rotation '] \)/))?e[1]:null; a = (e=d.match(/contrast\((.*?) [["filter.contrast"] \)/))?e[1]:null; a = (e=d.match(/saturate\((.*?) [["filter.saturate"] \)/))?e[1]:null; a = (e=d.match(/brightness\((.*?) (((['filter.brightness']-) /))?

    e [1]:null; a = (e=d.match(/sepia\((.*?) [["filter.sepia"] \)/))?e[1]:null; a = (e=d.match(/grayscale\((.*?) [["filter.grayscale"] \)/))?e[1]:null; a = (e=d.match(/blur\((.*?) [["filter.blur"] \)/))?e[1]:null; (d=(e=d.match(/drop-shadow\((.*?\)\s*.*?) \)/))?e[1]. Split (""): [null,null,null,null;] an [' filter.drop - shadow.color '] = d [0]; an [' filter.drop - shadow.offsetH '] = d [1]; an [' filter.drop - shadow.offsetV '] = d [2]; an [' filter.drop - shadow.blur '] = d [3]; d = [] ; e =Sub 0; for (e = 0; e < g.length; e += 1) r [l [e]] = a [[e] g] | s .def [[e] g]; return d} a = d; g = x [c] [g];

    a = a.Replace (/, \s*/g,","); a = a.split ("'); d = [] ; e =Sub 0; for (e = 0; e < g.length; e += 1) r [l [e]] = a [e] | s .def [[e] g]; { return d}return[]}; r.getSubType =function(b) {return s [b]? s [b] game: 0}; r.getStyle =void function(b) {return s [b]? s [b] .cssProp: 0}; r.applySubproperty =void function(b, c, a) {var d, g, e, f = p (b); for(g in x [c.prop])If('def'! == g & & x [c.prop] .hasOwnProperty (g)) {d =""; var n =! 0;}} for (b = 0; b < x [c.prop] [g] .length; b += 1) {e = c [x [c.prop] [g] [b]]; Sub 0 = e & &(e=s[x[c.prop][g][b]].def);} if ("combinedNum"in s [x [c.prop] [g] [b]]) for (var n =

    ! 0, h = b; h < b + s [x [c.prop] [g] [b]] .combinedNum; ++ h) 0! == c [x [c.prop] [g] [hSub ]] & & c [x [c.prop] [g] [h]]! s = [x [c.prop] [g] [h]] .def & & (n=!1);x[c.prop][g][b].match(/^filter./) & & e == s [x [c.prop] [g] [b]] .def & & n | {("strReplace"in s [x [c.prop] [g] [b]] & & (e = s [x [c.prop] [g] [b]].strReplace.replace ("%1", e)), d += e, b! == x [c.prop] [g] .length-1 & & (+= d"""))} (window.edge_authoring_mode & & g = x [c.prop] .def |!) {Window.edge_authoring_mode) & & f.css (g, d)} a & & a.notifier.obs.length & & a.notifyObservers ("onUpdate", {elapsed: 0, easingConst:0, property: g, value: d})

    (Element:f[0]})}; f.SubpropertyTween = r; f.Timeline.addTweenType ('subproperty',function(b, c, a, d, g) {return new r ('subproperty', b, c, a, d, g)}); var c, n; for (q s) c = {}, s.hasOwnProperty (q) & & (f.Timeline.addTweenProperty (q,"Subproperty""), n = s [q] c [q] = {f: n.domProp |}) (f.camelize_(n.cssProp), i: NI, j: n.j, def:n.def}, u s [q] & & (u c [q] s = [q] .u), f.defineProps (c), f._.p [q] .apply = e)}) (window. AdobeEdge);

    (function(f) {function r(b,a,c,d,e,n) {f.PropertyTween.call (this, b, a, c, d, e, n); }}) {This.name ="transformTween"}function u (b) {var a = 0;'chain'=typeof b? a = parseFloat (b.replace (/ % [a-zA-Z] + $/,""")):'number'=typeof b & &(a=b);} return a}function e(b,a,c) {If(Sub 0 = a)return c; If(Sub 0 = c)return a; var d = u (a), (c) e = u, n; if ( ! d). return c; if ( ! e). Return a; a = f.splitUnits (a) .units; c = f.splitUnits (c) .units; n = a; a! == c & & ('%'= a & & (n = c, d = d/100 * b),'%'= c & & (e = e / 100 * b)); return d + e + n}function p() {}var h = $ f, l = f.PropertyTween, q =

    f.UpdateFinalizer,x=Math.cos,s=Math.PI/180,b,d='translateX translateY, translateZ scaleX scaleY rotateX, rotateY, rotateZ Scewx skewY'.split (' "); b = f.supported = f.supported | {}; var c = 1, n = {translate3d:0, translation: 0, translateX: 0, translateY:0, translateZ:0, rotation: 1, rotateZ: 1, rotateX:1, rotateY:1, rotate3d:1, tilt: 2, skewX:2, transformations: 2, scale3d:3, scale: 3, scaleX:3, scaleY: 3, scaleZ:3, point of view: 4}, v ="webkitAppearance"in document.documentElement.style; b.cssTransform = f.isSupported (["transformProperty","WebkitTransform",

    'MozTransform','OTransform','msTransform']); b.cssTransform3d is f.isSupported (["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);. f.An$.prototype.hasClass = f.An$.prototype.hasClass | function (b) {If(this[0]) {var a = (this[0] .className |)}} ""). Split(/\s+/), c; for (c = 0; c < a.length; c += 1) if (b = a [c]) return! 0}return! 1}; r.removeData =function(b) {var a = f. $.data (b, r.dataName); a & & (a.timeline & & q.unRegister (a.timeline, a.id), $ f..)} (data (ame b,r.dataN,Sub 0))}; r.getNumber = u; r.splitUnits =

    f.splitUnits; r.applyTransform =function(b, a, c, and d) {void 0! == f.applyCount & & (f.applyCount += 1); b = h (b); var m: n =! 0, l, p; d & & (n =! d.dontForceZ); m = e (1, a.translateX, a.motionTranslateX); l = e (1, a.translateY, a.motionTranslateY); d = e (1, a.rotateZ, a.motionRotateZ); p = f.supported.cssTransform3d; v?} (m =«translate ("+ m +",) ' "+ l +') ', l = u (a.translateZ) (0. == l || (n) & & p & & (m +="translateZ ("+ a.translateZ +"" ")" "), m +=" turn ("'+ d +'") ", p & & (l = u (a.rotateY), 0!" == l & & (m +="rotateY ("+ a.rotateY +"" ")" "), l = u (a.rotateX), 0. == l & & (m +="rotateX ("+ a.rotateX +"" ")" ")).

    a.skewX & &'0deg'! == a.skewX & & (m +="Scewx ("+ a.skewX +"" ")" "), a.skewY & &'0deg'! == a.skewY & & (m +="skewY ("+ a.skewY +"" ")" "), m +=" scale ("+ a.scaleX +","+ a.scaleY +" ")", l = u (a.scaleZ), 1. == l & & p & & (m +="scaleZ ("+ a.scaleZ +"" ")" "),! (window.edge_authoring_mode & & p & & b.css («-webkit-transform-style»,«chasse gardée-3d»), b.css (' - webkit - transform ', m)): (p = u (a.rotateX), n = u (a.rotateY), n = a.scaleX * x(s*n), p = a.scaleY * x(s*p), m ="translate ("+ m +",) '+ l +" ")"+ (' turn ("+ d +") '), a.skewX & &'0deg'! == a.skewX & & (m +="Scewx ("+ a.skewX +"" ")" "), a.skewY & &'0deg'! == a.skewY & &

    (m +="skewY ("+ a.skewY +"" ")" "), m +=" scale ("+ n +","+ p +" ")", b.css (' - moz - transform ', m), b.css ("- o - transform", m), b.css ("- ms - turn", m), b.css ("msTransform", m)); " {c & & c.notifier.obs.length & & c.notifyObservers ("onUpdate", {elapsed: 0, easingConst:0, property:'transform', value: m, element:b [0]}); b.css ("transform", m)}; r.dataName ="EdgeTransformData"; h.extend (r.prototype, l.prototype); h.extend (r.prototype, {constructor: r, Setup:function(b) {this.timeline = b; }) This= .updateTriggered! 1}, setValue:function(b, a, c) {f. $.data (this, r.dataName) [a] =}

    c}, getValue:function(b, a) {f. $.data (this, r.dataName)}, setupForAnimation:function() {var b =this, a; } This.getElementSet () .each (function() {a = f. $.data (this, r.dataName); a |}) (a=b.buildTransformData_(__ce_), f. $.data (this, r.dataName, a))}) ; l.prototype.setupForAnimation.call (this)}, update:function(b, a) {l.prototype.update.call (this, b, a); var c =this.getElementSet (), d =this, e =this.property, n =this. tweenType; c.each (function() {var a; d.getPropertyTweenData (this, n, e) .animationID = d.animationID & & (a = f. $.data (this, r.dataName),)})}

    a.Timeline = d.Timeline, a.Tween = d, q.Register(d.Timeline,a.ID,a))})}, buildTransformData:function(b) {var a = f.parseCanonicalTransform (b); a |} (a = {translateX:'0px', translateY:'0px', translateZ:'0px', scaleX:1, scaleY: 1, scaleZ:1, rotateX:'0deg', rotateY:'0deg', rotateZ:'0deg', skewXZ:0, skewXY:0, skewYZ:0, Scewx:'0deg', transformations:'0deg'}, a.matrix & & a.matrixdelete ); null= a & & (a = {}); a.id ="transform_"+ c; c += 1; a.element = b; a.onFinalUpdate = q.prototype.applyTransform; return a}, buildDefaultTransformData:function(b) {var a = {translateX:'0px',}}

    {translateY:'0px', translateZ:'0px', scaleX:1, scaleY: 1, scaleZ:1, rotateX:'0deg', rotateY:'0deg', rotateZ:'0deg', skewXZ:0, skewXY:0, skewYZ:0, Scewx:'0deg', transformations:'0deg'}; a.ID ="transform_"+ c; c += 1; a.element = b; a.onFinalUpdate = q.prototype.applyTransform; return a}}); f.getTransform =function(b) {b = h (b); var a = b [0] .style, c; v & & ((c=b[0].style.webkitTransform) |)} (c = b.css) (("- webkit - transform")) ; if (c) return c;(c=b[0].style.msTransform) | (c = b.css ("- ms - turn")); c | (c = b.css ('msTransform')); c | (c = a.MozTransform); c. (c = a [' - moz - transform ']);

    c | (c = b.css (' - moz - transform ')); c | (c = a.oTransform); c. (c = b.css ("- o - transform")); c | (c = a.transform); c. (c = b.css ("transform")); c return | ""}; f.parseCanonicalTransform =function(b, a) {var c = ('chain'= a?a:f.getTransform(b)).match(/(\w+\s*\([^\)]*\)typeof ) (/ g), d = {}, e = {}, h, s, l;} if ( ! c). return null; e.translateX ='0px'; e.translateY ='0px'; e.translateZ ='0px'; 1 = e.scaleX; e.scaleY = 1; e.scaleZ = 1; e.rotateX ="0deg"; e.rotateY ="0deg"; e.rotateZ ="0deg"; e.skewXZ = 0; e.skewXY = 0; e.skewYZ = 0; e.skewX ="0deg"; e.skewY ="0deg"; for (h = 0; h <)

    c.Length; h += 1) {s = c [h] .match(/\w+/); If(d [s [0]] | 0 > n [s [0]])return null; l = c [h] everyone (/ \ ([^-])] *------) /); l = l [0] replace (/ [\ (\)] "/ g,' ''); l = l.split (","); switch (s [0]) {case 'matrix':return null;} case "translate3d": e.translateX = l [0]; e.translateY = 1 < l.length? l [1]:'0px'; e.translateZ = 2 < l.length? l [2]:'0px'; d.translate3d = d.translate = d.translateX = d.translateY = d.translateZ =! 0; Break; case 'translate': e.translateX = l [0]; e.translateY = 1 < l.length? l [1]:'0px'; d.translate3d = d.translate = d.translateX = d.translateY =! 0; Break; case "translateX": e.translateX =

    l [0]; d.translate3d = d.translate = d.translateX =! 0; Break; case "translateY": e.translateY = l [0]; d.translate3d = d.translate = d.translateY =! 0; Break; case "translateZ": e.translateZ = l [0]; d.translate3d = d.translateZ =! 0; Break; case "rotate3d": d.rotate3d = d.rotate = d.rotateX = d.rotateY = d.rotateZ =! 0return ,null; case "rotateX": e.rotateX = l [0]; d.rotate3d = d.rotateX =! 0; Break; case "rotateY": e.rotateY = l [0]; d.rotate3d = d.rotateY =! 0; Break; case "rotateZ":case "rotation": e.rotateZ = l [0]; d.rotate3d = d.rotate = d.rotateZ =! 0; Break; case "crosswise": e.skewX =

    l [0]; e.SkewY = 1 < l.length? l [1]:'0px'; d.skew = d.skewX = d.skewY =! 0; Break; case "Scewx": e.skewX = l [0]; d.skew = d.skewX =! 0; Break; case "skewY": e.skewY = l [0]; d.skew = d.skewY =! 0; Break; case 'scale3d': l [0] = e.scaleX; 1 = e.scaleY < l.length? l [1]: 1; e.scaleZ = 2 < l.length? l [2]: 1; d.scale3d = d.scale = DS = d.scaleY = d.scaleZ = caleX! 0; Break; case 'ladder': l [0] = e.scaleX; 1 = e.scaleY < l.length? l [1]: l [0]; d.scale = d.scaleX = d.scaleY =! 0; Break; case "scaleX": l [0] = e.scaleX; d.scale3d = d.scale = d.scaleX =! 0; Break; case "scaleY": e.scaleY = l [0]; d.scale3d = d.scale =

    d.scaleY =! 0; Break; case "scale": e.scaleZ = l [0]; d.scale3d = d.scaleZ =! 0; Break; case {{{ "perspective": d.perspective =! 0}} e}; r = f.TransformTween;return h.extend (q.prototype, {applyTransform:function(b) {var a = f. $.data (this. element, r.dataName); has & & b & & r.applyTransform (this. element, a, a.tween, b.context)}}); p.applySubprop =function(b, a) {var c = b [0], d =this.name, e = r.prototype.buildTransformData (c); e [d] = a; r.applyTransform (c, e,null, {})}; f.Timeline.addTweenType ('transform',function(b, a, c and e d) {return new r ("transform", b, a, c)})

    d, e)}); for (b = 0; b < d.length; b += 1) f.Timeline.addTweenProperty (d [b],"transform"); f.defineProps ({translateX: {f:"transform", i: 0, d: 0, u:"px"}, translateY: {f:"transform", i: 0, d: 1, u:"px"}, translateZ: {f:"transform", i: 0, d: 2, sup:"px"}, rotateZ: {f:"transform", i: 1, d: 0, u:"deg"}, rotateX: {f:"transform", i: 1, d: 1, u:"deg"}, rotateY: {f:"transform", i: 1, d: 2, u:'deg'}, Scewx: {f:'transform', i: 2, d: 0, u:"deg"}, transformations: {f:'transform' }) {, i: 2, d: 1, u:"deg"}, scaleX: {f:'transform', i: 3, j: 0}, scaleY: {f:'transform', i: 3, d: 1}, scaleZ: {f:'transform', i: 3}

    j:2}}); for (b_=_0_;_b_<_d.length;b_+=_1) f._.p [d [b]] .apply = p.applySubprop}) (window. AdobeEdge);

    (function(f){function r(){if(!x){var a=document.createElement("div"),a=h(a),e,g;a.css("background-color","transparent");g=a.css("background-color");a.css("background-color","rgb(100, 100, 100)");e=a.css("background-color");s=e!==g;a.css("background-color","transparent");a.css("background-color","hsl(100, 100%, 100%)");e=a.css("background-color");b=e!==g;a.css("background-color","transparent");a.css("background-color","rgba(100, 100, 100,.5)");e=a.css("background-color");d=e!==g;a.css("background-color" ,

    ( "transparent") ; a.CSS (' background-color ','hsla (100, 100%, 100%., 5) ») ; c; e = a.css ('background colour') = e! == g ; x = ! 0}}function u (a, b, c, d, e, n) {f.PropertyTween.call (this, a, b, c and d, e, n); } This.name ="colorTween"; r()}function e (a) {return 0 > a? a 1:1 < a? a-1: a}function p (a, b, c, d) {return d < v? a + c * d: 0.5 > d? b:d < t? a + c * (t & d): a}:var = $ f., l is ['color',' background-color ',' border-color '], q, x! 1, s =! 1, b =! 1 D =! 1 C, =! 1, n = 1/3, v = 1/6, t = 2/3; h.extend (u.prototype, f.PropertyTween.protot type); h.extend (u.prototype, {constructor: u, getValue:function(a,})

    (b) {return h (this) .css (a)}, setValue:function(a, b, c) {.css (b, c) h (this)}, parseValue:function() {var b = (a), c = f.parseColorValue / rgb/gi, d = / hsl/im; } If(b & & b.colorFunction & & b.values) {a = b.values, b = b.colorFunction; } If(b.match (c))If(this.animationColorSpace & &'HSL'=this.animationColorSpace) c = {r:a[0],g:a[1],b:a[2]},(c=f.rgbToHSL(c))? 3 < a.length? (a = a [3], a = [s.h., c.s., c.l, a]): a = [s.h., c.s., c.l]: a = []; else if (! ( this.animationColorSpace)this.animationColorSpace ="RGB"; else {If('RGB'! ==this.animationColorSpace)return a} else if (b.match (d)) if (this.animationColorSpace & &)

    ( "RGB"=this.animationColorSpace) c = {h:a[0],s:a[1],l:a[2]},(c=f.hslToRGB(c))? 3 < a.length? (a = a [3], a = [c.r, CG limits, c.b, a]): a = [c.r, CG limits, c.b]: a = []; else if (! ( this.animationColorSpace)this.animationColorSpace ="HSL"; else if ("HSL"! ==this.animationColorSpace) &(a[3]=1); {{& a; 3 = a.length return return a}}, formatValue:function(a) {r (); If(a) {var b, e, n,""} HSL"=this.animationColorSpace & & c? (b="hsl",a=4===a.length&&c?b+"a("+a[0]+","+a[1]+"%,"+a[2]+"%,"+a[3]+")":b+"("+a[0]+","+a[1]+"%,"+a[2]+"%)"):d? (b ="rgb", a = 4 = a.length & & d?)

    b +« un ("+ [0] +" %, »+ a [1] +« % »,+ un [2] +« %, »+ un [3] +«) »: b +"("+ [0] +"%, »[1] + «, » + un [2] +%« % »)) : (b = [0,] e = a [1], n = a [2],« HSL »===cette.animationColorSpace & & (a=f.hslToRGB ({h : a [0], g : a [1], b : a [2]}), b=a.r,e=a.g, n=a.b), un = 65536 * Mat h.floor(2.55*b)+256*Math.floor(2.55*e)+Math.floor(2.55*n) , un =« # »+ a.toString(16)) ; return a}}}); f.ColorTween = u; f.Color = {formatValue:u.prototype.formatValue, parseValue:u.prototype. parseValue}; f.parseColorValue =function() {If(a) {var b=[],c,d,e=/^\s*#([a-fA-F0-9])([a-fA-F0-9]) ([a-fA-F0-9]) \s*$ /, f = / rgb/IM,}}

    n = / HSL / GI;(d=/^\s*#([a-FA-F0-9]{2})([a-FA-F0-9]{2})([a-FA-F0-9]{2})\s*$/.exec(a))? (b = [go eInt(d[1],16)/255 * 100, 100/255 * parseInt(d[2],16), parseInt(d[3],16)/255 * 100], c ="rgb"): (d = e.exec (a))? (b = [parseInt(d[1]+d[1],16)/255 * 100, parseInt(d[2]+d[2],16)/255 * 100, parseInt (d [3] + d [3], 16) / 255 * 100], c ="rgb"):"transparent"= a & & (b = [0,0,0,0], c ="rgb"); c | (c = a.toString (.match(/\w+/)), (c) h.isArray? c = c [0]: c | (c_=__""_), (d = a.toString (match) (/------([\d %, \.\s]*\)/)) & & 0 < d.length & & (d=d[0].replace(/[\(\)] "/ g,' ''))); if (0 = b.length) if (c.match (f)) if ((e=))

    / ^ \s * ([0-9] {1,3}) \s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s* (?:, \s* ([0-9] (?: \.))) [0-9] +) ?) \s*)? (($/ .exec (d)) & & 4 < e.length =) {for(a = 0; 3 > a; a += 1) b [a] = e [a + 1] / 255 * 100; 4 < e.length & & (e [4] |)} {(e[4]=1), b [3] = e [4])}else{If((d = / ^ \s * ([0-9] {1,3} (?: \.))))} [0-9] +) ?) \s*%\s*,\s* ([0-9] {1,3} (?: \.)) [0-9] +) ?) \s*%\s*,\s* ([0-9] {1, 3} (?: \.)) [0-9] +) ?) \s*%\s*(?:,\s*([0-9](?:\. [0-9] +) ?) (\s*)?$/.exec(d)) & & 4 < = d.length)for(5 < = d.length & & (d.length = 5, d [4] |)) (d [4] = 1)), a = 0; has < d.length - 1; (un += 1) b [a] = d [a + 1]}else If(c.match (n) & & (d = / ^ \s * ([0-9] {1,3} (?: \.)))) [0-9] +) ?) \s*,\s* ([0-9] {1,3} (?: \.)) [0-9] +) ?) \s*%\s*,\s* ([0-9] {1,3} (?: \.)) [0-9] +) ?) \s*%\s*(?:,\s*([0-9](?:\. [0-9] +) ?) \s*)?$/.exec(d)) & &

    4 < = d.length)for(5 < = d.length & & (d.length = 5, d [4] |)) (d [4] = 1)), a = 0; has < d.length - 1; a += 1) b [a] = d [a + 1]; if (b) for (a = 0; a < 1E4/b.length; a += 1) b [a] = Math.round (1E4 * b [a]). return {{{colorFunction:c, values: b}}}; f.hslToRGB =function() {If(null= a | 0 > a.s. | 100 < a.s. | 0 > a.l | 100 < a.l)return null;} for (; 360 < a.h;) a.h-= 360; for (; 0 > a.h;) a.h = 360 + a.h; var b={},c=a.h/360,d=a.s/100;a=a.l/100; var f, h, l; 0 = d? b = b = a b.b: (d = 0.5 > = a? a *(1+d): a + d - a * d, a = 2 * a-d, f = f (c + n), h = e (c), c = e (c - n), l = 6 * (d - a), b = p (a, d, l, f), b = p (a, d, l, h), b.b = p (a, d, l, c)); b.r = Math.min (100 *)

    b.r, 100); b = Math.min (100 * b, 100); b.b = Math.min (100 * b.b, 100); b = Math.round (1E4 * b) / 1E4; b.g=math.round(1E4*b.g)/1E4;b.b=math.round(1E4*b.b) / 1E4; return b}; f.rgbToHSL =function() {If(null= a | 0 > a.r | 100 < a.r | 0 > a.g | 100 < a.g | 0 > a.b | 100 < a.b)return null;} var b={h:0,s:0,l:0},c=a.r/100,d=a.g/100;a=a.b/100; var e = Math.max (c, d, a), f = Math.min (c, d, a), n; b. =(e+f)/2; e > f & & 0 < b.l & & (n = e-f, b = 0.5 > = b.? n /(e+f): n / (2-e-f), BH = e = a? 4 + (c - d) / n: e = d? 2 + (a - c) / n:(d-a) n, b.h * = 60, 360 b.h < b.h? b.h = 360:0 > & & (b. h = 360 + BH)); b.s = Math.min (100 *)

    b.s, 100); b. = Math.min (100 * b., 100); BH = Math.round (1E4 * BH) /1E4;b.s=Math.round (1E4 * b) / 1E4; b. = Math.round (1E4 * b.l) / 1E4; return b}; f.colorToSupported =function() {r (); If(! d & & / rgba/.test (a) |! s & & / rgb/.test (a) |! c & & / hsla/.test (a) |! b & & / hsl/.test (a)) {var e = f.parseColorValue (a) values, g, h, n; If(4 < e.length = & & 0.5 > e [3])return'transparent'; g=e[0];n=e[1];h=e[2];/HSL/.test(a) & & (a = f.hslToRGB ({h:e [0], g:e [1] b:e [2]}), g = a.r, n = a.g, h is a .b); g = Math.floor (2.55 * g); n = Math.floor (2.55 * n); h = Math.floor (2.55 * h); g =(15<g?"":"0") +

    g.toString (16); n = (15 < n?"":"0") + n.toString (16); h = (15 < h?"":"0") + h.toString (16); {{a =' # '+ g + n + h}return }; f.Timeline.addTweenType ('color',function(a, b, c and d, e) {u new return ('color', a, b, c and d, e)}); for (q_=_0_;_q_<_l.length;q_+=_1) f.Timeline.addTweenProperty (l [q],"color")})(window.) AdobeEdge);

    {{((function(f) {function r (b) {If(document.documentElement.style.hasOwnProperty ("webkitAppearance")) {var d = e (b) .css (' - webkit - transform '); d.match(/translateZ/}}}) | d.match(/Matrix3D/) | e (b) .css (' - webkit - transform ", d +' translateZ (0) ')}}function u (b, d, c, n, l, s) {var a =null, k, g; 2 < = l.length & & e.isArray (l [1]) & & 2 < = n.length & & e.isArray (n [1])? a = 1:2 < = l.length & & e.isArray (l [4]) & & 2 < = n.length & & e.isArray (n [4]) & &(a=)} (4); Si ()for(k = n [a] .length < l [a] .length? n [a]: l [a], g = k = l [a]? n [a]: l [a], a = k.length; has < g.length; a += 1) k [a] = k [a-1]; (thisf.PropertyTween.call,

    b, d, c, n, l, s); this.name ="" GradientTween""; this.tweenType = h [b]}var e = $ f, p = f.PropertyTween, h = {gradient: 0}, l = {' background-image ': {cssProp:' background-image ', def:"0px", sup:'px', i: 1}}, q, x = f. _ .apply .p [' background-image '], s = _ f.. p [' background-image '] .prep; f.forceGPU = r; e.extend (u.prototype, p.prototype), e.extend (u.prototype, {constructor: u, setupForAnimation:function() {this.getElementSet () .each (function() {r (this)}); p.prototype.setupForAnimation.call (this)}, getValue:function(b, d) {return e (this) .css (b)}, setValuePre:function(b,})

    (d, c) {e (this) .css ("- webkit-"& c d) e (this) .css (d,"- moz-"+ c) e (this) .css (d,"- ms-"+ c); e (this) .css (d),"- o -"+ c}, setValue:function(b, d, c) {.css (d, c) e (this)}, update:function(b, d) {var c =this(.getElementSet), e =this, f =this.tweenType, h, a, k, g, m, s, q = l [this.property] .cssProp; } This.updateTriggered | (this= .updateTriggered 0,this. setupForAnimation()); c.each (function() {var c = e.getPropertyTweenData (this, f, e.property), l, If([c.animationID = e.animationID]) {a = c.fromValues, k = c.toValues, g = e.filter, m = a.length; s =]; for(h = 0; h < m; += h)}})

    (1) l = a c [h], is [h] k, l is'chain'=typeof l? 0 = d & & 0 < e.duration? l:c.value:l + (c.value - l) * d, g & & g [h] & & (l = g [h] (l, e,this, q, c.unit, b)),'number'=typeof l & & 1 > l & & (l = l.toFixed (6)), s.push (l + c.unit); c = e.formatValuePre (s); l = e.formatValue (s); (e.setV aluePre.call (cette f,q,c); e.setValue.call (this, f, q, l); e.notifyObservers ('onUpdate', {elapsed: b, easingConst:d, property: q, value: the element:this})}})}, parseValue:function(b) {function d (a, b) {If(1 < a [b] .length)return a [b] [1]; var ;c=0===b?0:b===a.length-1?100:(d(a,b-1)+d(a,b+1)) c /}}

    2; a [b] .push (c); c return }If(b & &!) () 2 > b.length)) {"string"=typeof b & & (b = JSON.parse (b)); var c =null, n =null, h =null, l =null, an isnull, k = [], g is! 1, m = [], s; e.isArray(b[1])?} (c = b [0], n = b [1], b [2] & & (g = b [2])): (h = [b [0], b [1]], l = b [2], [3] a = b, n = n [4], b [5], & &(g=b[5])); for (b = 0; b < n.length; b += 1) if (s = f.Color.parseValue (n [0] [b], b)) k = k.concat (s), k.push (d (n, b)); if ((c = {angle: c, colorstops:k, centerPoint:h, ellipse: l mesure: une, répétant: g}) & & c.colorstops) return null! is c.angle? : c.centerPoint m = m.concat (c.angle) & & (m = m.concat (c.centerPoint), m =

    ({m.Concat ([c.Ellipse, c.extent])), m = m.Concat (c.ColorStops), m.Concat (c.Repeating)}}, formatVal EU:function(b) {return f.formatGradient(b,!1)}, formatValuePre:function(b) {return f.formatGradient(b,!0)}}); f.GradientTween = u; f.Gradient = {parseValue:u.prototype.parseValue}; f.formatGradient =function(b, d) {If(b) {var c ="", e =null, h,l,a;2===b.length%5?}} () e = 1, c = c +"degraded (linear)"+ ((d? b [0]:(450-b[0]) %360) +"deg",)): (e = 4, c +='gradient (radial)', c = d? c + (b [0] +'%','%'+ b [1] + (1 == b [2]?""))) Ellipse »:« cercle ») ++ b [3] +«, ») : c + (b [3] +

    " "+(1==b[2]?" Ellipse »:« cercle »)« à »+ b [0] + « » + b [1] +%« % »)) ; 1 == b [b.length - 1] & & (c ="extensible-"+ c); if (! (12 > b.length | 0! ==(b.Length-e-1) %5))) {a=Math.Floor((b.Length-e-1)/5); for (h = 0; h <; h += 1) l = 5 * h + e, c + = f.Color.formatValue (b.slice (l, l + 4)),-1! == b [l + 4] & & (ch. +=""+ b [l + 4] +"%"), h ! == a-1 & & (ch. +=","); retour c +=«) »}}} ; f.Timeline.addTweenType ('gradient',function(b, d, c, e, f) {return new u ("degraded", b, d, c, e, f)}); f._.p ["background-image"] .apply =function(b, d) {var c, e; If('chain'=typeof d)return x.call (f._.p, ["background-image"],

    (b, d); c = f.gradient.ParseValue (d); e = f.formatGradient (c,! 1); c = f.formatGradient (c,! 0); {b.css (' background-image ','- webkit -'+ c); b.css (' background-image ','- moz -'+ c); b.css (' background-image ','- ms -'+ c); b.css (' background-image ','- o -'+ c); b.css (' background-image ', e)}; f._.p [' background-image '] .prep =function(b, d, c, e, h, l, a) {return void 0 == d [c] |} { 'chain'=typeof d [c] [e]? s.call(f._.p[__"background-image"__],b,d,c,e,h,l,a):d [c] [e]}; for (q) l.hasOwnProperty (q_ _en_ _l) & & f.Timeline.addTweenProperty (q,"gradient")})(window.) AdobeEdge);

    (function(f) {function r (b, d, c, e, f, h) {x.call (this, b,'query', c,Sub 0,Sub 0, h); }}) This.name ="motionTween";(this.path = e) & & 1 < e.length & & 6 > e [0] .length & & (e [0] [4] = e [0] [5] = 0, e [e.length - 1] .splice (2,0,0,0)); this. keyframes = []; b = document.createElement ("div"); c = q (b); null! == document.body & & document.body.appendChild (b); c.CSS ('left','-9999px ") .css ("width","100px"); c.CSS (' transform-origin ',' 50% 50% ') .css ("- webkit - transform-origin ',' 50% 50% ') .css (" - moz - transform-origin ',' 50% 50% ') .css ("- ms - transformation-origin ',' 50% 50% ') .css (" transform - o - origin ",)

    « 50 % 50 % ») ; d = c.css ('transform-origin'). c.CSS (' - webkit - transform-origin '). c.CSS (' - moz - transform-origin '). c.CSS (' - ms - transform-origin '). c.CSS (' transform - o - original "); c.CSS ('border-width' '10px') .css ('border-style' 'solid'); c = c.css ('transform-origin'). c.CSS (' - webkit - transform-origin '). c.CSS (' - moz - transform-origin '). c.CSS (' - ms - transform-origin '). c.CSS (' transform - o - original "); null ! == b.parentNode & & (b) b.parentNode.removeChild; ce { .originIncludesBorders = d! == c} function u (b, d, c) {try{If(b [0] = d [0] & & b [1] = )}}

    (d[1])returns{x: p [0], y: d [1]}}catch(e) {var f = {}, h = c * c, a = h * c, k = 2 * a - 3 * h + 1; c = a - 2 * h + c; var g =-2 * 3 a + * h, h = a - h; f.x = k * b [0] + c * b [2] + g * d [0] + h * d [4]; f.y = k * b [1] + c * b [3] + g * d [1] + h * d [5]; return f}function e (b, d, c) {If(b [0] = d [0] & & b [1] = d [1])return{dx:0, dy:0}; var e = {}, f = c * c, h = 6 * f - 6 * c, a = 3 * f - 4 * c + 1, k = f *-6 + 6 * c; c = 3 * f - 2 * c;} var f = b [3], g = d [5]; e.dx = h * b [0] + a * b [2] + k * d [0] + c * d [4]; e.dy = [1] h * b + a * f + k * d [1] + c * g; return e}function p (b, d) {var c = b .x - d .x, e = b.y - Nathalie; return Math.sqrt (c * c + e * e)}function h (b, d, c, e, f) {var l = Math.floor ([e] c .b), a = ([e] c .b +)}

    c[e+1].b)/2-l,k=u(b,d,a),g=0;p({x:(c[e].x+c[e+1].x)/2,y:(c[e].y+c[e+1].y)/2},k) > f & & (k.b = a + l, c.splice(e+1,0,k), g = h (b, d, c, e + 1, f), g = g + h(b,d,c,e,f) + 1); lbfunction return g} {var d, c, e, f, l, a, k, g; for(d = 0; d < b.length - 1; d ++) {f = [0,0, 3 * b [d].upper.x, 3 * b [d].upper.y, 3 * b [d].lower.x, 3 * b [d].lower.y]; l = [1, 1, 3 * b [j + 1].upper.x, 3 * b [j + 1].upper.y, 3 * (1-b [j + 1].lower.x), 3 * (1-b [j + 1].lower.y)]; a = []; for(c = 0; 5 > c; c ++) e = c/4}} k = {b:e}, g = u (f, l, e), k.x is g.x, k.y = g.y, k.b = e, has [and c] = k; a: {c = a; e = p (c [c.length - 1], c [0]); var m = kSub = 0, s = m =Sub 0; g =}

    .x .x - c c [c.length - 1] [0]; var q = there there - c c [c.length - 1] [0]; for (k = 1; k < c.length - 1; k ++) if (m = {x: c [k] .x - c [0] .x, there there - c [0] y: c [k]}, m = MX * g + m.y * q, s = e * p c [k], c [0], 0.005 < Math.abs (Math.ac os(m/s))) {c = ! 1 ; Break a} c =! 0}If(c) a.splice (1.3); else for (c = 0; 4 > c; c ++) e = 3 - c, h (f, l, a, e, 0.01); f = b [d]; l = 1; s = m = q = g = k = e = c =Sub 0; for (c = 0; c <.) Length-1; c ++) 0 < [c + 1] .x - a [c] .x & & (l=Math.min(l,a[c+1].x-a[c].x));k=Math.ceil(1/l); g = 1/k; q = [] ; m = 0; q [0] = {t: 0, e:0}; for (c = 0; c < k; c ++) {for(e = c * g; e > a [m + 1] .x & & m < a.length - 2 ;) m ++; s = a [m + 1] there; 0 < a [m + 1] .x .x - a [m] & &)}

    (s=a[m].y+(e-a[m].x)*(a[m+1].y-a[m].y)/(a[m+1].x-a[m].x)); q [c] = {t:e, e:s}} 1 > .t q [q.length - 1] & & (q [q.length] = {var q =:1,e:1});f.easingTable=q}} t $ f, x = f.TransformTween, s = f.UpdateFinalizer;})} q.extend (r.prototype, x.prototype); q.extend (r .prototype, {constructor: r, getValue:function(b, d) {}, setupForAnimation:function() {x.prototype.setupForAnimation.call (this); }}) This.points | (this. setUpPoints(),this.setUpLen2bMap (), l (this.keyframes)); this.deltas | Window.edge_authoring_mode | (this.getElementSet () .each (function() {var b =

    (this) q, c = f. $.data (this,"p_x"). 'left', e = f. $.data (this,"p_y"). 'top', h = q (this.parentElement), l = + parseFloat (b.css (c)). 0, a = + parseFloat (b.CSS (e)). 0; '%'= f $.data (this,"u_x") & & (l = l/100 * + h.width ()); '%'= f $.data (this,"u_y") & & (a = a/100 * + h.height ()); f. $ (this"deltaX", l) .data; f. $.data (this,"deltaY", a); b.CSS(c,__"0px"_).CSS (e,"0px")}),that.deltas =! (0); for (var b =this; b._prevObj & & (2! = b._prevObj.path.length | b._prevObj.Path [0] [0]! == b._prevObj.path [1] [0]: b. _prevObj.path [0] [1]! == b._prevObj.path [1] [1]);) b = b._prevObj;

    b = e(b.Path[0],b.Path[1],1e-6); this.deltaRotate=180*Math.atan2(b.dx,b.dy)/Math.PI}, computeEasing:function(b) {var d = b /this=. getDuration(),this.keyframes; var c = 0, e, f, h;} for (e = 0; e < d.length - 1 & &!) (c = e, b < = d [e + 1] .t); e ++) ; e = d [c] .easingTable; f = d [c + 1] l - d [c] l; b = (b - d [c]. t)/(d[c+1].t-d[c].t);h=Math.floor(b/(e[1].t-e[0].t));h=Math.min(e.length-2,Math.max(h,0)); { return d[c].l+(e[h].e+(b-e[h].t)*(e[h+1].e-e[h].e)/(e[h+1].t-e[h].t)) * f}, originInPx:function(b) {var d, c = {}, e is b.width (), h = b.height (), l, one; d = (b.css (' transform-origin "" ') |)}

    b.CSS (' - webkit - transform-origin '). b.CSS (' - moz - transform-origin '). b.CSS (' - ms - transform-origin '). b.CSS (' transform - o - original "). "50% 50%"). Split (' "); 0 < d [0] .indexOf ('%')? (l = parseFloat (d [0].substring(0,d[0].length-1)) / 100, a = parseFloat (d [1] .substring (0, d [1] .the ngth-1))/100,c.x=e*l,c.y=h*a):(c.x=parseFloat(d[0].substring(0,d[0].length-2)), c.y = parseFl oat (d [1].substring(0,d[1].length-2))); this.originIncludesBorders | (l = l | c.x Fokker-built/e, a = a | c.y/h,d=f.splitUnits (b.css (' border-left-width ')) .num + f.splitUnits (b.css ("border-right-width")) .num |)

    0, d * = l, b = f.splitUnits (b.css (' border-top-width ')) .num + f.splitUnits (b.css ("border-bottom-width")) .num | 0, c.x Fokker-built += d, c.y += b * a); return c}, update:function(b, d, c) {this.updateTriggered |} (this= .updateTriggered 0,this.setupForAnimation (c)); c =this.getElementSet (c); var h =this, l =this.property, p =this.tweenType, a =this.findSegment (d), k isthis.path, g =this.easeToB (d), m isthis.points [this.points.length-1] l, r, g = Math.min (1, Math.max (0, g - a));r=Math.max(1E-6,Math.min(0.999999,g)); var A = u (k [a], [a + 1] k, g), a = f (k [a], k [a + 1], r), g = 180 *.

    Math.atan2 (a.dx, a.dy) Math.PI, z, E; this._prevObj & & 2 = k.length & & k [0] [0] = k [1] [0] & & k [0] [1] = k [1] [1]? (E =! 0, z = 0): z =this.deltaRotate-g; if (0 > d | 1 < d) k = Math.atan2 (a.dy, a.dx), a 1 = < d? d 1:d, A.x += Math.cos (k) * m * a, A.y += Math.sin (k) * m * a; c. each (function() {var a = q (this), c = h.getPropertyTweenData (this, p, l), e = f. $.data (, x.dataName), g =this. parentElement, k; e.tween = h; }) If(c.animationID = h.animationID) {var a = h.originInPx (a), c = f. $.data (this,'p_x') |} 'left', m = $.data (this,"p_y"). 'top', r = A.x, u = A.y, y = f.$ .data(,"u_x").

    "px", J = f. $.data (this,"u_y"). "px", O =! window.edge_authoring_mode, K = f.$ .data (this,"doAutoOrient"), K ="true"= K? 0:'false'= K? 1: k; O & & (k = q (g), g = k.width (), k = k.height (),'%'= y & & (r = r/100 * g),'%'= J & & (u = u/100 * k)); r +='right'= c? a. x:-1 * a.x; u +=« bas »=== m ? a. there:-1 * a.y; O & & (r = 0, u = 0); r = 0. == r & & 1E-6 > Math.abs (r)? r.toFixed (6): r.toString (); u = 0! == u & & 1E-6 > Math.abs (u)? u.toFixed (6): u.toString (); E | (K || (z = 0), z = 0.01 < Math.abs (z)? z: 0, f. $.data (this,"motionRotateZ", z +'deg'), h.setValue.call (thisSub 0,"motionRotateZ", z +)

    (( 'deg'), s.Register (h.timeline, e.id, e)); O? {({{((h.setValue.call (cetteSub 0,"motionTranslateX", r +"px"), h.setValue.call (thisSub 0,"motionTranslateY", u +'px'), s.Register (h.timeline, e.id, e)):(q(this) .css (c, r + y), h.notifyObservers ('onUpdate', {elapsed:b, easingConst:d, property:c, value: r + y, element:e.tween}), q (this) .css (m, u + J), h.notifyObservers ('onUpdate', {elapsed: b, easingConst:d, property: m, value: u + J, element:this}))}})}, findSegment:function(b) {b =this.len2b (b *this.points [this.points.length - 1] l); b = Math.floor (b);}

    return {Math.min (Math.Max(b,0),this.path.length - 2)}, easeToB:function(b) {return this.len2b (b *this.points [this.points.length - 1] l)}, setUpLen2bMap:function() {var b = 0, d, c, e = 60 *this.getDuration () / 1E3, f =this= [], h =this.points .len2bMap, a; for(d = 0; d < h.length - 1; d ++) l h [d] = b, b += p (h - h [d], [j + 1]); c = h [h.length - 1] l = b;} this.len2bStep = e = c/e; d = b = 0; if (0, c) {for(; b < = c ;){for(; d < h.length - 1 & & b > h [j + 1] l ;) d += 1; ))} If(d > = h.length - 1)break; a = h [d] .b + (b - h [d] .l) *(h[d+1].b-h[d].b) / (l - h h [j + 1] [d] l); f.push ({l:b, b: a}); b += e} f [f.length-1] .b <

    h [h.length - 1] .b & & f.push ({t:h[h.length-1].l,b:h[h.length-1].b})}else f.push({l:0,b:h[0].b})}, setUpPoints:function() {var b =this.path, d, c, e, f; ) This.points = []; for (d = 0; d < b.length - 1; d ++) for (c = 0; 5 > c; c ++) if (4 > c | d = b.Length - 2) f = c/4, e = {b:d + f}, f = u (b [d], b [j + 1], f), provable = f.x, e.y = f.y,this.points.push (e); for (d = 1; d < b.length; d ++) for (f = b.length - d-1, c = 0; 4 > c; c ++) e = 3 - c + 4 * f, h (b [f], b [f + 1],this.points, e, 2); return this.points}, len2b:function(b) {this.len2bMap |} this. setUpLen2bMap(); var d =this.len2bMap,c=Math.min(Math.max(0,Math.floor(b/

    ((( this.len2bStep)),this.len2bMap.length - 2); return 0 = d.length? 0:1 = d.length? d [0]. ({{b: (b - d [c] l) * (d [c + 1] .b - d [c] .b) / (d [c + 1] l - d l [c]) + d [c] .b}}); f.MotionTween = r; f.Timeline.addTweenType ('query',function(b, d, c, e, f, h) {return new r ('motion', b, d, c, e, f, h)}); f.Timeline.addTweenProperty ('motion','movement'); (f.Timeline.addTweenProperty ('place','movement')})(window.) AdobeEdge);

    (function(f) {function r (e, b, d, c, f, l) {If(d & & c & & e & & e._s & & e.sym & & e.sym [d]) {var p = [], a;'object'==typeof c? a = c:(a=b.find$(c)) |}}}) (a = b.$ (c)); a.each (function() {var a = h (this), b is document.createElement ("div"), c = ._children (one), r = {}, u, x; x = q.getParentSymbol (this,! 0); }) If(u =new q(e.sym,d,e,x,l))(f|| 0 === f) & & a._children () .eq (f) [0]? 0 > f? ch.. insertAfterdownload(f) (b): ch. insertBeforedownload(f) (b): a .append (b), u.opts = u.opts | (), h.extend (u.opts, r), u.init (b), u._applyBas eStyles ((b), d (h), (x.ci = x.ci |) ([]) .push (u), p.push (u)}); e.readyCalled & &

    p.forEach (function() {x._playAuto (a,! 0); a.getSymbolElement () .css ("position","relative")}); return p}}function u (e, b) {var d, c = b.getSymbolElementNode () user.user; for(d = e.length - 1; 0 < = d; - d) e [d] .getSymbolElementNode (user.user = c) & & e.splice (d, 1)}function e (f, b) {b = b |} []; var d = f.parentNode; f & & 1 = f.nodeType & & (b.push (d), e(d,b)); return b}function p (e, b) {b = b |} {}; var d = e.composition? e.composition._s:null, c = {}, f = h.Event ("beforeDeletion"); h.extend (f, {Symbol:e,element:e.ele,performDefaultAction:!0});}) c & & h.extend (f, c); c = e.ci;

    if (d & & (e.notifyObservers ("beforeDeletion", f), f.performDefaultAction)) {e.stop (0);} if {{(c) for (; 0 < c.length;) p (c [0], b); e.prnt & & e.prnt.ci & & u (e.prnt.ci, e), u (e.composition._s, e); e.composit ionSub = 0; e.prnt = 0; d = e.ele; q.setSymbol (h (d)Sub [0],Sub 0); b._keepElement? h (d) .empty (): () .remove (d) h e.tlCached =null; e.ele =null; e.removeObservers ()}} var h = x = f.Composition; q = f.Symbol, $l = f.An, $ f. h.extend (l.prototype, {_parents:function() {var f = []; }}) This.each (function(b, d) {e (d, f)}); return SP (FRA)}, _children:function() {var e = [];

    this.each (function(b, d) {for(var c = e, c = c |)}) [], f is d.firstElementChild;f;)c.push(f),f=f.nextElementSibling}); return ({SP (ang)}, eq:function(e) {return (this[e]) h}, add:function(e) {var b =this; h (e) .each (function(d, c) {b.each (function(b, d) {d.appendChild (c)})})}}); q.getParentSymbol =function(e, b) {var d = h (e), c = d._parents (), f = c.length, l; If((l = q.getSymbol (d [0])) & & b)return l; for (d = 0; d < f; d ++) if (l = q.getSymbol (c [d])) return l; return null} ; h.extend (l.prototype, {void:function() {var e; }) This.each (function(b, d) {for(e = d.firstChild; e;) d.removeChild (e),})

    (e=d.firstChild})}, remove:function() {var e; This. empty(); ({{ this.each (function(b, d) {(e=d.parentNode) & & e.removeChild (d)})}}); h.extend (q.prototype, {deleteSymbol:function(e) {return p(e)}, createChildSymbol:function(e, b, d, c) {If(e & & b) {"var f;' object'==typeof b? f = b: (fthis.find = $(b)) |}}}) (f =ce. $(b)) ; if (f & & f [0] & & (e = r (.composition,this,this, e, b, d, c))) {{ Return e.forEach (function(b) {}), e [0]}}, getVariable:function(e) {return this[e] .variables}, setVariable:function(e, b) {this. variables [e] = b; window.edge_authoring_mode & &}

    (this._variables [e] = b); if (e) {var d =this.getVariable (e), c ="variableChanged:"+ e, d = {variableValue:d}, f = h.Event (c); h.extend (f, {symbol:this, element:this.ele, performDefaultAction:! 0}); h.extend (f, d);} { this.notifyObservers (c, f)}return this}, getSymbol:function(e) {e =this. $(e); return q.getSymbol (e)}, getParentSymbol:function() {return q.getParentSymbol (this.ele,! 1)}, getChildSymbols:function() {return this.ci? } {This. ci.slice (0): []}, playAll:function() {this. play(); for(var e =this(.getChildSymbols, b = 0; b) < e.length; b ++) e [b] .playAll ()}.

    stopAll:function(e, b) {this.stop (e, b); for(var d =this(.getChildSymbols, c = 0; c) < d.length; c++) d [c] .stopAll (e, b)}, getSymbolElementNode:function() {return this.ele}, getSymbolElement:function() {return f. $(this.ele)}, _executeMediaAction:function(e, b) {If(!)} () 'object'! ==typeof b | 3 > b.length)) {var d = b [0], c =this. $(b[1]) [0]; } If(c & & d) {var f = b [2]; e & &'object'=typeof f |} (f =null); 'play'= d? {{(f & & 0 < f.length & &«nombre»===typeof f [0] & & (c.currentTime=f[0]), c.play ()):'pause'= d & & c.pause ()}}}, _executeSymbolAction:function(e,

    b){if(!( 'object'! ==typeof b | 3 > b.length)) {var d = b [0], c = f.Symbol. } Download(this. $(b[1])); if (c & & d) {var = b [2] h; h & &'object'=typeof h |} (h =null); ({c [d] .apply (c, h)}}}, eMA:function(e, b) {this._executeMediaAction (e, b)}}); q.prototype.getParameter = q.prototype.getVariable; ({q.prototype. setParameter = q.prototype.setVariable; h.extend (x.prototype, {createSymbolChild:function(e, b, d, c) {return r (this,this.stage, e, b, d, c)}, removeSymbol:function(e, b) {If(this.symbolInstances) {var d = q.get(e); d & & d.deleteSymbol (b)}}})}) (window. AdobeEdge);

    OK... as usual, I didn't get no help here, but if anyone runs into this problem, the solution was that the command window was causing the error because IE8 does not recognize the responsiveness.  The thing was this piece of code added to the upper part of the script in the file index.html...

    It detects all versions of IE, especially useful as IE 10 and later versions have not been called by a number more

    function detectIE() {}

    UA = window.navigator.userAgent var;

    MSIE = ua.indexOf ('MSIE') var;

    If (msie > 0) {}

    IE 10 or more-online version of back number

    return parseInt (ua.substring (msie + 5, ua.indexOf ('.))) (((', msie)), 10);

    }

    Trident var = ua.indexOf('Trident/');

    If (trident > 0) {}

    IE 11 => the version number of return

    var rv = ua.indexOf('rv:');

    return parseInt (ua.substring (rv + 3, ua.indexOf ('.))) (((', rv)), 10);

    }

    edge of the var = ua.indexOf('Edge/');

    If (m > 0) {}

    IE 12 => version number of return

    return parseInt (ua.substring (edge + 5, ua.indexOf ('.))) (((', edge)), 10);

    }

    other browser

    Returns false;

    }

    var scaleString = "width";

    {if (detectIE () == 8)}

    Alert ("this is IE8");

    scaleString = 'none ';

    }

    else {}

    scaleString = "width";

    }

    The variable scaleString then goes into the code already present in the index file replacing "width" (in my case, it could also be used for height and at the same time).

    scaleToFit: scaleString,

  • Position the pickwhip Y a layer to another position there, each layer with its own respective range

    I am wanting to pickwhip the y-axis of 'Layer A' with the y-axis "Layer B". I want the ' layer "s y, axis set between 0 and 100, to adjust ' layer B" s y-axis at a range of 25 to 75 at the same time. Can someone please?

    Thank you!

    You can use the expression linear() function to remap the ranges.

    pRefY = thisComp.layer ("XYZ").transform.position [1];

    pOutY = linear(pRefY,0,100,25,75);

    [value [0], pout]

    Mylenium

  • How do my portion of Web Page to accommodate all browsers?

    Hi all

    I'm doing a site and there as a backdrop the video (mp4 file) in assets and when I tested it I saw it differently in Explorer/Chrome/Firefox, for her, I would need to add to my code to get it to insert it in all browsers. My code is as follows:

    <! DOCTYPE html >

    < html >

    < head >

    " < script src =" http://AJAX.googleapis.com/AJAX/libs/jQuery/1.9.1/jQuery.min.js ">

    < /script >

    < / head >

    < body >

    < body style = "width: 100%;" height: 100%; ">

    < video width = "1920" height = "1080" autoplay = "loop" loop controls >

    < src = "source background.mp4" type = "video/mp4" > "

    < src = "source movie.ogg' type =" video/ogg">"

    Your browser does not support the video tag.

    < / video >

    < script >

    $(function() {})

    var FancyPointer = function() {}

    A model of revealing, to create module a

    extendable pointer object.

    var pointerIcons = [---], / / array of pointers.

    El, $el, / / element to listen

    defaultImgSettings = {}

    CBC: "globe.gif"

    height: "30px"

    Width: "30px"

    xPos:-15.

    yPos:-15

    };

    function startPointing() {}

    $el.on ("mousemove", Function {}

    evt var = e;

    $(pointerIcons) .each (function (index, pointerEl) {})

    $(pointerEl.imgEl) .racing)

    . CSS({)

    'position': 'absolute ',.

    'top':e.pageY + pointerEl .yPos,.

    'left':e.pageX + pointerEl .xPos,.

    'Width': pointerEl.width,

    'height': pointerEl.height

    }) .prependTo ($(document.body))

    .fadeOut (500, 'linear', function() {}

    $(this) .remove ();

    });

    });

    });

    }

    function addPointer (options) {}

    var pointerEl = {};

    pointerEl.src = options.src | defaultImgSettings.src;

    pointerEl.height = options.height | defaultImgSettings.height;

    pointerEl.width = options.width | defaultImgSettings.width;

    pointerEl.xPos = options.xPos | defaultImgSettings.xPos;

    pointerEl.yPos = options.yPos | defaultImgSettings.yPos;

    pointerEl.imgEl = new Image();

    pointerEl.imgEl.src = pointerEl.src;

    $(pointerEl.imgEl) .attr ("height", pointerEl.height)

    .Attr ("width", pointerEl.width);

    pointerIcons.push (pointerEl);

    }

    function init (element) {}

    the option required for initialization must be the element in which we will listen.

    If there is also an included table, the table must contain a number of options for

    the addPointer function. Otherwise, the user must manually call addPointer with

    Each pointer to add.

    El = element; Save the original item

    $el = $(el);     also create a reference sheathed jQuery for later use.

    Now, here, we create a table containing all the additional parameters after the first

    var args = Array.prototype.slice.call (arguments, 1);

    Now, iterate over all these additional arguments. If not, we have to assume that they are

    addPointer options (see above).

    {if (args)}

    $(args) .each (function (index, pointerEl) {})

    addPointer (pointerEl);

    });

    }

    startPointing();

    }

    return {}

    init: init.

    Add: addPointer

    };

    }();

    FancyPointer.init ("body",

    {

    CBC: "globe.gif"

    Width: "80px.

    height: '80px.

    xPos:-40,.

    yPos:-40

    },

    {

    CBC: "smartphone.gif."

    Width: 60px "banner."

    height: 60px banner"."

    xPos: 25,.

    yPos: 25

    }, {

    CBC: "monitor.gif."

    Width: "50px",

    height: "50px",

    xPos: 30,.

    yPos:-80

    },

    {

    CBC: "tablet.gif."

    Width: "55px."

    height: '55px. "

    xPos:-85.

    yPos:-85

    },

    {

    CBC: "laptop.gif."

    Width: "50px",

    height: "50px",

    xPos:-80,.

    yPos: 30

    },

    {

    CBC: "chain.gif."

    Width: "30px"

    height: "30px"

    xPos:-45,.

    yPos:-50

    },

    {

    CBC: "chain.gif."

    Width: "30px"

    height: "30px"

    xPos: 15,.

    yPos: 10

    },

    {

    CBC: "chain1.gif."

    Width: "30px"

    height: "30px"

    xPos:-45,.

    yPos: 10

    },

    {

    CBC: "chain1.gif."

    Width: "30px"

    height: "30px"

    xPos: 25,.

    yPos:-60

    });

    $("#addTrailer").on ("click", function() {}

    $(this) () .hide;

    FancyPointer.add ({}

    CBC: "trail4.gif."

    Width: '100px ',.

    height: "100px",.

    xPos:-45,.

    yPos: 25

    });

    })

    });

    ; < /script >

    < / body >

    < / html >

    Can anyboby help me with this?

    Thanks in advance

    Alejandro Castan

    PS: Sorry for my little English...


    Alejandro,

    No worries about your knowledge of English, you did very well.

    You have already given the size of the body element as in

    You can do the same for the video as in element

    width = "100 percent! important"height =" auto. " significant '' loop controls AutoPlay = "loop" >

    The ! important bit to ensure that the dimensions do not get overridden by other style rules.

  • Time-remapping several keyframes between the markers

    Hi all!

    First of all, I want to apologize for my basic English. I'll try to explain as clearly as possible.

    I have a complex animation layer which is precompose in another comp that I want to run this animation with markers. If the animation is composed of two keyframes is no problem. You can control the animation in several ways, including using the ease() valueAtTime() or linear() function. But when more than two keyframes are spread between the two markers is not an easy problem to solve. I tried to change a little bit Dan Ebberts' (by the way, thanks to him for all!) expression, but still does not work.

    n = 0;
    m = thisComp.marker;
    if (m.numKeys > 0){
      n = m.nearestKey(time).index;
      if (m.key(n).time > time) n--;
    }
    
    if (n==1){
    mStart = m.key(n).time
    mDelta = ((m.key(n+1).time - mStart)/numKeys)
     for(i = 1; i <= numKeys-1; i++){
      kVal1 = valueAtTime(key(i).time)
      kVal2 = valueAtTime(key(i+1).time)
      linear(time, mStart+(mDelta*i), mStart+(mDelta*(i+1)), kVal1, kVal2);
       }
     }else{0
    }
    

    Illustration image

    expFaill.jpg

    If anyone can find a desire to understand problem guide me in the right direction. Thanks in advance.

    I think you just need to remap the time, so it must be close:

    m = thisComp.marker;

    If (m.numKeys > 1 & Numkeys > 1) {}

    T1M = .time m.key (1);

    T2M = .time m.key (2);

    T1K = key (1) .time;

    T2K = key (Numkeys) .time;

    t = linear(time,t1m,t2m,t1k,t2k);

    valueAtTime (t)

    } else {}

    value

    }

    Dan

  • I need to create an advanced preloader bar.

    I need to create a loader to pre indicating the percentage of the page loaded by the percentage of color of the preloader bar. It would be fine if the bar says loading under the alos preloader. The preloader bar must also

    to keep the center of the page regardless of the screen resolution. Some might create an and the place by download

    Copy and paste these Codes into your preloader > action of loading

    Save this css file in your folder leading edge next to the index.html file

    CSS download link: http://www.mediafire.com/view/?kb11s474aipt39w

    Codes:

    var QueryLoader = {}

    overlay:

    Gauge:

    Preloader:

    elements: new Array();

    doneStatus: 0,

    doneNow: 0,

    selectorPreload: 'body ',.

    ieLoadFixTime: 2000.

    ieTimeout:

    init: function() {}

    If (navigator.userAgent.match (/ MSIE (\d+ (?: \. \d+)+(?:b\d*)?) /) == 'MSIE 6.0,6.0') {}

    break if IE6

    Returns false;

    }

    QueryLoader.spawnLoader ();

    QueryLoader.getImages (QueryLoader.selectorPreload);

    QueryLoader.createPreloading ();

    help IE drown if she tries to die

    QueryLoader.ieTimeout = setTimeout ("QueryLoader.ieLoadFix ()", QueryLoader.ieLoadFixTime);

    },

    ieLoadFix: function() {}

    {if (jQuery.Browser.MSIE)}

    If ((100 / QueryLoader.doneStatus) * QueryLoader.doneNow)< 100)="">

    QueryLoader.imgCallback ();

    QueryLoader.ieTimeout = setTimeout ("QueryLoader.ieLoadFix ()", QueryLoader.ieLoadFixTime);

    }

    }

    },

    imgCallback: function() {}

    QueryLoader.doneNow ++;

    QueryLoader.animateLoader ();

    },

    Addimages: {function (selector)}

    var all = $(selector) .find ("*: {not (script)" "}") .each (function ()})

    var url = "";

    If ($(this).css("background-image")! = 'none') {}

    var url = $(this).css("background-image");

    } else if (typeof ($(this) .attr ("src"))! = "undefined" & $(this).prop("tagName").toLowerCase () == 'img') {}

    var url = $(this) .attr ("src");

    }

    URL = url.replace ("url (\" ",)" "");

    URL = url.replace ("url (", "" ");")

    (URL = url.replace("\")"," ");

    ((URL = url.replace ("")"," ");

    If (url.length > 0) {}

    QueryLoader.items.push (url);

    }

    });

    },

    createPreloading: function() {}

    QueryLoader.preloader = $(')

    ') .appendTo (QueryLoader.selectorPreload);

    $(QueryLoader.preloader) .css ({}

    height: "0px"

    Width: "0px"

    overflow: 'hidden '.

    });

    var length = QueryLoader.items.length;

    QueryLoader.doneStatus = length;

    for (var i = 0; i)< length;="" i++)="">

    var imgLoad = $("");

    $(imgLoad) .attr ("src", QueryLoader.items [i]);

    $(imgLoad) .unbind ("load");

    .one $(imgLoad) ("load", function() {//IE Cache difficulty

    QueryLoader.imgCallback ();

    {.each (function ())}

    If (this.Complete) $(this) .load ();

    });

    $(imgLoad) .appendTo ($(QueryLoader.preloader));

    }

    },

    spawnLoader: function() {}

    var height = $(window) () .height;

    var width = $(window) () .width;

    position var = 'fixed ';

    var left = $(QueryLoader.selectorPreload) .offset ('left');

    Top Var = $(QueryLoader.selectorPreload) .offset () ['top'];

    QueryLoader.overlay = $(')

    ') .appendTo ($(QueryLoader.selectorPreload));

    $(QueryLoader.overlay) .addClass ("QOverlay");

    $(QueryLoader.overlay) .css ({}

    position: position,.

    top: top,

    left: left,

    Width: width + "px";

    height: size + "px".

    });

    QueryLoader.loadBar = $(')

    ') .appendTo ($(QueryLoader.overlay));

    $(QueryLoader.loadBar) .addClass ("QLoader");

    $(QueryLoader.loadBar) .css ({}

    position: "next of kin"

    top: '50% ',.

    Width: '0% '.

    });

    QueryLoader.loadAmt = $(')

    0%
    ') .appendTo ($(QueryLoader.overlay));

    $(QueryLoader.loadAmt) .addClass ("QAmt");

    $(QueryLoader.loadAmt) .css ({}

    position: "next of kin"

    top: '50% ',.

    left: '50% '.

    });

    },

    animateLoader: function() {}

    PERC = var (100 / QueryLoader.doneStatus) * QueryLoader.doneNow;

    If {(perc > 99)

    $(QueryLoader.loadAmt).html("100%");

    $(QueryLoader.loadBar) .stop ().animate({)

    Width: perc + '% '.

    }, 500, 'linear', function() {}

    QueryLoader.doneLoad ();

    });

    } else {}

    $(QueryLoader.loadBar) .stop ().animate({)

    Width: perc + '% '.

    (}, 500, 'linear', function() End);

    $(QueryLoader.loadAmt).html(Math.floor(perc)+"%");

    }

    },

    doneLoad: function() {}

    prevent IE to call the fix

    clearTimeout() (QueryLoader.ieTimeout);

    var height = $(window) () .height;

    The end animation, adapt to your tastes

    $(QueryLoader.loadAmt) () .hide;

    $(QueryLoader.loadBar) .animate ({}

    height: size + "px";

    top: '0% '.

    }, 500, 'linear', function() {}

    $(QueryLoader.overlay) .fadeOut (800);

    $(QueryLoader.preloader) .remove ();

    });

    }

    }

    yepnope ({nope: []})

    "QueryLoader.css,"

    ({], complete: Initialize});

    function initialize () {}

    QueryLoader.init ();

    }

    You can modify the css to any style of your choice

    Zaxist

  • Strangeness of the opacity

    Hello all-

    Sorry to bring this top (I put twice before) again, but I'm still pulling my hair out (if I didn't have a lot of hair, I'd be bald now :-)

    I downloaded a project here:

    https://creative.Adobe.com/share/a59a384a-2FF7-4008-b9c2-d765437b3dd1

    Once in awhile I have encounter this problem (in fact, quite often - almost all other symbols I create).

    1. I create a text object (sometimes on pictures too) and add it to the timeline.

    2. I add an opacity of 100% at 00:00:00 (a place - it randomly anywhere)

    3. I have change the opacity to 0% at 00:01:00 (a place - it randomly anywhere)

    4 run the animation.

    Opacity is going up, then down, then back up to amd at 0%.  Here is a sample file linked above:

    00:00:00-100% opacity

    00:00:371 - opacity to 2%

    00:00:569 - opacity to 25%

    00:00:727 - opacity to 0%

    00:00:814 - opacity at 6%

    00:00:908 - opacity to 0%

    00:00:956 - opacity to 2%

    00:01:00 - opacity to 0%

    As you can imagine, this is getting very frustrating!

    I tried everything I can think - especially removal of the feature of the opacity and add it back again and again.

    If I open a new page and try, it works.

    I don't know if it has something to do with other objects on the stage or not, but it seems strange that it would be 'bounce' around like that...

    Please, please help me :-)

    James

    Hello

    It's your timeline. You have selected an EaseOutBounce effect.

    It seems you want a linear function.

    ==> room attached with a linear effect: https://www.box.com/s/0s31bvup4vv0jq1jwds1

  • Help me to solve this load, you can

    Dear all users

    I really need your help on this, I have a charger in my lively edge that I picked up from e http://www.gayadesign.com/diy/queryloader-preload-your-website-in-styl /

    and it is the only charger that works very well on Edge and load anything completely, charger had some bugs, so I googled establishes it and find for, and now I have this charger without no bugs except a bug this charger has with Maxthon, IE, Chrome and Safari browsers, I'm going Crazy right now and don't know what to do with this Bug , The bug is only in the last seconds of loading, after full charge a symbol that was created in the Script will not remove loading!

    If you try this on any dashboard project you will see after loading is complete you see just a 0% in a black screen, but if you zoom in your browser, you will see that your project is...

    and the point is this is not happen only with Maxthon, IE, Chrome and Safariand works very well with FireFox...!

    I really need this loading, here is the Final Script file and CSS including the charger needs:

    The CSS file link: http://www.mediafire.com/?kb11s474aipt39w

    Script:

    var QueryLoader = {}

    overlay:

    Gauge:

    Preloader:

    elements: new Array();

    doneStatus: 0,

    doneNow: 0,

    selectorPreload: 'body ',.

    ieLoadFixTime: 2000.

    ieTimeout:

    init: function() {}

    If (navigator.userAgent.match (/ MSIE (\d+ (?: \. \d+)+(?:b\d*)?) /) == 'MSIE 6.0,6.0') {}

    break if IE6

    Returns false;

    }

    If (QueryLoader.selectorPreload == 'body') {}

    QueryLoader.spawnLoader ();

    QueryLoader.getImages (QueryLoader.selectorPreload);

    QueryLoader.createPreloading ();

    } else {}

    {$(document) .ready (function ()}

    QueryLoader.spawnLoader ();

    QueryLoader.getImages (QueryLoader.selectorPreload);

    QueryLoader.createPreloading ();

    });

    }

    help IE drown if she tries to die

    QueryLoader.ieTimeout = setTimeout ("QueryLoader.ieLoadFix ()", QueryLoader.ieLoadFixTime);

    },

    ieLoadFix: function() {}

    {if (jQuery.Browser.MSIE)}

    If ((100 / QueryLoader.doneStatus) * QueryLoader.doneNow < 100) {}

    QueryLoader.imgCallback ();

    QueryLoader.ieTimeout = setTimeout ("QueryLoader.ieLoadFix ()", QueryLoader.ieLoadFixTime);

    }

    }

    },

    imgCallback: function() {}

    QueryLoader.doneNow ++;

    QueryLoader.animateLoader ();

    },

    Addimages: {function (selector)}

    var all = $(selector) .find ("*: {not (script)" "}") .each (function ()})

    var url = "";

    If ($(this).css("background-image")! = 'none') {}

    var url = $(this).css("background-image");

    } else if (typeof ($(this) .attr ("src"))! = "undefined" & & $(this).prop("tagName").toLowerCase () == 'img') {}

    var url = $(this) .attr ("src");

    }

    URL = url.replace ("url (\" ",)" "");

    URL = url.replace ("url (", "" ");")

    (URL = url.replace("\")"," ");

    ((URL = url.replace ("")"," ");

    If (url.length > 0) {}

    QueryLoader.items.push (url);

    }

    });

    },

    createPreloading: function() {}

    QueryLoader.preloader = $("<div></div>").appendTo (QueryLoader.selectorPreload);

    $(QueryLoader.preloader) .css ({}

    height: "0px"

    Width: "0px"

    overflow: 'hidden '.

    });

    var length = QueryLoader.items.length;

    QueryLoader.doneStatus = length;

    for (var i = 0; i < length; i ++) {}

    var imgLoad = $("< img >< / img >");

    $(imgLoad) .attr ("src", QueryLoader.items [i]);

    $(imgLoad) .unbind ("load");

    .one $(imgLoad) ("load", function() {//IE Cache difficulty

    QueryLoader.imgCallback ();

    {.each (function ())}

    If (this.Complete) $(this) .load ();

    });

    $(imgLoad) .appendTo ($(QueryLoader.preloader));

    }

    },

    spawnLoader: function() {}

    If (QueryLoader.selectorPreload == 'body') {}

    var height = $(window) () .height;

    var width = $(window) () .width;

    position var = 'fixed ';

    } else {}

    var height = $(QueryLoader.selectorPreload) .outerHeight ();

    var width = $(QueryLoader.selectorPreload) .outerWidth ();

    position var = 'absolute ';

    }

    var left = $(QueryLoader.selectorPreload) .offset ('left');

    Top Var = $(QueryLoader.selectorPreload) .offset () ['top'];

    QueryLoader.overlay = $("<div></div>").appendTo ($(QueryLoader.selectorPreload));

    $(QueryLoader.overlay) .addClass ("QOverlay");

    $(QueryLoader.overlay) .css ({}

    position: position,.

    top: top,

    left: left,

    Width: width + "px";

    height: size + "px".

    });

    QueryLoader.loadBar = $("<div></div>").appendTo ($(QueryLoader.overlay));

    $(QueryLoader.loadBar) .addClass ("QLoader");

    $(QueryLoader.loadBar) .css ({}

    position: "next of kin"

    top: '50% ',.

    Width: '0% '.

    });

    QueryLoader.loadAmt = $("<div>0%</div>").appendTo ($(QueryLoader.overlay));

    $(QueryLoader.loadAmt) .addClass ("QAmt");

    $(QueryLoader.loadAmt) .css ({}

    position: "next of kin"

    top: '50% ',.

    left: '50% '.

    });

    },

    animateLoader: function() {}

    PERC = var (100 / QueryLoader.doneStatus) * QueryLoader.doneNow;

    If {(perc > 99)

    $(QueryLoader.loadAmt).html("100%");

    $(QueryLoader.loadBar) .stop ().animate({)

    Width: perc + '% '.

    }, 500, 'linear', function() {}

    QueryLoader.doneLoad ();

    });

    } else {}

    $(QueryLoader.loadBar) .stop ().animate({)

    Width: perc + '% '.

    (}, 500, 'linear', function() End);

    $(QueryLoader.loadAmt).html(Math.floor(perc)+"%");

    }

    },

    doneLoad: function() {}

    prevent IE to call the fix

    clearTimeout() (QueryLoader.ieTimeout);

    determine the height of the preloader for the effect

    If (QueryLoader.selectorPreload == 'body') {}

    var height = $(window) () .height;

    } else {}

    var height = $(QueryLoader.selectorPreload) .outerHeight ();

    }

    The end animation, adapt to your tastes

    $(QueryLoader.loadAmt) () .hide;

    $(QueryLoader.loadBar) .animate ({}

    height: size + "px";

    top: 0

    }, 500, 'linear', function() {}

    $(QueryLoader.overlay) .fadeOut (800);

    $(QueryLoader.preloader) .remove ();

    });

    }

    }

    yepnope ({nope: []})

    "queryLoader.css,"

    ({], complete: Initialize});

    function initialize () {}

    QueryLoader.init ();

    }

    Note: when you are in the edge and press ctrl + enter it project charge very well in IE, Chrome, and Safari without any problems!  but when to save and run the HTML file, the problem would appear!

    But if you run this HTML file in Firefox everything works like a charm...

    I don't really know what can do, I used all my knowledge I had in java programming but no luck :'(

    Please help me...

    Note: you must use this code inside Preloader > loading

    & Place CSS file to the main folder of your project dashboard

    Zaxist

    Hello Zaxist,

    I'm sorry that I didn't notice the date of your post.

    In any case, I changed or updated same (former) script a bit to 'load' event inside the latest version of Adobe Edge in the Preloader to animate.
    It seems to work for me now. Although I have only used a bar preloader (but also in percentage) instead of a textbox control.

    I tested in Firefox, Internet Explorer, Opera, Maxthon, Chrome and Safari. Sorry not on mobile yet.

    I thought I'd share it to anyone who can use it.

    I will certainly check the example 'Codingjack' too. It will probably be a better solution.
    Thnx for the quick response!

    Kind regards

    Lester.

    var ldr_bar = "";

    LDR var = "";

    var a_imgs = new Array();

    var img_ldd = 0;

    var ie_ld_fix_time = 10;

    var ie_timeout = "";

    var perc;

    var i;

    var img_ldr;

    var a_imgs_l;

    function init() {}

    If (navigator.userAgent.match (/ MSIE (\d+ (?: \. \d+)+(?:b\d*)?) /) == 'MSIE 6.0,6.0') {}

    BREAK IF IE6

    Returns false;

    }

    add_ldr_bar();

    get_imgs();

    create_ldr();

    HELP IS TO SAY DROWN IF IT TRIES TO DIE

    ie_timeout = setTimeout (ie_ld_fix (), ie_ld_fix_time);

    }

    function ie_ld_fix() {}

    {if (detect_ie ())}

    If (100 / a_imgs_l * img_ldd)< 100)="">

    img_ldd ++;

    anim_ldr_bar();

    ie_timeout = setTimeout (ie_ld_fix (), ie_ld_fix_time);

    }

    }

    }

    function detect_ie() {}

    UA = window.navigator.userAgent var;

    MSIE = ua.indexOf ('MSIE') var;

    Trident var = ua.indexOf('Trident/');

    If (msie > 0) {}

    IE 10 OR MORE => THE VERSION NUMBER OF RETURN

    return parseInt (ua.substring (msie + 5, ua.indexOf ('.))) (((', msie)), 10);

    }

    If (trident > 0) {}

    IE 11 (OR NEWER)-ONLINE VERSION OF BACK NUMBER

    var rv = ua.indexOf('rv:');

    return parseInt (ua.substring (rv + 3, ua.indexOf ('.))) (((', rv)), 10);

    }

    OTHER BROWSER

    Returns false;

    }

    function get_imgs() {}

    var all = $("body").find ("*: {not (script)" "}") .each (function ()})

    var url = "";

    If ($(this).css("background-image")! = 'none') {}

    var url = $(this).css("background-image");

    } else if (typeof ($(this) .attr ("src"))! = "undefined" & $(this).prop("tagName").toLowerCase () == 'img') {}

    var url = $(this) .attr ("src");

    }

    URL = url.replace ("url (\" ",)" "");

    URL = url.replace ("url (", "" ");")

    (URL = url.replace("\")"," ");

    ((URL = url.replace ("")"," ");

    If (url.length > 0) {}

    a_imgs.push (URL);

    }

    a_imgs_l = a_imgs.length;

    });

    }

    function create_ldr() {}

    LDR = $(')

    ') .appendTo ("body");

    $(ldr) .css ({height: "0px", width: "0px", overflow: 'hidden'});

    $(ldr) .addClass ('ldr');

    for (i = 0; i< a_imgs_l;="" i++)="">

    (function (i) {}

    img_ldr = $("");

    $(img_ldr) .attr ("src", a_imgs [i]);

    $(img_ldr) .unbind ("load");

    .one $(img_ldr) ('load', function() {}

    Fix IE Cache

    img_ldd ++;

    anim_ldr_bar();

    {.each (function ())}

    If (this.Complete) $(this) .load ();

    });

    $(img_ldr) .appendTo ($(ldr));

    })(i);

    }

    }

    function add_ldr_bar() {}

    ldr_bar = $(')

    ') .appendTo ($("body"));

    $(ldr_bar) .css ({"background-color": "#ffcc00", height: "2px", position: "fixed", top: 0});

    $(ldr_bar) .addClass ('ldr_bar');

    }

    function anim_ldr_bar() {}

    PERC = 100 / a_imgs_l * img_ldd;

    Console.log(PERC+"%") "

    If {(perc > 99)

    $(ldr_bar) .stop ().animate({)

    Width: perc + '% '.

    }, 500, 'linear', function() {}

    on_complete();

    });

    } else {}

    $(ldr_bar) .stop ().animate({)

    Width: perc + '% '.

    (}, 500, 'linear', function() {});

    }

    }

    function on_complete() {}

    PREVENT IE TO CALL THE FIX

    clearTimeout() (ie_timeout);

    ANIMATE THE LDR ON & REMOVE

    $(document.getElementsByClassName ("ldr")) .remove ();

    $(document.getElementsByClassName ("ldr_bar")) .fadeOut (800, function() {}

    $(document.getElementsByClassName ("ldr_bar")) .remove ();

    });

    }

    //

    init();

  • Set the value of a variable using a conditional, on a sliding scale?

    Basically what I'm doing, is assign the variable "supplement" a number of base on the Variable 'numberOfSheets '. The only problem is that I need to assign a different variable for each leaf up to 6,000. All about 6000 will have the same variable.

    Someone has any idea how to write something like this, without having to show the sources individually each sheet?

    Here's an example of my code...

    function calculateUpCharge (): void {}

    {if (numberOfSheets = 1)}

    upCharge = number (20);

    }

    ElseIf (numberOfSheets = 2) {}

    upCharge = number (19.5);

    }

    ElseIf (numberOfSheets = 3) {}

    upCharge = number (19);

    }

    ElseIf (numberOfSheets = 4) {}

    upCharge = number (18.5);

    }

    ElseIf (numberOfSheets = 5) {}

    upCharge = number (18);

    }}

    What is a linear function?  If so, use:

    var m:Number;

    var b:Number;

    paramF (6000,2,1,20);

    function calculateUpCharge (): void {}

    upCharge = m * numberOfSheets + b

    upCharge = Math.max (upCharge, m * 6000 + b;)

    }

    function paramF(x1:Number,y1:Number,x2:Number,y2:Number):void {}

    m =(Y1-Y2) /(x1-x2);

    b = y1 - m * x 1;

    }

Maybe you are looking for

  • Pavilion slimline s5-1014: CD rom is not working after upgrade Windows 10

    My Cd rom no longer works after upgrade to windows 10.  I read the posts that I should go to Device Manager to update, however it doesn't appear in the device driver.  How to solve this problem? Thank you

  • When the unit is shut DOWN Satellite 2400 lock

    My camera is a 2400. Recently, when I try to shut down using Win XP it works until the message "windows will now stop." At this point, the image freezes with the pointer of the mouse in place. I installed a new HD with a new OS Win XP Pro. I download

  • size_t numerical control by GUI

    I'm getting some CVI behaviors for 32-bit application and 64-bit. Specific, I want to build the application so that I only need re-compilation for each output of 32-bit or 64-bit. One of them uses integers signed and not signed in entrance and exits

  • Recovery partition does not

    Hi all I'm a newbie on the site and would very much appreciate if you wise experienced could help me with this one. I have a HP Compaq dx2250 desktop running xp pro 64 bit. It is about four years old now and normally works fine until about a fortnigh

  • HP Support Assistant unable to complete downloading updates of Compaq Presario CQ60-206US

    Made a recovery using system recovery discs and the newly installed DVD player jumped during just before disc one was through. I closed and tighten the screw for DVD player and on disc 1. I did a sytem recovery before on this laptop and no problems.