From 263b515e0652a6313083c4172a8c7c87c5839ec8 Mon Sep 17 00:00:00 2001 From: fattore Date: Tue, 24 Feb 2026 12:34:33 +0100 Subject: [PATCH 1/4] Add sequence diagrams for Clause 7 --- GS_NFV-SOL_026.md | 69 ++++++++++++++++++++++- media/image43.png | Bin 0 -> 9666 bytes media/image44.png | Bin 0 -> 13787 bytes media/image45.png | Bin 0 -> 13516 bytes uml/Clause7/modify-inventory-object.txt | 22 ++++++++ uml/Clause7/query-inventory-objects.txt | 21 +++++++ uml/Clause7/replace-inventory-object.txt | 22 ++++++++ 7 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 media/image43.png create mode 100644 media/image44.png create mode 100644 media/image45.png create mode 100644 uml/Clause7/modify-inventory-object.txt create mode 100644 uml/Clause7/query-inventory-objects.txt create mode 100644 uml/Clause7/replace-inventory-object.txt diff --git a/GS_NFV-SOL_026.md b/GS_NFV-SOL_026.md index 7872aec..1a73c63 100644 --- a/GS_NFV-SOL_026.md +++ b/GS_NFV-SOL_026.md @@ -758,7 +758,74 @@ The request and response data structures of the physical resource provisioning a ## 7.4 Sequence diagrams (informative) -Editor's Note: This sub-clause will add sequence diagrams of operations supported over this service interface. +### 7.4.1 Introduction + +The following clauses describe the sequences for querying, replacing and modifying an inventory object. + +Flows related to task monitoring, subscription management and notifications are described in Annex A of the present document. + +### 7.4.2 Querying information about inventory objects + +This clause describes the sequences for querying information about both multiple and individual inventory objects. + +![Figure 7.4.2-1: Flow of querying information about inventory objects](media/image43.png) + +**Figure 7.4.2-1: Flow of querying information about inventory objects** + +The querying of information about one or more inventory objects, as illustrated in Figure 7.4.2-1, consists of the following steps. + +**Precondition:** One or more individual inventory objects have previously been created. + +1. If the API consumer intends to get information about multiple inventory objects, it sends a GET request to the appropriate <inventory object collection URI>. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of an <inventory object collection>, containing information about all the individual inventory objects that have been created. +1. If the API consumer intends to get information about an individual inventory object, it sends a GET request to the appropriate <inventory object URI>. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of the individual inventory object. + +**Postcondition:** None. + +**Error handling:** In case of failure, appropriate error information is provided in the response. + +### 7.4.3 Modifying an inventory object + +This clause describes a sequence for modifying an individual inventory object. + +![Figure 7.4.3-1: Flow of inventory object modification](media/image44.png) + +**Figure 7.4.3-1: Flow of inventory object modification** + +The modification of an inventory object, as illustrated in Figure 7.4.3-1, consists of the following steps. + +**Precondition:** The individual inventory object has been previously created. + +1. The API consumer sends a PATCH request to the <inventory object URI>, including data structure in the message content body representing the modifiable properties to be modified in the individual inventory object. +1. If the PIM supports asynchronous operations and modification of the inventory object requires some time to process, the PIM returns a \"202 Accepted\" response. The response also contains the URI of the associated Task Monitor in the Location header. The response body can optionally contain representation of the corresponding Task resource created by the PIM for this asynchronous operation. +1. The PIM modifies the individual inventory object. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of the modified inventory object. Alternatively, the PIM can also return a \"204 No Content\" response to the API consumer indicating successful operation. + +**Postcondition:** Upon successful completion of the synchronous operation or of the corresponding task in case of asynchronous operation, the individual inventory object has been modified. + +**Error handling:** In case of failure, appropriate error information is provided in the response. + +### 7.4.4 Replacing an inventory object + +This clause describes a sequence for replacing an individual inventory object. + +![Figure 7.4.4-1: Flow of inventory object replacement](media/image45.png) + +**Figure 7.4.4-1: Flow of inventory object replacement** + +The replacement of an individual inventory object, as illustrated in Figure 7.4.4-1, consists of the following steps. + +**Precondition:** The individual inventory object has been previously created. + +1. The API consumer sends a PUT request to the <inventory object URI> including a valid representation of the individual inventory object to be replaced in the message content body. +1. If the PIM supports asynchronous operations and replacement of the inventory object requires some time to process, the PIM returns a \"202 Accepted\" response. The response also contains the URI of the associated Task Monitor in the Location header. The response body can optionally contain representation of the corresponding Task resource created by the PIM for this asynchronous operation. +1. The PIM replaces the individual inventory object. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of the replaced inventory object. Alternatively, the PIM can also return a \"204 No Content\" response to the API consumer indicating successful operation. + +**Postcondition:** Upon successful completion of the synchronous operation or of the corresponding task in case of asynchronous operation, the individual inventory object has been replaced. + +**Error handling:** In case of failure, appropriate error information is provided in the response. ## 7.5 Resources Editor's Note: This sub-clause will add API resources of the service interface. diff --git a/media/image43.png b/media/image43.png new file mode 100644 index 0000000000000000000000000000000000000000..bafeb9d46b6068ddac722fd5beeff2f7324919bf GIT binary patch literal 9666 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 a{=e-qcsFbBTP+3#1_n=8KbLh*2~7atT>~=! literal 0 HcmV?d00001 diff --git a/media/image44.png b/media/image44.png new file mode 100644 index 0000000000000000000000000000000000000000..b33c5836a8250a289aa41b1ad50ebd481a3885d8 GIT binary patch literal 13787 zcmeAS@N?(olHy`uVBq!ia0y~yU?H9t*xr3r=h23XlSTqZf;<1Ze?d@W?^Ar zXXoVLVD9W}2Ar;p-dZAK)4o=oS*<85kHC5)v65?H>~p5FH&IAD^0% z5}ukGk(88_mX?#16_cNzkPQMw#lWe%G8ib7sw2 zGH>3B`3t%iE$&^qY{KHjix(|gwS4);)oZ4%TR&snx^=5oZC$%|$NCL3H*cA$Btb(eq!y(Q|nKi-f;f> z`I9HFojrT=(&g=!uk5&d`SOJecduM|c=OiYJ9iJLjk+>^+!8|JsO#mLU(rsXkltb@dk>Fy%jWU;3?lW#XYX-eamQLhFqJbl^2g)Tm3h6 zQnbnhr>e{nu5R6?CF`Ta8nvyit=PNK+Ff4JHJe*a(cYrdx#ia39lEVGTO|Is%;w*5`uRzLS(e|EtljS?#Z*e{oGTWcZL+p; zIhSs~41b0BTjsd^x7#NQLWCiVvM z+a3sqvVX`(@Cgk37-DOYujRIH!;?inkNp(>K7H!N2TU&u^JGPqMu%}F^PZ8iNiELm zv|PoU++Uiw#x>m4V=v?RyV~9!Y8-yo0{HiH6l|UUcm18y&E@}>)Os)fu`6=ji;KFO zB`0`^cYd`Jxlp?NdafSRBv;c3!F%&=y& zMs)jDo_%PUq3`XJyr8P;d%>QD_q(R4EbCe4AHV5)+xg~i<}VZb%%uKJ+PM4heHY8(L37X>{j2|6pY7*u^<-c$-0SJ$7*cWTZ7p|+ zNa(h2eqAPwC2}q90*hJ_DpZpWDR;F6KH@Q6d|;}!l$*p;`8wIyU2Lgep7WjNewKhoeN4_a$n!P@-tug z&dT@P_OM;MzgecguPu8UGS_PNIXlCA2KM&aj?yT`zG&_{3oUY3%Qg6-56X5O4*SwE zMWL`dI^sv4jO0o=i{8oV%+vc%mP9$XbXZ>bRxNbs(DqjcT0BY*Muu$heR)L4x6~zl7GYOx78Wb1ri!xa@Z>G+=!fAhWH> zTBLpL1HPk)+A;+i8=31L>0f;L&t1{vbf9;c#oCE-g0tI$9#+;L;raP`?~EHW3R&OV z7Vf?*)?t+~t=fNvJahH8XW~|CC-F@zUs2n9u0!wV?~k|7uR9;uA=|r-M{Ze4}&(!1_ z*V528W!vw}-~D{S?_XCIZuoQV^u0Sy@7tYvOwzBecZ~U`-|?`Rz`wD{lwS z;62?QD|haaeOk)Gh`c8k-&DPLyv2;o<<7!=x#zQ1IPqPrdAPx#;eu58IZx(~UO)Ft z>6#?Y&~|puhs4Cv_sbn}LZf(RM{dmwJ2vmq!rtA_m&N>;uOoivD#;IN2O1`{N(ia?JG4W+E(>~pS|2MV}YM^Ku2%KlU!fJ@Z6r_*Zt*wt$B@S=h|JV`zpM=ltq0Rua02z z{HPc`*^{lF`;=QGw#iMl?0K-!2AY@)+8=EYMM~dVQ3tL>`~MR(Y=8BTm;e5%gA-ph z9`;!OYKc?mEKqXINeaFtG_QW+LuI8ajK>RCSrt^832V12KMPp+fJb;)qD+re=Sjnm z((93TekEM-@Uaqc|AI)&GfGxGj7=|m-5jWF_%a~JZodJWTknx2&V?@eJDdw|aDkJ) zXS>zoEld{~z%qtboM*%&Oob-%9TnUQ&JbXQx353V-PqWEolkAM)vkmkw=Cby&buv{ zQ@)~aew%MN-|T=r&t7h*6xsi@)cMH&_onj-K0f2SD*KRYzI$Q&t7#lyY97aI5N{dB zba%`50jUg6pM+N~7wy&fe%M`GYjfVk&IRX0`Hn2nQ7Kxk!QUt~E`d2IxJoZbqis^4^-lv@@7ccaL&ehI2nlg3c z4gb{>64z?K^+=dum2^$PMox5__7(lQ&zmPnfBN1l){y3ubu4TFyZMK{jY97(9g_Ir z&i>CxRQZTbl!)i0(1+D*b&==yt7^~cE+x&~YZCjFMb_P5+tFQS*?X5tnP#&YDe1_G9^)x1|FUDs zK9$#>Vr$D(%SEy6S1u={ol~-XH4D*AeSE zDs5c+h39%=5^G}nY|b>h`SJQq)3(Wdo?CTo#$>L& zE^C6s5?9^IUVKehY1%iJhY^cby6SY#5)0ZF@k2a9*=ZqL&;p-L_rFbid(-Rivw+^c z-;dp4n_#*;_2=o2XWu_JnQn7G{9pdfzmtAn*cHyuc0TLJ`9shCuK#u?xH;>*MbFwi z9kb0xj!auSV{YTJk2Ci$Eihq@j9i>(qkceK)io_`N!9E_LYF6Kt&)o@ezIAO^Y%ND zl3S@FTlUyGmievXdKt<0vhmPNE}MBK{(>FRJ3S_gHM^{}2;4kSx^3fpPo|#M z5Y8;NZ!N#~T`)BgJ6xjd?X%>~uUDB;^N-j~wRD#|x~6AO|CH?=dGcvXcAc8!arL#K z+=AzCe{=iUtX+J_<;BhQX6!w-#)Zq6jLp`{naag)_gKw$>B*jcm)4b8>-R-ie)sJo3qy*O`Z~lCg{9n31 z>~GZsIoTb1>W&+)oVvSK^}(z5FFL(J7Y{D+{riYLO7q43bcI+YCSh?o%WqG$oBW0M z3x!tye9ieVW9hU7o34MI7NA%5(50>8gTHi2jryH8!;y7bUQw-%#W zQY$W%+vJ-cnjdEM@!|iX?OXT1sr%8aQu*S?fojit>Q@(4PuEU9YPi2URzaBO=!ev6 z&i`&mW=hE`E`BD;ocpJmGm~NQw)G7nA6VDrC3S`vzL>bbnkmt9rRn{cxiel|HooFh zEU2|1%l*?<>mb9{ElR#RRtpV6w_dDrIyz}yhK%Ue6*aNZS~8g~npY&E>t=|*yPR8X zHD9Rvdibo^3jN+^_bPa1uF#%%>&)&PiLSMdHys`9wAQxfa0|~^ukRgO`{h9Df^A;} zJ}h3mGChoE$ugCv^ z-`a|=SBkd;cz-v(c<06`heSqYYfXb5xt+nf_uO8`X1ovjFroba=CIS11?{hR4taR5 zI=hm!$SF5r?X=GYb{1y}y&FLdmJR=>9S>jQBKT(iyc_QV_}z~P$gF9)|H&eUbu!=4 zj3mKr2Ubj+QKI1{+`WMnT)Lx``$;CO=FyN^W3lFrn@o${k}fT@SR@XrpIojQW8mzXM*SO_g4ie;`}$&u3r8mXkjj9!1}D z-5|2Iu5nA{rB|Oh%`ZLU%D0=%w&Bal66Wc#KO0llyh`bO{H(@XZOhCrzl0bQKK?IM z-ug~|!qw_)J07p!Qr5U?Q>0w#-j@+gFJ`SzkC`=z&$0QUtnJK_6<}()$euhl&s}AlG@#u z=bu-l!p^Z)BJ4o-@9(>8H(yTt*x_B?>AQo^>h{u>Uxmq+_qKL;vSx;Fl-0M0cNCwK z?a`fkgm3Hayc;TCjY^*=hCZFjaDCqWM(HFu%MEgw1-!aTCQA!_i{6KXV(MpVReI zZEKcZnCb-Y%Q+iM=9=tkh&ij5wo1!h{lK~N-2u*rnzJU@Wn}*EaS~6pXEyd*mHK&; zFw>&r3(a;0{hQ8E?e2Upt^fS%pY|{KKd65yZY^*7)>I}J_3EwP+B24aGE8$^9zO_i za$fQBecPU-pNkCm4wN4M*Yvo!G-L+Hx_|c{u|D4so13+2z27GL`L90S4SBj^!-jw7 ze@}bR?X%lE^k+t7w@28*D*E@Tkf}zmj`VcH^7qs3miu41Yo(It6#4(!8LmAV){zTeMrw1PyS(PfwpX`T z>L#t+ClRhUD z-E!FbF8tk;g!Gl`mMCRjT;%F6yWBmK`TD8t6 z7MyjqaoO*SQ`@%{`^Qez;a?GG{G`d)-j455@RFy>{~O;QjJ#YreXpSV6k)&Xt&7{H zurI6*KfY_vVxz`Yt*5esV+A-KJ-l;3RHEUn_eEu%m71nMPRULGS@Xgz`9J%r(%r z^8G~P>*mOL(FvCpp8L|d=gbcI$Te@oe*Jlo_VX+E(aW0eUTkrje^5Q@|HkjTuc)N= zh_K8kS+U7lS?-a(egEYawQC8N7Fzsq`nG(>x1QfOYp*0C5>T| zy=u?tfjP*!&wn6x&~lX7mq0AG=dxKG8ehQEp$*>p8&CeyGKfM&*y-z@%LhOGe22f9+T25 z7@LqB5|>cbtFwpiYwFa?f1h#~$1Iy$bJ#Z6F5`o*`Q9q6-St0s4_y?U^Y!LAlRJE- zKaQK<-SX?o-JZM&hZiQS?sv8{(hxt*Z=Kuuf_<^^(>|8=qi;EPet6iM?vxY8XJEC% z_R*>8_C2u@ZC9S~>CJhs?J(uPyOPxIr#Hh5Y_12r(6qj<#b#IO?!$e5$=Qv2f9+gY zr^@qE<#q24%ZF()UVj4iHK^NNJJ}iaxbmRaf!5gTw{OO`N!GdCSU7Fl>BnE<7sS8c za%lhIY{pe$^QDsQw$=u;O|oU!dPCIJe^X+klrO96bbqbRg%?hFm6oci&I-%Xs;R5r z`F=-nX#Ky?Rj#35e6{MXYjLjI$;oC{^z=)sw$8VL_jMf`obS$lcrPq^miGTyF_-=& zEU16+XqBO{F83VGyF z^XzjEW%uvZ6?|=e+`c+K*D!4|qkYA<*2Jw#`;QzFnX`ZSy(8wAUQ9E7nl?r5h4s#7 zAp)X*e+f@Hcw@_vW52dI7W~-l$nQ|)wYI{hY!OSLYrzAn5C=cT9+8(5|NQ?XlhYb# zY3Uw#%yDT~QIF%#83N|KeOJS-Gv+W`bl*Jjee3ykTMvC_J^EIdb&BTFLr2UnB^3L} zJ=6{n-tqhD<@?EOD$l^RV27c%0w>F@t68TeCfe@U z*u^vDVbDY735?>Z4VMiBuEYdC@bZ&0p0q*pKD)gPo6rw6u@4V#&lQYp-=)9s+j*~7 z>wZ7h`g2$P&u`&3`Ti$QN;0c2cz0>Z%)(EliuUWc)K(p>42Z0{w1dTn-!CL@g1*bL z$0->)vHJ2_H7VC$-Tqhi^4H~!8gmc!`aZ4imz~G{=!PeAro%?YJAcogyk8g)lz4PH zv+}0xd+hY%58h3!4QV}rsjrE+O^j!HofhBEAX4yAyZ#?%j)`DJ-W9Q*E-x+ z%00Dizr!t=&l@L%Z?uiJ%L)0xV6*?*mokq^5!)w6=UX!b$7BX?U)vTj$&8DuZ_dBG z2{sM&3AY;`-xRB{G&nR{KCAX>%LQlsqoLP6`&@dxu~zP~?#!GH#^r?xcq&Gygox4pk>e_Uq0?xfEFK2J37?|OfbgS~xy+n-5C zCk7|4S$??nH$&CyKF_sJdpVCyu@>vSJMFmM{UFEFanC;GzT!J#p336j^4YBP^2|@c z2W>7(8m2u9d(CuOL~63)?Qfr7R4pn$k$cDHAiG?-q=`?6Wm;TiucD;2Nu37Ly? zK4~bh4w3otJbyun{)h5Yi$!~+Iz8Kyig%op01q6bvIgFk@Lv*r(Nv<($^E+7mB$-g zrliCR-v7wNQ^n>lzc!;kcm8a)^lPdW>8V=oOT=z@>ofRNKgoTT&vBz)W2aN+$KW)T zIr@(Ft@CwjO24o*_%A>I|K;*mf^7G^{oC9x)i${WeOu!!f5|ugh6PjON$n}`RW?-H zIoxf`ezAN4--J3goA6?V_s0FRWdtYe{c>Vi$tm@l%K0p}{;ZqvF0$RjdcU7v;jYxS%3n=mnH;Wh z-!s8q`^t4^+p2Tx?M1(Scd1KGGe3RU$N%*AE}s<~Tb?I0?_c}rM77r!;as=vKX?PTOG~PG3dOrzFLn7>yJFqK zqV3NM|3AO`{#tk5eE-9<0)2!c?v?0u9o*pDDedol=|C+FvRewg{`LE!^o&A2iR&TE!yIZsDC*}^m};nKoM z@p|?%9^_@T%76OK_$Mj*dSnZ;kCn&{F0NPK;=J~Lb4>}>D=d-Cv6|BJMQP(7g&INe zX|5bHiOiGvT-6#sroQSY)~h|^M)3sa zc8$v04a!jmKm*DglMkQ#`~UCX=<^-E^6kIM>wI41?z$Tvv+}c5&yPix$tyliaewkv zbXLNigHO#*?=XD-{n`Uzf0y92!fL^$iHBCSD6d~Xf#tDAX5O0}nbS=3j5byj%sd*H zR5&lvCaB|##H#a$d@_w~EK;X5YE9aDpyZ{#t&;W&n@J11+>Oja!UX^C+xC9Sn`ids z5usD-Csf_PdV2o4oyA{UR}}p^WGDEt=DX98WxRThHFmomvrdfIv*4fa6vjKLK05F6 zKFp7-X*1lo!{JBGLRGPP=a{)0Ca8<`GbnwVGJV>OKkrXpt8VhpnHN|;D~(~hk51m) z$U9RaWIiYAY}|47#W&-p++OEm*8O^S^_+0G_ROQMua7*sHuI=&=TXD?Ub-7CRy`_7 zDx7`rg-_*^XA4_0KgW0HitU~fai>15FgU63NV~dNIg{XSC(|`jb|1W|=Wu`8E-BRg zeznYv_j?rixA<63EEQtg+0))&)V=uX*mn3)Z4xBV^`QyWaelBMg-r;obcluNE!e-+ROXeL#5(=Al+=xv2X!D@+ zsB*K1PmUJnv5!?d5`?EnrXvF+kMdxGDcIkIe0g3XH~kFL&C zo0VBOH#O~JfN;0F-R2#8U!1!c&Lgf8Ce;1;%%eodC->VQbso*n{BS)S(o=q+VgT(0 z&pzyX4AN)rdjXw*cs0%4@}}{ll$}?v2|f)A<#m19ID5vyCC+nST6IUuPjjm(Uil|* z*NqLYKczXmf0grNQ{1MC)Z-qv)~LS;%5=+_rob?xWW|JX#YCF##?0?KEWb<^&ox2xq!4|gnj>c4>HT}gJQ@X24fhuXzW z*XUeX1?oE<_nGtI+K&52ikaU0*|S2Jb;h2jg?DV)-mX8#4(`0Atz^rUSg60Ytyg-R z7q8^k>{DAO2FNY(S`b>gJnT^7pUYSNyjUg5zP?0l{z+|-#gh-@I2uoSadEBhoG%Au z8RJeajP~Z>?w7m!wadns0R5Zm*a<9w8(u>TZoles#4|D9=+M@BqR@YSW#>-WG*85Ah%u_qT{Btpb_~YP* z3Cpt#D_b9Nur9v*cw5ZBnzo{j`*o%Mb>=sXrSClBReoV76ncB|dS1h2mDfW>jr?uX z7Wh_}Cn_9R@m71m=ez0=_dOexC2DG3+0CE6`^4*2`=s3_)T+#yR2%2D`Brq(C6`aX z7M+*g5V(CZleGgINzIW9KYga{ zj*pedd`*6)SreC?{bwjs5GBhB8nEYBaXTPzr~I#p&3bVwPVGL|Y8`TA@una8)7dY! z?>QhT9aefQYqRQfzu7MjvOm4p_vQYpX-bnK)+bi@%AGZMyQeYf#wXv(ro-Ce;#n*u zHF8c2llhLOpK5MMQ@MM1y435tF3NjUBz!WCZeWTN@wia|8JSqZw_;<;j~yFd-g63Q zJ|TMhu5NHv!RCakNtYJ>@TnB|kgX!~dZ}QX6pz{#Nzu=aoYKy)!2=oAWiAp%(J^h8 zDkhdm&W`tRUCI2ceSw&~^WCBY8{?!NE>uE3I8sG)T5r5il zotqMV(w$RI=3QCA@1-3_m)EDNo$`AUY44%TBFt~rU>)+kwcxvQ*uP8JMd5BTcNXr_ zZ<%=QiC%BQ%n}W|U^$jHecpX}Eam~}mlpnTjuSY+bI;qUV6R^Dd1u%>3$z#a!}_UX z1GszlXYMBjL}{}knlY(TL!YHZ)aRUYVN1)d{jn82Gi|eHK+In;@yMm-wFcdDS0<>* zcFBG=;K^CCYyVtk0lD-O37}LIa6nxB*q=`8kS~v({8zny$!fXj#b)b}D@jkZpFUkH zlpU_2wwzaDE=wAB`hn053Eu<+miR|(5}(X>6jc5laPyk~_tf8ym#o@sy6%5kB(tum zY1iHQ+Mb!a<;qvQaQ~I_vA{~(c=nxzd8|7=&AsNpIyo8aZ*Y_E=$VFwR7metxe7dK z3!dllu@Z6qT=J#~>|0Py04rG~tYJOXOk!VwXYCv zCIfyq@8yD~e4&N2{t47gtl+UrsC@-Hwv;NL68 z86X&-9=onE?cfsUNFS!|+3GSm$M>`Re6n;tHy;~BakJXf;Dj#mOWbV4FvVRx1 z-j_-Ht4+I}a9dva$x;${@)q9*Prk3}J2W;=;*;B9Ry1#tLge(L(ThCyY}L7!wJ-0q z&b?zQ_blafyT3z51Q{|XhIDUP@3Z~F)xD(?s`__-4#;fOv){33uUlZLQ06`U+Ya< zZ>Z8;e(>W?D=p7QbDJkuEH2x+OXuFYLx+CZzmHbh9q+&A^Q(!wbxU$B)=6JD`{S|8 zTpLj>*Q+PPy_X59@`W<*Z!i1tcKrv<7-oNFo*jDscg3(soYzb^6{Gb|FD3_GR?(3*#*-6Qy zZF|S zbWfMtlb$HJ?`*8=_C>~jHTav?+5ft_`TVz8MqORA%N#D9_Lklew(nmE&!udKl1~>W zWg1krURwGHTh5Y-|b)b`;>M(`wQ_y=l@q{HkIq#J5nk2 z=U?TMROP;eu$QjOIF%sINdE|O#>q#yUXR{h+fmd zdwr_u%K5vNmWsVUH>pD0<$#G#vv2z$arO4;22trB-$e<%&tp)NJ@u8Z(k3l?qG@(Q zBF|H9HQ7}g7W`SjV$QJadC6Q!cb9`poF888uHN6ff1}_IcUQ?9B^nOF?nyr#^}nyk zVBXBn=u|I zzWtud;$rj5D|R<>D$o7Au;uo`tnB<%p(;IsZxb$iJS<(&G<$daT-jGGnu~aPBu?&m zr@V*n>AsoeyfbQzo56#9>`!xMbs2(7#V)jh6Vz^ki~{!fF>S^&eY57Yc3~8+@-2xv z?`}zhq$S+Oz1htx!t6_<^!qeiKkkZT>wmP}rcY0??wwWbHP3eeGO;ZQUo^n<#l<_E z3rj@V`d@W9PtCNPwtLzJON%)=uQ^c` zY%!P@r0h8L@}l&FmS=&_Zf>-$it)O?`TX13Put2LC*67`et7qXM-ye=P1CfTF$-yG ze&LpWZ?SwA(-zfk)*!!b^E9dOKYAy#c2)T+O1x6&ojBq7y*l4@AFN~!C7nn=+IQqx zdvU?Xnom3TeVokLe|Z*5J5Ltx{wp?5XDt7D(#Lfg&zYsiRw!g#;$$?O$J|iO^}0ZE z;ySGvrKMt9_WYG@+@?~Lc~v!X`ui?p1GSjwj#Vz@zB3ldOl^po&#>d)X&0S;y!*W# z&1yaPGRLUrPJww=k9LpJFA2Z)^O~VnyPg&V74dE|o2IQRe zecq=FH?HSS2TjQ{o+<59Ry~_e-EUF>{|BV_M{DO{TyFfO5}I^ zESJ2A~GEn|02H|wXDj~A(J zElTi+vEs2?a^h6rP6<(wke6DH>@jY)zlMsusr>z~N!VX|sf(UQ&av6L&c8XL*je`) ztcht?a(wq^;wQ1dx!K>=KdImdOP`#0ELk+-{orX(HOo@tx7CvQWGXsFee zq(drBSCe#ZUzxl%@tnig^!=^weYHQk=Ib1r%hNTLkK6FN&{OUJ|NW&x6DLf!s*#u! za!QlwnquJ9CGPGH7c*>bygRKrp>0~~t}+)hFN3uaZblmo4THK?uIjuN7NW`#u>bMQ zE2r)EpJN3TkPn~Zt`J%>q@VbBqcQ-I`6v(#dD4KAB`fCfc_8F@-U%YwCUagX`UNPOAL2hc>ey;FOU9xddUxgi!6;-R0^V3xH_bq z)DqO2#?{2n7`m8s$=qcMPu|aCP}}+Mhlab$RV~-@twMo*lMS+db9n?FEnk*mU==Oh z7E;mhD!I_AWcic@&kxu4ND8h#rP#GfcGkv^f5q3X3;gm`^zv=Cvz;0z3n#tGJ-e6H zD^zjo&pRi1o{D^F+y3P1G`S{MStXa9+Chd-E?*7Syq1}?r#@=M(&G-{TdA?+K=YvyK z+YOSW&t1%j?TF%9c`W(qWG4Zg=$RKUe>oh|&haucVZm>eqgK8>wticZGFME^2;48+ z+so=v=Kb-exbwrwD}tStS1*!xR$+T2>ax?dackn2^sBE*X86Cf;@meoQA~lw=d$kf z$F+B}HYx0RVXtt8>5!)Ov9F7dtSj!^qqu9;(G^E-*V`D(=wey^-etaE)m!~ZoxHiz zRqxbnDt70+7^<76)w=Dc=6kh8d!ptT2`I_>=yJ#06kyfmzp zq%^<((>mkbkuzkqe*9R%6nnu;KuOYPYtKw6ZRte|zD)NQ7K(p&L}j&tf!CTN*=N0& zOu2ZM_`j(6@x`>rz*>Zl_m%SG6U%ged91Z7=(3x#VC_bsM&*Mc_J+ap7pT8n^~u|4 zkMPAsmp!jvSR$o%>BG)d^YTsaFz;R0@qz#AoMb(_YsO`_mrwo`U?K6Vw@J{tbhMh2?myIbjS$d zz9o59WywRgsMtU@;f)(=vlOaCKB) z&!BPkK(N`a6Dw{>Zg$NmovN<(=)+F2j?mwEuNtLRpHuvH!qO)Gd{llCPwnSta|^gQoa%7^pBj^v=7xZ z{phn0X%d^c1Z3_P@fMSiB*htC8e*?riAsT&Ic+w)dMK(*Wx^}Ad3MpFuYc#=n!Joj@;b(O#6cU4)vJScphqs61XH0WfD@PGs7$S(lo>8>*W!$aQ-@c?1^(IWUft%d`QP9BF_EWRV};Y=i_f1O*eDi1FN!(#zNX-JhW$HzZvVV-I45c8#A}CA ze+JFmx6*&UhxF=wZS0LrhoywB@|)_sP+zk$v`A-$*55mi_9Z-&5^KzDy>>Z&@c|pr zu7&TT_-9?ezf4)>*W(w`Y~Sx6x)Z`NO)joQdD?a5@>RLF_3Y)mQWaYQ(q=qZ{(djF zq^=Y}arfyXaaOi-~XdBu!%n>RRh znJ3v6i1ljD4JmN9DC{@=v0x6ehv6Qvco3lE7p{f0;Jab3gD z+q|9j<>wv0e_iRE_;c>`y*pd)@wZB3o?8{)yyH*2z{%i(RZm~p^S5>dZC`F6J&k|2 z&77t6XHGb6ymMml&94`ZXXf&B>~OBVJ@0BjtIVpOhY}m#C0^c9>?hR`e(L$skSTi@ z404{e@^i1Qwr5RReJSh4nN_}Ls%T}}JsKxKw@9W!mCvAO>nuJ1Uv;JD$;J=<~U;9rt zG{#wQ$JgyzADTD+^_Hh|n$vd9IJ0T<_mYXT&vtwf^;**!tWf(mxZ!18`{RryEX;M0 zwXa?;zx~uuSn(*Q%grA-H}?iHC{4ATphz1F+;WXG33>~q5ows^!Z>|4B6Zu5d; z8{V0wUWzi&I3GW^AbFM3>OWR5Z@pzM`adN@rg)jiI^PKoERVlADy3$*wn0*5Z3)YV zms1>;%8CnL$z?gcnt#GyIzoxfe(R1Ht4Z9GYuq^u zb8OX$B@QN6B5x}IucCezAhS*Bmu%O>=T|l~uiQTGk8%>9sQj|0exaGLW#5N1)pP_m zcKT+zM@RfSzDd%TH^cs1$)muW2&E*xqZe%j{w8biEdx(ufphPF`HqOb|8F<0ea67R Oz~JfX=d#Wzp$Py!;ENal literal 0 HcmV?d00001 diff --git a/media/image45.png b/media/image45.png new file mode 100644 index 0000000000000000000000000000000000000000..27463939bd5bc6ba3a1aaf06ff475674065cd3ac GIT binary patch literal 13516 zcmeAS@N?(olHy`uVBq!ia0y~yU~*$%U<~45W?*1YSo6S-fq}6zz$e6&fq{X8gPoh3 zi=SUWP>^3(SU_A{LP|^!Yg?L{i&|PL8X6kf+dDft z%e#B(dwSaY`};dOCiM5u=$}wKX>$FPsf`mSPMkJv{`Bb!rq5`ZJ*R!%{H{53=FFP4 zWZt|L^A~h4THL#I*@VT57cW?_a{2O&Yu8O*w|>UDb?a8G+PZe_j`bU6Zr(Cy)22-u zHtgQM{m_n`3-<5dzkB!b{rgYtKd}73!R3bzuRMD6=)r?$j~%;o{KVRmr`Df3z2PJX zTswE})}_naFJIYl`SRrp7w%rU^6=)Zy?5>&xPANfjT_JI-FtKY!J$Wwk3M^T;>nXI z4<5XG^ytI$7boAnKmYp8g?I1Xz5j6G+xKhVzkmP!dV{_Fr40q_*4H0hKBvhgL#TCCZ-5KeQYN8@rw3PxAD29EG<*G@ z2+hA=W!0IKPAoKEpZ;w2`-istfxl*GDIeKI_$=buR z#eb(?c-`5g9jG1aEnT^2Pg{}MlCBzVBL~S|e%q&COQN~<2{x2Yd?58{=huqr$SLzA zQr0dmE9*FF?D#o+@pVrrJF}FIY z7scQbvrz3%i%x8@TD&K>qiE-Wo9b7dzNu>Yw*2?Si4)Y4WX!^BtJ5oG-(`O?Do(YO z{IO;;^Skoj656h&#)2tKiFF059=tO*GhWpjBJxe;|2Fx^H!OSJzkKxXn?hvG!&eOD zeByH?#lPn|bgUE0nV`Y9gkg%_k-ak0wr=L=WNrO0gXek7)wUwucY+gxZEM|5tk(3X1U^Y-l1x35|2Znt#&kv0os z%G%$?#gy*r?A+q-X=i8_S@=-mdVbr6lM)~K-8OpZ9ODv?WMD8@>*?YcQgQ2TEpLga z>$LyAv-Yrj`sDb7!%2igjj7Y)N07-HA@{V9gjCnWDT4nF-KUG*(mLek_bGMhNP2W9*L&4Fbfu;2i=P}1)4ji2CZ6B0gdU!uJ^l#wbU$rVP z{l0p?D)+lrUAy|#z3A=vt9HLGyX#dUXkoFd%jFtZ!55YS^G6#P@AO*aFqA9vNnbe5 zIPcLnGxri%+gp**J0vdkX$zkIeMi^e>UmD{TXn^&ly_Z|nek?g;hk<-VddE-8y>6s zd@X*o=-RU$amR!FeX|ao?MSCF`D2Hq= zVmSM0BFB&YJQMXgcC5-+afHz=xT=rw%9733+7Dd3xT4Ih@~X&}?372WPOI-c<-KQC z_ucXR)0xVNU%x(Qe(cTko|E%Z)7JfLg|Jvu7uiGBD<@K&H?^M&`M&_TqYrZNL zd|LGF>eqlPOM0BFz0cqGPy6hjnsWN_$L*0b4eqJOui{GBpu(3Ovp;_R8T|%FPvry; z2ET*i^6zt}-tJG&RS|bIPj!0tFW7u@n0ssU;)xOb#~put%4@ipn7_{U)bR)L^DO>7 zJyd4&^nIfWm>Kr;NtHojeqRL4XUztKKhBCjbth`TAp@8=lTaAKN&6Gwme~*~@lj6;HZe@#m+{i={V8(x-6M&paAp?=JsCcVdH_iH#id z$!3p*;=fq7+ng_QVeDTCO1R%Q(PhAcKx)1L%qK&zQnnoHE{QRnC4=fsnEH$ z&d!;Ozq3Ml#pzUSd%uTfn>X$=w>o%>;Unkv znY~-33%_t6vQD=7srOdh_c*{ZJKuCF$2~CHys=EVPmU3k)WL2^cdWmi(9{&saL!{Lu?Rgfp$Lt;~JtblV|Z>U&(tjhwICdt`GiD&BbL7XH30$eGVN zU{~J4$#qBcv-UD;{x6?<-|^d>-YQO;zF&gni|;YH|LxcvxV~|6-I2R1z8`S3PkQ9` zn^Eh-`mPnCnISC?7mL5$o+s!UP|~Vwc=NtuQAkKhgVf}ET5~=tOW%F*bn5?IT4txG zGQQcvmCaZi`QX*5sru_9c7Edba+NCiYoy%x$H@F=$fk^pW4B&#MH@zXi??T9O^kT$ zWhErJtZ#;C!I}OyGQD;GX3w9dSsfY2$@IhEWcx2azI6-sI;&opxRmq5_th^>hpbUZ zyt&EM^Yk>`Yn@BD*5yA+)|jNB%v$>^-`SaI@s<7Yra?_1>uajqdv0m9?9YBKU984b zJ1gc+?b^t8d^L{2RKckG|_ zrJC;|hZf4-d(d;}ZuQ>A_M(KNGujU5s(zT>^@V5Wv#zJo4@)aP9ev6ayT@?*g%btL zN?}Q5D`qA<`~320r9jP7^QM@V%!A?croYrb5X~^Xex{p5Ca?LUSMCPhKH8xnH@&}1 zxVpcn&@M@HyYj8SJD)x}tI9Rm%lUlP)U>8`YGN9D=S{h=jfL~*T93(Ii(Qrk$)&Bj znZ5X)u+FqEE>9ztt!~v_ZKA7KGx5Xu32rl-c$PTL{kHGfdB2p)TQ2v``u)~(2b)5^ zW5L(Un)}STYg7CAC;T@qvwdp2fr z-L>rV%zbPNYFd(_=eB*A!7zX7S!3hFS8s<*>sYp8(aVY39qhs<(>QF_qn%Gf3#`Ba^#vZSz)~QdlAL{>oLSPaD^@=!>n( zXwh`eOn%YWmdjT$ac$lfOU>emcTRd1FqtuLnY;e|`Y&6{8pPFVlsF9-H>s?Uoy4=f zE-k}F{BX`JRVAS^<{p!|{!#y59XkA7G0f!sVNu76(ua7$uSX=UbhA}sREgic{>ST9 zHZ7mlCyifQ9loDAGLu7QkNC`t~_;ci!XC>zH|lCq{d8de)+$TA{Cc-Ms&{Fd*~}m z@s=R(3pb>zx;3BgDp0cKbC>(^nMrcz&ciK#xSvmL{#<7c4Z%XitBW*I%xt-os~Y zm2CqYS=d@RxtEH$IIi^&?)F>ZW19PAUc$yD>Qe5$x=QyiOydYQIW%SC5r?Y_%b)Wd znAmbG^ZTFn?Q8#LzPEk9Nu8nF$)hkco(6pDoAIzFCFVaw8lL^yW50A+y#g_%*PP+Ap zWl7d8n<>qGcZTKa-_M#xTBf6BBTY4$6(Qh`(`> z?ON7OCYwX&p{;|=`MZu zs_D(;W1`Km!K!M$t9Dy`>35YJ3H$4Z7F)Xifh6&?bG(teuuBC$=ta~ z;C9E{i8I}zz4zXn#htl~%dKk4=~pHft}gjnn;f<@dzQeI`F#0i(;L2KXRB|Sebn&k zt+G|!oBj72$JMfyNY459*eH4OWy=jBe+7EicmCRI^_It#k-sJ6^Y^K%bxj4&&6pZJ z=kAAV75WobCf@h(U9-w7-9+)qhglg$-P?89g#C8Bk(<3$I&%hhymZ;qvz}Jfy{V@4 zKLgJTMeK8Gc*<(elE)b{i~Z56RHvukdZtx#8?Id4)8)aen^wFV`-wKc%h`F0kF^ z^~e2j9hs`dTGJcqpI^Rr>g##NC$>84Cbi`LJk@!j<8bODk(>4&*8iWWrz~ro>h1F> z>-^Ovj}#v!ZmelG*(R~`%FdY0S{|=TmUM}D3Uh?2HmU78^QCG!ubpDSQt8}JDgWdf zb$U$W*srlXlZZ>uYtlJ6J2W<;RDMoF@28o$r<_beBCJnvyDt4y|Iy_`%=Yy^ZYXtG zh}tyobIo2Exck?dH36zA2ao@*F%P!Y(#-sE`JQMO`jd)nr; zPcFROA~x&6%$vOLpG-U|arL*f`<*rm^)5N?P!-0NL6U)!Kdg$#T68Msb@sY*=^HaM z7MFf~E>shjrz52z9~$sFZgZOL_x}6q7s=gHn|ISHEHZ!2%-ORSuU{&r_ zF&lHVek~N_Z>q>+$$0x|)+`U>%@5xE@xNI9@>H|A{@ix`g1`Rm0jitS7Orx+;4;0^ z@X4%a+qz|5U-WR^`KM%)`O+H>Gk^axoFHcydU~e2|6-1v$KSJmIQM7ocHb&D)xLVu zk27DcPyZpWc09P;&*gsH)QIW@Pt8)ND8Aied_9dNT}10F%j5^u_3dh%pVD44pXO~Z zKD=7Ub+SOHQpTc_YfcBXrEJWy`MTh_){TunZW+#)H$nN(d&BErv$L6}wrkAln0IXY z{uSGu&)?n1IW5fodZw>aXy>BNrc(38tXZY<&+g1)e%E3!cPrb(DX$L{uTx*LuFB|W z|Gu9ykGqHn9sD2nN@efd_FcQ&Mdny2Y|L+Y#4#&krI4#I>p#vHtN$O+=a-+*w&T;y z`Cl_ap8pArTXlA0)Mg#Simq*8s%gIae#ZZ_ljZfio3M?q@oUDG|5e9bRrt2-aZ>&E z{@=Z*)k2%qnAvM$&U z@u{Beu|=l-DUC<_r+E5ZnHgsINz*zfN?a}1?~U~ZZr=QZAC3x2H|?<8YMiICPo4i* z=682X$=84UBRDN~e=geHJzZ{7Lvh}gO|ko4|J(WL_0_N+<`s5MS1&z&d`5lC{z<{f z<_@++4j1P;>Yi8n+2V3B+ro*Pb?eclmW-%lD?U~J{?pKT|N5Vo;gMpYQ}bg!?hf<( zpyRdl$BC)M)7EXgF@JaXVN3H}sV(KvwLdFipH5`xkJ88viyxigGH0=q0H9WGXDt~->rN`LV=5~}~^}_Iw)gcR# zKW;sfo=|ydzkr?5<6WOS{kb;0d(u}Ka`j=i%8_M1wtw1x;KR|?Q4d)w{@uN@w59*t z^usLA^EO6r-&@aiPILb;ZUfb(mxrq^nuoXDWBgR>;rjW>ayc2+@;*ThF$(tE|W2$B7?eY$uyfYy5CrX_b?fH1oy=%ctVo zuT57nQ+^;{_wmSzU!SUl6WP3cE+;%XEoWOMcDv^jGxM_Ra{UXFBJ`X78Yo(?-Kkiu z5mIaZrR>DXHRAoMep3}PcySaxU==--(re8av!u`W1E_}io_>-Zhp;+jErv#J5 zTY;=e6AklB(tDGV#S=W}|o}_g+mh(`x;G698Iyy4! z@rPd?%PgM!#4y1th}Y+8SNDQlf26B!#tYWO{+(#^Vn(0wf}MYue+E2Nw!YHv&HS{z z#mtK7e}11@*0o>tnRuf`;w=H88`(_n7rb|jjEo4&JUaa_&vCu1zw`GsOk1YypYia0 zk5Yx8OpD~F#ox-$-rrKYO;+eX` z`YCbqDfR~+zp8I{epY*`IqKAR_JlU|>Sx=^6$PKmH9b14zF%7Fe&79lZx3u_;@&5d zc4J!Lljd0`W%=8tT#Go*?WwQwZU6lZ7FYORoZOf6dF_>`T&HCo%icKrh?p&OL3+YV z_n(~kD}NoxfAH+P+k@&~^?FxfHUwvsY`|9>+b|o{zV;yJP3bEf6I_FbOj-9=m6`L?q zA<0VQM%_0X{%@}fr1kyd6Wen0uJCi^y~>dGKmKod*Bk?f=SoE~COO56RV0qw|N3I< zgZD|tRlyCiC!3;=RzR9vYZS~pZ~1R3jTA1uQdm;RY}Thy5bq}V@hZcC3+@+7&d>UG z@qMGySK<7WvgS?BlDAIuyb1jFbGqbA*-M&y4`xN?FkQ<_ zv6R)WWuAQXe*Ip-b6SDl_hr=E{N#98QvL4i@9q!pl79r>4&r?quq-FV&BOV-&etjB zHECDwzBst~#x}>A%jV9emv@~Ja_%hKlCC3?`|bLoyT?B)-!^gPF6WtEtE65vuDl)j zeP#RM*1RiUexEMB!uh&%gFwQDPesR{`V_SkI9YIA@=H#O@8&&euySH)eHC*|MfcyZ zgbUl3{^0!k*X(Hio|jVtX1-H(=hC`7T{rsM3Bx_VC4PpO8y&WuqG>%T@zM=rr8miU zSI*XE1mK!=6w-bV#oYF_eXZZzA}~M{YBkVxYIwrOMWsrC#9`i zBe+aOxq8aoZ@cG}cfZ{hnREM|xsv|862^(&=4PMb3U0X1tTg{rTgvHplXq!-9+QrU zPqk$Iec$|*)T;8I@*MTs4p$0R@}KzOxpt1rlD?eN$1ZB_INW=rS6%fXW3*h7e9GPF zah&Em0>7>kt30vcc=wOr&OQfj^}Z^4(&$mCepOBXmFk1dH%$0yG?t#oQ#r_XZCZ!E zPV!m?-fMYNK9(Fk7?K~X{ioyj1M7yhvFVB05xWH|y1M<}XP(*hMe_9&N10fLV)IE8 zjs4eHaLiY={B+9By}V(o^uw1CCMvbl9&Y;WCVn_~^NlrkJwD4+daOG2aPwKiL%IJ8 z*4#b85dPl!xS-&>?hnOB6hYkthQwXIJ^$|C-}m+YhL?Z){>_!V{?Y8udE5F)`A0l9 z{C5?cbYa&?VYAhybJMG`-(-qDvYxzk?~8_;GGRw1in|s#WvdouKROaQ&D3h<39D^B z*SwUn=bfCzn6uyf)qa!kTRi1wB%A|X_wY^AsaAEbaGe>yXw?tZT?=JB6sGA zTUL{|YECqL^!S&{HM7OxXOirL!^-zP+x>iz`lc}B$nI;MYt|Y^&K8PPw!2!Tl)bd; zw@~D59#E^mC|~7F)Tf$7{%?YmUVoUm#(BXqf8SW#g`Z=Kg4*$j?64{0?9I-dmyc`X1B2MI4a+=Ip*+;T@nR z+lkceT_2gitvSS4WR=CDxBdZ%cB>4;LysJoxK;XU>0H#W)g8fX?L!bncsq$xmQoG z-@C`{%8Q#n=g-=v&0sNolIs6u=Eef8i&}%Yj~e;kKb!Dq=Gx?56UTkJ_KOTRF}=Rn zu{c{|_T(*3|12-w^0>ObTz_vYQ$|QfP6{r^dDX83?Al*++U&h z_x)$*lg&|2Vpy{m7u?D@s}g0*Q`aqf{lw3;i5unmHc91AIXPK$(cFa^SIQDwy5ycr zlgiR;F&5yC*ey8!=sS^;&60BSwrIRolZm!vr0?HADT^ieDSblwXa?@fxgtk3hT&dy|>bz5>s@r*I>s0Tgi|zNNzv?W|SZ%&qYSprN4ZZTYQ)hAb zI=)rV7y0?*zA&TB^|#H*}w zXR|F!i8kGSqsva~N5&Q5#-!CzJz~n9EqjXVR`@7SiP^}b&KtBcOJn+$!wX}!2-lWu zkn4?^ETz0p;AoD|R`*b<}{0I9rLd)JA$*kSevZ}4f(^}|M=q%U$N7H0y zmHIY4|KZe=ru?(9N96BGzsh-wS7gK`{Oqo>4nC*g?OKts?fGHpc}mmf{h8XSwY%?s z^TM{MxDL@fy;Yhmv)^s~Flpaq>+;D5@2;5cB$4a+_Q_f;NZdO8J9XoA*>Sa-YwmW~ zuPEi(x$(CfyUe=J4?eren1LrCz_Sbyy9MjTcL#$0Nm3rE=s zuX)uK5*};+Kjz}z1nojjxLG7-SM442x;^iMGH4`C^n~*zW#>Bvav!S~TezQd+Njn3 z^N(`*;vMbjT-m%g;;;PBDO(PiZ3(wocT67K-a{XNV=b2Z2$`Ju82QHUAh<6ZxZs`F zO_$n*lhlguUOpzPvs=-GR}TD% z`N}=@PkQjHqaQavSQ?+=ooyWWOg;0jF`JmR^0||1Yjrj;&0Zd1v~c#+^k)m+cfEhs z_G(qizsQ!7TFuaF-q$W)2&($-^J?lFS0|Qd8#7)i?YP*hiUf}zwXJIiBJ628{&WZr3`zq%lvbJ+G6>KrE}%x<}K7Vnd_ta zHA;I~fE2@@eeaDJwUl2i34X-1=I)6ktFSvZKNGBfsh(J_vz+gbIQPOA!uAjJkDl|b zk6xDZZR>goy*=~Ixy`L>)PH@NF8@`h(7^o*Xw2>5#HAmU=S<&hXdV)-zh?e#y_e@p zY*q-KGm@$ca1mW8((Jb|s?D?f*|x}>Yk4V#vb*g{rzP?q+<%WF{r9Q+wXK{w$$Zas^W~(Adb8W}H(l8J za>hfq+;j5Fq@HA6(3s`7FzOiho#$>_KbUPfoL}GScgHG%!{EoJKd+0_Cg@8#GcS5$ z@->seer3gL&NuFzMwu7q>F&;(<@NSRc75NASATnz^Ma$cYAW;3ndkq)E%x;KHEpNm z?{(K&Ro~$2V!Sqw?b1rqJ=65sf6M(i-lIKbZG1<~XJ!f;drSGieqR(lo zm+#c`4*Y(h_eaOI&;Y6I-8<8sUeA~#YV+&esV@#?f=d}MX@;COaGrGgQs-_p{j$5~ zj&Yo}pS`Ikp37x_rZ;!y*J44{oAZ>b?w<7$I~P7}#!a)<+u4T|{IgCP1s=+hyqUA+ z;i^41GTz?%!|^{c^2&6k{+}tFn`bG#o0?SJ_aabZdiIL(dwYzbiR??rDeKJGRS5xM%DZjC09p7B6M|_N?PwZ^B!*dEpic_y+g2JeGNn9$l{9=eu*$#%lAv=Nm-N+~t_EQf}j; zgofXNGKYEdT-uiC{{3N_yQittz@>VnMf$x-$9~NGlg|53&y4r5_tANpXQnSY&U@#Z z-nL%xt-;aO7hn87XY#0^_vXIi@n*XMYipNBZ8USKIh2~V`D|~Ob-AmR>7=c!kA(D$ zq^q27n3;bnQ``4`pSj#4&;;=7=$z>@am*LzAsTzRmp2xoH}))Y7~+z9 zWo}?_`{qtTF?+$%cWEhneLEaqw*7qgw}zgl&P{$5s-k-6 zm*7)3{q=vYhpMf;=9Un}w&AnZx{aS#g|cS0PO8dlm49=F!?dIp`U`bQh)!L+w1ODs{cKOdH$!LgRDK=iq&Boe$$uYgB z+Ur!wS`F5#K_?3eR5Q|YauPG%Z#HPTWYtlp^+;Kx^XZWln_t$jdM3|zl%Fj2MRO^q z$e|w-E2UoVvg@_n{k@8rKlXD~kkjo+K^3y|Z1xHANB71B6LHvQdc}*k8xGsqUB0YHipleuDyq$eS*ZF$eqe(%l#F# z;+pL3GyWBPU|ynjOwnuYAGiBGi|g(??_8xL+2O6bR^i1ZL&wBD3=CgI%oZ5w#0DF@ ze^kS?OnZKCq;=mxJvvs5>} z%rWY@Q!xFKM5sjb*M)xWCp1H?cP-VjUHpx8ax+Kwy{$9s7u{X4^ZvY+?3&&4KFQts z@VG>^^2eN2st>fQYZ~5c@A#$T@bAyEdi{@YtMw|&btg!jSnp}6#aDV=@aVyCwdS4Y z3|%{Z#kU<@aQ?xy<-s-iVvCYuIG?SpGf?;VJNt6h-H?dC4;NeRE`KHznW;7X{tS^T zON5&aMZ9L$QodBm8b7fm_d0jh^@%aPzW12!OPw-WC2`?a@TG}Ga-mN5n0CZAoImwU z(6}vF=xR@3`sBnXZM&b?$2h9|3Rr%)#*1^|%1_r%{?0CK&R4u2S zEw>osW_&pLpsoD4k5l->TmQOl8iWcZG)>CcUglwR=hw`QnwrOt8r;@N)>7eLBfiqg zE8py-QwUoG&o3Ls*^IZ&Ely&rZ_CIFS}o9~{`9~G=T&Q*db!swSm1e`gKdG)rM!k! z37@w9?%E%>Vp`J91)FB3Y~y*U{6bcw=g@?r@KDa8=ltO;u5a&K@0m1NA#AR1+su|J zDx#N8Mw-s!>kjVXxSyteSmp0IZ~l@TZdug~^C$zC-JclqdyFj-TS^vO_`}_sBPG;Q#N#B^9;u>HP*Re&Lw_7KN?#YkxQ;NyKE{cBu-T zL_tlz-G6((9B?+ZHqwio&iXjcyXM)v@=H&n&0Ma&y0gh@?h?lEERHPgt$(_0wlp8V z^L;`t!^JQMu$D@;SNqXf?hB%$Jnt$NA@0c2n>_rUMk9>$)(b|}LQY%q! z8kZA?<4QNK0_#}E8Jn_=W;|(oyjU(VG&|((R<8)l*h4ekW-9~>%ln>;DA{Jlv#!AU z;_*i%5`LO)pKR+rb|@aJbp5obL-Wvk@8F_$%d+jBy;c`k#kNxSNtEkU;R)Wiy2P7m zS-PzvI;!p}Cw*A19;s`V;S{f^d&THf(9V|d3tq{)WT)-@_{nC~miYpm{C0;{NtL*# z+!dIWrlz_`Q!@5>L0h0!LhTy=_M@7%KTjGjY}(eE#K*I>WvB!+l-WN zemNY%&h5EOLc*?aqoeSy`I%ulE2A>SzAn!25!cw%yma}zHyra#nuXZzUOptDq${*u z;*>7e8s21^)nTA4WbX0du1p6f(=DDgX8PN1%{{i@ARl)@P*~IRbz9aIzpQgE3GFt_ zy#BAEgZ1x|uZm0Zs=C)%fBtw=&-+EqvD{^CFII`ko_HbiQ_PEhL#fTTRqXu9lN02X zUhcB@%1zGMq~tTX%P;DP*Tk+9M-3-gCv!*Z`tJ<%kO`Y#(`B3GkTD8IT71T9*S$45Nvm%N+I8iweyVBiG;!YoLyc7j1vWS@4f61H zHVOV2pu95d%^_Edmj~9K6+BnacxFO?iqZ=E7cWvSESP*!DPfXl(ydul3$F(7_v`{K z6Uu9iWbgfWWkOwh*(CvuYfM)hyB=Jw&XVu>?xt~RyO=B2*9nhy*=4L(vrS;ndh=d4 z+1J*{gO&ea#7drai+CR4hdK+Hwwt+IDCQ^xzn>{K`%g&SzHpIPy#%3)O(ks`F5k*M zvXwPd(#7S_x2%g7>oP5Nt^UsNucu0(Sn=%y+X9)$#Qv`?LccTjhDSeCo8qu$a!$v; zRlZjkOfTM&_^f7IdaO5K$$LW)%@F6VOSiJWewZPqcjTZa*cI&jE4|7m2`n#dnaua@ zmdwK|yTpY~T&Z4mTy6P!Mh$tz`M$|Jf?oF=Oj;qka_vVK7m>@?7B7w}xqgLNw;`tE zZD7RK79+Ds7GZB~1OCeSaUMCkY01@=RiD(Oq?7MCzs$S&#*M=wXhoaIb)R|5#4{f{ z$;>gic15{)*@J}}CrLfp(pPZlVC-z=Im`Scm}Xi9_WLgTx?azwX8xh}K8IkVEoDo# z9SfeE+0mDEF*cb03qw)uf5wGXNu9@TY*~1p-HAmj?aGyapTcW<4d0)daA4QnJQt_?wV8&rggp_d2XJ& zCUJM`o0d?&fR%!tJTGnYE@dbNaP+zdM?Jn&oM65p`puFBQlOwKZePQ@_v-PD_N$i3 zNiKO@Yhs<;VXShz#D+#2OkcD_$E)!%a0s6;IdMIC@}Z7f>AfmzVActy zU2%H5YbAS>brQdj`?53Pi;pi`Sr-kp?VD8cy(Q7nbs;H}rCZz53b&k-n6Z_i>+eO= z!$+i6dX<3ulX>-0AIEcTG3)=A9HV)T6voUlQ^C_rV(@_Pp^lsdWCI;>}zT(Ks=E7KBYTIJW1uPCQdLuVHK2MjypT`_}FdiZ%9Gb1~qg%p;%8Y2NZT z1RhSQOZzx)+EnL=mf4(|mNkoKSh%t*z_3BduC8w^h`L*)QtQRgaFOpmrTO;~%17u8Mgviuu7bXLv0ruzL}-@1q2_g6M=iaa3A*~ux~eZS&E)U~<2^$EdE zIj7BAR5>?PpPw>mo$*%2zCO3=_G=3bUo+wMhtKH|GFF*c&j<&*Vp`|s_ zwM!N-{@Q%4?SQBGuWh#LSGpA{-@mEVxa4-`zZ%DFHX@-q=ho;{GbLQPv-$nhIWN9* zbga!``em6XZh=4waHbk{ivYt*?_6b zq!cf#&zPqYx0fNb8xG_~-_)x*4!mrdC_d@v2C!5oPtTxL~G7Ef-^P^L}yZ&#yq?@q!ld{yD zg2f{3_g=3!S$0Jv&uzYj8t;)kJ~tKr$~>sN-e=|>cS^e;deyFX&LWf5z7*!DFS+sH rh>n^2dgqwC(uF%j;feXff5t!41hy`0d;Oh(fq}u()z4*}Q$iB}K$a>6 literal 0 HcmV?d00001 diff --git a/uml/Clause7/modify-inventory-object.txt b/uml/Clause7/modify-inventory-object.txt new file mode 100644 index 0000000..650ba6f --- /dev/null +++ b/uml/Clause7/modify-inventory-object.txt @@ -0,0 +1,22 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + note over cli, srv + Precondition: The individual inventory object has been previously created. + end note + autonumber + cli -> srv: PATCH (PatchSet) +alt Asynchronous Operation + cli <- srv: 202 Accepted +else Synchronous Operation + srv -> srv: Modifies individual\ninventory object + cli <- srv: 200 OK () / 204 No Content + autonumber stop +end + note over cli, srv + Postcondition: Upon successful completion of the synchronous operation or of the corresponding task + in case of asynchronous operation, the individual inventory object has been modified. + end note +@enduml \ No newline at end of file diff --git a/uml/Clause7/query-inventory-objects.txt b/uml/Clause7/query-inventory-objects.txt new file mode 100644 index 0000000..532ab90 --- /dev/null +++ b/uml/Clause7/query-inventory-objects.txt @@ -0,0 +1,21 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + + note over cli, srv + Precondition: One or more individual inventory objects have been created. + end note + + alt Query information about multiple inventory objects + autonumber + cli -> srv: GET + srv -> cli: 200 OK () + else Query information about individual inventory object + cli -> srv: GET + srv -> cli: 200 OK () + autonumber stop + +end +@enduml \ No newline at end of file diff --git a/uml/Clause7/replace-inventory-object.txt b/uml/Clause7/replace-inventory-object.txt new file mode 100644 index 0000000..6e7ef56 --- /dev/null +++ b/uml/Clause7/replace-inventory-object.txt @@ -0,0 +1,22 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + note over cli, srv + Precondition: The individual inventory object has been previously created. + end note + autonumber + cli -> srv: PUT () +alt Asynchronous Operation + cli <- srv: 202 Accepted +else Synchronous Operation + srv -> srv: Replaces individual\ninventory object + cli <- srv: 200 OK () / 204 No Content + autonumber stop +end + note over cli, srv + Postcondition: Upon successful completion of the synchronous operation or of the corresponding + task in case of asynchronous operation, the individual inventory object has been replaced. + end note +@enduml \ No newline at end of file -- GitLab From 483e60d21bff8662d4923d56a49aa1c98edcdbad Mon Sep 17 00:00:00 2001 From: fattore Date: Tue, 24 Feb 2026 16:47:55 +0100 Subject: [PATCH 2/4] adding additional description line in intro --- .DS_Store | Bin 0 -> 8196 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ec8c6a19f927371c423403278ecce054817bed40 GIT binary patch literal 8196 zcmZQzU|@7AO)+F(kYHe7;9!8z0^AH(0Z1N%F(jFwBFrH37#IW?7;+dA8Ip2}%bb&P zpmL+sXb6mkz-S1JhQMeDjE2DA3IRrlb2xC+`w-btax?@+LtsRP0H}OWfVAxy9H4Xq zga%15FfuTJy8w&~3@oq!Vg&aC7(j9$tsokt6-0xyGBAQzU^Bp485p5j8NuBUkUjyh zQH%^=?F@`yn?d4W?F@`yn;94wA=()jp*Ax@dnk+$?F@_%?F@`y+rdVT5~Cq78Ukn` z0P4H5Gw3m-Gh{N9Aot(%lNcD7gOdt!GK)(L3~n(pF|)9;v2$>8adY#^hDSt3MaRSo z2$UA52BqdCmSmQtx+IpQ7RL+l7iZ*`dnV`S1r(*0Wu}&gC+Fvs=H?a03kW7B<|LQq zB$lK)=HvutRzXxJ7v<;V1mqWImSpDVMMjjQR+NC`Kn9^mMMM?n7nL}J4U5Q3&d-CW z5(3%bUjWiv9F|&CoSC1;$+?bCTwX;(*T~$)!PV0@@Cv_xpb)nRw^(>tW^raxPHJd* zW=cs$WMXl0YF1&TRCvNQ7_YGh5g%{T;7I74$1lTvfQiexRhtvLj|Im62! zK86U2aNBcmMkMFw=BDPA6hp+EWL-D}PH@D5EcQt(F7Yo&&4b!4>m=*J!4XxQkyw=K zU!Ip*1k>Te!2t?=kT^(-Yf5HGei1k{{1jznBSA(vrlh2%aBy6al8_XV4VDe%5V*t< zFCdVaSC(0l2#Sl~lEjkIVh&|kYEyR5f-sd2BtHPNz+tTHU;ySYh(IVf391fc84MVl z7`zzb7z!9F8M+y!G0bP!!myQL8^ckCa}3uQ?l3%K_{i{y;VZ*8hTn`Vj9iQ&j53U> zjOvUUjGBx_jK++njAo3^j6RIMjDCz!jLD2CjA@MNj5&;@jAe`!jFpUajO~maj9rY~ zj1w7WG0tY3%Q%m58RL4!4U8KZcQGDjJi>U4@i^l(#`}y97#}jeVf@PYjqy7ZCzBA9 z43jLA9Fsbe29p+(Hj^EbJ(CAhAX5}mJW~e54@}T{iXj%lhmlN`3=9mI8Ll8H2bAHM z)?v?Z^6nm&H~_6kCIowsUDm% z&{HfVFLKL=X6B`&R^ZB#0_>pd%W(yyT2YBxUVv2~g%iS6Q|Fc!U=#3$a?#vsOE#t_C> z#(2g=#w5mM#vH~x#sbDd#v;aQ##+XD#s3NvLtr!ns1pK=EH1$=PIyXeP+uF=pH6_<2Ws1Z zy5o$XemO)RNC~KG5AKdLLM9c#su>v|J$Xh3NKc-TfdQm-;06L975-@bKU)8T)8|Mf E08jt;o&W#< literal 0 HcmV?d00001 -- GitLab From 7cfa26c48927ec8f713c7c9a2c38ded0b76a2398 Mon Sep 17 00:00:00 2001 From: fattore Date: Tue, 24 Feb 2026 16:52:34 +0100 Subject: [PATCH 3/4] adjusting 7.4.1 --- GS_NFV-SOL_026.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/GS_NFV-SOL_026.md b/GS_NFV-SOL_026.md index 1a73c63..2653ac5 100644 --- a/GS_NFV-SOL_026.md +++ b/GS_NFV-SOL_026.md @@ -762,6 +762,8 @@ The request and response data structures of the physical resource provisioning a The following clauses describe the sequences for querying, replacing and modifying an inventory object. +The diagrams and their description contain placeholders indicated as <inventory object collection URI> and <inventory object URI> which refer to the URIs of the corresponding API resources specified in clause 7.3. + Flows related to task monitoring, subscription management and notifications are described in Annex A of the present document. ### 7.4.2 Querying information about inventory objects -- GitLab From df91851e85b33ec1e7138879c51b28efd0dbc80e Mon Sep 17 00:00:00 2001 From: fattore Date: Tue, 24 Feb 2026 17:22:10 +0100 Subject: [PATCH 4/4] Revert "adding additional description line in intro" This reverts commit 483e60d21bff8662d4923d56a49aa1c98edcdbad. --- .DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index ec8c6a19f927371c423403278ecce054817bed40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmZQzU|@7AO)+F(kYHe7;9!8z0^AH(0Z1N%F(jFwBFrH37#IW?7;+dA8Ip2}%bb&P zpmL+sXb6mkz-S1JhQMeDjE2DA3IRrlb2xC+`w-btax?@+LtsRP0H}OWfVAxy9H4Xq zga%15FfuTJy8w&~3@oq!Vg&aC7(j9$tsokt6-0xyGBAQzU^Bp485p5j8NuBUkUjyh zQH%^=?F@`yn?d4W?F@`yn;94wA=()jp*Ax@dnk+$?F@_%?F@`y+rdVT5~Cq78Ukn` z0P4H5Gw3m-Gh{N9Aot(%lNcD7gOdt!GK)(L3~n(pF|)9;v2$>8adY#^hDSt3MaRSo z2$UA52BqdCmSmQtx+IpQ7RL+l7iZ*`dnV`S1r(*0Wu}&gC+Fvs=H?a03kW7B<|LQq zB$lK)=HvutRzXxJ7v<;V1mqWImSpDVMMjjQR+NC`Kn9^mMMM?n7nL}J4U5Q3&d-CW z5(3%bUjWiv9F|&CoSC1;$+?bCTwX;(*T~$)!PV0@@Cv_xpb)nRw^(>tW^raxPHJd* zW=cs$WMXl0YF1&TRCvNQ7_YGh5g%{T;7I74$1lTvfQiexRhtvLj|Im62! zK86U2aNBcmMkMFw=BDPA6hp+EWL-D}PH@D5EcQt(F7Yo&&4b!4>m=*J!4XxQkyw=K zU!Ip*1k>Te!2t?=kT^(-Yf5HGei1k{{1jznBSA(vrlh2%aBy6al8_XV4VDe%5V*t< zFCdVaSC(0l2#Sl~lEjkIVh&|kYEyR5f-sd2BtHPNz+tTHU;ySYh(IVf391fc84MVl z7`zzb7z!9F8M+y!G0bP!!myQL8^ckCa}3uQ?l3%K_{i{y;VZ*8hTn`Vj9iQ&j53U> zjOvUUjGBx_jK++njAo3^j6RIMjDCz!jLD2CjA@MNj5&;@jAe`!jFpUajO~maj9rY~ zj1w7WG0tY3%Q%m58RL4!4U8KZcQGDjJi>U4@i^l(#`}y97#}jeVf@PYjqy7ZCzBA9 z43jLA9Fsbe29p+(Hj^EbJ(CAhAX5}mJW~e54@}T{iXj%lhmlN`3=9mI8Ll8H2bAHM z)?v?Z^6nm&H~_6kCIowsUDm% z&{HfVFLKL=X6B`&R^ZB#0_>pd%W(yyT2YBxUVv2~g%iS6Q|Fc!U=#3$a?#vsOE#t_C> z#(2g=#w5mM#vH~x#sbDd#v;aQ##+XD#s3NvLtr!ns1pK=EH1$=PIyXeP+uF=pH6_<2Ws1Z zy5o$XemO)RNC~KG5AKdLLM9c#su>v|J$Xh3NKc-TfdQm-;06L975-@bKU)8T)8|Mf E08jt;o&W#< -- GitLab