From 9545318c207d8d85c8b26cbf954d15b3cc208642 Mon Sep 17 00:00:00 2001 From: Udhay-Adithya Date: Sun, 23 Mar 2025 19:10:22 +0530 Subject: [PATCH 01/12] docs(codegen): add detailed instructions for reqwest --- .../instructions_to_run_generated_code.md | 63 ++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/doc/user_guide/instructions_to_run_generated_code.md b/doc/user_guide/instructions_to_run_generated_code.md index 981506d2..9cb503ae 100644 --- a/doc/user_guide/instructions_to_run_generated_code.md +++ b/doc/user_guide/instructions_to_run_generated_code.md @@ -945,7 +945,68 @@ TODO ## Rust (reqwest) -TODO +### 1. Download and Install Rust: + +#### **Windows** +1. Download and install `rustup` from [Rustup Official Site](https://rustup.rs). +2. Run the installer (`rustup-init.exe`) and follow the instructions. +3. Restart your terminal (Command Prompt or PowerShell). +4. Verify the installation: + ```sh + rustc --version + cargo --version + ``` + +#### **MacOS/Linux** +1. Run the following in your terminal: + ```sh + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + ``` + then follow the on-screen instructions. + +2. Restart the terminal and verify: + ```sh + rustc --version + cargo --version + ``` + +> Note: If you prefer not to use rustup for some reason, please see the Other [Rust Installation Methods](https://forge.rust-lang.org/infra/other-installation-methods.html) page for more options. + +### 2. Set Up a New Rust Project +1. Open a terminal and create a new Rust project: + ```sh + cargo new reqwest-demo + ``` +2. Navigate into the project directory: + ```sh + cd reqwest-demo + ``` + + or open this project directory in your preferred code editor. + +### 3. Add Necessary Dependencies +Run the following command to add dependencies: +```sh +cargo add reqwest --features blocking,json +cargo add tokio --features full +``` +- `"blocking"`: Enables synchronous requests. +- `"json"`: Allows JSON parsing. +- `"tokio"`: Needed for asynchronous execution. + +Run the following command to fetch dependencies: +```sh +cargo build +``` + +### 4. Execute code +1. Copy the generated code from API Dash. +2. Paste the code into your project's `src/main.rs` directory + +Run the generated code: +```sh +cargo run +``` ## Rust (ureq) From bb9d1d1c0bac5674a58fab0875d42e14c4951be7 Mon Sep 17 00:00:00 2001 From: Balasubramaniam12007 Date: Sun, 23 Mar 2025 19:46:12 +0530 Subject: [PATCH 02/12] Initial Idea Submission : API Explorer --- .../gsoc/idea_balasubramaniam_api_explorer.md | 101 ++++++++++++++++++ .../gsoc/images/API_EXPLORER_WORKFLOW.png | Bin 0 -> 172782 bytes 2 files changed, 101 insertions(+) create mode 100644 doc/proposals/2025/gsoc/idea_balasubramaniam_api_explorer.md create mode 100644 doc/proposals/2025/gsoc/images/API_EXPLORER_WORKFLOW.png diff --git a/doc/proposals/2025/gsoc/idea_balasubramaniam_api_explorer.md b/doc/proposals/2025/gsoc/idea_balasubramaniam_api_explorer.md new file mode 100644 index 00000000..ae897b7c --- /dev/null +++ b/doc/proposals/2025/gsoc/idea_balasubramaniam_api_explorer.md @@ -0,0 +1,101 @@ +# **Initial Idea Submission : API Explorer** + +**Full Name:** BALASUBRAMANIAM L +**University Name:** Saveetha Engineering College +**Program (Degree & Major/Minor):** Bachelor of technology Machine Learning +**Year:** First year +**Expected Graduation Date:** 2028 + +**Project Title:** API Explorer +**Relevant Issues:** [https://github.com/foss42/apidash/issues/619](https://github.com/foss42/apidash/issues/619) + +## **Project Overview** + +Our goal is to enhance API Dash by adding an API Explorer feature. This feature allows users to discover, browse, search, and import pre-configured API endpoints for testing and exploration. All API templates will be maintained in YAML, JSON, HTML, and Markdown formats within a dedicated folder in the existing Apidash GitHub repository. + +In the initial phase, contributors can manually add new API definition files (YAML, JSON, HTML, and MD) to the repo, run a local Dart script to process them into structured JSON format, and then commit and push the updated files. A Dart cron job will periodically check for new or modified API files and process them automatically. In the future, we plan to automate this process fully with GitHub Actions. + +--- + +### **Key Concepts** + +- **File Addition:** + Contributors add new API files (YAML, JSON, HTML, or MD) to a designated folder (`/apis/`) in the Apidash repository. + +- **Local Processing:** + A local Dart script (e.g., `process_apis.dart`) runs to: + - Read the files. + - Parse and extract essential API details (title, description, endpoints, etc.). + - Auto-generate sample payloads when examples are missing. + - Convert and save the processed data as JSON files in `/api_templates/`. + +- **Automated Fetching & Processing with Dart Cron Job:** + - A Dart cron-like package will schedule the script to fetch and process **new and updated** API files **weekly or on demand**. + - This reduces the need for constant manual execution and ensures templates stay up to date. + +- **Version Control:** + Contributors create a PR with both the raw YAML files and the generated JSON files to GitHub. + +- **Offline Caching with Hive:** + - The Flutter app (API Explorer) will fetch JSON templates and store them using **Hive**. + - This ensures **fast loading and offline access**. + +- **Fetching Updates via GitHub Releases (ZIP files):** + - Instead of fetching updates via the GitHub API (which has rate limits), we can leverage **GitHub Releases**. + - A new release will be created weekly or when at least 10 updates are made. + - The Flutter app will download and extract the latest ZIP release instead of making multiple API calls. + +--- + +### **Step-by-Step Workflow** + +1. **Adding API Files:** + - A contributor creates or updates an API file (e.g., `weather.yaml`) in the `/apis/` folder. + +2. **Running the Local Processing Script (Manually):** + - A Dart script (`process_apis.dart`) is executed locally: + `dart run process_apis.dart` + - The script: + - Reads YAML files from `/apis/`. + - Identifies the file format (YAML, JSON, HTML, MD). + - Parses the content accordingly. + - Extracts essential API details (title, description, endpoints, etc.). + - Generates structured JSON templates in `/api_templates/`. + +3. **Review, Commit, and PR Submission:** + - Contributors review the generated JSON files. + - They commit both raw API definition files and generated JSON files. + - Submit a **Pull Request (PR)** for review. + +4. **Offline Storage with Hive (Flutter Frontend):** + - The Flutter app fetches JSON templates and stores them in Hive. + - This ensures users can access API templates even when offline. + +5. **Fetching Updates via GitHub Releases:** + - A new **GitHub Release** (ZIP) will be created weekly or when at least 10 updates are made. + - The Flutter app will **download and extract** the latest ZIP instead of making multiple API calls. + - This approach avoids GitHub API rate limits and ensures a smooth user experience. + + + +![alt text]() + +--- + +## **Future Automation with GitHub Actions** + +In the future, we can fully automate this process: + +- A GitHub Action will trigger on updates to `/apis/`. +- It will run the Dart processing script automatically. +- The action will commit the updated JSON templates back to the repository. +- A GitHub Release will be generated periodically to bundle processed files for easier access. +- This ensures **continuous and consistent updates** without manual intervention. + +--- + +## **Conclusion** + +This Approach provides a simple and controlled method for processing API definitions. The use of a **Dart cron job** reduces manual effort by fetching and processing updates on a scheduled basis, while **Hive storage** ensures fast offline access in the Flutter app. Using **GitHub Releases (ZIP)** allows fetching updates efficiently without hitting rate limits. Once validated, we can transition to **GitHub Actions** for complete automation. This approach aligns well with our project goals and scalability needs. + +**I look forward to your feedback and suggestions on this approach. Thank you!** diff --git a/doc/proposals/2025/gsoc/images/API_EXPLORER_WORKFLOW.png b/doc/proposals/2025/gsoc/images/API_EXPLORER_WORKFLOW.png new file mode 100644 index 0000000000000000000000000000000000000000..d6175e21ad7ab45f15557ba4254caa2500d0202a GIT binary patch literal 172782 zcmb5WcRben|38i{Wt6=tGO{8mifq|J$jTlO*`iCbL-r^k*))XEWp538XYaBzL)K;e z9BRNAp5rm@kNe~Pcm=E7kUv3miU=Y*ny%uO5|{0;aM zPH+_dMLDnLJp2dO`KG)SPHsE>cN`oh97UOHnh%T?lL#wSdUp>QRj!{3KXIA#OKQ4| zxdO!((Qc-61;6V@&b_s|saS8W@WO*z%I_$fKbd+aYun8iH7tkymiq?_9$RAV3>{Uo z$yHmsZdH}bRkMp#n|donE9hlQv4!<#gN1jy+0QcJ;1WpU;F0;@p#F!yHa^6&AloSL zikM^ipML!7L$&0RJ+pGZ{_lT$n!i6zx|afbh`rSR_~Sp9K(dLQoh zdyW>~)reS$9$%MOcyQQ}5;rf#kRjk%@gc7%Z+GjmvbWKXy+?&l##h~n-fcBMJ2%O> zV3XyIFI1m0`-Z!u_)&lJ!V7${3uWOWL&_Tuy=Lv-*U`N8o)0|~@9lV~@?`u{SrMg2 zmF*yg&9NcQAlmz2=gt1!ddKqkxc8x*$WmeSQu#uzcA8Yc(+W-=>3;?})^%>IT4xNGy+IHx@L!M)OVm znzH1L{TjYodPg`&8*h{^-ZO8aESx3O`}q?cc(1uI2W{ZgG(fdr(}e$ z>xR+F!qw3d?5Vx68XAv|nv{O`w?kcYHQ4|xIE*_@8Y^8cPv6D9JdJLCt+y%oNl>~v}mJ1a!=)L2|@tjywPtj3q z7xB-Q%_g__rrt;r?#qxT%{Ht+(|29G^SkQ@5y0AmlvzK4A05a`ZeDgBy&rdiQC##G z4Rz1rNLhiQ$7&rrHx(WpS&)EliWjy?E`t8^O^s-8cH)YH(Ei{GwzBcO1$=CwIb^jt%K*i zw;EVvJNTt~dm{AnrM1?$H{#kNBUjog6m6Gm~ng6KUY*KKX7E=j0p$}qqq9SG@-+jiUzkv4@?QgJjq(?A zE84?%<1LflL*T8Cz&-N#cdK)R=a4ptb}50?NlMo7K;XNjUx9w7m8IEqr|pG>zFiS@ z7?KvL;%gtDIGtlu^)OeifsiB71T)3_&vZGcfTJ#P+A=^K?B9(-jbt*IyVXYP%r${l`rA4<*F?s_r2AIciQjtHoqwGQtMY- zM*TekK#<|QfaDL^r)bzx7#W?Qy#b3mx+`6_crrrd&Q!Sp3gXl;+#1Ky=~(@tr))~L z!*(U%4YeoPe$V^J)1YKu$VOus)#l8FJ<^u2S^0B&;e{c-)(3Jl-z6aDMpin!DX&)Mrq}M0;AsKd=PL1hb=BB;?%{_E?+mZa-HsIN18^W3J-(YL z`gm3SfU)LL(O(k?s`+m!sg?p|uGP)pz5J9=^3JXcJ%`w{bI)7t%y+gVi>=22t#| zZ!O!+CcE2LH{7c|B%d2BcoTj`O!!ztQ#1z$P55=cXc`B-68j~O5e?Y{0lN|RmN;J3 z%BoK!A_Eh3q0S850CQ~*_qTY%zxiWdmPYV5(GQkU?&cP|gv$Wm+!(T_7JH*=gUfphpXpd!|SHGohj6P4n#2+8eL;NzY z=0NxowPCr-`_uNN%nNVi1O$*U7=Bui9jj*$kCnCHGpWUKpGym**ni>~A>&2ZV(hUR z0B+yhF1~B4pKs#35B|J-m2X37Sz83Mq}}pJS%iCrT=?~6sX_?bzg-|FE8qkvyh%rh zmOlwHFXnp8I8^W4S?GDI@%=ulw9XB-`4;1Sz)AOwe!QIksODO|5FcWWn}An8V=acF z6((wyIkUWWZ_8;Sm}6#Js76SoXcuQUX)km7pgLr#dT*^|c}uZI2lY?y(g)~n*`nM@ z3hrf$N3o_Q`P28<8OJ))j5BX#Jax&MCT4ndjEijYs`?J#i|OgIwBK15Sa#f~+#GXX zflN1*!xOzqB&dX$1hMd`gx31y5*)iWU0O0fi2rD4!m!_ac60$DA(A1x$F%<#+IRC zy9FZLW4EW9W9;8N#;!tetQaENT`Y(!vhHmbcA5Jc(l9UDt8X=spEi2G-_V}^)L|5} zbYf@j$2apOW9!M-rht1Adq1QX0Chn;GDg>*w7eC0Mr`DkOEO=HRuCF+2YPR)$R;jx zDYg8ltZDkA(gsFvkKFUU64aHwiHdVunbji3baKjzlcBNlt-|5r#?-_te1_{-dbzP|OoH!iYg=VjQ(EIq-e<@SmKHaPP zwaRGc?&i|MdGn{zkKAFWqb(Z?{jTXA_FYx(t{QR}(xNJ}I-;$N&*p@+L(Hp_krM0? zLQ93+wg3P(`}7^Ah4A$rT;2ZaCnzE(g^_XQ>71g0!{g^s*p9k#qr`qR(bYSvbS^z~ zv2-$`AUn65YZbjd)3%iAM}m<*Zl!WP;h-@Rm(IWx3S#$d`t6jmQC)l4|3=hv}j#*q2htTw2~+Dg3xPS&HSC8 zcc+Mms3&4NlM_<&ZWlIclmI&1U9O<)*I=)~Y!wB4y}j_Rq?k=9wsiDpSui$BF?F5j zRJG*$5GvY$;9JGEgM1w=D$g%|h!Drl(Z^$j(^Au`XEa4l?LAVlr_EMNd!(=2TBeyuA5+YDv*%Y|*aQD$nqi71GAqQH|7nbNjtw9rTZXDU&R=gbaAIGkH%ZC(CQo7z40LEpD5j&7{ZxtJRug4+?0}J z^2D0IF=U7s9({rF$xmLAuz8fZTRBJI-WO7_pK4ocsuKI=%~uZ=3px_F4~89T1_6*h zo21gsRcO`mfC~0TPfRVtaox^DkF};^>s~G-vr_s|H_4iEYv;`E&8`y>Zk9mwiIAR} zzR*>so*^e>q@(^7a)hXSag_(Q*HRbft<_qG#Nnb$KcM7Ma}9pSuaa9v7tI|q7>;F; zGo=aesvCzAQF7dHG1~jkxz8bTmWPOy_!}nRrkGzkUzgik(H*w)*?m5d=|d}=O5Om9 zg3+v+3*zcLM|d(((tD6I88(em3U~9|6}HAMR4kei)0|hR5IgnH&TUR>nPq;67y}monS01v$Ex}Dv3py5^EeMPueYFX14&*Zx(h_(z=tF0m8>a z>fTQ?IMb_%3Y#xjf&nHJym!cT8L4`QQk^_O8L{eCN)o z*FeP{oOF6;lys=;N2fIDwCk<&V{trBX~ZXfwg%UI=2Q4B?UFMA`Q@u(V{_8`IHwUR>Pb zLgp)HnGXQlj_26>h;FXyk#XKtKLl=|V0pA+c5dz2ISq;me2hxZxcf?#;cGAZv>Z>1 z87TC>qq}5jg;u;iCK^WDh5%1@`X2{4jAZ8FuuewE%xt(juluvKxV7>0xpo-_zbpb} zg%nvLU6+KWlz3A-gWD-mJR9Q-X)cdL(R3%hx^gY1H_t35L~~Q5F8*!aqWj>y%Y080 zmsZvk&FS1~to82JxVQ6h`LW$A);$X5wY!3BQji}%*qjV_<_Qd9p{nQqY%n-F}6U*?+rpcMcKWnJXtT5IrxC?ET82CNPw0b`x6 zg)&(XlWz>S&JfhFU*%|MeU~sT7YcxOoEAyIOu9h;rF>K^@vTdq@yg)LOCsHqJh$?h zR%7`(XItYZ_j;80G`s+~5Z?i=$(@v@N;CXkX4 z9I$npUDng0BHPj7B1XMO=diFd!+m}suckd_AD`C1WNXA(wR+2do+M~;IrVBQ_ig{b zm*-^ofWpEkTUETif z^lJ-!?*uFSbDX9)YMdtJN|+oQnFF6=X4Z+Qw_-S|=J7HWa&z;Xr)P6nsu_e`9LG5V z7k!VCp0Ne47GvzSQ`bwAX;f8SFx&M2nA}+;Qfe5a6#Aq-syKG$L26Tj1l`t{d)|rD z0xU0x3i}O}y|4s5k>jIWfuLfi<7=A=e zSnX(iRJeQQcTy)L7<}}S@5_@=h?o96Ak^p;-7sxO|0iGb@n%ndc z)AHSP*WW&CrU;*n?QTzHCKJa4!mBz7_<91{ZwcjUn{?_D&$_j9k`Tru2Xefqb4UzV z_&>-|C!l|LNkR$%d_24A`@Q>({&2A!`M~wW%d}*;)OWOTji}#k`0n4RTn_IL-)((y z`R+%44x{dNtKawn|3`2ZoUem#0EYqYQ2-?Hao=!#T&S@LaCsIJfm9TA=95YY{jHeu zku-(KP5YRp0Y3Oj&IDQ(2q%jwzL|h~;kfSua=@4Iz&(Un-l%+?)CIrvpJzaT58yye znKB9dhW$pO6;z?uOeVDfMes>|jaC(Z4`keWYZHOpg@5n>0np4brqiP*hK--{C8T5@ zDC#!~t<|>XuMJ=(O^+t?spanwy)8KQ;4I$h z5`}e-T-7xg7WGv*b?+vBl!2s>F`d`1d@yXeDt}9~%wj)FU zjpPVCes;MCi{DWOuYyOMJye98wjAAXD_Tq9e7>YgFt1r-Ua2fw;A52t81$artg#wSP6eJzm8j@uES8_k_}w9J6d`XH6d%#o+yOw)3yAs=lqNN{rC4G5E~7=^8d-MhV3ib z>cdX@{dK=cyaYBS?!Vfzeff9x(-K~y|F$cn%LP1Yq~#4cD`)b*9TdVw9tT(W*g0_v zf>95Ff%{UCfayonUw#Bh>an5Y2YgZIi7QKCz<&NG)RyE#dXi=@=2%fooj?k@1HD8( zP)hv=v-tpu{l$;Oyi@Vfd<_@sO!g6o(9ed;j0Q3Mh{P z*D<$a>NP!ge2Ar)jKEkXuZ;g=Z_kmv-7TKuMwux~j`dLtQbE452vfZ10$A~1aW>xO zKg|w_F_P*?SPD2b3qLr?;RsaXP>yZ^#N->v#8OPj$X5xigq`~P3MJ`~uQH9DJBwm6 z0r>Q~ElGqH8o7T&L0{-M^j|2SWBI=rZ0Bp0)4+`3{^cl4^9?rDCwczvU;oiF`uton zTl<|Ylv+X9OV!8dgi(A*c8D%4qxt)1fXV-xPu>vUG1o75IhXGBD;6lH)PxL z#%u^#5F32z)(sKA-?|h~6+!FiIlC|+F2QB1&RU3%0ht}|fY3GfuLZLAHkiWX|HV2R z7+e!Qq0>cR`%2)50Uh2d3&iofojdCL3G1NpfBFK%a&SG9RP>;MD+VV4LWC##^4&Ju$Nx=`st+2>r~J#FVtc`8Oj ztayPV#PD~gg2N1h9|WhpGKJ7q3URo!YZGXR#!zfDhidT$zhlF|l^Uv>)bN|a+60$0 zt;Q$m-wJ z6hQ*u3|1Yy8Ge$i1bcwl+AlHB>>O0t;Bz2z*7hHtSScz7) zb{T#IwAO}V_3cjv@0?g?%B@_x?hYg@(x2aKJRA88t7d-WCy=0nx|T^6q@q70-)?cV zGC(JAeX+~+x75#6$ef-l_oh>`dHeQ?tC9OD|VSHmayE9SGZZNI!!L__hCKocC44ozWR zVUhOVY9Acmr)&VxFdlcoAUKcW+4ScYosAUbTTAzXcAafcrn(!p0Qim%M(#^jG#+oO z2##tVce%^LfG5sxWV`~Tt;-9pSm*tAU+62>!kH(V-Q~{>ZzNKRy%mzF=T&##{-oe< z7o87FA>BRx#hc)>Pc88DCgA(Qm6_p9qzm8%<1GYI@aQz>i}aOA7ObMu>+k16@1^K-BhKx3);Y3 zwY96;;kwmjt2WDx+m(#kLXn@FxAx=^S_R4#!aYX$`S;3eSgdty$2`_m8l?7n+MfVO z?N0VSa7#c?fKwecx`n627X7y7@L;$tAcTom7xQ_;q2JK8i1NnO58#l(8sYvXRQJQi zlxmdY`HG=BekQG5Q+EgPV_L=Y?eaa5b(i^n=ZMmf61(|sMmJdyEpG5<%*$2s-W*+r z8s{&H9E16$pKjj3bR1vldzU~N;FtF3BgL|@=SHuA1DQp1cDM;WupGtqqrw$4FKiMU zbL#MdJ3b(uTyXSy1ds)T;PQ49a~c8I%xd<)&xfJB)dS||p3zUY#Fa2hKOTVNPnmr8 zN-1s#2i8<~@jv(|8gvxP) zz~UfV%%b6#^vO9dQ`0v|=zDc$k;3zw*?L7;`gEQ5HI{@s@q9k-^k(Z+po=g?RBloEI zB?-M9o#&Zyw0+x@@4aI+QHt{@QcWhFm(plKNCA4e6t_0P2;D zl)dWukvFQ0t`D-3j$p=h%kI4zh0b>$6ooPc-y_s3P8V{f%bwtoB9ny#WbA@Y1pM=N zpvtBM;M;uX3uG*{zB#QmQ4X z2i40WriLv_DePI1(nVGm?sc&;pRA$StGNRfafXZ2amMXW+IaG?AlNDk^RVzf_9=93 z{*AxQU^(aMkwDR=7 z?I1V-bv^vMKwmY-Y$K(1S7TXZpszBK#h)hE^&We(=sVz0Ql|1(iDRp9kZ%=lEyO% zvL5#h6d&*Xu!zaX!Ga9vP31GRtW})M#nTeE26UaD7?|7&umzyu(4Q>2QP(72e*34a zW0BvtpWUjwilR>(POD3-X|&?}PNu{HB(QoD5h2Yaj(XI`cj~^TtS5Ct3~d!=X}anF zBHAx7ReEi@vX_iiY$o8H-MOSCZ97n ztM+w{orMP@NFdrXs#DXH-KZ0_UaooReCUVmS4d?w$(qNo@iH5(0$Dr#ql9;E!>>WH zuwUu}6xg#g%5?;~q9V*uyY1a~FnQt2k-?eI0@`%`5i+VR>TK z7lELU65h?wOmpG^O(f_?V}9)FFq^Gd9)kWy7r5zriKhyquU~kO*iKi3^Aev_HcP5G z;FRdGigM~8>bpmu?i_8cW}LViAXFsIrcgC71dbzYV1$w zMu=1}4IVw$qq9@Juy@*_vTJ9%f!EhbeWwhs$SCNrk``E$MYkrBdhY;oTQ@vh0 zM_E%f>KGp!oU*~hMAdhuUOS@m9BGV{Wam{68QzE$!z`<3cFZQZ8b#PE{D}LJH#c5W z({$?X)%r}N-6$SmmsL*uJwIr&>=)T+KL^qKvy;(D{@;)kC)7fbAJ6k0C6Gz19Vv5m zrg|KnRXZbV?pCLyc3%0iOK7;^xXU{j0n!T#E+Dv86jXamOD zetNZUdNssMHD0eD8YdR{q~jA(KZ{XO%eqx?Cw%xy+VO1@_G*buzzK!WJ{{fX3{4aF z#FnnyPquw(9{3VJ46@B7Q;wJTF<;Y_96w0Uz7~;N;@aLEb{K7^q5j4eazhe*)9V_0 zR!3rb_qTt>BNd28uM|^k0MO&JT(oRYq_309;L2|@Hry1Vn9-syz4%QQopkn^vG@+R zPHrKs(Sr{b_DY&M-&6?)FoUaU=bd>=Tg>Fr9j{3(J#;vDt&$*IaWZ%u#0SoyM=4^d z--fg{zmPZDC34#MVqwRKs38Dbny2%Ur(eOl2e2faRRfh zrH?TWZi+T8q6)DID;Y&6grDTEztUgkY+2%%jzt08a8HDwu+b5~)J$OTR@;aH^Sm?n z-xCy+`2rN6RIJxcQ-!~i;9&v?^`6OS^~BL}t81s_>_Wn(nZGeNRFqu>!kdJo3|q&Y z&X##OW+yiQoA<_*o@qO25gs-#YCm?pCN;Rt^%)CLW%^-h<(dVrMzzNdeZ!m{*NlkU z+LS@ZJDt4b^#D@6G1QV;VW&pfz3E3TR~jxgY2N^5*hz%s9&xw^en`=2W+4|((5aXO zTOY~n%#TF+7d$de5)!}%Bf{3IotcE!%HF}dUgXjZui)}2qVS_-_B5YZKY7(jcKe>x zk21<$%NxqCpPK$gNC(kFl4?{rcjS@ePXZLNwzUgjzh~24O>A*jc^_IV9owHG=F7&o zKT*pGTLnm_4;Ur~DpLDvGK15gO)cL4@rhIbl1;Ye+nec4NcqJ2bV1bEv4p7~sRzJ4 z&N%BXl#gla+fC=XwO(qtTJf@yXx#deDF}~qao&Z@HlI-#+knemso{GW-B1IFT1QhS zepZic0EBbIU)tItx-R%anHEn&VjdWsupc3z?imvh6*6NTCi!ML6{ESRwjvtMM`(q*OL9D%jT7?gdytaK0?2hwG(A)l zAy_-@@FZ342dm6J!3{3y-)Ista_|oFc!kHfzMPb5>@J;rtXb(^&t{|EUt_XG75YgD zXcHw1nI?!~e7Afjf7)r67YJz+{U%j1%nKjO@O zn*(?6Fr$76-HsjatU(G7o|=@ECyY z7ZuMtz>2eN_19cDEwSI-@geW6kxuxj!EfaMP7zGG2z@BL9(Ed!nFX0UnAMNSWK37g z$R;BY@&z4!`4AbA%zl(A`=}uGeqRmfnmDTG-46@AdAId`+^XVzzXzhb<_&rV-qlfW z6`F5Vw-~9GdoSSnPOzvI+v=9ksYT&~@HF*yk!0#aG3@-|cgw>U)me5)8Cx5kKT5y4 zeb{=mbac3T0g5NyT+?onU%~qlRNRc+!IlGL1eCu0M(%B(6@!0yt(cJqO9Ru6QZ)%H zKLkbC@ZQe4%GTnSS4t{%7%h53{BkW15t6iz-;G*hOkSKHIO@IGKs}Z1pk%zi`j)S2 zLoX|AXCy+!ORTr-Ax}w;cgkp90L>CnqeH{BHG7|_$&CUBZnwB=Mk0hy^OELojTbX2 z*?X>v@a^gF;NjP(Za7oX1Z3&t*#o&z1gQLjCunnDAVQ$|p0|{N#)kC-e?nu)Q*gN5 zJ`Han+T0;fP7?0TEuDbVZ2daJMdsrZk3f5*;n46%+0#DQ_G~`PS0D-*M57NCXrS%F znSGD}hxpcBYM{RjM_&S*dk5jcUur-Ch-b52z)WM3YoTN?(=l>mOZV#QpknZsbRqD7 zXP^Ppo}HJsyngo5Q_$%TAbnCml=mW57akZF6CfqlqldWWt8!#@7`EP$0rF1krbDm1Av*uAcE7c_9){qsvOYHH7L`K2KjqF z;0xg=DSxr+z=L*pB7CYC5*h}zbPNMBQ#SZzk1>-m;DI(LANUWLqOiO!E%6lSx)zJs zW72&tT&y)9j(zOqaU3Y~Z3#S>5vpoS6zbl0-{{p@f|->Ysdu4-76Xx;cG*1($6tO) z<_t05QVlMhIO?P1*H>{y7yuxrpbZ)=%g77?f|&L~A+TuF>JlvLCudCewkIRoAKi#m z69*9>JqVU7w4l6bmCjg!I~GS3e!2sK=1useicx_OM7D$7T5;e=@!;G0MVkg)0^6li z6$keA76Fpza$y=xWG^kN_-M^ ziI2{$olH@7e~dl=sFdpIC=L!*_wLIzwBgY&E(9HGeYl?P4rGKPM4Br{MaKoAAl8cy ze_AaJ7FbTaf=;e3@PIzQaLb_0R>l|juj(BZmU*a!~vFEN7u z6R1Y$EW^d6neL$KfzSdiIk4KTGfCg1QZEyp2g9;ZHXxbP>0Y-uqP(P;{86#zbV9w!!%`82iOIB zI=I_n#E2H9(+|PU2+3}h*eCVA)9(jmuPSCk$%j|v&*YCuf^R79AlrwbH)YvcC?23Y zQH6L@SS*=6#y1@FeeJdS)xPqz1^-V` zDY#|~4Zmk7xiC6YXsmI7B<&bfFPHupw1W#{p0^CUN=t#;>!cF`d23LHX^ZDSruXmjM}{wz*y>Mw*aG722?#e~auZw>@XA3|M!oNRk8BQghMNz2#y@3iKNZH@3B z(V3?B^(D^`viwUjZZ615K}2bkwsw4D6?lvpcamcWAXNyg4WZ`F0Ui^^BP6Frq{z2{ zQAg%GmJ?yDNH;~?ljy$qF+l9AtUmw-3;`v!c>ckehjYv#lVSW5gpbt!r031#pfz-d zvfYuHOb!pEf*2^XnCAnX*5>$8QrEvi?Se?~p$+JA@Nr-XD%qj8Z<6QBBQDa`pM2Rt z#wmtJYvAbH@?{02)f;nN89#+T#{4S(8|h#dVQDi`U~lS#qA;z82C3iKd0J|wS#Xp9 z_8-u%xCQPHt$dXT%8=_OpfN%NwO!uLq5RxLp3&1qJz+u=%;^rQu)q>DNJxu&5F!a# zK^H&Fg#6Lj6h$J2^VrENC@I;mzzGxstw^RWp;;hj$xLRChm<710z(WL>88sX%a+U~ znE-SRm?LZEf{9cko0M9GDpvOqMHp(g)`L~q)dPH@< zQ}x^tAIUySL`jK)6!EVFbra!i_u24!A#miP>GAC(3D{3W%?5axCfQi`jm zsjHf{vf_E+_kf3-I_k_`pJYXaq~LT!PFP+K{nw*>ZGpW=X)BN(2S<>X#IHHyHbo9| zz{lVwZlkIXur`qI&*0hA2RWyWd+oN7fR2}2zc>d%{&A*1mZoAaR*%H6ZAsog65C~$M1Gj-9AqJzaC-4A+Mnl=c6lD&v1jgxNlOXVEL$R44 z<}M(K1QM#}wIE_&d_;WV>tPNa<)q}FcDoIB8|Y1P5*NjynhL!n0U*@><1E0EbAYfU zU>)RVd$Q65Lg70gRLh6n;4px$(>tqt@SxOff=VFI(NK^5@YY^se#Q3Z!~2lQMC`eA zKiEV(cH{^w_BA1N{Ob`S9Q9P$FLHIm$YWI&nzIQ@@H}?k2*mEy)bK!;S;U=N`Vknl z+u%Fr=kC(~5<*G_AxnO+HYbdlkox*(XcoO>Kz-zo(f4PpzR;!|dLn-&IMeuPRNEpD zaz(3?4Z~3JFCt+YQO^12J+Eq$INV!DBZFbM$LLKQDp%z;(a(}0BIwHhLQg}8-gFnV zUYJ~OmtW(Dz7q&h#Zl93G<-=B@R z%5pFL04&O`)(2Mrc=KIgvTQ+a8r#gJnQ4N|&lx(mT|q;0{HoDI!y+|g(s^hV3Ge03)3n|ICQEPk z7;9n?bK@3`pc=s;U z=}SPvl_a^24O;i*+(m>hAZEO9c?%0s{heh;GW2UtM8_OOhD%dZQAiJI0h$nYRU3VP z$wM9`|MEs$0)J#`K8PbSSDNVp3cI;v0|Qhl$7y$yN?S!I{UyJXBhZ5~n_As%rV^@= zzG_eRT|n0YM_{Cmptdc7KNi;_=RoX++%66t8#1T)lCWDGEK0!lkLuttHYlVvR)7xC z^Is3E1*5VKWI#W+ks#`zxA+W7h1E?MH+X5zPE2o6!<{WIG}V=J{1C9>5E#%??sag0 zA!PUsbKz$3A@p}GkT(xdW)`hqbNc=&P7fK!1xvgTZ8W%t=;G7cKq6Vbhy{#N=Djwg zN{uuH>q2QoNDm+MDj(;U~qedT!W7p8=At4u-&w4X%5~TMd{Q#O_Hh{VA20gr?^DAw0B18A- zPbZPYdm9AsLS_BaU&G-UWT+p9Q@i26PXs9}w*_p|7Ft zCU5n2I>LUnAJh^5fPveXg4QQ=50;Ah%cY7jrRoX~VuN}>m8CIEL^$8PjmZC(5FThS zonn#g>+aR>FQf0B|8i7p!!O5ToFAg1>kArcI139d*5Mj&@2wYDgzGFVcFBoEcyrk! zJ6{5M3a>IVYm3Mf`cRZSn2EPkJ{*q(fyC0bf?%N!)YT%p2;J$K&cO8jG0jsb9PeWH zLD!{R-WD^rGo+p|ev&7wEk$CydUshQ0bVnpZ>uDTiSe`jY;O39A(__DMZNsf@!lPy zo^kt%rICUs|076X62Tj!*baJBOM_K3#UTs2>I;B{G0hSRmDoYR7nB7kYC$1I8 z&0SztU>;6FlnpD<{PjhRX>}1JQXgwVMz8OY6777L1gJP6qt6J_Nlkei#v0m^6u#5r zc?@_>V|$?G&3bz#bRO5AZQ}gAH>iJ>$95o>A}_KiupcddC1y9-5LuF7U*1%dA$+`K z?4iw&T~^e4w2u`>z<5(MI^(2OZRjZSiUd$LzwxZIonqq71!?H5jrrar*#T&eL~maG z)Z;_DQ55_}G`oDAkat>K!G+o9q5oWv1BWf93N4}kB@Q}G?(n2qm3&D>npcX># zccNIX^dGJ2?{$Mm#Gk3>wPL3TLa;y$-aFV9ClTK^(J>Gdde-C(NKX&64+gI{GSxFi zm?=odA55ND`0^^Wg-n}DvnNg^GDqsE^k5fsO7F#&a;;@YskwnFWC(eC#N-c+8$xwE zYqSEOIQWh}l{t`$c~SR)7Waa!et^(eKUq-5emf95D>F{eA4Pv8IoxZA5T4I09B$D(a?;U6b?|8*oxv49e93oRW#h4+nxi95jLjwKbU*s%?#DnN3NK%p`= z2yqhmSgPi}4Q8kP$EWQtQlnz`{~#XqVGajMG7Qq9Vc-zZ<3wt6WKdl@=a%U)dPkr2 zrW8Jl5Rp3|_jJ`3#e6`diz7B51Sm0tKxR)a`9%M<*P8Po3~Aoi-O}S!Lsw&*EIwp} zeMf4JC6Wg~Wh!`cAhRUanu(_;!bftTAgo=xl_-o3|`U`kEwI1`k+K5>M!OjK)in zy~F713DWn*EjnIVUI!4J$a9PS(~5FedN_>(!N1@L4k}$0@GjOF=Ca8iLS>wmB6SqU zx05_7DRj#s@=+$Q2s3qROi&8_T3XzzAQoQram%N>>(ku1=RGX~xRku0&TXfdO$$78 z-5?z%eUL#n2egW=1(M9lLa=K%5-F(#px_E$4?ct*)9A+te}gvJi-i?3n_|_CnD%a)?^G(<-Y!cc zwy(^^UQOhD=;W8toh&b=Ne6kCamm~(d`?Eapf9Lk5?gpNXTQ9nPXBsZd8+mQNBcmLO|hbo6u2cCy|S-1W2 z@FTZoj~Of7Uxb`-dcPuyT#AViuSqvroowJaB0a4jlu_xSwWBuHGS%lrV^6AWR^+Hs zfr*=aDYnxGIE-#?il*aMqHr6@mbAaf>g9e-^W-K4ZxK_J{_E=Y6ErO<)u~$w{Tom7 zrX#h~4QtM(X1XSbpS^xOrjzr%Rt27i6~`m26R528oji=9Qy&7oQ+K^5PBy~dI(U?V zm5o!0sh=gyl^E!(80*y z(nb3}@q7*eRcK}&sZaArC!-ZtZZUdEZ;Ll(#X4v1&Ucdy`Ap2<&u<3e?}r}c^%D@7 zbK_cMyG7pFAXk^rw+!*R#w3hlZ9c~@YTZFk*hA4kbN<#>Olu6T2gtrfoD7{1In$dI zulee@+3L?-CPAULW~?&v{3#)P%{OPm_}d*>UZdQT^6G98Dp5>NJ-M)YbCYYWGPW~! zi<-ibty$4W#o{#cCBuL(THES&3+vaBv0`Kh2}C0U&<{&A;r^yQ*hV2W?VYz(6rFli z`gV$_8-_C3Z}Z}ONiK)_C5D=NE5QtJl##*t@uMX4bBpntFiON>t8@_&x*!4`m6SY( zw2oY0D6T&k?D$hFALpBrb?~Ttqlne~4QptMO9lYV8;)_Md4`;20pq(SeDt~cxQi>|(T ze|J@NzpE;Dd>FJ!9G6BWW>Ozly^2g`!;X}|Fi7d8Y|i3&{g;?tb-d@+wpJgcJ(Xv- zct_nc3OoAK-_6INXzwajs2acvb^d?~ApTP`S3iXL9cQnM4Eaa_i$St)?5T^Hz!VFQ z_@!<=Ve2fgRNcy1_041)e0#@)tnm~cCjAGRLDU&@M-TJ*ER@{ngB8r_wG_XYcX5u8DZQO;0MpV?_(0E7tvfG>wI&uWXu$6e^f+QVaLty;`g;43(mhb|Mku*UXb4 z=F@Xw`4fbb1&RBz1Y?^YmwkVoa5H3Qt>oEkTCtt=uCag&7k5&s#SO0042NDAd{xs9 zVlSKvb~HnMSqxOztVJPDg*flGr2Dv8$2pDZ@(XucHkiK>HbzJmqr}MuN(C_iKK``9 z>Tw456j@I5>tp34zMN$eA>y@PZB>l4c-GP9nch)Hu{C{U`CWJ+mwKvCLMW&Lz50R6(WFq>fCwX@9Du+!$s~8uqW2|UuXx5tD3;=I;{}bsOU{AAlkg~XnN=8u z?s}l#yoS{=$t=tG^Ik4B^XoN4H;+kg<)O`v*=Wt}gCzPLgbGp(}) z$j{)dwLFW;Go;0ym01P$V-Tc=jLFwJyBjG>fm?9iV`jYXt1{>YFv?jQmx6WTAkbQ1 z{A+cPGuQjKm$5v%c)CKI?&`7lGF^lUEfSR{Nfeex2|3-3i@7PbW1Mo;HmhY6 z*(y1+MFp8}HDqPx$&6}FSW_u39A4e&4vl~Mh;=Iasy(ol1~cVPRn1AK>lT4_w!8Bo zy+-U=D$Bwt!rG=Zzyb>rQ1l~w%ggZhvY|BX>xPfq?bAkEhwQ#d3m9QV6bF~!%|p#j zFVIa{QMrrx=7JfknRA8cBb?HP@mOf~IxBzq#&nv|P`ev#+&k?oaKV%p43wu3m5hcv&IDvYWPbsIfq{Z{c~3Si}sM981izq zKfD`WhD5|R&t0J}9{8b?k&9yFS-6ycoDb%<=1XP9bn5RkRK&c550k@D_GQyFB?D7u z=kXHway*>mJ@az7SwsjQs9y`c2sIY(#*O*v)vd@7e~Rzq$Y{915jaa$ji-@Ci-Cpt z!#hs10@OpC4CPMvnnRo^33R9HTiYxBUp>(Bu z4d0~Jc^$K28d6P?+9cuqiRmhKl-EY zhoSaNGLwC5Lmzo3G+tLAW*fw$CNFzx(a&aY`qKCmO1{RIf_J0+D}2sTa^`2|N%%i| zN8YNeE}#xQstnb0>}PuzbCEZawfJ{2at+nL{b-0nT~DZmZi_7x)JiVMNq;8XH_Zbe zbu{$#E6*b{PM$mc%?;Xk4IsY0IWHD-B1-g$h1QSSBc#tBdVd`AHCH#LA*DE0WtG4) zsl;~u4MmRz;SASh#b?KTr*>I6*SK#Rn^|A14B}pKB+ODL*-5pLe-bifO)Gs-(?{3r zoxc^s8+T1&26&~$%i-WD>A@Y4iQYen#fob+K9v7h9U{VgT5MG91lP_tn`1si%DYit zji8PBxuZHNC;22o^0*tu@^Q&!ckpw`aWlFf?#Qv^e7?oAomuZA9@?@g7kb91M>WuI zZ$^t%q}R;WeNq9D5GEcH=@oW;d~|R?c4P_NMMA8* zHaEy72UX|&4r5Qbrxxl?OSKAH)s2tWi*Cz02WF<6D7eP>X8?|8Rx?o_ryXA%C8Ei1 zR@N!I&Q8#na>E(yTeGvSH}cZk-8$SASII0NOvQGlz>Qg2r7z{T#=IQ zl9C1kmCg%Dhjceee*1Cab-sV*=NR1koadZ<_Fj9fwdc+pOn!YiB2dTG8jX0MdCH7M z$$rfsAFF*`Fj}PF_2QvbR^Z|G%$6~*X4)UK2~+w|X}MNO%|L&k3nbxZVyX%+;+9lK zuGfKM)s0BQzy?Wtw)*URU+n;WBiY^Lsod`~!iAlc()fDctcoQ*mf*PK|7Uiv>P%6BWh>qEaFn<0lM78;jv((*^Sx zLez%BELcewii&`UD4X+rL--7H{k)!Xx-0-x3xpi~dX! zlUY0X9{BZOPa~1$zHndF2PYoRr={PL4t!<`G&FDOP_eN|F5Y5HmlCkZWTy}k+V+e0 z-kT}l>b~BRVu?Q7ax(DVF2~ors=HV1$~|BI@+nuQr_!!8`T8T{{gNp)qwJCUFSlz_ zIXv*2q=`L_Y+0hYH}i0x04ZKjcD8<~-?2oZcU+~qu+ekHv%m10k=tmWk#X#-S@QBW z^ucbh-xlH4JR{yo!-*&7-7xixeI!*?LTG;N`U=%Lp?uC4PjCg&0}C8-2Wtu4Bdx%2 zp1mEvr&J8)3q6o@=}^$0|J*FGVxy)=NTz?N+JG(xINnFclCctxiHa>V?=x+k%Hbs} z&Is$`+x^OMe!oYhi0lS1jM+=+dBWkgjrIKLWh{%AtQvBcvS(%r&JLVg44pN6Vxj3s zwo_hiIJ}J3i;1a|_3gJTu|sO}kxTCTj|>@~mYlcHNam;;nSyMvUSCgwcS5fP7h`Rj#eP)dB*XU=&I8 zsGE3={eCEVcWuenT-0P%5#0n^h{RSYO|P+{O2Jjfa`pge#zY*Z9Swe*O;7DF$vieF zo~LRLo46#LCJWAC#6pBx)}xb40G6H;1lhp0@jiLj!x}e?L-B^Bi{sl6PntLA`|6u) z4=%cpgmOC|QWh6s8r1bg-j_VBK25hwE_@*$Ru>rvb!jwENOU_r^rW6e@WC9Zir<~O8` zfO%0dA4v#lUjWEo#p%;>kttR2y``5;&`^{Y=!Iq7-iC54;WvKvWvM(8DUw$^omg@Z zbt^W6yc@j{V{j$jP;aJr13=~>(3!llbpq#9z^rUD=0%I}YdIlKW4y@ZddXq#8HU?Z@#1eE2bQF3aXj}Iw3UIu|twJsJG^kfQyTg`TCr6yCQ zl4jAq<7lH?Y3z`;Deg(V3v(YL=!+PAH*3*GK~#T$=?LU#`?fkUB^%|W%LS*M>y2M# z{F1YYfmA~>a51aV(IT&fSI>AyUv8ISvW@z(=E*eL5a=%hCY(20Y{X-?_j7TdIp3;5 zPqX9~TUA62^%e3Z`J4bm$Kn`bPV)yHlUk?cuuU!Sp4|Rync^HiWwCX6co(!i`pyv+ zfwSVz@k$is#?)9ce_9Y^wQ|_Zc}ZyBt{A)*pG_RTaW2aLP4`f2+Ngy7O=A68E4K*W zIq)BHj!`p??kc2TiPp@Xn=p~ZOLEdHoY*CN2(_0yCcHYUzR?K;M2c!D zm4QJxjwVvdCYL;>BWYb3#y-k1mLCTBWD6$dn=+>_)qw*z9G!p!fuDrP8zGHLt)~t`dA16_qn~u+m7~|WoR)7C z$dF01}DMuSaI{B%g zFcEjNQ^(3t!nj#KR5d_u#{}E$t(XM6pv7#f!sRPvHUfdm?qyd~f}c8n;_c)517AKz z%E-=T;MJZvnbBubEf#TYfkn%Qa;Gq1xO!pj9!{5-qH>$b1CbLQ zVVX-Me@TscXU8jRTnztNZHU$6SJTrpn_8G5<$3l5l3_Sr^G;Q-0s8!`e4yqH7%_#8@J|nzB;DPrR)@-0oC6GDdO7Q4PE= zBNWHK{%rd5UklcKVpJkUxO$y%Nw;S~fVL-vdc~N95!u|uvc_#C z4RTzD=Y6C$=u%3y0Xk_j@u>Ohc&g(+%Y_wNt63AJ5qw~(aB`sOL?5XuY%|?mc=5`n zmP%N!vT*xsXOaUflT*K_sC~nct0j9%=oYkQ?cj1S+#b<+RlWCQKmuAx#n7!6a%8{a zjZ3pm__1VG2*g^W2FKwYn%|+l@tFM$J58eI@r-Zrt--t&GtPze8k$DsR}wiNEf>!a zlAiI|n5jvswH1GNZ&O;EnYvKPG8CG?4{$fnfhx{*hvextp1Yb!ISQIKF~)Zj=q_UK z`@C|`7aCae1B;WDh+8DA8^?M4k4;VyiwY^*@W%sMWp;eVV*bPW{FwJk3{ZcWI#0-1?=#uJ>k}b$8$JFrrg& zy$jY!Mhtz^j3vI*QugJ%wRjDnMvFZ*-JX1I&0@KJ=HT*k+Clkj8UN1e7}N__${!Jz z>Ptq^J8QuwBdcxDxEP>3)QU8u%;8vAm!2xukO;n}5nPc47o*O{HIv|{bxCy`OWv~u zVkR!9H66qmCRNLcywiEVAe7XXVE*9( zT$EM4V!rzPIory)VE=rjz|V284Ey(2Akz@?J3O2M&YqlkWXna#xid_;EH`PAfqmweSnr*38i~O@{r7l}ztBHtSh-gTY`qm=>$p0!mdN&t5bWrU4S$H3 z;GQ&LSYqnzzEp&pm>Q~f1k^|$S_4YP{;)HQBG|^56Cn2#c>mm7;QKO2+Vn(xUGGip z^E2+qY1m{;?)(DXgffI^Jc#`-$qcqZeX8#R_6L~YvUwG^NtsIE4#$kuJv86ruDaW6}^d?nC|*nmBIOO(hp<`&M$vts`lHlg)h02 z-6_kEet$r7uq5jfxd7Z5C(&Kr-sg*|w8fmnA@&28kSe_`Y+wnIp|qN-kWivAX312S zH8I+s?R=~vB|dwzsJuy7`my~aXP>gHR&5qBmtO1W-pT<*Y;ZlD)=lMLZXf4`9#rx9 zsN8FyJ63*-bkj>KT>cT;AmsRvyMT63?;W0dWI8XD>!l}rHF|;Dah%(1zS8+?wh?xT zY0t@Mj^uN~52?Mur_YyC9IoLf`I+%=WLzIHC0o&yey5mYUPsoPp)^7x=|U3JZ01pHY!W?Jc9X#-#%BTuX>KCmh3?^3r^BRsv4Hlt(Gr}IfD8LM>-F5wIUZDNe~&I` zUZ4C#A)rYsR>QJt!v2c4j2@Yr5DITLa~o}&deen&ur zTP;lS@&xKslcR`5rJ~`hzKCaYHr_2k{c9oKCwyO~EyG-in@HsR-r7hcXXA2|D~dO` z=?kikZyDrkn}G0^l?IAug9#33ua{o#bu!pXJ>2S>n<&I4)^?Gfwkt~g$mXBJ;gOh@ z`XNq3@0|4+nJyAUC5VeF5_7%N(|G>mTzgu6OxYv)h7Fm$W}_dG9%?4SI$#k#_fg>e z1=1@x0T5rAm;1rA>$Ur1s#JUuAcvVLh~w7pxIK7&eV13CAY!DE$0`k!b z-?ouZD+z_?3e}ycAnNOf{1523<1cWEl9A%kU~wL_%rvfcll+%QR>j4Q>N%|@WF zf}&+givjkaJca7!duYHf9*1d`;QW@EPO~o}?Kq25?975|&>HT}B0rzPLxWz>jrthP zV?EP3Qe+|)lNiUjfmlD^ceZF{(@6SpDFDy~Zi@gFx|E;M$tJ35CSO^%#EMie*O$C2 zk7s)Qg8PHKUc*R34>0yXjrsLnqbpNl@^z13Q2b!2RD`F>@ zXB(}=`8;}x#Ns4J&K$@l35intdLuuoVpbI2&RaP0;@$OXiCzQhXB}8Bgsj?P$sG?N zy@YqdxRg6HpMWUnpz~Uj;rSUoS9oieC%>;ek6zUMX>ky76prJt!i*4&&Z|*ncW%Cl z`C5DSSeKRbUD;Xn%ou`CE!wg*8iyT;hZkSbq4P7~9_6*XwFBJnSvP{UTlDPs?g3Jr z#)Bqg;4O;%^dU;=^)3Uc5%x{7RN;zHqQBb@&)^=f2V$A$LdNO{v>1n>ubb2r6^-ta zI72sm__`D|?NUHTx>@?lPLV%&53?8e&~aNyIzcmCLv#ebo8z19l5M;+dJ%Bgnp0W1 zB`sp{B29JHM?%_%&JQq>8xD@aH$Q9XUe~?SM_t#`e+WDhk5XwWj~H79dfm`6!C7{L zA-o~F92F3*i}3;!Q9!YQT5f%0M5PAaD!1yXUnP%&JLBF#LBx(GFbg+D!vCNLNpY=s z>Pab^cK+)ZM(HYKOv$5exiJ)9rQ)6{p*{tO%iuQ=lz~y_YMi%n#}!X5WS#^hwcyJ2 z^VvQ*^>Bs5+Ktx*$8VCnH$z%8b*_B@B3tvc63EGN^9mn+4y=9ajBrd5FN&7RmqsB$ zJxHMm$j|IEywhnwmg8#0JmFA@=1ee{*Tvt;6`nZiE6czXbE}xpNSBN6+uZ5=h$ZM}3>~qqn5!nv49jPp4UuDZ<5z+8T#2Z{~@?|-XsB;MG zA;#9068C;gxbJ#hrCvOqV8vz?4=)G}j7nWguG*vik99VjITKaX^B;vTdV)U3{F(pp zX{+IP1vMk^Z|?(DuoII}^{)gjLkcn(6XUf_JRP~@j(4|BLq5kCxyH)hd^LUoW)pW> zng%+N_HXlnA=x=x2=_X91{H-A;{bpo<9eJJwN;7e1nd*MOk%rLM1Q7J9D!xdPINDG zd^939rptTx*$RwC5JCb=iKiO9`zCam6AFT#$=5^kP){%KJz;MNZI`5+#I5CWQwCv% zQL%lY^TMl@X{EDWKM3uOhiYSFq{X$d<5k4!A7EjRWbcu^nl5A|LQF34QRWC;CNoQU@ zXAyS$LaJ!riD$vMU((u&a~SXFr?CUy!lfGnLLGH`Lu)&_dmlX3%EuK2Vz-Z5mlb^K zipG5Qi~!F}G$<(QtZ`dYUf6=^G`s~vXAPKgF4bJ1138We*b`YBiwj5tghQsI&gSxb zL`tOKCBoS|9z)pScd2iRFp=KHS{rxZ#1RB$l9@MOwe0&5W0`8}qWFUSxW}ik@yun! z8^Uc;;x3}T^Duq6hDYxYzlmc)|0%tmyi`Fhmo=v#ZqnCUfyx#=5ArsWgPE@ecM8)N zx>9Z#RgTHT>+9t<+Cb-M8BuvQvmI@wqc_T*|Sh^)| zQw}ol?mk16qWmyz7k0f&^TIb**6(hS_r?y+Zz66e?5h^nefFJoG(<~SFHE5}*|l=b zztTE|UV4&{@j5ITGv46WfOJ>uzJ_5|!Ee1n=hnTK`_=f##B%5>B5*E7o>`6F-W&p^ zMS)x-quxbXQj-45J>d7Lh>u3^cgOP`Eh~dX5a>y!wVy1mT_2_G8@GUXbwH+AxX_#q zeiJn;9@{t}_NQ{4gUHqPg|Zk(ow2xciuS7CV5c*X+G064J><+@fPkCNEqj7TPfCu( z+0`XU%!gL(GZVOo{nsJ}86b&{AFuCw8F)k?r%+eZ>C**Vjr;} z6FVTcD2tBiAcavVSW)}6d{dmsJ(feVGAaiPCk5AW;P-j4*@Ck_i|qR-W>}Z|zd-gD zvX>^Qny%&`J|7heDMN5cngWS6(m^U(YT%ih-Id(w;sMPL8TtJtt#xB{laOzqvB;ub z8a<`T`WghFGbVR?*|gDPYUIY@e3^ZiEPJ*?VDPV6^zrX4-p(qQFo$0K$fEX936);z zXMwjTe)L218hr0GV#a?0H_b?o&TcuEhB{K|01uO=)7dT?%VTlKpPv0CZQ66LBXLy0 zL&RepOlK-R_TsdcY=f)#iTaGsRtu%7tFcw2eZA{aD!WD}@;P}gXslI#&<`rc%JxTJ z!|0am&n=ve)P8D{k!{at{kgh@2CUmY&=sX?z%Db2<#0F~l1+j+lb92#JzY=1yyJ6~ zHOOC_94`W+5-7hrNV+rK3)jI!ix3x3E-kysNU-sKsEIeQM|0@)pl^bvw33}&@zyCU zSl3el>xAa7G2wU1k6{Pzv-YqXqvk_zWC>Z*g6Hoq5 zKgR?_p%sira&`b0*#`&hV+anRC!h}sHx2t|^M-cWc~bS-h3u@WbD41~h%yY}(-i#p z26HEBic_X{pq$o_)bU_MZR|{D#f$pBL%qw#C!!VXf>iHk^h>!#%l7azGI4q@Y5T~PL;E;j8S=OStQ#b`S;_{@@M&4jn!*!RB{c#8!{!BXEhd~%g@XT zfNbDWTL3BF-!Z^k{#PKa(zh#|tw^ue4n^$E5r?)K<|>8cc`+Wg3+ZTOfSoGf@~--( zm89vS;Gzr^<&nMU*P813&9((S12#uxaV=|BxYch6#uMy+4B)0$e|&w&Pk3Z^mPDw+C#pfI{hE}31WV}Ix;e-yVE|pM#7e zDDmtm`oSIY!^61_yZut~D1~iXi(^Fcw-}MP5W{p7m0luX9P%2(B;O!%+d^aB#igY# zvqwl_f}J5RlZGZM;h}=UkyjrZ=5dD2n{b=hJO{hLJkh@G)^A|(J6fesVhk>6neCPu zVw@Ayoft>N+qKXzBF=J>j^dq?!_kd1cfu5Dq?S%Ux1Xh5C^hbVgX6g`{Q|vz$5-bn zKh7a)0<}X8qt-x+xU2I(ib5X?Er`J;U%^YRq@dfU$Q{AKi3JpvH)yEMK(`FuArzlnbdFE3g+N%PQ$%&vUCe2fys(GX2a5i z=CLs32%~p$<%`cP5_J_E$;5IF;r#)hdU`)nk+i$S&^b(Z_hG&u!_iFMu zD6?jWql)eR=bZ}S@Z4Us4UVW_8+D+Wxo7cAQ(+c?jiA)5juPImXNynWKN1*u@Q9K_ z_v%xVd#zLLHx~+~EF}S+9=2|$bam0#Dr<5*k}Cz@@46@%4X~eePLID~%$m9! zsv+;~qpBg6wIdse0!3 zuCEYh;VQDdTtdH=Ci!)LVBtjF`jv>ZR@e>qTO)qfT*WkvvnbqhGm{KQs|$qlVj;Qh z*{}M)C$M$$+K&kCB{gAaa&p_c!TZs?V&oxVJfFqwcCrh2*`o7^3+Kag@;+lckoKH~ z*eC`jjTQ1Yi38jTtdcU3%BH`-!02ZaP}DaXbK*M?D^Lido#?3)h6pVzJHaCWqO%fY)Wz}wX_32#47MZ7s^_LX@rCyg*%1s$(`)cO8d-GI|AMX11(V!H=>&Zb-4VB$ z$1D(LbXI}m1Oby`q}F3gACw!2?A{v3gte2kBevZmsao>6Z-u zL${Jb-lvw9bX%8i_E+wZ(W91x0w*p61*=(c6v;U)j>0*B+Ve+(u` z*p2JNSo)7>(Gt$&6JF~NQsy-<2oJgf}E?%Sz3gqlEsfQ`pbuFW$B3@>A!o zoWS-1eTvfvH(ijyd-f!0b+M7Hwt3R^_*3#e4efXv*~?!*uJ_9rhvL=@@s5;D2svsQ z>iSZ!sT>APdV;keTKNzWRe{v+VG@#t+&&o;?iW6h^V{9mHXR$dF(xcKzE{6npR`|I zW~}0Ke>zFSkM6=PnE?g5w1Jo@3?pUH!V>1v*tIdo$RgSLSNjLnb+7ilA_r8Kh9U=U zuZ^@B3Z#AGEd*9Vgy2mcv2TRpm za8FA2zCTpfta+?`DJQ;VVsWkkgzK@#v9sbx!U|CbuLxeD4_a-*_kyX*efM!Z>le$2 zsuLs-U3KT4_b7TsYc|}3j;2_Z=>@x2xMRKtc3$9er{3{>EtP}fAvV;dxBSz6`MU&B zT-eovBIZq`F?gX`8dLi6x7VEV3vV^x(LXT9T2X{xBT&J80SVK8Z64&9E{U(j=#yJF z?|r$m`qH7}NYHGhom4L~q~ZCYpkiZ?_z&0%PaKp#@u$MTl4{C2@JmJefc(!Mw}Hw+ zs??PJsyyq);J&OXmuwt$sm$ZdgPfm`a@s+1<<-~I#o9QQxD;jHmR$d#J7XcHU}T? zrQ&4;arT{^))e16Hxca+<>>*Xhgf#i`IHLAOgTx@FeEozJORG%SNynEDJ@f&&Bj$# z#GHIQUKn*#&kk`n0RxkoUZf=qo}FJyhH$?^2)q1C9Qgz|ExtPvJN-Yxeush3qUA37JK{aRLtZ;LdZ^&V2`hV)YHb zvUS4j`nx&m86)B_Q0Mb$rOBj+<6#eG+hSe8`#b`(w?agA9((c}ea@v04-3r`l?hh zyb`DIm}8KzF5>kr5p*ZbeC{$dHUUj_HlBN{KHqvDr2HxP={x|G+kC{! z5=l*np(Q%B3)9J;1o_`dM_q->qy{WhMinu=b0SezSSXDCyZiF$V%-!UcF5#-kSF4w zl;byp&4iojz)0>x=_c9;U!ho8WYn33hB|@B*4Me zP2@l_UIyyPSkV}6lQHER3+d5!N&dWP1p;ihmapK+;M6F#^er?@sAtJ@1zHfUmkeq(rC&TU>T&X-8-A6|2acz-&lAuh+^b) z6*%r>IZRz9#X%wZEY{d$E|j61bfAL3Rvd)WbjRW`y+Z%v1j! zZ>CrxR?_RKQ={y1Yea$N^+TF2irt#>5Uk8zZX({A)igwrNp%An4Vi0M_DEZQAu~kV zV&T()e)D1I&_Y&{eStxRYs2;o47g4EQH zLQntxsHAw$#W7L)#W-pqNpQfB0owN)pOU>2c3b_#m8G>{jQ^&obN@!(csR%2_r#<@ z(Q}&9KZ~!+=dFQDLx-lQEXr?NXwy~eXdp>a%7oz9*LntPX&l08wcZz zvUm&oG|l>KItV==v)_s8@t0uw-*Jfu#SV~LT#7*>)#A@8go^@xW(r@b%-Zmn3*N&- zvXwa7LWZ2Avb9sE!^F+tf@JxUn0HTE9Cg(JnV$?8@l1RC04SIvt0;sBet$%4Zqlde z_0ixKbr)&bAj6#s+s;A;5hW{5;{@>?o$kANTZl>eJvFS5&oyG4$T0smW_`W+Hc00| zalQBN;_ugcp%=ozeu)`yz8%lsj-FuEeQWx#jU)}SU6!|C!C3<&aLDO>A*Zi|2ocUM zK;4@99*Tfv2vZfvKxME@8{&A=KKY+uVIClk+Id8zw2Vg|;S+!i2WWu_$m(JTK?!iS z21)62l8CP>OZ>Jw-~pdjosvI#P2mK;Y|42L-q`s-8eraWB53{zKL!O+R&Q!*;yl6q z@%m9^aDF&%98mbb`vRi49Cm=pBDBaq!M%1D8p%Xa!o`gK;#4>!w1Nn1OD2EB@!IhU zHr})$M4k@f1qRDso^nwB#M;~YK}lqP%kZDl?(Y=fNBS|?+gKtNcHmO<9!wyF?wy0% z>B>5Ei7J&!e#Ouy528QNr~@Fo0xl*Z9P4+(guWmq`+1OwB%g+6CwGC)e(Oy9!Mvdri}M9IRh>&cHcJc^|(vB`DBt)9_{5!$~ZIF2N6`rrR=VHLi9L zW7n2}#`qSBmwTJ}KQ2+}J+p!Q>d6Wp*@;yfTub*5I29pBg4LKgVjRWz@#!F+{NmTp zS7E#iZ{0V{kd|8_j1cXIZf)<0$A1z7e}5e8B=8CT)hZAPQ8C%_g)cn3e)R`PayniGN#J}*@+8+_zzGVU*aeEh{xWL~>PPilhLsN_zlZF8mS2=Lh(0c1OHKlRZ#LZ&$>0)C zHpnJ_i{?*p;R_CoTq!;QM}{GAHK&@&F|)#Bt`J8`7q~b{0@CYG#t0Rb0sR={dJFbT zqsXAg6I_p=r$8CBgg8WZ+G&TnH3;rmfs zR4LAlUsXmTT``uI-4P`jnPTP2(;G;f1%wi5>ISQvGRfk}fX93iSTqDV!3tuAzqOkjV^6-^C2+ez(Uehh^K8f5W z^+8`Q{+#xYin_y2CaEr#;!u=cS=qAW3^O@i>>zGO&@^EFTzP>R(u#lI&Gc=0jJ!{Q z8D`cjq);fKly&Mp4rzoq%&-{EOt86QlyfQe{3U1_!YqxR&xW#NZZ^K-5+v*h# zax%@w5ZW41{eW-T0EF!}ms@)q{`{=4&YPj2V!-|EU3@&_6Kp7Rv?IVcro6ww@8tS; zL?lfmEMA`xcUq<(Vw$1xP+#TFm9VA4nhsPY!MQ6B8hd$#zceXNU-SO)pd!^UZxhn$ z`7s?tj)ZbM26Lc6aP=7#)DUQIhcedzNl*dB83qq)!?qi;~ ztA2bRE|hx~Ez!l`F;Z1ue{$?43=OoCzM_uqs$9ng>)y-4i`i-U?i*A6@HejuT=j(- z9Pth6kVpb@;#uf|?~PPm-)lJBd_EjxOhfO5%tc2gyivzjWJ&7(ff!jK)0EqKz8yJV zmG=>Am-%59a_FUzMmVLRJQ+_Z1Ml~rl^4H?BN>k|sc|hpJdy0FkoaZ`4&Ybs1zmv- zi4v9rlSbY7{`C5&Wd)u*D0x~7XjMkRzC$qPEn0RllUz_?1Q>R_qi)>@B^sdY8ZV;| zJ(N)&oD8(O3~Hx&Q6t0z^`T*ZG4J|8|Jdc~h2%^cG5}7R$;O+9BDBl*`l6k+x1v7f zwjKjVty0QW`Rjb57*HsXf;#NAKQi|qtQ=;p(z*@;Z>$w@cyeQ+FX)GP-ZkJen!5Ya z3xqjU8uwGl{ZoW9*boO48AIOIau7E)UQ`C$;C=JTWsKd@>?N&Fp>GE8(O*P(&+TYh>g*!O)<3u$BRo6?2YR62Pu>A|^ z|2@dDWO#P!CV3QEb9)FMkmSzDdv0EewrhAn(i6a;P>`Q}!k1IjHxAtdY4DI5>`j-a zh`Ei)Jp#6WQ<<4z`H~noX!t3uAbuPQ#(AtcV-VUZs^%d4tdPrqIY&G@?-mfas_#ap z_viYJ-n7DGM}lY94-=n7nMd~YR?@CWWwU%G9JV6f%9lxoj?(n*2VKK_2d{&Z1DriY{M7Y)wZ7xAZ*(~!n7K4x`-8v zu4a)w1WchNE`xL%qo}aC=2J=OwftZlES%nNiXQ%JLV)&JNi!i|Z zWdQr7-a9d&x6AT~!nDV1i%zwtv=A&@_Sau55%DCr`ymk5zSrnzI0wDξ#()y@^U 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 z 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𝔰X4(= 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�ftLvw6qjdHmhR^*@tAi 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 {I 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 SdToRn{w Date: Sun, 23 Mar 2025 20:34:43 +0530 Subject: [PATCH 03/12] docs(codegen): add detailed instructions for ureq --- .../instructions_to_run_generated_code.md | 59 ++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/doc/user_guide/instructions_to_run_generated_code.md b/doc/user_guide/instructions_to_run_generated_code.md index 981506d2..c0262ba1 100644 --- a/doc/user_guide/instructions_to_run_generated_code.md +++ b/doc/user_guide/instructions_to_run_generated_code.md @@ -949,7 +949,64 @@ TODO ## Rust (ureq) -TODO +### 1. Download and Install Rust: + +#### **Windows** +1. Download and install `rustup` from [Rustup Official Site](https://rustup.rs). +2. Run the installer (`rustup-init.exe`) and follow the instructions. +3. Restart your terminal (Command Prompt or PowerShell). +4. Verify the installation: + ```sh + rustc --version + cargo --version + ``` + +#### **MacOS/Linux** +1. Run the following in your terminal: + ```sh + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + ``` + then follow the on-screen instructions. + +2. Restart the terminal and verify: + ```sh + rustc --version + cargo --version + ``` + +> Note: If you prefer not to use rustup for some reason, please see the Other [Rust Installation Methods](https://forge.rust-lang.org/infra/other-installation-methods.html) page for more options. + +### 2. Set Up a New Rust Project +1. Open a terminal and create a new Rust project: + ```sh + cargo new ureq-demo + ``` +2. Navigate into the project directory: + ```sh + cd ureq-demo + ``` + + or open this project directory in your preferred code editor. + +### 3. Add `ureq` Dependency + +Run the following command to add dependencies: +```sh +cargo add ureq +``` +Run the following command to fetch dependencies: +```sh +cargo build +``` + +### 4. Execute code +1. Copy the generated code from API Dash. +2. Paste the code into your project's `src/main.rs` directory + +Run the generated code: +```sh +cargo run +``` ## Rust (Actix Client) From 7a791206f8c598cb6d9760e64134ffbdeff7af38 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sun, 23 Mar 2025 22:32:28 +0530 Subject: [PATCH 04/12] Update README.md --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 00a72df8..f3bd4508 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,19 @@ [![Discord Server Invite](https://img.shields.io/badge/DISCORD-JOIN%20SERVER-5663F7?style=for-the-badge&logo=discord&logoColor=white)](https://bit.ly/heyfoss) +### 🚨🚨 API Dash is participating in GSoC 2025! Check out the details below: + +GSoC + +| | Link | +|--|--| +| Learn about GSoC | [Link](https://summerofcode.withgoogle.com) | +| API Dash GSoC Page | [Link](https://summerofcode.withgoogle.com/programs/2025/organizations/api-dash) | +| Project Ideas List | [Link](https://github.com/foss42/apidash/discussions/565) | +| Application Guide | [Link](https://github.com/foss42/apidash/discussions/564) | +| Discord Channel | [Link](https://bit.ly/fgfossd) | + + ### Please support this initiative by giving this project a Star ⭐️ API Dash is a beautiful open-source cross-platform API Client that can help you easily create & customize your API requests, visually inspect responses ([full list of supported mime-types](https://github.com/foss42/apidash?tab=readme-ov-file#mime-types-supported-by-api-dash-response-previewer)) and generate API integration code ([full list](https://github.com/foss42/apidash?tab=readme-ov-file#code-generators)) on the go. From 5c6f61a8522dfc3797a9b521d2dff3b9bdc06522 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sun, 23 Mar 2025 23:25:09 +0530 Subject: [PATCH 05/12] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f3bd4508..b47acb31 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # API Dash ⚡️ -[![Discord Server Invite](https://img.shields.io/badge/DISCORD-JOIN%20SERVER-5663F7?style=for-the-badge&logo=discord&logoColor=white)](https://bit.ly/heyfoss) +[![Discord Server Invite](https://img.shields.io/badge/DISCORD-JOIN%20SERVER-5663F7?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/bBeSdtJ6Ue) ### 🚨🚨 API Dash is participating in GSoC 2025! Check out the details below: @@ -12,7 +12,7 @@ | API Dash GSoC Page | [Link](https://summerofcode.withgoogle.com/programs/2025/organizations/api-dash) | | Project Ideas List | [Link](https://github.com/foss42/apidash/discussions/565) | | Application Guide | [Link](https://github.com/foss42/apidash/discussions/564) | -| Discord Channel | [Link](https://bit.ly/fgfossd) | +| Discord Channel | [Link](https://discord.com/invite/bBeSdtJ6Ue) | ### Please support this initiative by giving this project a Star ⭐️ @@ -290,4 +290,4 @@ You can contribute to API Dash in any or all of the following ways: ## Need Any Help? -In case you need any help with API Dash or are encountering any issue while running the tool, please feel free to drop by our [Discord server](https://bit.ly/heyfoss) and we can have a chat in the **#foss-apidash** channel. +In case you need any help with API Dash or are encountering any issue while running the tool, please feel free to drop by our [Discord server](https://discord.com/invite/bBeSdtJ6Ue) and we can have a chat in the **#foss-apidash** channel. From c75660f143f4dad780b6704be294eb48c060b68b Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Mon, 24 Mar 2025 04:09:45 +0530 Subject: [PATCH 06/12] Fix errors --- .../2025/gsoc/idea_balasubramaniam_api_explorer.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/proposals/2025/gsoc/idea_balasubramaniam_api_explorer.md b/doc/proposals/2025/gsoc/idea_balasubramaniam_api_explorer.md index ae897b7c..ee5b39ec 100644 --- a/doc/proposals/2025/gsoc/idea_balasubramaniam_api_explorer.md +++ b/doc/proposals/2025/gsoc/idea_balasubramaniam_api_explorer.md @@ -1,9 +1,9 @@ # **Initial Idea Submission : API Explorer** -**Full Name:** BALASUBRAMANIAM L -**University Name:** Saveetha Engineering College -**Program (Degree & Major/Minor):** Bachelor of technology Machine Learning -**Year:** First year +**Full Name:** BALASUBRAMANIAM L +**University Name:** Saveetha Engineering College +**Program (Degree & Major/Minor):** Bachelor of technology Machine Learning +**Year:** First year **Expected Graduation Date:** 2028 **Project Title:** API Explorer @@ -78,7 +78,7 @@ In the initial phase, contributors can manually add new API definition files (YA -![alt text]() +![alt text](images/API_EXPLORER_WORKFLOW.png) --- From 33b87072ac70b2f155b68d5985aefe90eface426 Mon Sep 17 00:00:00 2001 From: Ning Wei Date: Mon, 24 Mar 2025 13:13:02 +0800 Subject: [PATCH 07/12] Create idea_NingWei_AI UI Designer for APIs.md --- .../idea_NingWei_AI UI Designer for APIs.md | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md diff --git a/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md b/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md new file mode 100644 index 00000000..885243b8 --- /dev/null +++ b/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md @@ -0,0 +1,127 @@ +# GSoC 2025 Proposal: AI UI Designer for APIs + +## About + +**Full Name**: Ning Wei +**Contact Info**: ALlenwei0503@gmail.com +**Discord Handle**: @ning_w +**GitHub Profile**: [https://github.com/AllenWn](https://github.com/AllenWn) +**LinkedIn**: [https://www.linkedin.com/in/ning-wei-allen0503](https://www.linkedin.com/in/ning-wei-allen0503) +**Time Zone**: UTC+8 +**Resume**: https://drive.google.com/file/d/1Zvf1IhKju3rFfnDsBW1WmV40lz0ZMNrD/view?usp=sharing + +## University Info + +**University**: University of Illinois at Urbana-Champaign +**Program**: B.S. in Computer Engineering +**Year**: 2nd year undergraduate +**Expected Graduation**: May 2027 + +--- + +## Motivation & Past Experience + +1. **Have you worked on or contributed to a FOSS project before?** +Not yet officially, but I’ve been actively exploring open source projects like API Dash and contributing via discussion and design planning. I am currently studying the API Dash repository and developer guide to prepare for my first PR. + +2. **What is your one project/achievement that you are most proud of? Why?** +I'm proud of building an AI-assisted email management app using Flutter and Go, which automatically categorized and responded to emails using ChatGPT API. It gave me end-to-end experience in integrating APIs, generating dynamic UIs, and designing developer-friendly tools. + +3. **What kind of problems or challenges motivate you the most to solve them?** +I enjoy solving problems that eliminate repetitive work for developers and improve workflow productivity — especially through automation and AI integration. + +4. **Will you be working on GSoC full-time?** +Yes. I will be dedicating full-time to this project during the summer. + +5. **Do you mind regularly syncing up with the project mentors?** +Not at all — I look forward to regular syncs and feedback to align with the project vision. + +6. **What interests you the most about API Dash?** +API Dash is focused on improving the developer experience around APIs, which is something I care deeply about. I love the vision of combining UI tools with AI assistance in a privacy-first, extensible way. + +7. **Can you mention some areas where the project can be improved?** +- More intelligent code generation from API response types +- Drag-and-drop UI workflow +- Visual previews and theming customization +- Integration with modern LLMs for field-level naming and layout suggestions + +--- + +## Project Proposal Information + +### Proposal Title + +AI UI Designer for APIs + +### Abstract + +This project aims to develop an AI-powered assistant within API Dash that automatically generates dynamic user interfaces (UI) based on API responses (JSON/XML). The goal is to allow developers to instantly visualize, customize, and export usable Flutter UI code from raw API data. The generated UI should adapt to the structure of the API response and be interactive, with features like sorting, filtering, and layout tweaking. This tool will streamline frontend prototyping and improve developer productivity. + +--- + +### Detailed Description + +The AI UI Designer will be a new feature integrated into the API Dash interface, triggered by a button after an API response is received. It will analyze the data and suggest corresponding UI layouts using Dart/Flutter widgets such as `DataTable`, `Card`, or `Form`. + +#### Step 1: Parse API Response Structure + +- Focus initially on JSON (XML can be added later) +- Build a recursive parser to convert the API response into a schema-like tree +- Extract field types, array/object structure, nesting depth +- Identify patterns (e.g., timestamps, prices, lists) + +#### Step 2: Design AI Agent Logic + +- Use a rule-based system to map schema to UI components + - List of objects → Table + - Simple object → Card/Form + - Number over time → Line Chart (optional) +- Integrate LLM backend (e.g., Ollama, GPT API) to enhance: + - Field labeling + - Layout suggestion + - Component naming + +#### Step 3: Generate UI in Flutter + +- Dynamically generate: + - `DataTable`, `Card`, `TextField`, `Dropdown`, etc. + - Optional chart widgets (e.g., `fl_chart`) +- Support: + - Layout rearrangement (form-based or drag-drop) + - Field visibility toggles + - Previewing final UI + +#### Step 4: Export UI Code + +- Export generated layout as Dart code +- Allow download or copy-to-clipboard +- Support JSON config export (optional for renderer-based architecture) + +#### Step 5: Integrate into API Dash + +- Add AI UI Designer button in the API response view +- Launch UI editing pane inside app +- Ensure local-only, privacy-friendly execution +- Write tests, docs, and polish UX + +--- + +## Weekly Timeline (Tentative) + +| Week | Milestone | +|------|-----------| +| Community Bonding | Join Discord, interact with mentors, finalize approach, get feedback | +| Week 1–2 | Build and test JSON parser → generate basic schema | +| Week 3–4 | Implement rule-based UI mapper; generate simple widgets | +| Week 5–6 | Integrate initial Flutter component generator; allow basic UI previews | +| Week 7 | Midterm Evaluation | +| Week 8–9 | Add customization options (visibility, layout) | +| Week 10 | Integrate AI backend (e.g., Ollama/GPT) for suggestions | +| Week 11–12 | Add export functions (code, JSON config) | +| Week 13 | Final polish, tests, docs | +| Week 14 | Final Evaluation, feedback, and delivery | + +--- + +Thanks again for your time and guidance. I’ve already started studying the API Dash codebase and developer guide, and I’d love your feedback on this plan — does it align with your vision? +If selected, I’m excited to implement this project. If this idea is already taken, I’m open to switching to another API Dash project that fits my background. From d3e9bf9a76fb8d465c23241ab2c202618c30e8af Mon Sep 17 00:00:00 2001 From: Ning Wei Date: Mon, 24 Mar 2025 13:15:41 +0800 Subject: [PATCH 08/12] Update idea_NingWei_AI UI Designer for APIs.md --- doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md b/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md index 885243b8..2367f38e 100644 --- a/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md +++ b/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md @@ -3,7 +3,7 @@ ## About **Full Name**: Ning Wei -**Contact Info**: ALlenwei0503@gmail.com +**Contact Info**: Allenwei0503@gmail.com **Discord Handle**: @ning_w **GitHub Profile**: [https://github.com/AllenWn](https://github.com/AllenWn) **LinkedIn**: [https://www.linkedin.com/in/ning-wei-allen0503](https://www.linkedin.com/in/ning-wei-allen0503) From 35adfc5bcf8ef04d98512f174f41fa35a4f78b00 Mon Sep 17 00:00:00 2001 From: Ning Wei Date: Mon, 24 Mar 2025 13:16:33 +0800 Subject: [PATCH 09/12] Update idea_NingWei_AI UI Designer for APIs.md --- doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md b/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md index 2367f38e..e697f8e6 100644 --- a/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md +++ b/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md @@ -4,7 +4,7 @@ **Full Name**: Ning Wei **Contact Info**: Allenwei0503@gmail.com -**Discord Handle**: @ning_w +**Discord Handle**: @allen_wn **GitHub Profile**: [https://github.com/AllenWn](https://github.com/AllenWn) **LinkedIn**: [https://www.linkedin.com/in/ning-wei-allen0503](https://www.linkedin.com/in/ning-wei-allen0503) **Time Zone**: UTC+8 From c42b48a5c9bbdc058820b5f886e7d1d465cc7c06 Mon Sep 17 00:00:00 2001 From: Ning Wei Date: Mon, 24 Mar 2025 22:25:54 +0800 Subject: [PATCH 10/12] Update idea_NingWei_AI UI Designer for APIs.md added relevant issues --- doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md b/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md index e697f8e6..b25d35cd 100644 --- a/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md +++ b/doc/proposals/2025/gsoc/idea_NingWei_AI UI Designer for APIs.md @@ -53,6 +53,8 @@ API Dash is focused on improving the developer experience around APIs, which is AI UI Designer for APIs +# Relevant Issues: [#617] + ### Abstract This project aims to develop an AI-powered assistant within API Dash that automatically generates dynamic user interfaces (UI) based on API responses (JSON/XML). The goal is to allow developers to instantly visualize, customize, and export usable Flutter UI code from raw API data. The generated UI should adapt to the structure of the API response and be interactive, with features like sorting, filtering, and layout tweaking. This tool will streamline frontend prototyping and improve developer productivity. From 9552453cffc73f9958035757dafb757fb747d7bc Mon Sep 17 00:00:00 2001 From: debasmi Date: Tue, 25 Mar 2025 12:31:22 +0530 Subject: [PATCH 11/12] debasmi basu draft for gsoc 2025 application --- .../2025/gsoc/application_debasmibasu_aiagentforapitesting.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/proposals/2025/gsoc/application_debasmibasu_aiagentforapitesting.md diff --git a/doc/proposals/2025/gsoc/application_debasmibasu_aiagentforapitesting.md b/doc/proposals/2025/gsoc/application_debasmibasu_aiagentforapitesting.md new file mode 100644 index 00000000..e69de29b From e5ef7f2514ad3262d6fce4fb8d7726cc546c0824 Mon Sep 17 00:00:00 2001 From: debasmi Date: Tue, 25 Mar 2025 12:33:07 +0530 Subject: [PATCH 12/12] debasmi basu draft for gsoc 2025 application --- ...cation_debasmibasu_aiagentforapitesting.md | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/doc/proposals/2025/gsoc/application_debasmibasu_aiagentforapitesting.md b/doc/proposals/2025/gsoc/application_debasmibasu_aiagentforapitesting.md index e69de29b..5c779ac2 100644 --- a/doc/proposals/2025/gsoc/application_debasmibasu_aiagentforapitesting.md +++ b/doc/proposals/2025/gsoc/application_debasmibasu_aiagentforapitesting.md @@ -0,0 +1,83 @@ +# AI-Powered API Testing and Tool Integration + +## Personal Information + +- **Full Name:** Debasmi Basu +- **Email:** [basudebasmi2006@gmail.com](mailto:basudebasmi2006@gmail.com) +- **Phone:** +91 7439640610 +- **Discord Handle:** debasmibasu +- **Home Page:** [Portfolio](https://debasmi.github.io/portfolio/portfolio.html) +- **GitHub Profile:** [Debasmi](https://github.com/debasmi) +- **Socials:** + - [LinkedIn](https://www.linkedin.com/in/debasmi-basu-513726288/) +- **Time Zone:** Indian Standard Time +- **Resume:** [Google Drive Link](https://drive.google.com/file/d/1o5JxOwneK-jv2GxnKTrzk__n7UbSKTPt/view?usp=sharing) + +## University Info + +- **University Name:** Cluster Innovation Centre, University of Delhi +- **Program:** B.Tech. in Information Technology and Mathematical Innovations +- **Year:** 2023 - Present +- **Expected Graduation Date:** 2027 + +## Motivation & Past Experience + +### Project of Pride: Image Encryption using Quantum Computing Algorithms + +This project represents my most significant achievement in the field of quantum computing and cybersecurity. I developed a **quantum image encryption algorithm** using **Qiskit**, leveraging quantum superposition and entanglement to enhance security. By implementing the **NEQR model**, I ensured **100% accuracy in encryption**, preventing any data loss. Additionally, I designed **advanced quantum circuit techniques** to reduce potential decryption vulnerabilities, pushing the boundaries of modern encryption methods. + +This project is my pride because it merges **cutting-edge quantum computing** with **practical data security applications**, demonstrating the **real-world potential of quantum algorithms in cryptography**. It reflects my deep technical expertise in **Qiskit, Python, and quantum circuits**, as well as my passion for exploring **future-proof encryption solutions**. + +### Challenges that Motivate Me + +I am driven by challenges that push the boundaries of **emerging technologies, security, and web development**. The intersection of **AI, cybersecurity, web applications, and quantum computing** excites me because of its potential to redefine **secure digital interactions**. My passion lies in building **robust, AI-powered automation systems** that enhance **security, efficiency, and accessibility** in real-world applications. Additionally, I enjoy working on **scalable web solutions**, ensuring that modern applications remain secure and user-friendly. + +### Availability for GSoC + +- **Will work full-time on GSoC.** +- I will also dedicate time to exploring **LLM-based security frameworks**, improving **web API integration**, and enhancing my expertise in **AI-driven automation**. + +### Regular Sync-Ups + +- **Yes.** I am committed to maintaining **regular sync-ups** with mentors to ensure steady project progress and discuss improvements in API security and automation. + +### Interest in API Dash + +- The potential to integrate **AI-powered automation** for API testing aligns perfectly with my expertise in **web development, backend integration, and security automation**. +- I see a great opportunity in **enhancing API security validation** using AI-driven techniques, ensuring robust **schema validation and intelligent error detection**. + +### Areas for Improvement + +- API Dash can expand **real-time collaborative testing features**, allowing teams to test and debug APIs more efficiently. +- Enhancing **security automation** by integrating **AI-powered API monitoring** would significantly improve API Dash’s effectiveness. + +--- + +## Project Proposal + +### **Title** + +AI-Powered API Testing and Tool Integration + +### **Abstract** + +API testing often requires **manual test case creation and validation**, making it inefficient. Additionally, **converting APIs into structured definitions for AI integration** is a complex task. This project aims to **automate test generation, response validation, and structured API conversion** using **LLMs and AI agents.** The system will provide **automated debugging insights** and integrate seamlessly with **pydantic-ai** and **langgraph.** A **benchmarking dataset** will also be created to evaluate various LLMs for API testing tasks. + +### **Weekly Timeline** + +| Week | Focus | Key Deliverables & Achievements | +|---------------|--------------------------------|------------------------------------------------------------------------| +| **Week 1-2** | Research & Architecture | Study existing API testing tools, research AI automation methods, explore web-based API testing interfaces, and define the project architecture. Expected Outcome: Clear technical roadmap for implementation. | +| **Week 3-4** | API Specification Parsing | Develop a parser to extract API endpoints, request methods, authentication requirements, and response formats from OpenAPI specs, Postman collections, and raw API logs. Expected Outcome: Functional API parser capable of structured data extraction and visualization. | +| **Week 5-6** | AI-Based Test Case Generation | Implement an AI model that analyzes API specifications and generates valid test cases, including edge cases and error scenarios. Expected Outcome: Automated test case generation covering standard, edge, and security cases, integrated into a web-based UI. | +| **Week 7-8** | Response Validation & Debugging | Develop an AI-powered validation mechanism that checks API responses against expected schemas and detects inconsistencies. Implement logging and debugging tools within a web dashboard to provide insights into API failures. Expected Outcome: AI-driven validation tool with intelligent debugging support. | +| **Week 9-10** | Structured API Conversion | Design a system that converts APIs into structured tool definitions compatible with pydantic-ai and langgraph, ensuring seamless AI agent integration. Expected Outcome: Automated conversion of API specs into structured tool definitions, with visual representation in a web-based interface. | +| **Week 11-12**| Benchmarking & Evaluation | Create a dataset and evaluation framework to benchmark different LLMs for API testing performance. Conduct performance testing on generated test cases and validation mechanisms. Expected Outcome: A benchmarking dataset and comparative analysis of LLMs in API testing tasks, integrated into a web-based reporting system. | +| **Final Week**| Testing & Documentation | Perform comprehensive end-to-end testing, finalize documentation, create usage guides, and submit the final project report. Expected Outcome: Fully tested, documented, and ready-to-use AI-powered API testing framework, with a web-based dashboard for interaction and reporting. | + +--- + +## Conclusion + +This project will significantly **enhance API testing automation** by leveraging **AI-driven test generation, web-based API analysis, and structured tool conversion**. The benchmarking dataset will provide **a standard evaluation framework** for API testing LLMs, ensuring **optimal model selection for API validation**. The resulting **AI-powered API testing framework** will improve **efficiency, accuracy, security, and scalability**, making API Dash a more powerful tool for developers. +