<snapdata remixID="10153142"><project name="U5L3-TimingAlgorithms" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAgAElEQVR4Xu2dB3Sc1bXv/9MkjXqx3LuNjQGDKbYBOxTTewukkAbpyU3PWy/JS6GkcG9yX3LfS97NTV4IJCG8QAjYGIxNCWB6t8E27r0XdY00mvLWb4+P/M1oJI2KsWz8raUlaeYr5zvnf/67nL338SWTyaSOHgOmBxKJhKLRqPbu3atIJKJ4PG4/3R1+v1+BQEAFBQWqqKhQOBy2/wf64TsKwIE1RICvpqZGbW1tysvLU35+vnLhCJ/PZ9dwPSCurq62awf6cRSAA2yEYL3t27erpKTEfmC0XA/A19DQoNraWo0YMaJH1+b6jP4+LycAMqN4sV27dmnPnj32gnV1dfa7paWlvU1upjIbvQef5/oZ1+V6brbzDvfri4qKNGbMGJ166qkqKysz9ovFYsZmiFnEcWtrq/VRKBSyH84BuIjc5uZmvfPOO1q5cqUaGxttGHLtfwBfXl5uPzx7yJAhqqysFG06WEe3AGRWAbRt27YZ2BzN87mje9e4owBMqdN9mUAAyg0+IripqUk7duzQiSeeqNLSUu3bt09vvfWWgsGgjjnmGAMrgFy8eLEBBuZbv369du/ebZ/nCkDGjmfzTH7c37Rl6NChxsZMgP4+OgUgDQJsKMO80KpVq6xjmBGIBZTcwsJCaywdnqmndPaZ6xDvixy9/kD/0edIFxjviSee0Ouvv67x48dr6tSpGjRokOl3AJI+c4xVXFyszZs323mjRo3S1q1bbYwyAeMmRrax4r6wqPuBbHbu3Gnj64AOE8KymROsL6DMCkAaCLsBOl6MmcTsgprpGBrAy/G7PxvTlxcZ6NfSX/RrdwZFJgBfe+01AxUTHwZk4ru+dxIIYHDfE044wRixMwB210fcAyC6diLCISCMIsB+7LHHatiwYcaO/XVkBSAvhg7Bwzl4OLPM6SHd6RRHv++o86K7ITYBD4PsZX034M6ShQEBG2xTX1+vdevWGQg4YDYkD/dinBDR6H2cO23aNE2YMMGYK5MBvWOS6/ige8KIAJF28FxE/NixY/sLf+oAQNgO4KFn8MCqqqp2ZdjpN+4FvDpfZ595r3k/X//2228bOGAoWI7BdT+A04HSWbKIU/qfzzmf367/nGh1wHXXQhCcu2XLFgOgk05esLu/c/2MZ3J/dE8MUMjo+OOP7zedMA2APIiHrF692mYRnYU/KVf9LvM8OhhdglnEjIa6nfjI9Z79pTPybsxkfjsmhzkYCNgdRsk83AByDSBhcGk/g9vT9v/rv/6riU8nTWASRCu/0e3oK55BfzHYgLU31ieMuHHjRmuje6dc25rtPG//w8SM5fDhwzV58mR7n74eaQCE+jE43nzzTU2aNMk6xvmhOqPtrqw+ZuJzzz2nl156STfddJMmTpyY1qnvldXswPfggw/aBENUoVOh5KNkX3/99Ro8eHDagHl1W8DBhEQtAawzZsxoty5ztXq/+MUvmi5NW5iMgI8fp1tzH/c/Li8GGQBmmxidDbp7T/T2zJWQ3oyf9zlcT7vQL7GwzzvvPGtjX480AGJ0IH5xhAJARICj+95YtRs2bLBBfv755/Xd737X7gn7OPdAV1ZZrrM2F4Z0A/OXv/zF3m/OnDk66aSTzJpkgJnN6FCIP8DmfVeuRf/hPfh93HHH6aKLLrLBcG3Mpa28v2NSmI5+pR+c45i+vuGGG3TFFVdYm+gnwA6Q+N9rIHQ26DA09wMgEId3Ka434+d9DtfTN/iCHT4wevp6pAEQoPAQOmrkyJFp1k62F0CkuQbxwrAL18MmWEx89/TTT+uFF17QLbfcYuKGz5YuXWrikE6FZRE3iCYYkwMllwHgf8Qk7h9UAXyRiBdAxODgHsBHxbF27VoTDwwAv2E59Ffa5QB4zz33mE/zggsuMADCFACBicE5K1asEJMGoNE23oF78Nw//OEP9m4zZ87Utddea23qzC+Wra86AyD9QJtgO5j4mmuusXvzGUAFmFieiGbejf7I9lwvuHl+prskW5s6A09XbjH6BmnAxJg9e3Zf8ZduhDzyyCMmkhhcBtzNoM4cq4jrZ555Rk8++aSBARFFA2EURC7XIX4BNgDEjcP/f/7zn20WcS6DfN1112nKlClasGCBAeHKK6+058+fP99eFjDBPDznqaeeMqsQ0XXZZZfpjDPOsEHinpwLwBnUb37zm+Y745kMJIP317/+1Qb2nHPOsfvzP2385Cc/aZPt/vvvt/dhIjHIH//4x80BzPN+85vfmH/u5JNP1kc+8hGdddZZNgheFszWT05Ef/nLX24XwUw2J4KZQIhkrmXSM0npd2fd0g4mAe8Ew3FeNjeIC1jwusgOhopDuyAAfl9yySX9C0AYgtlHJzg3QFciDrZ46KGHhG512223GUhgKICCATN69GhjJgYVAI4bN84aTGcCdM5bvny5zf4PfehDJuYAEMtQDAb35YAVYKs33njDdLcLL7zQdBG8/7QTQAEm7gtgACYDy2DAHAAdAN57773tAIR5//a3vxlD3nzzzebzBNwA9qMf/ajdl77g4J1+//vf298AngnCwSAgth3IulLif/GLX9iz3Bov+hMg5DcAA0Bey9gZb44FAR/ARBxnAtBZw64dXus3FxUll/Y7pKE2MIk3bdpkKkNfjzQR/Otf/9o6BDObl+zOyQwAAREM99Of/tSMjHfffddACYvCbk4PdABEnAEcBnzNmjXWqaeccoo+97nPGcAAJM8FrEuWLDEgXX311XrssccEQ+MP4zsABbC4FpH497//3Qb3zDPPNAWZjvL+OAaExQCsAyDs+YUvfMHY7YEHHrD2Az4myOmnn27sy99/+tOfrE9mzZqlSy+91NrB/XMJlWKQEO9upcJZ1IDKuWQyBxJR6xzNPNdZtd2NSV8B0d31Li6AFZpPf/rT3Z3e7fdpAGSWuoXwXF40E4DobgBo3rx5xh4AGfZYuHChMSAduWzZMhPDdDys5gD4pS99yf4HnK+++qqJN5gBQAGY++67z0Q0QEFnRDTBhuhyiFoMDHQlGOq0004zgLgBdJ0GS2YD4L/8y7/Y85hITAImCSoCagWAg9nvvvtuAyL/X3zxxabo5wo+xzBe3c3LWpnMyfkO3IyDW33KZUy6HfF+OAHmf/bZZ8WY9fVIA+DPf/5zA+D06dPTIig6czIDLtiOn9tvv92uhdUQubAfuiAi2AEQnRGAcj9ELsYIDlpAiI6E8bBo0SLdddddpnd94hOfMHHIvfgcRsTAAQBOV2Vw8JvB3nwHa8GK6CnOeQtQEM9dARD2RLQgBgEKYMQIgm0B9e9+9zsDBeBGxMNQmfpfNse8E4GITtrjXQXxegEyHcO02fV7pu/U60x29+/MsXwwvufdGWPGrK9HVgDSybkcMCCMxWzAiAAgMA/MhxFAx6FXAR4YkMFFjN55550mohFJ6FyIvO985zv2N6CEQXGGY8hgsQIyx6T//Oc/jUXpcHQxvscgwQhBdwUsDoCOoZwV3BkAP//5zxtgf/vb3xrwONDBeD6WKfooVvDcuXONKTFCYELE9/vxOGgA/Ld/+zdzgQBAr+OyMycmoMDFguP6wx/+cLtIQm/DGIDREKtYpzhvASAsiD4EgyFiGVBEM+dzcC9ELQCAJbE6+RvRiWjkXuh+gBsAAzoACrMikhHDiH8A5QBI+3k2bQG4vCOMBDvTDkQsE4c4Oowgp+Qj2jmXa5gYiGXaiwqADun0t876J5PhvGDNpX8H6vUHFYBeEeztsGwU7wAII/3gBz9odyE4/QbguEV4BpoB439ErjeMC4YCIIDo5ZdfNoYDsOeff74ZRYhGtwwG2FxECO1za6U8i+8AFvdyy27uHWg/36HMc55bf3W5FC6wlnNomztcACidDuO5NVbEMROMdjkdL1MEd9d/h+v3DoDozn090kQwDAgAcxXB6EgwFnrf1772NROhKP7eKOlcGgiIeClEHOFHAOzrX/+6OYgBjosEyeVeR885+D1w0ADIgnlXIjhzhjsRB6MgdgEeFhK/s4mYrpR0voNNYCD0QzK7uD/3w4XyXirZh1rJH+jPh/kxQvqdAQFgTxiQuebEKb8RfU7M9mYecg+X58D17n78PnoMnB5wDPiVr3ylz41KE8E9BmAyKT+gYbFcSSX2x7XRqmhrq5LJVAzb0WNg9QCZ4IlEXAWFhNgHe+TP5E0OGgDvuOOOHvkBzUmKlz4/T62RRrU01CrZ1iKS4mprahSLkVB9NO99IMGP0UiVIkhq6NhJCpdWqjmSUpm6UpG8KpAD4Fe/+tU+v1oaAzoA5mqEYBUGfFLD3p16+9lH1bTyeRU1bVV5gV/b6qNqi8OLR4+B1AMkzGLlj54wSePnfEQlE6erORkyXds57rtr70ED4M9+9rMe+QGLi4rUsGur1r36pArWPKGC+o0qSjarMORTUzSpxP6qHwn5FfGHVesvU52/TI3+YkV8+Rqkevn8Qe0NDTbWdEVC2v926cVJUh2Pfp+tf1B7YgQqKKH8ZKv1f0miQRXxGvs7lEy5ibwHunZpeYXKjz9HoRMuVuuYM9rDv9x5XfkpDyoAc/UDWlhQwK/ty17Sqkf/r071r1dVKKb8oM9YEYo34PkKVOMv1+5AtSIFVWorHqJY8VDFwlWq9jd4AHggNXGgW4EDqX0WRWMAjCvQUqtg0y6FGnco1LxHVbE9qkrsU2miQT6TRfvzlsldlk/+ihHynXSN2malVoKcsecVtw6Q2UQwrre+HmkiGAbMxQqmMcyitpZmbX95vrbN+3edOSpf5fl+BffnLjvw7QgO0bqCSdpVNF6VZSUaMqhSlUNHqWjQcAWC/Zfe19eOONyvh7EitbtVt3OLdu/cpq21LSpr3KTRkTUa27ZehYlmY8kUEA8c/mnXKnHFj20FKFdvg2PAfgcgIVW5+AHd6kE82qL6Nx9Rw4J/15RBIYWDPvl9MuZr9oe1PDhJu4vGKVw9WmOmfcCsrmAwYJaXzxKcU2jtLNihq8X6nvoZ3w9+xEQ8Jn4s3CuW0PZ339C+DcsUqNuqabF3VJGo7yCSg6d+UP6r77D4yszYxs763/kBDwoAe8KAzfU12v3qI6p/4jeaOSJPxSG/KWvNvrCWhSapoWKyCkYcqyFjJ6usepj8gY6ZZ4c78wzk9jfW7NGeLeu0d8Ny5e9dpUmtKzUkvkd+HXCPBU+9XoFr7rB1cres2N07OQZktaqvR5oIhgF7AsDaPTu17eX5qn3qd5oztkAleSljY0dwqFYUTVPFuBM1ZNxkVQwd1dd2Hr2+lz1gJLFpjbaseluj6t7SmNZ1qkzUtd9tQAHwJz/5Sc5+QHTAuj07tdUA+HudN65AxXkBbQ8O1fLwVAWGTdHoqTNN3zsqYlOVEnL1s/W3kdMaada6JS8qsultDaldphNiq9pZ0AvAXEWwY8BvfOMbvZwWBy5LY0AHwEw/oCm4kUh7bgUN4IeIk+4sJ6fjeVvanZXltbzez9e7UHxyZtwPa+SEnfXksHX2lojeevUFBdY+q5nRN80yRhQ7AJLj0VMR3O8A/PGPf9xuhLgXBGDE3xGCDgids9IZIt684UyweJXYXED1Xl3vJoA3FD7XtmY7j3YfjOtpn8sfIcDD5S3n6jDuCUgP1blpDAgAvX5AXh7/EAnchEQRuUzIFdEqhLAzK3NJXjpUL5f53JT7iKpefrVFo6nlJ9wSh7hMNo+Px2IKhILmIXAHjOQijFwSFisWfE4EEisaRA858A+Ufu5JO7ICkLRIwIdlhH+IA/cM9O/qqhxO5dnwi9PecGHYBo3Brt27x0AYj1MoqONqQU86sa/nxtpi2r5lk4aPHqeqISlvAZKHCQLbuXVal1wFIRAdTioCqa/kOB+uR1YAEh5PtDNh8LAdL+pSFQ+HyuuZgwH4iosLFamv1bZVS7X+zcUKtdQo30fiT0JRC5o4dEcykVRbpEmTTvuARp40W6Ehx6ixhZTPFPi8B+yH7k3yPKoRUoj8YtIQYMLDzXfaAYAuWZrcDWYWORcw3+F6uHjFkqKw3ln8mDa8ME/RNS+rIhBRUcgnXOFtiUMbMsE6d17Ar5GTT9Kg6ZcrNO1K1Ud9aommUhgyD0BJSgASCpGMOkR+jEvfPJzGKg2ApFYS2ewKCJEOSaqjV8l2L+d1KfT0M6+x4dVfcr1nT65PFfkpUrKtVfP/13fVuuQRzRlToJJ8v/ICqZWbgREylmpLYMr58p3/bTXnVagxkkqu76z/0QtJlEJNInkL/bwn1bQGAlDTAEh5DV4CXYPUShiwJ9sEDIQXymwDIWPFRYXasWGN3rn/FypY/6xmDM9XGPZLL+Z/yJtPc3yT58h/3jcVKx2hmoZU9dPODlc4kmU0jEFymMk0PJyODgyIrofeR+ktV5T6cHYkk+AUzg9p7VsvKfr8H1Wx+w2NKQ0qwKrhQByp8WdKsz+v2JApqm1MFffsqv9hSBLzKXXCmGGUHE5HBx2QGYTYJfe1P4tR90enoHxjASJyqLqA4u2K5cDUro6191nhggKF/D69+tQ8Va+ep1HNq1QV9vcKfL7yEfJXjZGvbJhEIEVbRIm9G5TY+k5/vJ7dIzlmhhKn36T4iGmqbUqlfnZ3oAdS7oTiALjRXAXXTPfMQMxFzqoDYoigCw40fQLL3NUbJCMLxZtEdepZ0/EUR8Jg8jpqC6jqn4jpsfv+qLE7ntaxvq0aUtSLPdT8AQVPukLBaVcpOHaGkomYkq1Nir+zUNEnf6VkS4PUDzkwADA+0wEwxYDdHfgKSY/FYIQ8nFsm2/Kf914D4fs0AN56661WhoKBzCzPNhBmE8tFpAOSO/zDH/7QrD9KAFNH8DOf+YxVskLnI5HdzXarFp+IacF9d2rcjmc1xd8LAPoD8oXLlTfnKwpMOEPJxj2Kr3tJgWNmS6ECxd5ZqNjL9ygZObDI3x1oOvs+OXq64vsZsKaxpb0GTVf9jxSgNiNjhtrE+B0uRxoAGVR0CPyArqC41+L0WmMMMKskvDhlK9C1EIE4rGEmyndRggPxQLkMKlzBqjhYYTJqxCBS6TSU57PPPttcDnwH0PifzuR/as44lYDyGdz7+9//vhUPoowHJeIor0EhI5zo3sKaVqo2GdeCv92pcTt7C8CgfGVDlXfhtxQYfoLim99SfPWzCp54hfzV4xXf+LqiC39uwOzrYQCceZNiI06SF4DuvtmW/OhT+owxwedJbZzD5UgDIIPak/JsvDRFJR999FEDGCBBDABGChJhwSHG+R+xjqsA8Ug9GUQpogLAAkAqjrLezHcAmowrAE2pDhgOQFKmg6JFL774ogEQ64+6gRRAAoAf+9jHDIBuBYFBsGLdybiJ4F4DMBCUv3yE8i78tnxDJym+9kXFVz+n0LSr5R82RYlty9T6yO1KNuzu87gnDICfUmz4NNU0RmwCd3cAQHRjVwqFAk2Hy5EGwO9973udxgNm0xdwhMJAgO1Xv/qV1U9mzfjxxx834FBGDTbEQqPiFYUdEZGAFmaizJljWz6H3QCTqzUDeAEq13Iu6gHncD3qAgyJSOZ7IjOoJ8NSG8BkxQAgFhaGFVBSCw87AJ6kvfXN7QDsSl9zxcPd/sLUVDxcjjQAUki7MwbMZkHBgAANMYwPEYai3h/FImFFrnG7OWIcUNAQVwFGA4BlxhJaBHNSXYsDgMFyqAMAkHJsDz/8sAEQduV7RC4ABMQAFIakHBxgRvy69WvHgARqL0QHNBG8redGyHvMgLEZn1RseDoAu7Jg3TYS9CcSBgAeLq6zDgyIDog5791pp7PZBAOij1Hm7Ec/+pE5sWEvwMdvdBGqjAJCxCliEsOBhXRAiM7H3xQ3YusEzuE6jAzux3UAEIC5On1eBkS8uu+/9a1vGbjRgRDl7rANFQ2Af9S4Xb0EoD8oX0l1SgccNU2JbcsVW/2MglMvk79ilOLrXlT0if9Qsim1tVlfjsTo0xSb8Sm1DQOATe1brnZ1T9ieWo1up0uqxh4uRwcdEDEHCAFTd4EHDoBUM3VWKUYDLgFqLXMvAhkACpYZLgLEBAwH8DhgK5j08ssvNzbE4MBAoUorYOXefHbjjTeaHukFIN9THJPq9ohfQMw53upcBsCAT4v6AkCfX778YoVm36zA5HPkC4QU37FS/sHHGOhir9+v+MqnzS3T1yMFwE8aAPfU5QZArGBK29G/SBpXDL6vbXkvru9gBQMaXgLL1WtNZkZloJMAIl6c3ySowJq4QFwFe1wkgAuHMVsxEGmNUo0IBTgYKRR6xHDgep6LAUI9aIwRt4UB7bjqqqvsfyxrvoPxsKBhS6rdo2dihGDMuK3qaXNRUaHygn49ft9dvWfA/SMRmHS2gidcrMDEWZI/oGTDXsXefkRtz/5Xv40VAGybnhLBu2oajAG7iyBnwiGJKGfH+PU0YrrfGt+LG3XwA6LHQeXogq5Qo1f/cM9w0bqcA3BgHsK3XJgQnQZDwUBOBHMN3wNQZivMyPUABjABXr4HpIDWuxTIvdxOQACX9vEbVxBhSS5Unahhb4oh9yBZ/vH77+4zABUKy5dfKH7bkYhL0eZ+8f+5fnUAjA49UbtrUwDsrP8dMOkvSgtjBLpdn3qBhUNySYecEIDB2qLT17pbDQFcDkiIAmYjSrFzv3hDhNzmhZzjNi/0+rXcjuwp5jqwObJjX3RGV7yb+wI2l8fg9kajDQyaC2MqYburvKAW/ePPGredlZAtPTdC3sOhSU6YrcTsLypaMU7bd++zydXVwSREjUHvxc3ltlI9LI0QyrNhabK8BY2jv8E8Xtbj7+5CqDgn19CqbOf15/WI4IJQUK8//ahGbXpM46PrbC14wB6TzlXy3K+rMa9KO/fss+KcnfU/ExCJgQ8Q0Yvud7jFbnbYJwQLGFbBMkWsui27BsK6oRes2XTSbN9bwcuAT7Vb12rouvkasneJCpORflm37XcQ5xVKk89TfNYXtDsa0r66+va14Ew9EHcLPlfIoqmpUWfNntVve/j2+3t1ccMOAMR1Avvh3+PgbwwFL/N5B/+9zBLLNfMsk6UpoDlkUIXKGterYO3T8i1fIGGx9kPwQL8NFuvNk+coMeViRYafqi279qmpOZJWr8W9v6upvW7dWgvlHzm4UsMHV1qh0MPt6ABALFXEMIo8bhZEAIYCTOi2Dj3cXhLfYGlpiSrDARXH6pTXsM0s4wARqcTDH+KDnJDWaFTRoiGK5FeqLhZUTW292vYnJnmbF8Hw2rNb23fsVOuudSqo26iy1p0KJqIdCg8d4tfK6fEdNqrB/4YfEDEMCPmB6nGFYJli1WJguHrO2fYT7u/M/r4q1PQE7cXRbVZxfn7a7u059dRBPIn3cwYYflKMKLfNmKuT3RZttc8a6uu0d/cu1e/brbCiKgwklO8/fEshdwAgDIiLw4kxwIczmCU2wOey42BF/H4DLWi1O5wwYfhx1nR35x/K7wEfoMPSBZhud04IoDc7qh/Kd+ns2V0CkIvQN1zYNz43fHUuSbq+vk7R6KHNqe1Np2Zz7PbmPgf7Gia3m/RMfH5QhZyvNnNT6oPdnoNx/24ByEMREYhkZqETFSR1NzXUqea1h5W3a4UGF1FxIJVnEVdAzf5CbQmNUqKwQoVVw1Q2dKzlYfhRtv2p6gSdzor9elmmpXswOmAg39PtD+yVNqgQgLKvaslAuT4nAGYOklljyaRqd2/Xtvn/oZJNz+qkISEFfD4rTrkrOFhrC6coOmiyKsYcq8rhY1VcnrKkOwXdfv9iiHITgYBtI9BQV2dWIHWQU47lzPxd4O4+8/7tnjIwv4+24kCPavioMczInIuDD+TJ0tu29RqAyURcO7ds1Kb5v1b5thc0c3ieWZV1gXJtDk/UlopTNHzi8Ro0crzCpd0ntgPq/Lw8xVojqt25VbvWrlRr7R754m0GwLZDXL2gtx2ceZ1Vo0kklJdfoBPPu1yh8kGKyd/ubkHd6WwTa++96C8X/dJd0Eh/tf1g3CcNgOwVhxHCck5XFM3LA4pdW9Zrw/zfqGLbizp9RJ58/oBWFkzRroqpKhh5gsaeOFOh/AJrd1eWMd9Rupeq+xveeVNLFj2kdxc9oLJovYr8CRPtbYevoddh3AiSHTp6nE7+0BdVMnWWYiWVampK7T+M0cfym7dWXwcQJ1P1BtEJ8Uy45c5sMYOZzvmBVrojKwCdFdwZ4rEiMwE4Y2SBmgOler1wuhITz9bUU2YqmF9gFqfTI7OtpqTAFxTZa/5kXA/9z1u085kHdWJBq0qDCeX5Uwnkh7iAVb9Ofr+fdw4pXFahyo9/X8FTLlJTK0WSYra0Bvjc+npmMhINcfo4fwNAzh0oOl2PAZ/0aPqOAbsDoAEpkUhjwFNHFmlz/jhtq5im8DFnaOKJ03OuCsoMZrelvds26+lf36bo6wt1WlVIhQGZXtmrJN5+hUz/3sy5vunHys/8THmzrlGkLeVtAIAAzOU4ZwOgc82gFwNAFzz8vmHAbACcNqpUS8KnyjdqmionTlP12CntAKRD8WFRx4RoG5b3uIdjRKt1Fwxo9ZuvaNP9v1beqhc0odhvCeWHfp2if8GXebfKz96hfAAYSzmjewpAxDAM2F3M4ED9vlciOBsATxxVoWeLz9Xg48/U8PFTFK5I1axzCTNESBOGf+6551ruBmLXkW9eXki+RFxvPrlA/mfvUfmWpaooCMhfWCp/fli+QNAYN9narESkSclYtOeo8AcUKC63pbdkNGL36dHh88mfF5YvXJxqT1ur4o21qZjAbMf+5/lC+UrGY0pGGpWIEgSRbslXffYOhc68Rs1tcRO9vQVgj95lAJ2cBkDCsViKQwR3Z4RkiuDjR1VpYemlOmbmBRo9fqIZJACV9WRC7IlaJmDy5ptvtlwRxI25WBIJW02Jt0b06D13qmLpAo2qX6/BVZUqv+hTKjxljkLVIxVvqlPTKwvU8Pw8RTe92+MuDJRWqfKGb50WQ2sAABrHSURBVNn+JJFlL6rhuYd6dA9/fqHCx5+hknOuV6h6lFrWLtG++/5d8frseSDueQUTTlLb7s1qePp+e26iNb3YkBeATgTTL7mKYBjwiBHBANC7FNeVEeIFYPm2lzRldLUWlFyuKWdeoLHjxhuA0VEI62Ipj7AhrLtrrrlGU6dONQDyw3lEcVBEe+7dv9WgZY9rbOMmDR0yRIM+9j9s0BNNdWp8bZEiby9WdPMqxRtqegSeYPVIFU07R+WXf06xfTvU8Pxc1T9xT4/uAesFK4cpNHKi/OESxet2q2X1m0pGW7LeJ1A+WNWfvl3hY2eobft61S64U81v/lOJlnTmdQBsiqb2WiawtDcA9HoavA3qKlqpq5A2d4+DfX0HBuwLAB8tu1rHnXFeuxsHABKtS8fiqyJf+IILLrDSb9kA+NBd/6nq5U9ofNtuDZ8wWdU33668kRPVtnOTml55TC1rl8ofLpI/XNwexQI4GeDo1rUKDR+v0NAxChSn/I6IydiebQpWj1LJWdeo8IRZiu3bqaY3nlDj8/PsnEB5tfyF+4NuEwnF9m4zkHJt/pjj5TMVIGDFiAC+Ly/lVuK5/AQqh6Set3/1xrUnVrf3oAIQnZr+dTpgVwDMtqLUnU7oBeDBvL5fAIgf8ITRg/RI5Qd17Mw5acEM6HqAzVUxuPDCC00HdFXfHQPGWiJ6cD8AJwYjGnXKLFXffJuxTqK5QW3b16ll3dvKGzFRocEj5QvmCTEHOBsWP6C6J+9V2XkfVdHMixUaMlbJtqjpZ81vPyfF2hQ+4UwFB41gcVvRrasVefdVA17BhBMVKB1k+iX/Ny9/SZF3nle8ZpcqrvmKghWDDVyJaIuiW9coNGS0qRfRTSsUWfm6CiafpvxRk9LaU//M/Wr4530a9IkfqODY6TkxIDpgT0RwJgB7AiibnBm66KG6/qAC0M1KwotI11y8eLFVS8gGQESwY8Bxka0aNmKUMQgs1Lp5peof/4ta1i21IFLEYaBiiKpvSgG0deMKRZa9oJLZVwunYev6d9S67m2VXXyTEpEGAymGR/Hplym6bZ1aVr6m+L4dKj3/RsVqd6nptcdNvFde/02Fhoyx81vWvKXSs6+Tv7BMLWveVOPzc+UrKFLJB65RaPAou8fev95hItUXDKW1J7IcHfNBlZ1/o/LRAXMUwc4IyUUEZ2PAHukUA+TkNACyYXWmEeJtpzNMcC6zFLdry4b2lRBjwIrrdOzp56UZMVxP9AwAJHMrGwBhSRjQAdB0wKFDDYAF405U68ZlqlvwRxOB4eNOV96YKcZ+/A0bAdDWtUtVfObliu3eqsaXH1Xjiw8beClCHiguU/7Ekw1QrRvfVeu6pUq0RlQ258PGqg3P3K/mpYtV9eH/pvAJs5VorjeAFZ12obFo46sLVffYXSqYOE1lF31SoWHjTP+rnf875Y85rkN7mt9ebEZO6dnXK3/CiTkA8Go1RVMM6LZNJeAA1YVJSygcf5P3TMoEeTrZAJjND5ht/BwDZvoYD8X1HQCYGQ+YLc8iBcCEdm89AMDjHQAzRDDXA0Dyg7MB0FnBbP06967fmg6YDYD1T/0/5Y2arKKTzzX3TNvuLZ0CsOHZB1T31L32PdZroKRCeWOPzwrA1i2rzEJtev2JrABMRBrV8PxDqnv0ThWefK7KL7nZAIgljk4annxqh/b0JwApxIQLi34677zzrNIEVi8psE4H9FrBmQZIb/Josul/3Yno3n7fJQC7s4K7A6C7ntmKDvjGG2+YH5Di54R2ZbOCOwMgRkPZpTcrWDFUDDCArL7pVoUGj1Z0yxoh9opmXGyrJs1vPa3Glx41Ee0vKFJ0x3rFdm9R6bk3KLpjg1pWvt4ugvEpNr22SI0vzFflDd8wF0vbzs0m7mHMREtzVgC27dqkQLjE8oQz24Nu2Pj8Qyo561rlj8+NARtbU8Gn+AERwbAcDnq3RZdzNtOXpM3ClF4ADhCJ2uNm9C8Ay69tF8GuJcxAfpjBiFpWQWBQWJEO97phHro7xYDjsojghmceUOGp56vwpLMULKtWvLlOOHkxRlrXvGWuldDQsSqcdraBKNkaMZ0Ncdy6+g37GzcMFmvbjvUHjJCJ0xQoGySYzp9XYOIWf53iMTNCAGg2BmzbttZUgvyJ0zq0p2XVG6YCFJ16gfLHHZ+TCAaAXhHsAOgiuL3uEAw4l/vs/IBdiVWni3cmjr1jlU0sH8zr+xeAFddp8oxz25OjM6cDDme3AoJO45LHvX5Ax4CDSwtVcMzJCpRU2opD244NClYOVbBqWMptArDZ4cjnM2dw286NJm6D1SP2u2HYOTum6Pb1itftlS+UZyKccxItjYrXpgoYtbthWKBw59fstPs6HTK2a5OiW1an+QHRE/EBAt5s7Ynt2qJg1VD5iytShtCWNYrt226rIt4j5Qe8Wp0xYGdrwV4d0LuTgVeP6y3gsj0z231z/axLndMbjIARkrsfMK7dWze2GyFOBwSArKR0peBmzjgDYGtE8/70ew1atkhjGzaqumAAJ4/3WNB0foEDoDNCMkVwdwCEKRHP3j49mIyVC6h79HwvAH/2s5/lHA+YMkI2auMjqXhAA2D5tZo8c0638YTeGWEi2JbiWvTYfX9W5ZJHNKp2rary3x8ArPzMHalomFjC9GIvAAk47SwcyzEgADxiluIcALsLxzpgBWcHYHfXZ/JBgCy1tlYtf/FZhZ/7qyq2vKXi4JEeB2M7KFo4VvD0K9XY0mauFueGYS24s6QjV2MHFcYBsB9J+T29VZoO2FcAzscI8bhhunoTr/5gszyZUFtDrYKrXpJv6T8Ve/clcx4fUZGo+zuE5b3goOEqPPVC5Z9+hWKDx6uxudkMNdwrbmuGbOznpAf9B0N690bpTP/LNg490d8O5vX9DsBMI8Trh+pKf6CzwwV5ymvcp8TGZYqufEW+WFQ+loyOIDKkCoJC+QpUDVP+yecpVjpYLUl/u0sKC9dFCnU1gekvC+QtKGjfz6UzUPVIJ8uoFJHr+PXWCu9XAKIDTvIYIT2N0EXk4PdyCe/kiYA/VjOOFCaMxcjwS2X6RdtilnROhpzNM2IV92f5EYqb6r8UDI/Y771GyE9/+tOc4gHdUtzurZvSjJD5Zdf0yghxMzRVw6VUheGwyJuItraqrmafGs1nmNo18kg4HKs4H2m2aJMj4T1zeYc0BgSAubph0Nk6A2BPjRAaCvuVUoswGtH2d5dqxXNPqKa2VgWxiILxqKJZ9s3N5QWPnjOwe6BfAfhw2TU5GyHeboH5yAkuKynRyuef0LLH/6HNLz2pZKRJg/OTZhEf4j2lB/YoHsat6z8AjqoSAOyNH9BtKu2Px3Tv7d/Suscf0KSSgMYVB1SR71N+4MhPTjqMMdSnph8UALqVkFyDHm2fuaJC7du+RY/88kcW/XzGoJDK8nyWFzwASvj1qZOPXtx5D3QoUt6TeMA92zYfMEI8DOh0QBym7BlCFAx5IRzEtLEtg6u6ymdm9fp9WvrcU9o4704Vrn9dx5cHlL8/Kf3oAB65PdABgLnGA2KEdAVAwMf+IexfAfhYOuIz9o6jmjtbqzqGxKFK1MmT9/9FgVcf1rCatRpV6FcgR/+fLy+sYEV1WvAAUdLeg1wOb3BDdPPKVHJTZ2mVB3HMyWkhPYDgCKJw2nZuUNu21AR9rw+CKYgiIso7VrNT0c2rLeEqTUenvVXDLd+GHBtiMcl96Y+jSwB29gArt9ENAPHmAz6WiwiiJCWTEKx//OMf9hkbFwJI8+izFhxt0dy7f6cqsuKaNmlwQe67mgcrhih8/JmqvP4bFiFD+FTNP/53WvNdlpqLsK59+HcW89dZVlt/dG5n9wgNHafiGRep/MovWqgWOSQ9zdLrc/v25zmHp85SyQeuVdHJcyyusXb+7xVZkaoP7o68kZNUfMZlltJAnGXjS4+ICdwfR78CcJ7HCnaFLV1hRcKwqIzA5oIw3kUXXWQAdBlzidYWPfSn/2qPB+xJNMxRAPYcCi7PufSCj6lw6myLqyQqnDSDTAAWnXaBqj7y3y15q/7Jv1rs5YAFoAvHap89eXkWgEpOMFt04e0nr4G93WBElp3wARINM9cDwCGDKlV2wcctSYjqCNQBJNONziE3mIX8oukXKlg+2KKSA0WlFnZPbGDD4n+o7rG7LSKZ2RsgfjAQVN7IYyy+sGX1G/IyIOmchSedbefa+qs/YM90zyOAlYDWomnnKla3Ry0rX7VEKNoXLK+2xKR4/T7ljZpkcYQU3yT+kOsTTfWiMifPJY+mdf0yxWt3WWwjDIgIju3a3J7gTuZdZMVLdl57+4vKlIy3iSjsppcXKNHWqsKTzlH+mGNt3zpYn/uQJoA4ZZ2Zzznc/SzIdv/hLypT/uhjLb+FPkG8+gsK1fTGUx0AaMn4Z33QosPlD6p1/duKvP2cWtYsSak0pZUGXt7N+v65h9S6dknajMgfM0VFMy4xtYPsRt4lNHh/GWjvSshPfvKTnB3RhGPt3Z5uhMCAmQB0pTnYoJANVdjRkh+SjihFRlQ0BSnj0dZOAUiH5g0bax3V+Ooie0F/QbFVKbAyG80N8rEfyJCxltfb9MaTal7yrIlkQvgBSKKxxl7al5dvIPYCMDxlpkVLA0KCXxMNey0PmNyPyNLnFFn5mgWrekVm85tPaejXfqPQsPGKN+yzkP/w1Nkm0hkIfnN9vG6P/eDIzBs92ZKgWla9pkRDjd2PI7Z7s+UrM6A8H7BE3n1Z5Zd+xsqJMGCAGdaqf/o+A3vRqeer6JQ5ijc3KLpllelu/vwCSxO1nJmdGxTbu8NACaAzAUh6KxOY6HFAyCRsfvPpnADYtnWttYn3TdBfkSabsAT31i36sxpemJum0xYcc4rKLvqEYFICgcEOExcWTRPBP/7xj3OOB0QH3Lt9S5oV7AUguh26HvkLZHXxc/XVV1tVBMQyOiKRHwAUkZzIAGB1YVCBwlJLDM8fd4KKZ12l4hmXqHXjcsvZJdo4b8Qxalj8oH3GYJee+yEbbDodpio961pjKmZ229bVqrzh25bn2xkAGVTYMbL8JVOyjaGa6ixDjkHOBYAAMfLuK2rbuiZ1fWONTQay6JyOygRy9yP0Hx2w9tE/qPpTt1oiFWwCK5JPQnvI4ktSCeuCGy3C26K/88IGQr4nP4ZJZ5Ukps62/uGeVgqkud4Awu9sR/EZl1u/kTedDYBcg+436BM/NJasW/QXJSL1Kj7jCotOr1v4J7WufUuhERNVcdWX1LZrsxqe+bvqFv2p/XEYOuHJ0+39mYQwJufVPPjr7ADsbinNGSFdAdAxH/v5ov+RjsmWrYg4wMcivAvJB4CZIngoInh/bRhmK8lF/DCbYYtg5RAFB49W/ZP3quXdVxQoq1bFtV+xigbka8Tqdqtk1tVqWfW6yJLj96BP3ar8scebGOnIgJ9V4dQPqPGVBWp59zX5C4t7BcAoOcorXjYxa4DduVGRpYtNFGYDIOxX//T9anxxvio/+HWrhePPL1K8ZqdNPKuoSpJ9Mmmh/6gfJsZi0fb2cj2gLp55qdDpCsZPTYnlaItNhIYX5llaaX8BMBlrtZRTBQKWG03fFhw709oP85MTXfPQbw48zh8QenrFdV9V8WkXGZBJItt91y39C8C5pVe3L8W5HRznzp1r9U5wvxDpQnk2NkLE3eMieVNW8AERPCFRoxGTjtOgG/9HqipBCwlDYRMvFAUyBqwcamKD2UYSenDwKKP5RGOdUTsMSBJ567p31PTqY8aEgz76HSvTgQjsAMDLPmvsQTIRjEcqZzYGBFhNry6yDhz0iR8ZE8dqd7eLYJLiW1a8onj9nnbGbF76rFm72QBoaZ/P3K+6x+/Zz2CzTIds27NFBeNPVJSKEO++ppa1b9mAWjmQ8sEqPGF2e3u5nkQoV7sG8UYuSukHrpW/qNSqQ9TM/U8T9ZZH4zl6xYAtTSr5wNU2BrUL/mj9hWVfcc2XbWyY8NTCcUeKAU9T+VVfMnEPA8b2bDVxn1UE95YBAaDTAYlrwwHNBtMA0FVKZQNEdvTGLcMBCxKS7xXBE331GnnCqRr8mZ+afkf1AjLgCiadYslBJPiQ3ANbtG1ZbbVc/KUV9pKwI6IHsYVeh76BPkQlBBR3fHCwaE8ASJongKu8/ls2oLAaLETWGz5Iko2cDthTANIHMAisCWAo/wZrtax/WyVnXmnvb/dc86axuyVHVQ1T6TkfSgfgmiVC2acQE0yJHmj3C+UbAAFEbwFYNP0imxwAjnvxrkz48LHTFd200sSp+VknnqQmUmJfmJemc1pC/wUfV+FpFxjwOPA78l4HDYAO/ezeSNh4ZiFt3C/oh84K9gJwAsWJxh+jqhu/p7zh4/dbWTGKDZoTFJGLMl9+6aetVgsGQ7IlVfYMMDa++pgaX3jYyrFRnQpLDZGVqqrlM3GFO6F107s2qHRQ6ZwPq2DydNOlAG+gqEyl53/MMtqs0kLm/RKp9tBuA+C+HQofe5qJSMp6YGRwPaXZaC+DRHuZONGNy40R+Z5gWys1Up6qp2gpnS/Ms0oN7e1nh4FEwtpPEj0TMjxlRnt7m15+1LIGncpifbL/cPfrrBwdk7jkjMtVMOk0A039U/da+70HlnDFFZ+3ChDJaFStG5ZZHzEBg4OGGfhscmxcoZqH/ysNfNyHhP7Ka79mhgo6OwZM8awrzTOQBsDbb7+9R/GA+3ZsTTNCHiq5ql0Ee8t4wH6ZmfMuV9g5ohNtUc29O+UHHN+8WdXF+akG4k5wKyKkYlLsMdoq9BBmufsepkvJqLglk2P5YkHSOexLQpxnMpkqJmnukeaGVKFLgj5D+abz+UIFVqTIdC52VAqT/pnIfj+7USrnmWfSLqucFYuamwTAcL21t63F8oxpr3s+g2D3t3fzWYmR1HetpnLgFz3Qfr5LVddHZPM8rHnXXt6X+zmjzblg0u7XSUFOjDx0awNRtCXVL7Tfc/AdE9JcS7wzAbRtrabL+fzB/ZXBUp9TxzHTuc8zXHHQVGHQpD0Td1cHAPYkHjATgHNLrupVRLQtxbW16uG//EGD3lmkMQ0b3jdpmWkj/T785z0BYLb6JF5GxAiBjRY/8qDKXp+rYXtWqiIvx4Xg9+GgHUmv3K8ARAR7HdGdFaxJSa8DtZJJy0RUbV6xRAUv3K+S9a8pv22A7ed7JI36AHqXgwrAnrwnuyyFKd2xdbliry9U5IV5KX1nIG0q3ZMXOnpuTj2QBsDbbrutB/UBE6rZmWGEFF9pEdHeIufeVmTLknPfw5bsFRJOtilQv0tJqk8plRV2NB46p7E8LE/qAMCexAOmAPh/UqU5RlXpQQC4Py3TbDvSDPeL2lzqx+GqKSkutlonWM4xnKZYXVh/R5nwsARYd43uEoCdXeyW4roDYHcPTzP1929WCAvisog01Kluzy7FMO1jlK1IryrVk3sfPXfg9sCAASDsN6iywgIcli1+Qm8tuF9FkVqFfXFStBWNZ27VOnA79WjLcu+BAQFAt1lhUbhAz9z7e23650Oq2LdepWpTgT8pPzUAj6TdCnMfnyP+zAEBQNIyqYYQbazTgl/+QM0vP6qZVUEVBX0Kvg/2izviUdbFC6YB8NZbb80pHjCbDngcRkjRFe0VUp3xQdhVqv5JarMaqjkRBeNdnuP/cEG+tq5arhX3/FKB5Yvbs+KOuqOPbHhmBWAu0TDoZV4jxAtA54YBdITh87Ns2TINHz5c1157rc444wyrFe0OluJCPmnlq88p/uTdKtn4hhWofH+UqDyyAdbd2x00ALq0TLYYIAC1qqrK8kLQ94gNJCSLz902DSxkPz//AZW+MU/D9q3u1wqpxKPlj5+altPhDVHv7vvuOrG/v7cciukXWTAG0dlEPRNtcygOoq4JqSf4lDhIAmszUzJpb+HJcyyQofmd53qUYtrvAJw0/Rwr0QsA2aCQnA/yPyZMmGDbtRIfWF1dbXteuK0GqBEdo0TvvX9U9YrUPiE9yYrrbmC6S4Ps7vvu7t/f3zOYVdd/02L7iPgmzbS/stBybavLoy47/2MKHzfTIoL23f9L25GK/GF30EaLxJ7zYUszYEOhzKy6rp55UADoLVJOLCCsV1tbKzZdoQYyecJsWsjeIRaQagCM6NG//lGDVzypcU1dA5CIWjYtJBvOQq0spulAOBB+RAszYh+PQMAGknB7giKj29ZayDiZc519n5mn68KRyKzjsMy5/bvGu+VCy9zzB1O7YfL8UJ61TyQUJRKpcKtgKLWq42r+uaR4sug892PAK6/9qkVvExvIVmJk5rlwLCKHeO/McLT2ULJAcP+GjjQztc7uQszou1To14HwLrvOEylNeBpJ6IM++j0VTJlh9yLeMA2AZP8F81Qy6yqVnPNBy/lgn726x1IR0sRosu0Fv92zsu33nAbAW265Jed4QFYoancdWAkxHbDwcgvHggHdshsAW7FihRYuXKhVq1bpqquu0iWXXGLLdVROQE9s3y84RwDmjT5WJbOutFQ/4tSI3fMGRLJFAvuJEPBJxQQOknoI+mRLL8Qa0cGdfZ8JQAIyyy/7rEXxEmtn4MoraA8QJWiVwE5C4tlQh/TJ/PEnWPtsP5H6vRZGT9qmDT6A8wcslJ/D8l3CRe33AzCEvMPMxD3Sds53AamIZD8pA/sDcgGC20+ZFAQ27yk5+zrbw45JgPgmCJftzSxNNSPAla1wifB2hwXonvfRVL4wsYLU8G6oSQMgILXUzks/bdlu7N1CDkrzkmcsaptYwdT1halg2k72e+4AwFzjAZnEnQHQa8S4usckpSOWiYAmLJ/UTDZbSemAqb3iFtx7V04MSL4G6ZDkDAMGOqz49MuNfcgzILWRbH+Sc4juJW0yNHyC2DyanBIyzsiN7ex7ssy8lQpMJH7o21ZKg502LQUgXGzXNy9ZbAAj2cmJzOj2tSqYdGr71mCkIhJGz6Y1tt9x/V75SyqVN3SM7fJEhDNh9Ow7B9vRXlJF3fNgHythfPyZFglONDUDTA5LlDzjSIPlAwMK2If0TUDBxCQ/hchvWBdRyTmEwrM7lAvxJ1rbq9eR4GU51KVVKpl9lemAMH0aA7IjfEmFSs+5QcWzr7KyKOwgSnoBE4L8Ha5h51HGqHDauaYjEolO1LnTaf8/JsDx0K7qTnkAAAAASUVORK5CYII=</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><watcher var="randomList" style="normal" x="-0.6118529577802292" y="0.08724069054705197" color="243,118,29" hidden="true"/><watcher var="sorted list" style="normal" x="0.23839646970100148" y="0.0838389978387184" color="243,118,29" hidden="true"/><watcher var="player list" style="normal" x="2.5" y="2.5" color="243,118,29" extX="80" extY="69.99999999999999"/><sprite name="Sprite" idx="1" x="60.413488507861075" y="142.03274402548436" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="11"><costumes><list struct="atomic" id="12"></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables></variables><scripts><comment x="14.145077720207269" y="103.26424870466326" w="495.18134715025906" collapsed="false">Also make a factorial block.</comment><comment x="10" y="192.90155440414503" w="435.07772020725395" collapsed="false">Use the &quot;time function&quot; block to determine which algorithms (from above and below) can be executed in &quot;reasonable time&quot;.  &#xD;Also, run the &quot;time function&quot; multiple times on all the algorithms to determine if they are constant, linear, quadratic, cubic, exponential, or log time.</comment><comment x="21.398963730569903" y="10" w="301.3886010362694" collapsed="false">Use this &quot;list from x through y&quot; block to build the following blocks: </comment><script x="46.46185840349722" y="60.041865995229955"><custom-block s="1000 numbers starting from %s"><l>4000</l><comment w="90" collapsed="true">no change needed.</comment></custom-block></script><script x="485.2849740932643" y="217.25906735751278"><custom-block s="add numbers 1 to %s using math trick"><l>14</l></custom-block></script><script x="46" y="307.66666666666674"><block s="doSetVar"><l>options</l><block s="reportNewList"><list><l>factorial</l><l>add numbers 1 to x using for</l><l>, add numbers 1 to x using combine,</l><l> positon of number x in sorted list of ize y</l><l>, matching</l><l>, all x digit numbers</l></list></block></block></script><script x="25.948186528497274" y="412.8751993285633"><custom-block s="position of number %s in unsorted list %s of size %s"><l>0</l><block var="randomList"/><l>15</l><comment w="90" collapsed="false">keep the &quot;position of number&quot; = 0. Change the &quot;size&quot; and put in your chart.</comment></custom-block></script><script x="77" y="516"><block s="receiveGo"></block><block s="doAsk"><l>what&apos;s your name?</l></block><block s="doIfElse"><block s="reportListContainsItem"><block var="player list"/><block s="getLastAnswer"></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><l>Hello, </l><block s="getLastAnswer"></block><l>. Welome back to timing algorithms.</l></list></block><l>2</l></block><block s="doAsk"><l>Look at the options menu on your screen: type the corresponding number you&apos;d like to play. </l></block></script><script><block s="doSayFor"><block s="reportJoinWords"><list><l>Hello, </l><block s="getLastAnswer"></block><l>. Nice to meet you. Welcome to timing algorithms.</l></list></block><l>2</l></block><block s="doAddToList"><block s="getLastAnswer"></block><block var="player list"/></block><block s="doAsk"><l>Look at the options menu on your screen: type the corresponding number you&apos;d like to play. </l></block><block s="doIf"><block s="reportEquals"><block s="getLastAnswer"></block><l>1</l></block><script><block s="doAsk"><l>What number would you like to pass in?</l></block><block s="doSetVar"><l>result</l><custom-block s="time function %repRing"><block s="reifyReporter"><autolambda><custom-block s="factorial of %s"><block s="getLastAnswer"></block><comment w="90" collapsed="true">no changes needed.</comment></custom-block></autolambda><list></list></block></custom-block></block><block s="bubble"><block var="result"/></block></script></block><block s="doIf"><block s="reportEquals"><block s="getLastAnswer"></block><l>2</l></block><script><block s="doAsk"><l>What number would you like to pass in?</l></block><block s="doSetVar"><l>result</l><custom-block s="time function %repRing"><block s="reifyReporter"><autolambda><custom-block s="add numbers 1 to %s using for"><block s="getLastAnswer"></block></custom-block></autolambda><list></list></block></custom-block></block><block s="bubble"><block var="result"/></block></script></block><block s="doIf"><block s="reportEquals"><block s="getLastAnswer"></block><l>3</l></block><script><block s="doAsk"><l>What number would you like to pass in?</l></block><block s="doSetVar"><l>result</l><custom-block s="time function %repRing"><block s="reifyReporter"><autolambda><custom-block s="add numbers 1 to %s using combine"><block s="getLastAnswer"></block></custom-block></autolambda><list></list></block></custom-block></block><block s="bubble"><block var="result"/></block></script></block><block s="doIf"><block s="reportEquals"><block s="getLastAnswer"></block><l>4</l></block><script><block s="doAsk"><l>What number would you like to pass in?</l></block><block s="doSetVar"><l>result</l><custom-block s="time function %repRing"><block s="reifyReporter"><autolambda><custom-block s="position of number %s in sorted list %s of size %s"><l>0</l><block var="randomList"/><block s="getLastAnswer"></block></custom-block></autolambda><list></list></block></custom-block></block><block s="bubble"><block var="result"/></block></script></block><block s="doIf"><block s="reportEquals"><block s="getLastAnswer"></block><l>5</l></block><script><block s="doAsk"><l>What number would you like to pass in?</l></block><block s="doSetVar"><l>result</l><custom-block s="time function %repRing"><block s="reifyReporter"><autolambda><custom-block s="matching %s"><block s="getLastAnswer"></block><comment w="228.99999999999994" collapsed="true">Just enter a number here - this algorithm is often used to see if there are duplicates. It has been modified to never have a duplicate so we can have accurate timings when run.</comment></custom-block></autolambda><list></list></block></custom-block></block><block s="bubble"><block var="result"/></block></script></block><block s="doIf"><block s="reportEquals"><block s="getLastAnswer"></block><l>6</l></block><script><block s="doAsk"><l>What number would you like to pass in?</l></block><block s="doSetVar"><l>result</l><custom-block s="time function %repRing"><block s="reifyReporter"><autolambda><custom-block s="all %s digit numbers"><block s="getLastAnswer"></block><comment w="90" collapsed="true">no changes needed.</comment></custom-block></autolambda><list></list></block></custom-block></block><block s="bubble"><block var="result"/></block></script></block></script></block></script><script x="551" y="321.16666666666663"><block s="doSetVar"><l>player list</l><block s="reportNewList"><list></list></block></block></script></scripts></sprite><watcher var="options" style="normal" x="2.25" y="26.500000500000006" color="243,118,29" extX="194" extY="148.99999999999997"/><watcher var="result" style="normal" x="2.5" y="25.7500005" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list from %&apos;min&apos; through %&apos;max&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportGreaterThan"><block var="min"/><block var="max"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportCONS"><block var="min"/><custom-block s="list from %s through %s"><block s="reportSum"><block var="min"/><l>1</l></block><block var="max"/></custom-block></block></block></script></block></script></block-definition><block-definition s="1000 numbers starting from %&apos;num&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="list from %s through %s"><block var="num"/><block s="reportSum"><block var="num"/><l>1000</l></block></custom-block></block></script></block-definition><block-definition s="all %&apos;num&apos; digit numbers" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">The list of 2-digit numbers goes from 10 to 99. There&apos;s a math operations block that can give you powers of 10. You don&apos;t need to include zero in 1 digit numbers.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="num"/><l>1</l></block><script><block s="doReport"><custom-block s="list from %s through %s"><l>1</l><l>9</l></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="num"/><l>2</l></block><script><block s="doReport"><custom-block s="list from %s through %s"><l>10</l><l>99</l></custom-block></block></script><script><block s="doReport"><custom-block s="list from %s through %s"><block s="reportMonadic"><l><option>10^</option></l><block s="reportDifference"><block var="num"/><l>1</l></block></block><block s="reportDifference"><block s="reportMonadic"><l><option>10^</option></l><block var="num"/></block><l>1</l></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="time function %&apos;function&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>start time</l></list></block><block s="doSetVar"><l>start time</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><custom-block s="ignore %s"><block s="evaluate"><block var="function"/><list></list></block></custom-block><block s="doReport"><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="start time"/></block></block></script></block-definition><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.00000299999996" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="from"/><block var="to"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportSum"><block var="from"/><l>1</l></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition><block-definition s="add numbers 1 to %&apos;max&apos; using for" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><l>0</l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="max"/><script><block s="doChangeVar"><l>a</l><block var="i"/></block></script></custom-block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="add numbers 1 to %&apos;max&apos; using combine" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="combine with %repRing items of %l"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><custom-block s="numbers from %n to %n"><l>1</l><block var="max"/></custom-block></custom-block></block></script></block-definition><block-definition s="add numbers 1 to %&apos;max&apos; using math trick" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportProduct"><block var="max"/><block s="reportSum"><block var="max"/><l>1</l></block></block><l>2</l></block></block></script></block-definition><block-definition s="factorial of %&apos;num&apos;" type="reporter" category="operators"><comment x="0" y="0" w="144.5098039215686" collapsed="false">5 factorial -&gt; 5! = 5x4x3x2x1&#xD;You can choose to worry about zero/negative numbers or not </comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><l>1</l></block><block s="doIfElse"><block s="reportLessThan"><block var="num"/><l>0</l></block><script><block s="doReport"><l>negative factoral</l></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="num"/><l>0</l></block><script><block s="doReport"><block var="result"/></block></script><script><block s="doFor"><l>i</l><l>1</l><block var="num"/><script><block s="doSetVar"><l>result</l><block s="reportProduct"><block var="result"/><block var="i"/></block></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block></script></block-definition><block-definition s="position of number %&apos;number&apos; in unsorted list %&apos;list&apos; of size %&apos;size&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>randomList</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="size"/><script><block s="doAddToList"><block s="reportRandom"><l>1</l><l>100000</l></block><block var="randomList"/><comment w="90" collapsed="true">leave these numbers alone</comment></block></script></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doIf"><block s="reportEquals"><block var="number"/><block s="reportListItem"><block var="i"/><block var="list"/></block></block><script><block s="doReport"><block var="i"/></block></script></block></script></custom-block><block s="doReport"><l>NIL</l></block></script></block-definition><block-definition s="position of number %&apos;num&apos; in sorted list %&apos;sorted&apos; of size %&apos;size&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l><l>c</l></list></block><block s="doSetVar"><l>sorted list</l><custom-block s="list from %s through %s"><l>1</l><block var="size"/></custom-block></block><block s="doSetVar"><l>a</l><l>1</l></block><block s="doSetVar"><l>b</l><block s="reportListLength"><block var="sorted"/></block></block><block s="doSetVar"><l>c</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportSum"><block var="a"/><block var="b"/></block><l>2</l></block></block></block><block s="doUntil"><block s="reportEquals"><block var="num"/><block s="reportListItem"><block var="c"/><block var="sorted"/></block></block><script><block s="doIf"><block s="reportOr"><block s="reportEquals"><block var="c"/><block var="a"/></block><block s="reportEquals"><block var="c"/><block var="b"/></block></block><script><block s="doReport"><l>NIL</l></block></script></block><block s="doIfElse"><block s="reportLessThan"><block var="num"/><block s="reportListItem"><block var="c"/><block var="sorted"/></block></block><script><block s="doSetVar"><l>b</l><block var="c"/></block><block s="doSetVar"><l>c</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportSum"><block var="a"/><block var="b"/></block><l>2</l></block></block></block></script><script><block s="doSetVar"><l>a</l><block var="c"/></block><block s="doSetVar"><l>c</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportSum"><block var="a"/><block var="b"/></block><l>2</l></block></block></block></script></block></script></block><block s="doReport"><block var="c"/></block></script></block-definition><block-definition s="matching %&apos;num&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>list</l></list></block><block s="doSetVar"><l>list</l><custom-block s="list from %s through %s"><l>0</l><block var="num"/></custom-block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doFor"><l>j</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doIf"><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block var="i"/><block var="j"/></block></block><block s="reportEquals"><block s="reportListItem"><block var="i"/><block var="list"/></block><block s="reportListItem"><block var="j"/><block var="list"/></block></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><list><l>Match found at </l><block var="i"/><l> </l><block var="j"/></list></custom-block></block></script></block></script></block></script></block><block s="doReport"><l>No match found</l></block></script></block-definition></blocks><variables><variable name="randomList"><list struct="atomic" id="1279">45119,83947,64418,14430,51978,72355,83020,64560,70382,68297,75253,95132,84818,83451,70764</list></variable><variable name="sorted list"><list struct="atomic" linked="linked" id="1280">1,2,3,4,5,6,7,8,9,10,11,12,13,14,15</list></variable><variable name="player list"><list struct="atomic" id="1281"></list></variable><variable name="options"><list struct="atomic" id="1282">factorial,add numbers 1 to x using for,&quot;, add numbers 1 to x using combine,&quot;, positon of number x in sorted list of ize y,&quot;, matching&quot;,&quot;, all x digit numbers&quot;</list></variable><variable name="result"><l>0</l></variable></variables></project><media name="U5L3-TimingAlgorithms" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>