Hi Spencer, yes the ScalarOrArray type will work and be fast. In that case you could have also not specified the types at all. We call this "duck typing" which is a term that comes from the python world.
I think there is no "preferred" way to do this in Julia and there are people that favor the one while others favor the other. >From my perspective the most important aspect of specifying types is to "leave out" specific types. This is kind of a predicate that the right types are passed. This will give the user a clear error message when the wrong type is passed. Otherwise one will get an error at a deeper level, which might be less clear (or even no error but a non-expected result) On the other hand, making the type to strict will make library code less generic for reuse by others ("don't overtype" is a phrase you might find when searching the forum or the github project pages). Cheers, Tobi Am Dienstag, 19. August 2014 21:54:37 UTC+2 schrieb Spencer Lyon: > > I just read Tobais’ comment more closely: > > Specifying types is not done for performance reasons but to allow for > dispatching on the type > > It seems that if that is true it shouldn’t make any performance difference > for how I define bar > > I still wonder which of the foos and which of the bars is the best > example of “idomatic” (or proper/preferred) Julia. Does anyone have any > comments on that? > > On Tuesday, August 19, 2014 12:51:29 PM UTC-7, Spencer Lyon wrote: > > Excellent, thank you for the quick and helpful responses. > > One more related question. > > If I were to define a function that could either on an Array{T} where T > <: Number or on T itself, is there any reason not to do this: > > typealias ScalarOrArray{T} Union(T, Array{T}) > > function bar{T}(x::ScalarOrArray{T}, y::ScalarOrArray{T}) = x+y > > My real question is would there be performance penalties for using Union > in this way? > > Would it help the compiler at all to define this as > > function bar{T}(x::Array{T}, y::Array{T}) = x+y > > function bar{T}(x::Array{T}, y::T) = x+y > > function bar{T}(x::T, y::Array{T}) = x+y > > function bar{T}(x::T, y::T) = x+y > > ? > > On Tuesday, August 19, 2014 11:45:10 AM UTC-7, Johan Sigfrids wrote: > > Performance wise it makes no difference. The JIT will produce the same > code for all three: > > foo1(x::Real, y::Real) = x + y > > foo2{ T<: Real}(x::T, y::T) = x + y > > foo3{T <: Real, S <: Real}(x::T, y::S) = x + y > > You can verify it by running @code_native on all of them. They will all > result in the same machine code for the same input types. > > @code_native foo1(1, 1) > > .text > Filename: none > Source line: 1 > push RBP > mov RBP, RSP > Source line: 1 > add RCX, RDX > mov RAX, RCX > pop RBP > ret > > > The one difference is that foo2 requires both x and y to be of the same > type: > > foo2(1, 1.0) > > `foo2` has no method matching foo2(::Int64, ::Float64) > > > You can mix and match Real types with foo1 and foo3. > > On Tuesday, August 19, 2014 9:30:42 PM UTC+3, Spencer Lyon wrote: > > Suppose I am defining a function that operates on any two real numbers. > Which of the following ways of specifying types is preferred (in terms of > idomatic Julia and performance considerations) and why? > > ```julia > > function foo1(x::Real, y::Real) = ... > > function foo2{ T<: Real}(x::T, y::T) = ... > > function foo3{T <: Real, S <: Real}(x::T, y::S) = ... > ``` > > > > > > > > > > <div > title="MDH:PGRpdiBjbGFzcz0ibWFya2Rvd24taGVyZS13cmFwcGVyIiBkYXRhLW1kLXVybD0iZ3JvdXBzLmdv > > b2dsZS5jb20iIHN0eWxlPSIiIG1hcmtkb3duLWhlcmUtd3JhcHBlci1jb250ZW50LW1vZGlmaWVk > PSJ0cnVlIj48cCBzdHlsZT0ibWFyZ2luOiAxLjJlbSAwcHggIWltcG9ydGFudDsiPkkganVzdCBy > ZWFkIFRvYmFpc+KAmSBjb21tZW50IG1vcmUgY2xvc2VseTogPC9wPgo8cCBzdHlsZT0ibWFyZ2lu > OiAxLjJlbSAwcHggIWltcG9ydGFudDsiPjwvcD48ZGl2IGNsYXNzPSJtYXJrZG93bi1oZXJlLWV4 > Y2x1ZGUiPjxwPjwvcD48YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luOiAxLjJlbSAwcHg7Ym9yZGVy > LWxlZnQtd2lkdGg6IDRweDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3JkZXItbGVmdC1j > b2xvcjogcmdiKDIyMSwgMjIxLCAyMjEpOyBwYWRkaW5nOiAwcHggMWVtOyBjb2xvcjogcmdiKDEx > OSwgMTE5LCAxMTkpOyBxdW90ZXM6IG5vbmU7Ij4KPHAgc3R5bGU9Im1hcmdpbjogMS4yZW0gMHB4 > ICFpbXBvcnRhbnQ7Ij5TcGVjaWZ5aW5nIHR5cGVzIGlzIG5vdCBkb25lIGZvciBwZXJmb3JtYW5j > ZSByZWFzb25zIGJ1dCB0byBhbGxvdyBmb3IgZGlzcGF0Y2hpbmcgb24gdGhlIHR5cGU8L3A+Cjwv > YmxvY2txdW90ZT48cD48L3A+PC9kaXY+PHAgc3R5bGU9Im1hcmdpbjogMS4yZW0gMHB4ICFpbXBv > cnRhbnQ7Ij48L3A+CjxwIHN0eWxlPSJtYXJnaW46IDEuMmVtIDBweCAhaW1wb3J0YW50OyI+SXQg > c2VlbXMgdGhhdCBpZiB0aGF0IGlzIHRydWUgaXQgc2hvdWxkbuKAmXQgbWFrZSBhbnkgcGVyZm9y > bWFuY2UgZGlmZmVyZW5jZSBmb3IgaG93IEkgZGVmaW5lIGBiYXJgPC9wPjxwIHN0eWxlPSJtYXJn > aW46IDEuMmVtIDBweCAhaW1wb3J0YW50OyI+PGJyPkkgIHN0aWxsIHdvbmRlciB3aGljaCBvZiB0 > aGUgYGZvb2BzIGFuZCB3aGljaCBvZiB0aGUgYGJhcmBzIGlzIHRoZSBiZXN0IGV4YW1wbGUgb2Yg > 4oCcaWRvbWF0aWPigJ0gKG9yIHByb3Blci9wcmVmZXJyZWQpIEp1bGlhLiBEb2VzIGFueW9uZSBo > YXZlIGFueSBjb21tZW50cyBvbiB0aGF0PzwvcD4KPHAgc3R5bGU9Im1hcmdpbjogMS4yZW0gMHB4 > ICFpbXBvcnRhbnQ7Ij5PbiBUdWVzZGF5LCBBdWd1c3QgMTksIDIwMTQgMTI6NTE6MjkgUE0gVVRD > LTcsIFNwZW5jZXIgTHlvbiB3cm90ZTogPC9wPgo8cCBzdHlsZT0ibWFyZ2luOiAxLjJlbSAwcHgg > IWltcG9ydGFudDsiPjwvcD48ZGl2IGNsYXNzPSJtYXJrZG93bi1oZXJlLWV4Y2x1ZGUiPjxwPjwv > cD48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46IDA7bWFyZ2lu > LWxlZnQ6IDAuOGV4O2JvcmRlci1sZWZ0OiAxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6IDFl > eDsiPjxkaXY+PHAgc3R5bGU9Im1hcmdpbjoxLjJlbSAwcHghaW1wb3J0YW50Ij5FeGNlbGxlbnQs > IHRoYW5rIHlvdSBmb3IgdGhlIHF1aWNrIGFuZCBoZWxwZnVsIHJlc3BvbnNlcy4gPC9wPgo8cCBz > dHlsZT0ibWFyZ2luOjEuMmVtIDBweCFpbXBvcnRhbnQiPk9uZSBtb3JlIHJlbGF0ZWQgcXVlc3Rp > b24uPC9wPgo8cCBzdHlsZT0ibWFyZ2luOjEuMmVtIDBweCFpbXBvcnRhbnQiPklmIEkgd2VyZSB0 > byBkZWZpbmUgYSBmdW5jdGlvbiB0aGF0IGNvdWxkIGVpdGhlciBvbiBhbiA8Y29kZSBzdHlsZT0i > Zm9udC1zaXplOjAuODVlbTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVy > LG1vbm9zcGFjZTttYXJnaW46MHB4IDAuMTVlbTtwYWRkaW5nOjBweCAwLjNlbTt3aGl0ZS1zcGFj > ZTpwcmUtd3JhcDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMzQsMjM0LDIzNCk7Ym9yZGVyLXRvcC1s > ZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20t > cmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweDtkaXNwbGF5Omlu > bGluZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDgsMjQ4LDI0OCkiPkFycmF5e1R9PC9jb2RlPiB3 > aGVyZSA8Y29kZSBzdHlsZT0iZm9udC1zaXplOjAuODVlbTtmb250LWZhbWlseTpDb25zb2xhcyxJ > bmNvbnNvbGF0YSxDb3VyaWVyLG1vbm9zcGFjZTttYXJnaW46MHB4IDAuMTVlbTtwYWRkaW5nOjBw > eCAwLjNlbTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMzQsMjM0 > LDIzNCk7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6 > M3B4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFk > aXVzOjNweDtkaXNwbGF5OmlubGluZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDgsMjQ4LDI0OCki > PlQgJmx0OzogTnVtYmVyPC9jb2RlPiBvciBvbiA8Y29kZSBzdHlsZT0iZm9udC1zaXplOjAuODVl > bTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1vbm9zcGFjZTttYXJn > aW46MHB4IDAuMTVlbTtwYWRkaW5nOjBweCAwLjNlbTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtib3Jk > ZXI6MXB4IHNvbGlkIHJnYigyMzQsMjM0LDIzNCk7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7 > Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNw > eDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweDtkaXNwbGF5OmlubGluZTtiYWNrZ3JvdW5k > LWNvbG9yOnJnYigyNDgsMjQ4LDI0OCkiPlQ8L2NvZGU+IGl0c2VsZiwgaXMgdGhlcmUgYW55IHJl > YXNvbiBub3QgdG8gZG8gdGhpczo8L3A+CjxwcmUgc3R5bGU9ImZvbnQtc2l6ZTowLjg1ZW07Zm9u > dC1mYW1pbHk6Q29uc29sYXMsSW5jb25zb2xhdGEsQ291cmllcixtb25vc3BhY2U7Zm9udC1zaXpl > OjFlbTtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MS4yZW0gMHB4Ij48Y29kZSBzdHlsZT0iZm9u > dC1zaXplOjAuODVlbTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1v > bm9zcGFjZTttYXJnaW46MHB4IDAuMTVlbTtwYWRkaW5nOjBweCAwLjNlbTt3aGl0ZS1zcGFjZTpw > cmUtd3JhcDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMzQsMjM0LDIzNCk7Ym9yZGVyLXRvcC1sZWZ0 > LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tcmln > aHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweDtkaXNwbGF5OmlubGlu > ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDgsMjQ4LDI0OCk7d2hpdGUtc3BhY2U6cHJlO292ZXJm > bG93OmF1dG87Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRp > dXM6M3B4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQt > cmFkaXVzOjNweDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZzowLjVl > bSAwLjdlbTtkaXNwbGF5OmJsb2NrO2NvbG9yOnJnYig3Nyw3Nyw3Nik7cGFkZGluZzowLjVlbTti > YWNrZ3JvdW5kOndoaXRlIj50eXBlYWxpYXMgU2NhbGFyT3JBcnJheXtUfSBVbmlvbihULCBBcnJh > eXtUfSkKCmZ1bmN0aW9uIGJhcntUfSh4OjpTY2FsYXJPckFycmF5e1R9LCB5OjpTY2FsYXJPckFy > cmF5e1R9KSA9IHgreQo8L2NvZGU+PC9wcmU+CjxwIHN0eWxlPSJtYXJnaW46MS4yZW0gMHB4IWlt > cG9ydGFudCI+TXkgcmVhbCBxdWVzdGlvbiBpcyB3b3VsZCB0aGVyZSBiZSBwZXJmb3JtYW5jZSBw > ZW5hbHRpZXMgZm9yIHVzaW5nIDxjb2RlIHN0eWxlPSJmb250LXNpemU6MC44NWVtO2ZvbnQtZmFt > aWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENvdXJpZXIsbW9ub3NwYWNlO21hcmdpbjowcHggMC4x > NWVtO3BhZGRpbmc6MHB4IDAuM2VtO3doaXRlLXNwYWNlOnByZS13cmFwO2JvcmRlcjoxcHggc29s > aWQgcmdiKDIzNCwyMzQsMjM0KTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweDtib3JkZXItdG9w > LXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1i > b3R0b20tbGVmdC1yYWRpdXM6M3B4O2Rpc3BsYXk6aW5saW5lO2JhY2tncm91bmQtY29sb3I6cmdi > KDI0OCwyNDgsMjQ4KSI+VW5pb248L2NvZGU+IGluIHRoaXMgd2F5PzwvcD4KPHAgc3R5bGU9Im1h > cmdpbjoxLjJlbSAwcHghaW1wb3J0YW50Ij5Xb3VsZCBpdCBoZWxwIHRoZSBjb21waWxlciBhdCBh > bGwgdG8gZGVmaW5lIHRoaXMgYXM8L3A+CjxwcmUgc3R5bGU9ImZvbnQtc2l6ZTowLjg1ZW07Zm9u > dC1mYW1pbHk6Q29uc29sYXMsSW5jb25zb2xhdGEsQ291cmllcixtb25vc3BhY2U7Zm9udC1zaXpl > OjFlbTtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MS4yZW0gMHB4Ij48Y29kZSBzdHlsZT0iZm9u > dC1zaXplOjAuODVlbTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1v > bm9zcGFjZTttYXJnaW46MHB4IDAuMTVlbTtwYWRkaW5nOjBweCAwLjNlbTt3aGl0ZS1zcGFjZTpw > cmUtd3JhcDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMzQsMjM0LDIzNCk7Ym9yZGVyLXRvcC1sZWZ0 > LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tcmln > aHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweDtkaXNwbGF5OmlubGlu > ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDgsMjQ4LDI0OCk7d2hpdGUtc3BhY2U6cHJlO292ZXJm > bG93OmF1dG87Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRp > dXM6M3B4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQt > cmFkaXVzOjNweDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZzowLjVl > bSAwLjdlbTtkaXNwbGF5OmJsb2NrO2NvbG9yOnJnYig3Nyw3Nyw3Nik7cGFkZGluZzowLjVlbTti > YWNrZ3JvdW5kOndoaXRlIj5mdW5jdGlvbiBiYXJ7VH0oeDo6QXJyYXl7VH0sIHk6OkFycmF5e1R9 > KSA9IHgreQoKZnVuY3Rpb24gYmFye1R9KHg6OkFycmF5e1R9LCB5OjpUKSA9IHgreQoKZnVuY3Rp > b24gYmFye1R9KHg6OlQsIHk6OkFycmF5e1R9KSA9IHgreQoKZnVuY3Rpb24gYmFye1R9KHg6OlQs > IHk6OlQpID0geCt5CjwvY29kZT48L3ByZT4KPHAgc3R5bGU9Im1hcmdpbjoxLjJlbSAwcHghaW1w > b3J0YW50Ij4/PC9wPgo8cCBzdHlsZT0ibWFyZ2luOjEuMmVtIDBweCFpbXBvcnRhbnQiPk9uIFR1 > ZXNkYXksIEF1Z3VzdCAxOSwgMjAxNCAxMTo0NToxMCBBTSBVVEMtNywgSm9oYW4gU2lnZnJpZHMg > d3JvdGU6PC9wPgo8cCBzdHlsZT0ibWFyZ2luOjEuMmVtIDBweCFpbXBvcnRhbnQiPjwvcD48ZGl2 > PjxwPjwvcD48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MDtt > YXJnaW4tbGVmdDowLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6 > MWV4Ij5QZXJmb3JtYW5jZSB3aXNlIGl0IG1ha2VzIG5vIGRpZmZlcmVuY2UuIFRoZSBKSVQgd2ls > bCBwcm9kdWNlIHRoZSBzYW1lIGNvZGUgZm9yIGFsbCB0aHJlZTo8YnI+PGJyPjxkaXY+PHByZT48 > c3Bhbj5mb28xPC9zcGFuPig8c3Bhbj54PC9zcGFuPjxzcGFuPjo6PC9zcGFuPjxzcGFuPlJlYWw8 > L3NwYW4+LCA8c3Bhbj55PC9zcGFuPjxzcGFuPjo6PC9zcGFuPjxzcGFuPlJlYWw8L3NwYW4+KSA8 > c3Bhbj49PC9zcGFuPiA8c3Bhbj54PC9zcGFuPiA8c3Bhbj4rPC9zcGFuPiA8c3Bhbj55PC9zcGFu > PjwvcHJlPjxwcmU+PHNwYW4+Zm9vMjwvc3Bhbj57IDxzcGFuPlQ8L3NwYW4+PHNwYW4+Jmx0Ozo8 > L3NwYW4+IDxzcGFuPlJlYWw8L3NwYW4+fSg8c3Bhbj54PC9zcGFuPjxzcGFuPjo6PC9zcGFuPjxz > cGFuPlQ8L3NwYW4+LCA8c3Bhbj55PC9zcGFuPjxzcGFuPjo6PC9zcGFuPjxzcGFuPlQ8L3NwYW4+ > KSA8c3Bhbj49PC9zcGFuPiA8c3Bhbj54PC9zcGFuPiA8c3Bhbj4rPC9zcGFuPiA8c3Bhbj55PC9z > cGFuPjwvcHJlPjxwcmU+PHNwYW4+Zm9vMzwvc3Bhbj57PHNwYW4+VDwvc3Bhbj4gPHNwYW4+Jmx0 > Ozo8L3NwYW4+IDxzcGFuPlJlYWw8L3NwYW4+LCA8c3Bhbj5TPC9zcGFuPiA8c3Bhbj4mbHQ7Ojwv > c3Bhbj4gPHNwYW4+UmVhbDwvc3Bhbj59KDxzcGFuPng8L3NwYW4+PHNwYW4+Ojo8L3NwYW4+PHNw > YW4+VDwvc3Bhbj4sIDxzcGFuPnk8L3NwYW4+PHNwYW4+Ojo8L3NwYW4+PHNwYW4+Uzwvc3Bhbj4p > IDxzcGFuPj08L3NwYW4+IDxzcGFuPng8L3NwYW4+IDxzcGFuPis8L3NwYW4+IDxzcGFuPnk8L3Nw > YW4+PC9wcmU+PC9kaXY+PGRpdj48ZGl2PjxwcmU+PC9wcmU+PC9kaXY+PC9kaXY+WW91IGNhbiB2 > ZXJpZnkgaXQgYnkgcnVubmluZyA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6Y291cmllciBuZXcs > bW9ub3NwYWNlIj5AY29kZV9uYXRpdmUgPC9zcGFuPm9uIGFsbCBvZiB0aGVtLiBUaGV5IHdpbGwg > YWxsIHJlc3VsdCBpbiB0aGUgc2FtZSBtYWNoaW5lIGNvZGUgZm9yIHRoZSBzYW1lIGlucHV0IHR5 > cGVzLjxicj48YnI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmNvdXJpZXIgbmV3LG1vbm9zcGFj > ZSI+QGNvZGVfbmF0aXZlIGZvbzEoMSwgMSk8L3NwYW4+PGJyPjxicj48cHJlPgkudGV4dApGaWxl > bmFtZTogbm9uZQpTb3VyY2UgbGluZTogMQoJcHVzaAlSQlAKCW1vdglSQlAsIFJTUApTb3VyY2Ug > bGluZTogMQoJYWRkCVJDWCwgUkRYCgltb3YJUkFYLCBSQ1gKCXBvcAlSQlAKCXJldDwvcHJlPjxi > cj5UaGUgb25lIGRpZmZlcmVuY2UgaXMgdGhhdCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6Y291 > cmllciBuZXcsbW9ub3NwYWNlIj5mb28yIDwvc3Bhbj5yZXF1aXJlcyBib3RoIHggYW5kIHkgdG8g > YmUgb2YgdGhlIHNhbWUgdHlwZTo8YnI+PGJyPjxkaXY+PHByZT48c3Bhbj5mb28yPC9zcGFuPig8 > c3Bhbj4xPC9zcGFuPiwgPHNwYW4+MS4wPC9zcGFuPik8L3ByZT48L2Rpdj48ZGl2PjxkaXY+PGRp > dj48cHJlPmBmb28yYCBoYXMgbm8gbWV0aG9kIG1hdGNoaW5nIGZvbzIoOjpJbnQ2NCwgOjpGbG9h > dDY0KQoKPC9wcmU+PC9kaXY+PC9kaXY+PC9kaXY+WW91IGNhbiBtaXggYW5kIG1hdGNoIFJlYWwg > dHlwZXMgd2l0aCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6Y291cmllciBuZXcsbW9ub3NwYWNl > Ij5mb28xIDwvc3Bhbj5hbmQgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmNvdXJpZXIgbmV3LG1v > bm9zcGFjZSI+Zm9vMzwvc3Bhbj4uPGJyPjxicj5PbiBUdWVzZGF5LCBBdWd1c3QgMTksIDIwMTQg > OTozMDo0MiBQTSBVVEMrMywgU3BlbmNlciBMeW9uIHdyb3RlOjxibG9ja3F1b3RlIGNsYXNzPSJn > bWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowO21hcmdpbi1sZWZ0OjAuOGV4O2JvcmRlci1sZWZ0 > OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiPlN1cHBvc2Ug > SSBhbSBkZWZpbmluZyBhIGZ1bmN0aW9uIHRoYXQgb3BlcmF0ZXMgb24gYW55IHR3byByZWFsIG51 > bWJlcnMuIFdoaWNoIG9mIHRoZSBmb2xsb3dpbmcgd2F5cyBvZiBzcGVjaWZ5aW5nIHR5cGVzIGlz > IHByZWZlcnJlZCAoaW4gdGVybXMgb2YgaWRvbWF0aWMgSnVsaWEgYW5kIHBlcmZvcm1hbmNlIGNv > bnNpZGVyYXRpb25zKSBhbmQgd2h5PzxkaXY+PGJyPjwvZGl2PjxkaXY+YGBganVsaWE8L2Rpdj48 > ZGl2Pjxicj48L2Rpdj48ZGl2PmZ1bmN0aW9uIGZvbzEoeDo6UmVhbCwgeTo6UmVhbCkgPSAuLi48 > L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PmZ1bmN0aW9uIGZvbzJ7IFQmbHQ7OiBSZWFsfSh4OjpU > LCB5OjpUKSA9IC4uLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PmZ1bmN0aW9uIGZvbzN7 > VCAmbHQ7OiBSZWFsLCBTICZsdDs6IFJlYWx9KHg6OlQsIHk6OlMpID0gLi4uPGJyPjwvZGl2Pjxk > aXY+YGBgPC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90 > ZT48cD48L3A+PC9kaXY+PHAgc3R5bGU9Im1hcmdpbjoxLjJlbSAwcHghaW1wb3J0YW50Ij48L3A+ > CjxkaXYgdGl0bGU9Ik1ESDpSWGhqWld4c1pXNTBMQ0IwYUdGdWF5QjViM1VnWm05eUlIUm9aU0J4 > ZFdsamF5QmhibVFnYUdWc2NHWjFiQ0J5WlhOd2IyNXpaWE11CndxQThaR2wyUGp4aWNqNDhMMlJw > ZGo0OFpHbDJQazl1WlNCdGIzSmxJSEpsYkdGMFpXUWdjWFZsYzNScGIyNHVQQzlrYVhZK1BHUnAK > ZGo0OFluSStQQzlrYVhZK1BHUnBkajVKWmlCSklIZGxjbVVnZEc4Z1pHVm1hVzVsSUdFZ1puVnVZ > M1JwYjI0Z2RHaGhkQ0JqYjNWcwpaQ0JsYVhSb1pYSWdiMjRnWVc0Z1lFRnljbUY1ZTFSOVlDQjNh > R1Z5WlNCZ1ZDQW1iSFE3T2lCT2RXMWlaWEpnSUc5eUlHOXVJR0JVCllDQnBkSE5sYkdZc0lHbHpJ > SFJvWlhKbElHRnVlU0J5WldGemIyNGdibTkwSUhSdklHUnZJSFJvYVhNNlBDOWthWFkrUEdScGRq > NDgKWW5JK1BDOWthWFkrUEdScGRqNWdZR0JxZFd4cFlUd3ZaR2wyUGp4a2FYWStkSGx3WldGc2FX > RnpJRk5qWVd4aGNrOXlRWEp5WVhsNwpWSDBnVlc1cGIyNG9WQ3dnUVhKeVlYbDdWSDBwUEM5a2FY > WStQR1JwZGo0OFluSStQQzlrYVhZK1BHUnBkajVtZFc1amRHbHZiaUJpCllYSjdWSDBvZURvNlUy > TmhiR0Z5VDNKQmNuSmhlWHRVZlN3Z2VUbzZVMk5oYkdGeVQzSkJjbkpoZVh0VWZTa2dQU0I0SzNr > OEwyUnAKZGo0OFpHbDJQbUJnWUR3dlpHbDJQanhrYVhZK1BHSnlQand2WkdsMlBqeGthWFkrVFhr > Z2NtVmhiQ0J4ZFdWemRHbHZiaUJwY3lCMwpiM1ZzWkNCMGFHVnlaU0JpWlNCd1pYSm1iM0p0WVc1 > alpTQndaVzVoYkhScFpYTWdabTl5SUhWemFXNW5JR0JWYm1sdmJtQWdhVzRnCmRHaHBjeUIzWVhr > L1BDOWthWFkrUEdScGRqNDhZbkkrUEM5a2FYWStQR1JwZGo1WGIzVnNaQ0JwZENCb1pXeHdJSFJv > WlNCamIyMXcKYVd4bGNpQmhkQ0JoYkd3Z2RHOGdaR1ZtYVc1bElIUm9hWE1nWVhNOEwyUnBkajQ4 > WkdsMlBqeGljajQ4TDJScGRqNDhaR2wyUG1CZwpZR3AxYkdsaFBDOWthWFkrUEdScGRqNW1kVzVq > ZEdsdmJpQmlZWEo3Vkgwb2VEbzZRWEp5WVhsN1ZIMHNJSGs2T2tGeWNtRjVlMVI5CktTQTlJSGdy > ZVR4aWNqNDhMMlJwZGo0OFpHbDJQbVoxYm1OMGFXOXVJR0poY250VWZTaDRPanBCY25KaGVYdFVm > U3dnZVRvNlZDa2cKUFNCNEszazhZbkkrUEM5a2FYWStQR1JwZGo1bWRXNWpkR2x2YmlCaVlYSjdW > SDBvZURvNlZDd2dlVG82UVhKeVlYbDdWSDBwSUQwZwplQ3Q1UEdKeVBqd3ZaR2wyUGp4a2FYWSta > blZ1WTNScGIyNGdZbUZ5ZTFSOUtIZzZPbFFzSUhrNk9sUXBJRDBnZUN0NVBHSnlQand2ClpHbDJQ > anhrYVhZK1lHQmdQQzlrYVhZK1BHUnBkajQ4WW5JK1BDOWthWFkrUEdScGRqNC9QQzlrYVhZK1BH > UnBkajQ4WW5JK1QyNGcKVkhWbGMyUmhlU3dnUVhWbmRYTjBJREU1TENBeU1ERTBJREV4T2pRMU9q > RXdJRUZOSUZWVVF5MDNMQ0JLYjJoaGJpQlRhV2RtY21sawpjeUIzY205MFpUbzhZbXh2WTJ0eGRX > OTBaU0JqYkdGemN6MGlaMjFoYVd4ZmNYVnZkR1VpSUhOMGVXeGxQU0p0WVhKbmFXNDZJREE3CmJX > RnlaMmx1TFd4bFpuUTZJREF1T0dWNE8ySnZjbVJsY2kxc1pXWjBPaUF4Y0hnZ0kyTmpZeUJ6YjJ4 > cFpEdHdZV1JrYVc1bkxXeGwKWm5RNklERmxlRHNpUGxCbGNtWnZjbTFoYm1ObElIZHBjMlVnYVhR > Z2JXRnJaWE1nYm04Z1pHbG1abVZ5Wlc1alpTNGdWR2hsSUVwSgpWQ0IzYVd4c0lIQnliMlIxWTJV > Z2RHaGxJSE5oYldVZ1kyOWtaU0JtYjNJZ1lXeHNJSFJvY21WbE9qeGljajQ4WW5JK1BHUnBkajQ4 > CmNISmxQanh6Y0dGdVBtWnZiekU4TDNOd1lXNCtLRHh6Y0dGdVBuZzhMM053WVc0K1BITndZVzQr > T2pvOEwzTndZVzQrUEhOd1lXNCsKVW1WaGJEd3ZjM0JoYmo0c0lEeHpjR0Z1UG5rOEwzTndZVzQr > UEhOd1lXNCtPam84TDNOd1lXNCtQSE53WVc0K1VtVmhiRHd2YzNCaApiajRwSUR4emNHRnVQajA4 > TDNOd1lXNCtJRHh6Y0dGdVBuZzhMM053WVc0K0lEeHpjR0Z1UGlzOEwzTndZVzQrSUR4emNHRnVQ > bms4CkwzTndZVzQrUEM5d2NtVStQSEJ5WlQ0OGMzQmhiajVtYjI4eVBDOXpjR0Z1UG5zZ1BITndZ > VzQrVkR3dmMzQmhiajQ4YzNCaGJqNG0KYkhRN09qd3ZjM0JoYmo0Z1BITndZVzQrVW1WaGJEd3Zj > M0JoYmo1OUtEeHpjR0Z1UG5nOEwzTndZVzQrUEhOd1lXNCtPam84TDNOdwpZVzQrUEhOd1lXNCtW > RHd2YzNCaGJqNHNJRHh6Y0dGdVBuazhMM053WVc0K1BITndZVzQrT2pvOEwzTndZVzQrUEhOd1lX > NCtWRHd2CmMzQmhiajRwSUR4emNHRnVQajA4TDNOd1lXNCtJRHh6Y0dGdVBuZzhMM053WVc0K0lE > eHpjR0Z1UGlzOEwzTndZVzQrSUR4emNHRnUKUG5rOEwzTndZVzQrUEM5d2NtVStQSEJ5WlQ0OGMz > QmhiajVtYjI4elBDOXpjR0Z1UG5zOGMzQmhiajVVUEM5emNHRnVQaUE4YzNCaApiajRtYkhRN09q > d3ZjM0JoYmo0Z1BITndZVzQrVW1WaGJEd3ZjM0JoYmo0c0lEeHpjR0Z1UGxNOEwzTndZVzQrSUR4 > emNHRnVQaVpzCmREczZQQzl6Y0dGdVBpQThjM0JoYmo1U1pXRnNQQzl6Y0dGdVBuMG9QSE53WVc0 > K2VEd3ZjM0JoYmo0OGMzQmhiajQ2T2p3dmMzQmgKYmo0OGMzQmhiajVVUEM5emNHRnVQaXdnUEhO > d1lXNCtlVHd2YzNCaGJqNDhjM0JoYmo0Nk9qd3ZjM0JoYmo0OGMzQmhiajVUUEM5egpjR0Z1UGlr > Z1BITndZVzQrUFR3dmMzQmhiajRnUEhOd1lXNCtlRHd2YzNCaGJqNGdQSE53WVc0K0t6d3ZjM0Jo > Ymo0Z1BITndZVzQrCmVUd3ZjM0JoYmo0OEwzQnlaVDQ4TDJScGRqNDhaR2wyUGp4a2FYWStQSEJ5 > WlQ0OEwzQnlaVDQ4TDJScGRqNDhMMlJwZGo1WmIzVWcKWTJGdUlIWmxjbWxtZVNCcGRDQmllU0J5 > ZFc1dWFXNW5JRHh6Y0dGdUlITjBlV3hsUFNKbWIyNTBMV1poYldsc2VUcGpiM1Z5YVdWeQpJRzVs > ZHl4dGIyNXZjM0JoWTJVaVBrQmpiMlJsWDI1aGRHbDJaU0E4TDNOd1lXNCtiMjRnWVd4c0lHOW1J > SFJvWlcwdUlGUm9aWGtnCmQybHNiQ0JoYkd3Z2NtVnpkV3gwSUdsdUlIUm9aU0J6WVcxbElHMWhZ > MmhwYm1VZ1kyOWtaU0JtYjNJZ2RHaGxJSE5oYldVZ2FXNXcKZFhRZ2RIbHdaWE11UEdKeVBqeGlj > ajQ4YzNCaGJpQnpkSGxzWlQwaVptOXVkQzFtWVcxcGJIazZZMjkxY21sbGNpQnVaWGNzYlc5dQpi > M053WVdObElqNUFZMjlrWlY5dVlYUnBkbVVnWm05dk1TZ3hMQ0F4S1R3dmMzQmhiajQ4WW5JK1BH > SnlQanh3Y21VK0NTNTBaWGgwCkNrWnBiR1Z1WVcxbE9pQnViMjVsQ2xOdmRYSmpaU0JzYVc1bE9p > QXhDZ2x3ZFhOb0NWSkNVQW9KYlc5MkNWSkNVQ3dnVWxOUUNsTnYKZFhKalpTQnNhVzVsT2lBeENn > bGhaR1FKVWtOWUxDQlNSRmdLQ1cxdmRnbFNRVmdzSUZKRFdBb0pjRzl3Q1ZKQ1VBb0pjbVYwUEM5 > dwpjbVUrUEdKeVBsUm9aU0J2Ym1VZ1pHbG1abVZ5Wlc1alpTQnBjeUIwYUdGMElEeHpjR0Z1SUhO > MGVXeGxQU0ptYjI1MExXWmhiV2xzCmVUcGpiM1Z5YVdWeUlHNWxkeXh0YjI1dmMzQmhZMlVpUG1a > dmJ6SWdQQzl6Y0dGdVBuSmxjWFZwY21WeklHSnZkR2dnZUNCaGJtUWcKZVNCMGJ5QmlaU0J2WmlC > MGFHVWdjMkZ0WlNCMGVYQmxPanhpY2o0OFluSStQR1JwZGo0OGNISmxQanh6Y0dGdVBtWnZiekk4 > TDNOdwpZVzQrS0R4emNHRnVQakU4TDNOd1lXNCtMQ0E4YzNCaGJqNHhMakE4TDNOd1lXNCtLVHd2 > Y0hKbFBqd3ZaR2wyUGp4a2FYWStQR1JwCmRqNDhaR2wyUGp4d2NtVStZR1p2YnpKZ0lHaGhjeUJ1 > YnlCdFpYUm9iMlFnYldGMFkyaHBibWNnWm05dk1pZzZPa2x1ZERZMExDQTYKT2tac2IyRjBOalFw > Q2dvOEwzQnlaVDQ4TDJScGRqNDhMMlJwZGo0OEwyUnBkajVaYjNVZ1kyRnVJRzFwZUNCaGJtUWdi > V0YwWTJnZwpVbVZoYkNCMGVYQmxjeUIzYVhSb0lEeHpjR0Z1SUhOMGVXeGxQU0ptYjI1MExXWmhi > V2xzZVRwamIzVnlhV1Z5SUc1bGR5eHRiMjV2CmMzQmhZMlVpUG1admJ6RWdQQzl6Y0dGdVBtRnVa > Q0E4YzNCaGJpQnpkSGxzWlQwaVptOXVkQzFtWVcxcGJIazZZMjkxY21sbGNpQnUKWlhjc2JXOXVi > M053WVdObElqNW1iMjh6UEM5emNHRnVQaTQ4WW5JK1BHSnlQazl1SUZSMVpYTmtZWGtzSUVGMVoz > VnpkQ0F4T1N3ZwpNakF4TkNBNU9qTXdPalF5SUZCTklGVlVReXN6TENCVGNHVnVZMlZ5SUV4NWIy > NGdkM0p2ZEdVNlBHSnNiMk5yY1hWdmRHVWdZMnhoCmMzTTlJbWR0WVdsc1gzRjFiM1JsSWlCemRI > bHNaVDBpYldGeVoybHVPakE3YldGeVoybHVMV3hsWm5RNk1DNDRaWGc3WW05eVpHVnkKTFd4bFpu > UTZNWEI0SUNOalkyTWdjMjlzYVdRN2NHRmtaR2x1Wnkxc1pXWjBPakZsZUNJK1BHUnBkaUJrYVhJ > OUlteDBjaUkrVTNWdwpjRzl6WlNCSklHRnRJR1JsWm1sdWFXNW5JR0VnWm5WdVkzUnBiMjRnZEdo > aGRDQnZjR1Z5WVhSbGN5QnZiaUJoYm5rZ2RIZHZJSEpsCllXd2diblZ0WW1WeWN5NGdWMmhwWTJn > Z2IyWWdkR2hsSUdadmJHeHZkMmx1WnlCM1lYbHpJRzltSUhOd1pXTnBabmxwYm1jZ2RIbHcKWlhN > Z2FYTWdjSEpsWm1WeWNtVmtJQ2hwYmlCMFpYSnRjeUJ2WmlCcFpHOXRZWFJwWXlCS2RXeHBZU0Jo > Ym1RZ2NHVnlabTl5YldGdQpZMlVnWTI5dWMybGtaWEpoZEdsdmJuTXBJR0Z1WkNCM2FIay9QR1Jw > ZGo0OFluSStQQzlrYVhZK1BHUnBkajVnWUdCcWRXeHBZVHd2ClpHbDJQanhrYVhZK1BHSnlQand2 > WkdsMlBqeGthWFkrWm5WdVkzUnBiMjRnWm05dk1TaDRPanBTWldGc0xDQjVPanBTWldGc0tTQTkK > SUM0dUxqd3ZaR2wyUGp4a2FYWStQR0p5UGp3dlpHbDJQanhrYVhZK1puVnVZM1JwYjI0Z1ptOXZN > bnNnVkNac2REczZJRkpsWVd4OQpLSGc2T2xRc0lIazZPbFFwSUQwZ0xpNHVQR0p5UGp3dlpHbDJQ > anhrYVhZK1BHSnlQand2WkdsMlBqeGthWFkrWm5WdVkzUnBiMjRnClptOXZNM3RVSUNac2REczZJ > RkpsWVd3c0lGTWdKbXgwT3pvZ1VtVmhiSDBvZURvNlZDd2dlVG82VXlrZ1BTQXVMaTQ4WW5JK1BD > OWsKYVhZK1BHUnBkajVnWUdBOEwyUnBkajQ4WkdsMlBqeGljajQ4TDJScGRqNDhMMlJwZGo0OEwy > SnNiMk5yY1hWdmRHVStQQzlpYkc5agphM0YxYjNSbFBqd3ZaR2wyUGc9PSIgc3R5bGU9Im1pbi1o > ZWlnaHQ6MDtmb250LXNpemU6MGVtO3BhZGRpbmc6MDttYXJnaW46MCI+4oCLPC9kaXY+PC9kaXY+ > PC9ibG9ja3F1b3RlPjxwPjwvcD48L2Rpdj48cCBzdHlsZT0ibWFyZ2luOiAxLjJlbSAwcHggIWlt > cG9ydGFudDsiPjwvcD4KPHAgc3R5bGU9Im1hcmdpbjogMS4yZW0gMHB4ICFpbXBvcnRhbnQ7Ij7i > gIs8YnI+4oCLPC9wPgo8cCBzdHlsZT0ibWFyZ2luOiAxLjJlbSAwcHggIWltcG9ydGFudDsiPuKA > izwvcD4KPGRpdiB0aXRsZT0iTURIOlBHUnBkaUJqYkdGemN6MGliV0Z5YTJSdmQyNHRhR1Z5WlMx > M2NtRndjR1Z5SWlCa1lYUmhMVzFrTFhWeWJEMGlaM0p2ZFhCekxtZHYKYjJkc1pTNWpiMjBpSUhO > MGVXeGxQU0lpSUcxaGNtdGtiM2R1TFdobGNtVXRkM0poY0hCbGNpMWpiMjUwWlc1MExXMXZaR2xt > YVdWawpQU0owY25WbElqNDhjQ0J6ZEhsc1pUMGliV0Z5WjJsdU9pQXhMakpsYlNBd2NIZ2dJV2x0 > Y0c5eWRHRnVkRHNpUGtrZ2FuVnpkQ0J5ClpXRmtJRlJ2WW1GcGMrS0FtU0JqYjIxdFpXNTBJRzF2 > Y21VZ1kyeHZjMlZzZVRvZ1BDOXdQZ284Y0NCemRIbHNaVDBpYldGeVoybHUKT2lBeExqSmxiU0F3 > Y0hnZ0lXbHRjRzl5ZEdGdWREc2lQand2Y0Q0OFpHbDJJR05zWVhOelBTSnRZWEpyWkc5M2JpMW9a > WEpsTFdWNApZMngxWkdVaVBqeHdQand2Y0Q0OFlteHZZMnR4ZFc5MFpTQnpkSGxzWlQwaWJXRnla > Mmx1T2lBeExqSmxiU0F3Y0hnN1ltOXlaR1Z5CkxXeGxablF0ZDJsa2RHZzZJRFJ3ZURzZ1ltOXla > R1Z5TFd4bFpuUXRjM1I1YkdVNklITnZiR2xrT3lCaWIzSmtaWEl0YkdWbWRDMWoKYjJ4dmNqb2dj > bWRpS0RJeU1Td2dNakl4TENBeU1qRXBPeUJ3WVdSa2FXNW5PaUF3Y0hnZ01XVnRPeUJqYjJ4dmNq > b2djbWRpS0RFeApPU3dnTVRFNUxDQXhNVGtwT3lCeGRXOTBaWE02SUc1dmJtVTdJajRLUEhBZ2Mz > UjViR1U5SW0xaGNtZHBiam9nTVM0eVpXMGdNSEI0CklDRnBiWEJ2Y25SaGJuUTdJajVUY0dWamFX > WjVhVzVuSUhSNWNHVnpJR2x6SUc1dmRDQmtiMjVsSUdadmNpQndaWEptYjNKdFlXNWoKWlNCeVpX > RnpiMjV6SUdKMWRDQjBieUJoYkd4dmR5Qm1iM0lnWkdsemNHRjBZMmhwYm1jZ2IyNGdkR2hsSUhS > NWNHVThMM0ErQ2p3dgpZbXh2WTJ0eGRXOTBaVDQ4Y0Q0OEwzQStQQzlrYVhZK1BIQWdjM1I1YkdV > OUltMWhjbWRwYmpvZ01TNHlaVzBnTUhCNElDRnBiWEJ2CmNuUmhiblE3SWo0OEwzQStDanh3SUhO > MGVXeGxQU0p0WVhKbmFXNDZJREV1TW1WdElEQndlQ0FoYVcxd2IzSjBZVzUwT3lJK1NYUWcKYzJW > bGJYTWdkR2hoZENCcFppQjBhR0YwSUdseklIUnlkV1VnYVhRZ2MyaHZkV3hrYnVLQW1YUWdiV0Zy > WlNCaGJua2djR1Z5Wm05eQpiV0Z1WTJVZ1pHbG1abVZ5Wlc1alpTQm1iM0lnYUc5M0lFa2daR1Zt > YVc1bElEeGpiMlJsSUhOMGVXeGxQU0ptYjI1MExYTnBlbVU2CklEQXVPRFZsYlRzZ1ptOXVkQzFt > WVcxcGJIazZJRU52Ym5OdmJHRnpMQ0JKYm1OdmJuTnZiR0YwWVN3Z1EyOTFjbWxsY2l3Z2JXOXUK > YjNOd1lXTmxPMjFoY21kcGJqb2dNSEI0SURBdU1UVmxiVHNnY0dGa1pHbHVaem9nTUhCNElEQXVN > MlZ0T3lCM2FHbDBaUzF6Y0dGagpaVG9nY0hKbExYZHlZWEE3SUdKdmNtUmxjam9nTVhCNElITnZi > R2xrSUhKbllpZ3lNelFzSURJek5Dd2dNak0wS1RzZ1ltOXlaR1Z5CkxYUnZjQzFzWldaMExYSmha > R2wxY3pvZ00zQjRPeUJpYjNKa1pYSXRkRzl3TFhKcFoyaDBMWEpoWkdsMWN6b2dNM0I0T3lCaWIz > SmsKWlhJdFltOTBkRzl0TFhKcFoyaDBMWEpoWkdsMWN6b2dNM0I0T3lCaWIzSmtaWEl0WW05MGRH > OXRMV3hsWm5RdGNtRmthWFZ6T2lBegpjSGc3SUdScGMzQnNZWGs2SUdsdWJHbHVaVHNnWW1GamEy > ZHliM1Z1WkMxamIyeHZjam9nY21kaUtESTBPQ3dnTWpRNExDQXlORGdwCk95SStZbUZ5UEM5amIy > UmxQanhpY2o1SklDWnVZbk53TzNOMGFXeHNJSGR2Ym1SbGNpQjNhR2xqYUNCdlppQjBhR1VnWm05 > dmN5QmgKYm1RZ2QyaHBZMmdnYjJZZ2RHaGxJR0poY25NZ2FYTWdkR2hsSUdKbGMzUWdaWGhoYlhC > c1pTQnZaaURpZ0p4cFpHOXRZWFJwWStLQQpuU0FvYjNJZ2NISnZjR1Z5TDNCeVpXWmxjbkpsWkNr > Z1NuVnNhV0V1SUVSdlpYTWdZVzU1YjI1bElHaGhkbVVnWVc1NUlHTnZiVzFsCmJuUnpJRzl1SUhS > b1lYUS9QR0p5UGp4aWNqNDhMM0ErUEhBZ2MzUjViR1U5SW0xaGNtZHBiam9nTVM0eVpXMGdNSEI0 > SUNGcGJYQnYKY25SaGJuUTdJajQ4WW5JK1BDOXdQanh3SUhOMGVXeGxQU0p0WVhKbmFXNDZJREV1 > TW1WdElEQndlQ0FoYVcxd2IzSjBZVzUwT3lJKwpUMjRnVkhWbGMyUmhlU3dnUVhWbmRYTjBJREU1 > TENBeU1ERTBJREV5T2pVeE9qSTVJRkJOSUZWVVF5MDNMQ0JUY0dWdVkyVnlJRXg1CmIyNGdkM0p2 > ZEdVNklEd3ZjRDRLUEhBZ2MzUjViR1U5SW0xaGNtZHBiam9nTVM0eVpXMGdNSEI0SUNGcGJYQnZj > blJoYm5RN0lqNDgKTDNBK1BHUnBkaUJqYkdGemN6MGliV0Z5YTJSdmQyNHRhR1Z5WlMxbGVHTnNk > V1JsSWo0OGNENDhMM0ErUEdKc2IyTnJjWFZ2ZEdVZwpZMnhoYzNNOUltZHRZV2xzWDNGMWIzUmxJ > aUJ6ZEhsc1pUMGliV0Z5WjJsdU9pQXdPMjFoY21kcGJpMXNaV1owT2lBd0xqaGxlRHRpCmIzSmta > WEl0YkdWbWREb2dNWEI0SUNOalkyTWdjMjlzYVdRN2NHRmtaR2x1Wnkxc1pXWjBPaUF4WlhnN0lq > NDhaR2wyUGp4d0lITjAKZVd4bFBTSnRZWEpuYVc0Nk1TNHlaVzBnTUhCNElXbHRjRzl5ZEdGdWRD > SStSWGhqWld4c1pXNTBMQ0IwYUdGdWF5QjViM1VnWm05eQpJSFJvWlNCeGRXbGpheUJoYm1RZ2FH > VnNjR1oxYkNCeVpYTndiMjV6WlhNdUlEd3ZjRDRLUEhBZ2MzUjViR1U5SW0xaGNtZHBiam94Ckxq > SmxiU0F3Y0hnaGFXMXdiM0owWVc1MElqNVBibVVnYlc5eVpTQnlaV3hoZEdWa0lIRjFaWE4wYVc5 > dUxqd3ZjRDRLUEhBZ2MzUjUKYkdVOUltMWhjbWRwYmpveExqSmxiU0F3Y0hnaGFXMXdiM0owWVc1 > MElqNUpaaUJKSUhkbGNtVWdkRzhnWkdWbWFXNWxJR0VnWm5WdQpZM1JwYjI0Z2RHaGhkQ0JqYjNW > c1pDQmxhWFJvWlhJZ2IyNGdZVzRnUEdOdlpHVWdjM1I1YkdVOUltWnZiblF0YzJsNlpUb3dMamcx > ClpXMDdabTl1ZEMxbVlXMXBiSGs2UTI5dWMyOXNZWE1zU1c1amIyNXpiMnhoZEdFc1EyOTFjbWxs > Y2l4dGIyNXZjM0JoWTJVN2JXRnkKWjJsdU9qQndlQ0F3TGpFMVpXMDdjR0ZrWkdsdVp6b3djSGdn > TUM0elpXMDdkMmhwZEdVdGMzQmhZMlU2Y0hKbExYZHlZWEE3WW05eQpaR1Z5T2pGd2VDQnpiMnhw > WkNCeVoySW9Nak0wTERJek5Dd3lNelFwTzJKdmNtUmxjaTEwYjNBdGJHVm1kQzF5WVdScGRYTTZN > M0I0Ck8ySnZjbVJsY2kxMGIzQXRjbWxuYUhRdGNtRmthWFZ6T2pOd2VEdGliM0prWlhJdFltOTBk > Rzl0TFhKcFoyaDBMWEpoWkdsMWN6b3oKY0hnN1ltOXlaR1Z5TFdKdmRIUnZiUzFzWldaMExYSmha > R2wxY3pvemNIZzdaR2x6Y0d4aGVUcHBibXhwYm1VN1ltRmphMmR5YjNWdQpaQzFqYjJ4dmNqcHla > MklvTWpRNExESTBPQ3d5TkRncElqNUJjbkpoZVh0VWZUd3ZZMjlrWlQ0Z2QyaGxjbVVnUEdOdlpH > VWdjM1I1CmJHVTlJbVp2Ym5RdGMybDZaVG93TGpnMVpXMDdabTl1ZEMxbVlXMXBiSGs2UTI5dWMy > OXNZWE1zU1c1amIyNXpiMnhoZEdFc1EyOTEKY21sbGNpeHRiMjV2YzNCaFkyVTdiV0Z5WjJsdU9q > QndlQ0F3TGpFMVpXMDdjR0ZrWkdsdVp6b3djSGdnTUM0elpXMDdkMmhwZEdVdApjM0JoWTJVNmNI > SmxMWGR5WVhBN1ltOXlaR1Z5T2pGd2VDQnpiMnhwWkNCeVoySW9Nak0wTERJek5Dd3lNelFwTzJK > dmNtUmxjaTEwCmIzQXRiR1ZtZEMxeVlXUnBkWE02TTNCNE8ySnZjbVJsY2kxMGIzQXRjbWxuYUhR > dGNtRmthWFZ6T2pOd2VEdGliM0prWlhJdFltOTAKZEc5dExYSnBaMmgwTFhKaFpHbDFjem96Y0hn > N1ltOXlaR1Z5TFdKdmRIUnZiUzFzWldaMExYSmhaR2wxY3pvemNIZzdaR2x6Y0d4aAplVHBwYm14 > cGJtVTdZbUZqYTJkeWIzVnVaQzFqYjJ4dmNqcHlaMklvTWpRNExESTBPQ3d5TkRncElqNVVJQ1pz > ZERzNklFNTFiV0psCmNqd3ZZMjlrWlQ0Z2IzSWdiMjRnUEdOdlpHVWdjM1I1YkdVOUltWnZiblF0 > YzJsNlpUb3dMamcxWlcwN1ptOXVkQzFtWVcxcGJIazYKUTI5dWMyOXNZWE1zU1c1amIyNXpiMnho > ZEdFc1EyOTFjbWxsY2l4dGIyNXZjM0JoWTJVN2JXRnlaMmx1T2pCd2VDQXdMakUxWlcwNwpjR0Zr > WkdsdVp6b3djSGdnTUM0elpXMDdkMmhwZEdVdGMzQmhZMlU2Y0hKbExYZHlZWEE3WW05eVpHVnlP > akZ3ZUNCemIyeHBaQ0J5CloySW9Nak0wTERJek5Dd3lNelFwTzJKdmNtUmxjaTEwYjNBdGJHVm1k > QzF5WVdScGRYTTZNM0I0TzJKdmNtUmxjaTEwYjNBdGNtbG4KYUhRdGNtRmthWFZ6T2pOd2VEdGli > M0prWlhJdFltOTBkRzl0TFhKcFoyaDBMWEpoWkdsMWN6b3pjSGc3WW05eVpHVnlMV0p2ZEhSdgpi > UzFzWldaMExYSmhaR2wxY3pvemNIZzdaR2x6Y0d4aGVUcHBibXhwYm1VN1ltRmphMmR5YjNWdVpD > MWpiMnh2Y2pweVoySW9NalE0CkxESTBPQ3d5TkRncElqNVVQQzlqYjJSbFBpQnBkSE5sYkdZc0lH > bHpJSFJvWlhKbElHRnVlU0J5WldGemIyNGdibTkwSUhSdklHUnYKSUhSb2FYTTZQQzl3UGdvOGNI > SmxJSE4wZVd4bFBTSm1iMjUwTFhOcGVtVTZNQzQ0TldWdE8yWnZiblF0Wm1GdGFXeDVPa052Ym5O > dgpiR0Z6TEVsdVkyOXVjMjlzWVhSaExFTnZkWEpwWlhJc2JXOXViM053WVdObE8yWnZiblF0YzJs > NlpUb3haVzA3YkdsdVpTMW9aV2xuCmFIUTZNUzR5WlcwN2JXRnlaMmx1T2pFdU1tVnRJREJ3ZUNJ > K1BHTnZaR1VnYzNSNWJHVTlJbVp2Ym5RdGMybDZaVG93TGpnMVpXMDcKWm05dWRDMW1ZVzFwYkhr > NlEyOXVjMjlzWVhNc1NXNWpiMjV6YjJ4aGRHRXNRMjkxY21sbGNpeHRiMjV2YzNCaFkyVTdiV0Z5 > WjJsdQpPakJ3ZUNBd0xqRTFaVzA3Y0dGa1pHbHVaem93Y0hnZ01DNHpaVzA3ZDJocGRHVXRjM0Jo > WTJVNmNISmxMWGR5WVhBN1ltOXlaR1Z5Ck9qRndlQ0J6YjJ4cFpDQnlaMklvTWpNMExESXpOQ3d5 > TXpRcE8ySnZjbVJsY2kxMGIzQXRiR1ZtZEMxeVlXUnBkWE02TTNCNE8ySnYKY21SbGNpMTBiM0F0 > Y21sbmFIUXRjbUZrYVhWek9qTndlRHRpYjNKa1pYSXRZbTkwZEc5dExYSnBaMmgwTFhKaFpHbDFj > em96Y0hnNwpZbTl5WkdWeUxXSnZkSFJ2YlMxc1pXWjBMWEpoWkdsMWN6b3pjSGc3WkdsemNHeGhl > VHBwYm14cGJtVTdZbUZqYTJkeWIzVnVaQzFqCmIyeHZjanB5WjJJb01qUTRMREkwT0N3eU5EZ3BP > M2RvYVhSbExYTndZV05sT25CeVpUdHZkbVZ5Wm14dmR6cGhkWFJ2TzJKdmNtUmwKY2kxMGIzQXRi > R1ZtZEMxeVlXUnBkWE02TTNCNE8ySnZjbVJsY2kxMGIzQXRjbWxuYUhRdGNtRmthWFZ6T2pOd2VE > dGliM0prWlhJdApZbTkwZEc5dExYSnBaMmgwTFhKaFpHbDFjem96Y0hnN1ltOXlaR1Z5TFdKdmRI > UnZiUzFzWldaMExYSmhaR2wxY3pvemNIZzdZbTl5ClpHVnlPakZ3ZUNCemIyeHBaQ0J5WjJJb01q > QTBMREl3TkN3eU1EUXBPM0JoWkdScGJtYzZNQzQxWlcwZ01DNDNaVzA3WkdsemNHeGgKZVRwaWJH > OWphenRqYjJ4dmNqcHlaMklvTnpjc056Y3NOellwTzNCaFpHUnBibWM2TUM0MVpXMDdZbUZqYTJk > eWIzVnVaRHAzYUdsMApaU0krZEhsd1pXRnNhV0Z6SUZOallXeGhjazl5UVhKeVlYbDdWSDBnVlc1 > cGIyNG9WQ3dnUVhKeVlYbDdWSDBwQ2dwbWRXNWpkR2x2CmJpQmlZWEo3Vkgwb2VEbzZVMk5oYkdG > eVQzSkJjbkpoZVh0VWZTd2dlVG82VTJOaGJHRnlUM0pCY25KaGVYdFVmU2tnUFNCNEsza0sKUEM5 > amIyUmxQand2Y0hKbFBnbzhjQ0J6ZEhsc1pUMGliV0Z5WjJsdU9qRXVNbVZ0SURCd2VDRnBiWEJ2 > Y25SaGJuUWlQazE1SUhKbApZV3dnY1hWbGMzUnBiMjRnYVhNZ2QyOTFiR1FnZEdobGNtVWdZbVVn > Y0dWeVptOXliV0Z1WTJVZ2NHVnVZV3gwYVdWeklHWnZjaUIxCmMybHVaeUE4WTI5a1pTQnpkSGxz > WlQwaVptOXVkQzF6YVhwbE9qQXVPRFZsYlR0bWIyNTBMV1poYldsc2VUcERiMjV6YjJ4aGN5eEoK > Ym1OdmJuTnZiR0YwWVN4RGIzVnlhV1Z5TEcxdmJtOXpjR0ZqWlR0dFlYSm5hVzQ2TUhCNElEQXVN > VFZsYlR0d1lXUmthVzVuT2pCdwplQ0F3TGpObGJUdD > ...