#42 – Greentech, czyli jak IT może pomóc środowisku

W tym odcinku dowiesz się jaki jest wpływ oprogramowania na środowisko i co możemy zrobić, aby otaczające nas oprogramowanie nie tylko nie szkodziło, a może wręcz pomagało w ochronie środowiska i klimatu.

💡
Spodobał Ci się ten odcinek? Zasubskrybuj mój podcast na swojej ulubionej platformie i podziel się nim ze znajomymi!

Transkrypcja odcinka

Cześć, nazywam się Krzysztof Rychlicki-Kicior i witam cię serdecznie w podcaście „Software z każdej strony”, w którym dowiesz się, jak łączą się ze sobą świat biznesu i IT.

To jest odcinek 42 - Greentech, czyli jak IT może pomóc środowisku.

Dyskusja na temat tego, w jaki sposób nasza cywilizacja i rozwój wpływają na stan klimatu i środowiska, to zagadnienie niezwykle rozbudowane, wielowątkowe, czasami budzące pewne wątpliwości. Natomiast nie da się ukryć, że temat jest niezwykle ważny. Trzeba też przyznać, że świat cyfrowy, wszystkie urządzenia elektroniczne, z których korzystamy, wiążą się z konsumpcją energii. Nie da się też ukryć, że ślad węglowy i ogólny wpływ na środowisko, to że używamy właśnie rozmaitych urządzeń elektronicznych, po prostu ma, i taki związek przyczynowo-skutkowy występuje.

W tym odcinku chciałbym zająć się właśnie wpływem tego, w jaki sposób, no siłą rzeczy, bardziej software ma wpływ na środowisko. Może mniej będę tutaj mówił o kwestii też często ukrywającej się gdzieś za pojęciem greentech, a mianowicie sytuacją, w której po prostu IT wspiera projekty, startupy, często nakierowane na jak najbardziej zielone funkcjonowanie, jak najbardziej proekologiczne funkcjonowanie rozmaitych branż, czy to w rolnictwie, czy w przemyśle. Ja chciałbym się skupić przede wszystkim na wpływie oprogramowania, na jego wpływie na środowisko, a także w jaki sposób można zmniejszać ten potencjalnie negatywny wpływ. I może będzie to też zalążek jakichś kolejnych odcinków i przyszłych dyskusji na ten temat.

Już sama nazwa greentech, powiem szczerze, że zastanawiałem się, jak nazwać ten odcinek, właśnie sama ta nazwa miewa różne konotacje. Od chociażby sprzedaży używanego sprzętu, aby jak najdłużej korzystać z tych samych urządzeń, żeby nie musieć ich utylizować, żeby nie musieć kupować nowych, co niewątpliwie też jest działaniem pozytywnym od strony ochrony środowiska. Przez właśnie te tematy, którymi będę chciał się zająć dzisiaj, po wspieranie inicjatyw prośrodowiskowych. Tutaj w zasadzie można powiedzieć, że to jedno hasło kryje w sobie wiele różnych znaczeń.

Natomiast nie ukrywam, że kiedy ja po raz pierwszy usłyszałem właśnie o takim podejściu związanym z tym, jak oprogramowanie może wpływać na środowisko, to najpierw się zdziwiłem, bo przecież to nie jest tak, że palimy węglem w tych naszych komputerach, ale oczywiście, cóż, no nie palimy węglem, ale tak naprawdę prąd jest konieczny do działania naszych komputerów, a ten prąd wciąż jeszcze z różnych paliw kopalnych, z różnych, często mało przyjaznych dla środowiska źródeł się bierze. Więc im więcej zużywamy energii, tym większy wpływ na środowisko mamy. Jest co optymalizować. Natomiast zacząłem też się zastanawiać, czy faktycznie jest sens dyskutować o takim wpływie oprogramowania na środowisko. Czy to nie jest po prostu sztuka dla sztuki. Odpowiedź krótka brzmi: no nie.

