From 4bfc7216524800f0b8625c8fba18c23c0079ffc7 Mon Sep 17 00:00:00 2001
From: Yumna Pratista <yumnanaruto@gmail.com>
Date: Thu, 10 Oct 2019 10:44:36 +0700
Subject: [PATCH] deleted migrations , changed 3 files

---
 .../__pycache__/models.cpython-37.pyc         | Bin 432 -> 632 bytes
 app_homepage/__pycache__/tests.cpython-37.pyc | Bin 3544 -> 3738 bytes
 app_homepage/__pycache__/views.cpython-37.pyc | Bin 851 -> 898 bytes
 app_homepage/migrations/0003_list.py          |  19 ++++++++++++++++
 app_homepage/migrations/0004_item_list.py     |  19 ++++++++++++++++
 .../__pycache__/0003_list.cpython-37.pyc      | Bin 0 -> 644 bytes
 .../__pycache__/0004_item_list.cpython-37.pyc | Bin 0 -> 717 bytes
 .../0005_auto_20191010_1037.cpython-37.pyc    | Bin 0 -> 733 bytes
 app_homepage/models.py                        |   5 +++++
 app_homepage/tests.py                         |  21 +++++++++++++-----
 app_homepage/views.py                         |   7 +++---
 db.sqlite3                                    | Bin 139264 -> 143360 bytes
 12 files changed, 63 insertions(+), 8 deletions(-)
 create mode 100644 app_homepage/migrations/0003_list.py
 create mode 100644 app_homepage/migrations/0004_item_list.py
 create mode 100644 app_homepage/migrations/__pycache__/0003_list.cpython-37.pyc
 create mode 100644 app_homepage/migrations/__pycache__/0004_item_list.cpython-37.pyc
 create mode 100644 app_homepage/migrations/__pycache__/0005_auto_20191010_1037.cpython-37.pyc

