Skip to content

Commit de48a29

Browse files
committed
Adding tests for "Brackets, extended
edition".
1 parent 4ec8fc1 commit de48a29

File tree

13 files changed

+183
-0
lines changed

13 files changed

+183
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2525
- Tests for "Windmill problem".
2626
- Tests for "Elementary cellular automaton".
2727
- Tests for "Ways to make change".
28+
- Tests for "Brackets, extended edition".
2829

2930
## [3.12.0] - 2022-09-01
3031
### Added
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace CyrilVerloop\Codingame\Community\Training\Medium\BracketsExtendedEdition;
6+
7+
use CyrilVerloop\Codingame\Puzzle;
8+
9+
/**
10+
* The "Brackets, extended edition" puzzle.
11+
* @link https://www.codingame.com/ide/puzzle/brackets-extended-edition
12+
*/
13+
class BracketsExtendedEdition implements Puzzle
14+
{
15+
public function execute($stdin): void
16+
{
17+
fscanf($stdin, "%d", $N);
18+
for ($i = 0; $i < $N; $i++)
19+
{
20+
$expression = stream_get_line($stdin, 10000 + 1, "\n");
21+
}
22+
for ($i = 0; $i < $N; $i++)
23+
{
24+
// Write an answer using echo(). DON'T FORGET THE TRAILING \n
25+
26+
echo("true\n");
27+
}
28+
}
29+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace CyrilVerloop\Codingame\Tests\Community\Training\Medium\BracketsExtendedEdition;
6+
7+
use CyrilVerloop\Codingame\Tests\PuzzleTest;
8+
use CyrilVerloop\Codingame\Community\Training\Medium\BracketsExtendedEdition\BracketsExtendedEdition;
9+
10+
/**
11+
* Tests for the "Brackets, extended edition" puzzle.
12+
*
13+
* @covers \CyrilVerloop\Codingame\Community\Training\Medium\BracketsExtendedEdition\BracketsExtendedEdition
14+
* @group bracketsExtendedEdition
15+
* @medium
16+
*/
17+
final class CGTest extends PuzzleTest
18+
{
19+
public function setUp(): void
20+
{
21+
$this->puzzle = new BracketsExtendedEdition();
22+
}
23+
24+
/**
25+
* Test that the code can be executed for "Example".
26+
*
27+
* @group bracketsExtendedEdition_example
28+
*/
29+
public function testCanExecuteExample(): void
30+
{
31+
$this->expectExecuteOutputAnswer(
32+
__DIR__ . '/input/01 - example.txt',
33+
file_get_contents(__DIR__ . '/output/01 - example.txt')
34+
);
35+
}
36+
37+
/**
38+
* Test that the code can be executed for "Extreme".
39+
*
40+
* @group bracketsExtendedEdition_extreme
41+
*/
42+
public function testCanExecuteExtreme(): void
43+
{
44+
$this->expectExecuteOutputAnswer(
45+
__DIR__ . '/input/02 - extreme.txt',
46+
file_get_contents(__DIR__ . '/output/02 - extreme.txt')
47+
);
48+
}
49+
50+
/**
51+
* Test that the code can be executed for "Unextreme at little cost".
52+
*
53+
* @group bracketsExtendedEdition_unextremeAtLittleCost
54+
*/
55+
public function testCanExecuteUnextremeAtLittleCost(): void
56+
{
57+
$this->expectExecuteOutputAnswer(
58+
__DIR__ . '/input/03 - unextreme at little cost.txt',
59+
file_get_contents(__DIR__ . '/output/03 - unextreme at little cost.txt')
60+
);
61+
}
62+
63+
/**
64+
* Test that the code can be executed for "Complex expressions".
65+
*
66+
* @group bracketsExtendedEdition_complexExpressions
67+
*/
68+
public function testCanExecuteComplexExpressions(): void
69+
{
70+
$this->expectExecuteOutputAnswer(
71+
__DIR__ . '/input/04 - complex expressions.txt',
72+
file_get_contents(__DIR__ . '/output/04 - complex expressions.txt')
73+
);
74+
}
75+
76+
/**
77+
* Test that the code can be executed for "What's your bias?".
78+
*
79+
* @group bracketsExtendedEdition_whatsYourBias
80+
*/
81+
public function testCanExecuteWhatsYourBias(): void
82+
{
83+
$this->expectExecuteOutputAnswer(
84+
__DIR__ . '/input/05 - what\'s your bias?.txt',
85+
file_get_contents(__DIR__ . '/output/05 - what\'s your bias?.txt')
86+
);
87+
}
88+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2
2+
<{[(abc(]}>
3+
<{[(abc>}])
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
7
2+
{([]){}()}
3+
{([{S}]]6K[()]}
4+
{C{}[{[a]}RqhL]{y2}}
5+
W12{}{}L{}
6+
h{Pn{GT{h}(c))}
7+
{[{iHTSc}]}(p)(R)m{q({})
8+
][
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
7
2+
{([]){}())
3+
<{([{S}]]6K[()]}
4+
{C{}[{[a>]}RqhL]{y2}}
5+
W12{}({}L{}
6+
h{Pn{G{T{h}(c))}
7+
{[{iHTSc}]}pRm(>){q({})
8+
][[
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
10
2+
lG1DGuuUMRFA2yWhxm0aca90QrXHeabs0aZCvRl3cUvNJz6Q1j8GvhNppnm3O3ugUeSgwnmcVCrO2vpVHiHtzFM5H]Ss5uTiyL1ovxat7fF0rDB9iDzCYERtDoL6LO7m43rOSwGSJcrxA0yYzEs7inERffzNuZiYVAdk79S2rZe9TWz97LM]D3eRZHxx6jOXh6WZXssInjB7nW26q8YeHJYK6oKJkZNlOVTRDsR2JK6qqj5YETUM5glU6mnSpZ6kc8TGo90eBwQTa]LxH4Wdf74UAkhaQoqIILdjA4ebis0nCNe2Uc8vBwt8uoO6kGg6ufSCEhuuEQXdB0GcUSbshlnPcAo1Uzv0BrEeRz0}QmQYtO6hXq6P9jtsu2uyF1RpvuKE6gb8GamWqQEjKeBTWtHvwQOIK226qbWTGvcZH0roaj194IWKK2t3av07Y5mWg}anyPBj91mIJVnzOn6VdXHILz0ndUXufnT5mCyuCpiFuQkTSkfdesnyv5RqwE0e9bKiy0KyymLL9ix2iz3F9wTq8Ld]VZ9736t4oXCNlUypzp4zD1zZI9HIb03MK5HyA9Bl1BjbCuPjTiOahmWVY6FgHpen1FEdrUpwr1xPtOFMJ895gCUPh{2DTQ8T1o3nUMeFsAGeciNskTtxdrV9Kr3Btjheo6bsnJDk1Hc87uH88sqa6UVGa3mwEAyPvUgRiRGVDStpU2wQNfv]9g4uXZ66fNYUVeu5WpypJ7qChph5xboku6B87yO4s8lm4pIwG6P3FSlLEUrjvtVk2hvmI4As4QBFZ8LUIAFH9TVsM[13jnAqq4xLeIZf5TBsSCvnzhGuvG8SIq2HyU7MbPykTHHgyfG8VJFi8hPkJLfotVIXtkTl2LOm1OW8zHwWkVOTSnA[E99iVq9iJkL1boJHS65LwXPPNcSkbJUg57Krkq9eYwTC77XN2pRMvgKvyoa4JvjQk6gptvlrcEzRwwuNippU6Fqzp
3+
GPaANAUfEKOQ7ju3ODOfx7LwGNS7EoJh0ku9iFF4AVDh9XaCkvLA0BXujvB0YkhTnsBt3lKmNXGIdkR74q6U7tf0c>Zr7gZXFNJAi0086MaSVTEPWUws7oVJrz3hv3Nv4Z5LcHzjrTsGth6MTuAsIEwJnCrq9TF19F3ZMkGHEGn3fN2Pa9J[p1A8ByKfGG36uWnwlfKVVlJLUziFLnkrzJ7grmYRvAWNtfGWEQYjvr7UfUiZ1VwAqcBJR2bYtMIAraGcynwb8EPjM)orFl9BmAbEOCWDU1K2B8mUAZNr4j9eXAUYllA02wzfXSIijQSyEIZk6GJSCJPzFYWUPWVPlYtSFyFR4VAVQZXzONP[1QFCGWqaixELSHl2xP5ZR8qYsw8BaqzKEuQkWSGsn2FYWa5fu1GR3PYBta3fcx9TzIhcdGjQVWRAgjuE5kaXYPcYm>j3sal0LDbS8LQnFkghjqNydHfWqoKdY9GxQvYlMzXtDScItrRGivfdYzveG8vTg0m1C8YP4syAKW3EmGHKYk6VAEQ<jaorQCwppdVfH8YjY1UTHzYJI05vmqCZg6BBH7JMAda2VPPZMT3iVrfvL4QL5N40rhCLo2eJQ9Nh4tnemaqxowodn<6mLuAZMMfUMHt1LuVv11p0va6HFZrIafgFNX0k6Xm7VGVbcqLtI7bvBlQS2sU6B0XfSjdREVFf7Y1JxDEX9drYzxC)Vv32SHUD3Qf04Bzu2xNIXp61azgK2IpozErT6kix1NnMwd2HZgewuoDlSIevasJawzrnaMpAzHyy6PAr4tfSLugTW<18c4QemleTh98u6VwNhXGKFpDd5uF4Mfr0QJgWXpEH6j7UFHzl9vwHZo2ja5ffulU1G8xjM3Eu0cMxrHEbkstnijJ)9qrm2VigTx6n9iurEF7d9BZ0PQZPMnGrSOBnpu8dS5z5B5eEAaq6jmH5y5uRdaHszhCunBgsBv2GMFyfki9rniFOt
4+
wDQctZrxqtuxEEPUrUrCdHZkYTFTrzlNVKAnTJet3QJiXkKKTtDzqK6ipfRxSxzkonMOxnSb4M1fLatdE77CVj4Cy[4hhGp6ueXtzC5lZs6PBek5Awxdl20LCFwbR78VfusVnpE2cjkfJ7GqO1OsePiuvhcFbjbUlDgMMnImRxYskAAdKp6{go1XFQiXNlYPtMXQSeNgnSsQi5Ivh8tvQURq7s99Lv0viaj7Uv47BdjcF9rkqTadcmDGT3TTFydab5v9is8tghmCD>i7B2VlmebahjIYe9lTOIV27Hiymg9CmX9jYTvkmDoLKEmJ3MWUQm4rPQR6EcfO6KXYlSKH44tR7AEAMlkA4e7UvG0<5H0SxqthrykptSOgrCQvLINYBG1dMRQlvdvw4IYkqbitFeKe9n9DoGjQBLdnN7CiRY4HYBIRb83SqzJJLB7HGbeQh<1aaqlb9DrBNQNC6HO9MdAc8VwkNcsosBwDDV6x0OlJe1wlOtV3oBMVWSPAKdecQ8KdtHtLe9r9Gcm0bAKHSaEhRSM)fZ1KzcKFQ8ByeKwrMDikXr0jwOxTRytvGRZYOoAwtZqGO5PY1mkUCg94oYl0ubnhnvzZliFobMLa9QCSspPUoeMlu)NdsCPg6yfaFh5mQRrbRsIEkvcW3aPkyhj1sZwzy3ZcyaBTBs6zogt5rfIWRSajG0vMcS8oHKVjCxQB5pXdYaklLix<Hp7C4aaJAYYhRJQeo2jdxznSp9kkQQ5Tnb63Z69jPKljyfM20HkY18QhFvYHjotf7MSUrNQb5BBntzIYGWC6w7QBB>XKP3BeY3GU6kMNvucy4cQAJvtLfr6zYZ6o9GtwfJ84wmlTn90I45ixOoe4FzQRi9PHnQXrcFs3YLIL3ni0TH9ywSR]khuXUaIySK1Vif5cIeuFJDizbVi6UkqdyhONeU201oFUPUpBhTspDa7LnI5Rf08yetwuH0kGw2Z1H5WNtoX1Ml5rM
5+
Q2yUTmKM9AbXweuBjbgSAbUeTP8m5qj2gFv2bDAbywyHtzUuzIAXREoIRVLpxujsLtOkJEuS9KUCaBEZIrYcmtuJT>syIiF6kIi51uAQYn7HVsNhLA9HWLhUxGIVosjPMPuJECYLTg0LjPypqzxbXNMKibrjnF92mjdJ50JVIf1cUowdfLk<RIwNJOKczTYRB7fByLl7EOrV0lB5yWiGbLkYOhA9gKhLE1h2OEMFcumNvqoHI3sFEWhP0t2VQqHAJCAWmzocbcOvo}e9kXDg8joTqImK7PUrqFYhT44OL5NDrysxDpRgsu7eriuR1Z6VAaZWV3edShw51WSp8N6seUTBNg5T7pYyF58QDCn{YChXA8imnhL6Rm0HD1P2Am7iCENjo0pgsOecbPGJGCiXgXvr9KqXqKcoaCwyAqFibU3QI83y8p7Un7B3NcmQkxfxL}IFYjh1iOXinU3ttF0u3uT3BxO5LLdqBnAKdbwBnI0JiNkgrvCuFzPG16UAH0JtakOTRx9oVTSV9VuWFz6WTySa6cX}Oid1i2gSKQoELZ8xDaIVJedTaXh7a90Qumma7t9g5dmnHvMbcpBrHp1DUPFeskkvKoWxnMwWBjUnlIRVCe6h1adD1{ZzVY67Jp7xByrSy0vxTLAr2VXUxPnGHcutD69AEAyWCI2oO8sVcjGmYxKVi1NxzCQlkTdES3sfzOhIHWQs2nKNJU0}zmVXNZPNgbihe2N8hnhUJXO5eNRXSq6IVWSnIeZ9HDeH5CyZjWtVrjvjwFm85cEY6C6QQBxlH3C3uf9bpIdWZnZhY[T7lOA9IHafbJzizv8gIBncVPGyJyjRIAwNwOI95ZESwikG2bEuAt5QyeJxSci6f5JDJ91i8NrbnySCzLP3vbW6rML]vIIKT25TXzgQRAMLausMilaIOcLCwLaF6QB1BMkpvgNJ1z86PuRLemjhwj7zQ2uRlDzr0EsIBxDl0SZmX2JopA50l
6+
SmUAQsGZhyadLxvLqJzii2GB4IPe5ng7fXZ3BYoFZDcaWg5fyMOMDi7te9FZ0YVJFeYbIFeaQF232vyrm904zm106(vztmDYiYqRroL0A8wvfFWsYmLh0bxXDfrUDSXFoLwZRvY1FORkcWXTqq95ENczfyVYEVU0twClS0SPUNoFDVf5yDf(FmD4lh3ZHsEX6Kn4KhkkxreEviFZPGHFStl6h2fd3vIK6E0v2D26cFTC1qizZiPeFBhFWoI0UVlCxAB426C1b6FPD}P8pjxW8c5MFHyaU53L2sOOrlik12fWPlodrosvZS3WEffXQrJIzY4Jzl6gxWTv7JUybyWdE9CVDhmwQgaEVL0YuWq{DkQRq2JEJg6m1lXgQ7ydjWb5qFtMBUB6xytuyHsfBL5M7plMoHKqVzifSNXuLkL9iAjdURQNVe5L0qlKGRH7wXGUM]aAGDnaxcswbLAeCkaZEzWWpY4dZUCACCb0csrIRtG8dwaOLEuOXtMvoqSvdqbkt1ShWhh3ewme72QnXR4gn2zUwEu]AdkvwiM8O3amMd96PK82ExchfBMYXPKnH3bFhEz4CBb3zJuHeqn6fNFEEWJoS1RgrJIcnMowPSeYYuN9MglEnsw3i(ypQC6aGgGxO0DGRMlRLpSWqSVsAXu6rDv0kzl3cTFuNVIxEwcVXFwqkmSj2Mx2U4ly3Hv0uVrTJgoopdSYY2ONOr7)F6sMqy3oR8miVdMI52KEQtSMlOleOuPAuXNxn5c4LDteULaJ93wvyGCrZIJ3PHd2ypcjQ3r6JY77QiVoIkiEBLfEH[JJvqJGNC3UL5parD6xheKpAG0UL6RFk9F5rzMROnrulLS3aKqhrXdfyLaIokMQUTZzohbF9hOlVj5oZqQiKKe4fLk[5sVsb8vgF3FO5e4jvGN2D9sDhtju0W7fyGgTuG0BDq2rspGRG2xS7OolM0J79Xc9TvWAOekP95WisUsbzaZ89AAj5
7+
ShH3xi678soQJ9KxLG4NLgD7Rx3uMpAOe53SPVsWswOful8iaOh5RV7FAZfnQPBNH7X2iUvP2XNTC36nO9Gb5hxXY{wzn2KuaEaKzyQ3DLRMaQ2u5pbe5J7LLgf0G6PlyZC6xiDBSlXvpCpE7Utqokvx5iOL8IWP2LIbNIeP3KGOK3Izvtx{azS2RzPRg4RsTbDtYkzgChFVNiJSTAttHdpjq4b61sOkjCKNHKyLfe9RTrXR6jhJoDXfAyc6Soss1E4eHo9MDaVik}mNS4YvEeVeJhyYev1m1RS1yWSz30zCbIz09h2B2r1qcLjcoK5VICSn3j2yHpRLUf2z0dZisKlj7fOALjYnlxR82FP}8ZyVBOKUfCcnaFsbKK6KyntbXegwrc4uJ8MZKm24wMMnx1ooXVjE4Ltmyp0p1BLCPIfDrJCNkwmBtQ3SwoJptb4f4(7BJwu03HekY346YiRR09nthQgp2yE1sFbODYy1gog4AncGef7JZf5M5FjKisg0l5vpCRqkqYBTtaVZxGklDu92prq(EisaLdeXxIMOfWPxnESeW0RnrlytfqEiyjdFFXeujSJNUQ7YxkBEDW5Xq8b220sd6MjwZYAnqIEYd6a6vxcKe1Pi6[Xkut2OpgtFF9sOKwr8Fsp7D0AG5XUYA1mHmsflpIR83t6nF0hrbYzX6AuvpSU4nbI99bM4U3jblXSKxWoP8sT1ZbI]fQiZQkrEijqO3BWDNCGG1gw5j5lQ3QIzlhN0Oqs9TKiU2PVryXgIkRuPA0puxcw23Dwje4quuF0hhggKl1zKJCjOL)Gx9YnlHIzOp6bd70uY0HvGk4mNgXnamkeobRlipjWn3RhMoall0YxNn7KVu20BLfvCVN7dutrAzR5RcOQ5TCbZf3E(QPdLtdtZAKEyeoX137YNoD9Emu5ur3cNOIbFR4mK4kCkiJiHJe6wRE7vSvpv953VH7hiA135MTS6F67xbJsh6Upn4
8+
mczzGAASvg0n2YqOMCkgBwIHzfU7ykqjbfY9KO6SRNo4miBhiu9YT7H4K1mhR44HQqKeoFcALWIML4tmAfctDHZmp{JEL9VrFZfkRrnDFb8sZDaqQvMoNUaENurwyPU0bshHMMY9iHPTh4tTvMwxOx8NREpsHjm7ns60TzKF90X9Cq4JbK6}GK1Z1Em45cN75o3NaPAoLhBnfMM83FzA4wFnsoseM3boBAoqBnbI1VZWhG10D4dADDWtjrqHZ7W6EudAomiFBwYC3(TFJZfk65LVLgbeNUlfRWjvcnZbzpNoXaFsN6VBBoIfRAL77IxvZqvyPQ4y8dfjh4lHJgLgZMOooi9F1YWQV6Rcqqc)eMm5CKniZDLIHqdT3RQ9zZtegE8w9RCfteX92t4mOPGlE4M8GXOx7M8eeVCrqtriM2DnwoUksuJuleAX6zfngMDEC]AUNY0y84shS0s7H7iF9OcRIQnBbTaMFKcUcETA9eTUWnPPRtciCvvJrGpEu3tDqqrFWNiUtqGIayj3vsfbyCwH4Ck]5ooFDxshR5LNTUJQ0FOQZp56MCV5ICPItUa9qYiTbHeyZBU4RevxqIl2dpWjE4tWmvPPCuatqFBLbcvfMQbqHnZbw<5A6nnYeQHd5MekTuDLya6eIAYZQ71IuVUuR3WRfdMJzC1O9gn2Jc2xwzaGCFYcCGMxHDlkbSgw5qp2M3pl05BBhRj>aU4Ee71Ju00n2hHfQXeWjGDdQr1O66kJ5v57Q8eKIHNeF1UaOlw0UhF2H2iv4AZBGDRI4qdjX2v7t6ATp1xgqyJTW)pPHwh3Osg2B7hXnwHLLz0Djz0t5WVw3AYOlhGprI4skPTmBxFpWJObwY22pBP4iWJ8KmV2JyCqA49Q3SaV6D649AF(p8Hj5HoakHI3LAqmZRAfJ6Swc6xZtQIGHb7mddYqUMjg5owB0UOw35iKxyQt6uF1Bkt3Wh51kVjEDkqKx4VoPMk2z
9+
ChYi2wnI4CehUOpabPvnjVSlJ6lb8p6lWG9ZxClTFGSjGIqJhq9x7bzl7xYrMV39fZhtsy3vtgACtdZKax2FuYRxG{kIVA8n0beKU8Xw6CYqHpQVAR5Adc4eDgV7QAYd9D6kJ2NHGuNsZaPdjVy9gkzRSDIHqkJ11Q5GkeRXn8rEaWutT6d}n9SFlAk1IglTyopRjazml7Alu7JZAbchHSlRM1YZd6kFZoMChEuJL6CRdy9GndUP1kzw7wholUZHoIdGQXbIoyzYo<QqidlJuZifl1Ds7oWVofX6RMwjpQcPOU3KJWj0P2whos55jNr1KXX0lF61rigxRoMHkSPvUiH1wQJmWEvn8nmD5h0>oUqm9WNkEm4wAOAVRNUJ0k53MYmghvZQjhybzA7DWkqcmLUz64HGm331EttD3ifvUGO82b6XsKeEDt5pzEphgdSsT)3BwS6FGrCjmqui5y0xCYPbx6si7XX9vlzrTsqw9cQlcrnz4MjSF7OIXlZcAL3DK4mWPfjNdnsXVihBaYNIjo4jRSB)RdLSHkVSAIFuHioprLxISvUJfYkmlCts5DHh5T8bxSRRHf0kH8AOulzqEpnhshZvt1rPfjlaomfH8OvIMMeJidjhd<0GAuWUxmpGuuUdZdBsHml7sP1IcVDDNznYYx9b4r63deMJJVAQnbpiIbvAHvyCgSVvioa88tk2L33MRS6VGiyI6Pr<9ATX9yiJFqYvk9DdSvht3q9ZhLT7pqdoWCQW8ZdpuzdSglUsGyuvANCF39kdj8WBMW70j0oae36VWmvtdoe3hcR94}qiX1fb0wTHSQSBuZLMzDvH4aPqoR3kGUVIFasf95ejR3oec3a6dSXOTspA6rMrUyJ3bZhJaJg6ZZ6mCuehuQUTywL}GWdti4IwpbxwiY76zQyWNkJYmby5uRCEVuOWqDjKpF3g2tyv3aflIN9JK81FtNFI0CKXERrfPAKPv7PKdgk52T5wr
10+
WVsgT7ytEPBZ3Ybus4KefGL8tWozB4PM7vLmmbfw5Dsc0G3Z4joZMK7PcxsBzQFS8yFTefVseDnjF73mEnNBTGDgM[324sXjcmCGzMYSRiB4rAtf1novDI1oqWfoPUGJVa9czMDAjYexl6JTyp6ilAtV47YVN1EO0g4GPygv3cecdoQObI2)ZobHATt48on3626NCH2sQ4FhUV9JYCSMX6dMvTkH8Nz5QZYRbB1d1ytrLr8Ueww3ghiyZGtPADM8qIoBIn1IgsG9w{xGYFVsGI81cKtDwba5fPojv0tISNFBqaH9aVFklE6FXxbVlDpa0LN37qhaHFi9LuqZn0CEUnijs7gnDOSYz5wWHaS>3wCeilpYipsurbWQC5JYZ6hZsio80oIS1jKKb9gKkR6zcbhPiFtSBYvKrePHt5fKG7bpVSPYtn5MI2iiKiaI1rPmA}lzLRJfe8iVOo77xS3KTy97iwhN8wC0mGCj5Qi2yF0zinMW2aiZ2zGaUm5dpRQ7AVuP2mbv3xxGXx4nu2ApmE0XPBI}dH7VY9bkBaTXUZSdtDjYRVPyzkvHcfyJWwpBLuxY17PVZzfPrdCiNTaOIYb7x83hRl9NTLGpS7aHQwcLr3Q85FgfO[Ei9Eviy9UbbS7tAzGFeTonAUJdfAo4aJ4JFMRAlyU2DuqcVkgFrxkvInx4pgkweqxMRJ8dSzluhxVE1p0Wtxsfbbl<fi5tva3kKCGjlZjZhmc2NmwiiA0ylDK4RnsIOc5B9118jb8H7c3HFCeAqnBR8qTieCnmer7mbBjnPelfedjnZ822H[NpaPRdadmsorZcG03qnMTbgddVKQppOXShBQGAndow2tbh3NOSNyNxXtYc8PSw8eLkV9CPdyP0yrWuDuGoEISu4qH{cfaZj78eKaTXZyVWyWc5yQowD6zjsr5N8Qj8KeeI5pb54UGoTZwM0WdQ5K7bpIVid4PNtdF4DvFgjOMrrMd9k2qyU
11+
6L2Qla9jNlqddHxptIr3eVcatFPjceB98Crik1cah1FPeoRzu8iWem8fjq90RHPklRjvizxFpb1oV2sQcmYfODdcO)HITtGLyXv0FpNO2apDRjt5oC7PK3RCMDyFXXLhxJ8Y5Ll4lk7TA7bf9TjXN7cM5h7KihPNzsZgGqfWhRKIJjEocGJ[cAqIc8PUTwMGegeF5sc0mczBpPagfn2U3uOXyNeosxTsNJtwICz86S7duC2PjVIPG7yBEGd52ynm5GvQI1wGP3eOk(9rVcvHs95SKMKQQhK7u9wtPZ6YN8VP8qJ4ZxPLCNPLxNZMvIV5byfUaF9oTtbi5SiRubZnY4W1tV6MxE5CCw0IKpo<CTbt8MRyhX1yCA8HMgmgbdg7cZj43UuDgGMmmPVTUZ4EJo0bc3vY8ZELALFKVqVXRSoKlOysvHgbTIB6j6hFnmyxt(9nLCfM95PD1Ijp93dG2RK0kw7TaA2Y65P75utshSq0EzMLjlWqmy8FeaGKdlJfvjCQ2yT5n2fCnlL1ZgOqEdY8nag{LxGVKSQkVwDM6o1Z72pAy0TgpdN3uomYRl2UoyntiSsVh2jhz6QIrdASgpTzzn2eMJZNH9DAzG1ePxt7vigXy1u3s<q5rgHPnIEMxxmHyu91AiAIOn63Z7Pct3cBuLyohWGdaHHLEdcZRg8CuNZyKYGECqcHYJpmplfT3KdvEzRbbmd5MR3{4VchjvvNJJ5tvgf4s2IJBtHasbAAHu9MhyewocF5OROSK3kHAQLWDEQMWk0uvePTsNRaLZdDn7SybadDFJONTIoi1(WShgZTTYNvoPgTtfN9B2UnqTpJXuGIoNlZasqSYQNXTEolS8WQCFVSS5d7gOy1reUoQOrFbznoDblGw2LVj0w2iKG<STkeUzdcfu0EEt6jVGBn9RzlQ7Z3q6I68Ly6LduadjOkMQoF1QOgTZFIOjDQFDFH3kN5Lt3wYIcLEJm4YjBPNno0K

0 commit comments

Comments
 (0)