From 8254633a3c909097c255cec1343026675828c70c Mon Sep 17 00:00:00 2001
From: Christian <87277467+christiandonf@users.noreply.github.com>
Date: Tue, 4 Mar 2025 22:02:50 -0300
Subject: [PATCH] ChatBot in C#
---
ChatBot.sln | 22 +++
ChatBot/ChatBot.csproj | 10 ++
ChatBot/Program.cs | 128 ++++++++++++++++++
ChatBot/bin/Debug/net9.0/ChatBot | Bin 0 -> 78184 bytes
ChatBot/bin/Debug/net9.0/ChatBot.deps.json | 23 ++++
ChatBot/bin/Debug/net9.0/ChatBot.dll | Bin 0 -> 11264 bytes
ChatBot/bin/Debug/net9.0/ChatBot.pdb | Bin 0 -> 12020 bytes
.../Debug/net9.0/ChatBot.runtimeconfig.json | 12 ++
ChatBot/obj/ChatBot.csproj.nuget.dgspec.json | 68 ++++++++++
ChatBot/obj/ChatBot.csproj.nuget.g.props | 15 ++
ChatBot/obj/ChatBot.csproj.nuget.g.targets | 2 +
...CoreApp,Version=v9.0.AssemblyAttributes.cs | 4 +
.../obj/Debug/net9.0/ChatBot.AssemblyInfo.cs | 22 +++
.../net9.0/ChatBot.AssemblyInfoInputs.cache | 1 +
....GeneratedMSBuildEditorConfig.editorconfig | 15 ++
.../Debug/net9.0/ChatBot.GlobalUsings.g.cs | 8 ++
ChatBot/obj/Debug/net9.0/ChatBot.assets.cache | Bin 0 -> 149 bytes
.../ChatBot.csproj.CoreCompileInputs.cache | 1 +
.../ChatBot.csproj.FileListAbsolute.txt | 14 ++
ChatBot/obj/Debug/net9.0/ChatBot.dll | Bin 0 -> 11264 bytes
.../net9.0/ChatBot.genruntimeconfig.cache | 1 +
ChatBot/obj/Debug/net9.0/ChatBot.pdb | Bin 0 -> 12020 bytes
ChatBot/obj/Debug/net9.0/apphost | Bin 0 -> 78184 bytes
ChatBot/obj/Debug/net9.0/ref/ChatBot.dll | Bin 0 -> 5632 bytes
ChatBot/obj/Debug/net9.0/refint/ChatBot.dll | Bin 0 -> 5632 bytes
ChatBot/obj/project.assets.json | 73 ++++++++++
ChatBot/obj/project.nuget.cache | 8 ++
27 files changed, 427 insertions(+)
create mode 100644 ChatBot.sln
create mode 100644 ChatBot/ChatBot.csproj
create mode 100644 ChatBot/Program.cs
create mode 100755 ChatBot/bin/Debug/net9.0/ChatBot
create mode 100644 ChatBot/bin/Debug/net9.0/ChatBot.deps.json
create mode 100644 ChatBot/bin/Debug/net9.0/ChatBot.dll
create mode 100644 ChatBot/bin/Debug/net9.0/ChatBot.pdb
create mode 100644 ChatBot/bin/Debug/net9.0/ChatBot.runtimeconfig.json
create mode 100644 ChatBot/obj/ChatBot.csproj.nuget.dgspec.json
create mode 100644 ChatBot/obj/ChatBot.csproj.nuget.g.props
create mode 100644 ChatBot/obj/ChatBot.csproj.nuget.g.targets
create mode 100644 ChatBot/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.AssemblyInfo.cs
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.AssemblyInfoInputs.cache
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.GeneratedMSBuildEditorConfig.editorconfig
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.GlobalUsings.g.cs
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.assets.cache
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.csproj.CoreCompileInputs.cache
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.csproj.FileListAbsolute.txt
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.dll
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.genruntimeconfig.cache
create mode 100644 ChatBot/obj/Debug/net9.0/ChatBot.pdb
create mode 100755 ChatBot/obj/Debug/net9.0/apphost
create mode 100644 ChatBot/obj/Debug/net9.0/ref/ChatBot.dll
create mode 100644 ChatBot/obj/Debug/net9.0/refint/ChatBot.dll
create mode 100644 ChatBot/obj/project.assets.json
create mode 100644 ChatBot/obj/project.nuget.cache
diff --git a/ChatBot.sln b/ChatBot.sln
new file mode 100644
index 0000000..9c4bd68
--- /dev/null
+++ b/ChatBot.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChatBot", "ChatBot\ChatBot.csproj", "{E19F4577-A213-4A2A-A839-A8DAD17B54B6}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E19F4577-A213-4A2A-A839-A8DAD17B54B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E19F4577-A213-4A2A-A839-A8DAD17B54B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E19F4577-A213-4A2A-A839-A8DAD17B54B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E19F4577-A213-4A2A-A839-A8DAD17B54B6}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/ChatBot/ChatBot.csproj b/ChatBot/ChatBot.csproj
new file mode 100644
index 0000000..fd4bd08
--- /dev/null
+++ b/ChatBot/ChatBot.csproj
@@ -0,0 +1,10 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+
+
+
diff --git a/ChatBot/Program.cs b/ChatBot/Program.cs
new file mode 100644
index 0000000..88937b3
--- /dev/null
+++ b/ChatBot/Program.cs
@@ -0,0 +1,128 @@
+using System.Globalization;
+using System.Runtime.InteropServices;
+using System.Text;
+using Microsoft.VisualBasic.FileIO;
+Dictionary dialogs = new Dictionary();
+Dictionary otherDialogs = new Dictionary();
+dialogs.Add("pedido", "Qual é o problema com o pedido?");
+dialogs.Add("atraso", "Certo, o pedido está em atraso...\nHá alguma ocorrência de atraso com esse número de pedido?");
+dialogs.Add("falta", "Hum... houve falta nesse pedido. Certo, esse produto foi faturado na nota fiscal?");
+dialogs.Add("resposta atraso sim 1", "Verifique as tarefas desta ocorrência e veja se alguma delas está dentro do prazo ou se estão todas encerradas. Se estiverem, encaminhe o caso para o suporte e aguarde a resposta.");
+dialogs.Add("resposta atraso nao 1", "Verifique com o cliente se ele ainda deseja receber o pedido.\nSe sim, abra uma ocorrência de atraso na entrega, descrevendo que o cliente deseja receber o pedido. Informe o SLA e o número de protocolo ao cliente.\nTabulação \nPrmeira categoria:Transporte \nSegunda categoria:Atraso na entrega \nMotivo:Pedido não entregue");
+dialogs.Add("resposta falta sim", "Abra uma ocorrência de falta de produto:\nCategoria: Pós-compra\nSubcategoria: Falta\nMotivo: Produto faturado.");
+dialogs.Add("resposta falta nao", "Então o produto não consta na nota fiscal? Ou ele foi cortado?");
+dialogs.Add("resposta nao consta", "Se o produto não consta na nota fiscal, então ele não foi pedido. Não é possível abrir uma ocorrência de falta de algo que não foi comprado.");
+dialogs.Add("resposta cortado", "Certo. Abra uma ocorrência de falta de produto:\nCategoria: Pós-compra\nSubcategoria: Falta\nMotivo: Produto não faturado.");
+dialogs.Add("Cadastro", "Cliente está com problema no cadastro? Qual a mensagem de erro?");
+dialogs.Add("Cadastro, CPF já cadastrado", "Quando ocorre esse erro Você tem quem reprocessar no GPP \nCaso não apareceça em 5 minutos \nPrencha esse formulário \nMatricula: \nCPF: \n Nome Completo: \nData de nascimento: \n Cep: \nEndereço completo: \nE-mail: \nTelefone de contato:");
+dialogs.Add("help", "Voce pode me perguntar sobre Pedidos, sobre o que fazer quando tem Atraso, se esta em Falta ou ate mesmo sobre o cadastro do cliente, caso deseje finalizar nossa coneversa digite 'sair' para encerrar.");
+otherDialogs.Add("erro", "Desculpe, não entendi. Pode reformular?");
+otherDialogs.Add("farewells", "Até mais! Volte sempre que precisar. 😊");
+otherDialogs.Add("welcome", "Olá! Meu nome é Rey. Com o que o cliente está tendo problema?");
+string RemoveAccents(string text)
+{
+ var normalizedString = text.Normalize(NormalizationForm.FormD);
+ var stringBuilder = new StringBuilder();
+
+ foreach (var c in normalizedString.EnumerateRunes())
+ {
+ var unicodeCategory = Rune.GetUnicodeCategory(c);
+ if (unicodeCategory != UnicodeCategory.NonSpacingMark)
+ {
+ stringBuilder.Append(c);
+ }
+ }
+ return stringBuilder.ToString().Normalize(NormalizationForm.FormC);
+}
+string RemovePunctuation(string texto)
+{
+ var stringBuilder = new StringBuilder();
+ foreach (char c in texto)
+ {
+ if(!char.IsPunctuation(c))
+ {
+ stringBuilder.Append(c);
+ }
+ }
+ return stringBuilder.ToString();
+}
+string NormalizedText(string text)
+{
+ text = text.ToLower();
+ text = RemovePunctuation(text);
+ text = RemoveAccents(text);
+ return text;
+}
+void ConsoleResponse(string texto)
+{
+ Console.WriteLine("ChatBot: "+texto);
+}
+void ChatBot()
+{
+ ConsoleResponse(otherDialogs["welcome"]);
+ string lastResponse = string.Empty;
+ string response = string.Empty;
+ while(true)
+ {
+ Console.Write("Você: ");
+ string userInput = Console.ReadLine()!;
+ string normalizedString = NormalizedText(userInput);
+ if (normalizedString == "sair")
+ {
+ ConsoleResponse(otherDialogs["farewells"]);
+ break;
+ }else if (lastResponse == dialogs["atraso"])
+ {
+ if (normalizedString == "sim")
+ {
+ response = dialogs["resposta atraso sim"];
+ }else if (normalizedString == "nao")
+ {
+ response = dialogs["resposta atraso nao"];
+ }else
+ {
+ response = otherDialogs["erro"];
+ }
+ }else if (lastResponse == dialogs["falta"])
+ {
+ if (normalizedString == "sim")
+ {
+ response = dialogs["resposta falta sim"];
+ }else if (normalizedString == "nao")
+ {
+ response = dialogs["resposta falta nao"];
+ }else
+ {
+ response = otherDialogs["erro"];
+ }
+ }else if (lastResponse == dialogs["resposta falta nao"])
+ {
+ if (normalizedString == "sim")
+ {
+ response = dialogs["resposta nao consta"];
+ }else if (normalizedString == "nao")
+ {
+ response = dialogs["resposta cortado"];
+ }else
+ {
+ response = otherDialogs["erro"];
+ }
+ }else
+ {
+ foreach (string keyword in dialogs.Keys)
+ {
+ if (keyword == normalizedString)
+ {
+ response = dialogs[keyword];
+ break;
+ }else
+ {
+ response = otherDialogs["erro"];
+ }
+ }
+ }
+ ConsoleResponse(response);
+ lastResponse = response;
+ }
+}
+ChatBot();
\ No newline at end of file
diff --git a/ChatBot/bin/Debug/net9.0/ChatBot b/ChatBot/bin/Debug/net9.0/ChatBot
new file mode 100755
index 0000000000000000000000000000000000000000..999bafcf78b52cd10591349235b2d495e02f33ee
GIT binary patch
literal 78184
zcmcG%4PcW+@;|;wnl_Zu1QA39%_#^RP|{agphBU6Cz3+tMNz?0+LTuMW}EP$B9*pE
zF66G>`NEx`oNveZ+B;vaB4`n8Q8}-^oN~$u-l0CVsQ3n`NdKSNeV$|!8uk4BztLv%
z%+Aj4&dkot&Thgwr+cQ+U|{;o#4cv^)LJVb)3ge8bQotE%Vx=J8oPk~g2kgg4u3jc
zbZIl85-+{9h(|_XYFDV$N0-AiJiXL=r;^&mdTm=OYV?xX#51)sAjnB$Rsjo>%0B_lx>GqmQaVfZ6+iUl0R+
zaSZq(z^P62YdHXY_1hE!9*6<|M-2E|G2rjUfR6wp`WnyJ81QRjz#C$~Z;b)JF9!UH
z81TI@;0X|TU*mVjfL{{>z7p_(;8FBzZ4CV881P^W_#H9en`6Kqi~)Zn2KteuLV!$7Z0q=?d-yZ{hFb4di81S!Sz|C-Gea-ih81P$Tz+aC6
zw;~|ui~gB0;OEAGkB9*u8v~vi1D+EDJ}m}(Rt&g127F-*_~IDwWijB_#DHHL1HL8(
zyeS6!wixiYV!;0$1O7=2_*XID-^G9%5%Bb-C;el<2gZP(6$9>!0r$s%zZe7lVGQ`Z
zetnO>3Glw`_Tw?|{~ZHqL#3sL|;q
zhbS8{9`PTw6RmYDDv448v!X_P67M$1UdJL@6g$VW8!+c-_$*>+1A7n8Eum)%`zqqu
zz!vuB4e`d9cg%00fe9=C9BN;D;!b#aE4x#BuI0~3>_P4MTK;TiPifE7`EwlGqdmXz
z_zHN2MD_-r=~Z~q8uVsiN3>_(ITg@66Fa5h52~mbKs_e{i~2v4Klfv2YR|XbdIvl~
zJUdT&zJosxWMj1FC-`$R%g~;m{UYSdnW%K~brv&a=Ft-s`DbP%xvirrNWhcv+=K
z)b(9cRI<9bsH~#8xU%9pAYM7&o0eKpQ(v^KxZXou))m*SDXOTh@UCR_-nvQ;`n___
zeDA~}G+dpUnwkd03K~~kMfGx5$$W2WYDsx;=g~`bfMA`cwz9ay
z=e*hTGr-P;)vGG1ON-`t>U~vU4Dq>SMNvulilVaOib?>8am&E%>Y|cjZ%H}&o$t*7
z=c~X>uLt8OTE2R9QLU%0zJ|E#T~oBuL4%w9zjH4G0xEU#DgI2}7uVK$KtkgagzP9P
z@|M@ttSW*?mwU^LJau(7b*N_bCFP#dqBRws%2G%i3RTC-YS1_{RfLl)#YkXc-R#xe&Czk!p
z=~Vf=q)H*dL+x@x6RKGbg$&QfTUSkL1`Vw)fl_Oq^+JREJh^1nalsH*N&S9~Xf+Z-
zwm(BPQqyP%MU}<%-lCc^E?^o8B%Gl$1Pn)2QC)HMa!*lNl^4Uk?&q;S8>_@q2bO{J
zKaax1I#0c)ZY2o(y!NRX;dNhB>|2e2RFx2^pToL|oONXtb>Llfjm$q%pX!>T${H-~
ziW;)D747f8uax4app)H5AGJit3eE|D{F6b<1H&s)_#$M6e?3NGnUq
z>+o1vvkH&Gs?>S-($t=?ZbKI4=S*{ANljI4aUBe=Fl;|(&84P+?IktU7_P6x>-^a)
zLz=1C5`pKE?B$bICe;D`1nCSMdV$%J>J(N|jXB)O%PN?6ns*tE#HF76r^u$*NLT
zR_E~$&$)GArIpkKMg5v8yz4-2u1YHf9awP>tYBpY6gH#;^(DpCWj|Bvge?~)qfGBZ
z)~-q#tfzVB0wN%J8sNeK}$0j8v!Q
z8AI3=l^z)LKCv^1FJw!Ic##X?z+3>TYDy_WK#w`1L&OPvHqR`n^c2@Q(KwAa1_3hH
z8pAS6ylZMb2ns;DplDS^si&F;7<_>6jhGnnvp_)mK4Xb_;VC23;Zt5vw7^m1oIkN>
zUTlW~y_ug`v>>&}>EsSRf^|Q@49o@!#YeYbLAdK5;&zl=et>v>nl6`YJ?hdx=qXFL
z;LD211k@u2`^f^&CxL@Em9@p*a#9``OPC=>k|q5?RVhj=jk4-09>3tJ3@e00#a9lW
zHlZR4gxf9|JC;)AS!|ZuHGRgSMMdc;8S>|p)YOQ_G)LrPWNmsH1C6}tuAWTDlrlY$@Oz4Y*zTI@LEys*Uo2jc#8%<6b1i0UEr%x@H;06
z_|Yi%(~|`JL=?PstbjA^JW20&ex`t1qTsiU5pY`+e6t208U_Daqi>Ib&vpnp8?})B=8*)92>jPD_eroK2m>8li)~chF*#U#|AI-YM&>1qjx#qQYhh{
z6~bn0kp%yR1Yat_ua@8q8XRdJ?1jUx4HBH{^jC`n*Lg&Bn4mEc_xoc6=|Yrh1S^FN0qIGtVTFI9rm
z8Jhk&D#7(5TBNZ<
zf!A6j_+$y+Cc&pj@SzesSAyFmIGrWyuh9~Gst!cykl@oKc(w%3li<@N_;d-bNbngF
zyikJYOYlV!+$q7AO7NKyyj+6MlHj!xT#?|bCAdq1H%RbHB=`miK3jsfNN~3V-z32c
zB=}YdK1YIYli+hDc&h|2l;CX={89Q|zl4<)S7Ph#NKH%6$jq9Uox>KC
zd+b%k)y2y_rS^Qc+rF&ES6yoN*4Vw}74>${YEKCgfyi*%E9xiNM~$o>#n!SbYJB!8
zU%l5}fpkT2Wu-l3j&lLEsqsh(iTU$SA!i42DDOD9Ebv5-h
zW!@B|P9~JC!gh4UgsJpiQJS0P$VyM2=wLID4Z+@((%$y6)phojNc19AluHvyNda9(
z+XqT^Rg?gSO{lG_DVb33sVtj-ltevSSWhjn$Pfsiw4$ePwZ71)t2wdQQb&Tu)=B
z+=gAxM5VAfHC}rev4Po_uwph(LqKw-tYSI%U@s|Ko;$MMUg}wif{g@Yii&D$>g}Uf
zl~a5`MPGJ*#^>q{Kapd5c
zP+H@~t_>1hURkrOxbpNCB%4ILorEx6qO9>QM40QMESe%+G_0O-nfo00(&{KCEyJ|
z7<7)}DdoCV=egEbfz7r|AfylVNR`&qdF`}d
zDm~+QuUNwMDd318TDCgOLu4#4@S3_cd=0S~bLTmgx$}`AnwK}j8TD9nnRDLsx$|8M
z;AT=-Weqf!rVjZQ<f%z>t+KjxfGZbD_na6gvrf84eyuq)03IBnzCP*(|ZDQecNtuE7ylOgWbz
zpI$2Z#rmODpJJbn{2^>rXhqi4QX0PAewAbO$kj_&R2Q6lgv4BP<}ZN6irjN&7BDJSOD){?p>=1D3p0JXJz>FF}#K<+y9QE*728$+wMSAqAF5_O+ZyrMXzs$R1{
z6S!9^_EndZj~6PQn3!L)N-R7wh@7a#q)CY*>n}nBTJ$0LVl@(f0oL6VnHY`tQFcQNipk%@eUL9NwNHb#g`|NM
z&2aQnQjQ~coXf-f%qQ)1<>%@WkHJ#z7hyw6OFgA2Y$2yjNP$&Y;#^5(9a5Rhw+w-UFC{G_#gQ?dj1GxZbFont{wfNrmPF|t32sG2Ej-im
z6qbjzBc{)Nn+R=w$O-oy+Dup+DSAj+J8{C|7jC1P{3}$9_`y%r*vJz5$SWzG%`@GS
zP-(d`Kyj9k!n7p@EfS`NPX2_u4fzXUJ)_iY8Rf}K>R`TMd=Nc^v`q7g5HQ#*;xXc`
zgwLY6S=6U0@`SrI>?mD?)HHP@sl|>OR;Knzo%AC%aXX~w5>Ya#tXRZ293yXB4~?(4
zS5+)8_u9)nm9@Hu1x;QBl%&rkBdR8MC@}dWX
zbaiX&wKcc~ArGF$Tp4y-Tx0qid8CQMym2Z+mW77|Mf08WE_2Or&6&mOnD7=g(09#H
zhWHY)m@rui{D-^*^LZ#NLzKA%PBtCh6)~FvrS{a>=a!Yh#8LQNS-ON5_hEOak`
z8M(|!E_Ckfg@qCJf{v4Lnu=Y6@Nayj&4l+@hAT4m@PguoT3Qi$h!R>vV%=z)0OD_7
zI&^w`KrtsbG@6q;ZM0+|Ff%fcumKmBLJnKoH`nuP4dh9R
zrq6Tc<HmrHg7s@H9}mh^>rVAD+s57$F4sGih5v
z_CYk%qioU-o!6Ra4Kdn|19@@@%RKg)WfXmrmqh4^O#%-Nu~FdefxAk1fWb!
zPYj`TP%8Ur-JIi^#rNRi01;0B7e
zo6Du$tE7}6o3EL+pBnD=5r{0nN{QAUv02wbIbpW-_>tt860!g9yK!izZJe1;by?uH^~0F7Fj3T3K;=c6w<>ae7XcV`6GXNwKHQQIb(6ABpj%4u>Pvk>*HuWH>S%Ky_q0a#9_1
z=QlMyH6t}MH7j*uYBqAfjT28tnJvBWoJv}`mJu^KkeIk0y
z$#7((W~61LXJlk#W@Ked%*f8j$#i62KwtelA$>BO{&=@T<1W=_nSIB{b3#GGtLc4~H7c6xS3c4l@~_QdS$?3^47F$dk}
zfOHO;v(8O7h@TG@h{oFk_gmPpxa6G{
z)?~gLrw;eVzi0r?M+u*p(B`fIhPc7zD-7Z|f@ln3FXQ25!=PJDY=^NRU}Am~?-z9g
z7!Kd2q}*X(*A#QU_TJTIFg#+II_wP_`->szc`JM0V0*^OUN%$3q#lV&dC|)L
z6K8wE%8r?n@wq9!lCh)lgC4cA|0b9>TG{6bNx!wSXDv0Gtn8tFN&Ax7)BUU+$?U~`
zzu1(_ZcdE*c7WkGiAk>~vyT#I-E3u#^-uauGTYw&jGL3$zW%QL$?UI5aUTpYypS{k
zbWSB*1kC#fO!<5Odonq0d$QrH4JVSDkoDJQ%K4Sda7Z^}@LLA9h`u4oVa4n)
zJ{~r_Wq8=e{%ab1%*sxfaOSlq?hfNF8+#{y(A&xEM11n&$?Um=q)scl#qwvU0`+&}eDGW)LoO`vfy$$G%b8j_Pi=)UA6;5?puCzvk!xrE_B>r(5-@ocH>{djOM
z`8Nsdc|-r(6Tp1S-3jb^9bd&n<=tpBgaarJVji
zwi&R^hJMeO*aLQwXtTvn+;=jp|Q^0WZWGT8-9SX12jJ
z`>>h4VZy2Yx27R)n^{ZT13-DooCNSLa}b~LKfSolo}D;S(pg)k?K15
ziD!Q{S-ay|n+a#Hr%X3|5zoGj>x|N!L}k{q2KF185$|tE(2#W0zA~JLg*yhWj`PkoYt?=`Itye2?)F6T8cV!z#drv4=64hYbr3
z8d;;!@-HL%yD_a?BLP0OB7V5+I#%?ZpOXW5v*?u+Z!kifQ?$8Squcf}{6c6)phKL0B|3HV>d
zCjqA+p;pWxamJNf3~UR=P0x3YH(bET0_-!Kaj)6%ob<>0^-pA%;e@Eh2CQV8vN*d_y87J44e{Fs{G
zXnoei?lBH{%EX>B&VCJ?Ha)4)yUS(ByT>r#nMA`sje|c-WG79@k0u(PGFx6rWS^S}
zvN<97kBNqtEtVG(+4q)f0Qt6G5^8TxOakPOi7WMCV?6WNd!YNC!S-%{_Nn0`eEz4&
z_F{kbfr<3~<2dW1{nu((Nq=mg^JY&0s{nxk!G#bq3eq&*;ng_L8*r9maHVeDSk_7zCmL%Y8v-~+k
zyMNJP16KcTBUTFWy?@bH2H1u-NcFhBvL`|BN#np46MIqX`-0L@!8q8Uv+jvw_Zo(O
zXo7XX@%HbHmg7eDN8=teK-;@U8iwPE;cviKX2WB~-T3@@+`xu-w%+_#3?MXy#LOjI
zY2os#8W_Vb*mTCGC%N%zAiw9GK}qu2M6~iB)vS0y_wJhV$b(W
zy8RsXSmF>MzLfZp0j&-s4gTnC_IVO4#q$FO9X*@9KA;g7`u;g^aL+LI@xU)2y#s@-
zcb~(02LA@L`t~d{8vSf40Fl8LZZjgQI9#Ah!sQ|h#ybw>6g;2ArJ_od`*4Y<6{Q=OZbqPfBg(^g-V6yUc;10>
z7%tjv#3hxXX8`U7F3L*qvz+QtZbW$!<&!8YaY>{B^@|G;N1&WCkJb^|A;39+=V7><
zkrWR&%5f++gD(qE?!YCC8&DoVxtZ#rg?mu$L#d)nf)ZO2&<17FAdCS@J`LrRtMT1E
zdWNeQjrxr!6_k&lEJwKySDEFXr!`^>|axuy?agp){lo=>Dqog0}*a7>o0M7?dI`Dj;61XTI
zsf8Oxx%pa*8}&O-wo`o_0xXnA>KVHY@RMG~?6{aXZWZXDoU#V^s%Ey_xiZ=&3Yax3u1Jq9_^Gs%rZ!ShCxOHuCo3*>e-
z>Yo4%&yS#V;Ca~7m_N$J&*1JX$|>71PI}&fyP{O?1TNvD>_WNYIq2azpz$ikPH>dN
zlF{xT&`Xs2P~JDXgBP2#t@IPDJb#vQyV^ab#we_}j%9*1%V
zp7)_F#Pb1^wJ49EY(Y8fE$|QZP$m8{TsMyyR@)5cCM8%X1hfG<41Zl0F^2yk>;xM<
zJMj0&DD6Ad&Scxo#u)?R6*K~z>I=1cu#Pdkes;LN_DAYlex$zj2kNQMF8rMwuidTI
z`v=U9zav!UAYMZm8rzJpH#3f!{-o<>5V4i
zbTP*f051T}XcuE36M<6>6lYSrjZnv->IUFV175L=H?z_F>$u;Tj59RkOTu&?0e+zy
zdkd7IzAvHi8?ORZ9!PT;AR1+sLQS?&bD;5krPcos9l{$1cQx%&sQYRCnG6Q4L*iLJ
z@UrJIhGi^`D?IK}t^SAlv!m%o;MLB@I+f`VZ+(Im_0nnL|RxqW`Pz2isf3$^;m)P8|Rza&h*7WIok
zA4@mPtGqD%7Sy|A)Q?7!R*nAsa(kDiGeOYdS^)h+{Q=;%gI1|5KMmJZpi2<80=Skq
z*yAf1yF$h-XiV4`ALROIIxCD%v?<=mfRD|Q@n<*2Zxq^lOdrVz;L;C-?T3F|h|eLt
z)%AR)m^+POBk*iX8M{WNDUacz@EAzeJAhwU%*~%fH_XcesGo-Vp}-CGJ2zZ^Qmc=U
zwPeeNAs$(}EULX^%ch{-ULK`ug@QiuXff&wufg{)Q=@cl=;nl
zfeG7vAsCvo9kJh$JNjO))aNvc4N?C+K8NP)*4E>HH9|xOf0e*(MZ6QS4tSqN&L!%v
zh57?dgwAR@M|#q#)${)JITnW3sqyV_pG5Bv@ONzLn;zBUrzY6Ad+<9C^jY^6n$My6
z*|qvSxt@>tQmrF0ZqP;4yHOT`))g|YzRo2-<^|pc;Qdm@BM(OUn8(R+eWW+g`_#WxN7FdOzn1%8&ty7$j^we0EgcP<5x_|^
zNPW%H?Oj;6h^G|KTOP!Eil8UvWe1Gn`E8FgHe0UO#(e|OMgzVHIBx>S(r16hLqH4p
z`#r$j(9XlsFdrm4bXcp$(hb+^d?Gx_XV?&<9|5f<88@_sj4O0(8sik;7VcuKv2WaK
zbX?*|IdGo@ZeKj1`VFYR{|D-~p*~|bV?*S=G}}V!Vy{+z5&U~-?Mv&zlw{P0!*%Nf
z@ZWqfif3dK(VWIJv_It35qrGZs4xA2dfK}zK>Y;J3dI4mWB?=j^fFvm=;l#(!d+{y
zp3l`|ZwKl~zYhcPP1x?Z-j8~F^|dL_X+&ITPNchV^{nLr#ylt^+E5HN3#fYVsmU8?
z-1oPjRMGAQ=vv&{QePpto0jP|aT;*j@wWj3d>LKz+iaX?<5-X{MPEdinW=IHd_(f_os25tA=?Z`AK7Yh$Yk&
zJAuDi;BP|D$cC}F<9+vq!^JCcR~J{;Q<$+RgL{GR!fbklE3kC~ZFq`wa66>K7
z!LBI|b1%W%`|ug2FKBICLfZ%4W-Hn#*u4Cm_`FWyS6Ckk!;%s9@lCWjJOyb{@H=jW
z)MggnpKQ^kLTirfted@P(|!qK1E|esABOc&kH=q*
z?BfLRX+K53-5B?VgfETDv@vX_$Oepq+!iko`<=LhQk%tL+QcKu`Q3II{56fGQ^M27
zBEyS)AsHM0r1wGiXTr{X1^huY{(#g+822A2QTp7EP_2I
z9lA=wm*;@f9o-pHn{8;*Rg4&$+Dwem=9vF>i|c_#|i!<-m1#5d#zMJrb_ICRXX#Vm)sH{vqIhM)>Rcz`r?+Ph+9{
zaJvt_iRN4+;ft~SL&v7M((f^PS2K1e^ds(a30LONU&H>K+KjfqUaS-QvbY+ljqD?D
ziEOhNZT8*FST)J|cW9&Ad%2%eVL1?=TF|C#BaYTc4vkVjp|xikqf3Ftg%c(=^w*5N
zhBY3yT*6-*-iMf;HR;pmF$U$p5C4v_d#I1=r8b%@OpEm%ge*oNX5Di;V~-L3Rej*E
zh{UIud(S4=D8ipC;fLo?thb;!Gy&iH2gFJwyYnS{nNOh>LdVwUOoV
zKqPOEpv?~KVO~R@aS2izT?Z-ksKsL>3(CP)Ze{Eo8rMgM!|Phdm;4styMa$R@~?>g
z!9MUM`ZVtwfWPs6#$L4o|9J^tp2MsCLxZ9=t!Oj!X@=uEw3#T)LE@FMKGcNgo+#J<
zCX5GI3_B>b5o_ZL9eXtDZHSf2w==edaF0u461X8xmx1~zz#aE2U0nd~+Y+uc7Sp9+
z8K6nT>r3l--===z^1pVq;{T7*c=%}H0%vM_>Pt#6HxGN@-of+tftmY4FTk(;5au&z
zzJ`jN6W+l}zIDY0ND#n~r{702tpH5YFoiHhe4&}8|
z-ZMeKtP!yE9xAh*pC4{d<7>$M{sWNoja{fT=KhDGY{mb9H%STP4mpTO{fZ~>R@&R!
z+hP7E@C-}Pcc_1A-@OWz+6?Gt
zf6Gp)9~!fML4;mJnyo+g?S6+D>of!!;D@2uN41xrAi=fB&mqv
zcXlbAu%Y-EoHbPOH;={~75^-Y(mBgU;Eq{CscJN;rcqUJRyIC51lDL^ktPExo3IpA
zDFSN|K4uFn1z3dwYY{NZf$3~ObuCqQHm^p(Yn=_KX_m^fXtXxvKv~_vwe4>I+EysYuTY`h_ZOOE2PW3y_MdPyp0d@Qs|2au*OL0WdK;=y
z*Qx{xS`>dldqMLt?}flJ`1)I)9-x52220Nw5LqrhD*jHl{|mL2+60`ycebHjYX>%2
zcy3d2>4Hz)xz5yM=>3E3y}i$U4?t?Wdi6-gx^Kj1D6_TcznGmn;A>SHPfV*@@MWI0
zCZ68r*vhQl0Z;t3w-=@P6<)r(tIYcL-kZK5j`+qXjqQif$iCeU3W{}lmn(Rq9b@}P
zXK%0iaVstffqFC51)W=I#!9CXwi@DaZpBICarF-1VDc@g$5LN+`#*R2+tu9!3iw(u
z;)A<-dokEcFC@rLE)5b)PN#PkvBw?sZFT2-?uD|DxPpZ6rM1Sn=}YT6E;OaN*L$(z
zUrUVH+OtxyA@x~Kbnytrde#xw1ev4W;hMxFNVxqzi0ODwjuKe7NojuFJ49*x*5I>P
zpLTBDkkDgs`;V!gKThLwZbExf6(zt&B7}gx^(iL+X>E%;=eXCbeu^e}Pa6Peb?5W~
z@NWVM--rjuwr{F=s1?Z!3Cs#%91xj!ysh`{bq5356{3*d4
z4pmd(AC%zj0^=jJ$B1ZYxC31G)tju;S0nmrYWH3Z&hi!Ee^1?jys|U3x2fHyC<0dr
z*dT}JpQLq_nY@E@?gA1=Fn5V~IulQMwnDzzY7t5$B-5n7_f8^ZnOXq6Zp_qAeYW
zZp(81XDZre<|NfZ>%t+1X`nzMpjTrafdCuF6}Sw
zr`6|E+q*>DT72f_3lndeN)_vQMf5D1CQ)6PsEe9PQzq42!t28GX`*SW8GuGks%b32
z-GJ-9gGw4L`JefPFy~5ODy>Dcdh;5Z^7V=moUw@3u~|L*2#1UYBwIjU7Z8imxO=G5
zxW}U89P}n!wWNDH;8zLR!|u@?0J%fGKlKfusqf)U9!+>W+~2_4G#+t8`I-Ihz$%M7
znES=QNJhQtw+~}v{)4Hpmfufp0Zf>%El-jr{C`B$aL66VQZLUW`E)7)^04jXWYmn=
zBtr9l{zl6r_ZEx`Q(gr-t4sM`sqJ}%y}ovJ5(bOO*f7F&tf(%bof%Q1Jmi}Uq|sM}
z4U?FZ)WmRF6F#v-n%H1{V!Hmy@euvfS&IM5JpZXMmk|%SgH?zqs#@V$$S%T}wlmDH
zRow*N+60e#0zd+!9#a=04kr-eMSz@Jqn$7}6+bJ|QG^dt?>mXT<__{))DIoQYc8Cij<&hi+SEvOenHb8q$b^e11N7tGx;KlW`eojJi^tkb{OvtuJ$u%ZQZs=J%g7y
z7Ehk)5F8D$TyiwM<(Ye7VsaAc7NGtGw8?MaReAv4{t5!1+>4H&$
z>mu~$ZfiUrNCX4T>QD}p)cTh1VM>jFcCV#R`0G%Tzg8g+pmrZ`CL^LpRT^Y3ZcxgVdIwdwa9r$@}q~+S}XJ
z-9Qx@cWy@~6yp&>K5?y2?#MHzKpeb_1A`FvbH+)$!i>)UGoQ+LLqd#M`~-(|bBNBE
z%LVXFfkupZLTKs>1kr}~)=?q6FdOI!bu=4jcnH3U8+pBNf(PmxIPHSwUf+3nH=Vo#
zYr!{|#*9_GQ-}pN@?25gajDcE#Oc&q@uHW-#>A9;Rl)^^OAk5^2zw+mD1ewq6L
zPAsH@xqsn|JqnI>KZJU6aumDGJtjVP--`vW11IUgpa$%23f1n`IN@Ct=7M(xaiGVe
zxBvEQLA0lkAU&7x_k2+sYClnGKbE&2skh&*x3}?@iTs^!GRUKAQy&SWp7VLt5dPjL
zaLa@FZc%RoOpe#{E}QT2A44#uzH=@a+TGbr8<$1gl4J1uxopRi#5-
zjhjH$CYaeH{PrRw=7={+5V0^fyH9V$4z>B%jia3YuMny)dI;t^^%Lv))7T|}j2?vK
zuu&JFm8#B
zLDbiLEbsXNK*+Z`Pvsr!GFRu6{3wYvQutAijmur|vT$QXg?e=h>}
z0cU_I0UufPdG~XMd^Zrx^&g}hLhU^aU!>@s7Ec0yl-x9!N}H8|`Ti4)hm78SuErZJ
zEYEuTi<}FTo{ES)orusPlRM6)PrS>KI6(~Z`fvDvu5bmi(0i*8?OMI}W9k=oV<5rI
z)`w{d$KgC^0ID0(p@8z&m@?KZ!IXf5??rCCk56C{NOaRz48V;z?rhw)Q7f&+
znHX!n|Is5DO@aSwFauE%4|d#vbR}>V^k9pF+;8J|wmOVRTk}s543Ti#7EscH?Ld$t
z`U@JA=6Air&;nVdJnPfR*b*l5y&x9hJL>J!B%q};PYZa0nTNqntsgZ9EDLNAWBU{w
z&Bna-y5XqPKVQ0$rs@uGNqeWcgHKUP)9n|rWkAd)xVFKabHduR1#TT0{a3-k-U9|HIC{oi6iQa#t$Gc=vtdN&uy8fy2hcc4&=
zal%)W3gkG1&msvp4qG%3aSONw*}lfLZOnHzm)d13(ItQG$Dd~+zo4d$;&UbbA}(pH
z#S;ZUf!jI9gSl(Aa*E$#NhpDx0w{9F+{Vn?OgqE}C?|rTl~;H2Ofja%IyfS+k}A}T
z5c|4=kJ>rzqc#*u+Z_DV1O0Xgctr5BPM)$ZWymBC#WT)@SYBiA0I=3T`(D>9lL<>t)KVP7q
z1nc_IqSc33*?K<-)M_bO={>xrD%iL1*ZE4$UTf2rf-5_=gd2ejQ^%r_KC3dtw1u;y
z@jDETj{d;MM2U}laNqoa?AcM*bKnHMrYZp(ARJVGLGZCp5dl|khYK6c^*j|WWIzF|
z{{?jikf88f%C?cTgY9q!IFm6I+Dhwt78R3a?WQ15_VZUefu^<1E+e^9&&AxU*$=mUGUym*{>(TF5ef`@NO>C+&VB;
z%>!L>m)sFYtygQ)ccdJ5Z-OuQ9G?iU`vdKRXh6IV^V&Bu%w}t|ADDR7xNL2veR4PQ
z6-;%5Vi?o=PET=o2((m5N-y@f!$6IO?~EU{flC_CW
z?$rIj36I7*LhYnR!$as{_FvR
z7_mR^4OphK4x}4hss+V*vOi)iDDa8sNDRX#WXx;mSE+ZKA7%?%>X)#Pc9G
z#yvxD$V$5itl!2xc8>KPJ&4%otxbFgpCc|q=tz;!W#`bx&(v3^YoJfzw%=bw{>^*2
zLOu~|<`*+zCjA{v?F#(A%j$eFpji9`8?JqNDG8Vr$c}gbI2C56YjuM
zq)zUfFR?2_T*d?YJk&=hzqL6Ds)pG3bi)?XH=JJBK*l>r2_Qkd+eW7tJ?gRFVFHK2
z9&VJH-}T+o^8mLASMc}w`l1&6RNsbm?pejFvbCz7YxNK1I&$>1ebaho@HYD9wI@Sw
zGe~cvbwK}`H`o@bPhiO$jFVJHT}TMR;i>d3{0KhyID4i8S1rI>*cjjwbriA*{Jf0zjMD5T(Vd3FKKfJrn&>mag>UzmVdvi@uWBrr&AO<5numX3_+Z1qn=Jt4ts|I
zOT^38P`rG~?f;MJA!KnB-X1zW31;r(q43%^b+DD@lR5kjT0nR<^JjdRauZ+V7vi{n
z8;*14@`ES)0CHtJGXPSqm5HTL6HE?^Kgb2
zMGxnL>#)jaOcU$zwHD&T^)@UUJ2lV`0G|O|G?v=a{uyHmobL{-v$%7<^Nw`+PxU0W
zi1qhf)cRWq5cnHiAJUiFE^bh371mWlwA+{$?9!!|WIkLK*#hGvWYz?JGM
zzBJbYLW)Rs>KSaLiG;X9@GzdjqnPYeeR&u?lmqz~QjDIc1XieF-DwT^GQJ*Q^=7<*
zxl#P3+c{Bl-j6xs7!<2O((J(SnY%E#cdgCmz&^GbZZ^|1=9mh%(KDZ3wLeKk3!2B`t=G>>6PqgDxFn0x38*DR7_5W^#QGX5Mxy
zoZA#MqYTwZ@=*TH)MMMhKbHCulEC;zC>`@^S(Qf`CHT~!G&Fvgo63*
z4}LvQ`)RV($$026uL4E{e^qPK5DZG43mOt{=_3hD_J21Wp>LSeMEp=(*dn&fKlzzGh6YFiaZYaRm-6bcS
zxWqA%EQ1u<^U<*9eTb6J3<3}*`VA+*4=i|V(@k7P$9uaPb31n6vv-O+F!DuwQUc}&
z@5Klw+kFFE!CQEP#%zXUTX5l4WJ^iPBSBr0@`vhZJam|EB_fplL_~62&BvB7%u~2w
zYcq6#l$+!ka>eL!68fTz1+_X4l;|@jt#*M%W9}HDYi%yVxO;vdLDF|I48~kIO!YEg
zYD>MtY>61iv)HRfw&G@c55Vd_@D@Y=8gu{hEcJVPd*l_+kbeHZu76OE`@dWN+d=(*
zSpPu(q4kgI)7Sq7ef^_WUjN`}c>Uu6>mL{qG6=1I(1^i*iWhYIN^AeeO{{m!&$E_4
z$wEH$4Cj!8EabV-_Hh#`Pvg%Uw`lxXhEoDp0IIsMi&jn#;KcMuh~rb=CG#BVKUbr!cQSLi&8jt@w+1e|C4cv13H;H1eAP_4)k8H}lM8tk0eBRc01Q*5M
zh}x8fE?0#&rHB&M(5AE%0q8btNmYn=<`5j--k#rd6!-qML#NkxbACjO81D%@$$p^Acd^(PW=r{1;-+?P
zDbmSnPiw`!$ISq%x8g0t{|Nqs`;o7mHRFPEArEH0#9oVn+JCHvEx;WXY>zp!dc$|x
ziCOKaj$~G^_gq{*F!*pgs=u~@hfP5&q25opeeg=Xeh%?x45@G|;kQ}mb9
z<&AR%=Ga_0`&JIkYs1`#5OV3MucyAGUJL$E(~h|82?hQ#3;tFC|m&6zU+DJE*>b
zI3#qGG1Wch8zpB~-7Jv7#OOd_1%?vlC!OzK3r&`V7FjzVmN5X!s2WcbT{fx~wV-Mg
zXr3nO-(nz0$6y7W9vAfF-H$jMvEC}LY+x#g9BnprBnWf=ts!+Hb9GSFh(cQ+yzu
z`(iWS0bg-ktJ+#aP4P7fq)GbWApzHB-B4=?ADK9;W1O@4_CvoR?Qd=*
zX`3KC0A|~0Ng)r1RUCD0P0RS-gd4yf%|F9}J0m3QNCDuCo3cSeMe=30nzT;WOu;gJ
z{ISPNR}!pEh`eBWkXz5Z>Q}wJ&lrhWSaY4Y#EbC
zfnBjEL1eT1lM8SIB4-!AC$kHS0JA?~tHW10H1@)Ns(12k@SUC$z}ERpS&b1u7JR15
zq(k61U{ZSM77mOQeFdnBTK+Hm-i!tz<&^YOw*Nz;bfilWJb#F0j_+v&Ge6pZvzN{n
ziPswIKhk;pEHr=)P5mE5u>LjzQWqQssQ>wod;RO1U?rlzW9zmfoOC1^}Uysaz?CYnLf5>`N;6t`9gzjzUc*0z9|d
zr>1uKazdIKx)vm>a+hx?Ojg=DvQ?P}VYwg<@o>JI-%U>%1%?>4GiZ74BfIp&)>JKTurj&3^&obT)x`#3}#Ut`Lj51dH;n*I5LB
zU{L{QQI5u21ge%~a)K3iz3EHiJv4>$93
zzh29kcW)DC9=>Zq`C_n6Jr3f1@sEFBu<^*EC=MdY0TYd=ENsMDI5X(_KSgeIoRCff
z7Li+vh}?d_j13X917bLGL*}!!tc9Ndz}*dp?zA@C;OL#;J45Mxb-Mu~fw@r+fayK&
zP`?q9yq#nLNm`p)2od*En%h^8ABpv|4w0)AZ|5~kiJ#!Z^(BR}9EyMMx=)nOc3No2
z!?=3!od#zcz6h`tmvpc+PT>0hEfCNKIs9tDj5lD$d29HLF=QN4`U|$ga9f*jPC_Qo
z;JZ;MK{vbxa-b~}XiRSUibrsT&Fvp68#7mMm4QMX8z$k}L1V#dD!%!mjGckp`w8p%
z6CeT%ZE3AW$L^dGi?!(x!NGsd9wM;>Royr<0=B*oA6kv4fD=QMZ^!#Kfrl;65L;7U
z&ug22Qr${Y5hfLP!eC@vjU6~_!+kZyk84-Jv{
z8}Cp$rwJ=P&4zC2i+S|rfQ5Vzp;L1}W&k3qEWR#4_DX2=A}QvMLL$cm-EO@ZZfG57
zkO2^fEzm@$DN_1l#f1O?Z4n83{xBJX@r|HRS3~uUiJekSFAM*X2`1*|0gFe0pf0XBc
zHP8RgzP=*tKkk1Eogbt7V7jxN0=rcTFGGWwg;YO$2aXnh2|X0P1M8)oyzVck5vkz`
z=zY8JyqYsP>|M-H8lBw5TYKh&$RLTRkx}3G@%B74LUiVzfzar%$V>9ZwP>6Gw_VSD
z^?#_#=g@?_d;keq|7=7^gF50885s7x&MzgebklRzV~orUb)V1PM&
zoj?3SNN!^!@oo({*Wt*QYpdbc9L8K5zW@dUB&UZ?u69c!s;~IB%RW4V$Iia94Z5
z-EsuIaIU@Gy}h__YP}8j+Rb}}_Z{v-Yis^dM3uOV3mCs^y9eeA4PN~Km7xnvv0UQVeNIskU
zDRn4>r37|Tm;7{j@;aM$rVINd7wwZgaFbQo7FQw0_+IQ5;DYI%Z`ZXH&%&-2w7C3p
zVGTa|J0F%HX#}521M|zZ&G5*!>Ay9JfLr(k<>SAc3Kw{Ve1gtbDT^
zXr_@Ujngc4{v~nxS02RGDLPGqvNm9DSTp<_NWC8SaNGg@?IyaMdo7U@-AI`
zY`T)b!6jRJ>^%Gk=lkGN?e59qWT|O9VfmM|6a+3R2voy+R&Br{;M1niN)I&l*Af~o
zf`ZmzHc4NL!YxSssj2B?lAh&S#V*CdTa=6
z!B{SaPib>7L>rsSpO26`kTfD%5YX=y+)uDJ?Stm2X92zY1$@#NkBdI5Nndl`^DRPd
zgw#@;Dt#(48m;20$00n06`Eh1e1_)RxM#H#Uqr@-6!L(scMwwYBK$dy`$czvQqN(n
zcdbX?uX}Ez)kMDkEo_VFbI$;JN37BFOZ@{sV%9qjvO1rUx-pA9jfbeUCXUmZa8s58u$qrI*?uYhFJMnQYOq00#1xive<^rFY?sf68;{t+
zqu|*Am@97`QX8;#pwI*gsqb5JfBX}M
z2rTbA>g=j$J{|$t=|pxK$kKcpCo`W3?a?%px!do<_gy;G?<=D;=5+ozq9Ta>N(l`8
zfcfh&;XuYN#1jzxarF((fB_5Z;R)K3@Bkpct9=c+&;pA8W!EqW&0_8vpje3b`0bo?
zffvCOJy3vGJYA8(?f$zWx*b=hBLJ(%@usb#)AhPV+u$uOqcjxHVzwCGDu
z>$wB<7Rvj=2v2sV9@g#q4C`}KMyZ!UDQ0Yl8|CWVQ;_qa@8d`Y!O&7971piDY8-&%
z`d31K7+9fC-_0NScC06WH@Sc4SQb8whW3wm+Xm
z4-fH&UC(FG!xsMV0`x2CT39}W1VWj(CfP9*WXQL|-N4tuj=kt=d=VSaPw7gT44!_@SbR?WkmEUjRB8`QS`kBJK31
zQCLC0M&r);#_MtgX2Js|yZo0y9tB%n{y8@KrH#@0uihY~+=HKZA)ibwPI%99`Qrt)
z6J00J6tEHLnS@&(^nrd)C#BEdxjCiw!$3f4lgmF7zA#z1Lg{N?R7?A4`k{{jV$gJ_
z+K79O{#~txrk8vdxdIqxaKNwl;_MGb^TnzDqnuBXu;0YjULnAcedzK{g^DPWAEcE4
zYlprhCT#(Qu-xf%g|DIq0apKlw?5;^(PEK=+d*I4!F5-^A2472}8k)eL2rq)~BLNBXkB2UlSrQ9d{w8Gv5{|xtxp!d0p?c7s1gfV!V10U~
zg#aN5`_9KTYG{^kL?oRtWbt>ELCBl&CUCq5)ZgGC0ugDEhXIpfk_daMw&-GMR)7E!-;98AXp#6Z~5gC3ePZ8!m-4C@aZ2Ja?Z{sS+egsFb;5cITD
z2V|p25cInquHZ`K0C7CLnTrU)B)z68W0C#KIa;@h>a-((MB+f(AZp2lh>T_9i8EH>
zrwlSHG`-kPwd(tP1mX*g=KqMePQ*f&qb7oH*5*dE_%UfNgEaSINvn6FJuz1QZ6>;!
z+zQf~_>j|zpzh=1Goq3D?^5Cl<-H)jE<8jaLVWb^ElJ{wwVr>T{LZJ|f1>(UNf5Ar}%am#x8kXe33cgP6GnaZu%xF%AWhxQJ|qILCF5{`}DO@W|ywi?X~Hh7%LtQ&
zJJ8PpBrIobC@&`B7QI^^eOqrE=)*U6`rLTXJM&e^_D}WI(V+i@{?sS&Cbjau+;b+e
zQV`Z@d7o4_3Ot>l_wk-{!Yf-~hw6T(UJdMs9=*R-uLCT+Vngx@{az=|->_J*iI0+9
zmurWK*a0Kv+8Hu<{B{8y?j(R+ts_xO?i0TAzN?8%A>XNN*ZW_>Ob{7Xsh_FNAjrMKSNA
zM@kZ$&C70OERw=GyR7Sr2$upaen9aoYH44yDzD*U=Djvd*#^pktm{(+Lls}Vx%_=1y^Bnpz60_N?HR%A&XwwDX31*fRWMrkML<2qRwl3AfC*Ou
z95G>$zViXBHsFmK==mx7&ewO^#t6TXiu?&>SoZo#Vp7rnjBbwza5Sa1)?yX+SjviQjuF)
z0cNCYgA4B%%<4TLM`ZtoGTOh8z2f=CpPDZ*f=G;f$?+?w>VL?WyoCnv&0Ug{{lR?6
zOi23wDPMAh2Q2Es4Af`Qb=Z7|;$`d8=4%7^Ic<+Geo6O7qmb_tUks4tEq;%=@d)xM
z$HO{8$rOBZJ5Yq3^?qf{QRNxLp7dJBf45;e?3>H~PyF7s85RZym%Eh4*N`TOGbq~y
zUa!fO)8)3#ctJ7j!kvW|kN|Ow`O3BHq`81@IMA}B6uxt-7a6BcW!Fb$^=V9^$C%pg
z+I84`N$^bjoM48XvfVH%ZFBti9B@KSoZAWlRoI(V;e;0_F}U$VN3(AuRBVTXnZAf*
zun;{MVM_M$Y)J>5$&BGg6G@QIHtW+YZ$o^~S=0oI1RJr9PGQc{n+6bWAWpo*pZ^Ps
z%fC+vBvSUHfPP+ESdjXHVC4v#JGjc$Gll=Ix6AK4ii@HyzZ2I)%T5&dJ@{LB)YUoj
z1l9t}!$1Cxq>Bz6SluX^T!ck`ya*b7F?t{krBv}3myta2mEAw%LnQuabubi0AnsPr
z#^=a-XzoGvw`itr!JAHS7k;TGv_9l~;^+eZKca&h|3v@gasIjZq1aV6B{<8DpCY#v
z1ndQYa;|_-#&)iR{C)sb2@1GtA+3yfQa+)FiKKnQx%Tzb55~lA{_q2_KLQ_02^F3(
zR0+(sk*c|aCDYvg5=TK`LIHizRlf;`3tvck2kRZA^P;@T#j&u+33(g9Y!*aa&U4sM`JNY2{(;jMqb+vH8>k&BAao3UjVQ=9&eI0
zlFoN|{O<_2i*df~4i@ZHFQ=VE=otFX3nKedeVG_0((T$Iv=-%xuSVW*8ZsYTGr(#K
z-e^W4e~0_fiaer2*p75XUsgcygUuEaxQJ+INq0C~Atu~X2o`KrALV;Hq=t5xP$xMox`=cFdRB`9?-I`6a1xCn%}+O2pq)Z;K}GeM@Zx
z?El~SJx3Oun|1EQ)#tDw$3V5|+N2SgRb%vse)e?t&%<<|z?;Ss@4M;)c#2>Qrn?KU
z(0Wz}K{WD3>FD@?>tA7*2J|lwpOav1Zb8Gq%((xry>E|?s=D@{@Dg8~h$vVs1P}$4
zkc1>8@=Acf1QSG5d|iZ)hoHP}m{Dwf3?_rjZycNIMbTE9s#x1vj3^YX&;c}|wm*#4
zD!2A(N?SbRScz1rRw4KMU3;H7XLbPFPw)NXem*^)PiANB=h|yO*V=2ZT|A?g6>gOO
z`xejWYlT{mW_j06L=C)$OUKg@7@Q&35y}8s
z$??|r;?|aUtXCQ751dnCa`2niaD(2UZ-D2<1tnZ1N$xF0Hi0*=8^?_DIc89idhg+-
z%v(-C5-`i)ISBIIoVKzjfE9hg9tNMVulNHm@VAvUYhSRK!Df3Beg89SN9gm6;6R)^
z?GjZwVVE@>O7yan^gZmR+LJ=COZAUn@yd5
z4sQ5@-+s+%JO`OT+kdBoB>DkjCsur{!NCq!<{p(V@>Lx5xhgwh-_ted>|i#>&)vw{
zUWgx0M98XU!^iCqP*s5j-4ghDCopF`+0S95qkkRiex-ds!gtt1Oa-Y_`jsmE_tZ8l
zRYWTMauxpQvBJly@Q02O?p@CyUrWMuM_%&$Rn@d@#DS;pJYd
zKmXpE3}58+TYe4baPma_9>G=nu3wezI51>tEPsMu^z6%;{b2Va@4Yx0+1vkd8TJl6
z$D_!a`lU>P=l7FkU<+fWhO4m*p
zI4!cTbZ!1XrYv23*aBLmkymcn0p`E{yhz+1JH;2l8!u=4f9#8`EfuFB&7~REmR?hm
zCn0mhTKU^ka-hreROwpi>);&bn|&*x<*Kd)jmK7$T0G7E=!xaUd(sYL)YYK5m$L8h
zFs3M5L_u;GgR4Ph(9!O7RJzVdr>k>b`aeToN&z9i#LA?oTZmp;(G!Q4B=0g!-W?DQ
zH2n|LcPa8bE`425kWe~ZwooXt5yh8Jt(4*DaJE=4cT@`jU EQ$AsCSBmyybT+
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
aK6*cM{1HoscHVgRX#9Ce)cYBr@4o>{&Sx6{
literal 0
HcmV?d00001
diff --git a/ChatBot/bin/Debug/net9.0/ChatBot.deps.json b/ChatBot/bin/Debug/net9.0/ChatBot.deps.json
new file mode 100644
index 0000000..d6036cd
--- /dev/null
+++ b/ChatBot/bin/Debug/net9.0/ChatBot.deps.json
@@ -0,0 +1,23 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v9.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v9.0": {
+ "ChatBot/1.0.0": {
+ "runtime": {
+ "ChatBot.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "ChatBot/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/ChatBot/bin/Debug/net9.0/ChatBot.dll b/ChatBot/bin/Debug/net9.0/ChatBot.dll
new file mode 100644
index 0000000000000000000000000000000000000000..13276f4fa4145d9855957399fc0df62d68fb50b9
GIT binary patch
literal 11264
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