diff --git a/app_homepage/__pycache__/models.cpython-37.pyc b/app_homepage/__pycache__/models.cpython-37.pyc
index 03d012f4a9ceb0c1e8cbc9a817275a58a0fdd430..711d89f975eda38b159e312355ecb0e4b2315710 100644
GIT binary patch
delta 369
zcmdnM{DXzpiI<m)fq{Wx$MSix_a^d6GMY?OSCnvPNMT7~ZDB}ZO=ZktYG#gNNns0S
z&}5(JC!@m1z`)?Zz`#(<!@$6h$`Hkv!Vtxj!Whh;$#jdwC$qT3Pm_7#auv>%3`Oh=
z3=Bo=6JOQ2C4=mMVOE$4T1Y0OGH0=*Fs3l|GDfkcGH0=+vZpYoGG}q5u=FxVai%Z_
zGib6-oG4n)RK(4|z;KH*KQBHdH7B(sRg<fT1!ND%)FL(ziwUeCB(<W%Ei*MI<rYgx
zYDLK{F1P%m)Xele@6^g7W{?VYXUAY?M;F&yEIFCQB~ZtL^n;zv0b+47Fff3OEC$)Y
q!N|i{#10bj(`22T%_yr6Vq?>Hi^C>2KczG$)eaO`V9h*CLd*bFTS%k;

delta 169
zcmeytvVob`iI<m)fq{Wxwn2An+C*MSMx}}Bifkz?!3>(L6BA_AnHd-u92giFiX|8r
z7*ZLc7*iOcm{OUuSW*~Mn0gtbSW}pT88lfYPh=EjWSh7^MZSoMfq~%`XGm&AiCboB
zPRcEolGKWll?+AP3=9lK+!N2%G5cw<Ox9tN)qseAg+T-lNF#?$ZhlH>PO2Rv$WoA5
GJWK$+&La5$

diff --git a/app_homepage/__pycache__/tests.cpython-37.pyc b/app_homepage/__pycache__/tests.cpython-37.pyc
index 23cbcbd01366cdc3d5e085a37fc661584facbb10..b697218bc8188e54c688ed4d1882d24a1cd74186 100644
GIT binary patch
delta 1484
zcmca1Jxi9)iI<m)fq{X6Y301w6uyak5{wfjs@n$Taz$}5GNdr1u;*~+@<j14GPpCO
zaHMdyFr;v%GBz_u@wzjlaHVj!Fr;vU`F!pSDLg5>Eet8VU_QS)LkeFCe+xqjKbS8t
zagz%#(=8UylGNN=EIygVB@_QXWfa`}m{FK<@*6Im$-kL&7<ndZFk8#>GcYg|2{14)
z+~UYfEsxJENzE-11c`wOp~+3ms~JTm>#>Nlh%zuROqS+QvC?EN;sL1;1L@*VEG|wh
zDhWzW$t+4uE-BVzDuNq{Y!FDT<m5Xnl9Lax#Ht8`^vi+>c@P1%3qc5h#JDCqvI?_+
zf@`uMquAs;R_S^XkWU=*Qb6AF%}+_q2}vz3NoE9vC<6ln2Ll5G3j+g#GXn!d@jeCy
zh7yKmhFZoN#s!QE85kK#n3@@CnNk>QnBtjhKqN~I6Os&b3R4X;ScW;CrG^<Q!;r<g
zfNdc|ElUl<0`{~TmKw%|OdzAOSQl_CWT<5Y3D>YL;9SU%!VHqBVNGF?WT<7UVNGF`
zWT<5a%d=%Mr-1cAc~DcpJoYT+6eh4vh6U_3>{%=|jFY9=Je;|TK;F5<Qk+<pTEq?t
z4{1;cvgBkImlR2W_);K393;q`n3Gc^$-uy%$pH@gTdW{e@ss=6q`0|22BgG;1SYRw
zGZsJ%<XZ}pZP*p83_u~K0SZP&HbxF6HbxLc&|Hi>Ok9itOdO0HjC^2NWeSan$$IQY
zHVPn@D1rzj5TOYo5cYss;22eAU|`S#S;Yj3Ev6z69~`%FT*{NLve#&XQxz{rJ0Hk5
zcv6!1<n<iljJ}hna9B@Xz{Fc01di@3#sy3Z8EP3zn6ntOKvB(@!qf|jF9@Hx2FkBt
z$YNQ*n!>V>v6iWZVF6nW6Fh!EY;a7bFa$GbvienVfO14?rGlX*QxPZ%iqsew7~rBt
zRZ99fnZ=VmIOXNp!BGZ|oLg+kMX8A;(3pdGYjPu}hzv70f{H+44bF7PIb`x0P8rca
zQ22l}Ffej42`~vT@-Xr+O<uquGWk8Hm@`^PYlDIc6rxDRAc9+qfq}srWE?0{a4>PO
z6oEvb0X`d&sY5`Sx`-7N+8l^XT?9&2kW>dwYM``L1Ws?D5P;=y8IbK@>%as!ia}XA
zZgML3GKlevqLWp4EFD4qDFT%iV1sXQ7ndZKlorP)=cl9=$${*~9n(di@*#EdJRWN|
zG|z*q0?T6cygma1LkyDV*^59Tewu=l<$3*?iZ~``^U7#)f_wlfVZccd96VrU7$#2M
Sz$?ckz{tZapei6MAP4|xs1Zp3

delta 1339
zcmbOwdqbMfiI<m)fq{V`MSNZ?Gw(z`3C5m@>b8E23@HpL>^WSy+)><&4DJjm94VYF
z3@MzcjLpnZJnjrBTq)cw3@O}TKCe4N3Qr1e3quMon9t|VkiwV3-@=f>59aev+~&g0
zc#FleBsF(3JL6MEfz59jg&A3kKsHb2Vb)>fo@~i%t-{B^z)-}`z`$^eBQLc)KC>h>
zw@3ga1||eS5;Bt=cw{DTVeVoSo@~z|&L}cDoJGr=8>C1SB+s8%T%1}|5|o;fS(KVw
zQmn~T1UD7kEXm1lStKW4WQny90_m3l5po~`Y#o9CSzN@)z`y{)#cT`=3>-`xEF5e_
zoRia7P3n0;-tx^)NzDmKEiOrB1cfF80|Q7M3j+g#GXn!daS;OpLkUAOLoH(pV+~_G
zV-4d1riBcQ5HY3{rW&Sr#u_G=SQhgFmW2$p%ry)PSZkOUuq|XrVP43@$WX(a!Xn8~
z%TmLf!Yav7%L<kkX31hqVFXKql(S|rrZ7#eXY<fuFJcFIMhX-xEX9dssYT)-CUas=
zPLUW$MuLHXL6Z#}K9jlFr6wD&8*wA~dU7timK;b810x$F8zTo3gydorVB%opVB}-0
z(wlsS-N;fNWR?PmPy`WbAOc|wm<0|&B?bltJy2jUfkUuJX|g%T4sCGM@qqO3f}DdV
zy2K~@a*8uLPd4JTp8S)UH_`<hrdf<xOeu^hOudYt&;;|CA-oy}P&lTrEM%-@1cwxI
zFfl?xG=(9UL6g<5iUX9^QY#e<H5rSfCO_jes%L|Q9yrL@l8aIkOHzyAZoS0^NoLOZ
zc_oRNd3aNqcu8t;NqkCXaY0UEWpR9BP7XL>7rTRk0+az5nE06Z7<m|Zn5tBKGK)*X
zGE>V#CNJiacR&kS4Nxd)g9vb-A_#EssxvS!ID*UsB|1<7EmEIs&S5jzj=KVqS3*QU
zT3JD%%mMKVD91pO0yw3B{8|Kx@FGc&N>IXqWglsf0GfrM{1QA_iDwzact(-Q4|yyd
z!C?e9_!f6@Nn%N9aeQ)qN@|fT$Zp&*Tm;H|QIn&2t=-Uk4zda?i<E`It^xa8hk=11
z5XtB4MIaGBO@YaGc>O0E@JR-8fSeD?y+xozSOf|xuo`T}-Quvx%}*)KNwovz<YG|K
RzypdM2xb;g6%ZB>001ud?rZ=6

diff --git a/app_homepage/__pycache__/views.cpython-37.pyc b/app_homepage/__pycache__/views.cpython-37.pyc
index ca07c81cb9d3f1d7f0ab1a1d954deb95f2cf32fe..97f8d89704adc73e03d6ae56ddb2132615dc18fa 100644
GIT binary patch
delta 412
zcmcc2*2K=|#LLUYz`($8YsI`+Ugn8>5{w=b)ivdE*`wGQ8B$nN*jgB(I8xYCI9eE@
zI8!)NxLO#ZxF%+q@-p3G@hnNry~W~_SzI!4nKvWn#835%+>?tKbL%-67#NCpKm;e8
z0NHYjvn(^UJU%D0xI~bFfuWcMWHTcdV-Y_C14A++h{wRdz{J470FrSADbZkHU?^e8
zVqCzqkfD~bggJ{bi>ZboizS6olA(q%g{hZ`k)eb&g}IqAm_d`p?-plfNvd#ed`W6W
zi6+x677%@lB`33Zay*k-B3ltV$UVFu|FR_)r6!i77O{aiECK$(Aw|p#3=En~MIhJT
zVg)%ez6j0z9C=XZi-Oz+(#pWd#VE#DB*wtN;HSww`394X3)l{BkVPPGfu)el0h<U8
d3=W&z{FKt1R6CHzi$OvHj6942%pBYtEC3}_QS$%*

delta 323
zcmZo-zs$zx#LLUYz`(#@ATclYA=5-Y2}YNR>Y7rF3@NNBY%L5?>?!Oi94!n{94VYB
zTrCVyoD=g**%@!Kc$TE*PTb(l$T9IxJtNoT8pd2vb_NE9B5n}D0Vg;o|6`P4;bUN6
zn7BdAREB|pp@boeF^j2&A&WVMQIa8rsh5$Fp@b!cxtTGTL6gNViZin$H8;K_wW36m
z@fJ%-YQ^MgCbeMJA~ukjJPZsBx7d=4QWHy3Z?OdU2Zt0fGcYh{G8Ta?N3s{BkRva(
zJU%D0xI~nJfuWcM<V{8q#v&mG1_nP(uE|WyHufOD7lE7y7A-;;0A_K5O|i+%Pbtkw
VwPOUC0@5JB$iv9P%)!mU0s!iPKKuXx

diff --git a/app_homepage/migrations/0003_list.py b/app_homepage/migrations/0003_list.py
new file mode 100644
index 0000000..49253cf
--- /dev/null
+++ b/app_homepage/migrations/0003_list.py
@@ -0,0 +1,19 @@
+# Generated by Django 2.2.1 on 2019-10-10 03:32
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('app_homepage', '0002_item_text'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='List',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+            ],
+        ),
+    ]
diff --git a/app_homepage/migrations/0004_item_list.py b/app_homepage/migrations/0004_item_list.py
new file mode 100644
index 0000000..ad00e65
--- /dev/null
+++ b/app_homepage/migrations/0004_item_list.py
@@ -0,0 +1,19 @@
+# Generated by Django 2.2.1 on 2019-10-10 03:40
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('app_homepage', '0003_list'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='item',
+            name='list',
+            field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='app_homepage.List'),
+        ),
+    ]
diff --git a/app_homepage/migrations/__pycache__/0003_list.cpython-37.pyc b/app_homepage/migrations/__pycache__/0003_list.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b1344b72f610c862f78f5042143576b68613faa2
GIT binary patch
literal 644
zcmZ?b<>g{vU|<MdHZS%vBLl-@5C?`?7#J8F7#J9e)fgBUQW#Pga~N_NqZo6UqL>&N
z+!<1sQkYv9QkYX2vzVKiqnJ}zf*CYfUxIXNGTq|J%}g&!EXmBzE55~+o1c=JQ=ANv
zf?-aW;bsgB45<uJj42FJOeu`%j8V*~ELp4|!&BL^*i%?iSW;M1*izVgS<;x&8B;iV
znbH}fI8r!+88o?War(k+(PX;ClUPs?pOK%NT9BBY8pUT|U|<xVS(2I?Uy@o;a*M?$
zv$*6IQ)Wtt+bt$f7fqI1Jc*?x`SHm`sfi`2DYv)_iZXK(iz?%@Q!8(A7N-_vCgx;T
zrQYHxOD#&uFHVimOUzBxWV*!yqHnRKWv1q&6#Hp%-r|S{OU1|E;);*Y%}*)KNsW)c
z#S<T2SelpvQVimyq!y&+rKIL1XQmbxF)=VO+~RfyTkH!8nj&V92&ZFdNxmD%+*@4v
z1*y=`Tggx)#=rm}eigY`#dw$IWF}_B1gGYv7MG+JDVWCu_y+jIxK^YVC1)0=Dj3EX
zni-f`7@Jv|o9Px5B_@|-CZ`%<6O2I)uoy&y#TXbE7{}*i7MJK1R2G4f0UIb8a4;}1
za4@s6urM+)fkpi^S#EKrWF_XM=j){;fxQLx30M;0Y6wdl<V6k}NC4S^JX{P42LWaP
DKNqoi

literal 0
HcmV?d00001

diff --git a/app_homepage/migrations/__pycache__/0004_item_list.cpython-37.pyc b/app_homepage/migrations/__pycache__/0004_item_list.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e3b6d39860a2c896a045878d5a8723638fed8e78
GIT binary patch
literal 717
zcmZ?b<>g{vU|`T&F)#KFBLl-@5C?`?7#J8F7#J9e^%xi!QW#Pga~N_NqZo6UqL>&#
ze5M@cC>D2y6y_9`7KRj-RK_gUX67i?6sBMXP1ctnQ#6@waph*F7bTWt=I0gPV$01>
zNzEztO9sioFbB*Q3kC*;RE8+V6ox3K6vlMMDCSg_EY=jJ6y{X6EcO(ZRE{jpEVeAJ
zEbbK66t-UG6!u=`bjB#26qaBHO^#cfzA%e4nQrkU78Jy1<maXqB&Mg{;xsTYFpkg3
zEH1gll39|Pdy56c_Nx*^R;A~YSzMyYe2YCLH7&6;r{orAeqMY^YEEiN>Mf>{d`;$C
zTwv$N=OyN*-eLihtZA94IVqaFw>aX#!twF9xZ>k;^HWN5Qsd)q@x;d$mL}$al!ACE
zsRgNdDXDqMnW@D^ObiSRw>TVAQrtjB6fuLiTyFVAshR0{-l>(h*iy0*^V0KgF{LEk
z;s84%Ge7SZyR&1kv!jdaEw226RA{iSWGIqiV1N+6%3Z8tyi0R36Ek9hQ*%>`OHzvz
z%wqz41AJm!D^iP+GmBFd3}Xz<49qNy%`DB$bPI|SlS?v_Q;o0*#vlh!3?e3D3=9lR
z;z2<P4pqH^$|6u=VFx7^P<rBEW@BMtWMX7u1dD63-Qt9JM=vD_>~n~JCE<d4;Giwm
jgL$+_6yzh2nFzl@Skj<?;;?~)u^lMbib2W*7&({$x(3Nq

literal 0
HcmV?d00001

diff --git a/app_homepage/migrations/__pycache__/0005_auto_20191010_1037.cpython-37.pyc b/app_homepage/migrations/__pycache__/0005_auto_20191010_1037.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8724174a1902e15f75769cbcd629918e31a89cda
GIT binary patch
literal 733
zcmZ?b<>g{vU|@(}J}>q&BLl-@5C?`?7#J8F7#J9e^%xi!QW#Pga~N_NqZo6UqL>&#
ze5M@cC>D2y6y_9`7KRj-RK_gUX67i?6sBMXP1ctnQ#6@waph*F7bTWt=I0gPV$01>
zNzEztO9sioFbB*Q3kC*;RE8+V6ox3K6vlMMDCSg_EY=jJ6y{X6EcO(ZRE{jpEVeAJ
zEbbK66t-UG6!u=`bjB#26qaBHO^#cfzA%e4nQrkU78Jy1<maXqB&MfE@fjExn8at6
zq~^xwWEPj)VgWI4v4GfqRf5P$^?WjmOEj5pv8SY_C6?xt+~Um7i%&_-Ni9je#Z;27
z$$X0o?1%Wg#N5<dEMSr~Ei*MIMU(dyM?6?KKK>S0e0*+xN@-4NeEcn*`1r!o#2k=P
z5HBUQAT=)~H7_|cwYZ3hfq~%`mt#&zYLOerkRoQVfLnf1YG!(#cWUJ=wv?>Iy!8BA
zOesmXIKU3c%+I^U?(7)s?C9cpiz~k%6&kuL8Hyws7$C&21{bRs@6w#i#Eh8W)ZEnK
zlGGvv^OykN0G}AwiqxXy%;Ho9!x%#|12YR_GfQ(b-GZXT<dV$fR3mJHF~~s_gNV==
z0|Nuo_{7qZ{CFb+LrX&gLxXrj17mZ&g32OL;$a6R9#Hz?U}j@sVPs-tVg!q8vfbi@
z_)9M(2^<Izk4wS@^}wNAtOxUPkqF3ZATtr3gs`MQA;w_?32r-3_!Wbc2{3Xn0{|!d
B%^3gy

literal 0
HcmV?d00001

diff --git a/app_homepage/models.py b/app_homepage/models.py
index 2339168..d3e5682 100644
--- a/app_homepage/models.py
+++ b/app_homepage/models.py
@@ -1,4 +1,9 @@
 from django.db import models
 
+class List(models.Model):
+	pass	
+
 class Item(models.Model):
     text = models.TextField(default = '')
+    list = models.ForeignKey(List,  default = None, on_delete = models.CASCADE)
+
diff --git a/app_homepage/tests.py b/app_homepage/tests.py
index 839b881..ecf5428 100644
--- a/app_homepage/tests.py
+++ b/app_homepage/tests.py
@@ -2,7 +2,7 @@ from django.test import TestCase
 from django.urls import resolve
 from django.http import HttpRequest
 from .views import home_page
-from .models import Item
+from .models import Item, List
 from django.template.loader import render_to_string
 
 # Create your tests here.
@@ -13,7 +13,7 @@ class HomePageTest(TestCase):
 	    self.assertTemplateUsed(response, 'app/home.html')
 
 	def test_can_save_a_POST_request(self):
-		response = self.client.post('/', data={'item_text':'A new list item'})
+		response = self.client.post('/lists/new', data={'item_text':'A new list item'})
 		self.assertEqual(Item.objects.count(),1)
 		new_item = Item.objects.first()
 		self.assertEqual(new_item.text, 'A new list item')
@@ -43,24 +43,34 @@ class HomePageTest(TestCase):
 	# 	self.assertIn('oh tidak', response.content.decode())
 
 
-class ItemModelTest(TestCase):
+class ListAndItemModelTest(TestCase):
 
 	def test_saving_and_retrieving_items(self):
+		list_ = List()
+		list_.save()
+
 		first_item = Item()
 		first_item.text = 'The first (ever) list item'
+		first_item.list = list_
 		first_item.save()
 
 		second_item = Item()
 		second_item.text = 'Item the second'
+		second_item.list = list_
 		second_item.save()
 
+		saved_list = List.objects.first()
+		self.assertEqual(saved_list, list_)
+
 		saved_items = Item.objects.all()
 		self.assertEqual(saved_items.count(), 2)
 
 		first_saved_item = saved_items[0]
 		second_saved_item = saved_items[1]
 		self.assertEqual(first_saved_item.text, 'The first (ever) list item')
+		self.assertEqual(first_saved_item.list, list_)
 		self.assertEqual(second_saved_item.text, 'Item the second')
+		self.assertEqual(second_saved_item.list, list_)
 
 class ListViewTest(TestCase):
 
@@ -69,10 +79,11 @@ class ListViewTest(TestCase):
 		self.assertTemplateUsed(response, 'app/list.html')
 
 	def test_displays_all_items(self):
+		list_ = List.objects.create()
 
-		Item.objects.create(text='itemey 1')
+		Item.objects.create(text='itemey 1', list = list_)
 
-		Item.objects.create(text='itemey 2')
+		Item.objects.create(text='itemey 2', list = list_)
 		response = self.client.get('/lists/the-only-list-in-the-world/')
 		self.assertContains(response, 'itemey 1')  
 
diff --git a/app_homepage/views.py b/app_homepage/views.py
index f106a55..48700c6 100644
--- a/app_homepage/views.py
+++ b/app_homepage/views.py
@@ -1,6 +1,6 @@
 from django.shortcuts import render, redirect
 from django.http import HttpResponse
-from .models import Item
+from .models import Item, List
 
 # Create your views here.
 def home_page(request):
@@ -19,5 +19,6 @@ def view_list(request):
     return render(request, 'app/list.html', {'items': items})
 
 def new_list(request):
-    Item.objects.create(text=request.POST['item_text'])
-    return redirect('/lists/the-only-list-in-the-world/')
\ No newline at end of file
+	list_ = List.objects.create()
+	Item.objects.create(text=request.POST['item_text'], list=list_)
+	return redirect('/lists/the-only-list-in-the-world/')
\ No newline at end of file
diff --git a/db.sqlite3 b/db.sqlite3
index 0e00fda6995599cfff00e6771ba161d1593d94c7..45ba44c2a0b385b625e774afb607e0f4698c4a8f 100644
GIT binary patch
delta 1079
zcmZoTz|ru4V}i6`Ap--0G6MsH5(5JRBLf42??fGA#=?yWOZb^ZxwcMb7f@&6`oOhy
zv!OsUSG}buD}$=0V`4!;d`5n5YC&Rps)2!lNqlBWYHoZ^W^sv;fuW_Yp@FWUfr5dt
zm9dGHp}C&9p_#d%fr$t!gQ`5bR%2|sjI2xy^$ab{EX>R-g^?}XY$E-Lg^6Exv!a41
zzX^XlgA8L{YI%G-vU|X8Q4?Wi)@4k|O3X{ok55d=&CH9>$xl}i<)56WugRz|xm(|Z
zkz?`|eQkbGE(Qh$4*qxs{&)PP{PCN43<CKlm)Z-mf_%d<xzxU2go8hhf&VT4P5x8-
zd-&(`ck!3-$8A<LaN`#f;b37<6-Blkq-%1C{{&_Q-kFox11vds&+_i(UCBFhv!X&E
zuQNXjqdX%=S!QZE*xw3*ER4#G94V<esU@jk5qXG6az<iaIz&W{kA+c|ks~oB1*|}J
z^PO0YB4!1C*U9V`EIIhY`2+dA`CT_FD*WY>U}a`x<WK;U@?cU9Ov-MKy}!JHS&(VL
zboK;Bc`l{}oJSZRGB7YyOg0qo*j|yqn91nRmddbS+|rV<Nw_32DJK<sxMCMob`ElN
z3~^Nmadh%=RZs#en*Jb((Rq4o7NeMlj)D>>Sd<h>QY%Un{QN@{{6c+vG#eSM*~Rts
z85<4379xit*ryl*(=R45%CLZp+Ws+#aWfmE^7O(qMp2PQa~pQB%Q+i$ZNNr0aZX>A
z#Hh}wJe?<tF`W(KfbGdyjB`^3co`TN7z98BgA4-$gY;&>hWGrF|M#;pD{!YwXMezG
z$-#Y$dkJ?Fcgki(1sU#o83k4bMtOBatT`v<DS)C-0pt_~c~%BSWo_g*1j$396rw^7
zq5>&SK`J0zunH+zRt82{Rd^hOq!Uw8z;ZI%AHQalRbdA^n1NwCy8zQqei4u-*!VLU
z_@D9b<6pvG!(YgsxmmCvlwXofjfFvwH!+b@m4!i^x3V-hFHuc}g&~l4dVw61l7fUX
l3xg@IQ)#6_L26=hesZ=#T54iRMru*9ni5=<l!PKKRRE#$Ez1A^

delta 392
zcmZp8z|nAkV}i6`E&~ID5(5K+90LObBLf42=R_T2#@vkwOZb_Exz#4K3#e~aRQSQQ
zSxx!_%VtFbV}1z{W@cT+l&r+O^!)h5l-$g`_?-N76;Zy)iTaw1GLyUYJs8<1U(wg*
z73N}KU|{DjW#E6uU%HvkAdr9J0*T4-_JWh!?CXTs`AZo1-}2w&KgGX?e?ET~f5~RS
zf;j%kCH@nbWq9vQW)HC3tf(-Dck`WCjUr|l{@BUv7c4g`8p!f*j=jIUfmwiAWjcET
zqdXVqEzZ*nAW$*cQNUw+MFL|c<76IA<LOeFjA@e(bEtA_vZXS#i0kV!HX2Spm&vF;
z{bCZM%yio%Mzih8$&8I`jF!_2(-@^x^HR&>;}c6uGU7{%8`Z4X#Tyl^*u^a^85?68
z#jV)ECd7hGU{sp^Et4^QdvO+HZ>j*uawwKzU|^8mEZFd#fAar+R%RLQN7LCKFoJxt
bh<p2^*Nk#1?7R#N3~c=Q+t~$}e)0nV6CiD5

-- 
GitLab