Natomiast nie ukrywam, że pewnym takim impulsem, który po takim pierwszym dawniejszym kontakcie skierował moją uwagę właśnie na te tory, były pojawiające się newsy o kopalniach kryptowalut, których działanie potrafiło wręcz destabilizować lokalne systemy energetyczne. Wpływ tych kopalni był oczywisty, żeby kopać coraz to więcej, więcej kryptowalut, konieczne było zainwestowanie po prostu bardzo, bardzo dużej energii. Tutaj nie chciałbym się wdawać w dyskusję o  sensie, przydatności tegoż działania. Jest to dość kontrowersyjna sytuacja, natomiast na pewno od strony środowiskowej nie jest to pozytywne. Był to taki moment, w którym właśnie zadałem sobie pytanie: okej, kopanie kryptowalut to jedno. Natomiast czy my, tworząc nawet takie pozornie mało inwazyjne oprogramowanie, to w skali światowej, w skali całego oprogramowania, które funkcjonuje na świecie, czy ten nasz wpływ na środowisko też nie jest jakiś mocno negatywny?

Zwróćmy jeszcze uwagę, że coraz popularniejsze staje się AI, sztuczna inteligencja, a to też jest taka klasa algorytmów, rozwiązań informatycznych, które zwłaszcza w procesie uczenia takich sieci czy takich rozwiązań, nie tylko sieci, no potrafi to konsumować znaczące ilości energii przez dłuższy czas, co też sprawia, że jakkolwiek sztuczna inteligencja może nam przynieść dużo korzyści, to musimy gdzieś tam w tym całym równaniu, bilansie zysków i strat zdać sobie sprawę, że każde wytrenowanie sieci pociąga za sobą pewien konkretny koszt środowiskowy.

Nawet jeżeli jednak ktoś nie jest, powiedzmy, że taki mocno proekologiczny, ja jestem dzisiaj sam, nie będę wdawał się w polemikę sam ze sobą, to jednocześnie bardzo często kwestie ekologiczne są związane wprost z kwestiami ekonomicznymi, bo to zużycie energii, o którym mówimy, im większe, tym mające większy wpływ na środowisko, to też po prostu większy koszt. Wprost, można powiedzieć, liniowo z reguły rośnie nam koszt, w związku z czym zastosowanie rozwiązań proekologicznych może po prostu oznaczać też oszczędności w kasie firmy. Dlatego jeżeli nawet zastanawiamy się, czy jest sens trochę zazielenić naszą infrastrukturę software’ową, nasze oprogramowanie, to za tym też może kryć się po prostu zwykły bilans, rachunek zysków i strat.

W tym odcinku, po takim wstępie chciałbym przedstawić takich kilka kluczowych czynników. Nie znaczy to oczywiście, że są to jedyne czynniki, natomiast takich, które z jednej strony znam dobrze, a z drugiej mają faktyczny wpływ na wydajność oprogramowania, na nie tylko może wydajność samych programów komputerowych, co opłacalność i właśnie optymalne użycie zasobów. Bo to też do tego się sprowadza. I co do czego mam świadomość, że jeżeli nie korzystamy z tych zasobów w rozsądny sposób, to po prostu tracimy pieniądze, a do tego potencjalnie szkodzimy środowisku.

Pierwsza kwestia, nad którą na pewno chciałbym się pochylić, to sama metodyka, samo podejście do pisania wydajnych, optymalnych programów. Jak pewnie wiecie, mam ten background akademicki, miałem, mam cały czas pracuję na uczelni. I przez wiele lat tak, naprawdę w zasadzie od powstania informatyki, jako pewnej osobnej dziedziny, kiedy jeszcze często mówiło się po prostu o technikach obliczeniowych i był to taki obszar gdzieś na styku matematyki czy różnego rodzaju elektrycznych, elektronicznych wydziałów, tak to można w skrócie powiedzieć, w zasadzie od początku algorytmika stanowiła kluczową umiejętność, kluczową kompetencję, którą wykształcało się w takich nowych pokoleniach, kolejnych pokoleniach informatyków, programistów.

Nie da się ukryć, że zarówno projektowanie, opracowywanie, jak i potem implementacja za pomocą języków programowania to była naprawdę czymś niezaprzeczalnie istotnym. Zresztą tutaj daleko szukać nie trzeba. Konkursy, o których głośno i o naszych zwycięzcach, laureatach nagród właśnie konkursów programistycznych, no tak naprawdę to są właśnie konkursy algorytmiczne.

