This commit is contained in:
nora 2025-03-21 23:12:14 +01:00
parent d02f3fb4b0
commit 05399c268a
31 changed files with 136 additions and 62 deletions

View file

@ -1,6 +1,6 @@
{ config, ... }: { { config, ... }: {
age.secrets.forgejo_s3_key_secret.file = ../../secrets/forgejo_s3_key_secret.age; age.secrets.forgejo_s3_key_secret.file = ../../secrets/forgejo_s3_key_secret.age;
age.secrets.mail_git_password.file = ../../secrets/mail_git_password.age;
services.forgejo = { services.forgejo = {
enable = true; enable = true;
@ -34,12 +34,33 @@
MINIO_LOCATION = "garage"; MINIO_LOCATION = "garage";
MINIO_USE_SSL = false; MINIO_USE_SSL = false;
}; };
mailer = {
ENABLED = true;
FROM = "\"Nora's Git Server\" <git@git.noratrieb.dev>";
PROTOCOL = "smtp+starttls";
SMTP_ADDR = "localhost";
SMTP_PORT = 587;
USER = "git@git.noratrieb.dev";
PASSWD = "Meowmeow";
FORCE_TRUST_SERVER_CERT = true; # lol. it's localhost.
/*ENABLED = true;
PROTOCOL = "sendmail";
FROM = "git@git.noratrieb.dev";
SENDMAIL_PATH = lib.getExe pkgs.system-sendmail;
SENDMAIL_ARGS = "--"; # most "sendmail" programs take options, "--" will prevent an email address being interpreted as an option.
*/
};
}; };
secrets = { secrets = {
storage = { storage = {
MINIO_SECRET_ACCESS_KEY = config.age.secrets.forgejo_s3_key_secret.path; MINIO_SECRET_ACCESS_KEY = config.age.secrets.forgejo_s3_key_secret.path;
}; };
mailer = {
# PASSWD = config.age.secrets.mail_git_password.path;
};
}; };
}; };

View file

@ -0,0 +1,24 @@
{ config, ... }:
let release = "nixos-24.11"; in
{
age.secrets.mail_git_password_hashed.file = ../../secrets/mail_git_password_hashed.age;
imports = [
(builtins.fetchTarball {
url = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/${release}/nixos-mailserver-${release}.tar.gz";
sha256 = "05k4nj2cqz1c5zgqa0c6b8sp3807ps385qca74fgs6cdc415y3qw";
})
];
mailserver = {
enable = true;
fqdn = "mail.noratrieb.dev";
domains = [ "git.noratrieb.dev" ];
loginAccounts = {
"git@git.noratrieb.dev" = {
hashedPasswordFile = config.age.secrets.mail_git_password_hashed.path;
};
};
};
}

View file

@ -178,6 +178,7 @@
./apps/cargo-bisect-rustc-service ./apps/cargo-bisect-rustc-service
./apps/killua ./apps/killua
./apps/forgejo ./apps/forgejo
./apps/mail
]; ];
deployment.tags = [ "caddy" "eu" "apps" "website" ]; deployment.tags = [ "caddy" "eu" "apps" "website" ];

View file

@ -65,6 +65,11 @@ git.noratrieb.dev {
reverse_proxy * localhost:5015 reverse_proxy * localhost:5015
} }
# hmm. maybe for getting a cert? idk.
# mail.noratrieb.dev {
# abort
# }
################################################################ ################################################################
# redirects # redirects

View file

@ -69,7 +69,23 @@ let
}; };
uptime = vps1; uptime = vps1;
does-it-build = vps4; does-it-build = vps4;
git = vps1; git = vps1 // {
MX = [ (mx.mx 10 "mail.noratrieb.dev") ];
TXT = [
"v=spf1 a:mail.noratrieb.dev -all"
];
subdomains = {
_dmarc.TXT = [
"v=DMARC1; p=quarantine"
];
_domainkey.subdomains = {
mail.TXT = [
"v=DKIM1; k=rsa; s=email; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjY7PTXNR6CcLiBrv7oiJtXmtRwJC+aQQL4mLMGLCEqtBXA74NiXvW0AP0/BKtVnoWlDJRXWfnB70T9SQerF/BWq8kjlyMmkxex/QuiSDZWLLRpmL4AZ3y7CQY0r++zROwIrNTX95mWAeAlFd8Ug3gXD9lCml5jwM7C3YyATkKMQIDAQAB;"
];
};
};
};
mail = vps1; # this needs reverse DNS as well
# --- fun shit # --- fun shit
localhost.A = [ (a "127.0.0.1") ]; localhost.A = [ (a "127.0.0.1") ];

