From 46574cc38443c11bb249d6edaeb8c65ddb5ee5e0 Mon Sep 17 00:00:00 2001 From: Graeme A Stewart Date: Wed, 9 Jul 2025 15:22:53 +0200 Subject: [PATCH 1/8] Update badge Generate a "plain" HSF Project badge, in grey and red. Remove the table entries for old badges (bronze, silver, gold). The old cached badges are not removed. --- images/HSF-logo/HSF-Project.svg | 1 + projects/badges.md | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 images/HSF-logo/HSF-Project.svg diff --git a/images/HSF-logo/HSF-Project.svg b/images/HSF-logo/HSF-Project.svg new file mode 100644 index 000000000..e9f4fd6d1 --- /dev/null +++ b/images/HSF-logo/HSF-Project.svg @@ -0,0 +1 @@ +HSF: ProjectHSFProject \ No newline at end of file diff --git a/projects/badges.md b/projects/badges.md index 57e26081e..8e8c8561c 100644 --- a/projects/badges.md +++ b/projects/badges.md @@ -1,19 +1,20 @@ --- -title: "HSF Affiliated Project Badges" +title: "HSF Affiliated Project Badge" author: Graeme Stewart layout: plain --- -HSF affiliate projects are invited to use the following badges on their repository README files. +HSF affiliate projects are invited to use the following badge on their repository README files. -These badges are generated by [shields.io](https://shields.io) (thank you!), by embedding an HSF SVG logo in the request URL. +The badge is generated by [shields.io](https://shields.io) (thank you!), by embedding an HSF SVG logo in the request URL. -We also have pre-cached versions available and these seem to work better for top level `README` files in GitHub. +We also have a pre-cached version available and that seem to work better for top level `README` files in GitHub. +{:.table .table-hover .table-condensed .table-striped} | Badge Link | Logo (shields.io) | Cached Version Link | |-------|------|-----| -| [Gold](https://img.shields.io/badge/HSF-Gold_Project-gold?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | ![Gold logo](https://img.shields.io/badge/HSF-Gold_Project-gold?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | [https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Gold_Project-gold.svg](https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Gold_Project-gold.svg) | -| [Silver](https://img.shields.io/badge/HSF-Silver_Project-silver?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | ![Silver logo](https://img.shields.io/badge/HSF-Silver_Project-silver?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | [https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Silver_Project-silver.svg](https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Silver_Project-silver.svg) | -| [Bronze](https://img.shields.io/badge/HSF-Bronze_Project-CD7F32?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | ![Bronze logo](https://img.shields.io/badge/HSF-Bronze_Project-CD7F32?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | [https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Bronze_Project-CD7F32.svg](https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Bronze_Project-CD7F32.svg) | +| [HSF Affiliate](https://img.shields.io/badge/HSF-Project-AA0000?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | ![HSF Project](https://img.shields.io/badge/HSF-Project-AA0000?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | [https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Project.svg](https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Project.svg) | -These requests are quite big (6109 chars), but `shields.io` doesn't seem to mind. However, issues have been found embedding the direct output from shields into a GitHub `README`, in which case used the direct cached link instead. +These request is quite big (6109 chars), but `shields.io` doesn't seem to mind. However, issues have been found embedding the direct output from shields into a GitHub `README`, in which case used the direct cached link instead. + +In a previous iteration of project affiliation there were different affiliation levels proposed (bronze, silver, gold), which are now deprecated. From 58cc00c2adca73cdef8e208bde52e5249cbc76aa Mon Sep 17 00:00:00 2001 From: Graeme A Stewart Date: Wed, 9 Jul 2025 16:18:15 +0200 Subject: [PATCH 2/8] Remove project levels Remove gold/silver/bronze project levels. Rewrite advice and guidelines referring to the 3-tier software model. --- project_guidelines.md | 3 + projects/affiliated.md | 18 ++--- projects/guidelines.md | 158 ++++++++++++++++++++++++----------------- 3 files changed, 101 insertions(+), 78 deletions(-) diff --git a/project_guidelines.md b/project_guidelines.md index 1ae29ac17..53ead644f 100644 --- a/project_guidelines.md +++ b/project_guidelines.md @@ -5,6 +5,9 @@ layout: default --- # Project Guidelines + +*This page is kept for archive purposes - for up-to-date and maintained project recommendations please refer to [this page]({{ site.baseurl }}/projects/guidelines.html).* + The following is a skeleton for the minimal requirements for a project to be considered as part of he HSF. That main motivation being to ensure interoperability and usability of this project in other projects and being able to build consistent software stacks. In addition it should make it easier for other developers to contribute to existing projects. This is work in progress and details will need to be discussed and agreed with community. diff --git a/projects/affiliated.md b/projects/affiliated.md index 38a49241a..d2fe5139e 100644 --- a/projects/affiliated.md +++ b/projects/affiliated.md @@ -1,6 +1,6 @@ --- title: "HSF Affiliated Projects and Software" -author: Eduardo Rodrigues, Pere Mato +author: Eduardo Rodrigues, Pere Mato, Graeme Stewart layout: plain --- @@ -27,18 +27,14 @@ Formal endorsement is provided by the HSF SG following a short evaluation period The list of HSF Affiliated Projects and Software is hosted in a dedicated area on the HSF website, curated and maintained by the HSF SG. -The recognition of bijective engagement with the HSF is displayed via *GitHub Badges*. -Three levels distinguish mainly the level of maturity, community support and engagement: Bronze, Silver and Gold. -In broad terms, the attribution of the endorsement level is based on the following guidelines, which are detailed in the dedicated document on -[Guidelines for HSF Affiliated Projects and Software, and Endorsement Badge Levels]({{ site.baseurl }}/projects/guidelines.html). +The recognition of bijective engagement with the HSF is displayed via a [*GitHub +Badge*]({{ site.baseurl }}/projects/badges.html). This assures the community +that the project is relevant, useful and meets appropriate software quality +standards, as defined in our [guidelines]({{ site.baseurl }}/projects/guidelines.html). -* Bronze: new or young endeavour, likely evolving from and within a collaboration or experiment, but with the potential for other communities to use. It should be committed to meeting best practices in software engineering, e.g., documentation and a test suite. -* Silver: aiming for gold but in an earlier phase towards strong community support (e.g., adoption is still modest, maintenance is not secured at least in the medium term by more than a single person). High standards of software engineering should be met. -* Gold: endeavour adopted by several collaborations and/or experiments with a strong and long-term community support model. +### HSF Project Badge -### HSF Project Badges - -Links to code snippets for HSF project badges are on our [badges page]({{ site.baseurl }}/projects/badges.html). +Links to code snippets for the HSF project badge are on our [badges page]({{ site.baseurl }}/projects/badges.html). ### Annual Project Awards diff --git a/projects/guidelines.md b/projects/guidelines.md index b50af9ca2..6e3623382 100644 --- a/projects/guidelines.md +++ b/projects/guidelines.md @@ -1,13 +1,15 @@ --- title: "Affiliated Projects and Software Guidelines" -author: Eduardo Rodrigues, Pere Mato +author: Eduardo Rodrigues, Pere Mato, Graeme Stewart layout: plain -redirect_from: /project_guidelines.html --- -In a spirit of openness and flexibility, the HSF maintains an evolving checklist of best practices for HSF Affiliated Projects and Software, rather than a set of requirements. -[HSF Affiliated Projects and Software]({{ site.baseurl }}/projects/affiliated.html) need to abide by (at least a subset of) the guidelines, -which are used for their endorsement and attribution of Bronze, Silver or Gold levels of recognition. +In a spirit of openness and flexibility, the HSF maintains an evolving checklist +of best practices for HSF Affiliated Projects and Software, rather than a set of +strict requirements. [HSF Affiliated Projects and Software]({{ site.baseurl +}}/projects/affiliated.html) need to abide by at least a significant subset of +the guidelines (recognising that some may not be relevant for particular +projects). The guidelines have been created to: @@ -17,13 +19,22 @@ The guidelines have been created to: The guidelines can be updated in light of updates or release of community practices, such as those emerging from e.g. the [EVERSE project](https://everse.software). -The guidelines take inspiration from the [“old HSF page”](https://hepsoftwarefoundation.org/project_guidelines.html) and from the [Open Source Security Foundation (OpenSSF)’s page](https://www.bestpractices.dev/en/criteria). +The guidelines take inspiration from an [older HSF project page]( {{ +site.baseurl}}/project_guidelines.html) and from the [Open Source Security +Foundation (OpenSSF)’s page](https://www.bestpractices.dev/en/criteria). + +There are minimum standards that are required to be an affiliate, but beyond +that we encourage all projects to look at the criteria set out below and work +towards improvements. ## Best-practice Guidelines ### General guidelines -Any software library should strive to the following: +Generally all of the following must be met by a project to be an HSF Affiliated Project and exceptions should be justified. + +Any software library should strive to fulfil the following: + * **Availability of the code in a public repository.** The code should be accessible in anonymous read-only mode by anybody. GitHub is a very popular solution. * **A suitable name.** It is good practice to choose a new name (a unique name is better, but often difficult) or at least a name that conveys what the library is about. Avoid pre-existing trademarks for software products or services. @@ -63,117 +74,130 @@ Compliance with respect to the guidelines is provided via a "repo review” fram ([GitHub repository](https://github.com/scientific-python/repo-review)). The review can even be done [directly in a browser](https://learn.scientific-python.org/development/guides/repo-review/) for repositories hosted on GitHub! -## Endorsement Badge Levels +## Differentiated Software Best Practices + +Recognising that not all software is the same is very important to ensure that +appropriate guidelines are applied. Here we adopt roughly the *three levels of +software*, originally developed by the Australian Research Data Commons (ARDC) +and subsequently adopted by the [EVERSE Project](https://everse.software). -Three endorsement levels are defined to distinguish mainly the level of maturity, developer support, community support and engagement: Bronze, Silver and Gold. -For each level a number of requisites need to be demonstrated. -Each level adds more requisites to the previous level. -These requisites lay in three major categories: +From these levels we have developed guidelines that projects can examine to +understand typical levels of maturity, developer support, community support and +engagement. + +These guidelines lie in three major categories: * Software engineering practices followed by the project (as described in the Best-practice Guideline section and with specifics for the programming language ecosystem). * Sustainability and support structures of the project (e.g. number of active developers, discussion fora, documentation, training events, time to respond to issues, etc.) * Level of adoption of the software by experiments and other projects, hence the impact of the project. -The keywords *MUST*, *SHOULD*, *MAY* that appear in the criteria in this document are to be interpreted as described in [RFC 2119](https://datatracker.ietf.org/doc/html/rfc2119): - -* The term MUST is an absolute requirement, and MUST NOT is an absolute prohibition. -* The term SHOULD indicates a criterion that is normally required, but there may exist valid reasons in particular circumstances to ignore it. -* The term MAY provides one way something can be done, e.g., to make it clear that the described implementation may differ and be acceptable. +### Level 3 Software -### Bronze +A.k.a. *analysis code* in the 3-tier model. -The purpose of this entry level is for a young endeavour, likely evolving from and within a collaboration or experiment, but with the potential for other communities or experiments to use. At this level the category of best software practices is what is mainly required. +For the HSF we interpret this as guidelines suitable for a young endeavour, +likely evolving from and within a collaboration or experiment, but with the +potential for other communities or experiments to use. At this level the +category of best software practices is what is mainly required. #### Basics -* The project SHOULD follow general and language-specific best practices as given for example in the HSF’s Best Practice Guidelines. -* The project source code MUST reside on a version-controlled repository that is publicly readable and has a URL (e.g., GitHub, GitLab). -* The README file at the top level MUST describe what the software does (what problem does it solve?). -* The project website or repository MUST provide information on how to: +* The project should follow general and language-specific best practices as given for example in the HSF’s Best Practice Guidelines. +* The project source code should reside on a version-controlled repository that is publicly readable and has a URL (e.g., GitHub, GitLab). +* The README file at the top level should describe what the software does (what problem does it solve?). +* The project website or repository should provide information on how to: obtain, provide feedback (as bug reports or enhancements), and contribute to the software. -* The contribution process MUST be explained (e.g., are pull requests used?). -* The software MUST be released on an Open Software license. -* The project MUST post the license(s) of its results in a standard location in their source repository. +* The contribution process should be explained (e.g., are pull requests used?). +* The software should be released on an Open Software license. +* The project should post the license(s) of its results in a standard location in their source repository. #### Documentation -* The project MUST provide basic documentation for its software. -* The project MUST provide reference documentation that describes the external interface (both input and output) of the software produced by the project. -* The project MUST have one or more mechanisms for discussion (including proposed changes and issues) that are searchable, allow messages and topics to be addressed by URL, enable new people to participate in some of the discussions, and do not require client-side installation of proprietary software. -* The project MUST provide documentation in English and be able to accept bug reports and comments about code in English. +* The project should provide basic documentation for its software. +* The project should provide reference documentation that describes the external interface (both input and output) of the software produced by the project. +* The project should have one or more mechanisms for discussion (including proposed changes and issues) that are searchable, allow messages and topics to be addressed by URL, enable new people to participate in some of the discussions, and do not require client-side installation of proprietary software. +* The project should provide documentation in English and be able to accept bug reports and comments about code in English. #### Change Control -* The project's source repository MUST track what changes were made, who made the changes, and when the changes were made. -* To enable collaborative review, the project's source repository SHOULD include interim versions for review between releases; it SHOULD NOT include only final releases. -* The project results MUST have a unique version identifier for each release intended to be used by users. +* The project's source repository should track what changes were made, who made the changes, and when the changes were made. +* To enable collaborative review, the project's source repository should include interim versions for review between releases; it should not include only final releases. +* The project results should have a unique version identifier for each release intended to be used by users. We recommend using a well defined versioning scheme that is consistent with practices in your sub-domain, e.g. [Semantic Versioning](https://semver.org) or [Calendar Versioning](https://calver.org). -* The project MUST provide, in each release, release notes that are a human-readable summary of major changes in that release to help users determine if they should upgrade and what the upgrade impact will be. -* The release notes SHOULD NOT be the raw output of a version control log (e.g., the "git log" command results are not release notes). +* The project should provide, in each release, release notes that are a human-readable summary of major changes in that release to help users determine if they should upgrade and what the upgrade impact will be. +* The release notes should not be the raw output of a version control log (e.g., the "git log" command results are not release notes). #### Sustainability -* The project MUST be maintained. -* The project SHOULD have at least one long-term maintainer with a future commitment to the software of at least 1 year. -* The project MUST provide a process for users to submit bug reports (e.g., using an issue tracker or a mailing list). -* The project SHOULD use an issue tracker for tracking individual issues. -* The project SHOULD acknowledge a majority of bug reports submitted in the last 2-12 months (inclusive); the response need not include a fix. -* The project SHOULD respond to a majority (>50%) of enhancement requests in the last 2-12 months (inclusive). -* The project MUST have a publicly available archive for reports and responses for later searching. +* The project should be maintained. +* The project should have at least one long-term maintainer with a future commitment to the software of at least 1 year. +* The project should provide a process for users to submit bug reports (e.g., using an issue tracker or a mailing list). +* The project should use an issue tracker for tracking individual issues. +* The project should acknowledge a majority of bug reports submitted in the last 2-12 months (inclusive); the response need not include a fix. +* The project should respond to a majority (>50%) of enhancement requests in the last 2-12 months (inclusive). +* The project should have a publicly available archive for reports and responses for later searching. #### Level of adoption -* The software produced by the project MUST be of interest for the HEP experiments. -* The software SHOULD be adopted by at least one experiment/collaboration/project. +* The software produced by the project should be of interest for the HEP experiments. +* The software should be adopted by at least one experiment/collaboration/project. -### Silver +### Tier 2 -Are for projects aiming for Gold but in an earlier phase towards strong community support and adoption (e.g., adoption is still relatively shy, maintenance is not secured at least in the medium term by more than a single person). -High standards of software engineering should be met. -All the criteria for Bronze MUST be fulfilled, with the addition of the following criteria. +A.k.a. *prototype tools* in the 3-tier model. + +In the HSF we interpret this as projects moving towards strong +community support and adoption (e.g., adoption is still relatively shy, +maintenance is not secured at least in the medium term by more than a single +person). High standards of software engineering should be met. All the criteria +for Tier 3 should be fulfilled, with the addition of the following criteria. #### Basics -* The project MUST follow general and language-specific best practices as given for example in the HSF’s Best Practice Guidelines. +* The project should follow general and language-specific best practices as given for example in the HSF’s Best Practice Guidelines. #### Documentation -* The project MUST provide different kinds of documentation: +* The project should provide different kinds of documentation: * Basic documentation. * User documentation. * Reference manual. * Tutorials (e.g. notebooks). - * The project SHOULD provide specific training for users to use the software product. + * The project should provide specific training for users to use the software product. #### Sustainability -* The project MUST be maintained and produce at least one new release a year if there are changes and fixes that have been accumulated. -* The project MUST have at least one long-term maintainer with a future commitment to the software of at least 2 years. -* The project MUST use an issue tracker for tracking individual issues. -* The project MUST acknowledge a majority of bug reports submitted in the last 1-3 months (inclusive); the response need not include a fix. -* The project SHOULD respond to a majority (>50%) of enhancement requests in the last 1-3 months (inclusive). +* The project should be maintained and produce at least one new release a year if there are changes and fixes that have been accumulated. +* The project should have at least one long-term maintainer with a future commitment to the software of at least 2 years. +* The project should use an issue tracker for tracking individual issues. +* The project should acknowledge a majority of bug reports submitted in the last 1-3 months (inclusive); the response need not include a fix. +* The project should respond to a majority (>50%) of enhancement requests in the last 1-3 months (inclusive). #### Level of adoption -* The software MUST be adopted by at least 2 experiments/collaborations/projects. +* The software should be adopted by at least 2 experiments/collaborations/projects. + +### Tier 1 -### Gold +A.k.a. *research software infrastructure* in the 3-tier model. -HSF endorsement level for projects that are adopted by several collaborations and/or experiments with a strong and long-term community support model. -All the criteria for Silver MUST be fulfilled, with the addition of the following criteria. +This is for projects that are adopted by several collaborations and/or +experiments with a strong and long-term community support model. All the +criteria for Tier 2 should be fulfilled, with the addition of the following +criteria. #### Documentation -* The project MUST provide specific training for users to use the software product or tool on a frequency of once a year. -* The project SHOULD organise user workshops or engage in community events as a means to collect feedback from the user community. +* The project should provide specific training for users to use the software product or tool on a frequency of once a year. +* The project should organise user workshops or engage in community events as a means to collect feedback from the user community. #### Sustainability -* The project MUST be actively maintained and produce at least one new release a year if there are changes, and produce patch releases as relevant to include fixes that have been accumulated. -* The project MUST have at least 3 long-term maintainers with a future commitment to the software of at least 2 years. -* The project MUST acknowledge a majority of bug reports submitted in the last 1-4 weeks (inclusive); the response need not include a fix. -* The project MUST respond to a majority (>50%) of enhancement requests in the last 1-4 weeks (inclusive). +* The project should be actively maintained and produce at least one new release a year if there are changes, and produce patch releases as relevant to include fixes that have been accumulated. +* The project should have at least 3 long-term maintainers with a future commitment to the software of at least 2 years. +* The project should acknowledge a majority of bug reports submitted in the last 1-4 weeks (inclusive); the response need not include a fix. +* The project should respond to a majority (>50%) of enhancement requests in the last 1-4 weeks (inclusive). #### Level of adoption -* The software MUST be adopted by several (>2) large collaborations/projects and SHOULD be adopted by a number (>1) of small experiments/collaborations/projects. +* The software should be adopted by several (>2) large collaborations/projects and should be adopted by a number (>1) of small experiments/collaborations/projects. From 12eb9a3d9006280ef2113af574340f604a6fb685 Mon Sep 17 00:00:00 2001 From: Graeme A Stewart Date: Thu, 10 Jul 2025 11:59:26 +0200 Subject: [PATCH 3/8] Apply suggestions from code review Co-authored-by: Eduardo Rodrigues --- projects/affiliated.md | 2 +- projects/guidelines.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/affiliated.md b/projects/affiliated.md index d2fe5139e..54760c30f 100644 --- a/projects/affiliated.md +++ b/projects/affiliated.md @@ -29,7 +29,7 @@ The list of HSF Affiliated Projects and Software is hosted in a dedicated area o The recognition of bijective engagement with the HSF is displayed via a [*GitHub Badge*]({{ site.baseurl }}/projects/badges.html). This assures the community -that the project is relevant, useful and meets appropriate software quality +that the project/software is relevant, useful and meets appropriate software quality standards, as defined in our [guidelines]({{ site.baseurl }}/projects/guidelines.html). ### HSF Project Badge diff --git a/projects/guidelines.md b/projects/guidelines.md index 6e3623382..696713c27 100644 --- a/projects/guidelines.md +++ b/projects/guidelines.md @@ -31,7 +31,7 @@ towards improvements. ### General guidelines -Generally all of the following must be met by a project to be an HSF Affiliated Project and exceptions should be justified. +Generally, all of the following must be met by a project to be an HSF Affiliated Project, and exceptions should be justified. Any software library should strive to fulfil the following: @@ -91,7 +91,7 @@ These guidelines lie in three major categories: * Sustainability and support structures of the project (e.g. number of active developers, discussion fora, documentation, training events, time to respond to issues, etc.) * Level of adoption of the software by experiments and other projects, hence the impact of the project. -### Level 3 Software +### Tier 3 Software A.k.a. *analysis code* in the 3-tier model. From c1b5a8faa3cd352a076c55358f7b92a5f64ba85f Mon Sep 17 00:00:00 2001 From: Graeme A Stewart Date: Thu, 10 Jul 2025 11:59:50 +0200 Subject: [PATCH 4/8] Update projects/badges.md Co-authored-by: Eduardo Rodrigues --- projects/badges.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/badges.md b/projects/badges.md index 8e8c8561c..f70e29e63 100644 --- a/projects/badges.md +++ b/projects/badges.md @@ -4,7 +4,7 @@ author: Graeme Stewart layout: plain --- -HSF affiliate projects are invited to use the following badge on their repository README files. +HSF affiliated projects or software packages are invited to use the following badge on their repository README files. The badge is generated by [shields.io](https://shields.io) (thank you!), by embedding an HSF SVG logo in the request URL. From e2eaf255df6d40dd88a7dfe63f6fbdf7eae6e2d4 Mon Sep 17 00:00:00 2001 From: Graeme A Stewart Date: Thu, 10 Jul 2025 12:00:02 +0200 Subject: [PATCH 5/8] Update projects/badges.md Co-authored-by: Eduardo Rodrigues --- projects/badges.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/badges.md b/projects/badges.md index f70e29e63..8205ba97a 100644 --- a/projects/badges.md +++ b/projects/badges.md @@ -15,6 +15,6 @@ We also have a pre-cached version available and that seem to work better for top |-------|------|-----| | [HSF Affiliate](https://img.shields.io/badge/HSF-Project-AA0000?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | ![HSF Project](https://img.shields.io/badge/HSF-Project-AA0000?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | [https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Project.svg](https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Project.svg) | -These request is quite big (6109 chars), but `shields.io` doesn't seem to mind. However, issues have been found embedding the direct output from shields into a GitHub `README`, in which case used the direct cached link instead. +The display request is quite big (6109 chars), but `shields.io` doesn't seem to mind. However, issues have been found embedding the direct output from shields into a GitHub `README`, in which case used the direct cached link instead. In a previous iteration of project affiliation there were different affiliation levels proposed (bronze, silver, gold), which are now deprecated. From 3cd800d9e0a4b48369cd69675588b486b91c08e2 Mon Sep 17 00:00:00 2001 From: Eduardo Rodrigues Date: Thu, 10 Jul 2025 17:09:40 +0200 Subject: [PATCH 6/8] Add link for Australian Research Data Commons. --- projects/guidelines.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/guidelines.md b/projects/guidelines.md index 696713c27..89f757b71 100644 --- a/projects/guidelines.md +++ b/projects/guidelines.md @@ -78,7 +78,8 @@ The review can even be done [directly in a browser](https://learn.scientific-pyt Recognising that not all software is the same is very important to ensure that appropriate guidelines are applied. Here we adopt roughly the *three levels of -software*, originally developed by the Australian Research Data Commons (ARDC) +software*, originally developed by the +[Australian Research Data Commons](https://ardc.edu.au/) (ARDC) and subsequently adopted by the [EVERSE Project](https://everse.software). From these levels we have developed guidelines that projects can examine to From 559077de765f4d4980ecd96247995e6120e148e9 Mon Sep 17 00:00:00 2001 From: Graeme A Stewart Date: Fri, 11 Jul 2025 13:30:31 +0200 Subject: [PATCH 7/8] Update badge from "Project" to "Affiliated" --- images/HSF-logo/HSF-Affiliated.svg | 1 + images/HSF-logo/HSF-Project.svg | 1 - projects/badges.md | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 images/HSF-logo/HSF-Affiliated.svg delete mode 100644 images/HSF-logo/HSF-Project.svg diff --git a/images/HSF-logo/HSF-Affiliated.svg b/images/HSF-logo/HSF-Affiliated.svg new file mode 100644 index 000000000..7eb4ba582 --- /dev/null +++ b/images/HSF-logo/HSF-Affiliated.svg @@ -0,0 +1 @@ +HSF: AffiliatedHSFAffiliated \ No newline at end of file diff --git a/images/HSF-logo/HSF-Project.svg b/images/HSF-logo/HSF-Project.svg deleted file mode 100644 index e9f4fd6d1..000000000 --- a/images/HSF-logo/HSF-Project.svg +++ /dev/null @@ -1 +0,0 @@ -HSF: ProjectHSFProject \ No newline at end of file diff --git a/projects/badges.md b/projects/badges.md index 8205ba97a..92585d26a 100644 --- a/projects/badges.md +++ b/projects/badges.md @@ -13,7 +13,7 @@ We also have a pre-cached version available and that seem to work better for top {:.table .table-hover .table-condensed .table-striped} | Badge Link | Logo (shields.io) | Cached Version Link | |-------|------|-----| -| [HSF Affiliate](https://img.shields.io/badge/HSF-Project-AA0000?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | ![HSF Project](https://img.shields.io/badge/HSF-Project-AA0000?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | [https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Project.svg](https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Project.svg) | +| [HSF Affiliated](https://img.shields.io/badge/HSF-Affiliated-AA0000?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | ![HSF Affiliated](https://img.shields.io/badge/HSF-Affiliated-AA0000?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTIwbW0iCiAgIGhlaWdodD0iODBtbSIKICAgdmlld0JveD0iMCAwIDEyMCA4MCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4zICgwZTE1MGVkLCAyMDIzLTA3LTIxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaHNmLWxvZ28tc2hpZWxkLWZ1bGwuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8dGl0bGUKICAgICBpZD0idGl0bGUxIj5IU0Y6IEdvbGQgUHJvamVjdDwvdGl0bGU+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcxIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJvcGFjaXR5PSIwLjI1IgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0idHJ1ZSIKICAgICBpbmtzY2FwZTpkZXNrY29sb3I9IiNkMWQxZDEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOnpvb209IjEuMTg5MzA0NCIKICAgICBpbmtzY2FwZTpjeD0iMTkxLjcwODciCiAgICAgaW5rc2NhcGU6Y3k9IjE5Ny41OTQ0OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0NTYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODE5IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1NyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNDEiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2d1aWRlcz0idHJ1ZSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSI+CiAgICA8cmVjdAogICAgICAgeD0iMjQ1LjUyMTY3IgogICAgICAgeT0iNjM5LjAyODk5IgogICAgICAgd2lkdGg9IjMyNC41NTk0NSIKICAgICAgIGhlaWdodD0iMjUzLjkyOTk1IgogICAgICAgaWQ9InJlY3Q1IiAvPgogICAgPHJlY3QKICAgICAgIHg9IjI0NS41MjE2NyIKICAgICAgIHk9IjYzOS4wMjg5OSIKICAgICAgIHdpZHRoPSIzMjQuNTU5NDUiCiAgICAgICBoZWlnaHQ9IjI1My45Mjk5NSIKICAgICAgIGlkPSJyZWN0NiIgLz4KICA8L2RlZnM+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLXdpZHRoOjkuNTQ4NzY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDU5Ljc4ODYzNSw5Ljc3NzUzMTEgYyAwLDAgLTE4LjIxNTUwMSw1LjU0ODY2NjkgLTE4LjIyMDI0OCwxOS45OTk5OTk5IDAuMTM5MjIsMTIuMTM3MTU3IDguNjQyMzc0LDEwLjM5NzY5NCAxOC40OTgzODMsMTAuMjc4OTY2IDkuOTIwMTYzLC0wLjExOTUwMSAxNy4xODg5NzQsMS4zNzA5MzkgMTcuMjc0NzA2LDEwLjM4ODQ0MSAwLjA1NTc3LDExLjQxNDU4MiAtMTcuNTUyODQxLDE5LjMzMjU5MyAtMTcuNTUyODQxLDE5LjMzMjU5MyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NzY2MiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6ODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gNC40NDU4MzE5LDc1LjY0MTg3MiA1OS43MTczMDUsNzEuNTQwNjMyIDExNi45MDQxLDc0Ljk3NDQ2NSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjIiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJNIDIuODg4NTQ5Miw0LjAxODcxMTkgQyAzNy4xMzc2OTEsNS4zNTIwNDUgNDUuMTE2MDAyLDYuOTA3ODQ3MSA1OS43ODUwODUsOC4yNDExODAyIDgzLjgwMzY2Miw2LjkwNzg0NzEgMTEwLjkwNTc4LDUuMzUyMDQ1IDExNi42ODE2Myw0LjAxODcxMTkiCiAgICAgICBpZD0icGF0aDEiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjYyIgLz4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICB4PSIyLjYyMTQxNTEiCiAgICAgICB5PSI1Ni43OTYzOTQiCiAgICAgICBpZD0idGV4dDEiCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOTI0NTI0MTYsMS4wODE2Mzc1KSI+PHRzcGFuCiAgICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICAgIGlkPSJ0c3BhbjEiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDEzO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtmaWxsOm5vbmU7c3Ryb2tlOiNhYTAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgeD0iMi42MjE0MTUxIgogICAgICAgICB5PSI1Ni43OTYzOTQiPkg8L3RzcGFuPjwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjU3LjEyMDFweDtmb250LWZhbWlseTonQXJpYWwgTmFycm93JzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBOYXJyb3cnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2xldHRlci1zcGFjaW5nOjkuMzEzNDZweDt3b3JkLXNwYWNpbmc6MC4wNDI4NDAycHg7ZmlsbDpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS13aWR0aDo2LjQ0MTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MTtmaWxsLW9wYWNpdHk6MSIKICAgICAgIHg9Ijk0LjAzMTc2MSIKICAgICAgIHk9IjU3LjMzNTk4NyIKICAgICAgIGlkPSJ0ZXh0MS03IgogICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjkyNDUyNDE2LDEuMDgxNjM3NSkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xLTUiCiAgICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6Ni40NDE7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZTojYWEwMDAwO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxIgogICAgICAgICB4PSI5NC4wMzE3NjEiCiAgICAgICAgIHk9IjU3LjMzNTk4NyI+RjwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkhTRjogR29sZCBQcm9qZWN0PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+Cjwvc3ZnPgo=) | [HSF-Affiliated.svg](https://raw.githubusercontent.com/HSF/hsf.github.io/refs/heads/main/images/HSF-logo/HSF-Affiliated.svg) | The display request is quite big (6109 chars), but `shields.io` doesn't seem to mind. However, issues have been found embedding the direct output from shields into a GitHub `README`, in which case used the direct cached link instead. From f7986732c405f41529dd336e33851e56578561e6 Mon Sep 17 00:00:00 2001 From: Eduardo Rodrigues Date: Mon, 14 Jul 2025 14:27:38 +0200 Subject: [PATCH 8/8] Update guidelines.md --- projects/guidelines.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/guidelines.md b/projects/guidelines.md index 89f757b71..ac2b7246b 100644 --- a/projects/guidelines.md +++ b/projects/guidelines.md @@ -77,8 +77,8 @@ The review can even be done [directly in a browser](https://learn.scientific-pyt ## Differentiated Software Best Practices Recognising that not all software is the same is very important to ensure that -appropriate guidelines are applied. Here we adopt roughly the *three levels of -software*, originally developed by the +appropriate guidelines are applied. Here we adopt roughly the [*three levels of +software*](https://everse.software/RSQKit/three_tier_view), originally developed by the [Australian Research Data Commons](https://ardc.edu.au/) (ARDC) and subsequently adopted by the [EVERSE Project](https://everse.software).