Chodzi po prostu o to, aby jeśli mamy do rozwiązania jakiś problem, np. klasyczny problem informatyki, uporządkowania, posortowania pewnego zbioru danych, od A do Z chociażby, aby zrobić to możliwie szybko. Czyli zrobić to, zastosować taką sekwencję czynności, która po prostu zminimalizuje czas potrzebny na realizację tego zadania, jak również potencjalnie pamięć używaną właśnie do realizacji danego wyzwania. Tutaj oczywiście nie chodzi po prostu o czas mierzony w sekundach, to znaczy to jest niejako rezultat. Natomiast założenie jest takie, że jeżeli mamy np. tysiąc osób na liście kontaktów do ułożenia, mamy jakieś jedno urządzenie, takie powiedzmy testowe, to można te same tysiąc kontaktów posortować z takim samym wynikiem na końcu różnymi algorytmami i różnica w czasie wykonania może być znacząca.

Ale dlaczego właściwie ja mówię o tych algorytmach? Otóż dawniej, kiedy komputery miały po prostu małe moce obliczeniowe, to znalezienie np. optymalnego algorytmu, rozwiązania jakiegoś problemu określało być albo nie być, możliwości uruchomienia pewnych konkretnych problemów informatycznych. Na przykład znalezienia ścieżki pomiędzy dwoma punktami na mapie. Czyli tak naprawdę w grafie, od strony matematycznej mówiąc. Albo właśnie kwestia porządkowania zbiorów. Oczywiście, również w grach komputerowych i symulacjach rozmaite algorytmy związane z odtwarzaniem fizyki takiej, która pozwala na uzyskanie efektów takich, jakie mamy w świecie rzeczywistym, kwestie renderowania, wyświetlania grafiki trójwymiarowej. To wszystko wymagało niezwykle nowoczesnych, optymalnych algorytmów.

I teraz z upływem czasu, kiedy sprzęt, moc obliczeniowa sprzętu rosła bardzo dynamicznie, no koniec końców jest takie słynne prawo Moore’a w zasadzie o wykładniczym wzroście mocy obliczeniowej dostępnej w świecie cyfrowym. Wydawało się tak, powiedzmy, od końca lat 90., we wczesnych latach dwutysięcznych, że jasne, algorytmy dalej są ważne, trzeba się ich uczyć, ale tak naprawdę mamy tak mocny sprzęt, że to, w jaki sposób będziemy pisać kod, zaczyna mieć już znaczenie drugorzędne. Zaczęły się pojawiać inne aspekty,  które zaczęły dominować, czyli właśnie nauka konkretnych technologii, metod komunikacji, wzorców projektowych, architekturalnych. To też są, żeby nie było, bardzo ważne zagadnienia, natomiast mogło się wydawać, że algorytmy gdzieś tam odchodzą w zapomnienie, bo po prostu jak to się mówi, tak żarcik technicznych, że jak coś nie działa, czy coś się właśnie zawiesza, przycina, to dorzuć więcej RAMU. Można tak rozwiązać problem.

Natomiast z tego miejsca ponownie w ostatnich latach zaczęliśmy wracać do korzeni. Ponieważ, owszem, moc obliczeniowa jest spora, mamy środowiska chmurowe. Tylko że w dobie internetu, w dobie aplikacji, które funkcjonują na coraz większej ilości danych, okazało się, że znowu rośnie znaczenie, waga algorytmów. Bo przyrost danych czasami bywa bardziej dynamiczny, niż wzrost mocy obliczeniowej urządzeń cyfrowych. W związku z czym nagle okazało się, że w tych rozważaniach na temat tego, jak szybko, bezpiecznie pisać aplikację webowe, mobilne, jednak ten koncept algorytmiki, kwestia pisania - też może tutaj od razu dodam, że nie chodzi tylko pisanie wydajnych algorytmów, ale w ogóle kwestia pisania wydajnego oprogramowania, korzystania z takich mechanizmów, które po prostu zajmują jak najmniej czasu, które pozwalają na zużycie mniejszej liczby cykli procesora, a co za tym idzie po prostu mniejsze zużycie energii.

