From 8fc9650b6e2cd9dbfb1fd05d731c2fad3e0b8165 Mon Sep 17 00:00:00 2001 From: Hanz <41141796+Hanzdegloker@users.noreply.github.com> Date: Sat, 27 Jan 2024 12:49:26 -0500 Subject: [PATCH] Bartender limited reagents fixup (#24598) Fixed up bartending after the limited reagents update --- .../Catalog/Cargo/cargo_materials.yml | 2 +- .../Catalog/Cargo/cargo_service.yml | 26 +++++- .../Catalog/Fills/Crates/service.yml | 48 +++++++++++ .../Catalog/Fills/Lockers/service.yml | 2 + .../Catalog/ReagentDispensers/beverage.yml | 40 ++++----- .../VendingMachines/Inventories/boozeomat.yml | 1 + .../Consumable/Drinks/drinks_bottles.yml | 77 +++++++++++++++++- .../Drinks/generic_jug.rsi/icon.png | Bin 0 -> 5433 bytes .../Drinks/generic_jug.rsi/meta.json | 1 + .../Consumable/Drinks/water.rsi/icon.png | Bin 316 -> 5864 bytes 10 files changed, 169 insertions(+), 28 deletions(-) create mode 100644 Resources/Textures/Objects/Consumable/Drinks/generic_jug.rsi/icon.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/generic_jug.rsi/meta.json diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_materials.yml b/Resources/Prototypes/Catalog/Cargo/cargo_materials.yml index bebc3fc307..e23a756ca0 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_materials.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_materials.yml @@ -87,7 +87,7 @@ cost: 1500 category: Materials group: market - + - type: cargoProduct id: MaterialWaterTank icon: diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_service.yml b/Resources/Prototypes/Catalog/Cargo/cargo_service.yml index ab9e1c3235..cc0ee7b996 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_service.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_service.yml @@ -98,6 +98,26 @@ category: Service group: market +- type: cargoProduct + id: ServiceSodaDispenser + icon: + sprite: Objects/Consumable/Drinks/generic_jug.rsi + state: icon + product: CrateServiceSodaDispenser + cost: 850 + category: Service + group: market + +- type: cargoProduct + id: ServiceBoozeDispenser + icon: + sprite: Objects/Consumable/Drinks/generic_jug.rsi + state: icon + product: CrateServiceBoozeDispenser + cost: 750 + category: Service + group: market + - type: cargoProduct id: ServiceBoxes icon: @@ -116,7 +136,7 @@ product: CrateJanitorBiosuit cost: 800 category: Service - group: market + group: market - type: cargoProduct id: ServiceFoodCartHot @@ -126,7 +146,7 @@ product: FoodCartHot cost: 2000 category: Service - group: market + group: market - type: cargoProduct id: ServiceFoodCartCold @@ -140,7 +160,7 @@ - type: cargoProduct id: ServiceAnimalCarrier - icon: + icon: sprite: Objects/Storage/petcarrier.rsi state: icon product: PetCarrier diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index f78219d33e..707a3929db 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -167,6 +167,54 @@ - id: BookHowToSurvive - id: BookChemicalCompendium +- type: entity + id: CrateServiceSodaDispenser + parent: CrateGenericSteel + name: soda dispenser refill crate + description: Contains refills for soda dispensers. + components: + - type: StorageFill + contents: + - id: DrinkCoffeeJug + - id: DrinkColaBottleFull + - id: DrinkCreamCartonXL + - id: DrinkDrGibbJug + - id: DrinkEnergyDrinkJug + - id: DrinkGreenTeaJug + - id: DrinkIceJug + - id: DrinkJuiceLimeCartonXL + - id: DrinkJuiceOrangeCartonXL + - id: DrinkLemonLimeJug + - id: DrinkRootBeerJug + - id: DrinkSodaWaterBottleFull + - id: DrinkSpaceMountainWindBottleFull + - id: DrinkSpaceUpBottleFull + - id: DrinkSugarJug + - id: DrinkTeaJug + - id: DrinkTonicWaterBottleFull + - id: DrinkWaterMelonJuiceJug + +- type: entity + id: CrateServiceBoozeDispenser + parent: CrateGenericSteel + name: booze dispenser refill crate + description: Contains refills for booze dispensers. + components: + - type: StorageFill + contents: + - id: DrinkAleBottleFullGrowler + - id: DrinkBeerGrowler + - id: DrinkCoffeeLiqueurBottleFull + - id: DrinkCognacBottleFull + - id: DrinkGinBottleFull + - id: DrinkMeadJug + - id: DrinkRumBottleFull + - id: DrinkTequilaBottleFull + - id: DrinkVermouthBottleFull + - id: DrinkVodkaBottleFull + - id: DrinkWhiskeyBottleFull + - id: DrinkWineBottleFull + - type: entity id: CrateServiceBox parent: CratePlastic diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/service.yml b/Resources/Prototypes/Catalog/Fills/Lockers/service.yml index ddb7710267..e5dbe2d524 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/service.yml @@ -9,6 +9,8 @@ - id: WeaponShotgunDoubleBarreledRubber - id: DrinkShaker - id: ClothingEyesHudBeer + - id: HandLabeler + amount: 1 - id: DrinkBottleBeer prob: 0.5 - id: DrinkBottleBeer diff --git a/Resources/Prototypes/Catalog/ReagentDispensers/beverage.yml b/Resources/Prototypes/Catalog/ReagentDispensers/beverage.yml index 62b166ebc1..d337d23f2a 100644 --- a/Resources/Prototypes/Catalog/ReagentDispensers/beverage.yml +++ b/Resources/Prototypes/Catalog/ReagentDispensers/beverage.yml @@ -1,43 +1,37 @@ - type: reagentDispenserInventory id: SodaDispenserInventory inventory: - - DrinkIceJug - DrinkCoffeeJug - - DrinkCreamCartonXL - - DrinkTeaJug - - DrinkGreenTeaJug - - DrinkIcedTeaJug - DrinkColaBottleFull - - DrinkSpaceMountainWindBottleFull + - DrinkCreamCartonXL - DrinkDrGibbJug + - DrinkEnergyDrinkJug + - DrinkGreenTeaJug + - DrinkIceJug + - DrinkJuiceLimeCartonXL + - DrinkJuiceOrangeCartonXL + - DrinkLemonLimeJug - DrinkRootBeerJug - - DrinkSpaceUpBottleFull - - DrinkTonicWaterBottleFull - DrinkSodaWaterBottleFull - - DrinkLemonLimeJug + - DrinkSpaceMountainWindBottleFull + - DrinkSpaceUpBottleFull - DrinkSugarJug - - DrinkJuiceOrangeCartonXL - - DrinkJuiceLimeCartonXL + - DrinkTeaJug + - DrinkTonicWaterBottleFull - DrinkWaterMelonJuiceJug - type: reagentDispenserInventory id: BoozeDispenserInventory inventory: - - DrinkLemonLimeJug - - DrinkSugarJug - - DrinkJuiceOrangeCartonXL - - DrinkJuiceLimeCartonXL - - DrinkTonicWaterBottleFull - - DrinkSodaWaterBottleFull + - DrinkAleBottleFullGrowler - DrinkBeerGrowler - DrinkCoffeeLiqueurBottleFull - - DrinkWhiskeyBottleFull - - DrinkWineBottleFull - - DrinkVodkaBottleFull + - DrinkCognacBottleFull - DrinkGinBottleFull + - DrinkMeadJug - DrinkRumBottleFull - DrinkTequilaBottleFull - DrinkVermouthBottleFull - - DrinkCognacBottleFull - - DrinkAleBottleFullGrowler - - DrinkMeadJug + - DrinkVodkaBottleFull + - DrinkWhiskeyBottleFull + - DrinkWineBottleFull diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml index 7c6b1bf78f..6c8d9468a2 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml @@ -7,6 +7,7 @@ DrinkVacuumFlask: 5 DrinkFlaskBar: 5 DrinkShaker: 5 + CustomDrinkJug: 2 #to allow for custom drinks in the soda/booze dispensers DrinkAbsintheBottleFull: 2 DrinkAleBottleFull: 5 DrinkBeerBottleFull: 5 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml index 6c0c719c7a..b90f9ffa5c 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml @@ -16,7 +16,7 @@ maxVol: 100 - type: Sprite state: icon - sprite: Objects/Consumable/Drinks/water.rsi # fallback to boring water jug + sprite: Objects/Consumable/Drinks/generic_jug.rsi # fallback to generic plastic jug - type: Item size: Normal - type: Damageable @@ -150,6 +150,8 @@ reagents: - ReagentId: Cognac Quantity: 100 + - type: Label + currentLabel: cognac - type: Sprite sprite: Objects/Consumable/Drinks/cognacbottle.rsi @@ -165,6 +167,8 @@ reagents: - ReagentId: Cola Quantity: 100 + - type: Label + currentLabel: cola - type: Sprite sprite: Objects/Consumable/Drinks/colabottle.rsi @@ -199,6 +203,8 @@ reagents: - ReagentId: Gin Quantity: 100 + - type: Label + currentLabel: gin - type: Sprite sprite: Objects/Consumable/Drinks/ginbottle.rsi @@ -229,6 +235,8 @@ reagents: - ReagentId: CoffeeLiqueur Quantity: 100 + - type: Label + currentLabel: coffee liqueur - type: Sprite sprite: Objects/Consumable/Drinks/coffeeliqueurbottle.rsi @@ -307,6 +315,8 @@ - ReagentId: SpaceMountainWind Quantity: 100 - type: Drink + - type: Label + currentLabel: space mountain wind - type: Sprite sprite: Objects/Consumable/Drinks/space_mountain_wind_bottle.rsi @@ -323,6 +333,8 @@ - ReagentId: SpaceUp Quantity: 100 - type: Drink + - type: Label + currentLabel: space-up - type: Sprite sprite: Objects/Consumable/Drinks/space-up_bottle.rsi @@ -372,6 +384,8 @@ reagents: - ReagentId: Vodka Quantity: 100 + - type: Label + currentLabel: vodka - type: Sprite sprite: Objects/Consumable/Drinks/vodkabottle.rsi @@ -442,9 +456,12 @@ reagents: - ReagentId: Beer Quantity: 150 + - type: Label + currentLabel: beer - type: Sprite sprite: Objects/Consumable/Drinks/beer.rsi + - type: entity parent: DrinkBottlePlasticBaseFull id: DrinkAleBottleFull @@ -460,6 +477,7 @@ reagents: - ReagentId: Ale Quantity: 50 + - type: Sprite sprite: Objects/Consumable/Drinks/alebottle.rsi @@ -476,6 +494,8 @@ reagents: - ReagentId: Ale Quantity: 150 + - type: Label + currentLabel: ale - type: Sprite sprite: Objects/Consumable/Drinks/alebottle.rsi @@ -520,6 +540,8 @@ reagents: - ReagentId: SodaWater Quantity: 150 + - type: Label + currentLabel: soda water - type: entity parent: DrinkWaterBottleFull @@ -534,6 +556,8 @@ reagents: - ReagentId: TonicWater Quantity: 150 + - type: Label + currentLabel: tonic water # Cartons, TODO: this needs to be moved elsewhere eventually, since cartons shouldnt smash into glass shards @@ -551,6 +575,8 @@ - ReagentId: JuiceLime Quantity: 150 - type: Drink + - type: Label + currentLabel: lime juice - type: Sprite sprite: Objects/Consumable/Drinks/limejuice.rsi @@ -568,6 +594,8 @@ - ReagentId: JuiceOrange Quantity: 150 - type: Drink + - type: Label + currentLabel: orange juice - type: Sprite sprite: Objects/Consumable/Drinks/orangejuice.rsi @@ -585,6 +613,8 @@ - ReagentId: Cream Quantity: 150 - type: Drink + - type: Label + currentLabel: cream - type: Sprite sprite: Objects/Consumable/Drinks/cream.rsi @@ -620,6 +650,8 @@ - ReagentId: LemonLime Quantity: 300 - type: Drink + - type: Label + currentLabel: lemon-lime - type: entity parent: DrinkBottlePlasticBaseFull @@ -650,6 +682,8 @@ - ReagentId: Ice Quantity: 300 - type: Drink + - type: Label + currentLabel: ice - type: entity parent: DrinkBottlePlasticBaseFull @@ -665,6 +699,8 @@ - ReagentId: Coffee Quantity: 300 - type: Drink + - type: Label + currentLabel: coffee - type: entity parent: DrinkBottlePlasticBaseFull @@ -680,6 +716,8 @@ - ReagentId: Tea Quantity: 300 - type: Drink + - type: Label + currentLabel: tea - type: entity parent: DrinkBottlePlasticBaseFull @@ -695,6 +733,8 @@ - ReagentId: GreenTea Quantity: 300 - type: Drink + - type: Label + currentLabel: green tea - type: entity parent: DrinkBottlePlasticBaseFull @@ -725,6 +765,8 @@ - ReagentId: DrGibb Quantity: 300 - type: Drink + - type: Label + currentLabel: dr gibb - type: entity parent: DrinkBottlePlasticBaseFull @@ -740,6 +782,8 @@ - ReagentId: RootBeer Quantity: 300 - type: Drink + - type: Label + currentLabel: root beer - type: entity parent: DrinkBottlePlasticBaseFull @@ -755,3 +799,34 @@ - ReagentId: JuiceWatermelon Quantity: 300 - type: Drink + - type: Label + currentLabel: watermelon juice + +- type: entity + parent: DrinkBottlePlasticBaseFull + id: DrinkEnergyDrinkJug + name: red bool jug + description: A jug of Red Bool, with enough caffine to kill a whole station. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 100 + reagents: + - ReagentId: EnergyDrink + Quantity: 100 + - type: Drink + - type: Label + currentLabel: red bool + +- type: entity + parent: DrinkBottlePlasticBaseFull + id: CustomDrinkJug + name: beverage jug + description: A jug for storing custom made drinks. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 150 + - type: Drink diff --git a/Resources/Textures/Objects/Consumable/Drinks/generic_jug.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/generic_jug.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2cafc197fd3e170d984710508233adf973f37fe6 GIT binary patch literal 5433 zcmeHKX;f3!7QP6AGNV!u974bXO6EBd1{owmfC2(qQEqZ?Adra+5GF+#6j2eaSP|<0 zDk7y)hcbu?Dq;Z(C_WYHgeVjN$Eu+9-2_BjuWP;KTJ1lRb(4Gd`Sy4A{?0x-IoW~! zi;eWH^Z@`cV*7XoA>SzVHANTslqV&<005ooNg?5iATR+Xl}Y#lA&gQaN?{bN67T^) zb!#B(+iedV4BtMQk*s6))b!H5nH97f-4gwp(-9pVtOyp#Y=rQ&@bV;sylkN6&2M*_ z-eu-wpEe-G&UZ{)u|K2UeB*F;=?L59@uM@Z%j!q={2pO$xZUm7r=@+uHOH^^+%+{{ zp3?0zvaD@z!4mqr{`8{bwiO$kHpVgMAGW<$w9a4erDcAA*Yi%B6N!y+*4cA@Ille@ zua{<@J7l9>YX;7E=x8@5z|3WmX-)ce{mds2TUf9j+sQS~^#K}5h2=+42jKl#hc^#~ zSCNy%3Aw__F1s7G8~e5e3~aeC52e14BpD~gq)7JmOMBjG56AyRQ4A1xGbna$d#!MZWVIhLP0#jPtGjeL`IpDn%(!>^=pNvp zQ)kJxD(M|R-32G;zIitKD@P8ormU)H9X$1VFkZ6p2fh7{?LQUqR@YXBxrR3dY4w#` zgl@>WdG6Fwp!w$XmUB~noPMoR>&%WzO)7J|r4j6#Hz~67-T|*+$-J$c6Z^mn=l0BJ z^w|JfG26^=swEI>mpAQAb73}6yl&sd);zbabHK$$ZFiX|^bH^Gx7rKc;xLHK#_>-4 zNc56zhT@GOTg?|;czfBMus-HHOYSDehb0vk3hXjx1TSISJP>~T!ChIi^d(}eu%6sXvvSg$Lr-6|6^_xBkC&7{3^m1LlYhB*wS~^BbW8E>*UUr zdL}c&UA?UmdmW1W3%*}MYNlUp4vyNT1WPe-3(6|nfAtMp_L4hL{4yeOErq$PyX8Ad zvqkK&hbeORQ-z-0h8YzGIt|CaNt@czuq#Y|?Pf-IvxRr4r}x%2x;3noRm3;e$3aZfhkKGlv21X&cMwe>=KbCb+YZBU1L!Oqt z?e0yW$H;X{e5cb_aQHdw+DdlI{E<@Il`rp1X{xpK-`#p_e_T$-rrN^N${}4rX8$~xZnH2uR3?W%XWE(?pf1bU@C2~$Ulc|xs~*r>x^=vn>oeAwY>Cz0NsJr z8S~KC{rE_ z2dqwh#jQUA9M+kw{URxSTXMnq<{PuZo=nw?BUhX~G_?3dQ`VoC+TP#EyW0i1o_jy( zY2nCSpM|p)0DxAez{4Yu?cwpEJs?e?Fg1_mb3SlJWj7Y zT9?@#8r@O%;NY6pVjFf`+>8|l#(z15&R$WdR7%Zt>gJk8>DhZ(I6gg7+=^~6$bA)e zo3;Mcpms*+<|F(&I{RYs^VnZsNCB4`o~~c-uxJAcO9&2tE#yzieoFr1P<768r=c^h zu|AFkhEK9D$o*(e_l@rF;`lx~9WaY;&bD!}pF`_icOiGh&WP3BE8@fN?gDLh?y@(Y zp3^fYKl%HmhC5UR^g|_9JqC$8&98i0*s(laIe2-MrBlp;W#w0`+^6~a*ch1+tx68) z8pPeA1o=U|&iC%+GXEl1L9(TFjTLFk5T7k`-=tcZSveTu=_+w%v-<*lN)SMt!qExWZXk;AqAwH3m!x^U+ z%g0ne^uVb=DUN`}<3u9dL=U;bD;^;k3+Qh>=h4-6}A&8Al|sY zR4Ef`(t&t5SO|*{s2rJ<@X3^m*_^;}548kQ0+CeXg^2wLQX$}f6zh}N)FYa7CI*7I zkMn+l{*b!{jG#Cirl*9bRENj*WTDmbGa(6205LVUAVeUMNDMLt4^gQYGM&%EaPcq& zgC`U4L@I*^Lm+hm6K;=g~#?5y+AG6E&vMJrxYcjXsS&3I&?YghFYy1ry|rrXUC7;ZcnduF)Z0 zG$@XOk^V7OupjJ#zbOV9kxwS`X%q~POC@5+5X{BUi6j_9BNMn(Jc&=DkjNSp#@Xc( zz9IpX!R}Frj)+!BfoiluIgBlp31kX^&Lxi4#y^^#x+3Tw(sRbC8{&t>bjJP9a*qNgbWlW= zQ5({kkw%Xj@APAOA+i3Oudy=wH>W_MzD)92`hJn?i(H?jz-NKKRM!`|K1+em0)MHl ze@rg@k7q?#jQqh%Ku&_gw?kc!Q=~4}cd;k%Uj5!zdw4rynJV>JCIFP@hC@8c< zjCu+-$4jqQ%gSW#l()BpI}p=Jwx@eY`1yeyM~%xIhvH^(P-IpEb>2X`_x6;Mxz*23!hpN!{G!#4w@+b+BotZ^aTsfc=LGxpG(Ru% zH;deqoqEUqdD+Qh<*}hd4;yb}fxx4#OO~XeKa@vnGg{gf4W+WQJaud`k|v$Felgz7 z>2-j?hLXXV`Bv{itqrd!@!69PVk3V^OYY<^dvaxA&urHQ!kaC7n+~{{>ey_zC|>B@ V+V=BeHzWao?d9)Tz9@3te*p?V6ASaE(56M&PB~G8bBajW zQ;HHLyACBK6_RsG8{&J1*6aJO>$|$H@B6Qr>z#Su`}y6!=e~c>{XFmU>~eE)SfHq@ z2!p{EFz9w3&_7&qDab*;qS)AR7)&lY*2_oi!Hj~32?bm*6o89k!T>lB4RT?y=$=uZ z^+KbH1yj#f#wAJHsMUqPw@niC517{)zj4&P6MK<8LoPL`Y~U8J!r-Oc947;2#>Z9T zgo7EogU_xVNp>w}Rb;mpPPX6uy-@h_S$d|!`;SbE%LW`}tY1w+>BQ{>y}YB_s)nB5 zGNP}zU_iUIAd_TxC~tedN@ltp-lOl(nNKOBwiWmH{R$v+b> zp4{1euD z(W~Ls?tvlv`eoLh?-w<^>D)p&Nw>1>@1}nE*m%bB@>KZ!(Y5}SR;QK(yz88Lp;Ptz zjP&qC=rGSDZ%2%bQ(YUf_EPN18tFx`s4CXsEzWeN|7+dyUv&V?Bd=ih<$3Wvj76v; z)t+m`!jr$<4P@Ur@{D<*&i>@#y;^2r6xGq>*G*c~rXFIuZvk`A{@C&PHx$mtO*%e| zueG$@_IwliT>rXeDbjs~r;qo6fk{(R-YQoG-OpVAZVYsj9#l}5DHrrf1GZs%UM@=#<9RV#HhaT+_FD{y*qPr zFNd2r`|*1GO1hAGhTv{*&k$~xdDn}g`~O7VOzLwmuxLC$7;b4z*=w~l(>M1vHKG(O zIbR*UG~ryO_!4kd&~u;-wLbDeWpC*NeGie##tqe#v7*=0tkF|%c8utqYrXDgwWi)K zzBt9b(`=E(kX<5PEydV2aKmm1)vY_2HNvBy$)YOG5%;{IYwaQj_@xU!GE zEi>0zd}3%T?FuO3iVL(l7e?>jR+>*P=89_TY9@LvyV9S%;XK`F;=0{MqxGfxbVsF| z`ax!|A2nX~$yjN^Cc1;xXlP}<|I-xf_@#=C_uMc|n@XKD(6z*SED|3v5D++8Hj`$Zef4 z*fGADzC`0h;H{+Q)BgLi8|1cL>a8Kgy-QuNshn^C^yxWhb77Acr_{FqCLb)*|F~Re zv5<4`?2=ahyf;k~ed)%{MYLbb)ru}T)7KZ)lR zQ~F=mUKe#H2PBlXj(4klP(LtEL>S$XIl3yRAYRRenli4;&~YhEX7z9XO)V+y!cA3=8q1>cF=!GGY!h7NQPRr=URcisOeH5CB1 zyDl$3V$kK<8)KW7zc}{&RZui=&m?R46e8c;sXhADg9cZfi^QcYCPNdyau<|#Al|CgaWLt)xg_P35i*{8F zyK{-nha7n~go_>e(^VgA?K^hmxJ7$H2D$56VcN#*2Y2u)Q~7=Qg=YgxELdi_^XE6F zk!3%0s@W6=-Hp+xlU<0;DX!ca2YPNMag4pdtOEDL?(t)BZH0@AHGMZB82W?N9_~Yv z!)e)pW!wL-sA@iOCX7pAj^Li#7+;2uj6DG+dxsq#ra!pbdAR0?R)@E|{VNWcYT8}# z5@urXkN9SH)!(+`G_ii(>#}NL*;`Zr;p5?p2dB+jX};}$7As6g;uBcH)gO;-ue9n!gtepBQ)&H_Vq6d)?`bEuYJG?UKy^&=HtX1s5bC?}mxLSjjpU_) zDKNvU+n$x*kIXugUmvyMVj^pL&!4W{WhJj4rc7rlFI}^4YX6Ie* zx)Gb`%OA5)SB&3YzP1CCsJ(g(EBEAWQ|=?*fOj3v5n6-3eenrhSsoaj{zbc<9pn4d z>DA#+9BGcpB-b?_w2gDIV7AQLwWI=7HFcxnNzqk2Z8gc#bumKI$=@^zYoccyo=QHQ zuREwjIr>ZU`i#y^zh4@=6`;K$*hHtWUDsaPiH?}3jvLO;QdDy9A$qLI8M1i!NY#8= zqk<#!zS>Z{Ro9EYZ^@MEmb+c1F0K`fZRD0oR__w_s)wkSP50iuE9RBCz-I7aXCkI9 z{fe1n#AavP@7vl>3JZVG`oywdD6bvUwu~k;vPPcrk?p(t{KTuPEl5n!)8>NseeLpa zrxL#!DHWA%|11Q~Z?3MovY9{g_Tsa5G9~fCT6dJPC$w3J1fflVkMkNTTfjpxIRX}d zispqun+6!n!a6#P$qoU;a25~*@+}c#RaX#jkYkBhM|8$GhtYswkRB@pJY!wF*s&pO z3I}0rrDzdNg$Q_nmaX2J|K#F4c zVrDdwFEW%+%yHNOBDN3=6N3UiT*Ap@2_nRn2n5s){~RAL%-Q)1Jzw-m1xOEcG&2m1 zMPbl99{O7kk=Q;GBKZ{1fAkP}L3=B-2Otte2-$#rB)}INeoMh&fAJ5C5QfgC!(pR= zP=E(PMNqHU@49qgIJpkOVT9jbvc}A`(NuVsIo1 z8{jZW-%v65A~BQC1|(DvISPb$uq-@@1u!W{77+lD1TF@Pq!5TWq#4ePNHk*-nQRvJ z8wyt;2vsFB^xLQ;R2+zkgriW1c#0Vm4HkN5+w`6f%KK!kB#ptp$W4s1_xxSPTk}n{AN{3>8WTl9nl{RES{K4rN272?3^9 zAoLOlLM;)Jpx_eEFU`)-gyJy8Ogp9+fJiYo0u_U$;z(Xt3>Al`;>k!1k&5{SFW`XO znE!^BOdq(#+@RAz5!8RotZ8mec>>{cPjio<;Ou0A!)K=jmC2qR27(5qG#1m#!_`)s{ zaK%wfAz%{(=?G~B73i#1@D-niYUTI%s9-=c4v=I>sM5YlMnRxIC5x7<7@xDXK>wQ_ z7PEkFmKexy&IT=A&`OB@vJ`&O3ySss`S~;s|IaSq@SmOhkiI|V`YG2BDeyz!pVjqK zt{+n1hrmCp>whMf;@86zz=w7~QP5Fodg0A7=$IwPa&oYP%}Bmkm-Esg%lt69uLuTH zS|quoV8=7GA)~yQ;cPGeTuN6}Yk6i{ZyjXnW7yev`CMlQYR}6K)KF%$T>U$WqZvA#Dgzs25ZW@dT4y6F?y6R8Awmx{p2 zCCYhK(=!SFt1}FbHH2@y(Oc$I&#q*c?b+ow^y*go66M^soDoA4MZSU(-XdmVyRk~p zQZq%8qf+)xo%A8NrqKW8euH`A%G+%8=H+GLFtY6?vPJeb4jrl!Nw7Ld1xgs!Z90hUPAnCa^ZTjV|?JZ(vG#RZ%cMpI72!H?xfL{Q#r9onH zU;>E2#8H)isN4ogH!34gkA=k0>A%`w?pw;Spp z#6#H2GI8>3qp{@|04b6*#~{`Rh$XlfgCzBzg-QXvEWR2N>i}Gg5listkx~QHmHxMYv*#t$z6~Ovoc`y~z6}My^|l1C_*jC+JW>I?v}0oS owqpQbBDHS#0vo718viA`1E<(h+TG&)lK=n!07*qoM6N<$f=gY3xBvhE -- 2.52.0