View file

@ -1,13 +1,12 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 qM6TYg SovdMEtsuAN3HnwyoGcQsVtcpYObyh1N/VKbw4rN/B4 -> ssh-ed25519 qM6TYg a01Mb8F1M4wvxfMPgiblbRIwMF8fmfNJL6Vg8/YVB0k
neYvPr3H7Z0n42eXSacdJ2syK2tX4ZG8dVzdXYKMC3E RvtuLzhlAlOas/csoqOILvMWLmd9nUZHn8CEVRiVVVA
-> ssh-ed25519 XzACZQ O2zwX8G4Ladh+jlPtzvGKBJUCZwRdzEFBZMjQ6utlic -> ssh-ed25519 XzACZQ 84YS7OyQwf6CnQR1DE59MkFrtFuPPG1Fxo7fRTQxuxM
EuxJbsnCtMU3iPGL+rtNPiA+r6h9IBHQGOo1krTSGMs Js2crB6+BrhZD3EBMYhvkYA2JIA6Abu4hCn9s6Y+XH8
-> ssh-ed25519 51bcvA +ytU9agDEYXwSkjGXqTuGJFNX0H4gVg3NrSq+irpqR4 -> ssh-ed25519 51bcvA uZOqMPJ8PfnbvGN4Ng0xdAVp7PzwYceTbY5gUFmF1RQ
WqB9xcniSoq+7MPZkeujE+Z5Et8q3u+/yEULeSU7Ka8 BLWEi+9mkVts2YGbWM7Pk4m/CGlI91Z2woCWVLjejhM
-> ssh-ed25519 vT7ExA NHrhD8lzaN2QUvnU5obIGFsFdC1tvADd7cfNONcvdGE -> ssh-ed25519 vT7ExA H81EQWjjh+yhmMKkyoAJ6HUIPCKgo+zWiYu9KU8NWgg
egoyBBL9r0XV0bGOq+686PoOPICvYnE/erlZvQMJ4ps Sx8ZEAI+AwKR2GB/HN4Uh53U4m3ijuVHMKaHTXYaKL4
--- j+CR0XGs/Z0D/f8PJVUu5m8ksetR0X9UgX2uLgRFGtY --- VvqdE02fxeV+wtdgB5nXH5lGrjeVC67T2s/yfefX2fo
ëqÇRKS¢<EFBFBD>DE**²™”Ѹ´67½2ªZý(¦¨³“}v¨ÐÊÒ·+¢ýG<C3BD>¡®jÜì|'?´º_o¡¼(uÖͨ!õ‚ðº +ƒ\äg¯ûg`dIr¾{#ÝÏdÒùƒ³©‘;Í(UŸ¬ùýö´¸(ÿM(hkrí6áQ<C3A1>óþn÷Ê!râ¦ÝBŠ_2)<10>à üíSò=—ÏåÚ]º€màñXœŒTóINë¶?ƒë¿Ê®é ´ñ¬²­v<E280BA>Õ<>€½†´I£w„ÆNæ_*7ì$ø]™ëe\¥]H Ÿ<>­ŸP‰MB@­&Ñ'G•geB`š]¤›•Õ*À¦týRÊ©—~¦‰G…Ü·(çuÄ<ØT™”ºÐºWòœ)W§±
^è¹bš²8R°\ÒÝó<1C>·a xÖyD§YîÕÚæä³òÇJbb«™ÃkÊÖL»Ÿ1°fø.èåçW]<5D>
“»]jBûD½Ó%2`×=HÆÔz

View file