A to wiąże się też z tym, że coraz większe znaczenie odgrywa zastosowanie też często obecnych na łamach tego podcastu środowisk chmurowych, chmur obliczeniowych. Bo jedną z ogromnych zalet chmury jest to, że płacimy za realne użycie. Oczywiście, nikt nam nie broni w chmurze wynająć sobie taką maszynę, która będzie chodziła, była uruchomiona 24 godziny, 7 dni w tygodniu, natomiast jednak zwłaszcza w przypadku takich właśnie maszyn o mocnych, specyficznych parametrach, np. do uczenia sieci neuronowych, koszty są spore i bardzo ważne, bardzo cenne jest – i to już naprawdę nie mówimy o jakichś drobnych oszczędnościach - jest to, żeby te maszyny były uruchomione wtedy, kiedy faktycznie wykonują jakieś istotne zadania. Jeżeli zaś te maszyny w danej chwili nie są potrzebne, możemy wyłączyć je z naszego punktu widzenia, a tak naprawdę ta moc może być użyta przez kogoś innego, kto w danej chwili będzie takiej maszyny potrzebować.

Tutaj oczywiście chmurę najczęściej porównuje się do środowisk on-premises, czyli takich w siedzibie firmy. No z jednej strony żyjemy w takiej kulturze, że jeszcze posiadanie rzeczy na własność - zwłaszcza w Polsce - jest, można powiedzieć, wartością samą w sobie. Znowu, dzisiaj poruszam chyba dużo takich tematów, które mogłyby wypączkować w osobne dyskusje. Natomiast nie da się ukryć, że jak mamy taką serwerownie, to do niej oczywiście trzeba doprowadzić prąd. Do niej trzeba doprowadzić też klimatyzację, chłodzenie to naprawdę też jest spora inwestycja finansowa i właśnie też pod kątem energii.

Natomiast prawda jest taka, że serwery z założenia to komputery, które chodzą non stop, ale może być tak, że nie będą one realnie wykorzystywane. Może być tak, że w momencie, w którym wszyscy idą do domu, to serwery są w zasadzie niepotrzebne. Albo może być potrzebny jeden serwer. Więc powstaje pytanie, czy faktycznie w firmach wyłącza się maszyny. W niektórych pewnie tak, ale nie sądzę, że wszędzie. A chmura z założenia jest nastawiona na to, aby z zasobów korzystać wtedy, kiedy jest to faktycznie konieczne.

Oczywiście, mamy takie maszyny jak np. usługa w Amazonie, w którym się poruszamy w Makimo najczęściej, EC2, czyli takie typowe serwery, tylko po prostu do wynajęcia w chmurze. I tam one sobie teoretycznie mogą chodzić cały czas, ale też możemy w sumie w zautomatyzowany sposób kontrolować stan ich włączenia. Ale przede wszystkim są też coraz bardziej wyspecjalizowane usługi, takie jak np. Lambda AWS-owa, które w ogóle funkcjonują na zasadzie usług dostępnych niejako na żądanie. I choć sama usługa może być droższa z uwagi na swoje wyspecjalizowanie, to mimo wszystko, jeżeli jest potrzebna tylko w bardzo konkretnych momentach, kiedy mamy przykład duży ruch w sklepie internetowym chociażby, to może się okazać, że po takim zsumowaniu przez cały rok większe koszty pewnymi momentami będą zrekompensowane przez mniejsze koszty przez całą resztę czasu. A z kolei znowu te zasoby, których my nie użyjemy, użyje ktoś inny i sprzęt będzie używany optymalnie przez całą chmurę, można powiedzieć, użytkowników, a nie tylko przez nas, przez jedną firmę, która sobie kupiła serwery i umieściła je w swojej serwerowni.

Jak do tego dodamy jeszcze, że dostawcy chmurowi oczywiście też w swoim interesie bardzo dobrze są w stanie analizować, przewidywać zapotrzebowanie, a jeszcze do tego - co też jest oczywiście pozytywnym trendem - starają się zapewnić niskoemisyjność, starają się zapewnić przede wszystkim użycie odnawialnej energii i zasilanie tych serwerowni, swoich centrów danych zieloną energią, to w zasadzie z tego się rodzi całkiem ładny obraz, to wszystko zaczyna wyglądać naprawdę zielono. I chociaż nie zawsze akurat w tym kontekście ekonomia z ekologią będą po tej samej stronie sporu, bo może się okazać, że w jakichś tam przypadkach te usługi chmurowe będą droższe niż on-premises, to z pewnością warto się nad tym pochylić, bo oczywiście to jest cały szereg wad i zalet, które sobie trzeba rozważyć.

