A method to encrypt content using hugo shortcodes without requiring additional scripts.
有一些內容開始覺得直接放出來會不太好 (指的是蠢事,不是危險事)。
花了許多時間在想辦法不靠額外的方式去加密,因為 hugo 本身有許多限制 (沒有 AES、沒有 bitwise operation) 所以有好幾次想放棄,但後來還是透過一些方法達成。雖然不是絕對安全,但是應該是夠用了。爆破的了的話,就只好讓你看看那些蠢事了。
Usage
{{< encrypt 99 >}}
**secret** content
中文字
![圖片 ](https://lh3.googleusercontent.com/d/1tzc4vurlEWtmYHlzTUWsDo4ySM_GdVI_ )
{{< /encrypt >}}
Decrypt
Clean
RjkwMCAgICAgICAgICAgIA==-RDU0MEUxRjc4MyAgICAgIA==-NUU3MEMzRUYwNyAgICAgIA==-QTZCMEE1RDc5QSAgICAgIA==-RUVFMDg3Q0YxRSAgICAgIA==-NDcyMTY5QjdBMTEgICAgIA==-NEY1MTRCQUYyNTEgICAgIA==-MjU5MTJEOTdCODEgICAgIA==-RTBEMTBGOEYzQzEgICAgIA==-NzgwMkUwODdDRjEgICAgIA==-QzA0MkMyN0Y0MzIgICAgIA==-MkE3MkE0NjdENjIgICAgIA==-QzFCMjg2NUY1QTIgICAgIA==-MkJFMjY4NDdFRDIgICAgIA==-MTAyMzRBM0Y2MTMgICAgIA==-Qjc1MzJDMjdGNDMgICAgIA==-NjQ5MzBFMUY3ODMgICAgIA==-RUNDM0VGMDcwQzMgICAgIA==-MzUwNEMxMEY4RjMgICAgIA==-N0QzNEEzRjYxMzQgICAgIA==-RDU3NDg1RUU5NjQgICAgIA==-RERBNDY3RDYyQTQgICAgIA==-QjNFNDQ5Q0VBRDQgICAgIA==-NEExNTJCQjYzMTUgICAgIA==-RTY1NTBEQUVCNDUgICAgIA==-MTA5NUVFOTY0ODUgICAgIA==-NzhDNUMwOUVDQjUgICAgIA==-NDEwNkEyODY1RjUgICAgIA==-QzgzNjg0N0VEMjYgICAgIA==-QzE3NjY2NjY2NjYgICAgIA==-OUFBNjQ4NUVFOTYgICAgIA==-OEZENjJBNDY3RDYgICAgIA==-NUExNzBDM0VGMDcgICAgIA==-QzM1N0VEMjY4NDcgICAgIA==-Rjg4N0NGMUUwODcgICAgIA==-MkVCN0ExMTY5QjcgICAgIA==-QzA4M0QxMUUxRjcgICAgIA==-RDY5MUQzMDZBMjggICAgIA==-NDA0M0E1RkQyNjggICAgIA==-MDNBODI5RDVCOTggICAgIA==-REREODBCQ0QzRDggICAgIA==-NDcxOUVDQjVDMDkgICAgIA==-N0M0OUNFQUQ0NDkgICAgIA==-QTE4OUEwQTVENzkgICAgIA==-MUFCOTgyOUQ1QjkgICAgIA==-QTVGOTY0ODVFRTkgICAgIA==-QjAzQTQ2N0Q2MkEgICAgIA==-NTk2QTI4NjVGNUEgICAgIA==-QTFBQTBBNUQ3OUEgICAgIA==-RkFEQUVCNDUwREEgICAgIA==-MzMxQkNEM0Q4MEIgICAgIA==-REE0QkFGMjUxNEIgICAgIA==-RkU3QjgxMkQ5N0IgICAgIA==-OUJCQjYzMTUyQkIgICAgIA==-OTRGQjQ1MERBRUIgICAgIA==-NUMyQzI3RjQzMkMgICAgIA==-RTU2QzA5RUNCNUMgICAgIA==-NUU5Q0VBRDQ0OUMgICAgIA==-NjNEQ0NDQ0NDQ0MgICAgIA==-MkEwREFFQjQ1MEQgICAgIA==-RTY0RDgwQkNEM0QgICAgIA==-RUY3RDYyQTQ2N0QgICAgIA==-RDdCRDQ0OUNFQUQgICAgIA==-QjBGRDI2ODQ3RUQgICAgIA==-NzkyRTA4N0NGMUUgICAgIA==-OTE2RUU5NjQ4NUUgICAgIA==-RTU5RUNCNUMwOUUgICAgIA==-NTJERUFENDQ5Q0UgICAgIA==-NEEwRjhGM0MxMEYgICAgIA==-QTI0RjYxMzRBM0YgICAgIA==-NkI3RjQzMkMyN0YgICAgIA==-NTNCRjI1MTRCQUYgICAgIA==-QjdFRjA3MEMzRUYgICAgIA==-NTQyMEY4RjNDMTAxICAgIA==-RUM1MERBRUI0NTAxICAgIA==-RTU5MEJDRDNEODAxICAgIA==-QkVDMDlFQ0I1QzAxICAgIA==-MzYwMTcwQzNFRjAxICAgIA==-N0YzMTUyQkI2MzExICAgIA==-RTI3MTM0QTNGNjExICAgIA==-MURBMTE2OUI3QTExICAgIA==-NDJFMUY3ODMwRTExICAgIA==-MUMxMkQ5N0I4MTIxICAgIA==-ODQ1MkJCNjMxNTIxICAgIA==-RkM4MjlENUI5ODIxICAgIA==-NjVDMjdGNDMyQzIxICAgIA==-OUZGMjUxNEJBRjIxICAgIA==-OEEzMzMzMzMzMzMxICAgIA==-NDM3MzE1MkJCNjMxICAgIA==-OENBM0Y2MTM0QTMxICAgIA==-OUZEM0Q4MEJDRDMxICAgIA==-M0MxNEJBRjI1MTQxICAgIA==-MzU1NDlDRUFENDQxICAgIA==-RkM4NDdFRDI2ODQxICAgIA==-ODZDNDUwREFFQjQxICAgIA==-RkVGNDMyQzI3RjQxICAgIA==-MDQzNTE0QkFGMjUxICAgIA==-Q0E2NUY1QTI4NjUxICAgIA==-QTdBNUQ3OUEwQTUxICAgIA==-NTBFNUI5ODI5RDUxICAgIA==-NjgxNjlCN0ExMTYxICAgIA==-M0Q0NjdENjJBNDYxICAgIA==-MDk4NjVGNUEyODYxICAgIA==-MzJDNjMxNTJCQjYxICAgIA==-OUFGNjEzNEEzRjYxICAgIA==-NjMzN0Y0MzJDMjcxICAgIA==-QUE2N0Q2MkE0NjcxICAgIA==-OTNBN0I4MTJEOTcxICAgIA==-NUNENzlBMEE1RDcxICAgIA==-MzQxODdDRjFFMDgxICAgIA==-N0Q0ODVFRTk2NDgxICAgIA==-QzA4ODMwRTFGNzgxICAgIA==-NkRCODEyRDk3QjgxICAgIA==-RjVGOEYzQzEwRjgxICAgIA==-RkUyOUQ1Qjk4MjkxICAgIA==-Qzc2OUI3QTExNjkxICAgIA==-NEY5OTk5OTk5OTkxICAgIA==-ODhEOTdCODEyRDkxICAgIA==-RkIwQTVENzlBMEExICAgIA==-MjY0QTNGNjEzNEExICAgIA==-NUI3QTExNjlCN0ExICAgIA==-MjVCQUYyNTE0QkExICAgIA==-OURFQUQ0NDlDRUExICAgIA==-MDYyQkI2MzE1MkIxICAgIA==-N0U1Qjk4MjlENUIxICAgIA==-RTY5QjdBMTE2OUIxICAgIA==-NUZDQjVDMDlFQ0IxICAgIA==-QzcwQzNFRjA3MEMxICAgIA==-MzA0QzEwRjhGM0MxICAgIA==-NkE3Q0YxRTA4N0MxICAgIA==-RjVCQ0QzRDgwQkMxICAgIA==-N0VFQ0I1QzA5RUMxICAgIA==-MjcyRDk3QjgxMkQxICAgIA==-OUU1RDc5QTBBNUQxICAgIA==-Rjc5RDVCOTgyOUQxICAgIA==-REZDRDNEODBCQ0QxICAgIA==-QjgwRTFGNzgzMEUxICAgIA==-NjE0RUYwNzBDM0UxICAgIA==-NzY3RUQyNjg0N0UxICAgIA==-QUJBRUI0NTBEQUUxICAgIA==-NzVFRTk2NDg1RUUxICAgIA==-RUQxRjc4MzBFMUYxICAgIA==-NTY1RjVBMjg2NUYxICAgIA==-Q0U4RjNDMTBGOEYxICAgIA==-MzdDRjFFMDg3Q0YxICAgIA==-QUZGRkZGRkZGRkYxICAgIA==-MTgzMEUxRjc4MzAyICAgIA==-ODA3MEMzRUYwNzAyICAgIA==-RjhBMEE1RDc5QTAyICAgIA==-NjFFMDg3Q0YxRTAyICAgIA==-RDkxMTY5QjdBMTEyICAgIA==-NDI1MTRCQUYyNTEyICAgIA==-N0M4MTJEOTdCODEyICAgIA==-QjdDMTBGOEYzQzEyICAgIA==-NjAwMkUwODdDRjEyICAgIA==-NzgzMkMyN0Y0MzIyICAgIA==-N0M2MkE0NjdENjIyICAgIA==-MUFBMjg2NUY1QTIyICAgIA==-NzJFMjY4NDdFRDIyICAgIA==-RjkxMzRBM0Y2MTMyICAgIA==-MDA1MzJDMjdGNDMyICAgIA==-QzY4MzBFMUY3ODMyICAgIA==-OTNDM0VGMDcwQzMyICAgIA==-Q0NGM0MxMEY4RjMyICAgIA==-MzUzNEEzRjYxMzQyICAgIA==-NkQ2NDg1RUU5NjQyICAgIA==-MDZBNDY3RDYyQTQyICAgIA==-RUFENDQ5Q0VBRDQyICAgIA==-QTIxNTJCQjYzMTUyICAgIA==-MUI0NTBEQUVCNDUyICAgIA==-NTc4NUVFOTY0ODUyICAgIA==-OEZCNUMwOUVDQjUyICAgIA==-QTRGNUEyODY1RjUyICAgIA==-Q0MyNjg0N0VEMjYyICAgIA==-Qzg2NjY2NjY2NjYyICAgIA==-QjFBNjQ4NUVFOTYyICAgIA==-MkFENjJBNDY3RDYyICAgIA==-MTIxNzBDM0VGMDcyICAgIA==-REE0N0VEMjY4NDcyICAgIA==-RDI4N0NGMUUwODcyICAgIA==-NENCN0ExMTY5QjcyICAgIA==-OTRGNzgzMEUxRjcyICAgIA==-MkMyODY1RjVBMjgyICAgIA==-NjU2ODQ3RUQyNjgyICAgIA==-RUM5ODI5RDVCOTgyICAgIA==-MTZEODBCQ0QzRDgyICAgIA==-N0UwOUVDQjVDMDkyICAgIA==-NDc0OUNFQUQ0NDkyICAgIA==-Q0U3OUEwQTVENzkyICAgIA==-QzdCOTgyOUQ1QjkyICAgIA==-OTBGOTY0ODVFRTkyICAgIA==-QTQyQTQ2N0Q2MkEyICAgIA==-NjA2QTI4NjVGNUEyICAgIA==-OTk5QTBBNUQ3OUEyICAgIA==-RTFEQUVCNDUwREEyICAgIA==-NzYwQkNEM0Q4MEIyICAgIA==-MzI0QkFGMjUxNEIyICAgIA==-NTc3QjgxMkQ5N0IyICAgIA==-RUZBQjYzMTUyQkIyICAgIA==-OENFQjQ1MERBRUIyICAgIA==-NTUyQzI3RjQzMkMyICAgIA==-NUM1QzA5RUNCNUMyICAgIA==-RDE5Q0VBRDQ0OUMyICAgIA==-NkVDQ0NDQ0NDQ0MyICAgIA==-QzYwREFFQjQ1MEQyICAgIA==-MEYzRDgwQkNEM0QyICAgIA==-MTc3RDYyQTQ2N0QyICAgIA==-MURBRDQ0OUNFQUQyICAgIA==-QTZFRDI2ODQ3RUQyICAgIA==-RTAyRTA4N0NGMUUyICAgIA==-RTg1RUU5NjQ4NUUyICAgIA==-MTA5RUNCNUMwOUUyICAgIA==-NzdDRUFENDQ5Q0UyICAgIA==-MjIwRjhGM0MxMEYyICAgIA==-N0IzRjYxMzRBM0YyICAgIA==-ODE3RjQzMkMyN0YyICAgIA==-MEFBRjI1MTRCQUYyICAgIA==-OTJFRjA3MEMzRUYyICAgIA==-Q0MxMEY4RjNDMTAzICAgIA==-NDI1MERBRUI0NTAzICAgIA==-NkQ4MEJDRDNEODAzICAgIA==-MjJDMDlFQ0I1QzAzICAgIA==-RUVGMDcwQzNFRjAzICAgIA==-RjQzMTUyQkI2MzEzICAgIA==-MEQ2MTM0QTNGNjEzICAgIA==-OTZBMTE2OUI3QTEzICAgIA==-OEREMUY3ODMwRTEzICAgIA==-QzcxMkQ5N0I4MTIzICAgIA==-NUY0MkJCNjMxNTIzICAgIA==-RjY4MjlENUI5ODIzICAgIA==-QzBDMjdGNDMyQzIzICAgIA==-NjVGMjUxNEJBRjIzICAgIA==-QkQyMzMzMzMzMzMzICAgIA==-MUI2MzE1MkJCNjMzICAgIA==-NzNBM0Y2MTM0QTMzICAgIA==-M0JEM0Q4MEJDRDMzICAgIA==-NjQxNEJBRjI1MTQzICAgIA==-Q0M0NDlDRUFENDQzICAgIA==-OTU4NDdFRDI2ODQzICAgIA==-MURCNDUwREFFQjQzICAgIA==-QjZGNDMyQzI3RjQzICAgIA==-RUUyNTE0QkFGMjUzICAgIA==-RTY2NUY1QTI4NjUzICAgIA==-REU5NUQ3OUEwQTUzICAgIA==-RDdENUI5ODI5RDUzICAgIA==-QjAxNjlCN0ExMTYzICAgIA==-QTU0NjdENjJBNDYzICAgIA==-NkM3NjVGNUEyODYzICAgIA==-RDlCNjMxNTJCQjYzICAgIA==-NzFGNjEzNEEzRjYzICAgIA==-REEyN0Y0MzJDMjczICAgIA==-NTM2N0Q2MkE0NjczICAgIA==-OUI5N0I4MTJEOTczICAgIA==-QzNENzlBMEE1RDczICAgIA==-NTcwODdDRjFFMDgzICAgIA==-MjQ0ODVFRTk2NDgzICAgIA==-NEM3ODMwRTFGNzgzICAgIA==-NjVCODEyRDk3QjgzICAgIA==-NEVFOEYzQzEwRjgzICAgIA==-RDUyOUQ1Qjk4MjkzICAgIA==-QUI1OUI3QTExNjkzICAgIA==-ODI5OTk5OTk5OTkzICAgIA==-REFDOTdCODEyRDkzICAgIA==-NzcwQTVENzlBMEEzICAgIA==-NzA0QTNGNjEzNEEzICAgIA==-Mzg3QTExNjlCN0EzICAgIA==-QzFCQUYyNTE0QkEzICAgIA==-M0FFQUQ0NDlDRUEzICAgIA==-NEYxQkI2MzE1MkIzICAgIA==-MDY1Qjk4MjlENUIzICAgIA==-ODI5QjdBMTE2OUIzICAgIA==-MUJDQjVDMDlFQ0IzICAgIA==-MTQwQzNFRjA3MEMzICAgIA==-RUMzQzEwRjhGM0MzICAgIA==-NjQ3Q0YxRTA4N0MzICAgIA==-QURBQ0QzRDgwQkMzICAgIA==-RjBFQ0I1QzA5RUMzICAgIA==-RkQxRDk3QjgxMkQzICAgIA==-QTY1RDc5QTBBNUQzICAgIA==-QkU4RDVCOTgyOUQzICAgIA==-ODNDRDNEODBCQ0QzICAgIA==-QzAwRTFGNzgzMEUzICAgIA==-ODgzRUYwNzBDM0UzICAgIA==-RjA3RUQyNjg0N0UzICAgIA==-NDlBRUI0NTBEQUUzICAgIA==-RjBFRTk2NDg1RUUzICAgIA==-NzkxRjc4MzBFMUYzICAgIA==-ODI1RjVBMjg2NUYzICAgIA==-OEE4RjNDMTBGOEYzICAgIA==-Q0VCRjFFMDg3Q0YzICAgIA==-MTdGRkZGRkZGRkYzICAgIA==-OTMzMEUxRjc4MzA0ICAgIA==-QkM2MEMzRUYwNzA0ICAgIA==-QTVBMEE1RDc5QTA0ICAgIA==-QUFEMDg3Q0YxRTA0ICAgIA==-QjExMTY5QjdBMTE0ICAgIA==-MTExQjk5QkYyNTE0ICAgIA==-OTgxQTlCQTdCODE0ICAgIA==-MEJCMTBGOEYzQzE0ICAgIA==-MDNGMUUwODdDRjE0ICAgIA==-QkYyMkMyN0Y0MzI0ICAgIA==-Rjc2MkE0NjdENjI0ICAgIA==-OTFBMjg2NUY1QTI0ICAgIA==-RDhEMjY4NDdFRDI0ICAgIA==-MEUwMzRBM0Y2MTM0ICAgIA==-Qjk0MzJDMjdGNDM0ICAgIA==-NDI4MzBFMUY3ODM0ICAgIA==-Q0JCM0VGMDcwQzM0ICAgIA==-ODNGM0MxMEY4RjM0ICAgIA==-NUMyNEEzRjYxMzQ0ICAgIA==-QjQ2NDg1RUU5NjQ0ICAgIA==-MUE5NDY3RDYyQTQ0ICAgIA==-RDBENDQ5Q0VBRDQ0ICAgIA==-Q0UwNTJCQjYzMTU0ICAgIA==-ODY0NTBEQUVCNDU0ICAgIA==-RkU3NUVFOTY0ODU0ICAgIA==-NDdCNUMwOUVDQjU0ICAgIA==-MEJFNUEyODY1RjU0ICAgIA==-RjEyNjg0N0VEMjY0ICAgIA==-Q0I1NjY2NjY2NjY0ICAgIA==-MzQ5NjQ4NUVFOTY0ICAgIA==-QUNDNjJBNDY3RDY0ICAgIA==-MTUwNzBDM0VGMDc0ICAgIA==-OEQzN0VEMjY4NDc0ICAgIA==-RjU3N0NGMUUwODc0ICAgIA==-NkVBN0ExMTY5Qjc0ICAgIA==-RDZFNzgzMEUxRjc0ICAgIA==-NEYxODY1RjVBMjg0ICAgIA==-Qjc1ODQ3RUQyNjg0ICAgIA==-MjA5ODI5RDVCOTg0ICAgIA==-OThDODBCQ0QzRDg0ICAgIA==-MDEwOUVDQjVDMDk0ICAgIA==-NzkzOUNFQUQ0NDk0ICAgIA==-RTE3OUEwQTVENzk0ICAgIA==-NUFBOTgyOUQ1Qjk0ICAgIA==-MDhFOTY0ODVFRTk0ICAgIA==-Q0YxQTQ2N0Q2MkE0ICAgIA==-RTg1QTI4NjVGNUE0ICAgIA==-RDA5QTBBNUQ3OUE0ICAgIA==-RDhDQUVCNDUwREE0ICAgIA==-Q0VGQUNEM0Q4MEI0ICAgIA==-RDUzQkFGMjUxNEI0ICAgIA==-MzUzNUVGMkQ5N0I0ICAgIA==-QkMzNEUxMjUyQkI0ICAgIA==-MkZEQjQ1MERBRUI0ICAgIA==-MDkxQzI3RjQzMkM0ICAgIA==-M0U0QzA5RUNCNUM0ICAgIA==-MDg4Q0VBRDQ0OUM0ICAgIA==-NzBDQ0NDQ0NDQ0M0ICAgIA==-RThGQ0FFQjQ1MEQ0ICAgIA==-NTEzRDgwQkNEM0Q0ICAgIA==-Qzk2RDYyQTQ2N0Q0ICAgIA==-MzJBRDQ0OUNFQUQ0ICAgIA==-QUFERDI2ODQ3RUQ0ICAgIA==-MTMxRTA4N0NGMUU0ICAgIA==-NEQ0RUU5NjQ4NUU0ICAgIA==-RTQ4RUNCNUMwOUU0ICAgIA==-NDFDRUFENDQ5Q0U0ICAgIA==-QzlGRThGM0MxMEY0ICAgIA==-NzIzRjYxMzRBM0Y0ICAgIA==-RTk2RjQzMkMyN0Y0ICAgIA==-NDNBRjI1MTRCQUY0ICAgIA==-MkJERjA3MEMzRUY0ICAgIA==-MDQxMEY4RjNDMTA1ICAgIA==-QkM0MERBRUI0NTA1ICAgIA==-QzE4MEJDRDNEODA1ICAgIA==-RjZCMDlFQ0I1QzA1ICAgIA==-QzBGMDcwQzNFRjA1ICAgIA==-MzkyMTUyQkI2MzE1ICAgIA==-QTE2MTM0QTNGNjE1ICAgIA==-MUE5MTE2OUI3QTE1ICAgIA==-ODJEMUY3ODMwRTE1ICAgIA==-RkEwMkQ5N0I4MTI1ICAgIA==-NjM0MkJCNjMxNTI1ICAgIA==-REI3MjlENUI5ODI1ICAgIA==-MDZCMjdGNDMyQzI1ICAgIA==-NDFGMjUxNEJBRjI1ICAgIA==-RjkyMzMzMzMzMzM1ICAgIA==-MDI2MzE1MkJCNjM1ICAgIA==-MDY5M0Y2MTM0QTM1ICAgIA==-QjJEM0Q4MEJDRDM1ICAgIA==-RkEwNEJBRjI1MTQ1ICAgIA==-OTQ0NDlDRUFENDQ1ICAgIA==-REI3NDdFRDI2ODQ1ICAgIA==-MDFCNDUwREFFQjQ1ICAgIA==-RERFNDMyQzI3RjQ1ICAgIA==-MzYyNTE0QkFGMjU1ICAgIA==-QkQ1NUY1QTI4NjU1ICAgIA==-QzM5NUQ3OUEwQTU1ICAgIA==-OEFDNUI5ODI5RDU1ICAgIA==-NTcwNjlCN0ExMTY1ICAgIA==-ODA0NjdENjJBNDY1ICAgIA==-Rjg3NjVGNUEyODY1ICAgIA==-MjFCNjMxNTJCQjY1ICAgIA==-QzlFNjEzNEEzRjY1ICAgIA==-QUUxN0Y0MzJDMjc1ICAgIA==-NjY1N0Q2MkE0Njc1ICAgIA==-REU4N0I4MTJEOTc1ICAgIA==-MUJDNzlBMEE1RDc1ICAgIA==-NDMwODdDRjFFMDg1ICAgIA==-NjgzODVFRTk2NDg1ICAgIA==-ODA3ODMwRTFGNzg1ICAgIA==-OENBODEyRDk3Qjg1ICAgIA==-NzVFOEYzQzEwRjg1ICAgIA==-RUQxOUQ1Qjk4Mjk1ICAgIA==-RDU1OUI3QTExNjk1ICAgIA==-OUU4OTk5OTk5OTk1ICAgIA==-OTZDOTdCODEyRDk1ICAgIA==-MDAwQTVENzlBMEE1ICAgIA==-NTgzQTNGNjEzNEE1ICAgIA==-RUY2QTExNjlCN0E1ICAgIA==-MjlBQUYyNTE0QkE1ICAgIA==-QTBFQUQ0NDlDRUE1ICAgIA==-RDkxQkI2MzE1MkI1ICAgIA==-MzI1Qjk4MjlENUI1ICAgIA==-MEI4QjdBMTE2OUI1ICAgIA==-ODJDQjVDMDlFQ0I1ICAgIA==-OEJGQjNFRjA3MEM1ICAgIA==-NTQzQzEwRjhGM0M1ICAgIA==-Njg2Q0YxRTA4N0M1ICAgIA==-MjRBQ0QzRDgwQkM1ICAgIA==-NUREQ0I1QzA5RUM1ICAgIA==-QTUxRDk3QjgxMkQ1ICAgIA==-M0E0RDc5QTBBNUQ1ICAgIA==-RjU4RDVCOTgyOUQ1ICAgIA==-MUJCRDNEODBCQ0Q1ICAgIA==-QTNGRDFGNzgzMEU1ICAgIA==-NDAzRUYwNzBDM0U1ICAgIA==-MTk2RUQyNjg0N0U1ICAgIA==-MTBBRUI0NTBEQUU1ICAgIA==-OTVERTk2NDg1RUU1ICAgIA==-MjIxRjc4MzBFMUY1ICAgIA==-OEE0RjVBMjg2NUY1ICAgIA==-QzI4RjNDMTBGOEY1ICAgIA==-REFCRjFFMDg3Q0Y1ICAgIA==-RDBGRkZGRkZGRkY1ICAgIA==-NkEyMEUxRjc4MzA2ICAgIA==-QTQ2MEMzRUYwNzA2ICAgIA==-QUM5MEE1RDc5QTA2ICAgIA==-RDNEMDg3Q0YxRTA2ICAgIA==-M0IwMTY5QjdBMTE2ICAgIA==-RTU0MTRCQUYyNTE2ICAgIA==-M0Y3MTJEOTdCODE2ICAgIA==-NDVCMTBGOEYzQzE2ICAgIA==-Q0RFMUUwODdDRjE2ICAgIA==-NTYyMkMyN0Y0MzI2ICAgIA==-ODA2MkE0NjdENjI2ICAgIA==-MDY5Mjg2NUY1QTI2ICAgIA==-MjFEMjY4NDdFRDI2ICAgIA==-RTUwMzRBM0Y2MTM2ICAgIA==-QTI0MzJDMjdGNDM2ICAgIA==-Qjg3MzBFMUY3ODM2ICAgIA==-QzBCM0VGMDcwQzM2ICAgIA==-NUFFM0MxMEY4RjM2ICAgIA==-NDEyNEEzRjYxMzQ2ICAgIA==-OEI1NDg1RUU5NjQ2ICAgIA==-MTM5NDY3RDYyQTQ2ICAgIA==-QkFDNDQ5Q0VBRDQ2ICAgIA==-ODQwNTJCQjYzMTU2ICAgIA==-MjkzNTBEQUVCNDU2ICAgIA==-NzE3NUVFOTY0ODU2ICAgIA==-REVBNUMwOUVDQjU2ICAgIA==-MzdFNUEyODY1RjU2ICAgIA==-RkUxNjg0N0VEMjY2ICAgIA==-Mjg1NjY2NjY2NjY2ICAgIA==-ODA5NjQ4NUVFOTY2ICAgIA==-NTlDNjJBNDY3RDY2ICAgIA==-RDAwNzBDM0VGMDc2ICAgIA==-N0EzN0VEMjY4NDc2ICAgIA==-QTI3N0NGMUUwODc2ICAgIA==-QUFBN0ExMTY5Qjc2ICAgIA==-OTJFNzgzMEUxRjc2ICAgIA==-OUIxODY1RjVBMjg2ICAgIA==-NzQ1ODQ3RUQyNjg2ICAgIA==-Njk4ODI5RDVCOTg2ICAgIA==-MjBDODBCQ0QzRDg2ICAgIA==-OURGOEVDQjVDMDk2ICAgIA==-MzUzOUNFQUQ0NDk2ICAgIA==-OUU2OUEwQTVENzk2ICAgIA==-MTdBOTgyOUQ1Qjk2ICAgIA==-NUZEOTY0ODVFRTk2ICAgIA==-ODcxQTQ2N0Q2MkE2ICAgIA==-MUI0QTI4NjVGNUE2ICAgIA==-RTc4QTBBNUQ3OUE2ICAgIA==-MDBDQUVCNDUwREE2ICAgIA==-MjlGQUNEM0Q4MEI2ICAgIA==-MDIzQkFGMjUxNEI2ICAgIA==-OTk2QjgxMkQ5N0I2ICAgIA==-NkY5QjYzMTUyQkI2ICAgIA==-NDZEQjQ1MERBRUI2ICAgIA==-OUUwQzI3RjQzMkM2ICAgIA==-M0I0QzA5RUNCNUM2ICAgIA==-MzQ4Q0VBRDQ0OUM2ICAgIA==-RkJCQ0NDQ0NDQ0M2ICAgIA==-ODVGQ0FFQjQ1MEQ2ICAgIA==-RkQyRDgwQkNEM0Q2ICAgIA==-MDM2RDYyQTQ2N0Q2ICAgIA==-Qzk5RDQ0OUNFQUQ2ICAgIA==-NDZERDI2ODQ3RUQ2ICAgIA==-REUwRTA4N0NGMUU2ICAgIA==-RDc0RUU5NjQ4NUU2ICAgIA==-QTA4RUNCNUMwOUU2ICAgIA==-MjhCRUFENDQ5Q0U2ICAgIA==-NjFGRThGM0MxMEY2ICAgIA==-QjQyRjYxMzRBM0Y2ICAgIA==-QjE2RjQzMkMyN0Y2ICAgIA==-NkE5RjI1MTRCQUY2ICAgIA==-NzJERjA3MEMzRUY2ICAgIA==-NDcwMEY4RjNDMTA3ICAgIA==-ODQ0MERBRUI0NTA3ICAgIA==-NEM3MEJDRDNEODA3ICAgIA==-QjRCMDlFQ0I1QzA3ICAgIA==-MERFMDcwQzNFRjA3ICAgIA==-QjQyMTUyQkI2MzE3ICAgIA==-M0Q1MTM0QTNGNjE3ICAgIA==-NDY5MTE2OUI3QTE3ICAgIA==-NEVDMUY3ODMwRTE3ICAgIA==-NjIwMkQ5N0I4MTI3ICAgIA==-OUYzMkJCNjMxNTI3ICAgIA==-NTc3MjlENUI5ODI3ICAgIA==-NTFCMjdGNDMyQzI3ICAgIA==-QjlFMjUxNEJBRjI3ICAgIA==-NTEyMzMzMzMzMzM3ICAgIA==-Rjk1MzE1MkJCNjM3ICAgIA==-ODE5M0Y2MTM0QTM3ICAgIA==-MkFDM0Q4MEJDRDM3ICAgIA==-N0VGM0JBRjI1MTQ3ICAgIA==-QzYzNDlDRUFENDQ3ICAgIA==-NDM3NDdFRDI2ODQ3ICAgIA==-NkNBNDUwREFFQjQ3ICAgIA==-NTVFNDMyQzI3RjQ3ICAgIA==-NUExNTE0QkFGMjU3ICAgIA==-NjE1NUY1QTI4NjU3ICAgIA==-QzA1RjI2QUEwQTU3ICAgIA==-NDg1RTI4OTI5RDU3ICAgIA==-QkFGNTlCN0ExMTY3ICAgIA==-QjIzNjdENjJBNDY3ICAgIA==-NTA3NjVGNUEyODY3ICAgIA==-RDhBNjMxNTJCQjY3ICAgIA==-OTFFNjEzNEEzRjY3ICAgIA==-MzkxN0Y0MzJDMjc3ICAgIA==-MzE1N0Q2MkE0Njc3ICAgIA==-Mjc4N0I4MTJEOTc3ICAgIA==-RURCNzlBMEE1RDc3ICAgIA==-N0FGNzdDRjFFMDg3ICAgIA==-MzMzODVFRTk2NDg3ICAgIA==-NEM2ODMwRTFGNzg3ICAgIA==-ODRBODEyRDk3Qjg3ICAgIA==-QkNEOEYzQzEwRjg3ICAgIA==-NzQxOUQ1Qjk4Mjk3ICAgIA==-NkU0OUI3QTExNjk3ICAgIA==-RTI4OTk5OTk5OTk3ICAgIA==-QjlCOTdCODEyRDk3ICAgIA==-NDZGOTVENzlBMEE3ICAgIA==-NUYyQTNGNjEzNEE3ICAgIA==-Rjc2QTExNjlCN0E3ICAgIA==-QUY5QUYyNTE0QkE3ICAgIA==-OThEQUQ0NDlDRUE3ICAgIA==-MEUwQkI2MzE1MkI3ICAgIA==-RTQ0Qjk4MjlENUI3ICAgIA==-REI3QjdBMTE2OUI3ICAgIA==-QTVCQjVDMDlFQ0I3ICAgIA==-MUVFQjNFRjA3MEM3ICAgIA==-ODYyQzEwRjhGM0M3ICAgIA==-RkU1Q0YxRTA4N0M3ICAgIA==-Njc5Q0QzRDgwQkM3ICAgIA==-REZDQ0I1QzA5RUM3ICAgIA==-NDgwRDk3QjgxMkQ3ICAgIA==-QjA0RDc5QTBBNUQ3ICAgIA==-Mjk3RDVCOTgyOUQ3ICAgIA==-OTFCRDNEODBCQ0Q3ICAgIA==-MEFFRDFGNzgzMEU3ICAgIA==-NzIyRUYwNzBDM0U3ICAgIA==-NTA2RUQyNjg0N0U3ICAgIA==-RTc5RUI0NTBEQUU3ICAgIA==-MDBERTk2NDg1RUU3ICAgIA==-NzkwRjc4MzBFMUY3ICAgIA==-MjE0RjVBMjg2NUY3ICAgIA==-RTY3RjNDMTBGOEY3ICAgIA==-QURBRjFFMDg3Q0Y3ICAgIA==-MzdFRkZGRkZGRkY3ICAgIA==-NkYxMEUxRjc4MzA4ICAgIA==-RDc1MEMzRUYwNzA4ICAgIA==-NkY4MEE1RDc5QTA4ICAgIA==-QjdDMDg3Q0YxRTA4ICAgIA==-NjQwMTY5QjdBMTE4ICAgIA==-QUMzMTRCQUYyNTE4ICAgIA==-NDY3MTJEOTdCODE4ICAgIA==-OERBMTBGOEYzQzE4ICAgIA==-QjJFMUUwODdDRjE4ICAgIA==-NkUxMkMyN0Y0MzI4ICAgIA==-RjY1MkE0NjdENjI4ICAgIA==-NzA5Mjg2NUY1QTI4ICAgIA==-MzhDMjY4NDdFRDI4ICAgIA==-MDEwMzRBM0Y2MTM4ICAgIA==-NjkzMzJDMjdGNDM4ICAgIA==-Q0U2MzBFMUY3ODM4ICAgIA==-ODVBM0VGMDcwQzM4ICAgIA==-NzNFM0MxMEY4RjM4ICAgIA==-M0IxNEEzRjYxMzQ4ICAgIA==-QTM1NDg1RUU5NjQ4ICAgIA==-RkI4NDY3RDYyQTQ4ICAgIA==-QkZCNDQ5Q0VBRDQ4ICAgIA==-MDhGNDJCQjYzMTU4ICAgIA==-QjUzNTBEQUVCNDU4ICAgIA==-N0Q2NUVFOTY0ODU4ICAgIA==-OTZBNUMwOUVDQjU4ICAgIA==-OEVENUEyODY1RjU4ICAgIA==-ODYxNjg0N0VEMjY4ICAgIA==-N0M0NjY2NjY2NjY4ICAgIA==-ODM4NjQ4NUVFOTY4ICAgIA==-RTI4MDg4NTY3RDY4ICAgIA==-NkE4RjdBNEVGMDc4ICAgIA==-REMyN0VEMjY4NDc4ICAgIA==-RDQ2N0NGMUUwODc4ICAgIA==-M0U5N0ExMTY5Qjc4ICAgIA==-OTdENzgzMEUxRjc4ICAgIA==-Q0MwODY1RjVBMjg4ICAgIA==-OTY0ODQ3RUQyNjg4ICAgIA==-MEY3ODI5RDVCOTg4ICAgIA==-NzdCODBCQ0QzRDg4ICAgIA==-RUZFOEVDQjVDMDk4ICAgIA==-MUEyOUNFQUQ0NDk4ICAgIA==-QjE2OUEwQTVENzk4ICAgIA==-N0Q5OTgyOUQ1Qjk4ICAgIA==-MzZEOTY0ODVFRTk4ICAgIA==-N0YwQTQ2N0Q2MkE4ICAgIA==-NjQ0QTI4NjVGNUE4ICAgIA==-OTk3QTBBNUQ3OUE4ICAgIA==-NjNCQUVCNDUwREE4ICAgIA==-REJFQUNEM0Q4MEI4ICAgIA==-NDQyQkFGMjUxNEI4ICAgIA==-QkM1QjgxMkQ5N0I4ICAgIA==-RTY5QjYzMTUyQkI4ICAgIA==-RjFEQjQ1MERBRUI4ICAgIA==-OUEwQzI3RjQzMkM4ICAgIA==-RTI0QzA5RUNCNUM4ICAgIA==-MUI3Q0VBRDQ0OUM4ICAgIA==-NjNCQ0NDQ0NDQ0M4ICAgIA==-Q0NFQ0FFQjQ1MEQ4ICAgIA==-NzUyRDgwQkNEM0Q4ICAgIA==-M0Q1RDYyQTQ2N0Q4ICAgIA==-MDY5RDQ0OUNFQUQ4ICAgIA==-NkVDRDI2ODQ3RUQ4ICAgIA==-RjEwRTA4N0NGMUU4ICAgIA==-OUUzRUU5NjQ4NUU4ICAgIA==-OTc3RUNCNUMwOUU4ICAgIA==-NUZBRUFENDQ5Q0U4ICAgIA==-RThFRThGM0MxMEY4ICAgIA==-NTEyRjYxMzRBM0Y4ICAgIA==-NjY1RjQzMkMyN0Y4ICAgIA==-MkQ4RjI1MTRCQUY4ICAgIA==-QTlDRjA3MEMzRUY4ICAgIA==-MzIwMEY4RjNDMTA5ICAgIA==-M0IzMERBRUI0NTA5ICAgIA==-MDQ3MEJDRDNEODA5ICAgIA==-OEJBMDlFQ0I1QzA5ICAgIA==-QzRFMDcwQzNFRjA5ICAgIA==-MzgxMTUyQkI2MzE5ICAgIA==-ODA1MTM0QTNGNjE5ICAgIA==-MkU4MTE2OUI3QTE5ICAgIA==-QTZDMUY3ODMwRTE5ICAgIA==-NkZGMUQ5N0I4MTI5ICAgIA==-MDczMkJCNjMxNTI5ICAgIA==-MEY2MjlENUI5ODI5ICAgIA==-RjRBMjdGNDMyQzI5ICAgIA==-QkJEMjUxNEJBRjI5ICAgIA==-RDgxMzMzMzMzMzM5ICAgIA==-ODA1MzE1MkJCNjM5ICAgIA==-NkE4M0Y2MTM0QTM5ICAgIA==-MkVCM0Q4MEJDRDM5ICAgIA==-M0JGM0JBRjI1MTQ5ICAgIA==-QzIzNDlDRUFENDQ5ICAgIA==-RUE2NDdFRDI2ODQ5ICAgIA==-NTRBNDUwREFFQjQ5ICAgIA==-MENENDMyQzI3RjQ5ICAgIA==-OTExNTE0QkFGMjU5ICAgIA==-QTk0NUY1QTI4NjU5ICAgIA==-RDE4NUQ3OUEwQTU5ICAgIA==-NEFCNUI5ODI5RDU5ICAgIA==-QjZGNTlCN0ExMTY5ICAgIA==-QUYyNjdENjJBNDY5ICAgIA==-NDQ2NjVGNUEyODY5ICAgIA==-MkI5NjMxNTJCQjY5ICAgIA==-NTVENjEzNEEzRjY5ICAgIA==-OEEwN0Y0MzJDMjc5ICAgIA==-NTQ0N0Q2MkE0Njc5ICAgIA==-Q0M3N0I4MTJEOTc5ICAgIA==-MzVCNzlBMEE1RDc5ICAgIA==-QURFNzdDRjFFMDg5ICAgIA==-MTYyODVFRTk2NDg5ICAgIA==-OEU1ODMwRTFGNzg5ICAgIA==-RjY5ODEyRDk3Qjg5ICAgIA==-NkZDOEYzQzEwRjg5ICAgIA==-OTkwOUQ1Qjk4Mjk5ICAgIA==-NzQ0OUI3QTExNjk5ICAgIA==-MEQ3OTk5OTk5OTk5ICAgIA==-MDZCOTdCODEyRDk5ICAgIA==-REVFOTVENzlBMEE5ICAgIA==-NTYyQTNGNjEzNEE5ICAgIA==-OUY1QTExNjlCN0E5ICAgIA==-RTI5QUYyNTE0QkE5ICAgIA==-OEZDQUQ0NDlDRUE5ICAgIA==-ODgwQkI2MzE1MkI5ICAgIA==-NDA0Qjk4MjlENUI5ICAgIA==-RDk3QjdBMTE2OUI5ICAgIA==-NDJCQjVDMDlFQ0I5ICAgIA==-NTdFQjNFRjA3MEM5ICAgIA==-MUUxQzEwRjhGM0M5ICAgIA==-OUE1Q0YxRTA4N0M5ICAgIA==-RTI5Q0QzRDgwQkM5ICAgIA==-NENDQ0I1QzA5RUM5ICAgIA==-RjQwRDk3QjgxMkQ5ICAgIA==-QkMzRDc5QTBBNUQ5ICAgIA==-ODU3RDVCOTgyOUQ5ICAgIA==-RURBRDNEODBCQ0Q5ICAgIA==-NDJFRDFGNzgzMEU5ICAgIA==-MkYxRUYwNzBDM0U5ICAgIA==-QTY1RUQyNjg0N0U5ICAgIA==-NDA5RUI0NTBEQUU5ICAgIA==-NzhDRTk2NDg1RUU5ICAgIA==-Q0JGRTc4MzBFMUY5ICAgIA==-MTQzRjVBMjg2NUY5ICAgIA==-QjE3RjNDMTBGOEY5ICAgIA==-M0FBRjFFMDg3Q0Y5ICAgIA==-RjJFRkZGRkZGRkY5ICAgIA==-OUExMEUxRjc4MzBBICAgIA==-OTI1MEMzRUYwNzBBICAgIA==-ODg4MEE1RDc5QTBBICAgIA==-NEZCMDg3Q0YxRTBBICAgIA==-NkNGMDY5QjdBMTFBICAgIA==-MTQzMTRCQUYyNTFBICAgIA==-OUQ2MTJEOTdCODFBICAgIA==-NTVBMTBGOEYzQzFBICAgIA==-RUREMUUwODdDRjFBICAgIA==-QTYxMkMyN0Y0MzJBICAgIA==-REI0MkE0NjdENjJBICAgIA==-QTI4Mjg2NUY1QTJBICAgIA==-MUNCMjY4NDdFRDJBICAgIA==-ODNGMjRBM0Y2MTNBICAgIA==-REMyMzJDMjdGNDNBICAgIA==-OTU2MzBFMUY3ODNBICAgIA==-RjFBM0VGMDcwQzNBICAgIA==-OTlEM0MxMEY4RjNBICAgIA==-ODIxNEEzRjYxMzRBICAgIA==-MjY0NDg1RUU5NjRBICAgIA==-OUY3NDY3RDYyQTRBICAgIA==-QjhCNDQ5Q0VBRDRBICAgIA==-OUZFNDJCQjYzMTVBICAgIA==-QzkyNTBEQUVCNDVBICAgIA==-RkU1NUVFOTY0ODVBICAgIA==-Qzg5NUMwOUVDQjVBICAgIA==-MzFENUEyODY1RjVBICAgIA==-QTkwNjg0N0VEMjZBICAgIA==-MTI0NjY2NjY2NjZBICAgIA==-OEE3NjQ4NUVFOTZBICAgIA==-RjJCNjJBNDY3RDZBICAgIA==-NkJFNjBDM0VGMDdBICAgIA==-RDMyN0VEMjY4NDdBICAgIA==-NEM1N0NGMUUwODdBICAgIA==-QjQ5N0ExMTY5QjdBICAgIA==-MkRDNzgzMEUxRjdBICAgIA==-OTUwODY1RjVBMjhBICAgIA==-QUMzODQ3RUQyNjhBICAgIA==-NzY3ODI5RDVCOThBICAgIA==-RUVBODBCQ0QzRDhBICAgIA==-NTdFOEVDQjVDMDlBICAgIA==-Q0YxOUNFQUQ0NDlBICAgIA==-Mzg1OUEwQTVENzlBICAgIA==-QTA5OTgyOUQ1QjlBICAgIA==-MTlDOTY0ODVFRTlBICAgIA==-ODEwQTQ2N0Q2MkFBICAgIA==-RjkzQTI4NjVGNUFBICAgIA==-NjI3QTBBNUQ3OUFBICAgIA==-REFBQUVCNDUwREFBICAgIA==-NDNFQUNEM0Q4MEJBICAgIA==-N0QxQkFGMjUxNEJBICAgIA==-Mjk1QjgxMkQ5N0JBICAgIA==-OUM4QjYzMTUyQkJBICAgIA==-M0FDQjQ1MERBRUJBICAgIA==-QjIwQzI3RjQzMkNBICAgIA==-N0IzQzA5RUNCNUNBICAgIA==-MTM3Q0VBRDQ0OUNBICAgIA==-MUJBQ0NDQ0NDQ0NBICAgIA==-MDFFQ0FFQjQ1MERBICAgIA==-QzcxRDgwQkNEM0RBICAgIA==-RTQ1RDYyQTQ2N0RBICAgIA==-OUM4RDQ0OUNFQURBICAgIA==-MTZDRDI2ODQ3RURBICAgIA==-RERGRDA4N0NGMUVBICAgIA==-NjYzRUU5NjQ4NUVBICAgIA==-MkY2RUNCNUMwOUVBICAgIA==-NTRBRUFENDQ5Q0VBICAgIA==-MkJERThGM0MxMEZBICAgIA==-NzQxRjYxMzRBM0ZBICAgIA==-NUQ0RjQzMkMyN0ZBICAgIA==-OTk4RjI1MTRCQUZBICAgIA==-MzFDRjA3MEMzRUZBICAgIA==-MkFGRkU4RjNDMTBCICAgIA==-Q0QyMERBRUI0NTBCICAgIA==-Mzc2MEJDRDNEODBCICAgIA==-QUU5MDlFQ0I1QzBCICAgIA==-MThEMDcwQzNFRjBCICAgIA==-MzExMTUyQkI2MzFCICAgIA==-MTg0MTM0QTNGNjFCICAgIA==-NDI4MTE2OUI3QTFCICAgIA==-MzA4QjQ2OTMwRTFCICAgIA==-Qjc4QTQ4OEI4MTJCICAgIA==-N0IyMkJCNjMxNTJCICAgIA==-MTM2MjlENUI5ODJCICAgIA==-OUY5MjdGNDMyQzJCICAgIA==-RTREMjUxNEJBRjJCICAgIA==-MUEwMzMzMzMzMzNCICAgIA==-RTM0MzE1MkJCNjNCICAgIA==-NUM3M0Y2MTM0QTNCICAgIA==-QzRCM0Q4MEJDRDNCICAgIA==-M0RFM0JBRjI1MTRCICAgIA==-QTUyNDlDRUFENDRCICAgIA==-MUU1NDdFRDI2ODRCICAgIA==-ODY5NDUwREFFQjRCICAgIA==-RkVDNDMyQzI3RjRCICAgIA==-NjcwNTE0QkFGMjVCICAgIA==-REYzNUY1QTI4NjVCICAgIA==-NDg3NUQ3OUEwQTVCICAgIA==-QjBCNUI5ODI5RDVCICAgIA==-QzdFNTlCN0ExMTZCICAgIA==-OTEyNjdENjJBNDZCICAgIA==-MEE1NjVGNUEyODZCICAgIA==-NzI5NjMxNTJCQjZCICAgIA==-RUFDNjEzNEEzRjZCICAgIA==-NTMwN0Y0MzJDMjdCICAgIA==-Q0IzN0Q2MkE0NjdCICAgIA==-MzQ3N0I4MTJEOTdCICAgIA==-QUNBNzlBMEE1RDdCICAgIA==-MTVFNzdDRjFFMDhCICAgIA==-OEQxODVFRTk2NDhCICAgIA==-RjU1ODMwRTFGNzhCICAgIA==-NkU4ODEyRDk3QjhCICAgIA==-NzVDOEYzQzEwRjhCICAgIA==-NEZGOEQ1Qjk4MjlCICAgIA==-QjczOUI3QTExNjlCICAgIA==-MjA3OTk5OTk5OTlCICAgIA==-OThBOTdCODEyRDlCICAgIA==-MDFFOTVENzlBMEFCICAgIA==-NzkxQTNGNjEzNEFCICAgIA==-RTE1QTExNjlCN0FCICAgIA==-NUE4QUYyNTE0QkFCICAgIA==-QzJDQUQ0NDlDRUFCICAgIA==-M0JGQUI2MzE1MkJCICAgIA==-QTMzQjk4MjlENUJCICAgIA==-MUM2QjdBMTE2OUJCICAgIA==-NDZBQjVDMDlFQ0JCICAgIA==-NTFFQjNFRjA3MENCICAgIA==-NUExQzEwRjhGM0NCICAgIA==-QjI1Q0YxRTA4N0NCICAgIA==-OEI4Q0QzRDgwQkNCICAgIA==-QkVCQ0I1QzA5RUNCICAgIA==-NUJGQzk3QjgxMkRCICAgIA==-NTQzRDc5QTBBNURCICAgIA==-MUM2RDVCOTgyOURCICAgIA==-QTVBRDNEODBCQ0RCICAgIA==-MUVERDFGNzgzMEVCICAgIA==-MjMxRUYwNzBDM0VCICAgIA==-RTk0RUQyNjg0N0VCICAgIA==-NzY4RUI0NTBEQUVCICAgIA==-OUZCRTk2NDg1RUVCICAgIA==-NjhGRTc4MzBFMUZCICAgIA==-MTEzRjVBMjg2NUZCICAgIA==-ODg2RjNDMTBGOEZCICAgIA==-NDFBRjFFMDg3Q0ZCICAgIA==-RDRERkZGRkZGRkZCICAgIA==-QzExMEUxRjc4MzBDICAgIA==-QUE0MEMzRUYwNzBDICAgIA==-ODM4MEE1RDc5QTBDICAgIA==-RUFCMDg3Q0YxRTBDICAgIA==-MjRGMDY5QjdBMTFDICAgIA==-NDgyMTRCQUYyNTFDICAgIA==-MTU2MTJEOTdCODFDICAgIA==-REM5MTBGOEYzQzFDICAgIA==-QjVEMUUwODdDRjFDICAgIA==-QUUwMkMyN0Y0MzJDICAgIA==-QzE0MkE0NjdENjJDICAgIA==-RkI3Mjg2NUY1QTJDICAgIA==-MjFCMjY4NDdFRDJDICAgIA==-RkFFMjRBM0Y2MTNDICAgIA==-NjMyMzJDMjdGNDNDICAgIA==-REI1MzBFMUY3ODNDICAgIA==-NDQ5M0VGMDcwQzNDICAgIA==-QkNDM0MxMEY4RjNDICAgIA==-MjUwNEEzRjYxMzRDICAgIA==-OUQzNDg1RUU5NjRDICAgIA==-MDY3NDY3RDYyQTRDICAgIA==-N0VBNDQ5Q0VBRDRDICAgIA==-RTZFNDJCQjYzMTVDICAgIA==-NUYxNTBEQUVCNDVDICAgIA==-Qzc1NUVFOTY0ODVDICAgIA==-MzA5NUMwOUVDQjVDICAgIA==-QThDNUEyODY1RjVDICAgIA==-MTEwNjg0N0VEMjZDICAgIA==-ODkzNjY2NjY2NjZDICAgIA==-QjM3NjQ4NUVFOTZDICAgIA==-N0VBNjJBNDY3RDZDICAgIA==-RDJFNjBDM0VGMDdDICAgIA==-Q0YxN0VEMjY4NDdDICAgIA==-RDg1N0NGMUUwODdDICAgIA==-NzA5N0ExMTY5QjdDICAgIA==-RjhDNzgzMEUxRjdDICAgIA==-REVGNzY1RjVBMjhDICAgIA==-OTUzODQ3RUQyNjhDICAgIA==-NjI3ODI5RDVCOThDICAgIA==-OUJBODBCQ0QzRDhDICAgIA==-MDRFOEVDQjVDMDlDICAgIA==-M0MxOUNFQUQ0NDlDICAgIA==-RDQ1OUEwQTVENzlDICAgIA==-Qjk4OTgyOUQ1QjlDICAgIA==-NzFDOTY0ODVFRTlDICAgIA==-RTlGOTQ2N0Q2MkFDICAgIA==-MjYzQTI4NjVGNUFDICAgIA==-NUU2QTBBNUQ3OUFDICAgIA==-NzNBQUVCNDUwREFDICAgIA==-OUJEQUNEM0Q4MEJDICAgIA==-OTcxQkFGMjUxNEJDICAgIA==-ODA1QjgxMkQ5N0JDICAgIA==-Rjg4QjYzMTUyQkJDICAgIA==-RTBDQjQ1MERBRUJDICAgIA==-QTlGQjI3RjQzMkNDICAgIA==-QTEzQzA5RUNCNUNDICAgIA==-MUI2Q0VBRDQ0OUNDICAgIA==-NjNBQ0NDQ0NDQ0NDICAgIA==-RkFEQ0FFQjQ1MERDICAgIA==-MzQxRDgwQkNEM0RDICAgIA==-QkI0RDYyQTQ2N0RDICAgIA==-RTQ4RDQ0OUNFQURDICAgIA==-NERCRDI2ODQ3RURDICAgIA==-MTZGRDA4N0NGMUVDICAgIA==-OUQyRUU5NjQ4NUVDICAgIA==-OTY2RUNCNUMwOUVDICAgIA==-NkY5RUFENDQ5Q0VDICAgIA==-NzNERThGM0MxMEZDICAgIA==-M0YwRjYxMzRBM0ZDICAgIA==-Njg0RjQzMkMyN0ZDICAgIA==-QjA4RjI1MTRCQUZDICAgIA==-NDVCRjA3MEMzRUZDICAgIA==-MDFGRkU4RjNDMTBEICAgIA==-MjYyMERBRUI0NTBEICAgIA==-QkU1MEJDRDNEODBEICAgIA==-NUI5MDlFQ0I1QzBEICAgIA==-MjREMDcwQzNFRjBEICAgIA==-MkIwMTUyQkI2MzFEICAgIA==-QTA0MTM0QTNGNjFEICAgIA==-M0Q3MTE2OUI3QTFEICAgIA==-OTVCMUY3ODMwRTFEICAgIA==-RERFMUQ5N0I4MTJEICAgIA==-RTUyMkJCNjMxNTJEICAgIA==-RUI1MjlENUI5ODJEICAgIA==-NzU5MjdGNDMyQzJEICAgIA==-QkZDMjUxNEJBRjJEICAgIA==-QjcwMzMzMzMzMzNEICAgIA==-RUUzMzE1MkJCNjNEICAgIA==-NDY3M0Y2MTM0QTNEICAgIA==-RjBCM0Q4MEJDRDNEICAgIA==-NEFFM0JBRjI1MTREICAgIA==-NTAyNDlDRUFENDREICAgIA==-RDg1NDdFRDI2ODREICAgIA==-NjE5NDUwREFFQjREICAgIA==-OUJDNDMyQzI3RjREICAgIA==-MTEwNTE0QkFGMjVEICAgIA==-M0MzNUY1QTI4NjVEICAgIA==-RjA3NUQ3OUEwQTVEICAgIA==-QkRBNUI5ODI5RDVEICAgIA==-QzNFNTlCN0ExMTZEICAgIA==-REIxNjdENjJBNDZEICAgIA==-NjU1NjVGNUEyODZEICAgIA==-NUM4NjMxNTJCQjZEICAgIA==-OTZDNjEzNEEzRjZEICAgIA==-MkVGNkY0MzJDMjdEICAgIA==-QzUzN0Q2MkE0NjdEICAgIA==-OUY2N0I4MTJEOTdEICAgIA==-MzRBNzlBMEE1RDdEICAgIA==-OENENzdDRjFFMDhEICAgIA==-M0ExODVFRTk2NDhEICAgIA==-NzE1ODMwRTFGNzhEICAgIA==-RkE4ODEyRDk3QjhEICAgIA==-QjJDOEYzQzEwRjhEICAgIA==-MEJGOEQ1Qjk4MjlEICAgIA==-NjQzOUI3QTExNjlEICAgIA==-Njk2OTk5OTk5OTlEICAgIA==-MjBBOTdCODEyRDlEICAgIA==-NkNEOTVENzlBMEFEICAgIA==-MDUxQTNGNjEzNEFEICAgIA==-MUU0QTExNjlCN0FEICAgIA==-RDU4QUYyNTE0QkFEICAgIA==-MUZCQUQ0NDlDRUFEICAgIA==-NTdGQUI2MzE1MkJEICAgIA==-M0IyQjk4MjlENUJEICAgIA==-ODM2QjdBMTE2OUJEICAgIA==-MTFBQjVDMDlFQ0JEICAgIA==-QjhEQjNFRjA3MENEICAgIA==-OTExQzEwRjhGM0NEICAgIA==-MTc0Q0YxRTA4N0NEICAgIA==-REQ3Q0QzRDgwQkNEICAgIA==-MEJCQ0I1QzA5RUNEICAgIA==-ODNGQzk3QjgxMkREICAgIA==-MkMyRDc5QTBBNUREICAgIA==-QzM2RDVCOTgyOUREICAgIA==-NEM5RDNEODBCQ0REICAgIA==-QTRERDFGNzgzMEVEICAgIA==-RUQwRUYwNzBDM0VEICAgIA==-NTY0RUQyNjg0N0VEICAgIA==-RkQ3RUI0NTBEQUVEICAgIA==-MzdCRTk2NDg1RUVEICAgIA==-OEFFRTc4MzBFMUZEICAgIA==-RDcyRjVBMjg2NUZEICAgIA==-NTA2RjNDMTBGOEZEICAgIA==-Qzg5RjFFMDg3Q0ZEICAgIA==-NDFERkZGRkZGRkZEICAgIA==-MDkwMEUxRjc4MzBFICAgIA==-MDI0MEMzRUYwNzBFICAgIA==-RTk3MEE1RDc5QTBFICAgIA==-MjNCMDg3Q0YxRTBFICAgIA==-OTZFMDY5QjdBMTFFICAgIA==-OEQxMTRCQUYyNTFFICAgIA==-NTc1MTJEOTdCODFFICAgIA==-Q0Y4MTBGOEYzQzFFICAgIA==-MzhDMUUwODdDRjFFICAgIA==-QTAwMkMyN0Y0MzJFICAgIA==-MTkzMkE0NjdENjJFICAgIA==-ODE3Mjg2NUY1QTJFICAgIA==-RjlBMjY4NDdFRDJFICAgIA==-NjJFMjRBM0Y2MTNFICAgIA==-REExMzJDMjdGNDNFICAgIA==-NDM1MzBFMUY3ODNFICAgIA==-QkI4M0VGMDcwQzNFICAgIA==-MjRDM0MxMEY4RjNFICAgIA==-OUNGM0EzRjYxMzRFICAgIA==-MDUzNDg1RUU5NjRFICAgIA==-N0Q2NDY3RDYyQTRFICAgIA==-RTVBNDQ5Q0VBRDRFICAgIA==-NUVENDJCQjYzMTVFICAgIA==-QzYxNTBEQUVCNDVFICAgIA==-M0Y0NUVFOTY0ODVFICAgIA==-QTc4NUMwOUVDQjVFICAgIA==-NDVDNUEyODY1RjVFICAgIA==-Q0RGNTg0N0VEMjZFICAgIA==-ODYzNjY2NjY2NjZFICAgIA==-MkU2NjQ4NUVFOTZFICAgIA==-MjZBNjJBNDY3RDZFICAgIA==-MUNENjBDM0VGMDdFICAgIA==-RDIxN0VEMjY4NDdFICAgIA==-MTA1N0NGMUUwODdFICAgIA==-OTg4N0ExMTY5QjdFICAgIA==-MTBDNzgzMEUxRjdFICAgIA==-QThGNzY1RjVBMjhFICAgIA==-NzEzODQ3RUQyNjhFICAgIA==-OUE2ODI5RDVCOThFICAgIA==-NTNBODBCQ0QzRDhFICAgIA==-RDdEOEVDQjVDMDlFICAgIA==-QUUwOUNFQUQ0NDlFICAgIA==-Mjg0OUEwQTVENzlFICAgIA==-NjA4OTgyOUQ1QjlFICAgIA==-RjhCOTY0ODVFRTlFICAgIA==-MTJGOTQ2N0Q2MkFFICAgIA==-RDgyQTI4NjVGNUFFICAgIA==-ODY2QTBBNUQ3OUFFICAgIA==-MEU5QUVCNDUwREFFICAgIA==-QTdEQUNEM0Q4MEJFICAgIA==-REYwQkFGMjUxNEJFICAgIA==-RDM0QjgxMkQ5N0JFICAgIA==-QkY3QjYzMTUyQkJFICAgIA==-MzhCQjQ1MERBRUJFICAgIA==-ODBGQjI3RjQzMkNFICAgIA==-QjkyQzA5RUNCNUNFICAgIA==-NTI2Q0VBRDQ0OUNFICAgIA==-Qjk5Q0NDQ0NDQ0NFICAgIA==-NTNEQ0FFQjQ1MERFICAgIA==-MUIwRDgwQkNEM0RFICAgIA==-RTM0RDYyQTQ2N0RFICAgIA==-NEM3RDQ0OUNFQURFICAgIA==-NzFCRDI2ODQ3RURFICAgIA==-NDhFRDA4N0NGMUVFICAgIA==-OTUyRUU5NjQ4NUVFICAgIA==-MUU1RUNCNUMwOUVFICAgIA==-NzY5RUFENDQ5Q0VFICAgIA==-NUVDRThGM0MxMEZFICAgIA==-MjQwRjYxMzRBM0ZFICAgIA==-MEIzRjQzMkMyN0ZFICAgIA==-MzU3RjI1MTRCQUZFICAgIA==-QkVBRjA3MEMzRUZFICAgIA==-ODlFRkU4RjNDMTBGICAgIA==-OUYxMERBRUI0NTBGICAgIA==-RDY1MEJDRDNEODBGICAgIA==-N0U4MDlFQ0I1QzBGICAgIA==-MEFDMDcwQzNFRjBGICAgIA==-NDAwMTUyQkI2MzFGICAgIA==-NzUzMTM0QTNGNjFGICAgIA==-NEY2MTE2OUI3QTFGICAgIA==-QjdBMUY3ODMwRTFGICAgIA==-MjBFMUQ5N0I4MTJGICAgIA==-OTgxMkJCNjMxNTJGICAgIA==-MDE1MjlENUI5ODJGICAgIA==-Nzk4MjdGNDMyQzJGICAgIA==-RTFDMjUxNEJBRjJGICAgIA==-NUFGMjMzMzMzMzNGICAgIA==-QzIzMzE1MkJCNjNGICAgIA==-M0I2M0Y2MTM0QTNGICAgIA==-QTNBM0Q4MEJDRDNGICAgIA==-MUNEM0JBRjI1MTRGICAgIA==-NDYxNDlDRUFENDRGICAgIA==-RUQ0NDdFRDI2ODRGICAgIA==-Qzk4NDUwREFFQjRGICAgIA==-QzJDNDMyQzI3RjRGICAgIA==-MkJGNDE0QkFGMjVGICAgIA==-RjMzNUY1QTI4NjVGICAgIA==-MDk2NUQ3OUEwQTVGICAgIA==-M0U5NUI5ODI5RDVGICAgIA==-MDhENTlCN0ExMTZGICAgIA==-NzAxNjdENjJBNDZGICAgIA==-RTg0NjVGNUEyODZGICAgIA==-NTE4NjMxNTJCQjZGICAgIA==-QzlCNjEzNEEzRjZGICAgIA==-MzJGNkY0MzJDMjdGICAgIA==-QUEyN0Q2MkE0NjdGICAgIA==-MTM2N0I4MTJEOTdGICAgIA==-NEQ5NzlBMEE1RDdGICAgIA==-RTRENzdDRjFFMDhGICAgIA==-OTAxODVFRTk2NDhGICAgIA==-Mjk0ODMwRTFGNzhGICAgIA==-MjI4ODEyRDk3QjhGICAgIA==-RkFCOEYzQzEwRjhGICAgIA==-NzJGOEQ1Qjk4MjlGICAgIA==-QkIyOUI3QTExNjlGICAgIA==-RTA2OTk5OTk5OTlGICAgIA==-MTY5OTdCODEyRDlGICAgIA==-RUZDOTVENzlBMEFGICAgIA==-NTgwQTNGNjEzNEFGICAgIA==-QzA0QTExNjlCN0FGICAgIA==-Mzk3QUYyNTE0QkFGICAgIA==-NjNCQUQ0NDlDRUFGICAgIA==-MEJFQUI2MzE1MkJGICAgIA==-RTYyQjk4MjlENUJGICAgIA==-OEY1QjdBMTE2OUJGICAgIA==-RDc5QjVDMDlFQ0JGICAgIA==-MDBEQjNFRjA3MENGICAgIA==-NTgwQzEwRjhGM0NGICAgIA==-QjE0Q0YxRTA4N0NGICAgIA==-NkE3Q0QzRDgwQkNGICAgIA==-MjJCQ0I1QzA5RUNGICAgIA==-RkFFQzk3QjgxMkRGICAgIA==-NTMyRDc5QTBBNURGICAgIA==-Qzg1RDVCOTgyOURGICAgIA==-RkQ4RDNEODBCQ0RGICAgIA==-ODlDRDFGNzgzMEVGICAgIA==-MjEwRUYwNzBDM0VGICAgIA==-MEQzRUQyNjg0N0VGICAgIA==-QTU3RUI0NTBEQUVGICAgIA==-RkRBRTk2NDg1RUVGICAgIA==-NDdFRTc4MzBFMUZGICAgIA==-OEYxRjVBMjg2NUZGICAgIA==-Mjc1RjNDMTBGOEZGICAgIA==-MkQ4RjFFMDg3Q0ZGICAgIA==-
Some things are hidden...
The secret content is encrypted and stored in a hidden element, as shown in the screenshot below.
ciphertext
OuO
Install or setup
Use my costom theme: hugOuO or plug below codes in your blog Encrypt (backend)
We utilize Hugo’s shortcode system to create a template for content encryption, allowing users to define hidden sections with {{< encrypt 99 >}}
and {{< /encrypt >}}
, where 99
is the password.
themes\hugOuO\layouts\shortcodes\encrypt.html
:{{- $password := 0 -}}
{{- $msg := "The %q shortcode requires a password parameter: see %s" }}
{{ if isset .Params 0 }}
{{- $password = index .Params 0 -}}
{{- else -}}
{{- errorf $msg .Name .Position }}
{{- end -}}
{{- $chars := split (.Inner | markdownify) "" -}}
{{- $unique_id := (printf "%d" now.UnixNano) -}}
{{- $step := (int (math.Floor (div 281474976710656 (len $chars)))) -}}
<div class = "encrypt-wrapper" >
<div class = "input-wrapper" >
<input id = {{ printf "password- %s " $unique_id }} type = "text" placeholder = "Password" >
<button class = "toggle-password" style = "cursor:pointer;" onclick = "decrypt({{ $unique_id }})" >
Decrypt
</button >
<button class = "toggle-password" style = "cursor:pointer;" onclick = "cleanDecrypt({{ $unique_id }})" >
Clean
</button >
</div >
<div id = {{ printf "encrypt-wrapper- %s " $unique_id }} style = "display: none;" >
{{- range $char := $chars -}}
{{- $x := (add (int (printf "0x%x" .)) (int $password)) -}}
{{- $password = (mod (add $password $step) 281474976710656)}}
{{- $y := replace (string (printf "%018U" $x)) "U+" "" -}}
{{- $ry := delimit (collections.Reverse (split $y "")) "" -}}
{{- $ey := (string $ry) | base64Encode -}}
{{- printf "%s-" $ey -}}
{{- end -}}
</div >
<div id = {{ printf "decrypt-result- %s " $unique_id }}>
<p >Some things are hidden...</p >
</div >
</div >
{{/* tool: https://apps.timwhitlock.info/unicode/inspect */}}
Decrypt (frontend)
We use JavaScript to decrypt ciphertext.
add following content in themes\hugOuO\static\js\hugouo.js
: function rhexToBytes(hex) {
const bytes = new Uint8Array(hex.length / 2 );
for (let i = 0 ; i !== bytes.length; i++ ) {
bytes[i] = parseInt (hex.substring((bytes.length - i) * 2 , (bytes.length - i) * 2 - 2 ).split("" ).reverse().join("" ), 16 );
}
return bytes;
}
function byteArrayToInt(byteArray) {
let value = 0 ;
for (var i = 0 ; i < byteArray.length; i++ ) {
value = (value * 256 ) + byteArray[i];
}
return value;
}
function intToBytes(input, length) {
const bytes = new Uint8Array(length);
for (let i = length - 1 ; i >= 0 ; i-- ) {
let byte = input & 0xff ;
bytes[i] = byte ;
input = (input - byte ) / 256 ;
}
return bytes;
}
function removeLeadingZeroes(bytes) {
let i = 0 ;
while (i < bytes.length && bytes[i] === 0 ) {
i++ ;
}
return bytes.slice(i);
}
function decrypt(id) {
let success = true ;
const password_str = document .querySelector("#password-" + id).value
if (password_str.trim() === "" ) {
success = false ;
}
let password = parseInt (password_str);
const encodedString = document .querySelector("#encrypt-wrapper-" + id).innerText;
const list = encodedString.split('-' );
const step = Math .floor(281474976710656 / (list.length - 1 ));
let decryptResult = [];
for (let i = 0 ; i < list.length; i++ ) {
xb = rhexToBytes(Base64.decode(list[i]));
x = byteArrayToInt(xb) - password;
password = (password + step) % 281474976710656 ;
dxb = intToBytes(x, xb.length);
try {
decryptResult.push(new TextDecoder("utf8" , { fatal: true }).decode(removeLeadingZeroes(dxb)));
} catch (e) {
success = false ;
if (e instanceof TypeError) {
} else {
console.error(e);
}
}
}
if (success) {
document .querySelector("#decrypt-result-" + id).innerHTML = '<p>' + decryptResult.join('' ) + '</p>' ;
} else {
document .querySelector("#decrypt-result-" + id).innerHTML = '<p>Wrong password!</p>' ;
}
}
function cleanDecrypt(id) {
document .querySelector("#decrypt-result-" + id).innerHTML = '<p>Some things are hidden...</p>' ;
document .querySelector("#password-" + id).value = '' ;
}