@ -1,6 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 qM6TYg H4CAhH2tiZgtdBLnIT2NQpwbuuJIhX2fku6ukjFHonA -> ssh-ed25519 qM6TYg /d5HdkEI5g3P4GS7g9TfU5BlaoSGhsH24LltCJPWjxQ
jqQ4SKoyG+lIN6nFtBkUPsPLbQtQG1McRrH5BSjMmbk skmJHnOEUBeuGGG0MTrXwm+vZ2qhHZ7O5Jlkw26zsyE
--- Gxbst2zgWl8yZrCCami4TA7/bXRE84sI6FBjnzpPsiI --- syAIyV5No00292U+MKrUCW2oAVovXPI7w87+cLhA14Y
È…€rçÕí µfýýa¯;gƒ¶O—€%þ—<„?
T6„ôŠÒ[k¯Ž¯sºñ‰iÄþ\'¡~Kšÿ <0A>ÎýIÀƒ““%€|«h´¸Æ†¹ú%<25>NÕSúªt òYÒŽÂÅÎv­üSÒÄæ­å©þÓ`‡*3€ƒ_éžÐ;fɰ/¾*!º¹q-^óCkA7˜ÍR° ù<6„4­h*vjYøVæ²S÷22Ê®R†³<E280A0>­Ï ÒÛ©}‚ƒ{p"º‰ÿæ<18>—_èHn¶~S€ÿ}ÐEiVÈ×2ÁðC­®e½ÕÓ&½Ž.o!°±
r¤€z{OsüU?¨T©ÖH‰<48>pgÇ,•†)®Ïø+G? ¿OZmtÙ,œ›)O/A/¡¿£R¡=÷T®AõÑw@••Ik|\ãô;

View file

@ -1,7 +1,5 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 qM6TYg PhsRpnRNKtBDBgPzuz2WR1xnYYeXmaKRXJkuDXs0/kY -> ssh-ed25519 qM6TYg Ljc/q7DzP9ArvolUWvU38h5gaIflWWSlBzIbHFogqAU
CEGO4vHUCcdmjEAspcJwcvytCjWoYC0IJ6WdMxvWfnY U5nw0yFT/3cquMvWWXnxHsiwYl5r7oF9M2OfSATfC3o
--- +45DrLBwIK2qjumiVVbDYoPUxzNMLkDTOWToh5JiH18 --- K0sRjFv6dEc+SA+N7w4mBuW4ImeaFoyAX715KUjv7pU
ž#Ž%-§ÍI°B $fO<66>ö¥ÅmakÏÒà†jän­òÑ…Nš*åRB£ÙÁžõkæ»PÙøéš=Þ¿¸¥ZF°®Ü+¹®±'é>ŠU]µf¤ÝUü®¬¡4Ï6¨ãÓÐNÝ/#‡"v¶pq(Ø6˜& u)=¡¸<C2A1>
åxoIÎìįf˜?bƒme¡žÞpÊ#v<>e"ªmû…SD ÞÌqø…ªRN£<4E>ŸGåèÍ|¿*Ò¯U*
»¶bµÇI!8M;$;‹Åªç`d!º#þéŠ×±’ñ^{<10>

View file

@ -1,6 +1,5 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 XzACZQ eBMqugfTB9wfhD2TgF2svakZ0tDdXjfIlurhXBf0+TM -> ssh-ed25519 XzACZQ 9FVUVdZgKOJ0V8F13YgZluLb2DUB65Kos60TwnqwjDY
vJoHbSZT6BdvWfwcQVtjBUBa0x3b+Va6SyOuSL4soKY Y0Rr8I8HrOWh4u7meJ2TMAI71BwD2a9im1igfVQbE4E
--- eQQWdfE5bnx0EOu+4IzdlGwPLBEN6AAC8xA0u6/wXhE --- 4HaBTgUQ1Dteil435vb/NdUm5jrLnrsCuRkv3Cn7KY0
’Ö}2T‡?á ;Âì1ít7©k¹š˜Áî—J”O¾»Í{Ǹ$ó„³ ¥bžü*ÏVÑEÄòY[JíÇþl.L)z¾iD×YÀ“éJ"<22> å±,¬8÷NÖ§)J æí -}™uKԦ괓vãmÎ<6D>ú)0 ?³D²"”ý{e•š~“ŸF¸P χ~¾ßîR«[£H 3cD!ù"ý_rŒúàówêÌ-:±Ç'ÏÚM·
3uóBAœ°d>Œt»íôf¯râX ‰_=jØõŠ¿R>^!QÁÆà;`[»öF!šŸ¥VÑÛír©Î ®ŠÍÊ<>M_SÝDç„ð‰ÜÖGvaT;†ÞP«‡·éñ¦hiÍ¿ ]O<ƒ·¶

