https://mermaid.live/view#pako:eNptVN1q2zAUfpWDoXRj2cy67saMQNxhM1hJaeddDENQpZNYiyJlkhw2Sh9gb7HL9jn8YjuynR8n9YWxfD5_P0fHeoi4ERglkcNfNWqOnyVbWLYqNdC1ZtZLLtdMeyiAOSi8VNIxj7U9RWQBkVmjPWpxWk5DOWV8-WI1D9XcmIVCmE5qX5W6A52dwU3FHMJ7SOCLll4yL01fzN6Ox1kCefOsmyeLEMLMNmjlXKIdQK4sogXVQ3jFlEK9OALteJynjPtSnsAtCmmRB2kgAQfqnJFLKG6_AtsgP-IF9IckOZEUCUzmc8krpOCEEMGLdkjtWtHtJO8F5b0aAEK56OxMODeWGBQ6WKNdSefImdurZUPLO4sggm9jwy6GwtBn34fvXQdDu_rikbcP5K35S2l1G8S11G7PkSZwM737BjFbyzj0KcbfHfrTvY3HrwJ8NNyt1-3XHcWR2iWpTe9pqlrHQc4bmqJeL-060umZIHYRby7jFjJQU5IYZlLsHh1yi37Ugl4y0zYyDY30prYagXGOzs1a6hFYnFt0VbcEYhmHbkrRvTjp2UdKkaPrM4DDdsv2GdIwpM0zxtfE0vyDn6QJip0CswNHrua8eXLwZgujHGYpMa6QicPpLvp5kLRh6rze_8fvSh2NohXNEJOCDoKH8E0Z-YqGrowSehTMLsuo1I-EC7Nz90fzKPG2xlFkTb2otot6LYiyP0G2L-nv_mEMLedMOVqTCRq_6-7UaQ-fx_8yPoDF