If you are not redirected automatically, follow this link to open the demo in an interactive editor: https://shinylive.io/py/editor/#code=NobwRAdghgtgpmAXAAjFADugdOgnmAGlQGMB7CAFzkqVQEsZ1SAnC5ANzoGdu68AdCAyatkAMyh0yELoOEs2MKBXQAbUhVV0ARjlxqNyKF2RqKcxgtNQIAE2NGT6WxZFsucKNpYRHyLjKCgmLMpDDIdFSspKSqJvKixLjEqnDBoeFKKuqaOlhk6szxlqIAKgCCAEIAMgCi5QCqAPoAwgDy1W0ASgDKRNWkAOYAciww6WH+ABZ0ELgRJWzlmEQAkhDoAK4UXERt21s7RD1wXDzkRMyexBR07HCX1LZwzESbdEEbqhRYzMQAClBmLAuMB+GgAB6nLCDZh0FxgAC6yAAvMhSsxNmkvj8-oDgTBQeDYfCsFoIKcKLhUuDkWjwYhwZ9nFhSOhbuQuFhbNw1FBcFgxOplE0xGNlKjkOCQIgCFgAExiAC+4MF4vMEEEnB4PDwWA8FCa2igxAA1k8ABTgtm3VQ2BEASk+zwkm2+TXQQNgcCiJjRIEEyCDUrAYjocFUtlktBAAAYiABmePIABssaVBEDwfBAHcoPdUhBBhQpgzkLGsABWAAsCczvmzYEGcDCPuYuDL2t4euG+aBoQA4i34BR2xaHfXgyGtug6KomjzvVEywmsPHBCrNRAYKRnvPPQSfS8-cgAw2g+CAGLhyPRlBg89T5DvfJA2xWx9P4Mv2aHJoQTZ4DhYgPy-MDGzDCNbCaGxBhpQgQ2vKCjCLVJkGAAAGxFwSIZMYFmFE8KgCEUQATmTLgqHQFFKyzcCgwnOj6J-DZthgm46HII1tgocgrTQWxoMgyMcJDcpBPEG9HUnMDGM-b86CwX82I8VIOIALzgUD6IvMBiE2ZgrkoUUpOjGSdPBFoDKMthhKjHCmPAkBKOYC06AdFAxGlOglWQDDwXEFgIgiXwuAUOB3xdKA3UNA8l2PMFQ1M2kHQzRywNUuAbgilEtEoi0lHQC0XKIKKYo9L0RwS8E7OjREHTknSgxgGK+FSFEMSxcyn0asCWL-E0OQgbiKF4iB+JSTxmBMqCzJDFpUiBIxVFUSTZvBXqv36tiAKAqRtIssA8wLahi1LBDwQAdXzCNTpLdDAB7gGBsIQisazrZB8IgQisATAAOIglBIisAHZKyISi4GoisAEZ0oY7rEW68FKk4kd2zLB9wO2w1dpefb4afcFiLoKB50LM6HPkr9wXKCFSdWin7uAGBnqpprkFCTY7AtMr3TiqqikS5tW1HDskSwEmyaaJmpkTTb6K+wjuvAyHqJhlXgwVqccf-QD8ZAwmp3BMhmApKAmhLKRTQpM52aayyfE8ZArbNW2TBZtnCCN4M+diyqjyF4lhzbcXEXyJ2Lddm3Tl2H3moI9dqafNWfo1wntYUpTWNx-XgIO+jicofGWCaYgplgbQXgXKGS3tw7ymLuEgvLyuXmQZ52SmdDWZezWvz9irD19YWQ7F2lJabzjptbmAq+mzuS37p8laTjnU9h5fM6DXW8fz+OQ0LLhLZmN3Y-rwuwGqagTGj92e695ep0HgXA6JJsx4xiWj5P633af4Mq8AFBg3lWLeiNkZgBaJHcQoRKCY0JrvPOBNk7Gz0pHUUcDDTAh5JsMyB9wRdCgLgj2vcL7gRfgHEewdRZf3Dqbc2mDyC4mIXQPBwDPqJw4andOydt7PkUspXOe1DaoMbAwzwTDjLGHQFMA2kRxYcNplwWR8iqToQALR9wPpQ4e1UP60LDhHM2kiQjMMliouRwEFHcKomncBTEkZMUdiYqAyBjRmgQcnJBIiC7gRNhgjxpomg4LYfgsRukiEkIftoiJHc4Cun5lQ-RIt0ZGIkRbIJvxWHsIPkAg+PCHHeMETnPWviCHoNcUaE0wSZFWKkAo8hYFlGqOseo4AWimkDwSdFJJeig4GLSRPDJ1SzQWNaQ0qktiob2IzhA5xYB-ibFnKoLx2MSl-j3igjm4IZxzgXKTQWXSiZgAACKHMDjE45z8enlVftQsAez5yLiOUiDh+S4mFLmY4yB18ZCwOYWsvqGydrINETssAP8zHGVCXg65jYolhKud7OJuj4oDNSaHCeUKsHZJIe8rhBS7G8PAvwnxBs-HNMhTfKRho6lqMURU8oliGWaNiRzNFgt36YvHt-Gl0Kfj0rabgaZ0MsAktkvMx84I-kmCCUCraILhEUoqT-IJIScnhIhYivByKOGcrfqPQx2KaVZNhXHOJQNlZEpmRKr8ZKlVlJVXE8EaqakwRZcK+FulmUTOIAotl3r4mJP9v07ln8jFurGUKyZIqbVirtT1KVaCug+lmFABVT5yX7xdWAK4txoBNAjFodAYV4RNHUhqkhQbwQAC1Oaar1To25fT0XhuNRLfN6asDFr4GW6CoTFLqXecRa1nziVFPWdnTZYLKU0zzWmwtvbS2kHLbgKtYSa1gAAJoNuiZ7dlTUDUPJ5XQ34i6oA9pWn21dA7WGKTjZawl47bWTuDE4iAm5BAYHQE0d4koXyembKKVQ7x3xMRfHaXApAVLwjgMaVyiDFI8GeAhudWbFImlNjyPiB8pwACp0McxfFhlgOHhqegpKoC0txNAPH8D6AtgwuBOjieBMUzAXaRFSBDRjsxmMhU+ruCMQ821KSoIScceGtYcKnPCFE4I4C4DgE0Hce4g38J1o6wanFhraB4rhhdlEWAqb9nNQhlITPBt6TsDaHDaPtXBAAWWE6tA0TGtWSqQ78UgOYiNZwKIBca0mgwplkwFt8-mdIvmIG+JocjiEvH4kQ3Ao4TRwE5qcGKdmBGsgOGxAwFB+KFY1al4ExA0hgFYxzKcmmZMHxi7EILUWnxhZC7l9gZMsRGlIBCFr4EHNwAU1A6gaW3N+rJsgOAABHd4nXCzmBRTVsC82sQohfDBlQbF3gTVG8CecVwQg6fIHZ9rU4uBTF87FjwKIJBSE5EpaQTQuDsEGPxOCxgPBzRzPCEsw3KyxnQBCU7bGwIljgPAYb2hQOVfCwjdrMXItnYi8waCCXniIbAKmo7HFyDuPmHZEHy3FV5a24aCgXhUj8Qp9DlT6BQjoBeLcU4RPidoNGFQFAAApaslYIgmDJnmXAJhkxV1i3gjLVsTDPB3B3UgpxkAQEMFwZZbhHC3EGFkKQU3lNciDbVjh-CHU+b8w1xSgWYDBdB0GAGCPzdI+txh18qP4ueAx-xS8MG4TtyYDmdu9wbhBQcGIbmuPfCkDEFN4gFXKBeqq3Dp3m2-yFeKzkD0vnq4B94kUVny26vw7iY10Dlv+vBmrAnxHqPS8k9iy79HSXLJ7cm5eS8pRkD-B6JeXPbPctJ4KzkVPGhRRiFilwLy8f2v5+QEb7qrHWPOgSQx5g9xXJCJQOsQ4uxkB94oCgfYZOt9ffOBAFAJwzi6Y8kxWqkorg6fuFgVbWlj36NqilT4NzI-LPsFQMu1lRszVvGe1ug0i0lqkv2KSwC-2UBU0yhAJa3kxNj-2MlfyWyanLlXQqy4BRGclHDcg8nEG8l8n8jAECk4zoEEzClYAigtDALSk+WAKoFsBRGABcjwNIOClmH8HCnfDAI-VJXf19kXygJ-yCSeCANGn4y4HHEZGTi7F1AFGEJgL4yLCkIPlqmYItGTFwAdHYPmE4NqnHD4KamOluiLBLCwOACESwBMNlkMI4QwCZwMhU0fxRCsKeQOXRXHC3gEKDAAAFb8OJ78EkxAsoNQpx-Drhbggj7hKA3Ic5JZBIADbAiA6BBglcrh-xyAhtOo4BqtBDI9iEhIpJpDCYmQwBaYJI3E7IXZSAXY5F-BhcJMsAyimRk4KQcwkjJQrC7IYJUItJ59k46BI92jOjuBFdDBRgKQZCOZap9QfQaDTJxxkAAAfU8EYuyJUAYjmAAYmQAaGcGgIYzUluE0gawOJ-30kMn-1qiAOOLoE0gWNmnHC2ODAiLvzgB7TEBCJuCYjeMCI+LgBiKKysMuJsiSJYyYhdEyx3HuCSJKOThaKxwh1IHuCMDWkjABXCHBwaMhnCG0HmCuBhP4wiFsgyDqIy1BOuNMiONCPuI+MRMJkpOQOpLRANDiKKzEB0I43EEExBKQMNAMIah8KfCGOQCZIFOpIAEI0RBTpimpZi2TFTuCLRxTwSGo8jotziVNVSbjYCTitIdTTIXi-CAioiASvjQjfjTS7gASgS4jDh8hFpppaoUi0iTNMiKQOpMRcjITF9JogRwT4T-FyiQyFopplpVpr84AIQKt2R2DsSY8xt0TbBmiQzWj2NTI5iis4xNjEEtTf8rjmTZpbjaSHiczjTkA-izTPjviwjXjrT79YtVBiBfTP98zRC7BxCPMi0LSbggy+p2yakxD3NJCpMtxwiGzzTayrTIibSe07SrCrhjMMizMNTg1MsDQi1lNVNXN+yvxT15g0Rn8MUI1aRhStNID8ytkQIEDIQGYZY7pzoiAXCuYeYDzJZ6ZpZZZ5Y1yLzFCnUc0OZbyRk75z5UCdIXD3yQLT4Y4zhvCID-zrz4CmCi4ohp4y4K455q5F4nyOAusht3ybA0LS5Z554a4u4M5vNELZ0D5byf5QK7ZwL6JIKI0yQaUGKLV+CEKryaK4lgKMEBUN04UmLwIWLDFjFGEBU8Uwl4Kp1qLyk+KULKlJKsEPU-VGkRKVt8KUQoKBLcUY1-UplKLuLv8VMkLaKlKRl1VzUg0xK0kJLJEzVNVZLgVLzTKALtkmp+Kql1UDKNKOE7LQ4HLMkalxl6lDLH0uK5KeKFKgKlKcVmEhLPMILtL3yErKBpLck+EqKYrnU4rht0q6VPVY1bLUrWLCqwqGUXKSd5K8qvL4rTV3UbLNKvxAqxY2KZBRlTRMrOLZIcr3LzLFKCrGqzQ1Lwr-KD42r2wOrj4sk-KjLsqTLoCPLwV6rhsu0l1r0V1y1K1mqAqyrxKNrL1l1+0N0h1qqndarAK1rwQjqi0trTr109rJqDr7Kjqr0S1TrB0sBIq+qlqf9Br8rdlll9kXlA5SqYcURjz353Cwblw3ljK8z3KOzoIRyVCxyZz3jXxmzWydcVM1MIwliNEAA+DgXgeQrAWoZTFzPcOUraQcs0Yc5Q5jDG5OA8yUOQvgAUYgW-H-A8lrKWcmR81w+IwWh8swqYLwg+EZQS81EWh0mW1S81KWuJRWxK+a3AeW7YYK2lMahlFWjmKypqzVLWn4I20a5Wqfc22pYqiK02nW3y22hRA2tAjBDi+26Cv+WOF2nSIikuGeTCsinC+2v25uAOtuBeWuSWqfQqpK+22Oy2jhWOjW+O-lVSjWn2+iKNYJOWqw7OpKzO8CfOlOvOkam29SqkQusCeimC92VOzqjiqur8O6k629CtOOxci9e6z6tu3azVJup8Fuh6tup6k2zugtC2VutdAuqfdw3O+I2Gi5KIJYgAemQHlAuqnAJtWjRE5r1CprgBpsJoPN-MAVcywH0znHfArKnHzQMl8G3uFKrLnKbJbMfChOBDK3Sz3KfF2NOShieG318BsMfJQlsGTNkGTkFMJhAYlq6PiNgbOlZvAm3slCU3xt3NPqDBtG113vJq5ovqHLsBhB9CaBwZAiwZQmIumg8E13-1lklBa23pIfEs9rPjOGQAAGohM9wWH7LQ70LSLsKo7Ebk4lyYpJRgBsJxywJdiGgPA0T9JjNwhP60sKsjBMBQgTRu5uThBQh7hwHtRNgyZ7jlBdNCZuTqjODyHBRMzmwJSoIy4YhUcpDwCOYbG1GtJ8M7IiBEGl5kAPpXVZgVNxYb6wJ1JJQbGVdmAJAKsmhYQYNsB1ID5Dzt92QpB9QDJYmVMEnlkfrzzwnkANE0QBHS5aH4BjJZYCnm6stvhJZMBLQLRh1kBtCwmgw76zYNzssZGTTZzGyyY36P9Mscchof6pw-6AG7AgHkA-HSxBiEGbpbC2meGIw0Htzt7kGwJDtyshoTwsYmo96BQbAyZhduBz0RndNHjIwnGyN00qAURNCiBWm1Cgo9DfBgQiwtJkxyIiBKxKHpHCZdjU0DRkyGMJCVDCZDm3Llq0aWblmOn3mEkdndNIGmJdj99N8n6jIMccAchcaStVHyt+i6bf7kB-7Gcpm8dZmwGIGLHFjKGrDZnNmvxUG0R0Gdy9wxzwJyGOb8G9QUaSHDRyHmWV4gRBhOC0QExCYIRVMJWimmHz7dKqkOKD5uHmHCKp4SLA7hGKK4k1WxXZhjLwIZWgZGG8lFXyr2La7Y4uGVnVA+GgrOBRwWw8Ff52GTB9XmBxWemepCZ11TW0R1XWL3qp670eQH1bWlAvXDXk5-W5WNF-XiJqnJJBgiBiJJQzBMntBCtXHk3uSmmnmJwxTBN1I+ALRCXv6i2khJoLQKgah6hmh2hOhegGoSXwJiJcWNAC2WmiACgWAURiBlmoWc3O3DR0GLRiJAYLXDEiAf4IpgN3a3plmO3NyIQ7Qq5qM61kVKGV3SHqQvBCbwRd0D0Npk3d2irGc+zFNZsyZT3k5z2mg12GALQTXZgiATXiId2IQsymhqRn242IAnnVNP3k2EWU2sWngXgsAacaR37F8YO6cGcmdwxXG23gwJmKXwG8d0G7WaXZnCZ2WNmGWFmToJaRXn5lA3E0QpG82gorHQplTBS3GmptnjtfA8GdQCHjnVBTmuRWOw8rnoIyBbnoB7nHnkyhTx0rgpgDszHaiOPuwjnoAeOdR9RnWZONUORq9kybnUc7mhtxO7Ii3S0xBLZ9AhsaoR90ymplmKOKd6nMPtOzwe9GwkIRJaBx8QANi-J9cqUnN0JTkXoUB+OhosAnME80EudYwAugvhnkXyAsAouIvGwec+dgBAuywQvdNEvedkvdIeh1PVpgQOQywXI4ANPivOIE9NwOZlmgXTgfRQXYXIHRK+WFD8zmvyPfZI80QWRTlKPLxDxeZKPKGwOWtbAxA1PqQPiOMsgLR6cspeByAUR5RKGpwsAZhngJ36YsDwRZhnhgcqsD4f2EPnsqRUgpDgAeQ+y9T+3wQ64EJ6c2QLDqdoyKANETG0jRJXUElFsHR6p6pRGJzIPmBICPg4PI9Ez9sQkkW2OxngwwPPOsu+IHRgBYxw4nNEAFRlQyXWiZy7AoPCt8W09fdM9QiWBUO6XU2jAIQM26mVds2chc2fWpwO2U8PnmxxOfnkA-miBgBQf-PuSyDEWLmUekZkB12IxhsAASJzaXu99t799n2CL5ogbn3n9CUHqL9g4XuLuH-72dg91QGXrnJoWMeXo7+9pXgfDn1X5AdXot-nnLvnIXwTZH8aA3iXo3k3poEAXnJUC3r9ti5sHmIPkkd8OIYbRkS3xXn9tdo3-iWoaPPbWNdCLCBXsCB9-djd-if4DPTjLPIKdLl6eFn0e+8Dn1iIgn0HoniH0wNPL40fMQeHoMDDwBvHbEnDx+5OQjzBvN1ItN2n3r+nzYRnjQZnwmEz3lzjvUbj3jwUEfD0MfFrHo4TvT0Tgz5MWMIt2Z+2plyh5ZhgSUDthgC7XzFrEzjhN70bB5kziOYvGQNH8Xu-i3R-jRGGZ-sfbOA7jpD-ogO--btGSf5T4WAqRAiK6nz5Bp0iMAFEAMBGBjALQ7AJWDDDgAaJeeRrTPt+1XaS9N2YAAABqPQvYQfTctn0PY7pCBJfZNpmz7bMA0MtFGAIPxRCTtnwHgeJnCCjCXsvSXUWBGxx+ixhwYXvDdsNlTR2gzSIUKgDIA0pA8tmZfTpmGEGCfBv0mASUMsCKg-o-0dAXjMvheCsYwAGYU8JAG9C0AF0s2OgISVGxcgKAEICgAhHQTFwaAKAMAFMFGilpEAK9FejLlIBYAYAVwZTFgAgCqAV6HqA0FwBXo5g5EEYUIbtGNAaIKwKYGGAqA0R4AEwGiJXBSA+5zBrCMnQQM4JUBcA3BHg5Et4N8EfEAhQQz7D6FCHhC4AkQleuwAoCmgNEpELANWESHJDUhWRDIQKHCGrItwODO0FMxRBog3oWAP6FqDa6ohhhv0NcJ8F2gCAZA-qeYZRnsCQM8AuAWAL0KyCFYtA2gQQDTjdDQFBAVwWbJSEgYeAvAPgPQYiCAA.