View file

@ -0,0 +1,5 @@
age-encryption.org/v1
-> ssh-ed25519 qM6TYg uAqVnSxmOpnCA38XN6oivgsD/lyG7ykusArboDTrRns
lNpNjvxm/Mv5eduK3ugSPFRv8TbXFt2LyalXpfMGyz4
--- Dyo4Q5YEjqsO36Q0k/V33qmPgJwDlthpEWA+hWcKI4I
a „,žlÐÔ-”YäƒÝ0¯³Ø[†7kµ˜µN¹«­ÞL®mk!¹”dSžäÄWo)98%æ€ÒøRó`xÑ

Binary file not shown.

View file

@ -1,5 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 qM6TYg +1+lVyRzlcwO+TvDJ3KqRwVzLrKN6QcbeplcJufO2A4 -> ssh-ed25519 qM6TYg yDDOCWqwZ0A0Jzrc8SxnHiDqk+k9W3n3IiBGMe6jIXg
tXc9NbF/9R+O0NN1SRGWFc1rClgWMm19EXwzO6YeYmk nr7QkM3n5VPWLdaa7ULm/fECB0dIbNj5HI0rzZJ6Rak
--- tWIhucD14hJ/tIclvObWwt1a/ImmiGoCNFacoUkYLeg --- 475p+3qWPouhETFhSWC1Y6qilwbEqQKePX3ggzX8Kx4
c_·ýîβ×ùVgF·>'UÀƒ´·&æòô­“H9O˜㜖Öz<C396>kþü·ÜÒ©T×Ú„âóC%/Æk„Òœþî¡ÛMgÁ5¤:ù/óJ3«¦j¦P<C2A6>Cœà|”vîÃï–”ë²^ñ3ÌPÏw/ß”çcùü«žð%ï  úô?Z“<ž0ÌÙÝ´0†½ý“x@Ú“)ޝ†Õh²c0´èðÌ=î¡•r™È&ðëÌ. =˜ß5£]±óÝ,£Åý3CœgOßeü…+gž¡öâåâÙoþ$bû²ÙÌ<C399>n郾aaÑÉpÆöF
ÒU…tÌ'êó´éáš@´ÔÜvx‰ÏRv3 $æaä$ G9£<1D>J†ÄY…ÆÉ¢úWÄý a¨c,š¦
žR}|1dïâ¦o®P>ÿż|®Ê±V¯ÉàÚû´<C3BB><C2B4>pœlï1’¨]/_ÚÒ~â¯å…µZz½

View file

@ -1,12 +1,12 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 qM6TYg FkczCU/BfhftxpEV9ss9j6bzva9SYzsQXfS2HIPE904 -> ssh-ed25519 qM6TYg 8oHVtbvlnyyCt27qGnpFVmypqIcOlR0DUuJvyMS79QQ
QPsvkT9e+lGp8RHXkk7Xi5aDnJ7SRoXtZYUHxrLv5+E 12LwAXfZerltpMV8p1fxQDFrAsT0anEFHnCflYlpVQ4
-> ssh-ed25519 XzACZQ bgFJ0eG0NvrZmpMNcw1w9F4IHIlLnFGzYDQuss9zBzc -> ssh-ed25519 XzACZQ JCedQ77yU0L72s99WlxyqOrvE2oQpILCzT+Wgl/I1FM
37D3BzLM2c8liEJ62Cgi2Ujrn8s/HuFooi4W4efTVF8 KMJz03/cK1G2rTyAqLtXd9UqbJsNL4hlhNrUy4O7+34
-> ssh-ed25519 51bcvA ya2YZ58aFvoZ4RSAIvcTxHs2mi9IQ6GLBBIdd7u+1AI -> ssh-ed25519 51bcvA FikH1IoTgILH/r+cUFDOKatPEJJ1cgQaq9tQPUgNzAY
he/Zml20KK0SCcl+yPP07rVTm3ZfNrM++BEg7DN3m1w w0A7GG7xtPdidDxU6+pruVBqIJXZg8c2l7TnIN73T7k
-> ssh-ed25519 vT7ExA acQVs42HeDArkdfjcKrSSKIyqGUo0A/WOFsXwC5XfhM -> ssh-ed25519 vT7ExA ++vWs+ssMLjAN6+Pc71XtrKYfsn6uUzF8RAj8ZEVg1A
98Orc6jiGZkJBtRfivoDUT+sQKEsX9VhpuE09iMkNmE VnweoDKsFFLuH4PB6ciwhFF5qCkY5I79yQFaku6YvTI
--- VUt5MXChYk8dXHeZ8YpfXhRE94BftWknhqf2RI2z77s --- 15jqxRdKGbvhLQH0IECslHLRfG7ubREncsEoYNLAPQc
,1`¯»Ù ªyÍGªkžqv²øYÞìäË©x#Ï3Þw/ƒWßnk¨G +[wRR.²áÍns<6E>¢T! .ø³2rXJâðâàZN×QÉD~ «d}" †ÄM«t æñ"<22> )¡Á‰°€vç ÑX? „à:]-óʱÔx#e² ¹Å`õ›í »UFW>ûF«3Ú¯ô­Œže£0•;•ùÄäÑ:lþØfÑ-¸5nôUïÅ5^¤N“ç:ö9¬¶¹ß'¶‰edϯiñJ 3;ðšÁW ¸R)ï©ÍA»5¢,ÕªAqyGNBxÔ<78>¯ÇQ¨r2¡¦ý51RsDÅwѾ ]e·Ì9h <0A>çOŒ gåÉ[%ŽBÆ7sñi¾ï\´<1A>É
Îñ1e±8»Å Ë4bKvoo–æÅ\÷ € Ú‚>cbÀsb>;N5Q : ÂEŸäYãbˆˆÒÂÀÌKî|k{µÙ&mI€§ˆyã¡à™ß¶‰-¯àÔa—Äÿ3®ýõ]‰¦_ 3ߌõ)ìQ˜²{,D™* Ïc}àÜa©ÛRÇ\ÄòóñbÉ,Ñqµœéˆ<>Åí—ÖôÝÔ~"ݧ·¦hôÄñÍeéJçõUîIéŽó  S%ŒŒUs"#$ðtaŸ;s'ióEºiÛH§¡éJé]ÁGÍ0 @òK Q|&óçë/êèg$ÇO ¯·ö·pþÎÏ»ƒyü“°Ú=7ÕÚ(y²H`!g¼Èá

