Fullscreen for best experience.
To minimize lag, close all of your Chrome tabs except this one.
To mute sound, turn down the volume of your device to 0%.
Turbo mode is turned on automatically.
Featuring:
- Over 100 Sorts
- Over 50 Shuffles
- Too Many Exchange Sorts
- And A Bit Moredata:image/png;base64,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data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAFoCAYAAADHMkpRAAAgAElEQVR4Xuydd5xdVbXHv3vvmSTU5N4JRQRFikIoAiGhFwFjFEKVIgR8PJpBpIioNEWlPKUEUcFQBASRIiAYpEgRCFV6SCyASJEimXMnIYEkc/de77PPnBtvhknmnMlkMplZ5x8ld9fv2XfmN2vttZZBHyWgBJSAElACSkAJKIF+RcD0q93qZpWAElACSkAJKAEloARQAaiHQAkoASWgBJSAElAC/YyACsB+9sJ1u0pACSgBJaAElIASUAGoZ0AJKAEloASUgBJQAv2MgArAfvbCdbtKQAkoASWgBJSAElABqGdACSgBJaAElIASUAL9jIAKwH72wnW7SkAJKAEloASUgBJQAahnQAkoASWgBJSAElAC/YyACsB+9sKLbLfs2A9hWNrHMDXx3Fik/6K2XQ2WnW05WgKXVWD6oo7XSf+BJcfOAzwPvguzam1LMNhYjhgUuPgt+GAxr0GHVwJKQAkoASXQIwS6IgDN4EY2c54d0xVaHk2qPAGEHllx90wyoOS4As+lFXi4K0MOhY+J4wsirInhdeuZNA3+0ZWxFtSnZPmugblJ4ILuHDcbq7HJMk6gXD+2CVzfDH+L/zZPABq2A1oSzz6LYR0LHHIFaGq0vEhgZAJvLKhhuYHPizC24vlqV9c3xLGnhVsNHNrsuao2ThnWwPJka2DD96F5gWtwfFngcxXP17u4hsZyA5+TwGYGWrG8kFT5M/H/d9NThmE4fpJ49gU+7KZhdRgloASUgBJYCgkUEoCpRcbxK2A0cC8wV2AEnr0rMHkp2v8yJcsLEjisBR4quu6yY1+E8WK4D+EdYyiJ4bVKlbOKjrWw9mXHzUZ4pjl077jZnCkDDE8ivDlvHYFrKvBi/bqaLKeKYbNeKwAdRwh8peLZqav8y7Aijv1bPbe+D9OKCsBFYbQ8rDzAcVsq9oQn0z+rDB+rer4+A5Ku7ql9vyGwvbFcUQlsrAKwu6jqOEpACSiBpZNAIQFYtpwrsLML7DYN3sq2HMdwQDX+gsExpMVze/aZLVkOl8DdLfAakFqdQuBqgZK17G0MrzR7JgI+9olWJ+N5IcDbxvHl+MvQeq6fBu/XEEe3nHXsGYSPWcd9za38pfZZugZAYLK17B/7twZumgnvzZsfVjaGccDtSLouQuD+PGIwc0s+bQzfbfbpL+0FPcuUHbsibCiGpyueu6NgzhovlEOd63U/DG8jbVZKY3i12XP1fOIsCnDHGs2eW9u2nfvJLYIXIm5cuZERxjMiwHJYJlWqPFqzBuc4D+li4/vEsasV1gqGZyqeP0UxVLMASmAL08hq4tlRLI+1VHkw9hsMw51lTBSnRtgQ+HW2+5k1l20TrCeWA9pTkcD46FauuZmB5VPGdRbQ9Dz+1wK4kWtgQxPY0jrub25NhRpxj9ayE9FKKnwM2tzkBpLmwCV5LHgly8nGsGPi+VLte9DRWxzSyKbG83lgpgncnvBf4V479y3wRNmxO8LH5wSunwXvDIFPWsuhGD4J7C7CJQaqcY45gUtmwbu5T402VAJKQAkogT5BILcAXBHKDY4pxnBwczW1/n3kyYTCWonnsOzDhrLjseA5MRNXbVYny2UmcHBqRTTsJcL1lcB301+4jpsRngf2FcMkAxsI+IrnC1FADYZPOctEMdyPMN3APgK3VgKnRgGUrWE4wjpieNjAeggrNQa2ehfmlizfNLAyhkMF7qxZv2zgnma4r7O3OhRW8JbngPMrgYs7/EXd9gv3LgyvIUyOotkYPgie3VqgBVgohyGOg6OgMbAHhndFeDyb55+VwIS6OQeWLc9g+Iz1bDAN/t7Z+us+X2QB2BRFOBxrDC+IYA2pZfTyJHB6nCfHeYgCa0sctwCTJb53w7oWroriep4L2HCnwNqxDbCfwIktnmuaYIvQ9kdEtGitL8INmfia2Ri4IN7lK8GG2PSspY8xbCKwadWzfnTprgLLtVq+SbQAGsYaGNfs+X2tfSoAHc8Z0jWsKvCygf0FDqp4/tgEOwfLKGPYEmEVYd4fBUmlzXXfqQu3bPkRhlHWs0v9Hzp178qWGjjbCF/BcKsIKxv4Ym0NNdbAamL4rMC/oqA1sEmrZ7iNfzBZjsKweuyHcKVkAtAFLpwGbxc4N9pUCSgBJaAE+gCB3AKwCUaI465Gz/rvwn8WRQAaQ0urZ3T8BVxy7GqE/0sCm0eDRBSAAtuLZ1QLPNsEHxfHi1XPyBnwcsml97RuT3zqio7Wo08Yx2NVzw7x8yg6guH4Wv95wtWzezPzLIW5xU9H+yw5DjTwS+AuY5jQ3HZXK7VgZiL2KhFmVgLHRmtY5jr/M8Jvk8D4mgBcGIeaGO7EBWzKluME1lkucNKbxe51pQyM5eikyqS6fc5ub0lciAUwnp95VschDexoA79MApsAs3MIwGXKlscEbqwEzqkbKx23TgDekXiOjn8AlCynGMPWiWe3Ot65XMDx3mZwPBLg+DordW2Y9I8VA2d1IABfx3B+UuU78T2XLBdhGFx/53BRXMDLwaoDLXfGc2HgZ3MD19ffNyw3sHU8O8azdTP8Oz33lnEGvpYEtqhjfVqA/ePeVodlPrA8heWEpMo9sY+6gPvAT2zdghJQAkqgmwjkFoCZq+uGhV2Gz/MLP4oOGxjbTBo4wnKwyiDL/jV3WWYBnJQJpdgkdZfODtzQCHOs5UUx3Gpk3oX8eF/q8GjRS6rcna1h7cTzvxmj9lbI+M+LJACzX6Zr2gaORjgEYRqBIxN4NFqU5lqes46xza1te0zFnOUEDDtnwiWdf2EccgrARTkGbQLQsM58g3g+0T7gYmHipgwbGMtOAk1iWBnh87U7Zp2dh6GwWXDc2erZoP7eXW099S7gCrwe/71mday/71fOdwdwQNlxiwiTK4FTOnCXL1gAWv6Snfv0bmCcL96Drb8TuSgCMNvvwCaXWhaPAj6LcF7SdveztWz5frTyJp4Da2wyMfuPqmfTuj98hlU8B9XaNDm+iueJWlCPCsBF+bpoXyWgBJRA3yKQWwCWYCMcTwXPetPh1Y4wdPYLf57rMyw4aCQVgHBX4rms/RxDYbXgeBnDBML8aUF84NfT4Z851tAtArBubVFIfS+KUOfZeA7MjZGrEhhVHxiTiYb9krY7XG0u4IVw6CkBmCcQZkHiJhO1x0bXq4HZRQVgZ4KkoyjgrgrAsuUHGLYc5NlrAelcFiYA54sCXkwCcN6RKjWwrRGuN8KPmwM/K8eIdaDuagV1bHZOYGoH5/4jX9HOePetH226GyWgBJSAElgYgdwCMLsr9TSkd7zOW4AAPCUYohVibPw8s1I8GTwHzXcHsOsCML1/Zy1HNlc7vq+XVwCWLc8HyxG1gIJFOSYrwNAo+kxI3czPlS1/wXBm4rlpnjXGcom0pXQ5roAA/J0RnmsOnLmg9UUhEO94RfFbcA+5raALEICD4v1DMZxU8dwR5x4CmxqbunPTKNMmy0LPw1D4dHA8VfUMnwEvtV9/AQF4eHYf7nMdMUivGcBF3rPLgv54ARZVAJ4ihs0Tz94F30OHzcuOXwkMjBa9JssxwbBPxbNL7apBmoopcEfVs0GMFM4jAEuwHZYrs/ejOQ2740XpGEpACSiBpZRAbgGYWaSi6+t8hAslcJODOeLY0njujVHBTY69BS5o9YxqhAZx/MLA5sGza3cIwHQNlp8AY8RyxDJVnpkDJe8Y2dIWSdyaUwCasuOPwDtzPd+Z2RZhHKMiO7+wH4MFGthibpXnY7+hcX7LccayF1U2T2BGyXIS8DXrONC2MqXq2NMI5xAYncCUvAKwZPm2gbGtgS+/35YHL963i3f0ak9j2fEI8Jng2TiLtM57FPMIwGUy5t+JwQWVNhdkbQ0DyjaNhP09gQvEsY0RzhMYME8Adn4eGkqOW0zGcHorfxvSyKddK7Oj2zK3AGxgK4Q/GMP+zVUeq1ujpEFDjvsNnNjs03t2tSe+6/jOYwT7gDI0iuUBY/hx4vlD7Tx0lAewIwtgJjIvw7J30poGMcUnV669IQ1sH6q8vTz8ey640MA2MZgGOD7x/C675/qkCBdI4FLXloPyUhEeqwS+HSfKIwDLsLo4nrXwLeu5+b22e6tzlrIcnnnPt7ZTAkpACSiBhRAoJABjEGXZpRaOaMUakaU1edh6joiRhOnFc8fPgK8g/FNMGtl7onjO6C4BmF1uj4LkYANrIUyNqTey+1LVnAKQND2I4+fANsAgI5yWJ99etPY1tEWtrmdgJdou5d9T9Zwd72JlrBtLlm8Zw5HEIBaYZDynJMyL5s3lAk6rUDjOjxHRMUpV4IF2ue5c2TFBhM18YJeCOeM6E4Ad3xGEpxLPVlEgxQhYsfwUk0boPiIw3sCpiWfnKH5ynAdikI5z/DBGc0cdAzwlnqOi+zyvAIwiLuMdkzCvEXMz1u6qRiukmI/mUTSwVwz2SO+2ura0MvVP7TzkFYCpiLScnt5HjdHCwst58+01WU4TOATDWlGQSVuw0mUVz3W1u4pl2FocZxrYNp45ESZUQno20j9a8gjA2K7kGGuEUzCsH/9bPBsvZTk89Qe6ElACSkAJdAOBogKwG6bUIZSAElACSkAJKAEloASWJAEVgEuSvs6tBJSAElACSkAJKIElQEAF4BKArlMqASWgBJSAElACSmBJElABuCTp69xKQAkoASWgBJSAElgCBHqVAKzVZZXAZbFO6xLgoVMqASWgBJSAElACSqDPE8gtANOIVMsJYniiUpdOo321gUUh1lHU56KMt6T6xuomAy3j6ucXeKsS0tQeIft3U4olvgLbxZrBy3huW0CC4iW1DZ1XCSgBJaAElIAS6KMEcgvANB2GI9ZE/YetsnmtaH3Jcb+Fi+rrp3aVVV8RgLFqinHcg3CtZILPwr+bQ5p2JgpAV27gPAK7AhMxbIiw2pzALrPgna7y035KQAkoASWgBJSAEshDoJgAbKtw8bSBG5s9V8cJ6gVgzKmGY0gsRp9NbkuWwyVwd0xSHK2Fcz13NDr2wDPVweSqZSyBSRV4sb72a2hkJev5vLU81Vzl/vpktdEaaR17BuFj1nFfc2uaNy19ovVtgGWPSuCKpkaGB8+O1vHn5tY0aXHtMeVGthDP9kCsJTyl4tPE0DEx7rw2TY698LzR3JaXLfeTCcBf1fLlte8YE/8a4cq5nm0yweeaHFeJ8J8kcGLuibShElACSkAJKAEloAS6QKCoAHxSDIcZOCNpE0+z6wVgZ0mYs7Z/FxgiwroYnjIxwbGwfiWwxQqwQiyphkkrNnwmfo5wAMLZSeCncX9pZQfLRDHcjzA9JhAWuLUSODXmtU3Fl+UaLA8gjBR4zsABAgdnIs+UGzifwKiYwBmLRRiceI6ur9wwNFbXcExB+HsS2CyrmJALcWcCsBQrpAiza2IvLYlmuS3OkQRGZgm2c82ljZSAElACSkAJKAElUJRAYQHoAptWHb+NVR+ipa+oAATeqHjGlWxaLuumauCCRsu9rSGtHkEmAO9IPLGqw5ySY4wRzneBzd6DWSXHrQZuTzy/iu2zMlmPVT07xEocmfh6AZiQeI6JFSvKlgvE0FTxfDW7yzi5GthnxkIse7GKxSzLuQZezsRnLIGW68nWcBfCFUDFOB5pbuWpmhWz7PiTwNUVz7Ulx5cQLrKWqyRwdGtgo/ehOddE2kgJKAEloASUgBJQAl0gUFgAxhJbLtZ9hRMqns+XHPfU7gDmsQCK4UctVR4vWV4IgdEBWhot99ULQAlsUYHX435WglW94294NgrwvrW8KIZbjcwTSdGFeziGQ5Mqd2cWwIkS0hJXaSTxYBjuHGsnnhvTsmGOq42wocAlrYFbZ8J/usBugV2Gwse85fjYwBiaBHY38EDi+WrNamrgFwifBA4PgYMMNBvLE7USZt25Hh1LCSgBJaAElIASUAL1BLokAN+HWWXHQxiOE+GsQgKwrS7wX6IANIGdWuGD9gKQwMgE3ogLXR5WanRMMZ7hFnxwvIxhAmH+NDE+8Ovp8M8oALHc0kkd1sYmx0ECB2W1gH87yPONxRWFOwQ+aR3PBcOeLVUeLDsm0uYCf22uZ2wUoE0wIliuGxDY5F2YpcdUCSgBJaAElIASUAKLi0BXBWBzDOgQGC2wqoWfxijgJsspwTCs4hkbFxwtYcHxZPAc1AIPRXexFBSAgxvZzHpujK7nOKa3PGctRzZXua8jKDkF4Lyu0YWMS4NMTqt4rq8fczCsFWD6orpkU7ez48VgGBsFYMlysjHsnng+Fy2Ccc6y5UQMn0s8Y+JdxsX1wnVcJaAElIASUAJKQAl0WQAOhRVCFHSwpoUjUgHo2FvgglbPqEZokBjsAJsHz65FBKAJ7BEjb1eGlauO6xAeTAI/zITST4AxYjlimSrPzIGSd4xs8UwEWjsTgHHd1QY29VWmvg8fDG5kmAvciGFcdCHXjkRmtYt3Cf+eeLaJYxc4Lg3xOmO6XviUOL4DrLGcZ9c34cMoLJ3lPmM4w3huCQ1sFe8LBsNBLVUeKjCPNlUCSkAJKAEloASUQGECXRaAmRg7AcMFBvaKAjAGTnzg+BnwFYR/iuG7wImZ1a9TC+AK8OFsy9kCuxrDOhheInBpErgwBnPEOdM5LN8Rw8EG1kKYCtyYBM6KbToTgNGlPCC6YGFY6mEWnsfw8yyopJakmRWh7Cz3GsMzieeodiliFgq6ybFnjExOG7Wt7yYJjK+vblKGrXFEMbulCJOt4QfdkUux8AnQDkpACSgBJaAElEC/I5BbAPY7Mou2YVdEMC7aVNpbCSgBJaAElIASUALFCKgALMZLWysBJaAElIASUAJKYKknoAJwqX+FugEloASUgBJQAkpACRQjoAKwGC9trQSUgBJQAkpACSiBpZ5AfxaADeUGdglVHm+BlqX+TeoGlIASUAJKQAkoASWQk0BXBKCJufmcZ8d0DsujSZUnamXOcs67xJsNaWB7KzwowrcrgXOX+IK6fwG2qZER4tk2vhtp4L7KXGJam/QZ4tjdSlrjeL7HGF5t9lxd94+xcsoohDUqgcuXtvfc/Vh1RCWgBJSAElACSz+BQgJwNVh2tktr8I4G7gXmCozAs3cFJi9NOLKUNQcaz13N8O+lae151prVI47l5p7ExGp47G2E8c2BM2P/suMwSMVh/RNT48xIPJ8HBpQdYxGOE1jWGFoSz1a1dDx51qBtlIASUAJKQAkogd5JoJAALFvOFdjZBXabBm9lW4pjxLQnaZ4+YJmyY1dirV3D0xWfJleeGz+I1UPmeu5odOyBZ6qDyVXLWAKTKvBiFJgfWg5ZJvDrOY1sEDw7W8tTzdW0UkctR58rNzLCeEYEWA7LpEqVR2ufLwerDLDsUQlc0dTI8ODZ0Tr+3NzKk9n6Gpss4yTN0Rxry/GH6fB0+9czGNa2ltEGVhLDS8bzhwRm1NqtDKu0WvaIWso4/py0plbQtILHENg+/q/AZGvZP9pJWwM3zYT36uYx5Ua2EJ+2jfWMp1Q8f2yXPsY0OfbC80ZMjF3wCMX3Mq+iSMlxgBG+l4TU6pdWH2n3NJYc98UaxYnnhpVgee+41HvOt5bhxnCECsCCb0CbKwEloASUgBLopQRyC8CYGLkh1uQ1HNxcTa1/H3nS6hmWu2KNW4TJUSwawwfBs1u8ZxdLwVn4u8AQaauF+5SBFUVYvxLYYgVYYYDlCTE8DKyP4QmEAxDOTgI/zUTkngGONYYXRLAG9kW4PAmcHj9PLV+Wa7A8gDBS4DkDBwgcnAmsxpLlm6lwM6k4OyvxXFa/mbJjX+B8A3eIMBPDmsZzejP8LV0D7CKOq4RUmLbENQj8ruI5Pgq4JsupYhiOsE7ci4H1EFZqDGyV1fk15QbOJzAKuAeLRRiceI4GPqytZSh8JjimIPw9E25zunqOmhz/E+CrFc8uHeUoLDcwmsBPBgW2bF8Tuew4AjhSBWBX6Ws/JaAElIASUAK9i0BuAdgEI8RxV6Nn/XfhPx1toxxFkTCzEjg2WuQyl/GfEX6bBMZHAQi8UfGMK1mejxUyqoELGi33tgZ2jmM2Wl7EcEfi+Towp+QYY4TzXWCz92AmMJ9la0gDO9rAL5PAJtGylbk+4123CYnnmGiZLFsuEENTxfPV+nXH9Rj4bQcC8E6Eu2qis77PKrBcq03dqj9IPDfGz1aEdZ3jUWvZNVoaowAMhuPFM6oFnp0nnj27R0teWhvYMrka2GfGQix70U09y3KugZeztRSqEdwE64nlACwlhLW959jp8M8O3l3N+ndl4rmy/ecqAHvXl1ZXowSUgBJQAkpgUQnkFoDRrWktN7QGNnwfmttPHIXRXMtz1jG2uc0dmj5lSywXt3Pi2S0KLjH8qKXK4yXLCyEwOkBLo+W+egEogS0q8HrsvxKs6h1/w7NRAm+kY8IGxrKTQJMYVkb4fCWwcbSeZRbAiRLYuFZ6bTAMd461a4KttrYFCcCS5RhjOB3h5yZwU83yF/sNgU2s5XYJbDRfaTfHHxHujkItswDG+f43m6uh7HgseE6MNZGjy7zkuNpENzlc0hq4deYCRPWivOCaABQYZGL9ZMN9Fc+3ai75ee8oWv/gAldlZCay55tWBeCivAXtqwSUgBJQAkqg9xHILQDTGruOp4JnvenwavutrABN0XongVH1ASGZeNgvBhakAtBzRku0glleMIGdWuGD9gKQwMia2Iu1exuj69kzPP5bJiiPFeEGA7M7EoBYbqkJwoUhX5AAjH2aGthJJHV9fgmYHDxjW+BfUQgbyxXtxy87bhbhyUrgx5kAXCvxaaBFfNoLwPhvjU2OgwQOArYBfjvI84327tfuOjKZFfIpYziynQs/tf4h3FAJ/KKj+VQAdtdb0HGUgBJQAkpACfQOArkFYOb6jMES8b7deR0sf0DZ8hcMZyaem2qfN1kuEZibBI7rigDMUs7cTOCzCcwtW54Rw0kVzx1xjiGwqbHcWG8B7A4BWFt/FgwR06LEKNjDYnCIczzpPSOnwytZu4Ely+Ni+H6L5/acAnAewhJ8gjb3+GkVz/X1bAfDWgGmd2R1LXiE0vcjhu9WPHfW+pYcuwE/xbNZvUWzfmwVgAVJa3MloASUgBJQAr2cQG4BGPeRCYHzES6UwE0O5ohjS+O5N0YFlywnAV+zjgNtK1Oqjj2NcA6B0QlMySsATWCPeFduKHwsOK5BeDAJ/DBNTRLv38HvCVwgjm2McJ7AgAIC0AID435KjnjX76ZKSFPb+Mw1amOOQFflpWZIhsAqxvELK0xuDnw3c9/+Lv6veI71MHOA5SSBL7rA1tGF2pkAHAorVBvY1FeZ+j58MLiRYS5wI4ZxSTWNmk6fNKjGpbn7/p741ErYWuA8NUbLY2w/GFZ1lm8AOxPYri6aOaZ6eRDhd0ng/HZj2xKsLmCN5QADX3GBfVqhtQXe7CiQpMDatKkSUAJKQAkoASWwBAkUEoAxAKPs2Bs4jpj/ry29y8PWc8Q0eDu6NUuWb0U3I/BxgUnGc0oCj2eCK58L2KQCLQYuxKjbK5LAhbU0M02ws1h+imFt4BGB8QZOTXwaRJLeAVyYBbAuSKQ99l9lLltXdlwmsFtMARODVkS4piFwTu1+XHRLD3CcDXw5iiyB26znO7V8gp0JwKz/RCDm3Vse4XkMP098KkRr6W5icEnZWe41hmcSz1FFRFe2hjTnnwgvG8ttc6qcOwvenScwYzJouLjV89kOLIzLpG56wzrzgRLeWdA90CV4jnVqJaAElIASUAJKoACBogKwwNDFm9buEdbfASw+ivZQAkpACSgBJaAElIASWBgBFYB6PpSAElACSkAJKAEl0M8IqADsZy9ct6sElIASUAJKQAkogV4lAPV1KAEloASUgBJQAkpACSx+AioAFz9jnUEJKAEloASUgBJQAr2KQGEBGFOziOMLIqyJ4XXrmTQN/tGrdrUIi5lXPu2jY8wcFLj4Q2g0sbpJB08IXNkCry3C9NpVCSgBJaAElIASUAKLnUAhAVh27IswPpYUQ3jHGEpieK1S5azFvtIemqCpkRESOLp+OgNDRdjMBzYM4Bod57b7fIDAHuL5QgUe6aGl6jRKQAkoASWgBJSAEugSgdwCcDVYdrblaWP4brPntvazNcH6wTG84rm23WeDypZxPnDVdKgsDysPcOxohE+L4a1Wz+3vw7TYJ87xoeWQZQK/ntPIBsGzs7U81VxNq2TMy483GErGMcYKawm8HQL3tC9P1xTzEDpGL+u57k34sEt0sk4ly/8BK1baCcPamOUGRkvg7Epga2D2osylfZWAElACSkAJKAElsLgJ5BaAsXqFtzwHnF8JXNx+YbF6hhXOSTzb1Yu1tJqH5fHGwIh3IWly3BqggvC2MWwIfDZ4tomu05gHcIDlCTE8DKyP4QmEAxDOTgI/jXOuAJ9udNwDPCrCG8awCjAx8cTqHPOekuNaAwcFOKTFc01XQZZhdSyTTOCLzfDXDsZJa+lauKx5Eebp6vq0nxJQAkpACSgBJaAEihLILQDjwCXHgQZ+CdxlDBOaq/y5Vp1iRVjHWe4aEPjsbBjgHHsmnqvLUchZfpsENs8qh8Q5JVtorLoRxdy1iefKeYmgDXcknq8Dc0qOMUY43wU2i5U4ypZvimGnik9r2C7wSSuGOL4WPCe1wL+Kgqm1j9Y/Y1g18Rxat+55w0XrXxTFjVVGvguzujqP9lMCSkAJKAEloASUQE8RKCQA46KGwJq2gaMRDkGYRuDIBB4twWBjecwFdvKObYErg2cj18A6Inwz8Xwp9o9u3jmOLyBsIG21avfDMD7xXFYTgBLYogKvx/Yrware8Tc8GyXwRhOMEMdEA7cEw7WValpmLtbx7fYntf45HhHHmMrctCZv+ye1/hm4OvFc0e0L0AGVgBJQAkpACSgBJbAYCBQWgHVriLViv4fhcOfZeBq8V3Y8gud/cZwmMAjhXjw+P+EAACAASURBVAwtFrZt9oxbDlYZaHkAwxSEKdlYHxGA9aXgYt3cRscU4xkeBWDsk7qBG/g6ktYlrhrP4c1wX3fzyax/ayWeA+rd2rV50rt/ws/xDK/A9O6eX8dTAkpACSgBJaAElMDiILAoAjAKsaGNlhdNYPdmeLLk0uCQGw0cYjynBcd5VlIX74zmwM+GOA6xMC7xqYUwtdqVHL83pC7feRbAegE4uJHNnOdmAp9NYEY7CK5k+ZaBA5PAiMzFXGsysATrVmBqR+KtM5gl+IRxPOYtu09v5ekO2g8oOx4IwvUtgZ91Np5+rgSUgBJQAkpACSiB3kIgtwAsw4o0sMXcKs/PhPeHQslbjjOWvaiyeRRnZct5GDZCeCwJnJm6R4XBWL6TVLm77NgP+EmrZ1QDzDaW4zB8A/h6vQA0gT2a4S9pAInjGoQHk8API7SYpqW1lZbl4d/vw7INDRxvhB0Sz+eiNXCedc7yUwzHBtizpYOo5c5eQNlyvjF8utmzR0cCcohjdws/q3o2nQFJZ+Pp50pACSgBJaAElIAS6C0EcgvAaO1rcNwCrGfSq3n8G7in6jl7BrwcNzTE8T8WLhfPZhV4oWQ5yRh+YjzDYgRtev/Pcr4YDgGaEa4wsIwYXpnPAmgYGI2DCH8DrkgCF9bEXQwCAb6BYc1oWRS4PXi+1z4NTMnyNWM41Xr2mgZPFQE+BD5pHE9h2LNS7TCvX7T+PSjCbZWQpojRRwkoASWgBJSAElACSw2B3AKwJ3Y0Lwo4MLJ2368n5tU5lIASUAJKQAkoASXQnwioAOxPb1v3qgSUgBJQAkpACSgBQAWgHgMloASUgBJQAkpACfQzAr1KAPYz9rpdJaAElIASUAJKQAksEQJLSgA2lBvYJVR5vAValsjO+8mkQ2CIbWDLpMq99VHS/WT7uk0loASUgBJQAkqgAwK5BWBW6eMECdwSI3zjWFmd36NM4Ppm0ojdXE9WNzhG0X67Ejg3V6eCjYbA9taykw/8ejr8s2D3JdncliyHS+DuWB+5fiGDYbhxfLzFc3veBZYspxjDWXi2iRVb2vUbUHJcgefSCmn95d76uJJjFMIalcDl9Wl5IhNnGVO/8GB4piNGQ2F4sIzxgT9Mp8Pcjr11/7ouJaAElIASUALdSiC3ACzDMBxPCPy+4jk4rqJsOQHDBcARiU9/Med6VodlPoh1hT13Nbelk+nux2Y1hjcR4bJK4OTunmAxjmdKjgeM4eykmibRnveU25JeD2oOnJl3/ib4uDhGL+u57k34sF2/WM3lBQkc1gIP5R2zB9vFdDtjEY4TWNYYWhLPVvPle3QcgXCMwF21dRnDU4nnpvp1xj9gsNwfcztCWprwsh7ch06lBJSAElACSqBXEcgtAEuwsXGp2Ft2rmfPmVApO+4ApotwfyVwSdzZUPh0iLWAhU8Yw/PNnj8Cc7JdNzZZxgmU43+3t8TEPIEfWg5ZJvDrDxvYjMB21vJEc5UHAMlLLq1X3FZy7mwRjqkERrZfQwhcLVCylr2N4ZVmz8RadZKYsNp4XgjwtnF8GbDWc/00eD9bgys3MsJ4RgRYDsukSjW1roUoNKzlGyZwxTR4u7bmWMMYxwbNnqs720u5rdbx5c2e37cTgGcITKsEfl5nDbyz5BhthE9L4KZaDeWs7N64Wv85gUtmwbv17yHAysYQ29yOtFkbQ+D+ejGYsdwz++z3LfCv+jUNhpJxjLHCWgJvh8A97XMydiJCF/haV4LlveNS7znfWoYbk/6h8VEBCFsmnsMWdj5iWb94dmOicgPXqQDM+23SdkpACSgBJdAXCeQWgKlL1XFcmsAZ7jOWVyVwkhGej4KmOXBWGdbAMtEYHhVhpsDOxvCfxBMFxGygsdSWyLlsDPsDZ9X/Is7yAD5kDM8F+Bgw1cBXApzQ4vl13hdQshyJYdeq57AGx9Rg+WJdObfU6oXlMhNSS2asV7yXCNdXAt+Nc5QdN9O2r33FMMnABgK+4vlCLDfX5NgzwLHG8III1sC+CJcngdOBhrLjzyL8oRL4cbbmaNW7zQh/SQI/6mwfJcd1Bh6IbEou3cdL78M/yo4rBB6oeK4tO44Q+FK0CAIzM6vYTuIZEUVgdM97y/HGpjWZDxPPVhWYXBOA8T0YWBnDoQJ3IrwZP7OBe2p1lUuOLxnhvGj1zcb5soVjpmUu6LQms0utlPF9v2EMqwATE8/v6vdYclxr4KAAh7R4ruls/x19HvcLHNkVARirx4jwq2qVHZzjdwZ+qwKwK29B+ygBJaAElEBfIZBbAJYb0jtYRwXDRVY4CeEfwfCgEzaMlrQk8K0srcw8S93ysNIAxwt4dk7aavLOe0qO+9v/Ip6XCNpwW+I5Joqa7A7b1olnt5zQU/evwJUVz3VprWHhhUycxSFSARjdia2e0e9DcxRZRvi/JLB5tBRGASiwvXhGtcCzmQXrxapn5Ax4qf0+hzSwow38MglsEoVurIhihOMqgS3T8WB1HE9az+emwd8720e5gQsJvJ4ELio7HkWYlAS+WXb8VuC6iucPmSCKVtdoFbsyE54PC/ws7rs2R42pBEbVCcDaxwt0Aad3Pht4TCz7V+a2CceSYwzCjyqBLdJ9Wb4php0qnbybJthZHF8LnpPaWxA7Y1H7fGECUIRxJloxDW96zwPT4ZVav3jdYJZL3cPnRW4dnbu8a9B2SkAJKAEloAT6CoHcAjBavQTGJp5DYhk0hIES2A7Lgcawec0FFy1P4viCCGsKNEQXo3h2bC8+FiYAJbBFzZVZs7ZVPDvlgZ65LB8xgZHxfmHJcQDCd2pirCYAbWBsMzwRx4zu0kGW/Zvb3NitmQUwiq7x2Zyp63p24IaaG7UMGxjLTgJNYlgZ4fOVwMbAh/OEr2GfpMqjWYm8yC5aEH1n+2iynCIwwARuEMutBj6wge2rjmvFc0F00WaCaM9MGKeiO7quveeV+gCHrgrAcgNbi6TiecK8NVsGIxzuPOu+B+9Et7a0uatvCYZrK1Uez7O/zvbf0ecLEoBNsEWw7B37GMNakJ69s2sl+sqWE6PbN/H8b+qi7+APj66sR/soASWgBJSAEliaCeQWgEMch1jYIQq9suWH0epXCXwj+8X8+cSzXxm2xnKjmNTd+V5XBSB1peCKCsCsBvDB3nOwgWAbWA3hLm/ZcXorz9QEIIG9O7CIpe8yFYBw14LchFnwy7Ei3GBgdnsBmI0Rg2J84hmXWSR/VW+ZW9ihyZhuiTBZ4AMMB4rh+0b4Pp7j4rqzNqMTzz4LG6urAjB1/8Ll0bVdH3Ub1zMg8It3YVacN3UDN/B1JBVhVeM5vOZC7s4vxoIEYPs5hjh2t3BZq2fYQGgKltt9YNfp8FZsW3Kpu/umSuBX2bWE3HdLu3M/OpYSUAJKQAkogSVJILcArImS9pftM2G4RxQi0UWJ8O/MHUx6ib8tynSPIhbARRCAMV3IfQZ2+AhU4UdJ4HvdIAAHlS3PiOGkik+DYBgCmxrLjTULYCoAG9gqCg1r2dMHbmj1bDkT3svzspscewkcFNfqPcday2hj2BTYwHsOimltuksAli3PB8sRLVUerF/bUNjMO+6e69mwLnhkYct3pbYo5QOTwIh4V7Ku8cASrFtpuwYQ8jBo3yavACw3siWB26IAHODYTuDWDucT3mkNbBivAHRlPdpHCSgBJaAElMDSTCC3AGyynCqWlZIqx9dvuN5CV3ZcCny81fNV18gaLvADgTHi2TgTgBYY2IElJrpF5867A9hFC+BgWNs6HguerervgaVBITAucwPHPHsvLIIFcEDZ8iTwewIXiGObLFBiQL0ABGIKk0cyl+iLiefwvAelqYFdBC4W4e8Vz56DYU3nuB/Bu8DW0f2aQwA2pvcCoQnLU9XAmBnwYnRx16VRMWWXRmm/M9fznZltUc7VrE3MEfgnA9Os5+Rp8OZQWCM0sGZS5e64lxhc0dpKy/Lw7/dh2YYGjjeSWok/N1+qFstPMRwbYM8Wz215OcSYlBKsLmCN5YAYEOQC+7RCawtp0Eo8NwMAtxK41gY2szFoRXiwEvh2R9HW6gIuQF+bKgEloASUQJ8lkFsAlixnWvgwRvu2F4DSlldthyHwSRsTC0cLnPCiGM41cJR4vh4FYAk2MjEo5KPPr6JlcVEFYMnydQz7Vjw7199FS+8FOp4Tz/YVeGkRBSBpUEObqFkbeERgvIFTk7Z55+XaK1mOMYafiWH7SjV/ouUmGCmOJ4JwXEvgoihwUjEmrBsCG8XqKZ0JwOzzKMjnewzsVZ9epgnWE8fPgW2AQUY4rfaOs+CXswR2NbA88GyAS2qRvDEIBPgGhjWBGQK3B8/32qeBydzyp1rPXtPgqQLfplrAzjrz9amz3sXIaEjv98Uo8+jivzxpixjv8K6lCsAC9LWpElACSkAJ9FkCuQVgnyWwGDdWtnwPw3aJ54tahm2xgW5QtouNrQ6sBJSAElACfZSACsDuf7HRHblM1bG7EX5sA3tO07Jj3U9ZR1QCSkAJKAEloAS6TEAFYJfRddwxS5h9r8CjxnNKB/V3u3lGHU4JKAEloASUgBJQAsUIqAAsxktbKwEloASUgBJQAr2cQExVl91tXxVoAZ4w8EYvX3a3LS/P/lUAdhvuJTPQYFjLNbBKUuWxJbMCnVUJKAEloASUQO8gIFAGfgBp5o1YKrX+ianbjjHtatr3jpV3zyqK7L9LArDJ8dUgrFKfELh7lp5/lN6whvyr/W/LtMSa5YhBgYvfikme655YycN4XmiGv+UcO6Zx+RPCej6w0XSo1PcrwSeM49JWz0G9ON+dKTWwNbGqjOG1ZTy3teeSk4U2UwJKQAkogX5MQGA14M/AugvBMA3YydBW4rQvPUX3X1gArgBDG12abqOEYe+kyp96GmBvWENX9xzLxDVaHm0IbBfz+bUTgHcFwzntkzIvbK5Yjg3HGs0+TXg8X1WLNO2O5Z5enPDYlRs4j8CuwEQMGyKsNiewy6x2bLrKW/spASWgBJRA/yAgbeLvo4UgPrr9mEd2Y9POaLK0U+rC/ottucmxd4BjrPBXMQxIPEfURogBEDiGtHhuz/4tJl0+XAJ3t8Br5QZGS2DNSuCyWp62Usw/Z9m0EtIk0vXVIxa4sIWtIdb1HWDZoxK4oqmR4cGzo3X8ubk1Td4cn7SubwhcHX3k1rK3MbzS7JlYW9MqsFxrA9tJSA9Iqw3cMQ3+ETvHvHlYRjUHflm/3lhzWAzvtFTTA7jApwwr0paIertk/vsIpuR4IHhOjLV8a9bAAG8bx5djUmTruX5aW7JmBsNwZxkT/7+BpFbHOP53ZDDQMi6WqDNwsBEuliw/YQhcGd9FbYExmXPw7GwNbwfP7yswvX7xaXLtWIkEVhLDS8bzhwRm1LdZmAhdGIshDWxvhCvnerbJBJ9rclwlwn+SwInFTqa2VgJKQAkogf5KQGA0cGeB/Z9mmD+vcYG+va5pF/dfbB9lx40iPCSWyfGXN55Na6IhrRZiWKuuXFxDua0yx4kt8NBg+JRrq44RkyZfuRKsWm377+9XPNfmXcnC1pBZva7B8gDCSIHnDBwgcHDFp1Uv0uTCWC4zgYOBezHsJcL1lcB34xrKDYwXYU0jvIxhKLC7wNiK584sOfJkDLslVR6N7aNbF8ezYjg0h/VuYNnytAS+UoEpTY6DjeeWafBhZJW5a/+R1iMWngf2FcMkAxsI+IrnC1F4NsEWwbI3htXjPuurkAyFj3nL8aZt7ftjuEJCmiiZEJgQS8lF3Vi2nIFhFyRl8Mn4l5P37FKrolJ27Aucb+AOEWbGhM/Gc3o7F3XczzMYPmM9G0yDv+d9jyXHL4wwuyb2hsKng00rhcxJAiPz/kGQdz5tpwSUgBJQAn2TgJDWdz+0wO6eN7BJgfa9umkX959/T5nr9Vnr2TnAO+J41hqOaq5ybxylMwGYtnHsKXBJq2eHRscpsexY4vnagio3tF9dZ2uoqzYyIfEcE5MEly0XiKGp4vlqTQAaQ0urZ3S8G1dy7GqE/0sCm0fx0WZU+687tWw5HcNGiWe/VPA5rjHwQeI5Kvvv3YxwdhLYor4SyALIurJjkvEcn1n3pgh8peK5t2R53AZ2bYZ/RwEosL14RrXAs5nwfLHqGTkDXqqNHa2uxnJFuzJ06ccLcwE3NTJShMtdNS0tNzMVvpbzMayQ+LR0HmXHnQh3JYGfLuSURCF5nMA6ywVOerOuEkpnJyveXxS4Oor/kuNLCBdZy1USOLo1sFEvvrfY2db0cyWgBJSAEuhBAjH1GrBVgSnnmI8GiRTo3ruadnH/+TcRXa8C30o826fCyqWu3FATQnkEYGZ5Go9hDML7IbBjLG2WdxWdrSETPROj+7ZmmUzdpY61E8+NNQFoA2Ob4Yk4b3SZDrLsX+dGdUMa2M4ERhpYVgybRVdw4tknth/SwA5W+E3Vs/EMSFJBKPwjCfwozz7KjvuC4UyENYxwgjG81Og5tNXxp1bPmCh8MgvgpCQwPhszdV3PDtwwC95dVAFYspxk4BDg5nlrNqwPrJ54tovvNStldzrCz03gpgLBKXkwRCF9v4FfIKn18fAQOMhAs7E80YvvLebamzZSAkpACSiBniMgbWVGhxeZ0bQZe/rE08X95957jDi9EcProcrPYi/r+LzAd51nk3g3LacAjC7WUQh3I1xQ8K5Xp2uIAhDLLR1ZxLKdtrmAA3vH+sQd7L6x7Lga+BSSBriE9gIwisiy5QkMZ7Z67m90/MV6Rud1f0ZxZ+DaAP9jDRdJ4CIb2Ds4rkg8n49WxFQAwl2JT0X2Ap+uWgDLDVwogR0Mqcv1v4/htcRzVc0C2tTATiLpPc8vAZODZ2xLN4XQlx0TEdaN0b9zPWNnwn/ifcJguW5AYJN3YVbu06kNlYASUAJKoN8S6KIAUgGY58SsDKu0Ol40pPfK5tcMhl2aq9zXZDklGIZVPGNjg3gXLTieDJ6D4h3A+G9lWB3HIyL8whi+ITCu0haA0emTZw2LKgBjkIc4HjeeDaIrNi6qZDnaGHauWQCzfzvJGHaKLkwDhydtd/N8p5toc63+SoS/G8MuiWdM2fEbhEkY9kt8GsE0t5sE4IbGcm9mTYuh7/OeuCcM+1Y8u+RZ90qwvG8Txi11dzzT8VZIvf8Mzu4W5kGQtilZTjaG3RPP56DtjmLZciKGz0Uu7aOacw+sDZWAElACSqBfEVAB2CULaL4zEqNSRTi5EtgyuyeXdkytglCJbuDMPXtBq2dUIzRIvOQPmwfPrpkAHFh2/B54PfGMKzkONPAT79lmOrza2UryrGFRBWCMenWOZwQO9J7HnGV/Y1LX7oP1AjANaLGpqP1QDGdUPNd1tv7a5yXLmVH8RQtjEjg97gv4P+Dtmvs1hwAcGI2w5Qa2lcAlPqR3Az/MhFSaDmZwvK7omIxwng1cMQ2qWWCFz3IEPinCFY2BiwJ8II0Mq7bSOp00zY+NUbquykvNkAyBVYzjF1aY3JwFy2T7iRbTGMjzmeDZuD7CuDMeaRJry33GcEYMhAkNbIVwRTAc1FJt+4NBHyWgBJSAElACnRFQAbj4BGB0vf4OYUoS+F79i0hFn3COCwwfCP4Dl7qHv4LwTzFpVO2J4jkjCsCyTYXUl31g6yxpsSs5fmVg7UGeUZ0kAM61hmp03S6aCzgNaqBt7csIqWC9x8De9QIwvcvY5qbdqtWzYZGAhbLleAzjvWXz6a08vTys3NhmXX0m8WkoexTWC3UBZ5/v/ZEvhecT9ellSo4xRvgRhs/GtsGzQ501dkscZ0B65y+Kw4et5/vT4GkgBqtcJrBbTAEDvCHCNQ2Bc2pBI9ncsd0EETbzgV3incjOvqj1n5dhaxw/AbYUYbI1/KDZp8z1UQJKQAn0OQLCdh8D9gSGZZubCvze8PDbfW6zPbghFYCLTwD24GtcaqaKlq94h+3JaMVbalatC1UCSkAJKIEeJyAMGwBN0QhyPDCg3QJiDtwLofl0w9Rc+XB7fAO9fEIVgCoAe+KINq4IKzjLtw3sUWfN7Im5dQ4loASUgBJYyggIWNguBtzt1snSJ8LDexgIS9kWl/hyVQCqAFzshzCLdI7u4Yl4TkoglpTRRwkoASWgBJRAhwSE7U4Gzs6J5xTDw+fkbKvNMgIqAFUA6pdBCSgBJaAElECvISBstQw0RENBOeeiEqiubngsBvXpk5OACkAVgDmPijZTAkpACSgBJbDoBIQjG+H9tcEMggH/Mlw1X2EDYbud05KjxZ5dDA/fV6xL/26tAlAFYP/+BujulYASUAJKoEcICGNjNG8MADwIWLFu0kkgPzL85p74b8L2h4FcXmxR5nDDQ1cU69O/W6sAVAHYv78BunsloASUgBJY7ASEgzYCEwXeqguezJxluOY0YdsjwUwotig5yjDp0mJ9+ndrFYAqAPv3N0B3rwSUgBJQAouVQGb5i8nyFyL+5i3hG/CvuSoAF+srSQdXAagCcPGfMp1BCSgBJaAE+i0BYezFwLicACrw73OgGpPdF3jUAlgAlgrArgvgopi1vRJQAkpACSiB/kegLeDjg1hXvf7OXycgWh6G6bHaUoFHBWABWCoAVQAWPS7aXgkoASWgBJRAfgLCV9YD99f8PWLLGe9CZZVifVQAFuO16C5g4TufAPe/INuAGQzmXZD7YcDVhjMKlTgtuvbuaN9FF3h3TK1jKAEloASUgBLo2wSEA4eDfarYLme8B5VYT73AowKwAKxFtgAKJ38XzPeBQR3M+x6YcYazbi66pp5srwKwJ2nrXEpACSgBJdCvCKgA7L2vu4sCyAinnAFE8dfJY77cm0VgF/ff2ab1cyWgBJSAElACSkAFYO89A10RQHD65uDzWnTfgwHr9VZ3cFf2b3rv69SVKQEloASUgBLoPQRUAPaed9F+JV0RQHDKdcCBBXb1TcPZ4wu077GmXdm/CsAeez06kRJQAkpACfRmAsIv1gC3BZghYN6B6iOGoyu1NasA7L1vrysCCE5+C8xq+XdlJhrOGpO/fc+17Mr+VQD23PvRmZSAElACSqAXEhAuWRPsz4Fd2y1vNnA5uO8bDk9UAPbCl5ctqSsCCE4WMEV00FOGs0f0Rgpd2X+RjffGPeualIASUAJKQAl0mYAwYSPgfmDoQgZ5CebuCI99TKOAu4x6sXbsigCCUwquSZ42nLN5wU490rwr+1cB2COvRidRAkpACSiB3kZAuLgE7gVg9RxrexAePFEFYA5SS6BJVwSQCsAl8KJ0SiWgBJSAElACS5qAMOFU4Mz863jnNHipQPs4suYBzM+36y1VAGot4K6fHu2pBJSAElAC/YqA8MvnwHw2/6ZbHoXJW+dvrwKwGKuut1YBqAKw66dHeyoBJaAElEC/IiBMiEEeA/NvesYr8Pza+durACzGquutVQCqAOz66dGeSkAJKAEl0K8ICBOk2IZnvAbPf7JgHy0FVwxYl1qrAFQB2KWDo52UgBJQAkqg/xFQAdh33rkKQBWAfec0606UgBJQAkpgsRJQAbhY8fbo4CoAVQD26IHTyZSAElACSmDpJaACcOl9d+1XrgJQBWDfOc26EyWgBJSAEugyAWHKdsBOYFYFaQH7KIS7DRvMrQ2qArDLeNOOwiuDYfYYMJsBg4BXgTsNw15ctJHn7y1M3RD4IvApYDbIMzDoD4a1p//3XRYXQEtLHsDFtX9NBN2dp1THUgJKQAkogSVKQPjrp0GuAUZ2sJDXgcMMw+5tEzAaBNLVlyX89RgIPwRT+ugY5mZoPNqwzn+6On7b+3l5ZWi9GGSfj44jFbDfM6wfS/jRFy2Ai3v/KgAX5XRqXyWgBJSAEug1BIQpw8A8BDQtZFEC9hDDeteqAOzaqxOmxmTYMYn2wp6XYMC2XRWBbeJn7iRg3U7mOcsw7LS+JgB7Yv8qALt2/rWXElACSkAJ9CICwksDoTW6HtfpfFlmBlQ3hEejRbDAo2lghL+OArk7HzRzs2H9L+drO38r4a+/69jy19Fo5guw/tnA8GJz9d5awD2xfxWAxU6LtlYCSkAJKIFeSECYMhZMdP3mfcbDwyfkbdzWTgWgMPVhYNsC3DYqeicwu/M2ucAck2DYMn1FAPbU/lUAFjhh2lQJKAEloASWDAFBhsCsNSHMhhVeMZjW+pUIU28A9iuwupfh4RzWwvoR+7cAFF4dAh9WCjCOTb9tGHZukT7C1JOAnxTpA5tOhjkbFevTOy2APbV/FYDFTou2VgJKQAkogR4kIMwcBeb0+a1OMgPMb4AfGZZ7Oy5HmPrEAgI/FrRaDw+7Ylvp7wJwyiZgni3GjEsMw44u0keYejEwrkgf2PZfkKxZrE+vFYA9sn8VgMVOi7ZWAkpACSiBHiIgzOos2OAdaBhlGDhZmPpUcRdg9GYWefq7AHxhODREzgUeudSwwVEFOiBMmQDmyCJ9YLvXoLlgmb7eKgB7Zv8qAIudMG2tBJSAElACPUBA+OAYkJ/lmOodYDN47Q8qAHPQWoQmggpAwzmbLwLCXF17SgCrAMz1OrSRElACSkAJ9BQBQQbDrFc7zjHX4Sougddi3r+CUaBqASzyTlUAytMqAIucGG2rBJSAElACSqAAAWFmwYjeeCfw9VeATQtMA6gALMJLBaAKwCLnRdsqASWgBJSAEihEQJh5AZiCKVrefAX82oUmUgFYCFd3CMBmZLTAfgHWi5Nb+JuBG5swd9UW01Mu0N5aCq6n9q8u4ELHXxsrASWgBJTA4iYgzJoAFAwCePM18AWDANQCWORdLooAfA9ZDbgO2GEBcz4IHLgS5q2eEkAqAIu8fW2rBJSAElACSmAxE1ABKEcZJl26mDEXHr6rAvBNhp08CB7PUdbtpdmw5epMPUejgBd/FLRaAAt/BbSDElACSkAJLE4CKgD7lgBsZthcgWPynBkDP29i6gAVgCoA85wXaeCTVgAAIABJREFUbaMElIASUAJ9iIAKwL4jAAMNv01Ydy9gUM4jOrvMS7daql/J2T5rpnkAi+ZBVAtgsROmrZWAElACSmAxE1AB2HcE4BwG//V9Vlu/yJFZkTf+OoCZhfosqUTQTyIbONgkwCCBf1Xh0a0xHxbZb/u2PXUHUgXgorwl7asElIASUALdTkAFYN8RgLMp/2cmq6xc5JCswFv/Gcj0Qn16WgA+g2wl8FOBEe32lgDnDYcfG0wosu9aWxWAXaGmfZSAElACSmCpJ6ACsO8IwA8pvzeLVVYqcihX4K33BjK9UJ+eFIBPI4cKxCCdhoXsa+IysM8GmLlF9h7bqgAsSkzbKwEloASUQJ8goAJQBWBvFYB/4eyvWoj1kDu902jgJ8Mx3yn6pVQBWJSYtlcCSkAJKIE+QUAFoArA3ioAn+bsN4E9cn7RovVvzc0xb+dsnzZTAViElrZVAkpACSiBPkNABaAKwN4oAAMDn3+O760nMLDAl+3ozTGXFGivArAILG2rBJSAElACvZ/Ab5DSMnC0wL5kpcBoKwV204dw8UGYSpsFRCuB9JVE0H3pDuAHrPbqX/n6p4p80wR+PgLzjWJ9pkzoiTyIGgVc5K1oWyWgBJSAEugSgRuRjRz8EVh9AQO86eFL+2EmqwBUC2BvtADO4pOv/Y0jC5UbjMEiIzBHFfnSqAu4CC1tqwSUgBJQAr2WwK3ImgH+AgztZJHTLIzYkw9O1lrAfaMUXF+yAKoA7LU/YnRhSkAJKAEl0BsJ3IxMBHbNubY79uaDf6sAVAGY87xkzRZ/JRAVgMXeiLZWAkpACSiBfkzgt8gaA+D1IghG8eFtyyN5Iy2zod98DXwh9xw8XGRZwIzX4PmCc8x4DyoFc9qpC1hdwFoLuOCXU5srASXQkwQmIINnwhgHmwkMMvCqgTuPw7zYk+vQuXovgZuRLwM3FVnhFsz558fxaxXpAyoA63ldgGxnYCcDqwZoAR6dAXef0YXExLVxhReGQ0PMgZf7URew3gHMfVi0oRJQAksHgQuRYwL80ECp/YoFbvZw9EmY/ywdu9FVLi4CNyNHAhOKjD+SOe+tji9oNVMBGBmfj3zawjXAyA6YR0vsYSdg7i3yPlQAthFQF3BXTo32UQJKoE8RGI+cCZzayaZeqsK2KgL71KsvvBkVgD3nAr4IGRbgIYGmhbwoMXDI8Zhri75MtQBqFHDRM6PtlYAS6EMELkBGGbg7z5aiJfCbmOgC1KefElAB2DMC8CJkoId49WKdHEdtRoANT8S8kaPtvCYqAFUAFjkv2lYJKIE+RmA8Em/Ob5t3WxY20juBeWn1vXYqAHtGAJ6PjM1cv7kOkYHxx2O+matx1kgFoArAIudF2yoBJdCHCIxHhgBptYa8j4FvH485t779kciyK0J6yX8G/PNSzAd5x9N2SxcBFYA9IwDHIzcA+xU4HS+fgFm3QHtUAHaPAOzs558mgi5yKrWtElACPUJgPLIJ8GzByS45AXN07HMCsoHAWcBo/ltPcw5wl4FTx2OmFBxbm/dyAioAe0wAPrGAwI8FnRB/AqahyPFRAbhoAjDvzz8VgEVOpbZVAkqgRwichwx3UCgNRCyF9E3MUScghwa42MCgjhYrMNvC0eMxV/bIZnSSHiGgArDHBGD8Xg4v8lJPwBQqB6sCsOsCsMjPPxWARU6xtlUCSqBHCHRVAL4OVwEPAZ1ZHKrA9hdiHuuRDekki52ACkAVgLNYpVBKnxV4672+lAj6NwV//o1n6v+AJoJe7D+cdAIloATyE1gEAbgpMCLnTH+5ENNRDrOc3bVZbyKgAlAFoApACv38G8/UZ1UA9qafYroWJaAE6IoAnA33vgu7FMFnYEO9D1iEWO9tqwJQBWB/FoDvwb13F/z5dxKv3rsaswv9zITitZAL+f97748YXZkSUAI9QaArAvB9eCOBNQqub+yFmN8U7KPNe5jAPsjmAcYa2DSWAgT+JfCHOXDTnZgY3IMKQBWA/VkAvgRvPFHw59+hvPnG/7d3/9FWleWix7/v3sgPjR8SpuAPtqkNsoRwI91MjeHwYGVmajaOBTbS2mR5r/2491RqZmZmaekddVUg9ZrY1TQ7Zh7NGpwQtZOCZZaCSLKSCF0KiiEbZO/3jrVAEkOYzyImi72/60945p5zPfOZz/ysd875ztG8EOyZArDk9ufqzEDvykCDAKwug9A9QMCUy0jTeld2d5xvexJ5QFftrWNw+qa2OsHja+G4W0mPCEAB2JsBOB+qDwT73yksqY7l+WDPFIA7Tgd1S83ADpgBAbgD7rRtsMknkG8Bjt/Cn342w6GTYILvAl4ePJnnKYl7Qj+ALiX7FDDPjoyV+1mh8EbeBSwAQyk22AyYgWbNgABs1j1T3nadQJ4CXFlkjRnunwRXCUABWKReXo7pSU8BC8DInjfWDJiBps2AAGzaXVPahh1P/mOCA4uu8B0w440wqWh8LW48q6t70RUcNVtcga7gCFDtrYaRz4oKPBRch5eAvQQcuwXGS8CRY9JYM2AGSsmAACwlzU27kveTR/SBv0Q28M1QORhCaBKA2+cS8CHkvTO8PcOQDEtfgnsfJm149aMTQccngnYEMNItjDUDZqBpMyAAm3bXlLJhJ5APBuZGVjYKqu3Bm+AFYLkAfBu5rRW+Bxzzqn3bmeH7q+ErfyQtE4ACMHLsG2sGzEAPyoAA7EE7s4Gv8gFye0vwVYACsLkvAbeTDwJmAsNeqyQyLMgw4UEeHg59Qq+CXMXQqpeAvQTcQLtxETNgBpopAwKwmfZG+dsiAHvWPYBXw9C+8Htgry1VU4ZZc3n48wKwI3Q7g5eAt1RZ/r8ZMAM7RAYE4A6xm7bZRgrAngXA6+CcBBcULZgPsvycL7K0cHzt7zoC6DyARevLODNgBpo4AwKwiXdOCZsmAHscAB9KMKZo6RzCi/ddQeXQovECEBwBjFSLsWbADDRtBgRg0+6aUjZMAPY4AK5O0K9o8byNVQu/z6L9isYLQAEYqRVjzYAZaOIMCMAm3jklbJoA7FkAnBGsmdGsqlzNotA9cF4C9hJwsMwMNwNmoBkzIACbca+Ut00CUAAKQB8CKa/juCYzYAaaJgMCsGl2xXbZEAEoAAWgANwuzceVmgEzsH0zIAC3b/6399oFoAAUgAJwe/ch19/bMvC6/Fa6eA+JfUl0Ag+yktsgPd/bUrE9v68A3J7Z39brzn3ZmaPJHEpiCLCUbmbSmTa8MFcACkABKAC3dSfy75uBdRl4XX4D3VwOnLiJlCwncy6rUu0VRn5KyIAALCHJ22MV/fNRtHAVsM8mVn8/XUxmdXpMAApAASgAt0eLcp29LQM1/HVxD4kDtvDVv86L6Zzelp7t8X0F4PbI+jZe5y55EpkfAGkza3qWFo74wN8Y4KvgHgo9BQvN+yo4nwI+K3RwrcR3AYcSZrAZaDgDO+ebX2Pk7x//ZOJoVqa7Gl6XCxbKgAAslKYdJ2hA3pvEH4BBBTb68Ykv8tHXwb0FYjeE+C5gAei7gH0XcKRnGNvbM1C756+bhwNpuIcX0+GBeEMbyIAAbCBpzbzIgPwdEp8tuol7v8Rlh7zEZ4rG1+IEoAAUgAIw0jOM7e0ZGJD/F4lvhdLwIrtCei60TE8P3nnsCF5q3Z3W9DydD/xpa7+uANzaDDbZ8gPyAhL7F92qYd3MOaKTcUXjBWAtA/8kALblIexEW/0huIEsZG566ZX74VLyHKA9sm+8BOwl4Ei9GGsGysnAzrn24MfpoZUlxrIy/S60TE8N7nfwFFL6H8CBr/iKS4CpdL70bfj9yka+ugBsJGtNvMzOeS3QWnQLh3bzxIRO9i0aLwD/CQAclSeS+DJw2CvyvgK4Hvgaj6a/1v5dAB5egWeD92cKwMixbKwZKCcDO+epQEdwZeN4Mc0NLtPDwt8xgH5rridx/Ga+2DzS2qNY9dBfol9eAEYz1uTxO+cc2cKh3VQmdBI6yXoJeCtGAN+cLwDO3sw+WkpmIvPSwwJQAEYBvLmnviJ9wVgz8M/NgABsLJ/924uNnGYeZPXAt8OvaiNAhT8CsHCqdoxAARjcTyVOAzNqdl8S3y2wgUuBgy99tDYvqpeAC+TrFSGOAMbyZbQZKCMDAjCe5Z3HjqO75YHiC+YpdD44rXg8CMBItnaAWAEY3EnlAPCJPiP+7Y0H3PAlqN3XXOhzxaWPMl4Aegm4ULWsD3IEMJItY8vLgACM57pf+2UkzgwseA+dc0NPTgvAQHZ3hFABGNxL5QDwG8M+Mvus3aZEjs0V336UhS0wNvKFfAjEEcBIvRhrBrY+A0fndwMfWjdDRP0zD/gRP093bvjjAjCe5/4Hz4J0RGDBlXTOfV0gfvuMAL4n92MtJ9HCsUAb1F8F+Fu6mcEvUu3JRz+NZkAABjNXDgA/PvwLT1015JjdIxt3wXwW7tLNfpFlBKAAjNSLsWag8Qz8Sx5BKz8k865N/pHELLr4ML9ISxCA8Tz3bw9PA0Hn3NBVgNJHAN+TD6SbW+E1pyq5ghV8nl+nVfGEuQQCMFgE5QDw5BHnVm8YfNRukY07/zEqA7tiD+gIQAEYqTFjzUBjGTg6DwX+C7b4WrcFwH9jNt/wKeBgqnsaAN/Lr+jiPuD1m81E4ifcmU4IZsvwWgYEYLAOBKDvAvZdwMGDxvBen4Gjc+1ptjMK5uF7zKavACyYrZfDehoAj+Y0qN/YvuVPN5/kF6k2dZCfSAYEYCRbtUmdK7Dt3wXsCOCSaj+eD42AgtPAOA1M8HA2vIQMHJN3ZS21SYj7F1xbJ//FT3iJkwvGvxzWu+cB7EEAfGRPZtz1ViYF9v8j/Dy9JRBvqCOAwOxgHQhARwAdAQweNIb36gxMzO8j1eeoKv75A4+ynDcXX6AeKQCD84A16z2As0ZR+e3I2P1MdLNn/f5RP+sycHr9h9c7SexB4jnW8BuuSU9ulB5HAIPVIgAFoAAMHjSG9+oMHJ0/AYTmm2MeT1PlDcG8CcAeAsA7RlOdPzz2AvX6HGg/Tw8Ga6bnhZ+Wh9LKV4GPb2LU/XZaOIMr06L6FxeAwf0vAAWgAAweNIb36gxMzB0kYvdnzafK02EACMDeDMDMOO7q5a8CPDWPoA+/2sLDVs8ARzItPSwAvQQcOTeNZlVFAArASM0Y29szIADLqYAedA9gQyOAAhA6cg1/m55maeMqXEwro7mWZZHi9F3AjgAKQAEY6RnG9vYMCMByKkAA9u4RwCn53WTuCBTbOczggkA8AlAACkABGOkZxvb2DAjAcipAAPZuAHbkq4GPBYrtIWYwJhAvAJ0GxkvACMBIzzC2t2dAAJZTAQKwtwOwNmn2OwLFtpoZ9AvEC0ABKAAFYKRlGNvrMyAAyykBAdi7AfiJPIdEe6jYgu8C8xKwl4C9BOwIYKjHGNzLMyAAyykAASgABeDI2MHmU8CRfPkU8MjKPEcAIyVjbK/PgAAspwQEoAAUgAIw0G2CA8AIQAEYKC9DzQAgAMspAwEoAAWgAAx0GwF4ViBbsBIBGEqYwWZguwHwunx4fcLb2quwunkOuI/+/JwPpTU9cq9sLQB/lPvSydHAobQwhMxSYCaT04brZJeQ21thTiR/L0B1GbFJvZ0HMJLh9bHeA1iBLgEYKB0BKAAD5WKoGWggA2WPAF6b30Qr15EZv4mt/TMtnMZH0i8b+CbNvcjWAPD6fBTdXAXs8w9fMnE/XUzmo+kxAdjEJSAABWBX7P3ZAlAANnFHc9N6RAbKBOA0VpG5G3j9ZnKXSZzCpBTtf829OxoF4Iw8icwPgLSZL/gsiSMumcQARwCbtAwEoAAUgMERYAHYpN3MzeoxGSgLgEN4J9/kWmD/ArlbQR/eysnpyQKxO0ZIIwC8Zs4+rOUPwKACX/Lxs8/ko8OWcW+B2A0hXgKOZGsrYgWgABSAAjDQQjb3iz/wZww1A5vJQFkAPI3LGM9nAvviUianzwXimzu0EQBOn3Mp8NmiX+zg+7hs8hWhHCMAi2Z3K+MEoAAUgAIw0EYEYCBZhjaYgbIAeC5z2TM0Ee7jTE4HNPitmm+xxgD4eMER0/r33e9R5pxxIeMiX14ARrK1mdj/zEOANqCTgSxkXHppo2gBKAAFoAAMtBsBGEiWoQ1moCwAfotFDK6fIIt+upic+hQNbvq4xgDYBbQW/W5tC3jizPPZt2h8LU4ARrK1idhZeSKJLwOHveJ/VwDXA1/jiPTX+r8LQAEoAAVgoN0IwECyDG0wA2UB8GIqDIo9Bcfk1HOOgcYAGNqpbQuonHl+LMcCMJTijYNn5wvInL2Zv7CUzETelR4WgIsFoAAUgIF203NOfoEvbWjJGRCA5SRcAPasiaDvzmcA3y1QPLX5Gg/mOm7zXcDOA1igXjaERKdB8E0gTgQdqS9jzUB5bwJxBLA2QXN7qOSmh+Z0xhHAUHYbD56TB/MiTwC7FvwjV3Ad4wWgACxYL/UwAeg0MJF6MdYMxDPgCGA8Z40s4QhgzxkBvDtPAq4LlMEKrmchmbGBZcICGNpNZUJn7BaAUVBtD74JZjyrq3vRtVvou+Al4IFeAvYScOCg8RJwIFk9PnRh3oc+nErmnSQGk3mKzEz6cC17p2Wb/P4L8zj6UDtZ1U48/YFFdHEbXdzEAWl1fRkBWE7pCMC/A/DJPJS1fJRUfxXg7mSeJ3Eva7ma/dKfy9khW7GWu/N3ItPz1Nd0EwtZzX6htQaHgATgigo8FETGiiosD2H25BHnVm8YfFRomfMfoyIAnw3uG0cAQ/3C4B6agSfyF0l8ZT3iXv0lq8DptKUfb/iPJ/MAuvh2/d839UnUphc5jpHpEQFYUs0IwHUAXJRPBK5g06NOnWS+yr7popL2SmOrmZWnkugILXwzFYKjc9FrgAJQAF7NohCyVjG0upLdQ5gdyJJqP54PLQOHV0AARnqGI4CRbPXU2Cfyeevxt6Vv+MENCFyUbwGO3+wCiWdZy6GczgQSU7f0xzf6//lUeZpYA/AeQO8BnFafBujmLdbaOgSet8W47RUgAL0E7AhgrP8LwDCABeD2avDNst5KbidT9EmAKq2MYi0nkbiy0FdI3M8nuEoAFsrW1gX19hHAUUzks/W58YqdOBLjGJnmbl3St9HSAlAACsBix/GGQ9ARwOgIqADcRv17h/mzi3LthPnhwtub+RyJjwMHFl7m/zKDX9fvEyz+cQSweK5ejuztADyd63gbkwOJ+yFt6SOB+PJCBaAAFIACMNRx4gAWgKEE98DgRfkvwIjC3yxxN5kjCsfXAn9BhZtjTw4iAEMprgf3dgCez+/ZndGBxC2hLe0ZiC8vVAAKQAEoAEMdRwCG0mVw7Znd3A1EfggsWv8+0uLpm0mVGwtelnv5rwrA4vl1BHBdBr5FhcGhHxqZttQST3QJSwhAASgABWCo1QjAULoMrgMwB/NQgdBJFgRgMMUNhvf2EcBLqDAwWJttTfoqQAEoAAWgAAydCgRgKF0GC0DfBVz0+Z91R0tTvwlEADoNDL4JJHJeC04Dia+C81Vwkfoyttkz4Ahg5PJ3c+9NRwAdAXQewNAcdTA7eEw7D6DzAHaEamw+VB8oOjPB+mo8hSXVsSXMg9hzTn7Bw9jw9RkQgD3nGBCAAlAAhk7OAjB2JnQE0BHAWMUY3dwZEIACMFChXgIOJGtrQr0H0HsAvQfQewBDPcR7AEPpMth7AL0H0HsAm7IPCEABKAAFYKg5CcBQugwWgAJQADZlHxCAAlAACsBQcxKAoXQZLAAFoABsyj4gAAWgABSAoeYkAEPpMlgACkAB2JR9QAAKQAEoAEPNSQCG0mWwABSAArAp+4AAFIACUACGmpMADKXLYAEoAAVgU/YBASgABaAADDUnARhKl8ECUAAKwKbsAwJQAApAARhqTgIwlC6DBaAAFIBN2QcEoAAUgAIw1JwEYChdBgtAASgAm7IPCEABKAAFYKg5CcBQugwWgAJQADZlHxCAAlAACsBQcxKAoXQZLAAFoABsyj4gAAWgABSAoeYkAEPpMlgACkAB2JR9QAAKQAEoAEPNSQCG0mWwABSAArAp+4AAFIACUACGmpMADKXLYAEoAAVgU/YBASgABaAADDUnARhKl8ECUAAKwKbsAwJQAApAARhqTgIwlC6DBeBGAMwX7QNdp0J+J7QMhu6nIM2El64lnbes6eulf3tNc+2h7ZwuAEP5KitYAApAASgAQ/1GAIbSZbAA3ADAfMEXIX0F6L+JuqhCPp10zo+bumYEYIWBjAzto7aUQvFlBQtAASgABWCo3wjAULoMFoB1AOavnwfU8LeFT/5gUyNQAArAziCAZ2yp5jf+/6HdVCYE1zEKqu0QOpmPZ7UAFIChmoE4gOCs0AGwkpGVeXSEfmTOh+oDwfo/hSXVsTy/zb9/c/76De0Sg7cqA4tyDi5fgeBJZiZVboydAJhPlaeDy1xMhUHBbZt00TjoLnodtAovjWray8ECUAAGcYYADLa/FRV4KAQAWFGF5aGT+ckjzq3eIABDOROAcQALwODh3+PCez0AL/wh8OHAfv0c6exLA/HlhQpAASgAgzibHTw+BeDVLArleBVDqyvZPYS5gSyp9ithBMwRwGD5G76dMpA/OwBePBRog+5O4Hek6X/c7Nbk03eFte+EtAek52DNb0jXPLnRMgJwCTCi+F7NPyOdc2zx+BIjBeDWAzB/bG/o+3bIQyAvhT73kq5YXuJeXLcq7wH0ErAjgCE0OgLoCGDpfXqbrzCf1wJ//QLk/wkMfdX6HoB0Jmnqrzf693zaUGj9KvDxTTzUcDu0nEG6clF9GQFYuwQeGQmfQzr7kG2+3xtZgQBsHID5k7UfVt8DjnlV6ms/tr4PXV8hXVXek+ACUAAKQAEYOg8IwFC6mj44n9QXhvwY0vs2s61rIXWQpl5Tj8mnjoA+vwIO2MwyzwBHkqY9LAAvjJbBXNLZ46ILlRIvABsDYO44CJgJDNvMfloAayeQrq6NGG/7jwAUgAJQAIY6jQAMpavpg3PHN4F/K7CdnZDH1S8J544a/t5VYJnF0DqayuXRUY0e9hCIACxQKxtC2hZQOfP82IM2L0B1WfApuDtGU50/PPgQ0CXEATjyU0Oh6/fAXgXyMIs0bUKBuK0PEYACUAAKwFAnEYChdDV1cO4YXrtAC/Qttp35Vmi5EvIdxeLrUedQmXpBIL4WKgAdAQzdBN7cAJxyDhA4BtJ7SFPvDB4z8XABKAAFoAAMdQ4BGEpXUwfnjtOBywPbuBqoTVQceaL1ISpTxwTWIQDBS8A9agRwykNA5Bi4hjTt1OAxEw8XgAJQAArAUOcQgKF0NXVw7vgucEZwGx8D3hRYZjWVqf0C8QJQAPawS8BTaj+cIsfAr0nTak/jb9uPABSAAlAAhrqMAAylq6mDc8dUoCO4jfHLs5XaakKf+DqaeiJo7wGM7P2edw/glMjXrz1lNZc0fds/BCQABaAAFICh7iQAQ+lq6mABWNKbQARg5DgQgALQV8H5JpBIz3AiaF8FF6kXY2sZEIACMHokOA1MA08BOwIYKTPfBeybQHwTiO8CjvQMYxvJgAAUgNG6EYAC0FfBhZ5QB18FF2kzo1lVEYACMFIzxjaSAQEoAKN1IwAFoAAUgIG+MSMQWwsVgCMr8xCAwbIxPJwBASgAo0UjAAWgABSAgb4hAM8KZAtWIgBDCTO4wQwIQAEYLR0BKAAFoAAM9A0BKAAD5WJoaRkQgAIwWmwCUAAKQAEY6BsCUAAGysXQ0jIgAAVgtNgEoAAUgAIw0DcEoAAMlIuhpWVAAArAaLEJQAEoAAVgoG8IQAEYKBdDS8uAABSA0WITgAJQAArAQN8QgAIwUC6GlpYBASgAo8UmAAWgABSAgb4hAAVgoFwMLS0DAlAARotNAApAASgAA31DAArAQLkYWloGBKAAjBabABSAAlAABvqGABSAgXIxtLQMCEABGC02ASgABaAADPQNASgAA+ViaGkZEIA7BACHZcZlmJRgLNAfWJThtmfhJhKrS6uX2ooEoAAUgAIw0HQEoAAMlIuhpWVAADY1APfKDOiEbwOnv0ZNPN4Nxy1LPFJazQhAASgABWCg4QhAARgoF0NLy4AAbGoAvj5zS4LjN1cPGZ5NcOgzicdKqRsBKAAFoAAMNBsBKAAD5WJoaRkQgE0LwGGcPR24smAt3P9M4u0FY7cuTAAKQAEoAANdRAAKwEC5GFpaBgRgMwNwAHBg0VpIcEQ1MbtofMNxAlAACkABGGggAlAABsrF0NIyIACbEoAtPPfoUC5+c7AOznsm8dXgMvFwASgABaAADHQOASgAA+ViaGkZEIBNCcCdeLIymCuDJxmmPpP45DavHQEoAAVg8NiMDsyvqMBDwXWsqMLy3SLH/8kjzq3eMPio0DLnP0ZlYBehbROAAjBSl8aWlQEB2KQArFQGMy3UZIFpzySmbPPSEYACUAAGj00BGOlLo1lVuZpFoRyvYmh1JbuHMDuQJdV+PB9aBg6vwLOhbQMBGNn/xpaVAQEoAKO1JgAFoAAMAkAARtqMABxZmUdHqMbmQ/UBCGH2FJZUx5YA4BTZ+caWmAEBKACj5SYABaAADJ2cCT+b5SVgRwAFYPTUZHw0AwJQAEZrRgAKQAEoAAN9w3sAvQQcKBdDX5mBCZk+Q+HUDJNf8SqwJxLcthYuvTXx5Kszdkxm1/7wqQwnAaPW//+8BDd1wuW3J5bX/00ACsD1xXFcZu8+8NkMxwL7Ap0ZfpvgumVw9a8Sa+uhAlAACkABGDhNC0ABGCgXQ1/OwEmZPbvgp8DBm8pKghXAp3+c2HCMHZc5qBX+A9jrNTK5uAvee2viYQGIAAROzEwC/k+GQa9RMw+2wvtvSvxFACIABaAADJymBaAADJSLobUMTM7sshLmvGIEb5OJyZATTLwl8csPZNoSPJBg2OaymOGZDIeFY6CcAAAQMklEQVT8Ox1fAjqCGa9AbBoAKlODqyC+jplUuTF2EyzzBeAJmaMy3JVgS/fqztsFxl03oH0W0B7aodNrZVz807aAypnnx2rsBaguC94EfcdoqvOHB2vmEgGIABSAxQ/nv49OFFzGh0B8CKRgqfTcsOMz5yYKT+z751Y4oAtuAY4pmJXbb6HjLwIwCICLqTAohhMmXVhwl6wL24lypoE5KdO3CxYA+xTZwAxf+cmA9vcLwOD+HxmdnSfPJU0fV2SfbFXMrDyVFPwBeDMVAdglAAOF5wigI4CBcjG0loETMjWcjQhk49O1y3iBeO7iX2/9G4OOiywDDYzOOQIYSnFZADwxc2xed4tB0c+SWwa0/1UACsCiBVOPCwpgaDeVCcFRxlFQbQ+OAI9ndXUvukJTZ8DiCgjAyP4P7n4cAXQEMFJfPS72hMwbgYWRL5bhkRR4d2ztb9/HxD8tpa22rsgnfnlWAEbyW9oI4PGZbyT4YmTjbhv+tsdeeq71TZFl8BJwKF3gCKAA9E0gkYPGiaCdBzBSL00d+4FMe8u6+/8inyrBX8D3c2R1MfsHfwE7AthTLgGfkKndnBm6B/T2tjGV1U/1iV0CE4CR47j2eL6XgB0BjB1j+Co43wQSu53JiaCDbbmscAHYADJ9CCT8KjgB6EMg3gPoJeDIec13AfsquOir8Lb0dGGk/npFrAAUgGW8C1gACkABKAAjJ1UBKAAFYOSIaSBWAApAARh70MJpYBpoND4F7EMgg48K3QIkAAWgAGyg10YWEYACUAAKwEjPaChWAApAARgCMAhAAdhQty2+kAAUgAJQABbvGA1GCkABKAAFYKh9xAHsPYChBIMAFIACUAAG20Y8XAAKQAEoAEOdQwCG0tVIsAAUgAJQADbSO0LLCEABKAAFYKhpCMBQuhoJFoACUAAKwEZ6R2gZASgABaAADDUNARhKVyPBAlAACkAB2EjvCC0jAAWgABSAoaYhAEPpaiRYAApAASgAG+kdoWUEoAAUgAIw1DQEYChdjQQLQAEoAAVgI70jtIwAFIACUACGmoYADKWrkWABKAAFoABspHeElhGAAlAACsBQ0xCAoXQ1EiwABaAAFICN9I7QMgJQAApAARhqGgIwlK5GggWgABSAArCR3hFaRgAKQAEoAENNQwCG0tVIsAAUgAJQADbSO0LLCEABKAAFYKhpCMBQuhoJFoACUAAKwEZ6R2gZASgABaAADDUNARhKVyPBAlAACkAB2EjvCC0jAAWgABSAoaYhAEPpaiRYAApAASgAG+kdoWUEoAAUgAIw1DQEYChdjQQLQAEoAAVgI70jtIwAFIACUACGmoYADKWrkWABKAAFoABspHeElhGAAlAACsBQ0xCAoXQ1EiwABaAAFIC13vGfmT5vhVOByRnGJugPPAHc1gKXvj7xZCM9pr6MABSAAlAAhhqIAAylq5FgASgABaAAfCazZ4afAge/Rh9ZkeDTwxIzGukzAnC1ABSAAjDUPARgKF2NBAtAASgAezcAlzL9Xa0wBxi1hR6SE0wclvhluNc4AigABaAADDUOARhKVyPBAlAACsDeDcAq02sjf18t0j8S/PkpOOAtiTVF4jfECEABKAAFYKhpCMBQuhoJFoACUAD2egAOB0YE+sf7d0vcFoj3HkC8BHyDABSAoaYhADdKV17F4XRzJLAHiefI3Mcifp7esulf4wceSN/+/Tk6ZQ4FhuTMUlqY+eCDzH75DwtAAbi1AMwrqQHiA8CB6+vqEeDf0y789eU6OyEzFeiIHP+3t42prH6qz8jIMkyvXcks/mlbQOXM83svAPfnucd+zY/eVDxjkOGiNyS+FFnGewAFoAB8XgCGmoYArKcrd/ImurgOGL+J/P2ZVk5L/Te+L+eQsRzVDVcB+/zDMpn7WzOT73+IxwSgAGwUgDnTl1V8jcxngL6vqrM1JC5jAF9OiTUCkOr84cROAJdQYWAMp4ycEmqx43mqcju3xpAN03ZLxFbkJWAvATsCGDv+iQMIzgod/ysZWZlHR+j4nw/VB4j1slNYUh3LtgdwCn37HSA4v8CBtHA38PrNbG6mhVPSgHVP6B18MJNS5gfA5vLxbDccMfJBBrSsuwE88qkSLID7ObK6mP2DB0ADOKvUBppCnwoET7IzqXJj7ABgPlWeDi5zMRUGBbdt0oWhL78TlUojAKzC6bzIrcD7trDCn7Ezx50IVzgCGNz/ArBCZ7D+g88oD+2mMiG4jlFQbQ/2v/FeAq46ArjtASQAQ6e/5g7OC+jHnvyBzP4FtnQFibeOHw/dO/EHYFCBZR7f62d8tHUE9xaIfWWIAOztAOxkEd0U02YLZ53YnzYBKABDfeZmBCBdodEZ/n53T8FUr6jAQ8F1rKjC8tCP+ZNHnCsASxgBE4AFy35HCMt/YxKpfum32CdxafuhkBKfLbYA7PJuLht2Yf0SXuQjAHsxAAfCtX96kWOBoQWLZtmHd+a21fDRgvH1MO8B9BKwI4ACMNIzggPAjGZV5WoWhQC8iqHVleweAvBAllT7CcBQzmjgEniPugScX+RGMh8KHACPjzusHl1kxLAe2L+dObtPZ1xgHbVQAdiLAXhsN7+9upOxkZo5rz+/fbgltowAFIACUABG+owA9B7ASL00dWxeyW9e48GP19rurvUAbC36xfqO4Ynh17Bv0fj1cQKwFwPw42t56htr2D1SM9/px1P3tsaWEYACUAAKwEifEYACMFIvTR2bV9YfzmiPbOR6ABZepN8YKntcE7zR2hHAXv0QSMdaql9fE7uf7bJ+VGe3xpYRgAJQAArAwiczCL+n0EvAPgUcqa9SYwWgTwE341PAApDqsuBToHeMdhoYUmweSHwIpIIPgYTuz3ME0BHAUpG2LVcmAAWgAHQi6FCPcR7AULqcBsangH0IxHkAQ02jrGABKAAFoAAM9RsBGEqXABSAAlAAhppGWcECUAAKQAEY6jcCMJQuASgABaAADDWNsoIFoAAUgAIw1G8EYChdAlAACkABGGoaZQULQAEoAAVgqN8IwFC6BKAAFIACMNQ0ygoWgAJQAArAUL8RgKF0CUABKAAFYKhplBUsAAWgABSAoX4jAEPpEoACUAAKwFDTKCtYAApAASgAQ/1GAIbSJQAFoAAUgKGmUVawABSAAlAAhvqNAAylSwAKQAEoAENNo6xgASgABaAADPUbARhKlwAUgAJQAIaaRlnBAlAACkABGOo3AjCULgEoAAWgAAw1jbKCBaAAFIACMNRvBGAoXQJQAApAARhqGmUFC0ABKAAFYKjfCMBQugSgABSAAjDUNMoKFoACUAAKwFC/KRmA+YvsSgufInMSiVH1bc3MI3ET3VyeLmJ5/d9m5akkOkLf5WYqdDIytMyMUDQCUAAKQAEY6xolRQtAASgABWCo3ZQIwPwFDqKF/yCx1ya3MbOYbt6bvsnDAnB1dS+6dgvtSxZXoCsGYGbHVoEAFIACMHjQlBMuAAWgABSAoW5TEgCHfYlv0MIDwLAtbN8zdHNIek/+kiOAAjBSy+c/RmVgV2wEODgAzGhWVQSgAIzUZWmxAlAACkABGGo4ZQHwbPYEjim4bbeno/NfBKAALFgv9TABeHgFng2OAJ8VSTErGVmZhwAMJa2sYAEoAAWgAAz1mxIA2Po0t+76vzkusl1vfNefbn1iwL6hZfAeQC8BOwIoAAONJgVimz5UAApAASgAQ42qBAD2n8vC193CfpHtOm7srX/66e7vf2NkGQHoPYBeAnYEMNIzBOBhkXRBvzFU9rgmdp8FUAVCNzTfz5HVxewfWgYEoAAUgKEjugQADriP6i63x47/k8f8v+oNw/81dvw7AugIoCOAjgAGGqAAFICBcqmHViAI4JlUuTF2AmQ+VZ4OLnMxFQEoAEMFLQBD6XIaGJ8C9iEQ7wEMNY2ygr0E3ADOKlOju0cAMi30K7NjLdWvr4lh9rJ+VGe3xpa5vW1MZfVTAjBU0AIwlC4BKAAFoAAMNY2yggWgAHQEUACG+o0ADKVLAApAASgAN2oauZ2d6Mt+JPrTl0XpVzy3pa6S29mZgay7yfkF/pTm8uIWl5nAENbQRqaTNSxMc3nplcsIQAEoAAXglvrIRv8vAEPpEoACUAAKwHrTyIczHPgymY+QGLShk2TuoYWvpbu569XdJb+Tt9DC14F3A/3W//9q4E66OTvdyx//YZkjmEg3Xybx9zv2MitIXA98Lc3mr/XtWckcoD3S0cZ5D2AkXd4DSKUy2EvAoUvgL0B1WfAhqDtGU50/PHYJnEuoMDB4f6oADB3/AlAACkABSD6Cg8h14O3xmh0k8fV0N+e8/P/5MD5G4nKg/2ss00nmU+kertmwzBFcQObszXSppSQmprt5WAA6AugIoCOAIdEIwFC6BKAAFIC9HIDrR/4e3Cz+/t5W/nuazffyu3gH3dwN9NlCx1lLC0ekWfw6H84ZwHcLdKilwMHcyW2OAAZHQHwIpEB5/T1kJ0cAK2eeH6sxRwCdBqY9OAI8Ht8FfMPgo0LTAPkmEN8EEn0TSkPTwOTD66N4pxc8cy6nH/uyml8AhxRc5gH68S+s5glg14LLXMGdjBeAsZMzArBgea0LE4AIQG4NXQJ3HkCqAnB5CHMnjzi3KgCfD+UMBOA2B2D9gY8BPLPRPX9bOoVmLiLxxS2FbfT/0WVq9wTewUJaGBtZj/cAOg1MpF4EoAC8XQCGADwKAQgCMNJnB7Kk2g8BGMlZIwAOjwDmdzCKPjwa27D6SN6+23yZm1jIwNgrlwSgAIzUpQAUgAIwdpVBAK6oCsDdQ6N5AnBJdWwJAI4D8DDaSfWnbSOf8KvQGnl9GjdQYUisOQlAARgpZAEoAAVgrMcKQAG4EgEYOc+cggCMo1EAxt/S4T2AkePSewAXCEABKABDTQMBKABjU1oJQBCA7B8aNm/oPb0CMNTLHQEUgAJQAIaahgCsCkABGMWMABSAsZq5mIrzADoPYOjk7DyAoXQ5D6DzADoPYA+eBzDD3sDbgSFAbX69exMsf7lLZO8BrOxxTewXcCP3M97PkdXFAlAABk7Pt7eNqax+SgAGUgYCMJQuASgABWAPBGBe95RubdLlY17VETqB7wNfSbBMACIACQJ4JlVujA2BM58qTweXcQRQAPoquNAULcwI+Q8BKAAFYA8DYIaDgJnAsM20gwXABA5juE8BBwHUwP2MjgAKwNmtMQA7Aui7gOkM9iYBGBMwAlAA9iAA5nVv2vg9sFeBI2EWh/F5ARhssgLQEcA1Mcxd1o+qAIzljEsEoADsio2AMrvAae+VIQJQAPYsAJ4NXFD4KBjOOewfiF/3h+MPdDSyjNPAOA3MoCDOJ11YuPRrgT4F7FPAPgUcO8acB9BpYHwKOPZjtrRpYDL8DhhT+Cw4hPs4iEMLxwvAhgDsJWAvATsCGGuajgBScQTQEcDIuTl4BwCjWVVxBLBnjQDWHvLoV7hoBrGQMbHXrTkCGB8BFYACUAAKwMJ9uRZ4swAEARipGQF4ViRdrGRkZR49B4D/H6BnO4idEoFeAAAAAElFTkSuQmCC
1
Sinking Sort
1
Cocktail Shaker Sort
1
All Sorts1
All Shuffles1
error
<#1>
a1
ig01
i1i112i-1a1b12
i11i-1
i11i-1
i111i-1gap-1
i11i1gap-1
i11i-1
i11i-1
i11i-1
i11i-1
i1
i-1
i12c-1
i1
i1
i12end-1
gap-1
gap-11i1gap-11
gap2gap1gap1.5
1
Lime Sort
1
Orange Sort
1
Grapefruit Sort
1
Kinnow Sort
2
Kiyomi Sort
2
Chinotto Sort
2
Mandarin Orange Sort
2
2
Invered Sort
2
Citron Sort
1
Single Directional Chinotto Sort
2
Single Directional Mandarin Orange Sort
2
Quasi-Rotating Red Lime
1
Rotating Red Lime Sort
1
Hyuganatsu Sort
2
Rotating Hyuganatsu Sort
2
Orange Sort 2
1
.25
Imsimm Sort
.5
Imsimm Sort 2
.5
Pop Sort 2
.5
Crack Sort 2
.5
Single Directional Pop Sort 2
.5
V Sort
1.5
Pseudo Odd-Even Sort
0.1
2
Rotating Selection Sort
2
Double Selection Sort
1
Sandpaper Sort
0.5
Double Sandpaper Sort
0.5
Bad Sort
2424
2
Binary Insertion Sort
2
Linebinary Insertion Sort
2
Shell Sort
0.75
Ciura Gap Shell Sort
1
Progressive Sort
2
Progressive Sort 2
2
Y-Progressive Sort
2
i1list11
1
Stable Quick Sort
2
LR Quick Sort
1
Random Pivot Quick Sort
1
Median Quicksort
2
__ Array Writes1gap2
__ Array Writes1_ Aux Array Writes1i11Code by taluvina
listfocus0
iiter1
1
Base 3 Odd-Even Sort
1
Base 4 Odd-Even Sort
1
Base n/16 Odd-Even Sort
1
Rouge Odd-Even Sort
2
Comb Odd-Even Sort
2
Odd then Even Sort
0.75
Odd then Even Sort + Merge
0.75
iiter1
iiter1
iiter1
iiter1base-1
iiter1
iiter1i1j2
j1
j1
1green0
_ Comparisons1i1j-1extra pointers
llist1
Sort to runAll Sorts
0.5_ Current SortFinished!
Shuffle to RunAll Shuffles
20
i11
i110
__ Array Writes11__ Array Writes11400
i110
i110
a1b-11000
i1j2
Already Sorted
Reversed
Almost Sorted
Almost Reversed
Reversed Few Unique
Almost Sorted Few Unique
Very Few Unique
Two Unique
Already Sorted Few Unique
Tent Shaped
W Shaped
M Shaped
Sine Wave
Reversed Sine Wave
Shuffled Sine Wave
Interweaved
Intersine
Double Layered
Reversed Double Layered
YAV Shape
Interlaced
Reversed Final Merge
Sawtooth
Sawtooth 2
Cubic Final Merge
Quintic Final Merge
Cubic Sawtooth
Quintic Sawtooth
Reverse Rotated
Partially Rotated
Partially Rotated Other Direction
ig-1
0.5
Cocktail Rouge Sort
0.5
Looping Rouge Sort
0.5
Rotate Rouge Sort
1
Rotate Looping Rouge Sort
1
Comb Sort
1
Cocktail Comb Sort
1
Looping Comb Sort
1
Rotate Comb Sort
1
Rotate Looping Comb Sort
1
Feijeland Sort
1
Rotate Feijeland Sort
1
Brush Sort
1
Feijeland Sort 2
1.19203
Coll Sort
1
3-Smooth Comb Sort
.625
gap-1
ig-1
__ Array Writes2
gap1.3
gap1.31i1gap1.31
ig1.3
gap1.3
ig1.3
i
i
gap1.3
gap1.3
This block carries out the given script for each item of the given list, like the primitive FOR EACH.
What's different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.
ca:_ per cada _ de _ _
temp
ab122_ Aux Array Writes1_ Comparisons12i
2
In-Place Merge Sort
1
Bottom-Up Merge Sort
2
Iterative Merge Sort
2
Iterative In-Place Merge Sort
1
ab12
iiter1base1.3
11
Reverse Cubic
Quintic
Reverse Quintic
Quadratic
Shuffled Quadratic
Quartic
Shuffled Quartic
Square Root
Reverse Square Root
Cube Root
Reverse Cube Root
1
i2size42isize2
enddone?false1end-1
_ Comparisons1index11true
0.5
Ternary Heap Sort
0.5
Quaternary Heap Sort
0.5
Base 64 Heap Sort
0.5
Base n Heap Sort
0.5
Base-n/16 Heap Sort
0.5
Base-log n Heap Sort
0.5
Unary Heap Sort
0.15
Base 1.5 Heap Sort
0.5
_ Comparisons1index11true
highlighthighlight 21
highlighthighlight 2M121
highlighthighlight 2M1413
true
true
highlighthighlight 2M1312
i1end-1
end-1done?trueistart1
end-1done?true2start1done?true
1
-1
4
Sinking Sort
4
Cocktail Shaker Sort
4
Cashew Sort
4
Walnut Sort
4
Trashew Sort
4
Pecan Sort
4
Almond Sort
4
Random Nut Sort
4
Pop Sort
1.5
Crack Sort
1.5
Single Directional Pop Sort
1.5
2424
Egoots Sort
2424
3/4 Stooge Sort
1616
3030
Slow Sort
3030
Cocktail Slow Sort
4040
BSY Slow Sort
3030
BSY Silly Sort
3030
highlighthighlight 21
j1
low1high-11
i1
1
Reversed Final Radix
Circle Sorted
Circle Sorted Sine Wave
Reversed Circle Sorted
Shuffle ListFinal Pairwise Pass
Reversed Final Pairwise Pass
Shuffle ListRotate Looping Comb Sorted
Reverse Rotate Looping Comb Sorted
mid
mid2
false0
true_ Comparisons1
__ Array Writes11__ Array Writes11
end-1done?true2start1done?true
end-1start1iternum1
end-1done?true3start1done?true
i110
end-1start1iternum1
end-1start1iternum1
-1
1
211
highlighthighlight 2M1312
highlighthighlight 2M121
highlighthighlight 21
done?falsedone?false
done?falsedone?false
low1high-1mid2201
ig1.3
i11i-1
i__ Array Writes11
Circle Final Merge
Reversed Shuffled Final Merge
Shuffled Cubic Final Merge
Shuffled Quintic Final Merge
listfocus0l2r-2pivotxij_ Comparisons1i1j-1leftrightw2
low1high1high-2low-1high-11i1
i__ Array Writes1gap1
i22122312
i
maxstart1end-1
gap2
i0i
highlighthighlight 21lol1<#n>
gap.5
#1
.
Stage-210Stage25-1515invalidvalid
20invalidvalid
rselectedcpos20#1
.
Stage-210Stage25-1515valid<#n>
gap.5
i11
k1
i1list11
ab126016
Scrambled Head
Scrambled Tail
Scrambled Head + Tail
Shuffle ListDouble Layered Shuffle
Shuffled Top
Shuffled Bottom
Shuffle ListPartitioned Array
i2
i110
_ Comparisons1i1k-1
j1
s1
sort
mergei12merge12merge__ Array Writes11__ Array Writes11
i111gap2i1
11gap2i1
1
2020
Y-Stooge Sort
1616
Z-Stooge Sort
1313
XY-Stooge Sort
2020
Hyperstooge Sort
99
Really Bad Sort
99
4848
Gappy Stooge Sort
2020
Gappy Stooge Sort 2
2020
Room Stooge Sort
3030
ai
ii
index1
swappedlowhighmid
swappedfalselowhighlow1high-1mid2lowhigh1
high-1i1212
3
Quasi-Circle Sort
2
Circloid Sort
3
3/4 Circle Sort
3030
Bladson Sort
3
Bladson Sort 2
3
Bitonic Circle Sort
3
Optimized Stooge Sort?
3
Flop Sort
2
Flap Sort
2
low1high-1
swappedlowhighmid
swappedfalselowhighlow1high-1mid140
__ Array Writes11__ Array Writes11Runs the script repeatedly, as long as the condition is true. Tests the condition before the first time the script is run. Like the built in REPEAT UNTIL except that in this block the condition must be true, not false.
pt:enquanto _ , repete _ $loop-0.7
low1high1high-1high-1low-11
ii1
low1high11
1d2done?falsegap211
low1high-1i11low1high-1
1d2done?falsegap211
1d2done?falsegap211
done?falsedone?false
_ Aux Array Writes1_ Comparisons12i1
listfocus0
Negative Bell Curve
Shuffled Bell Curve
Sinc
Reversed Sinc
Shuffled Sinc
Divisor (Sigma 0)
Divisor (Sigma 1)
Divisors of Divisors
low1high-1ab
a111b1a1Catch errors.
Runs the first script. If it succeeds, nothing else happens.
But if it has an error (something that would otherwise result
in a red halo around the block), then the second script is run,
with the text of the error message that would have been shown in the variable ERROR.
pt:tenta executar _ e, em caso de erro _ , executa _
return
Throw an error.
Makes a red halo appear around the script that runs it,
with the input text shown in a speech balloon next to
the script, just like any Snap! error.
This is useful to put in the second script of SAFELY TRY
after some other instructions to undo the partial work of
the first script.
pt:lança o erro _
LET (FOO) BE (5)
is equivalent to
SCRIPT VARIABLES (FOO)
SET (FOO) TO (5)
pt:cria a variável de guião _ com valor _
Catch errors in a reporter.
Evaluates its first input. If that expression successfully reports a value, this block reports that value. If the expression causes a Snap! error,
then the final input slot is evaluated with the text of what would have
been the error message in variable ERROR. SAFELY TRY then reports the value of that final expression.
Sometimes you'll want to throw an error in the final expression. You
can put an ERROR block inside a CALL block to do that.
err
123454
E Sort
6
Sort ListHeap Sort
.5
Min Heap Sort
.5
Naive Ternary Heap Sort
.5
Sort ListQuad Stooge Sort
.5
maxpos0b1b1
sort
mergei
2
Odd-Even Merge Sort
2
2
Bitonic Healy Sort
2
Bad Merge Sort
3
i-110
i1
i2
.625
Weave Sort 2
1
Base-3 Weave Sort
.625
Base-4 Weave Sort
.625
Base-4 Weave Sort 2
1
Bottom-Top Weave Sort
1
Recursive Comb Sort
.625
Iterative Weave Sort
.625
__ Array Writes1
gap2iii
22
11
i22
1
0.5
Lazy Opti. Quad-Stooge Sort
0.5
Opti. Awkward Sort
0.5
1falsefalse1
2
Iterative In-Place Merge Sort 2
2
Shell Merge Sort
0.5
Iterative Shell Merge Sort
0.5
Binary Insertion Merge Sort
2
sort
mergei1m211
sort
mergei1m211i2a
size4size2
i222
gap2_ Comparisons1i
i2size42s1isize2
highlighthighlight 21
1515
Bad Selection Sort
1515
true
464644
Insertion Bogosort
448484
Pogosort
448484
Bubble Bogosort
532325
Shell Bogosort
530305
Exchange Bogosort
524245
Sort ListBogosort
77
Bozosort
77
Gorosort
77
Bakasort
77
b_ Comparisons1
__ Array Writes11__ Array Writes11
i1
i11
Ternary Digit Reversal
Quaternary Digit Reversal
1.5-ary Digit Reversal
B2DR + BD3R A
B2DR + BD3R B
B3DR + BD2R A
B3DR + BD2R B
Shuffle ListCubic B2DR
Cubic B3DR
Cubic B4DR
Shuffle ListQuintic B2DR
Quintic B3DR
Quintic B4DR
Shuffle ListBinary Digit Reversal w/o Digit Addition
Ternary Digit Reversal w/o Digit Addition
Quaternary Digit Reversal w/o Digit Addition
1.5-ary Digit Reversal w/o Digit Addition
i1end11
0.5_ Current Sort1Finished!Moving on to 11
0.5
pt:a frequência da nota _
69
de:fange _ _
ca:agafa _ _
es:atrapar _ _
fr:attrape _ _
pt:captura _ _
cont
de:wirf _
ca:llança _
es:lanzar _
fr:lance _
pt:lança _
catchtag
i11
false_ Comparisons1r11
1Pair-2Pair01
1Pointer1
falsetruetruep2c1b11p1falsefalsefalser12p21c1b1truefalsetrue_ Comparisons101_ Comparisons1truefalse
truetrues11falsefalseIndex12s1s1falsetrue1_ Comparisons1*s1r10*s1r1_ Comparisons1*s1r1falsetruefalse
Ktruer1211r12_ Comparisons1
Ktruer1211r12_ Comparisons1
Ktruer21r2
maxStageStage2Stage-2-180Stage0.75Stage218,3,0,1i1Stage-210Stage25-15Current Sort:
15-15Numbers:
15-15Comparisons:
15-15Swaps:
15-15Main Array Writes:
15-15Aux Array Writes:
15
2
Bottom Up Merge Sort
2
Iterative Merge Sort
2
Smoothsort
2
Aspen Sort
2
K-ary Max Heap Sort
2
K-ary Min Heap Sort
2
Flipped K-ary Min Heap Sort
2
i
ai
ii
i22
sort
merge
recursei12merge12merge
b1d-1
1i111
_ Comparisons111
0.2
Grass Sort
0.3
Grass Sort 2
0.3
Bubbly Gnome Sort
0.3
Float Sort
0.3
0
0.5
low1high-1c-2
low1high-1
1
gap2done?falsegap3
highlighthighlight 2M13012
1
Recursed Reversals (1/3 Mult Fac)
Recursed Reversals (2/3 Mult Fac)
index2
3i1i1
highlighthighlight 2M21
_ Comparisons111b1d-1
1gap2g2
i11
i11
i11
0,2,2,2,8,8,14,14,20,20,26,26,31,33,28,21,16,8,14,32,28,38,37,31,26,20,9,4,27,30,33,36,39,42,43,45,47,48,32,38,35,43,41,43,50,46,40,37,43,50
62051Flauchtziht Sort37177Bubble Sort,Sinking Sort,Cocktail Shaker Sort,Cashew Sort,Walnut Sort,Trashew Sort,Pecan Sort,Almond Sort,Random Nut Sort,Pop Sort,Crack Sort,Single Directional Pop Sort,Rouge Sort,Cocktail Rouge Sort,Looping Rouge Sort,Rotate Rouge Sort,Rotate Looping Rouge Sort,Comb Sort,Cocktail Comb Sort,Looping Comb Sort,Rotate Comb Sort,Rotate Looping Comb Sort,Feijeland Sort,Rotate Feijeland Sort,Brush Sort,Feijeland Sort 2,Coll Sort,3-Smooth Comb Sort,Lemon Sort,Lime Sort,Orange Sort,Grapefruit Sort,Kinnow Sort,Kiyomi Sort,Chinotto Sort,Mandarin Orange Sort,Red Sort,Invered Sort,Citron Sort,Single Directional Chinotto Sort,Single Directional Mandarin Orange Sort,Quasi-Rotating Red Lime,Rotating Red Lime Sort,Hyuganatsu Sort,Rotating Hyuganatsu Sort,Orange Sort 2,Gnome Sort,Grass Sort,Grass Sort 2,Bubbly Gnome Sort,Float Sort,Odd-Even Sort,Base 3 Odd-Even Sort,Base 4 Odd-Even Sort,Base n/16 Odd-Even Sort,Rouge Odd-Even Sort,Comb Odd-Even Sort,Odd then Even Sort,Odd then Even Sort + Merge,Quick Sort,Stable Quick Sort,LR Quick Sort,Random Pivot Quick Sort,Median Quicksort,Circle Sort,Quasi-Circle Sort,Circloid Sort,3/4 Circle Sort,Bladson Sort,Bladson Sort 2,Bitonic Circle Sort,Optimized Stooge Sort?,Flop Sort,Flap Sort,Weave Sort,Weave Sort 2,Base-3 Weave Sort,Base-4 Weave Sort,Base-4 Weave Sort 2,Bottom-Top Weave Sort,Recursive Comb Sort,Iterative Weave Sort,Rhode Sort,Imsimm Sort,Imsimm Sort 2,Pop Sort 2,Crack Sort 2,Single Directional Pop Sort 2,V Sort,Pseudo Odd-Even Sort,Flauchtziht Sort,Selection Sort,Rotating Selection Sort,Double Selection Sort,Sandpaper Sort,Double Sandpaper Sort,Bad Sort,Heap Sort,Ternary Heap Sort,Quaternary Heap Sort,Base 64 Heap Sort,Base n Heap Sort,Base-n/16 Heap Sort,Base-log n Heap Sort,Unary Heap Sort,Base 1.5 Heap Sort,Insertion Sort,Binary Insertion Sort,Linebinary Insertion Sort,Shell Sort,Ciura Gap Shell Sort,Progressive Sort,Progressive Sort 2,Y-Progressive Sort,Merge Sort,In-Place Merge Sort,Bottom-Up Merge Sort,Iterative Merge Sort,Iterative In-Place Merge Sort,In-Place Merge Sort 2,Iterative In-Place Merge Sort 2,Shell Merge Sort,Iterative Shell Merge Sort,Binary Insertion Merge Sort,Opti. Quad-Stooge Sort,Lazy Opti. Quad-Stooge Sort,Opti. Awkward Sort,Healy Sort,Bitonic Healy Sort,Bad Merge Sort,Stooge Sort,Egoots Sort,3/4 Stooge Sort,Circle Stooge Sort,Gappy Stooge Sort,Gappy Stooge Sort 2,Room Stooge Sort,X-Stooge Sort,Y-Stooge Sort,Z-Stooge Sort,XY-Stooge Sort,Hyperstooge Sort,Really Bad Sort,Silly Sort,Slow Sort,Cocktail Slow Sort,BSY Slow Sort,BSY Silly Sort,Dumb Merge Sort,Bad Selection Sort,Less Bogosort,Insertion Bogosort,Pogosort,Bubble Bogosort,Shell Bogosort,Exchange Bogosort,Bogosort,Bozosort,Gorosort,Bakasort
- Bubble Sort
- 4
- Sinking Sort
- 4
- Cocktail Shaker Sort
- 4
- Cashew Sort
- 4
- Walnut Sort
- 4
- Trashew Sort
- 4
- Pecan Sort
- 4
- Almond Sort
- 4
- Random Nut Sort
- 4
- Pop Sort
- 1.5
- Crack Sort
- 1.5
- Single Directional Pop Sort
- 1.5
- Rouge Sort
- 0.5
- Cocktail Rouge Sort
- 0.5
- Looping Rouge Sort
- 0.5
- Rotate Rouge Sort
- 1
- Rotate Looping Rouge Sort
- 1
- Comb Sort
- 1
- Cocktail Comb Sort
- 1
- Looping Comb Sort
- 1
- Rotate Comb Sort
- 1
- Rotate Looping Comb Sort
- 1
- Feijeland Sort
- 1
- Rotate Feijeland Sort
- 1
- Brush Sort
- 1
- Feijeland Sort 2
- 1.19203
- Coll Sort
- 1
- 3-Smooth Comb Sort
- .625
- Lemon Sort
- 1
- Lime Sort
- 1
- Orange Sort
- 1
- Grapefruit Sort
- 1
- Kinnow Sort
- 2
- Kiyomi Sort
- 2
- Chinotto Sort
- 2
- Mandarin Orange Sort
- 2
- Red Sort
- 2
- Invered Sort
- 2
- Citron Sort
- 1
- Single Directional Chinotto Sort
- 2
- Single Directional Mandarin Orange Sort
- 2
- Quasi-Rotating Red Lime
- 1
- Rotating Red Lime Sort
- 1
- Hyuganatsu Sort
- 2
- Rotating Hyuganatsu Sort
- 2
- Orange Sort 2
- 1
- Gnome Sort
- 0.2
- Grass Sort
- 0.3
- Grass Sort 2
- 0.3
- Bubbly Gnome Sort
- 0.3
- Float Sort
- 0.3
- Odd-Even Sort
- 1
- Base 3 Odd-Even Sort
- 1
- Base 4 Odd-Even Sort
- 1
- Base n/16 Odd-Even Sort
- 1
- Rouge Odd-Even Sort
- 2
- Comb Odd-Even Sort
- 2
- Odd then Even Sort
- 0.75
- Odd then Even Sort + Merge
- 0.75
- Quick Sort
- 1
- Stable Quick Sort
- 2
- LR Quick Sort
- 1
- Random Pivot Quick Sort
- 1
- Median Quicksort
- 2
- Circle Sort
- 3
- Quasi-Circle Sort
- 2
- Circloid Sort
- 3
- 3/4 Circle Sort
- 3030
- Bladson Sort
- 3
- Bladson Sort 2
- 3
- Bitonic Circle Sort
- 3
- Optimized Stooge Sort?
- 3
- Flop Sort
- 2
- Flap Sort
- 2
- Weave Sort
- .625
- Weave Sort 2
- 1
- Base-3 Weave Sort
- .625
- Base-4 Weave Sort
- .625
- Base-4 Weave Sort 2
- 1
- Bottom-Top Weave Sort
- 1
- Recursive Comb Sort
- .625
- Iterative Weave Sort
- .625
- Rhode Sort
- .25
- Imsimm Sort
- .5
- Imsimm Sort 2
- .5
- Pop Sort 2
- .5
- Crack Sort 2
- .5
- Single Directional Pop Sort 2
- .5
- V Sort
- 1.5
- Pseudo Odd-Even Sort
- 0.1
- Flauchtziht Sort
- 0.5
- Selection Sort
- 2
- Rotating Selection Sort
- 2
- Double Selection Sort
- 1
- Sandpaper Sort
- 0.5
- Double Sandpaper Sort
- 0.5
- Bad Sort
- 2424
- Heap Sort
- 0.5
- Ternary Heap Sort
- 0.5
- Quaternary Heap Sort
- 0.5
- Base 64 Heap Sort
- 0.5
- Base n Heap Sort
- 0.5
- Base-n/16 Heap Sort
- 0.5
- Base-log n Heap Sort
- 0.5
- Unary Heap Sort
- 0.15
- Base 1.5 Heap Sort
- 0.5
- Insertion Sort
- 2
- Binary Insertion Sort
- 2
- Linebinary Insertion Sort
- 2
- Shell Sort
- 0.75
- Ciura Gap Shell Sort
- 1
- Progressive Sort
- 2
- Progressive Sort 2
- 2
- Y-Progressive Sort
- 2
- Merge Sort
- 2
- In-Place Merge Sort
- 1
- Bottom-Up Merge Sort
- 2
- Iterative Merge Sort
- 2
- Iterative In-Place Merge Sort
- 1
- In-Place Merge Sort 2
- 2
- Iterative In-Place Merge Sort 2
- 2
- Shell Merge Sort
- 0.5
- Iterative Shell Merge Sort
- 0.5
- Binary Insertion Merge Sort
- 2
- Opti. Quad-Stooge Sort
- 0.5
- Lazy Opti. Quad-Stooge Sort
- 0.5
- Opti. Awkward Sort
- 0.5
- Healy Sort
- 2
- Bitonic Healy Sort
- 2
- Bad Merge Sort
- 3
- Stooge Sort
- 2424
- Egoots Sort
- 2424
- 3/4 Stooge Sort
- 1616
- Circle Stooge Sort
- 4848
- Gappy Stooge Sort
- 2020
- Gappy Stooge Sort 2
- 2020
- Room Stooge Sort
- 3030
- X-Stooge Sort
- 2020
- Y-Stooge Sort
- 1616
- Z-Stooge Sort
- 1313
- XY-Stooge Sort
- 2020
- Hyperstooge Sort
- 99
- Really Bad Sort
- 99
- Silly Sort
- 3030
- Slow Sort
- 3030
- Cocktail Slow Sort
- 4040
- BSY Slow Sort
- 3030
- BSY Silly Sort
- 3030
- Dumb Merge Sort
- 1515
- Bad Selection Sort
- 1515
- Less Bogosort
- 464644
- Insertion Bogosort
- 448484
- Pogosort
- 448484
- Bubble Bogosort
- 532325
- Shell Bogosort
- 530305
- Exchange Bogosort
- 524245
- Bogosort
- 77
- Bozosort
- 77
- Gorosort
- 77
- Bakasort
- 77
1000154091true50- Randomized Shuffle
- Already Sorted
- Reversed
- Almost Sorted
- Almost Reversed
- Few Unique
- Reversed Few Unique
- Almost Sorted Few Unique
- Very Few Unique
- Two Unique
- Already Sorted Few Unique
- V Shaped
- Tent Shaped
- W Shaped
- M Shaped
- Sine Wave
- Reversed Sine Wave
- Shuffled Sine Wave
- Interweaved
- Intersine
- Double Layered
- Reversed Double Layered
- YAV Shape
- Interlaced
- Cubic
- Reverse Cubic
- Quintic
- Reverse Quintic
- Quadratic
- Shuffled Quadratic
- Quartic
- Shuffled Quartic
- Square Root
- Reverse Square Root
- Cube Root
- Reverse Cube Root
- Bell Curve
- Negative Bell Curve
- Shuffled Bell Curve
- Sinc
- Reversed Sinc
- Shuffled Sinc
- Divisor (Sigma 0)
- Divisor (Sigma 1)
- Divisors of Divisors
- Final Merge
- Reversed Final Merge
- Sawtooth
- Sawtooth 2
- Cubic Final Merge
- Quintic Final Merge
- Cubic Sawtooth
- Quintic Sawtooth
- Shuffled Final Merge
- Circle Final Merge
- Reversed Shuffled Final Merge
- Shuffled Cubic Final Merge
- Shuffled Quintic Final Merge
- Scrambled Odds
- Scrambled Head
- Scrambled Tail
- Scrambled Head + Tail
- Double Layered Shuffle
- Shuffled Top
- Shuffled Bottom
- Partitioned Array
- Rotated
- Reverse Rotated
- Partially Rotated
- Partially Rotated Other Direction
- Binary Digit Reversal
- Ternary Digit Reversal
- Quaternary Digit Reversal
- 1.5-ary Digit Reversal
- B2DR + BD3R A
- B2DR + BD3R B
- B3DR + BD2R A
- B3DR + BD2R B
- Cubic B2DR
- Cubic B3DR
- Cubic B4DR
- Quintic B2DR
- Quintic B3DR
- Quintic B4DR
- Binary Digit Reversal w/o Digit Addition
- Ternary Digit Reversal w/o Digit Addition
- Quaternary Digit Reversal w/o Digit Addition
- 1.5-ary Digit Reversal w/o Digit Addition
- Final Radix
- Reversed Final Radix
- Circle Sorted
- Circle Sorted Sine Wave
- Reversed Circle Sorted
- Final Pairwise Pass
- Reversed Final Pairwise Pass
- Rotate Looping Comb Sorted
- Reverse Rotate Looping Comb Sorted
- Recursed Reversals (1/2 Mult Fac)
- Recursed Reversals (1/3 Mult Fac)
- Recursed Reversals (2/3 Mult Fac)
YAV ShapeRandomized Shuffle,Already Sorted,Reversed,Almost Sorted,Almost Reversed,Few Unique,Reversed Few Unique,Almost Sorted Few Unique,Very Few Unique,Two Unique,Already Sorted Few Unique,V Shaped,Tent Shaped,W Shaped,M Shaped,Sine Wave,Reversed Sine Wave,Shuffled Sine Wave,Interweaved,Intersine,Double Layered,Reversed Double Layered,YAV Shape,Interlaced,Cubic,Reverse Cubic,Quintic,Reverse Quintic,Quadratic,Shuffled Quadratic,Quartic,Shuffled Quartic,Square Root,Reverse Square Root,Cube Root,Reverse Cube Root,Bell Curve,Negative Bell Curve,Shuffled Bell Curve,Sinc,Reversed Sinc,Shuffled Sinc,Divisor (Sigma 0),Divisor (Sigma 1),Divisors of Divisors,Final Merge,Reversed Final Merge,Sawtooth,Sawtooth 2,Cubic Final Merge,Quintic Final Merge,Cubic Sawtooth,Quintic Sawtooth,Shuffled Final Merge,Circle Final Merge,Reversed Shuffled Final Merge,Shuffled Cubic Final Merge,Shuffled Quintic Final Merge,Scrambled Odds,Scrambled Head,Scrambled Tail,Scrambled Head + Tail,Double Layered Shuffle,Shuffled Top,Shuffled Bottom,Partitioned Array,Rotated,Reverse Rotated,Partially Rotated,Partially Rotated Other Direction,Binary Digit Reversal,Ternary Digit Reversal,Quaternary Digit Reversal,1.5-ary Digit Reversal,B2DR + BD3R A,B2DR + BD3R B,B3DR + BD2R A,B3DR + BD2R B,Cubic B2DR,Cubic B3DR,Cubic B4DR,Quintic B2DR,Quintic B3DR,Quintic B4DR,Binary Digit Reversal w/o Digit Addition,Ternary Digit Reversal w/o Digit Addition,Quaternary Digit Reversal w/o Digit Addition,1.5-ary Digit Reversal w/o Digit Addition,Final Radix,Reversed Final Radix,Circle Sorted,Circle Sorted Sine Wave,Reversed Circle Sorted,Final Pairwise Pass,Reversed Final Pairwise Pass,Rotate Looping Comb Sorted,Reverse Rotate Looping Comb Sorted,Recursed Reversals (1/2 Mult Fac),Recursed Reversals (1/3 Mult Fac),Recursed Reversals (2/3 Mult Fac)
true
50