From b048e94e5273202cff98928261bd69eaa49ea0ec Mon Sep 17 00:00:00 2001 From: brian-golfplusvr Date: Thu, 30 Jan 2025 16:16:35 -0600 Subject: [PATCH 1/6] Fixed aws to work when no secrets specified --- .../providers/aws/aws-cloud-formation-templates.ts | 1 + src/model/cloud-runner/providers/aws/aws-job-stack.ts | 10 +++++++++- .../aws/cloud-formations/task-definition-formation.ts | 5 ++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/model/cloud-runner/providers/aws/aws-cloud-formation-templates.ts b/src/model/cloud-runner/providers/aws/aws-cloud-formation-templates.ts index 79334d30..55ffd0f5 100644 --- a/src/model/cloud-runner/providers/aws/aws-cloud-formation-templates.ts +++ b/src/model/cloud-runner/providers/aws/aws-cloud-formation-templates.ts @@ -21,6 +21,7 @@ export class AWSCloudFormationTemplates { public static getSecretDefinitionTemplate(p1: string, p2: string) { return ` + Secrets: - Name: '${p1}' ValueFrom: !Ref ${p2}Secret `; diff --git a/src/model/cloud-runner/providers/aws/aws-job-stack.ts b/src/model/cloud-runner/providers/aws/aws-job-stack.ts index 189155bc..6a1b236a 100644 --- a/src/model/cloud-runner/providers/aws/aws-job-stack.ts +++ b/src/model/cloud-runner/providers/aws/aws-job-stack.ts @@ -70,7 +70,7 @@ export class AWSJobStack { ); taskDefCloudFormation = AWSCloudFormationTemplates.insertAtTemplate( taskDefCloudFormation, - 'p3 - container def', + '# template secrets p3 - container def', AWSCloudFormationTemplates.getSecretDefinitionTemplate(secret.EnvironmentVariable, secret.ParameterKey), ); } @@ -113,9 +113,13 @@ export class AWSJobStack { }, ...secretsMappedToCloudFormationParameters, ]; + + CloudRunnerLogger.log(`TaskDef: ${taskDefCloudFormation}`); + CloudRunnerLogger.log( `Starting AWS job with memory: ${CloudRunner.buildParameters.containerMemory} cpu: ${CloudRunner.buildParameters.containerCpu}`, ); + let previousStackExists = true; while (previousStackExists) { previousStackExists = false; @@ -132,13 +136,17 @@ export class AWSJobStack { } } } + const createStackInput: SDK.CloudFormation.CreateStackInput = { StackName: taskDefStackName, TemplateBody: taskDefCloudFormation, Capabilities: ['CAPABILITY_IAM'], Parameters: parameters, }; + + CloudRunnerLogger.log(`StackInput: ${createStackInput}`); try { + CloudRunnerLogger.log(`TaskDef Cloud formation: ${taskDefCloudFormation}`); CloudRunnerLogger.log(`Creating job aws formation ${taskDefStackName}`); await CF.createStack(createStackInput).promise(); await CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise(); diff --git a/src/model/cloud-runner/providers/aws/cloud-formations/task-definition-formation.ts b/src/model/cloud-runner/providers/aws/cloud-formations/task-definition-formation.ts index f5d472d8..a99a7576 100644 --- a/src/model/cloud-runner/providers/aws/cloud-formations/task-definition-formation.ts +++ b/src/model/cloud-runner/providers/aws/cloud-formations/task-definition-formation.ts @@ -126,9 +126,8 @@ Resources: MountPoints: - SourceVolume: efs-data ContainerPath: !Ref EFSMountDirectory - ReadOnly: false - Secrets: - # template secrets p3 - container def + ReadOnly: false + # template secrets p3 - container def LogConfiguration: LogDriver: awslogs Options: From c794bde9521cdebd525a59137914e0cb710e46d8 Mon Sep 17 00:00:00 2001 From: brian-golfplusvr Date: Thu, 30 Jan 2025 16:43:24 -0600 Subject: [PATCH 2/6] Compiled --- dist/index.js | Bin 22304244 -> 22304531 bytes dist/index.js.map | Bin 14785146 -> 14798355 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/dist/index.js b/dist/index.js index ff6bad6f5ed7070bb782c9cc3a033c55c348b41e..175f3cf62dbc917ef10f2f3c301b15f7f4fb23ad 100644 GIT binary patch delta 1646 zcmYM!X;joz9Eb69fdLs%K?Gc3WD!&lL|niXK@k@etuzyBL{L*1r6DUqv5m@%%JT1) zmD1{x8aCMC*y6qvwr8$cQE6IHYGwI+UugH7&vWj%=bn3huWr-&2K&-Y4fd)!voOS} z@S1SXq7YLTVdck|ASV&L-m*kW*Ze>4>YaLgP)iskBnhn-ot~ zvf1Ki9XM)YqsF_PMYHls=a##5tEjBl=`Q~N%$j$`7Hv5Sd}Azcld(nem?L|(t9+WH z#8o!O>7MB-z5cjW6YQIA)l~WfdR%G7ED3X5U-oM|E4to9R5K!c;OnXN`em)LCAyu{ zyHqz8+Tf1>G(#Zl2tqKLqXk+b1fgh!FtkQEA`po-Xp44ej}GXFC`7}7PKZG);t-F{ zNI)VqQ&)6D5|Ys!DM&>Rq@gF$(F?uN2Yr!&O!Py448TAP!eC@!2(pobp%{i-3`ZVD zU?fIiH1aV9V^M%{7>^rpBW}V3OvKHYgj+Bfg_wd{aT}bNiXu!yF-kBUGcXgkV-{v( z4ocy|T+Blm?tmNRxD)en7w*PAsKC9b!~!ft6&B$>+>ZzFARaybh6pQf~mf&&J z;0Zj5r?3=H;~6Z2h2>a*l~{$GACB~odlv{l+E?UfEnMY>8oTYnMyyUzcN4>s0>mDD_P1AC0of+hAP99TxGbDr;JcW YDx;LqO1?5i8LJd1Y0EO}A+f8Y4Nl6M7vLXs4JA|U_5wiE*yUY+G04CPS)6;TP5Q3X{Ij%uim8i+tm)Ix1UA_{d-7tx48J=8}7G(;mbMiVqe zGc-pmTA(FbAr7t425r#}?a=`pp)ES23%a5kx}yhrq8ECj5Bj1X`eOhFVh{#n2!>)9 zhGPUqA|44Ch0z#;u^5N(NW=t8#3UqPGNxcEk}(a_k%AeRiCLHp3+7-h=3zb-U?CP^ zF_vH{mSH(oU?o;zHP&D))?qz1AQc<237fG6Td@t>u>)zaVkdTCH}+sJ_F+E`ARPyB z2#0Y5M{x|taRMiC3a4=fXK@baaRC{)h)cMPE4YelxQ-jRiCeghJGhH`xQ_>Th(~yg zCwPiyc#ao%iC1`yH+YM8c#jYGh)?*8FZhaY_>Ld=iC_4QKlqD(N%nC@G87xdq}VE% z6g$OU$*edij*64wthgvyl&p$b$);piT$LP(o8qqIR6LYiil>rW@lw2%JW5_ApW>tV zDt=0SrGQdU@mC5dg_R;oQKgs?pcGe1D1k~zrIZq+1S_SLGD=w`LODPc-^rGipX vsiag^swh>JaHX13U8$i&C^eN@N^K=liBjq)b(Lr(MyaRNHxBS9hV%FTJp|`% diff --git a/dist/index.js.map b/dist/index.js.map index 987ce0d181cc17ee65b53b3853b255c7521d1f75..aa89bccdd4500dcb68d36edd1aefa28897d36208 100644 GIT binary patch delta 62090 zcmdSC2Xs}{);~IcBqzO*LfGvj5JD&+bVz|jq_;rmH30$yLK0FGqzIy-AP__{u~96D zC>W$lN4*Hrf{G{|ML`h>78DVAzctt1=bQw%-@V^|jQ8H3F~T`#?^WlTYxXtQUz?t` zEqP_Gt*nhk_QsyRl;Q2>Ml%+KoT9Q{e0{cN6bHvv-;ma-+LFDkeKsC%z8OC{R+H}z zh6QwW-J--@=@c!BO!T0)KT(@jE1;rhl=}Ecou(_a5h-yg?5D+ zKdZE&I;|3eyzB+Vxji$pbL&&nvB@g=q^bVCU30UGI^<;c%o~$cpJoqA3ZXsEDz)jv zUlc$U|4QBClKkZikF`z=6Z6Nc7b>3g z!~&&_>^`DeJVka&s!cyEQ2g=em4!+a)mo@Dvc6|6P=dQXn4Vs&1d#Htq(CA+)lZZQlSRrWopPi2B(Xk20LvSTm0GgBi073E%1TZO zp!UzBkGCTd8AohXrN+YNmGNS#wJ7Zh*#csUfn!q}k1Ed28Ix5IL#svs%FULbyMN!- z%S)8r&SqRX!Hc?d{&~fRQV(HGM!cYe%8}1`LDA$;%N);m!WUjpYRVTimIAxK!)~DK z$`TtjU&<)id#Tcio*smml_w{8Q^pa%Y~xZTK`z+&W{K`Jv<>#bkvfUq9un%*R83U2 zp1qUc!5ed7^-6p4@JmVyAi~|36crz}Usl@7$&P(lQRrX$lfr1}%Suz1*`;OK-F*gR z6%=AYJ76y5XbGawQ)hlcz?8(uw6*sHHcPA|zD2 zRw#Sru&3R`0$f=EtnRlvDVQoQ+HKTur4mFBA4&?Rigmz{Nh`6@7}zB%l~h?S{*fgf zba|!HfqJ(|j9`dT=T%sq=4xVu6P}d_UG{3l?kTW7FSoFWQr2O;+pSRy`e?OM3**eZ zga_AGD?_dCBi>T_;QNXqtudW`OYz0`fO>X8O6smrdgG&MjJ*RsHm%|9dVP(Of?rHP zyS}aX;roWi^f><}B2qaZ7@2xRzTtHe+$ z`A2c5+3zTip~=7AQ5N6>6gHGzeph({-_>=>Jbb*lPFaGF*6Wp?_&9w~X-MnW17{eQ z&xvoP-3|nh{kH^c>Gu>5kKDZ6te6BzP4OUrzWFr)bnxyun|Icz;&J1$bI0NJ?9Pd` zs3J_Y(d9n~um2=FR7Wj!yid%V*{|2Rt7*e=+5$4e& zdvsQAAuaB9AVka|m~n9H`x}&ptI?&w$#vz#d^ZCVqckWIx)xiJ9uGu8l+J z^d_Y)ApOrKMZrg{&AeYSH!JP%YdL?E_WLq~u5VTv&}##egDG|k@59uOfa0UJD3K_~ z-6 z+>7=qh4@u%pE6N?M9`D_xXZ=+F`r}mlsr67{*a+C;X_`__vNqiA1b3Mx<8mn?~j;{ zmb}|8ls^B6+x7UENz;IjSwLHfU*@WOtTac1$6wwMLLNDg3)26^ZNB_3E`Rl3JkZYj zxf+HbaA)!yqbB{dpVthJBB=c*Jl_r1+t#Ex^82PwScLlJ6Gafb76+6;_?Uly(UzCt z$^oT?w{yqR?Cp>oS{$?()(;1Kz8x+IU|iJ z8P~N4(gr3&Ld@`_9)}e#NlUX1D>0JoR2)VhD-ZLo+bcgV9Ok*l9sxnH*jhU|CFYyk zjwtZ}(d8pbSNg0E;K#R<9>l9mq5Q^dyVy$Yzu?uG`h}7l?cfO= zGDnZk5}ZKN$-<({qU_Q3M?gZyPNkCF5MAHfu4`mF0WpUmyys)hosv%|kz$-71bM`Z ziccu9QZzUh1&+Gm1o$BYi%=JV{iQ45O13YRQs?m9MBg;KBuS-`HiM5*A!;?xQ zX0Jl1r1FzWxEu4ScTOoP9X+iymp_-E#sIFIR066M2pU(d5v>}S3^Lxc%#G|{VQHco z9H>btrxdsFyaEs;Cl?T$U}DzPMikiqgd8PoqVl+8J3aXo!~~WQQc5&$+VPc=NGV?> zhLYFUpjQptc9;^`N_&hq_5T{;okOmqz@JXrq?ok&YfE-L{59l}lN~|kpuE_K$#-7g zL{BnKK>}u8mn3HOe$PaW)^`P}pB$_SN{G3(@W7BEebdELN@5Lsr{gCT-4jf0=y1XR zQ%_?^n{T7-suB0+n*MpL`%>7@Tm zHdEg6OCDa0x}8frL(hJT&6TtftG@hO zp>vdasRp_hk_JAEOT4!so=nECP2fuK`sybfjRV@A0XI1_JbmT!{2}WK?#xH zC*kA9wv?Jn+pV|JoF5r3D}Q8OE*?{0>-uh#(WA_RF8rvpM&YolOk?-uLzUa}8{p4! z_lsARp%MkVT>~A6_=)-6hBDQx6!>+}&&*!<`Db1}=0_8K1K402ep$tJ!nbRRQ zC*NQY4Y|Q`!iHajIH-y zq$;b!66Lwyz%)9f?g*yD-|q8b?DKRC4Z+d z-x9#EEFuj|RVWe|)BO)H8fzK7Xx$$evs9V>Q7Y9zeE_iaeX9!Xfo}eZA-Gl*#ZfD0 zxV;w9EtY!(TbnR^G@jJlqd%EU*5pO~@kdFP0rEm8S2I;8iF)*`e^!UoF!ccW$ zBt{)U4elyIhRMO4R+*6_$7GGpD-cTBP*BiSg?e*(>MonZR^L^OAXK=wNQ)lI6d z)_qWsJRQ{L=7=onqNazLong2DfxK?MTK#K`ZMoy;dxapmen&KrP))HB1?T$ zAMeaZ3r%KXvNPRF6)HM7Q6l~1jnyxCMU9XTLTUL%BZw|}slp(qc&kjOgxY^62ArwH zo58cgTNRYmWQ%D&YASw}_^3kiEvaj7LO*+gVEOo}!XV&aVEEq0R~7uBR|CB%{p`zd zWPaGhPwj>0H=3(8r3eJp7Dod=fVl%^C13jK2Z*)b`l(@Z1H;}HLYhCgpR-6Wf7P_c zU7e=;)6f}q!H|IA^}P$Tii-2=OVffNxqtbq3JU@yVQ6Q!0tmDXP(|?`0qR3?FTPp} z-Qrasojzmu(1!u)0J&$Eh2ce;Kvj3PFfmXa>io4{RU@kdY5xvXg-KyoFSVs?a&Jdi zi&oqLahp^VcEGQK)Oc!ol|pE*J=%lp!D@miSCdL!u)9%SusT*~-b@6WP-sn9W}QlR z%2jfARP&*cHC3Z>-7a*xrdrq0KuHG)=!sL#nsrG~0Wa_^Re zvc$uzY2;GFkFJEO9WjkYVHRY{7oYQRpV+3*GHw7;3T+Hi8_C`*V+Q0&Q4q*isbEt0 z{R?^&Wfc}xD!D&g4Ho9{nhyJjY|=j`Z**o(<1u-oC&I{ST3C1x?P_5;?^AqQr0OCbOWQan;omr2Owhad2!%U{9f z&c^dSpJ9?z$0m77iRf&cMVTU(tu3D4qt6JWp+)hNAVHh zG;uwlA)?tRs?gM)CUTreb*KCrh8s<+VR+NuYnAXC$@X|rD^!ld8h$X9>8cz3+T%b= zX}UibfqDI|15oV5km&t`J%ADn^*B(5Jqx;BokInF$szPYj2a^sf!TV69kscl1+(!I zh2!_C9t19!D{=PdZwa1MJ4)>=H8eJ`l|QR{P|B~cna_?=>zR72sJ1&weNxVgi~M~@ z526Wm)DiNT{eg!p4At$TM2)ASP3j zc!_hORZWf=)nKXsLePiNYBQIO%F5BK&kc7{>#5!7U`nEo^ni?vNHnPZLaYV&Z#@fI z=%qU)$EY3u2avI#35q;{-v1*3Cd>rG<{~bPyAF1|_glk*-l-3w$dW+$3TS=b)K`T~ z%{^A|Ntzt1hWk70i5VF}R}s(rI!?;W7A8i=BQd_xShXV)xtWn_Q}Sz|wiK*QD4b5V zO?!TUmMPE#6>=M>?dZcgK%@8;aD`O1;!CUZH*~fMh{wA0BrnRoq_m{6sk*SGn~Vh( z-&R6562@Mzh7h_IuiEfE^EzxJD<=a7e49!h0xC}#O_?{%Z_2*9eM#`h<*x>*yU-Nd z)+wGhc@nmq#?7#h*5)@|4hx&9(ZV)9oPKSNwN{#|zCu^$*-@bAzI}68pq(>92{^!R zCn-Y1e^}ItpsDCVC)dKMRHL;z2d^s9VZwW{HAn-$j}HUw z?tNK{pkG_7WAT1a8+AH9K5wJWm6U!`TeQGsEw552jZ6TQVqXv522;{P-M3nOx{;9> z=I{z}p&7D?bAthaKNB#%D(#$GiQY#(t_M?kB49ZxQ5D|0R}SWUf>s#YwJ zZ#O5YYULK|Q~WYLkhEmAwJg$bhdqdbXAMU9E?C_Q)PpkXbM_Lr&%QWRR#T z#jNIHDdlU!-7PJ%XuK@^ZaZMh{R&@yNe3Nj54nbA+}7=ZxLl6?UX$9Z4W*CojrNe= zt27X|P_IpDid7eb_o0VVfKm4=w?0Mnmwntxw|mi7DHfD&r(nOc0@Jp)-OrEJp1xW6 zdHoA=%r!!ZUUVZ>O_aq>4+g30@(>n4^y3jTCbKBh^a@VE@|r8_88aHDs;rnq>eU9w z3v7+$eV*D*4JY>w_)j>DTwJ5VNrcs8EQT|v6(zi-1mXcB>aLEemlWYvJ`6g+n!|;M z)&5eO>ex|DbK1xxVL%NZda?w5FQ@nQts<=fo$sXjSpD3yTe!2H10a*ecTqiLkC~kz z1~EuWI;)eb_G65ag+2eB1FY*bT~J8ab~*@OlOJvGsS2MvgjgXmn}o^Hx$L)3x*A&B zB!*3z*t_QD7Z=&PWaf^^fs+SBRlG;#6}>P#_QW3Q1yaEziJ4~aF7_zNR#py!(t?sha`T3_^QDq*c2(Ma_I3jiVb%1VK58HN4ESw0 zXr&i*58Y#pe;DuSOL7}t%+lyJ()ve(4-nOSy0%Y4&S5tzVl z+NT3MnSu>WR|6~^5b#SY$a^Fk4s3hA!<**>;_Q=lNXXp*5?<)X#{gF6($xsdvM$Vu zCcK0Cslq30{z~bGeaWowdNaExP3@;PHZ^>|%?O4#cLV};KWvqQ-aCBhy-~1acI&4G z*XTON+*{mJ+yDp}jr*e*??aUEqoMt=ubqS8BFp-#rU6bA@e;eV7aWsSn(883d3pf! z8fOCs2dMV@%%;XbRj@|qY{Kb!Wiad>h>f&#AcO}FHW=5#ZaV&l1mMN1LsU;H8;`NR z)C0jFj20Oa!2RO&k$B<+YABrvzgI>H|#7N5CAD1!>rFQZ86wA#ZyeTxrlEN zs-UN5eoki5*t~*C(jZ-ZoEmI}*czBm@qn)m#f*!Fg2M7TEgK4k!sGa8s48r? z*fO=K`!K8?du@3_Im19`d6L{2e)@T^s$r7MQ=Nm2e*0s8kdm_DmFj*sT&;PZb)GO1YZ5;~4RS7a`DlA>${hi=;B5Qt5r7l7y?LY> z?9nMZC#%pE0u4s0_3q!guql}9^Ug?%S25K78fhum_6&<<@{9Zo=tbPws*FlCDl+bi zs|_+;v0y|d8e>JB8(S}aa$^@Wt!1&cq()6gu_B&&=lxnVY!p_B5#^atP@14E3!`!-OO?3`Uqo>EJu~pjuQXCxXN-zH$ z3(X4nR+E~HQ`@mbu(%e4f%0*H)LY}!ph}NgSNau2spEMWgRVjGd*~2&`-m}iPq!Xp zU2s&T55}WCp5)Lmkch4d;$&gCN|D(xQSjSt*_J%W2(%;{9Ee{eOhApp*^pEn)k-Hq zNA;h83RVdx^i+QNwChW6+BpG`cCB8|QPZ1JCSt8DAZRpmqFVnxfZIFK6>!%lLKJi~ zNS$)j$otfpo#R@kEXUe!h}yByk2yehXVebsPb|K$wsC(kX>zVAJkIymE%ZE9L=W`N zW4U2{ud}tNBoBrdX1^nA!!Gs8A2FUbq3#GRkmZ}7@>C(!-Of|{i>mn$Etu^yH`$pF z2(QbBO^Ej=*2RbXCu0)44VjX2k^IT3TU`@91&WG)nK=m1$%QNSkt`sly%StcANVw*V->gFBXFH)wq^R&8eihQu-!+ZWOX>wc8d z48lY2M^s;*IO%|}w}YvJjWld8Xiy0Gc~qCgTD12Q&6k?&gB`usBj6Gr6hfdm@5=5y~eDAFDU|oFWsFKNGr#ja;Fi?QRJf{5Lssg zTtyKKJWkq`(g9j+-(uM19F}zYqZs(k+-vV&@SQE1fgp}1kEn6H(_eUkkELE{2CYtI#F*=h!2lklZQTPhhU_A%=DPN3n#k4f3d6V(+AA4ixaCCrYG- z+k+mNqK0}sl9xTk9xt$@&s6BO?WU+6p3}q%3KE+$MHRsn%cnr}ht`lqO&?R$%2n!8 z2OEgW(^J8}T8>P_LQQ4K;nS&Hwf811)VC1Ehr+DU1zAOfrdEP>THiMq;2WCyIDpJP z+pmAqMxu99NN+q#9f)6ZW~m)QF+4Mnb71;InT1*DMVX@~Qi?4xtn~ACZeILT2x!!F zBs|s0uLIzb;ZS;$XJd*C`uWo|FPbo06~RdCU0O5^F1S}`vz`2l*=ij;_nE6|K2rKm zW(TePDNOPw|73$!&H<&$eu8(@lqb}_7Bdn1fqmX3b0A4ve}cthpE=Av8_rR?+NP+xo`g}6M?PW;D=+`M%8x${2i}Vt)mk-xB6RyHb{pLINfp6_c~7h9@*|YK zd|GXV?*L$&OHcuChPgQ!B30(9k&Nz-cg3pQzDuEIP}^MWbT*o^S@YMqkYeRF71qGc zd$4-h&j3BxD9lARK7;+j#_*ng$=>AlENBf|A)ASBY^W^Xh(UuWM9M(Sl4sR^E;V>c zKJ(OpL11~x}AIQKqN*=TJoMp<-AAQE1%DW#>rD>Ksn)V#TY4icJaSzL8n-bkRkn%*> z@T^;)3Ki>8+)EcgOJov&N4^dda}+(c2;-Tv0L+$0QT|n5Zz_2)36Z6Ry?sPvU$_kL z=Ancw#LkxGrnL2y#^k3LLU689*Ro(o(e;I(&HNTI;2xr7IHbiu%YIGaz`=0Y3WgCb z%9)1P&5NL)aR?H?;^D^oHF9t=Yqnj^S zs$<8cYFkNs7A#eJpzW`gs>7ttTGpq&n;R4%GkSSMsg%`%>4j3%X2}5qY^n%8C7%>m!YcPqug=Y-4WE;X4*1e_X(LECW_X#_^=v>_ca5{=zk@vP* zAz<>hI!_Gb8SDF|&RR72ysIvdgW{mQ{2iK&K6qDc<3gt0*QuHGx**JT=WFnbtz+yE ze96Bu_oB?cD0Fuh2rWC~+Rrxvsoi=tq$-!2Q8lPd)?87h26%U!lsPU7CeN5gGPar< z*|lD^{TGe+!Rzq|BAx}yuhh<^9cu7@(T;zQym6fi@{04THWZiR@}lZw?EhwZrDY%x zPT({wQy>1%$D_K`JX5BI{pU3UsObi5I!DKi9?dJ52t9I4_Pz0i4<3CWZK%|WF)6P& zx9Gub(Bx-~FbaELjk-rLOtF+;{E@!S0ORRXGdY=mNx z&>d#Swi|)|ykW*{1aam7EoSnT6cR02v1HkEv0+YZgoOw-G`i3cTg+z@SP;twNmmIz z+AHVWX;F>2!8BwO=rr%R_+@d?S*oC?W;E@v!-O|mHX@Lof6H?5o{6E$FXyIp?-MwXee0(fj9GqOAj=i50 z$`;?jTh!W!MBK+AB|>}M zp8=Ni^IeJ(TrnmbU`9M;Uhx>aFs?y4%gen7?4Z+4Y0pW+iyqyoihy_a@K%zt0;Fr$ z5`KaxWE<2>mVnsQt;~f~G-eyTZ~V*|$FOG`cqD@u{N5e$@@j@dVUed1Xvo7Sy=m45 zU>+c4(H4Me!XlCEOKIY`0S8cdZHE%ap%QT2L*Oudqc~WOdCOI zV>E9%xSfSuKv(FxLim+{HFwmgzLsDmNRW?1T>$Oi0~}0)1nr=Y2PM_4KEotUm8%6k zoP|>yasfuue2*nt zGPVO>noGfK{vLI_!~^C-0ec|oXjdet%bF*l#(yy^w9A1!9uVZqb?NxD( zz}y&6D#9pbAG}(upFK`Xd=OI3VaeAoBm$xKu|*Y3u1*c1;NVLrwf#`_X;_&@*@b4* zH>)tOxL|ZvVI|T%!_-9|{}8Aud}0qcL}do1fBlKt5`&Rq2qLd))2s%FKe*Oc6FzKH z9=Ujcg+~NLjlx4$u>>Bc<_Pv@-8lJE)|gVC&_ihar=UfwlCJzz%|)eSuY+pUJ){=n z`?5poQ}|F1^T*1=>Wlc5v3N-s^*X|a@7+gKai%nNT)R*w7}6$aHvScSlr_Y*M=?P@ z=vmgQg%{->6;=Ro7L*a14}X@QYve&+jMm^U1jb7Rp`C}_2jS+7)RMUUxz0vG$JFUu z+rsQHi9SN}wf+edqXWlSfd1(iWLfUKPB|vV-?+8j<&YbA7*CaBeEe;5If%bN==)%) z#9N7_wT{E@$gIH%xd@I48=tXi z9`w1|31DPCgeWNwI{Ov0h!;Lrm*6R+-^O&L46+TMzGAxf*cX_KlOwJ8!S3bGC%A<0 z+mtST0S!-_Eu@GOnA>l^C)A>e)3rMEcq84*GcGPp^1YRhXwB%|6RHSP#u?wR8o~^7 z_k=29&($v(N1A^L>m$$9@YZo=U~ICDQqDo`Ok1XTdN&1si8l|~y$y!H?n`(Gt)oFU zy89*14#$8^Fz^^E7Q&>u;G~*@UU1+R$oAIBAO|!fY27w>#v6PEq0|Yw?5`mHPTQH} zL(hMOjTUwbM|1)DI%Gkse%0xA{T`~-fUngaGE$Zq^4_n}3K~UB$&b-KmM_n=9pK=QHf=2+o&bQh~7w88pgMZTNG`o|7ymct{CRl{~lo!AnRsgL!t%{RM zd`1oDiGyk25QH>COJwJec_xIddt=W4Q+X$@&j#rm@)-*6IKw6$vA^j28Q#3t&am}G zSUsp?EvV#8&w{jaSUCHg2A@Se9`~MwNowgPAkrIW!6os??Cr7$XgqZmOmnkmVgpJ! z&8A~UzRLK4ogP7(&oSNk;hc!u+uHa%ri1x#=`9!3WY$MGh9~+W2W*bJh?QdjYUxD~ zDgL(YqFNJ`sx3Bzz3b9N7{^jr)c}OW*uPosEjo->PrQ zsj*9qar>$5u=z3kID*Hxq;`@(EV{%7z-iZ1#V^604I6Q05g%_M(_r-NCAAfgKD7xB z;HQ0y!S?>niY(al9Zcrj_V3>zhU!ZjqV9Wsj|Fn>`u11UAm0gjqi~RNV(z1PxiMt# zl%x<4FM_Ur4~UDRrCkoVQ}AUh37?5!P6W$G9ZIqPV>&m z%NPS1!J#>`h8bkH{0i2dcmM9&2|<(yfs1~>0>Oxvone#o0|WpGn;#&*ura&I#CL6U z@CN|@)D41LU5GeNiOKCp2)W!F+pgREs1BAxV>?nw^9ydY_D9rZlStXB4L)@3M~JNa zlL>0qCVD=-a1|7QXH>~N6GSVAB>PkOZ3N%3Pk-n42<9pO4xr*e#{2?j=!BmzW;S22 zrEbMf?4f?=8W!gKPmDl}^t@x^eu2wA`Wl$@wf2cVrJ3-rU-%O;_mh{U!BA-Zx{&rWfo5CTbxUA zYT^Xyf4!2~y3uu2vkoA2zs@)}e!sTM@<)J z#*nr)y3!w8mc3gmJt6gL15n>F1TRZ%FQl~H;JF;i!1n$Z257>FcYLtcRG5Us^5ltJ z3jM}s<~Fi}*}A?NTbz@_Ck!2LP_@rXkcqgbB?Gmd(ppzB5V9+`?=gsBCt5+-$j-Vj zgo|Io<|cYW+!{g|gnHoGXtg1l>L%hWX~bTwwg@hF9S7%o=v}*XvS`ky^Tp zw<;T{G1-Tplvn111FTTuS7&OqThtRaeC&(QiyamF`O z^Q2AvlR}`myDFwUw(^6J5+2E947hj(@O5@~uhrR$fViIYN2Vr(JC;3DMronU|Ei4^ zTM~+oolcL|1fzBe7wiCa>SN6PSUif)*C5=8bS=Z5gopvPH%4rEfpm0zG!~k9(XYaj z@isSFwSDgTY6(cbeD6@7MOc!_qFKt=K1LHUCf1m}NX>#X)#=Xen5Bi%$9ED8dFHa~ zSZvkCYO)s1%ZX_4X*CoSvlJ0RhzDz2iEfDB&~sLKgGMu zlh${FxCz}l%o^2TS&RK8aSMQ}uvn!_k$}gCM&e8%;-~I7pimnpQIMCYp|oASlZPot z=|=?MU&_;3(s#niWa;Z31S~VnJ(Xt^J0Dw|)Nd%Q2s`D$$O@lxBXIy2hkJ`P5l9LiEPM>m_S>>3 zP)l%GPAMcr6w?gtaIg40%7^A+<%5c|^(f^k0nCyD@4C@S?8G{R`Z=>OlX+j%>>ePu|ngr|R^~a>^y*N6A%6c#Jpt}oEfk_Ih(r}-j zboPNWtbOq7qBzR>ziSkVX^a3!0|AEM>V*?2a(fbTnLGdp^&bc6y$1-DH~;J-&xg~t z$2AeD&X9xoSuCNLzvt+j;zE&D#zm>*kVdwMl=W=qWrJ~VQdVvel^jisrCD#Zb)zq5 zf$;EYk;vJ=YD^R?L2R7vvq3DJ8;74QoefgJ=42M%Z_U;;se$bM1Ey#;9rt_!fM&#( z))iM*4h*Bhr^=gn&l6x#T#lvwzn=gCNF^ZVMR#gB2N>g20xCI#aB^I9FIv3!8O4 zxu&chu73(!%_(10rrV6Ty`I*_(px){f`~2r2c8BScK&QSm$%-`xnL78OXB3Ku<`Gk z3qtP1OR$di%-CkXaHiJQF3&*tk;~tR7Cs9M=7X;4Z*Q6jFB<-WSlJ`b0+}lBx%=Xl zU?r30F^^a+RrgQ>>z;MzhCwwiWGKN zP{y|~z*YCz)U2}x)`Q_ESA;hSTI3-~EWOtu8ES=)CCw$9zlf<(d0btbky@mQGohyz zfoOAh39?bJ$X|;Vlt4{jDdGJR;D(^N4=}KrE^C}Ljia*nHFug+DyZZ=Hddqt2_a>R zArv6f-pX1_%40g>-(vMxN{>y7rn{f0?o>jWCyJT&*z3g07T6I5S;5V})gJjYOgoyt z6otq22P3MYloaj8B&t07WVaTGriI9E>9Aw7MGTxnUJo+`vHXIpN3ydX?VX!5)$#8C zL=Uls9!T?F0@_>p5Vr3ipm1_CHOSH>{zv^olcLt$kKoUr{xZw3Jy&ZT!29Zgs9k5dCV(y}qAc@R)@GP9xuY@qpG~x70CjVip zG}r@Zfcz+3rFFCxPKe70vlXgXrr^)z9St9Ec+48-=*SFG-6G zp^@`+&#k9l*B%mNN_|rsZe=tS0~7zo=46gbu*WH=#k{twnHO?PZ3B_Pd zD10^G$ul3gT5IF7j>lF*k8+a9wr^=)phMp^*qCgQZ?gu}1?gW*H|F6rknkt1!G3_I zBz;(Q5btz!AIN3d8c14|inbDrB&0zl=ZYA+wAhPp;@^x$_M(E~EDmyO^R_k&{V#c2 z6VV%1)<-i_Uc~&(hpwf+vU|_r_7W@lPj^CuYS%+l=n2N?{7slm3GFsRS90-IcN)hpw zyNPv}dGh08db^tR!6r?{>*VayqD&XWh8k~$(b;{Pzg{J&9JigF?`XF1W=$Lg?YmhM z(Zq8$!&Fs3?`_t)$&UyM+M)@c7ak$vdkZN05*y4u+fIV`e6WRetD9T63Es$^w_>wc zM9G6*+RCP?_qJ+X>E>2$sKGXf>Iel6qQDZp1ufbJWdUvy*W61iUS8d%$@BP4v-Q@L z`hfQcVX}l^8(#sg@0?w zPB8KNy!8-oVgBP_h`3#V+J;9$1|XA4BY(x{ocVk*}W(E!~XYSNCbcxxYcAy^Z@&E0&alLjfzr3z)taHXk}z zkTg6&E{dXMA8Cfzx)S8_e{hC$k!wOaL@s=!Wl``>VC$fdAuS6xC6#>4q8mmg?6B4# ze97})TA>VD;1p!o=_0~I44N`FAsFnVe`&(Z!ZVt&34*D|e&>Vs`!!)lv|96{NB3)k z@Zjiv%~-l&S$*k_Xz__92C}Vd>?h!cEEPg{H**ZIQ362mq3Z`wxXl5rqx8U|NS%PR zyfOCdLXq1zS0t|#VJdLBry(cW%y)#F{{Yku_k-F*Igk6f^jS?fc2KKtilZV(7r`$r z9pm8B@By?u3Ont&PoYk*mv_Mt9jO93LNj6gA>KG|qj^1(eTWl|v9hr@tfdz#vGN#(y5t%t$%QAXtl8TBR5S zm9Cxvxrh0VUz#b<{*CPq2M>?P1wErih+xxtOn)91@yTC}1W{jpM6ym!!sd)wapEBI zgC4W*s8!SsKDhD5Bk*jg}LxFUroXv2MXzJ1SUGP9UV>?)5oqk;Vx$-)45L2vthS&}- zI{q0H8pg3INiPm=2mHo;uC;Jk`Jp@1^l4H8V@ImGq$wo&8!1s*V7x zd=UmK!n3LOSJ)OTCGt?$eg)y0LFYQuXiB??V3xn{B5Mr#t52i824!J6ty0_UG7?d> z^-n=<=l9SYqiDuiAluwijEl^IF&kfR``GNqTpcy( z&yT?Tdq!aiaM0A1U9$o^^o$D(>(R*8L&E5zGr~+E(#m3DBjq5X}Q~dKRpngB2 zIa?0$&S5t&a=&*@+NtuE)TCBjK+3F^p7hdrSWN51BZ8ORoafJjeK<|k zhyDbqt#atxCEhv)dCdpBj4{pTR1F8)DU4m91NOt24ii5hbD zbq3>h=|*(z4Hsn*GV5m*^rAh3l4_CY!Yvyy!L)A>TzNdkcoBCr@%u_++4pv z*)~E_J!$(-S~J0@6bS)@V%4PNAF<2WWali*FP{1lMhZT?!bd?;y3O<#rha$Yc?}fJ zStBiCqFeP?6Ala`{VG^qmHwF-WL|}2?(Clf)AgS~Z1!IT&Aj(T9hYtxLRJkwdh91i zY0g3L+kZDlZ;GotY_7o*omTlp{_GBj>iv%U#t3W>53imgzS)Vs z3?d7C&DE*0Uw9?FuY)MxyZmCwD|hnDby$2IsN{of3ky+tQC_~eRUPZf31f& zyMujD3FmoCKGeHHd(F|m9H*mSt}PbcLPR`p?%_%pT6sUu?u+ChU)(T>)&CHWXQiER zqvpQ=qd6FA*e~FpacB88@A z$go>Ma5nTz)amZ;34YY|S8bq-1ugsaUebQ%S8Nes7jVfvBCLxFsHJq%ICXM}zfv#f zgD|6hhoHzj26|#1_<{dTZ5lqFxv4oK1OK|oT6n}Ca8WbI;p+~D{(;@cELoT<+=Mty z8z$_iN$$6iR`Q)cpyFBWK1_}NWJ?fQRVn{ZFhUX5>XAPlL8`9y4e+TzKI|it4JX{v zBJMYZzIjN;fhZPAC5TBgZ?S!0{VgpK1E2K|tQ<}L(QF=2_eGgqK1*tm@fYhWDSt70 zTNTx~w#yR5{|)-gtO;0-(4-gJxrg4DKhfF0;6>w-yghgwjoY9lau3o%AI5re zq{=$-7{hE&Jwir{tn<_#mPOdL@8+eqaWTX6^Fm(dMdOln8M?R0OCNzTB9c@XzF6(f z_11+@2#07qeJ%oTtH|UyHQ`R}eK2iDurXbD7+Uj_K02R9WL3}g0Jac4-5HKs_uWZ| zs&w~>xd_h(>cY&yoB2SXo+{}^Zu+ttE)^-jf=s zIK{O#2!|nqf^{=0bWz70HtH0tcd8;6TZgDpM~?;@bPlr8g(9DY>*A=Oc_h0}pf1dy zrh(KE;jZ5ggFw-7(94NJ{UUTTEb_ew42`Y#ypnFU_5NsdP;D3p?`Ip_QClB~_dyD0 zaAMEybVU~da;yPy`r8W%gXK>}Z%El2lFV4;bQPh(?7+1WHgPu206MIKRkPjiSZuCkd@+yEph0u;jxk(Ia(kaQ8SRb_p>f_Im4feDF9ptHXj9RB* zQJnaWXYfRnKK;Hk=u9v@B-hcCBz8YjM;ES$`c!!lMD7I<+v*hJ=Xb=mamen>ggQsVM<{sGeW6?&O9KdL-f;dor4!Dxfjr>siRhJp!dWt^Q_5x4RjIL$!AI~ z$~R`X_x%FGmo?;3vCk`|$u=8ZXs8D;j8li73zu1xDjhfwt0RzWDYx`r+KCJ~T59p~kFauyOG%@s{<0gK@e%?Li#a5YPm4 zz)EW2NeE|NDJ&+@G-7a4(9*rjA_xIO1u~SciZ#fxFqxJ|R$)?JZS6)ao9bq=P`1MC zZwjKqRv3=T2xtZl#ZeEHf*Uya0=wj7ha##d2fbNNGttq zUj1shMzruDf7^;z_gHHHsCH{zgx2AEI8ADe-OJ6NZ4DwcyJvC;={LckF0@8!&Yi7H ztF0_9Oya1eP-GhpjK%i|n%foUxKP>4ZAL6Q;#RL5(hT4HyfMOh63fmNJP!3O&K;8l zQ&!d(A)kpSja%F!B*H{*w^w$T2%3h+rZG-!3#?+atd!QpH1gWhcLcgI31kCHX1)%L9Ti~r*&Ycqm7Emarl zmKds)x65%%+KMo@qA^@fVOy_I^+H!&xbks|L-DGu(>!cu`yH@o@6*q0{mZ$2s#CK z)kQqK>stPQgAK=yL5};Q8~%HCKym=RR~+r(ReyBeq)A9)T1YpJ!MHQ94Se~GCq27^ zB{QBBcGn00N7w9Jr6s+9T%4t&%T&D)CT-r_6x5pqa|kJpWY37wO15%AFMi7q!E#pM zmI$iDg*wp`um%>o+TZhqa#oB*76h3g+T42m9bH;?ermv7mi2g)l3o8;y-E*hVe zD;Pu{eWKXh(#~Th&U5M;Bl-ds&T|IH+mD2*eVGMLz6lml(Fj@+t_=v{Lzt`t-suOP z);wK*%tcfeDvD>_X;~tT$_z5ZU7dWZ6pOX!!^0ydr#|*AUB63_GOqkT?CRpXx+;rBQEE$ z78x=R8*4eI2I^xakT~2aV-Um&OCocly*ZGce6w|LKh7}RiI39E$egjMzrlJlsb(Qb+ryG^IuBQTGFV^YIF5mH3&F976qy781$U-~xp8z5C$#F$}28&niXC<5nLL&i3^%U7SHcI9n>s8Lo@a zwhbfoWU4m~Qjt*U9?1Y84mooK{`2J_6loU;6Rmnrh=$uhlvnopPD+6>PSpB!_%W*Y) zt(!m)7WOz^CTxs8{J~4kg7wicx|w5(MOt75E}_eUH0VSPE;k}eZ|PWCZ`z!tKQAS( z@^*G_T3HrttC0a8DPKs8M_x2{EEICwP#Df@=ZaPG5Gq{SWA!|#UW^+Da>H`mJbaUD z6G`W<-~{4l4Z&tgNkVMvg-Nh~ap$bm zjLg+%O0aYGLX595wac?6!=1mD2MLz7n6wixiQsL03K)rJ?ecZ=04$=yJxc4U0n&{1 zLOwu>E*#<9uBV?E-KR|!W;@s03S7~h-#XD9M}x!V8Q6ux+j&yT=5uaTJ{fz?iUn&( ztqNG1o%|9oKCmyYf_SGuPj|q@P295JB}lD%O_uNOy)Gz`h88mA%P-U)a7|A-&<1bA z$-7AR6GD*V4xUU-vkEEQ{m<;q zWT7cj*{0*lJxvbi$~|X1ri&OoGo$$pmzxGmuE~Xwa6Oj%w&+nJz*MrxzFCvLG8_-4y@tb#9mSgbT*25Mz7=S zcg8b%ebL7=pz2OJsv_CIR!)w=9e~fm?CD&L_0NJNG7vycizKh zZStTk^MF~_Rm+~l#I^2x-3(=umX>(P6C3C2`uzw}`F_}H5lq^Uia&+VOeCxmQ#K>5 zSYCSNIYj*nUrFf-P{xYq^re_a#d2_Se4j+P%)#!&-U$nJ)%mORdGxw>p*{ySmOW;u zG-4509A|y_f%MMQZmH<*FuKDK9%Wc>eYr$$Qq9@K_lxy$&R^Nj>oUKW4ep|jJ(;?kRa>>UYLfHWY!W&<~8_*cd< z`NGQP#Wv_?UIb{FM7$FLV!r)dU1SCXb$?D)Wgg=9HWq<*#){X06u+;62)^=VU7TLy zL9TxVB2g9bC-znSQM||c^`VMab&bKql1#_teAx`%45J}W8TH&VSenG|XC=b22zb5> zVID_T=x@l;-5V(C%ErV1WoN0>3!}sL^DXRM>CIJoEoa9Vw{VJBqIPW>{u(fjJsMV* zW=>#Ew{JabMfz*HxDf-AWriHh4=wC%D1R9k^ME(>6lV`d@ykI|Jt_80$rywN@a&tq zIFX1uED?Tl9@N-vwJuzT)@Yn3@^H1i*sSN~~=X zT=5puT3*QxYgomIJda(tYz>IF6KhVc0pdBa#tAK6fZDX@ZQTpKU zPHbx^+CW;MEe+u9BCaO`k*jUa|Ezr?fppOH)5h*nYTYBYskRgY3N|>E%L)Z#I zQeCl7)yqUU{%y{SzYi#5V$0uweyIYb!(@VK-XVw^@GRYjXh$OwuDNpW9S@Xon$zkH zx=^2g+o1E|qkF}mW;Et~UeD$4>wKlty+xW+&5bNGphzT*-^k{tfPH$HKLj8bsepu| zQXcAtcoRx*rXz6Q^+5CHbE zEINoBeBYul?}6jvTh*jmTbX*X1#IwE6yz$?wzBVK@m7fT{NVal_H5umD@xf0!pTo3 zZL=yj6#0#U<eG<#2M zyT+aZ@jkV3?u2s$@*=m_~V;GsP_(x87eOv3Ed4}YS#woI;`QC z;=zceKxCht5Y9QT;kso>-Y)l6vks3oaU1GR{D)Kz(c+L>ghx}EBkJZ(eTZvn#wJZ* zHyOH1Z+Oqc#k<(`Fnl+*V#O{7vBz#*1fk=RaKGY%9R*+Q)>lTECOy;e4tu=A4lW;| zmlyW15`AKi-rc%d$1LtJ*WwGc*bDZ?P#wKjH6}^CGMHpP0fx-Zvn2=ei!irM8EF8b>~XRKeTe*H4(GS(RVM9Lo=2NqAUZ z2T_an(t`K4`}o(NVsC7p8f$N27g@pN?N?a`K|8s~tOf78=4{|A2zDKWq6~1EH>5TG z6gXpLeF>lepXwcC5cON1GB-H*DXTBPeX5HC7j+J?|26FpBxa{eliPjw5ZXmThzJ?I zRP!))6dMZHu1*T3F8GQ1mW@vY5Fqn>2pv5vE!@{}zUt~>Y)pm#`(q=IKsLG=xC{aQ z2nrYesoCl4LOnACD1{Trx<=ZI%5LahzQcwUWHiEUcd_E#z8etX4j*AgWR)+&?I7zVZVb8VDHjmHtb;!)g8HJ?ta&`Gky?P9T zW+jRBfkVe30Q0p^(79WQ{TfRmLX0@M66~`vQh7MDA7=&FTUx(dA0wWH6YAoE?sCwd z20thHP~f;^e?lvbOON9bYyLuAr=HEXcv0^m$%;7V9pO<}gw!^OAP{M_*#$cHIQZM> zu817wL*6_hR)F~I1e*e)KEsyb7Oi|y;qnYf@n?`RQP<4h&Fvx0od@ms46J|~4XhXA zPTzlqX>z0N-3|U6kYufjO@2;~FNfRA{2bdmdpMM*SBMdeJry?Bl7wJf+g4G zgcj|;fGMEuP0T-jFl>uR6po18=36}I@h<=!XCKa?ZTkW{f+xccWn97PLw|n(Rv{;S z0t2r!eKU85HFGnOdGC-io2|ZFW?|c`Nh?IC5EGgjUt-xRQyA;&!^G2oB&U-2;4y&R zO!a8`>RAWBeVV07d{2~@kv)EfLm5OgjkubS)pDBkogS_WecW_nNh*aDmRUu@uq>X_ z;%^{$JeQ%IV8s zRPiIeA?o}EVAkn#&}kTho1AB2&sp=*euk;;we!qC`2lX6^`R5z!CRRsTlH&s7Z#5m zos~6)4;}~!3a!+oF&EenZPipfxm01HnXb*M9p&h_E;YNT55=&pDq;%!9r^ok|Kmkw zM|coH0pDQM&Oy9)2^cft8_;k}0_mv?;7QphAlRU-z@i?QdyjL#&$4d-xhmB>zlC++ zzpB>$J1qF7Z-G<{vIn#rWqTwu2Ul$1EQSEd14^}ca2x2R<$d4sopAR%3f%K^Oj-LL z`;zDQ@>ZozN@p!a2n7|t{)PlXu~GCRKI zoerZzZ^KW$FpbY{n}Xmym@Tm1iP=qm*2874pOZg;iOIX3e}rbk>@4F)jE0{*`y&p0 z@-v^?xT>{%1vIwvKZ5o1)hl`yRNj&btl;0jz-$|JIH`8^p~D@Q$>0tGagX`RtNLR= z8;jyIXJD)G4WTRl#2nswX-c2s{(0K>6Zo0ayb*p4_Giv*|Kc@BZtRb^bq!3FEgKiM zF0)auM$tBE^fRpJOnLU+T8HEkKO?w}B{Vk4+I!%bDujD4+KCHjkrK$e+B90V46)E6 z{(u^F0*zxYQpt6&O6J!)uj|>BVUSdL`hEC5xBqVDJ*4E~e;fDP#QcI4W}1Qcy8z0s z0MMq_Ff@vB+o1^g%3q8tfKL9R4-n`Fq4ZZ)5Lqd_^BcC-(O;pSJ1sutcd&pKTs*1W zAK-c`f5SpET-cWO_iq-M${%fSvrPn5E6ypRYU7eMDtly;kGOCLw=%q+6h(pl$$p}9 zww^zoZmCdO{|Yj76m&u{8Ou;hK_v`4CoKiJ;Drc7(BAOnBE z62+U~y`C?4(D*;W;uy~+UPrPW`V#><06x;+{;5wwOFeF3HCWbT)R=t>)(RF%j@;t( zz83zN;sl5HafV_($0$w;RG(s|jz(;q50(A}03p&@j%a)wvNEfs+Fe-#{?&xWl14|~S?|`wg zPQw8}xJG%HMCytEFqn8rZ~p^%4+tJYX?H=|S#sgjE_X%hAE)@@%o4)N(3!hB-)a#| z>vJPLmo_$#*Kp~h1|RbdTe{BZD4jMq?Bp)4q>gv4T0mX_~oc-6jn?cb?knEAw*yqv0GB*={r>1NcC7gh1CT_fELlfy-1fu(@t^pSL!uMp?c zW?t?_E0@z|{}biuKzIBMpBkZrk_`5EE#{B9iJvq+w6 z|9ti!-Da>o#!QC3GA+_H#=dGZW&s9_R!uyOx>D3+3?1ib#JQdxn-S}JdDdbd3}lz5 zVP0v+L;Bv+Xel9d`WLV~=YC{B@IYSiGWb$ab0E{RaV5<=msOG1L*%(A^)^I+?yLZq zP+?mN_H2a9{4DESGL;7!HVO_f@?;rN)D?%3U9c$~_A#VkmK_pU4BW)^4+wF^U5J$N zHeeTsl&Mxf?rR8Dwa*;n%DC!lbeE#NMQa137|s`bIpIFv4`{$!39;jzbjHsRk*Hq& zhHx60bMT;Ie?!D!{}&T^JHQZ@HYE@oRGJkWq|0dy1ORg6#t<5U4aY%5@*R04CYHdP z9t$$efLZ4n9| zH6_Ft=0fSNg#fJ`7IO?Po!$>MObaAvp^bdQuuGXy;VRmPq&NW~!HjJ?7-q=y95RJ! z+c<0_zot*&GJA0|_^oh5SS(i*X)UQ&S3_7pEfz$q>_i@Lp$!U0zu=>pJKy9$k^Qm3_bAw+6ICOOqWgpAE>w;Au6L~rmwK#5 zDViYyW_syHm``M~NG~G|nc@Lm?o}E{xdF+6G)y-<=_}0;CoifnsUY2Ip&suFw<)mI z&^#UebHMY-!F-71Z{5)4ZkTxk=N;n>0Dv>_KWxB-<6tHJ6G6Nu;xyZ(+*VZE3 zd(|i~m)p^XZw)L7rG1bTLC-~DzcK6oC)$9r83j_z=#Cc+sAU}^QoilkS2Z(A@s-Sc z!(dq*6z008>VV#HwTzdV;&%JGMhp2Oy)H&(wO5N4)-^=zHeaLsQC$#QzAbU(%1!PR z6m2vst=R7FEzyW$X1QEeG?0^fnHvp2o%k3M+RkXBiF}4p$4H=`k1+%l7VxH&m}A~F zydG14Dp1R7Z1^#=CBGPKV+Q%GKS7qU32M7CU17n^kOUqd{ZQ5-y3U$qVvcG#=}189s71o z?O`5PXkduIdGXvYEj2xTVDG*U%Qrh47{YggH|?l4TKpIk`Aakn3k+}`6Wvg-l zcX>m@PI&>aYrxUwN6wqM@xq_J%2#W;F`jq(SW~LJwG9R8iVeP?5tgx}0|JKL8I_2u z*cw3=XMS{D+;9DBBSRz%!9BVmr5#VY(S>biy{UKjyMENAG3LuV(pp0pEXq`Wu_a8J z^j@kF>he=uAmRb7v^Wb{@x~?FT7}=Z$qTQU0@2ML0?@MupUq90#5fd*C%t`A+ zjJ$W#nMI@#ZkLh}x5!=CPt#AKcy*lVmQimk7Qi(P$)x zWAA48quhvIMl{t=0%3OQ#A)5&oY?yeG_%)}P@J`6XBfbbNuWGVrO+7$aN%lQ4}xRE zPPadTw)I#tCdGym&WM@+1Oyf9A~Q4lB@BC^bT`>B!>ABFAj7w;zyU;Gv;%?VMqq99 zr1wfm4w6`B$5hMYDh#7GD%{tskDk3i`Ak+-?!A*psJ-+N_C*cTWX%F zs;^RNtSbF}d+l@Xxi`c6|9{`}eV%8@J?HGR&mPuZd(FGGqGEiE&$*G+FUX+U?)9hrp87}TKhfj7kg@VWXR~z5zwkg_q%0_a0oFknvg7D zA1hUOFYvu_*7kqB7Lba5q`~!-w;;SnVKn*hkGN6b$R%H7S9!7KXZk3p6iie$gQ1M74E2!xte}zt$Fq;;{pdSh*jA)##i)Euy3;?+*Xq!Q ze65fA-J=Xk-E0)bW%y_iIvzh(C^uOICTzksjO3^5AzmCBjn!=bFgb;;`BIMpV>c`3 zv$13;)PmHvJMfP5ztsTdTntL$P2-EOAeqGcH#|A_j{|XHb7l2pHiE-@v#}CApH639 zn%M)6(0XG$GXgphg1@Dp#0i>*bwDjvZopeJO5TuZr}HK-Gs?l;Gy(0>9NVJ;;l;V;Ich^X%>r%#Akyh`;rUPSW^kAqMIZ%L|gjwp8nnYJ%w+cg{;xbom%^!<45?o_l~siw;!4H2AlCLr zIB-Ipz%$KOjeFBHr2mxqhtk0+j=sDpFEi@4muI(4dKsb;Ge+!Rhb-%r>C8gSvvPXj zgxm~~lQ%Ro%{Wdee1_Ij*Im!xIUYR&#Qx+AO}anH%zld5{vIl6UTL2$)-ra!I#c`E zMNJ=4^?1;~j>q`Bvc7_I8FBIrranhr!xqjNCYaJlhM$6GgJPQZKwd-Oq=`*e-m|B1 za;n3J4jBd1d6ryJn+|t$qOi7vn@o$CL}0T3>4WItUntHSu)E%mc4&Om|eNcqCRQAqJ@m zCC=9ZF(u`MFGFu(p!18g0k{F>9ISFnG!Oc05mRj3XjoYuUdRXJ@;ZBNvDVak3glatEPk2-HrMws5E;lVk85m4DzGtZ+fL>p!72|!d z5B~J_GHto>y9a6SD~ZPAP3^Rcl4$O(0JqGnV3XIwZ9D6&)V8BtJI}tY-L0flNEeE= z6{_s))kfKmR%^MaHe!voTGe=BjppU5nAAcA=!DI4PcpgLma*b zmZ9kzv~H!9e3AjDroZAm``aNG+~~muwS_u*Z%G0{&uzpGz+9q~=5|ims3lZV;v8JM zJk@UMeC|wzsE(niLW4E~-_7A!@BxO5PcvuAwrV?y{Bw)e20Z~Q9Z8{6JJ`tMeHQTo z-&a~==XgD5?>(;)E!yGG7E~YPG6_h?Yk&!$lM8%Rd0b*Ob?!&ZR`433-XXpe*M4^Z z;WA3umYSXyo-}`}Hd^(YLyN#&)upc6z^*Huydop>s)~WR^IFgOpE5hWQstAcrP{QjG){HrOKGddS2xE7$ zP*KSbN!fn89>zLGWcplm!D>VF!I<%p(MlCO@FUR8eLJD%;+ZzX{$)`Te<05r@60Gy zCNsdr=q2vdE&^Hm;rCL7u6_iGj=8NBk!RhjWI^pB(~B4K4<-j6YYoV=CQQupI^#bc zrBlNMjD;UV?GV!$n0@qPZH!u($od{kdAqa)=**K{n)K(Z{)yJaEg?_F-(z0kf*VN1 zyP3J!y<3yvX(%8Gn(-unrhdYzd+qh`KwA9?)(h*0-#nnz*;)Bh?Sd-`U*9LKCp%+5 z*Cy)vj)VKb^D=cn8)ow>JMl`1Ly|^UIqK9TBqp5>d;`vlJ<`Ns-Y1(JW}0>Mg_1z( za0obVdY(-<=xtJ`|FU(xT`0~$-Wa2OnbuLL@wL!HFp!Sx@Hw6j2Xf~H(kF6 zkH_1{wC|ZiT=G3S{f@M9p8Xy@bbM6(xR%I|e01N%;m9^$I3is?DUFqq$=5=w+ZrP} zHg!b0lHM*I2O4rUmJ_gwu-^8?6WE)V4{9qWe;N%wfCMtj z&OrF%#arVH_H6vB<|YraH?PL;*L_|xxa@gKP9APPB$U#8!}-YdZI7td+Bi zdk=RyukFTgK0U8>!k_jRfN;FyEx!PSkvkGJL(pQ4iLiOM6$*_T7f3G-+S(^J5Uwp2 zvR&kT#d&@lhk5ozp3{n_%(1YX6SM@g81Ubnn!w9YUh*U*UDm1?Nf?ZYRSDRX3>3Yx zo(Gk@R?p&@h8THH6;^8{4+aU>z|IesuLRv}Wvr!l|Mz&Wuu%i6*B0$hwD> zKY}mRN6M8>{m4>w!z(wvProt}q&)`~W(_rDL#J83!)xN>h++lK5j+3>%wY=%x z4NWqqyx0d7xWkPdA`qwF}LA_8u6>n{IWi{|V2 z-$A!Hr)0+ylKv^U09PF^N?mG4=-hysk*QTK6k-ut%(hz03?t80@%#M@v~*sC?Ea$65VIT_r^t~7G&9CYC9hq~k@R-8Fn@k{Es zlG`<`Ox6IUHEf8u-d`?QXo1VDs>CC0>Yy;vHS7mcv3oB|dB%tbs$-s{4=~;P4ejGM zeXBW*HnSl1Am5R*Xd94)LI)59p%0(*w4)o(9 ziNAvs@+7cK3ZrXVC!$79hC7YYs>fKEjb!IeMvUM)P-XxV^!PnK6D{`+mH_Wb2KI;3 zM|ZT=#w?o}09ySE&?opV3vkWuYT=9b_OoRh z-RQ%S@Ynn0fhL1Gn?97B%F@dskl0h9@S$|RF|R*mn)eg1)y8;LrHfCYFg>yg#@ph_!dA^NnL6%2X3ZN{Aw|NfCyt+Q zZ+^K7B|O#s!%VGu3M6v+a&_Tg-BUEMR0A9)y7AvYI;Yoh%F*9iK!tO{gR|#vEy`@7 z+tMmRT?Q>3C?ILdzAfD(6l%c!#C?ThjExd12?Ig-`t?%RM=R+y1rk56^^9oX`2NUe zL^H?hk4jxzU7Vlac0t%ee-{Bp(rm<97h#|ge*}e$-W+iiHtOIipfus~xOSsgTm^zW zjca28anTTqXi-Lk-QObO6-_XY_)g0U@uEEz5um68;?pg3-6G;tj!HIRBF{COk0R*( zN6~O+`;{yz2kJ`sfQgFnS{OaF3eEZ5Y7}P^tz}Ft2QxSv`^|gtCY#W`cN*9r{{AA% znv?|T!u_5pbW9+X<0ee4i!Krc))7p4m59vRsoqG}9&dva&A09liJ4yBau=&Xi{^WX zc8b`UzJlWUZEkeOLxibMM|uh=Sf+WRK?RvLo8F?ep^}#G z%YUp4Kn+rh$F;=yNJOTiJE2IM;v=M>ILAlS2y^I#e6MJ19^{C~^nA&Pj^#J^`G|0% zKPW-dcfnfx#78uw2%k5r(6hdREx10E;Vbk5B0T*tpu8!SQa7wFf@bRGxudp9krclr zHoz^?Noye=dyE-^Oz2}GrDow+^pZfOiI7k5PFNR2ud=&(b`{Z2P51FCVj+5yQB_EH z$sJWi68=CzqPGeyuq+D(E?x8!9XCq0APVHBuRDVo}EiS;+Gb$$y5 zHVb)F6RjkrLdKX;VK_fzJ5H-%hUj*a2v?e4O*B`m2&aBHT}`x5$j5o{Isf1MP+_xn z%Wj^LpHJ!Cz)>5vw>C=A()N9<{bGNyN$G5ir+R3RQ3ZT0w?Gs!dPIi;u!}M0W441^ zX*PjZH#ciaASO^Tclx2c7TOaiDm&W(V^n5)-(De}R4)i8BQlRrsy#B;zy%s7bwoD%h)sxbpdt2BF`9$v+Isunc_C)f<9_(5&?z+tOfVR}k-`h-j<&Vg*)zLeCK4qqV5 ziG4uzeW;v)&J6|?ukgc1f(2)l&_5jCJlyJnWn}-REp=QL&XzCzS(#T+E;-{L2u`2e z!ZG>zc?Ct8L+xm2O&pVxm0S8{`@p((=$=&JL(0W@vubxO+bj1j=^2?r;On8kjz|%A ztGc6_UK2VcbQmXM%o3Rh-qkG71c<|a@2$QqWFVQ;HN=Ja!Hjr}DoNpmst zbls>aW|{1^o7C(Sr4QFLwWKA4*=Um{dMV3*w-C?K8#`mGS>^E@nL5G5T{l`J&`Lgw z=*vwJl@&!eCxkS6{w=WMaAalUFrYYscdJs5Fzgbh=5A6LSRYe&T~te4qHnvxQMl{z z;1;N2UTwJ()7IJ|SyotE$n;mO!X=MEx#2?E_i%J*4E}r*&L!at(umHk3zmM5bt1Sx zLWBT2MXyB&u)?%8f{Xte!Nq;*h&bF#sv~3!@r2{SGUdb8I+91BMIZBLd?LA)W|2a= za}`EP)w@~=FtB^qps(tSbT$4_4UlG- z_qqIk)Ur}$1JO&3G#V4(Fvu4gVw+%ZY$Kp6h*td+T$dK4a7qe8t67iYUWQU`!Mfl8 zR&B~HPHp^M)dtB<%&O6>&b-`6=mFd~xjv2^HYjbgR6NL3c`UF%ifcpdX=awZnr4=-d?xor}8dFhGbMXks(8P;fPhpg2%h_+ugmgZr^fCXyGd@z=cW2K5ANdhlK)LV%K2> zj*PQ%&n)Utke-_{qAsPkg%eaopV2Fjp=;gS2_*K5Vr+-$Jjg9KQd-Wj6|-GEE;Ynz zfeBw-2YEFa0hEbU0Tn9uCx+116Vj~IxXP)K%Jk5(u8|+aiK-6xSw14@itPU|z*A#I z4P!Vr#e%o3U^uH2A9Dqzij8`=g~uT$et{;*Li^i__R8XuKlXwZEC!$W#g;G*slkXO zD=IkeVLe;rwBC86GIOJ)LqW5F_H=T7s)XSmAvqP%B{tZexSUl_?G!CCFw)UhgyB%m z0i{Pu=X;&kFMK_MsT)Ed(RIWobd=hE>FKN!6J+CR?A>H|R?&ztLkzsj?ZQ;Yi1uw# zzdok$Y8TPoCO08@QLn4$V86)iDn>{OA?hPbgR$y(x$#0P?ir#d{V|f+>nWd;6R-l= z*=hBFXjh6&4#5$;{gG56|I-g_^l1Xfhjb=lRqgcz=9Vufhe#cIrIe6pjw+<&l#u#r z#d478s+5oz^`MmBb4quxGQ6^l6JSErlHc1M%qKtC_*}?y>K<4bjuFyzJF`w==`HMm z<}kfl&|CP@$34I!GIQR&cL+|QcYYd|2-c%^B2wf8e*t^e@I(XI<|LvSIG8Me7W9P4 z>qw$VQXl8w;=w(I4<#hwYpO_ZQN_wjQb!OD!(o?AC$w;VkVR6KIHvq{in$?2XX_$e8YN?cBLjJt04sy+*&>$Uhk)X2>Nv4d*c_ zOa|5G2Y;r5nfojm|C#Upnhb)^Pp|h8m8~p}>02|uotT18@$+r5Ayq5sTRWe1U!20i z%%>@$rjZm`vO!tHL|x^o54Y25^mhvMNV+;39=dms>8r(aLWVRUEfn_G!ZTY2lQ!*sNxdYn8k$}itw-M1tE+nVD83Zh z2hC$vB_$I=$F~?+Ro$>YXlSXz@AN^V$}5Zs(W5_jCh9zI%+!aKVNV?NJci5Yi!aT8 z9)-EdyW}sY2R0=81dGH^H}=E35q+KB-P0E`%YeSd7;=#XeS!35EhwUA4Z+hYboMWJ zx0(auOH=yc1Mx3_VKKf^g_cjoa+~@B2EeSxC})v6Evs8(JrNfN5n0*vWYr#pIL{z6 zCB4v)sJZX<*SzGDGH(S~q+zgBdqV9^(VQEAVCAO>M|vWgY_!&!etrrIv11iHD)Mfr zR?h7Y*2nA-7dz4)Ob6HXus?8$qtLnG4PL|^$q$lVgjLym?Tr_K%lrV8%A;~hLDpED zzQ-GrV0IYKz+20a6q<04yNXv!K4gyM;Z5=ciBAM4< z%ma7vNviO9#%UT+po)6-@?a;d-ZK~yE%)-T!T5qX;CNuA*fbHXUYnhUr`)=2X-ut- zrU|K-Z~wvtKYAt|j2B0JrVKh~arV7PO2kka4|dGBCq!J%oo7eo_YbMB};c0>C(j2k-&@ z6wbTxLowW3%#W~x zOz|-AP~1#5)xZHIk!E^*K zxtmPiiDb^dqlAq~@RrQV7P1q3z)Ep85SMWgPI&HgI-5m0JnH0dH$6v4r(}L%X%1%3 z6h*(w5pFxtYmJX*ayt1)Xa975IJuB{x!HvxL*@liA`#RaMZ@w6a`?<>qk%#6;$%?k z+#=zlqJv_Jgfy*}<2~fy5_Gf(dM-BE1&%R(nK;S{y`-D)AL5YHl0yw_^wt=NTc!Mr zo{Rwn>F_MMa^}h#O%~F36Nzkj*mc4-WwMYS zOy?$xY^4zGGez{3tcuQw?w=xhsloB7h3LixQ$-?*!|$mEEu1P~8*=F3)u|%Op--cx zVLLYZqzekergIkt@8uzl|7>vxU7XI#PWp*UHw1+)j3!t`Yr`(YzaN}|{4&OaVESe;Fph z%WNbUOTeR!nuE0@1rHmihlj@y94G>1U_>42GYel}J(ii4-R>s9qDcMM!x6VOON_uL z*r%-7Ydn5aNemB>Vvzn18oG2bEIqq0Q*aXg0rZrhbM&1pxv+{zjXcF=+`jh^nK@gy zDJ#5bkH~q5&fR!Z#Hs<^SRJ0-X8$g)-@qxpzXl=tu1qqoP~$A�G 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 SIly_q1;E9f{hwYEEB_0pIIST7 delta 56094 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

Qbc0t8oVT88Z4o4HrK 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 J|Ek}s{|C+6TPOek From 4b9e1df58e9166832e24a80f0d4e0d70916d57e7 Mon Sep 17 00:00:00 2001 From: brian-golfplusvr Date: Fri, 31 Jan 2025 10:34:52 -0600 Subject: [PATCH 3/6] Fixed issue with containerRegistryImageVersion not allowing dot versions (ie 3.1.0) --- dist/index.js | Bin 22304531 -> 22304523 bytes dist/index.js.map | Bin 14798355 -> 14798347 bytes src/model/image-tag.ts | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/index.js b/dist/index.js index 175f3cf62dbc917ef10f2f3c301b15f7f4fb23ad..d4f3ada31f9efabfbd1f46c6d6080f632c7ca019 100644 GIT binary patch delta 1452 zcmWmES6B!D07c<1l@f)dqNS2Tk&*VGQYvZKd+)thga{#IXYW0;N7;MN?7jEiocr*f z*ZX#}HeNK#Kx&#nT7fjf9HZ=%EVBTI^t==!7^5IeV2VO8LtzwwIV?~V#ZVlUC;=;! zgf(nni&7{JJJ>@zj&MR5IKu_5C<`}~gF8G>9u-g#p725?RE9UIpem}NI($$AzVL%T z0uYEG1S15Y2t!TOLO3E2iQ0%lH0mG*v4}%m#G@V(kccECqdpp-AsV4EnxH9~p*dQh zC0e01+Mq4kp*=dFBRZiox}Yn%p*wn@Cwieb`k*iRp+5#-AO>MDhF~a$VK`DS0wa-% zQ5cOeNW)l+LpsJ|0wy8@lQ0=mkcp|7hUv({49vtV%*Gtd#XMwVJ{Djh7GW`#U@4Yi zIaXjLR$(>PU@g{RJvLw?HeoZiU@NvE2ivg&JFyG9u?Ksx5BqTdxyZvo9KvB7!BHH; zah$+OoWg0G!C9Qcd0fCnT*75s!Bt$tb=*KcZsHbh;|}iP9`54-9^w%m;|ZSP8J^<> zUg8yA;|<>89p2*uKH?KT;|spx8@}TQe&QE?;}8DgUq)VvK_-*}ilJhp7%K%86U9_1 zq?jp%l_H9{VxbgOiYdhvOQnQjrIb{x6&uA?DW#NF>=b*&L2*=^lroC5;-a`JWfeE2 zoZ_x{DCLz3N=3y}@lq-&l@)KLic(dnrc_salp2b!;-~m40ZO0}qy#G=N~jX1)KqFI n;Yx%Osnk}YlxU@n5~IW_aY|h!Ua6-fD2YmvK`xJCkevS?FDmQF delta 1463 zcmWmES6B`J0EOY_S7{pULRLvyR0<&x4I`1gMRs;}=1&MAd+#kPWM=QZv-jS6^PP+L zyFOPZE%TyP21XhU#ym!oEYtZZ=CR3135k8ZW*@k0>SidDnw??_GvtLiEMN&MSi=VS zkRJt55Vo*`JsjW&Cpg0et|)}UC;~SWMKKgd36z98JWvXrC=D-Ymp6Ri3qSayEXpAO zfe1o*1S13$P!W|7ipr>hst7|hgrhoYAObZ}3z3LIG-6O2bx;@e5R3YVLjyEKJQ|@f znxH9~p*dQhC0e01+Mq4kp*<4N0UeQuPUws-=!$OWjvh!tPxL}>^g&Ug8yA;|<>89p2*uKH?KT;|spx8@}TQe&QE?;}8DgUs`sGAstE{ z#Y8bx%#^%}xniMMDprcMVx#0!@+$?Df{LwTr`RhFilgGBI4drSt5QfQtQ1k)l%h&8 zrMOZ;DXF+C9!e?2Qz@-@DP{~ zQK~9oN;M^1sjk#eB9xj+EhSQkQlga@rM6N>sjJjeVwL(zoYFvPXvpDF4Dq@D0pY{t AVgLXD diff --git a/dist/index.js.map b/dist/index.js.map index aa89bccdd4500dcb68d36edd1aefa28897d36208..fbd793e1cc62e08f430c5cb2822a6224d95e79dd 100644 GIT binary patch delta 858 zcmWN=V|Nx{007VvS1ntsW!KW1ZQHhOuX<|LvX*Uo*|yEo-{?d4o^v~0Tx+RNVdv9JB??*Ion$iWVA zsKXrY2uC`~(T;Jf;~eh_Z7 zc-C{C_ktI_WU`mN;#IGC-5cKYmbbm*UGI6{2R`(XkA31(pZVMuzVwx^edAl-`Q8tH Z^pl_c;#a@<-5>t+m%o$aB7goS{Rf0SFbDtu delta 868 zcmWm4Q+E(x007Vvmu)UDd)c;a+bv_&SF09Qs}`1RE!(zTr$5r|;lADYW5^UThb$p$$QH7P93f}O6>^6>A#cbR@`nPUU?>y{ha#b9C>DyR zL}reT=o~X?_^9boNoNuwi>4|c7Zn{z2})9m(v+br<%r_{t3X96QJE@Kr5e?#K}~8= zn`r7#mwMEv0S#$HW17&EW;CY-Eont-+R&DEw5J0d=|pF`(3Ngyw$R;+kg(SAJjqU6pnVsxnH+$I2KK65fgB;>8 zM>xtcj&p*OoZ>WRILkTClfnfqa*4}a;VRd-&JAvIi`(4cF88?410M2-$2{RF&v?!Y lUh<09yx}eHc+Uqu@`=xU;Va+x&JTX_i{F=`qW}C&`Uk=ZEN%b* diff --git a/src/model/image-tag.ts b/src/model/image-tag.ts index 2b9fd910..2b445846 100644 --- a/src/model/image-tag.ts +++ b/src/model/image-tag.ts @@ -6,7 +6,7 @@ class ImageTag { public targetPlatform: string; public builderPlatform: string; public customImage: string; - public imageRollingVersion: number; + public imageRollingVersion: string; public imagePlatformPrefix: string; constructor(imageProperties: { [key: string]: string }) { @@ -38,7 +38,7 @@ class ImageTag { providerStrategy, ); this.imagePlatformPrefix = ImageTag.getImagePlatformPrefixes(buildPlatform); - this.imageRollingVersion = Number(containerRegistryImageVersion); // Will automatically roll to the latest non-breaking version. + this.imageRollingVersion = containerRegistryImageVersion; // Will automatically roll to the latest non-breaking version. } static get versionPattern(): RegExp { From 05bb9931cc641d63d5164e1d5f494ffb3cb1ee3f Mon Sep 17 00:00:00 2001 From: brian-golfplusvr Date: Fri, 7 Feb 2025 10:41:55 -0600 Subject: [PATCH 4/6] Added cloneDepth for CloudRunner options to specify depth of clone on the repo --- action.yml | 5 ++++- dist/index.js | Bin 22304523 -> 22304762 bytes dist/index.js.map | Bin 14798347 -> 14798618 bytes src/model/build-parameters.ts | 3 +++ .../options/cloud-runner-options.ts | 4 ++++ src/model/cloud-runner/remote-client/index.ts | 4 +++- 6 files changed, 14 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 7f58660e..17c3441c 100644 --- a/action.yml +++ b/action.yml @@ -261,7 +261,10 @@ inputs: default: 'false' required: false description: 'Skip the activation/deactivation of Unity. This assumes Unity is already activated.' - + cloneDepth: + default: '50' + required: false + description: '[CloudRunner] Specifies the depth of the clone for the repository' outputs: volume: description: 'The Persistent Volume (PV) where the build artifacts have been stored by Kubernetes' diff --git a/dist/index.js b/dist/index.js index d4f3ada31f9efabfbd1f46c6d6080f632c7ca019..ca8a3f2644dbe5f1848dc31a89d19c9aa38cdf2f 100644 GIT binary patch delta 1593 zcmYM!X;2kZ9Eah#a1pqOtRk{`5dl#UR6xNE*+c~uG^yN3CAA1JwJbq2QZy>mt6rBD zZK13L3KMrUmx?r{tRQkL%~H#)a>=Fl=VYCk=bba>%$)zXQ(o0*x>?<5s=1NkYGzH! zE6C4H&MlldHQsD3F&q3X7caS+{y((_o_6uJ6xZ3;I;U1ztOvN0{J*)^J7}xWE-|aEAxy4q#W;+|1mxfmOvEHiMlK%36imf5 zJch@ShbNGa0u*98p2Q5y#4J38r!gDP;91N;5sEPvC76f#cn+m_9t*G#Wmts8cmd^j z5ij9oRA32~Vi_!0julu5D^_7O)?h7O!K-);uVWq7;|;utx9~P9@eba_2E2#&@c}lX z3e~8=hxiD!*o2R<8Fko#t=NX`*nyqcg?jA99(;nm*oXZ%fKTxmK1Tz-z(E|smpF_g zXvA0e8b|RBzQuQFLNmTc3x2>c9LEWq#3}rUpKuyy@H5Wh7yOEIIFAeX4Zq_eF5xn+ z;41#WpZE*ca2+>r6My3tZsQK_mS=k!DxlaXwu(`)Q(7tZii6^)m=q_awc@O_QCt*P z#Z7TnJd}Gg+G^*ev{Ss5_KJ_N2Nl8{xlvHJqlBNt+ dhA2aobR|O>rVLj`D49x@GSX1bmtxqI_zw*^4ebB` delta 1491 zcmW;MS6B`J6o>IAX=o}+$&9iR5viT_srfaTV%`Lv&{GJ z;`cu1>YTfiy(P^iX>*#*)~s+-e5RwlDYb{Y)s6&1N^)}V3|FHuJ<*tMw#S&BBRa_B zmu>E2YLR80H__l?j-0T7C9GhLT(E&H>|hTEI3hQk;EX)b9v8SGAKc)M{O~{l6ht8u zMiCT+CyJpsyx@%zD2Y-ijWX~-S@@zH%EJ#8P!ay9gvtm&6$By(!KjLAsE!(_i4cUM z7Qzq?18SoV>LLP>h(bL?qdpoS2C;}kLo`BTG(l4|Lvyr1JX)d^TB8jT&=&2`9v#pT zozNLw&=uX#9X-$!z0ezd&=>vC9|JHDgD@CFFciZu93wCiqc9p{FcwCP!+1n+{PWG<1X$Y1NZR&5Ag_(@dQut44HV27kG(Rc#SuBi+6aB5BP{r z_>3?3if{OiAIL&Be&QE?;}8BO8C=Y!L&>3-D>)Sl#Zs|Std(4fjbf|VDfWtk;;7_S zoD^pzkCIpUf5=r+KE+LOSMnamwN{AAw)KbEfaK)h1R_Z8q el?WwLiBjq*(Mo-#ffA#{Dsg71ycDyYq5lAA@YO#6 diff --git a/dist/index.js.map b/dist/index.js.map index fbd793e1cc62e08f430c5cb2822a6224d95e79dd..6425497a4bc39cb0cdd61a55d084b09235d11873 100644 GIT binary patch delta 1133 zcmYMtX;92@9LMpgmaW~gvMKCZe@O?TXq7t@O30D>C>@GaQbffjS|qH+Pf70ks3hyy zlr!Wg_mME;frmXb9(k`ZdhnY0e!lbl&ZoHCC@-rp%BynZqP<1oEZW^s@lWTwiKIwy6OK84ZbqHCDhk0!rm4O4O*i? zYX^HcK!#4}3^^R(1O=3Eh6}ntg|2W#H>lx;?r?_(dY~tISqxfDWTmJJ(aGg$iD8Ku zS;?ZUQ4^?)Pfh=q{X~JI-{uky8Q?1V5SZdXw45xK}iJ~m-93@E@B6k;p3p$JB7#}4d7F?OK@yRip* zVZuI`u^$I;5CVr#iZUEVIgX$LM{x|taRMiC3a4=fXK@baaRC=`372sNm8e2BuA&Cl zP>buZ;0A8u7H-3eI^01$8gLi)a32rw5RcG^$9RILXu>l*#|ykfGg|Npuki+N@ec3t X0Uz-RpV5jhXv0^0vy@uDXS)6Y@TEwg delta 994 zcmWm7X?zX@0LSsqgpH+b*fe|E%o!?kltOafcdpbN!)7waBBNmpkF&7y)XW(gD;Duk z=9r?`Fh@$cUU}Qw-udpu_s#F~`G5Y!dxDXhOM;Q*d67kFQ=&upnepk{$Lu;;5cMpk zs359gcu-Ajvxv~PjD+Z-W0O;BQ(<*tusShQSFaqG&)vqIr=)VF7qqDafPe=&L3RkI#pD2gPYu Date: Fri, 7 Feb 2025 11:41:08 -0600 Subject: [PATCH 5/6] Added cloudRunnerRepoName to allow changing of CloudRunner launch unity builder repo --- action.yml | 4 ++++ dist/index.js | Bin 22304762 -> 22305050 bytes dist/index.js.map | Bin 14798618 -> 14798938 bytes src/model/build-parameters.ts | 4 +++- .../options/cloud-runner-folders.ts | 2 +- .../options/cloud-runner-options.ts | 5 +++++ 6 files changed, 13 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 17c3441c..c82ad8cd 100644 --- a/action.yml +++ b/action.yml @@ -265,6 +265,10 @@ inputs: default: '50' required: false description: '[CloudRunner] Specifies the depth of the clone for the repository' + cloudRunnerRepoName: + default: 'game-ci/unity-builder' + required: false + description: '[CloudRunner] Specifies the repo for the unity builder. Useful if you forked the repo for testing, features, or fixes.' outputs: volume: description: 'The Persistent Volume (PV) where the build artifacts have been stored by Kubernetes' diff --git a/dist/index.js b/dist/index.js index ca8a3f2644dbe5f1848dc31a89d19c9aa38cdf2f..bb816cba5f60d9f7a83d8381ea64214fed03d8b1 100644 GIT binary patch delta 1590 zcmY+^RZx~e7>40N5s)7P6a|YA1;igrlveBl#qLDKE==qIJ3hO+6%|`Cu@mg>?(VoB zM-M!>?wOsPclT)bYhtSH>`ke*8|=f31A#7vU#Q6@D!N#+78Z8Igl6t&)P16C4fmJ(J;^7GMmzWb*iT zs;9SWT%2o*c3fa?9pm?B+T7~zxV?kZ@RYRplr#&ZLwZ;u1FT>T8)SqnOt3>HWJVTb zg*_aQ4cXy{9LNbLI3pKwBMAc7E#5QHKOWl$F3D2MW>fQqPu%BX^>sD|pOfe1vRCTbxHwNVFkQ4jUe z01eRyjnM>6(G1Pe0xi)BtjulvmRalKRSc`R7k3?+1Mr=Y7He(C6VjH$&2XkuowHV z9|v#{DL90~ID(@%hT}MalQ@ObID@lDMHfX%P_il66-On9l2dU~oRwTkZY7VBSIMWiD6Wc| z;;!UZJd^@TLB&(?QoNNyijPuQF)O}`pHf6AsuWX-DH)Be*^aln8yGB delta 1502 zcmXxkS6B!D7=_`d6b+-KLc><1l2VdnW+V+;RwYCkk-f>vUXi`B71<zfQoQ}Gb*7nTu=qBaDzLl!UNUd2`^NKH+)b7zNiU5)Pg^1 zBLHsVkh=CY{!5D&}7>3~(fsq)6(HMiV7>Dsl z!URmjBuvH>Bx5S3VLE1DCT3wa=3p-7VLno@01J_dMOcg_Sc+v>julvmRalKRNW)sJ z!+LDMMr^`nY(Y9Quoc^oiS5{do!Eul*n_>;hyBRH0c7JK4&gA4;3$saI8NXsPT@4p z;4IGJJTBlOa&QT`xQr{fifg!z8@P#ExQ#owi+i|_2Y84_$irhi!BafLbG*Pyyuxd| z!CSn;dwjr0e8OjZ!B>34cl^Ll{K9Yi!QW)IKLd)Pl20*GjFtRK0mVcyRm>D~rJzzs zDXbJxEEG$nsA8oQQ>+ym#a1b24mF7x_5~_qL;Re}!6a(+1e+o~dnE(I) diff --git a/dist/index.js.map b/dist/index.js.map index 6425497a4bc39cb0cdd61a55d084b09235d11873..20a83c2812831a235ba833d2036e5a9e9a36fbeb 100644 GIT binary patch delta 1093 zcmXZVX;jQ{6vpv`rb%N=i;2use~}a#`&PDWWvOI~XrYlPla!@}HpZ?o^dpSyM2ckW z>tr9Yg{-~t0`Jpn! zs0dumUyDOUqec0}Tpj1{2ukeUM!R<_v_=~^K?Y~Y;exhsg#zuMM0=><26uSC6CI$2 z7doO796vf+?cSP}D&b+%1Utp*GYz8gmyf#KrcwOslnt5yksI&#zjX|)O*W0HRG1^R zK|-pRWNzU(Y3V8YEXQ?0NNQTPaQ`m(ir;yXv(-ORtMn4CDO!anOVEaiXeyOsF)BGj z9~dO%=SxYV#->sKy)o(%weW#2{2-wV{LvNN5PMDhF~a$ArxU4ju9A%Q5cPIjKNrp!+1Vii^+7kS7> z0oGtG3Q>e&l%N#rupUNiz(#DsW^BP$Y{Pbx!Gs+!V<&c@90I$s2Nl?heb^5R4xkbT zaR`TT1V?cU$8iEDQH4`DjcS}h4Qg=~=TL|9sK*6ZaS@kr8CP%>*Ki#-a1*z18+Tws z1McD;?&AR-;t?Lhjwg7EMm)oFyueGmLK9x&4c?*|@9-WU@DZQz*{Vxy`DXY7Ssbe8 delta 1051 zcmXxaX;{kv0LSsC(A5036_aggqQzL{2$9^8E4i;&$IPgfG=vewCa=-S*OAl{+^E_UBp6B=ce!rG-r>xBFl+`(8VpNq%?lK6!#QNHRCYLGRPpXMg z=)F9O2DkUW(PI#jk9-FZRKO z{U|{xL>$0Dl;IE#;|Sb1igHw-5>+^c<2ZqnIEB-w#u?P$ENXEMbvTa;@ZcgY;W8v# z!Bt$tb=<&B+`?_t;|>~d7x&PJ`*?tdc!bAzf+jpgGoIl&Uf?BO;WggiE#BchKA;63 S@d=;t1z+(^vYEdBu>A!Dqqs)^ diff --git a/src/model/build-parameters.ts b/src/model/build-parameters.ts index 7d72569f..ffce5e25 100644 --- a/src/model/build-parameters.ts +++ b/src/model/build-parameters.ts @@ -75,6 +75,7 @@ class BuildParameters { public runNumber!: string; public branch!: string; public githubRepo!: string; + public cloudRunnerRepoName!: string; public gitSha!: string; public logId!: string; public buildGuid!: string; @@ -195,7 +196,8 @@ class BuildParameters { branch: Input.branch.replace('/head', '') || (await GitRepoReader.GetBranch()), cloudRunnerBranch: CloudRunnerOptions.cloudRunnerBranch.split('/').reverse()[0], cloudRunnerDebug: CloudRunnerOptions.cloudRunnerDebug, - githubRepo: (Input.githubRepo ?? (await GitRepoReader.GetRemote())) || 'game-ci/unity-builder', + githubRepo: (Input.githubRepo ?? (await GitRepoReader.GetRemote())) || CloudRunnerOptions.cloudRunnerRepoName, + cloudRunnerRepoName: CloudRunnerOptions.cloudRunnerRepoName, isCliMode: Cli.isCliMode, awsStackName: CloudRunnerOptions.awsStackName, gitSha: Input.gitSha, diff --git a/src/model/cloud-runner/options/cloud-runner-folders.ts b/src/model/cloud-runner/options/cloud-runner-folders.ts index afb8d038..ff86f17d 100644 --- a/src/model/cloud-runner/options/cloud-runner-folders.ts +++ b/src/model/cloud-runner/options/cloud-runner-folders.ts @@ -73,7 +73,7 @@ export class CloudRunnerFolders { } public static get unityBuilderRepoUrl(): string { - return `https://${CloudRunner.buildParameters.gitPrivateToken}@github.com/game-ci/unity-builder.git`; + return `https://${CloudRunner.buildParameters.gitPrivateToken}@github.com/${CloudRunner.buildParameters.unityBuilderRepo}.git`; } public static get targetBuildRepoUrl(): string { diff --git a/src/model/cloud-runner/options/cloud-runner-options.ts b/src/model/cloud-runner/options/cloud-runner-options.ts index dc09da5b..c2e7f6a5 100644 --- a/src/model/cloud-runner/options/cloud-runner-options.ts +++ b/src/model/cloud-runner/options/cloud-runner-options.ts @@ -74,6 +74,10 @@ class CloudRunnerOptions { return CloudRunnerOptions.getInput('githubRepoName') || CloudRunnerOptions.githubRepo?.split(`/`)[1] || ''; } + static get cloudRunnerRepoName(): string { + return CloudRunnerOptions.getInput('cloudRunnerRepoName') || `game-ci/unity-builder`; + } + static get finalHooks(): string[] { return CloudRunnerOptions.getInput('finalHooks')?.split(',') || []; } @@ -85,6 +89,7 @@ class CloudRunnerOptions { static get githubRepo(): string | undefined { return CloudRunnerOptions.getInput('GITHUB_REPOSITORY') || CloudRunnerOptions.getInput('GITHUB_REPO') || undefined; } + static get branch(): string { if (CloudRunnerOptions.getInput(`GITHUB_REF`)) { return ( From db9abc4f3bc0276a05e71ae598a5d432cf98b36a Mon Sep 17 00:00:00 2001 From: brian-golfplusvr Date: Fri, 7 Feb 2025 12:07:59 -0600 Subject: [PATCH 6/6] Fix to cloudRunnerBranch option 'undefined' --- action.yml | 4 +++- dist/index.js | Bin 22305050 -> 22305053 bytes dist/index.js.map | Bin 14798938 -> 14798941 bytes .../options/cloud-runner-folders.ts | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index c82ad8cd..8fab75c3 100644 --- a/action.yml +++ b/action.yml @@ -268,7 +268,9 @@ inputs: cloudRunnerRepoName: default: 'game-ci/unity-builder' required: false - description: '[CloudRunner] Specifies the repo for the unity builder. Useful if you forked the repo for testing, features, or fixes.' + description: + '[CloudRunner] Specifies the repo for the unity builder. Useful if you forked the repo for testing, features, or + fixes.' outputs: volume: description: 'The Persistent Volume (PV) where the build artifacts have been stored by Kubernetes' diff --git a/dist/index.js b/dist/index.js index bb816cba5f60d9f7a83d8381ea64214fed03d8b1..6678601d10c07739fcdfc955b1bd93b47b0c91de 100644 GIT binary patch delta 1464 zcmWmEWqS|=0EN+Kv8qknNG^PnnDWMt7X+cX`(V8~2r5)|*Ku0>!nJ#pt8{O$aPkPatKJ=v@{TaYO z1~Hf+3}qO@89^x{8O3PEFqUzQX95$M#AK#0m1#_81~Zw(Y<6Hrc4B9CVOMrzclKZo zdoq{3*qeRWm;KnE1DMBw9K^vK!lBIPFb-z{M{p!ZaWuzpEXQ#?C$NwcIf;`wg;QC? zX`Id(Eaptk;%t_14(D7OIgKbT+V9Na0P2w$CX^g)m+21 zT*vj?z>VC*&D_GR+{W#caR=+UlMUR(-Q2^y+{gVqz=J%*!<4g;O+3P*JjUZZ!IM12 z(>%koJje6Az-C_LC0=F=ukb3b@j7qtCU5aJ@9-|~@jf5$AzS%~kNJd8`Hau`f-m`s zula^=`Ht`TfgkyapZSGt{K{|q&L8~AU;NEK{L6oAUuyfyNGc>1lS)bDq)JjXDNL#* zMM-f|J*kn@Oll>ylR8P=q+U`#X^=Eb8YPXBCP~wzBx#m3Pg*1`lU7OVq)pN`X_vH5 zIwT#FPD$saOVTyzmUK^gBt4T}N$;dj(l_as^iKvP1Cv3?;ABWLG#Qo*PevrA$;f0> rGCCQPj7`QR=yOIp#IHngQ3?J1)J9qB}8y3mzwbf*VB=|yk)(3gJn zX8;2k#9)Rnlwk~K1S1*6XvQ#>ag3*&2~1=XlbOO)rZJrv%w!g`sbCIsna5Ua%{FYy zc5KfM?8r{+%r5N8ZtTt;?8#otX90V&5Bsu^{n(#H9KeAb#KA0P35RefOF4|gIf5fO zilaG(V>yoFIe`;7iDjJ3DV)l3PUCdWUlA}(ePYq^AV ztmjfL<8rRxO0ME+uHjm)<9cr3MsDI}ZsAroa2p%BojbUbySSTsxR?95p9iR96PtOE zhj^Grc$CL@oF{mar+AuYc$Vj=;(1PxfAbIj^4|*EUrACesh-qG z3X_^iQBo_ZofIc^lDbK~q$H`IlqL<5hDoEOandAdnlwwACoPheNvouF(k5w}v`gA2 zWl4vmW6~+fj#NrooFlHtjSWMncb z8J&zt#wO#E@kx0yA(@y=N+u^$lBvnGWO_0qnVHN=W+xTNoMdh?uVAxBDX3WcKl$Qa A1^@s6 diff --git a/dist/index.js.map b/dist/index.js.map index 20a83c2812831a235ba833d2036e5a9e9a36fbeb..828cc589a357781c093cf751db77680458627ab2 100644 GIT binary patch delta 886 zcmWN=V|Nx{007Vvm+e){wrwrjw(VMcYT4_}ZP{G5y=;H)M|AHw_gi9o)K8a$R3UXp z6VirsA$^Dn8A8U8DP#^=Le`KiWDhw)&X6nQ4tYY}kT2v91wz44C`2b0PKb>pM#W@~ z{CgOkA#GfhG2+dZg#haJ?&+0 z``Fih_IH2-9pqq#IMiVdcZ4GyBGo9sZ=Q!7S&Ub+e zjdPKUUE)%gx!m9iR~qjsSG&fwu5-N`+~_7ZyTz?;Gr{df+~H1lx!XPNb)Wl9G|2-V z^pJ-=;!%%z+!LPkl&3x8S_n< delta 879 zcmWm4(|QnK007W0F54~Jw%wL(Z*keyU&~mn<(6&RT(%b8q|?Q@JE_U>5#L!7(uA}j zT}U4?gp45~WD1!>mXI}M3)w@CkTc{8xkH|iH{=WXLxE5*6bgkykx=wfWMWj(xtAp~ zM6{kcE-of^TGG_$$O`c(QIQm*I3*}aDN0j@vXrAd|9?d)QJE@Kr5e?#K}~8=n>y5` z9`$KJLmJVTCN!lP&1pePTG5&|w51*G=|D%Kh^7;r=|We!(VZUjq!+#ELtpyQp8*VH z5Q7=QP=+y_5sYLMF~l;OF^pv#sAjU=|SgPrVRH+$I2K9bqb0S