View file

@ -22,6 +22,8 @@ in
"s3_mc_admin_client.age".publicKeys = [ vps1 vps3 vps4 vps5 ]; "s3_mc_admin_client.age".publicKeys = [ vps1 vps3 vps4 vps5 ];
"killua_env.age".publicKeys = [ vps1 ]; "killua_env.age".publicKeys = [ vps1 ];
"forgejo_s3_key_secret.age".publicKeys = [ vps1 ]; "forgejo_s3_key_secret.age".publicKeys = [ vps1 ];
"mail_git_password.age".publicKeys = [ vps1 ];
"mail_git_password_hashed.age".publicKeys = [ vps1 ];
"wg_private_dns1.age".publicKeys = [ dns1 ]; "wg_private_dns1.age".publicKeys = [ dns1 ];
"wg_private_dns2.age".publicKeys = [ dns2 ]; "wg_private_dns2.age".publicKeys = [ dns2 ];
"wg_private_vps1.age".publicKeys = [ vps1 ]; "wg_private_vps1.age".publicKeys = [ vps1 ];

View file

@ -1,6 +1,5 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 LZU5Eg C/Xxl6xmqJU17rLrtktvdLeRY5/bF3bjftHo4mbl1iI -> ssh-ed25519 LZU5Eg E6+nwA+8+AV8LR3I/ElJZhquSqsQyO7frN9jsbgytzU
dLiactDlpelKogeTFl2fD6YjAK1dfFd7jnvrgc7m4O8 sJ1+1K50iqMTp0pzDpt21nX51puxnDZyHO7GsmEADrU
--- LARr+mBHSH1Hn7gLprVSZdL5/MK5zEmwWnkAYH0Q4T0 --- FR6LDD8Sctimyq+6yWGqYid3bLHn5c/73Wc723Axpho
2+÷V(źűs ˜<EFBFBD>çtEÙQ<EFBFBD>šmZ¨ë…³ë g"qÊP©w†¥ðYÒ€¿I¿<49>õ—.Ã<5F>Š*ÒSðTÚõØ´ÇðÛ$üS²1ægϾ
 P>ßÜazZŃ>y˝>•rř‰Jç¸!>ł—ôKňEA¸Řap ¶Ąyđ~Ş č‰¸<E280B0>¨źS×C“W-&ćŃ

View file

@ -1,5 +1,5 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 5bWSnQ LZJ3IeeU2FcoStl7FVMbL0zttZEWy1t+E25GEqXdznk -> ssh-ed25519 5bWSnQ z5r7U+NKzZ4ucf31ROA2Ovq7D1kRmMs+Y/LX/ArLij4
hMIVGygEe++AfccTi15wj6rWaqtwsOabUugtiuR5GWI kMHCxu+ZfE1qfV9i6wZMwbWX/BycwrmB9yykLq6Av3Y
--- /YFZvkG8jK+vVp+edwEpbkDiAe0yPvwzml6d1HOynI4 --- 5PYzMW6WzLKk/rBRLja3rziFDIRsJV1a3UC5fd3eW58
¡áìöLÀÐOÿ_Ù'cÔÝ<C394>¹ç•Š=ä]äQÚ—[’Æø?Ù­o3MNÁ6dVþÒ?<3F>•RA<>Üë ºõà<C3B5>x5³ðùkc¿ p¿õk€{@Fµû5âZ+£¶¦ÖOPK°2k x­[Ë«u¤ÇÌâú1ô³Þàššì‰·àéb]Aéÿ}Û‡Óé1B[=Ç¥§]

View file

@ -1,5 +1,5 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 qM6TYg wMMdxXZc1yZiD9oS6ne/7Ne29uz+Q97kYYjZtyhR9Qs -> ssh-ed25519 qM6TYg CWXbbkmqJ6xvFW1QH/WXMz2yyqrufcny3u2IVhQcTmY
hNwS16RMdvb7hNfjRdUow/sYtUcta4YPoe4qh0jAEOE EPHQm64I0DsM7wM+QDVsTxFD7+RTTBuPLBGp56PwZLw
--- 30m6ILfUyjxm/nindgNcujh4bGOUvMbrcArSLEd2NuI --- xMf8HUGOwVESa0eJG2QY9gzPX4uMax9zKj+M3VTRTRs
Ì¢×î0ÍÃÉfÌÜÍ-1TØà_s>?f·I[L•À…•ÇÏ<C387>mL4¯á«#ÛÑ,qwÔÂåPY-[‰n$áò<C3A1>Á¦ ­µ4 ‚ÃõŸÆ£Ù‚‹¥Èæá(ÌÌU,̈¢+àç0©q¬€>‘Ì }¡Óø“ey<65>§<EFBFBD>¸<7F>Ñ0QÉ#<23>«„\ç_´,в÷*XrÈ<

View file

@ -1,5 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 51bcvA A5RlnDQ8XJQK5KqxwrvVsrfJKVzb22/c/J/EPvfhtRA -> ssh-ed25519 51bcvA pmuYvcNSDbQQGppe1oSlOjpzgTZsIWdnDIWAwcWOhj0
ByXVkK+QIuGV9bCgcqYOAj54k/O6SrYBLrJIQMec0nA TTWgR+OI5SaRvxaXc4LKBXQtMVYc6Jp+r4jNDlI5igg
--- S+1ZbskI6F3pIT8Pm9qjoHpHu0BmihvC1c9D77sghVY --- GSEVCJz6eYrGnFbxiQSkZR1Fp0Fy+nga1zOe6Z6LetU
·Ë{ŤX‡ă¶w°ő˙<ńpäśřé“ĘZ¶SŻ><3E>G*KD_r;Ĺć9«ÄşO"s<áÓ™Cb6ú#lűQ“Éa¸<<3C>j)ťĎu yHTç€|2|’™
ˆ«ˆÈB,ê½"~<7E>Å×艤xêI‰úGxî·æ ×DQD—Æ¢é©ð|b¢íÑ<é
Ü)hd‡

Binary file not shown.

Binary file not shown.