Na koniec trochę mniejsze, ale też ważne zagadnienie, o którym z pozoru się nie myśli, to jest kwestia stosu technologicznego. Stos technologiczny, stos technologii to w takim pewnym uproszczeniu wszystkie te technologie software’owe, czyli oprogramowania, które znajdują się, można powiedzieć, nad systemem operacyjnym, czyli wszystko to, co instalujemy w systemie operacyjnym, aby móc uruchomić aplikację, którą stworzyliśmy. Mogą to być np. środowiska uruchomieniowe, .NET Framework, Java, mogą to być jakieś środowiska bazodanowe, chociaż tutaj można polemizować, że jest to po prostu inny program, ale efektywnie, żeby móc uruchomić daną aplikację, która korzysta z baz danych, trzeba ten serwer bazy danych czy inną technologię bazodanową zainstalować. Mogą to być jakieś dodatkowe komponenty, sterowniki, biblioteki.

I teraz, żeby nie było, nie jestem wrogiem takich technologii, bo gdyby nie one, musielibyśmy pisać w zasadzie wprost w systemie operacyjnym czy nawet wręcz w kodzie maszynowym i tworzenie oprogramowania obsługującego skomplikowane procesy biznesowe z taką łatwością, jak to się dzieje teraz, nie byłoby możliwe. Natomiast z drugiej strony, jak sobie przeanalizujemy, jak bardzo wzrosła moc obliczeniowa komputerów w ostatnich kilkudziesięciu latach, jak bardzo wzrosła pamięć, to nawet mogę przytoczyć przykład, bo w tym roku, w zasadzie to tak dosłownie teraz się zorientowałem, że będą obchodził takie 25 lat może nie pracy z komputerem, ale używania komputera, i ten pierwszy komputer, który otrzymałem od rodziców, jeszcze będąc w szkole, miał 64 megabajty RAM. A teraz mamy 8, 16 i to jest taki standard, powiedzmy, nie najwięcej, ile się da, ale taki przyzwoity standard. To jest 120, 250 razy więcej.

I zdawałoby się, że jest tak świetnie, a jednak wciąż zdarzają się sytuacje, że uruchomimy przeglądarkę, kilka, kilkanaście zakładek, jakąś aplikację typu Slack, Word i w zasadzie już coś się zaczyna zacinać. Ja sam miałem taką sytuację, że jak jeszcze nagrywałem odcinki na swoim starym Macu, no to też nie był jakiś przestarzały Mac, ale z 2019 roku, to już pod koniec musiałem na czas nagrywania wyłączać inne programy, bo zdarzało się, że wiatrak się włączał w trakcie, jak tak miałem sesję nagrywania plus jeszcze właśnie te dodatkowe programy, niby takie tradycyjne, ja tam nie renderowałem w tle filmów trójwymiarowych, to był z tym problem. Teraz na szczęście nie, ale kto wie, za dwa, trzy lata może być podobnie.

I teraz skąd to się bierze? Może to być kwestia nieoptymalnych algorytmów, tak jak wspomniałem, natomiast w tym momencie chciałbym zwrócić uwagę właśnie na przerost czy też niedostosowanie stosu technologicznego. Technologie rozwijają się nie tylko po to, aby dać nam, programistom nowe możliwości, czy też dać nowe możliwości użytkownikom. Taki detal. Natomiast również po to, aby ułatwić nam pracę, nam, programistom, programistkom. I o ile faktycznie gdybyśmy mieli pisać takie programy jak teraz, 20 lat temu byłoby to dużo bardziej skomplikowane, o tyle niestety stosy technologiczne używane do tworzenia wielu aplikacji są po prostu bardziej rozbudowane. Można powiedzieć, że dosłownie one dodają na ten system operacyjny większą liczbę warstw. Czy też może jeżeli tych warstw jest nadal podobna liczba, to są one grubsze w pewnym sensie.

I teraz to, że jest ich więcej, czy że są bardziej rozbudowane, to samo w sobie nie musiałoby znaczyć, że oprogramowanie będzie działać wolniej. Natomiast no niestety w praktyce tak właśnie się dzieje. Zwłaszcza że czasami powstają takie potworki, jak chociażby w przypadku aplikacji uruchamianych w systemie operacyjnym, ale takich, które korzystają z technologii jak z przeglądarki. To trochę tak, jakbyśmy wzięli sobie jakąś stronę czy aplikację internetową z przeglądarki, opakowali ją, żeby wyglądała jak zwykły program i pozornie to jest świetna rzecz. To jedną z takich najpopularniejszych technologii jest Electron obecnie, ale ten koncept istniał już od kilkunastu lat. I teraz kwestia jest taka, że to ma wiele zalet takich projektowych. Bo możemy na przykład wziąć naszych programistów, którzy znają się na technologiach webowych i posadzić ich do pracy nad programem takim tradycyjnym. Co więcej, takie aplikacje bardzo łatwo uzyskują efekt wieloplatformowości, czyli możemy je uruchomić na Macu, na Windowsie, na Linuksie - bez większych problemów.

Problem pojawia się, kiedy uruchomimy sobie jakiś taki menedżer zasobów czy analogiczne narzędzie w systemach Unixowych i widzimy, jak dużo zasobów, mówiąc, kolokwialnie, zżera taka aplikacja. Znowu jest to przełożenie wprost na zużycie energii, na obciążenie zasobów sprzętowych i nie jest to coś, co jest korzystne pod kątem i finansowym, i ekologicznym.

To miał być już ostatni argument, ale starałem się za dużo nie wspominać o AI, bo ostatnio ten temat przewija się dość często, natomiast chciałbym tu jeszcze na koniec podkreślić, że uczenie sieci neuronowych jest niezwykle energochłonne. Oczywiście też zależy o jakiej ilości danych mówimy do uczenia, jaki jest to model konkretnie. Natomiast prawda jest taka, że chociażby te gigantyczne sieci, np. wielkie modele językowe, Large Language Models, które mają, o ile dobrze pamiętam, miliardy już parametrów, to uczenie takich sieci jest po prostu niezwykle czasochłonne. Zresztą czasami można się spotkać z rachunkami, które płacą jakieś organizacje czy firmy, po to, żeby nauczyć taką sieć. To są już często dziesiątki tysięcy, setki tysięcy dolarów. To wyobraźcie sobie, ile to jest energii.

Można oczywiście tutaj stwierdzić, że jest to robione po coś. Poświęcamy tę energię po to, żeby ludzie mogli z niej korzystać. Na pewno plusem jest to, że jak już sieć wytrenujemy, to potem można z niej skorzystać już za marny, malutki ułamek tej oryginalnej wartości. To jest pomijalne w zasadzie, więc jest to pewien plus. Ale nie zmienia to faktu, że im więcej tych sieci będziemy uczyć, tym większy będzie to koszt dla nas wszystkich.

I na tym już naprawdę kończymy ten odcinek. Miały być trzy, wyszły w sumie cztery argumenty. Natomiast jeżeli zielone technologie są dla ciebie tematem interesującym, to daj znać w komentarzu lub na priv znanymi kanałami. Przyznam szczerze, że ta tematyka nie była mi taka bliska, a trochę też otworzyłem się, bo w chwili, gdy nagrywam ten odcinek, szykuję się do Oslo Innovation Week, gdzie będę w tym tygodniu. Przy okazji możecie zaobserwować, z jakim wyprzedzeniem nagrywam odcinki, chociaż to też się zmienia. Przy okazji tego wydarzenia też trochę zacząłem zagłębiać się w ten świat. Jest on niezwykle fascynujący, bo to, że ktoś mówi… może się wydawać, że jak się mówi o ochronie klimatu, środowiska, to że to jest takie wąskie myślenie. A właśnie wcale nie. W tym ekosystemie technologii, ekosystemie projektów, startupów można znaleźć naprawdę ciekawe, bardzo ciekawe wyzwania, bardzo ciekawe pomysły i bardzo fajnie jest ten świat poeksplorować.

Ja staram się też taki sposób myślenia powoli przenosić w ogóle do wszystkich aspektów software’ów, wszystkich aspektów świata cyfrowego. Tak jak wspominałem, zarówno na poziomie algorytmów, jak i infrastruktury chmury na przykład, czy też konkretnych technologii. Warto o tym wszystkim pamiętać i brać to pod uwagę, gdy podejmuje się rozmaite decyzje, właśnie związane z funkcjonowaniem technologii cyfrowych w naszych organizacjach.

Na tym już definitywnie kończę dzisiejszy odcinek. Bardzo dziękuję za uwagę. Kłaniam się nisko i do usłyszenia.

KONIEC