From c9c3d1c6425fd185d402f0616b31400676bfcd99 Mon Sep 17 00:00:00 2001 From: Apoorv Taneja Date: Wed, 15 Sep 2021 02:22:11 +0530 Subject: [PATCH 1/4] added initial wokring.md --- packages/example/asset/location.png | Bin 0 -> 43049 bytes packages/example/asset/sourceData.png | Bin 0 -> 39437 bytes packages/example/working.md | 151 ++++++++++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 packages/example/asset/location.png create mode 100644 packages/example/asset/sourceData.png create mode 100644 packages/example/working.md diff --git a/packages/example/asset/location.png b/packages/example/asset/location.png new file mode 100644 index 0000000000000000000000000000000000000000..afc4acb438a6edb883bf1f633af0ae28a35dec53 GIT binary patch literal 43049 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 QP=J?$jH+~vIwr$(CZQJ(g?|JoH-}&R5@6B9U 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

C3%I~CVQW3-)qimTm#4I%mmOp{*~T0D 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 PKjigLOHUIHvU>GjXY*+e literal 0 HcmV?d00001 diff --git a/packages/example/working.md b/packages/example/working.md new file mode 100644 index 0000000..f33a94c --- /dev/null +++ b/packages/example/working.md @@ -0,0 +1,151 @@ +## Working of `babel-plugin-open-source` + +### Prerequisite +To understand the complete working of this plugin, having a good knowledge of how plugins generally operate will be really helpful. + +You can read more about it here - +1. [babel-handbook](https://github.com/jamiebuilds/babel-handbook) +2. [Blog on AST by Vaidehi Joshi](https://medium.com/basecs/leveling-up-ones-parsing-game-with-asts-d7a6fc2400ff) + + +### Working + +The recipe of the magic this plugin is doing is writen inside [babel.js file](https://github.com/siddharthkp/babel-plugin-open-source/blob/main/packages/babel-plugin-open-source/babel.js) and this documentation will walk over the code to explain its working. + + +Working with babel plugins require an understanding of Abstract Syntax Tree (AST). + +### AST +AST's are the tree representation of the code you write for the compilers to easily understand. +In every language, code is converted to AST's for the machines to understand easily. + + +### Let's jump into the working now. + + +During the transform phase of babel (where the plugins actually operate), our plugin will come into action. + +Understanding the code step by step. + +```JS +const visitor = { + Program: { + enter: (_, state) => { + state.file.set('hasJSX', false); + }, + exit: (path, state) => {... + ... + ... + ... +``` + +Whenever plugin will come across the `type` : `Program` in our code. This piece of code will start executing. On entering, it will assume the file has no `JSX Element` inside it and will store it in the state. + + ```js + state.file.set('hasJSX', false); + ``` +We'll skip the `exit` part for now and will cover it later in the explanation. + +After ``` Program```, we have `type`: `JSXOpeningElement`, so as it happened in the case of ``` Program```, whenever our plugin will come across a JSX element, this piece of code will start executing. + +```js + if (process.env.NODE_ENV !== 'development')return +``` +We are checking if the ENV is not ```development```, we'll simply return and not execute the remaining piece of code. + + + +In the next statement, we are trying to find the exact location of the code. + +```JS +const location = path.container.openingElement.loc +``` + +Location object would look something like this. It has the information about the `start` and `end` points of our code. + + +![Location image](asset/location.png) + + + +```JS + if (!location) return + // In case it doesn't have the location, we'll simply return it. + state.file.set('hasJSX', true); + const sourceData = JSON.stringify({ + filename: state.filename, + start: location.start.line, + end: location.end.line + }) + +``` + +Now as we know, we are in the ```JSXelement```, we'll set the `hasJSX` to ```true``` which we had set ```false``` earlier in the ```enter``` function. + +And store the necessary information, `filename`, `start` and `end` location in ```sourceData```. + +Moving on, + +```JS + path.container.openingElement.attributes.push( + t.jsxAttribute( + t.jsxIdentifier('data-source'), + t.stringLiteral(sourceData) + ) + ) +``` + +In this piece of code, we are adding a ```data-source``` attribute to all JSX elements we found. + +*Open your console and inspect any element, you will find something like this* + +![Source Data](asset/sourceData.png) + +```data-source``` attribute has all the information about the ```filename```, ```start``` location and end ```location``` of our code. + +Now jumping to the `exit` function which we left earlier in the ```Program``` + + +Remember, we had set ```hasJSX``` to ```true``` if we found a JSX element while traversing through the code. + + +Now, We are checking it here (while exiting from the program), if this file has no ```JSX``` element, we'll simply return. + +```js + + exit: (path, state) => { + if (!state.file.get('hasJSX')) return; + }, + }, +``` +If there is a JSX element inside a file. + +```JS + const declaration = t.importDeclaration( + [], + t.stringLiteral(scriptLocation) // scriptLocation - It is imported at the top of this file + ); + + path.node.body.unshift(declaration); +``` + +We'll import a piece of code in our transformed file from [here](https://github.com/siddharthkp/babel-plugin-open-source/blob/main/packages/babel-plugin-open-source/script.js). + + + + +The code imported will add an `onClick` event handler to `document` and when a user will click on any element which has the `data-source` attribute, it will be redirected to +`window.open('vscode://file' + filename + ':' + start)` +which will open a file in our VS code. + + + + + + + + + + + + From 930c4f5eb9c0fbe7417f5ee82e2380f8880268c9 Mon Sep 17 00:00:00 2001 From: Apoorv Taneja Date: Wed, 15 Sep 2021 02:25:45 +0530 Subject: [PATCH 2/4] added initial wokring.md --- asset/location.png | Bin 0 -> 43049 bytes asset/sourceData.png | Bin 0 -> 39437 bytes working.md | 151 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 asset/location.png create mode 100644 asset/sourceData.png create mode 100644 working.md diff --git a/asset/location.png b/asset/location.png new file mode 100644 index 0000000000000000000000000000000000000000..afc4acb438a6edb883bf1f633af0ae28a35dec53 GIT binary patch literal 43049 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 QP=J?$jH+~vIwr$(CZQJ(g?|JoH-}&R5@6B9U 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

C3%I~CVQW3-)qimTm#4I%mmOp{*~T0D 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 PKjigLOHUIHvU>GjXY*+e literal 0 HcmV?d00001 diff --git a/working.md b/working.md new file mode 100644 index 0000000..f33a94c --- /dev/null +++ b/working.md @@ -0,0 +1,151 @@ +## Working of `babel-plugin-open-source` + +### Prerequisite +To understand the complete working of this plugin, having a good knowledge of how plugins generally operate will be really helpful. + +You can read more about it here - +1. [babel-handbook](https://github.com/jamiebuilds/babel-handbook) +2. [Blog on AST by Vaidehi Joshi](https://medium.com/basecs/leveling-up-ones-parsing-game-with-asts-d7a6fc2400ff) + + +### Working + +The recipe of the magic this plugin is doing is writen inside [babel.js file](https://github.com/siddharthkp/babel-plugin-open-source/blob/main/packages/babel-plugin-open-source/babel.js) and this documentation will walk over the code to explain its working. + + +Working with babel plugins require an understanding of Abstract Syntax Tree (AST). + +### AST +AST's are the tree representation of the code you write for the compilers to easily understand. +In every language, code is converted to AST's for the machines to understand easily. + + +### Let's jump into the working now. + + +During the transform phase of babel (where the plugins actually operate), our plugin will come into action. + +Understanding the code step by step. + +```JS +const visitor = { + Program: { + enter: (_, state) => { + state.file.set('hasJSX', false); + }, + exit: (path, state) => {... + ... + ... + ... +``` + +Whenever plugin will come across the `type` : `Program` in our code. This piece of code will start executing. On entering, it will assume the file has no `JSX Element` inside it and will store it in the state. + + ```js + state.file.set('hasJSX', false); + ``` +We'll skip the `exit` part for now and will cover it later in the explanation. + +After ``` Program```, we have `type`: `JSXOpeningElement`, so as it happened in the case of ``` Program```, whenever our plugin will come across a JSX element, this piece of code will start executing. + +```js + if (process.env.NODE_ENV !== 'development')return +``` +We are checking if the ENV is not ```development```, we'll simply return and not execute the remaining piece of code. + + + +In the next statement, we are trying to find the exact location of the code. + +```JS +const location = path.container.openingElement.loc +``` + +Location object would look something like this. It has the information about the `start` and `end` points of our code. + + +![Location image](asset/location.png) + + + +```JS + if (!location) return + // In case it doesn't have the location, we'll simply return it. + state.file.set('hasJSX', true); + const sourceData = JSON.stringify({ + filename: state.filename, + start: location.start.line, + end: location.end.line + }) + +``` + +Now as we know, we are in the ```JSXelement```, we'll set the `hasJSX` to ```true``` which we had set ```false``` earlier in the ```enter``` function. + +And store the necessary information, `filename`, `start` and `end` location in ```sourceData```. + +Moving on, + +```JS + path.container.openingElement.attributes.push( + t.jsxAttribute( + t.jsxIdentifier('data-source'), + t.stringLiteral(sourceData) + ) + ) +``` + +In this piece of code, we are adding a ```data-source``` attribute to all JSX elements we found. + +*Open your console and inspect any element, you will find something like this* + +![Source Data](asset/sourceData.png) + +```data-source``` attribute has all the information about the ```filename```, ```start``` location and end ```location``` of our code. + +Now jumping to the `exit` function which we left earlier in the ```Program``` + + +Remember, we had set ```hasJSX``` to ```true``` if we found a JSX element while traversing through the code. + + +Now, We are checking it here (while exiting from the program), if this file has no ```JSX``` element, we'll simply return. + +```js + + exit: (path, state) => { + if (!state.file.get('hasJSX')) return; + }, + }, +``` +If there is a JSX element inside a file. + +```JS + const declaration = t.importDeclaration( + [], + t.stringLiteral(scriptLocation) // scriptLocation - It is imported at the top of this file + ); + + path.node.body.unshift(declaration); +``` + +We'll import a piece of code in our transformed file from [here](https://github.com/siddharthkp/babel-plugin-open-source/blob/main/packages/babel-plugin-open-source/script.js). + + + + +The code imported will add an `onClick` event handler to `document` and when a user will click on any element which has the `data-source` attribute, it will be redirected to +`window.open('vscode://file' + filename + ':' + start)` +which will open a file in our VS code. + + + + + + + + + + + + From 58cf9f20c584e906e67a5d2f96233cb08119d024 Mon Sep 17 00:00:00 2001 From: Apoorv Taneja Date: Wed, 15 Sep 2021 02:40:35 +0530 Subject: [PATCH 3/4] removed asset from example folder --- packages/example/asset/location.png | Bin 43049 -> 0 bytes packages/example/asset/sourceData.png | Bin 39437 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 packages/example/asset/location.png delete mode 100644 packages/example/asset/sourceData.png diff --git a/packages/example/asset/location.png b/packages/example/asset/location.png deleted file mode 100644 index afc4acb438a6edb883bf1f633af0ae28a35dec53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43049 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 QP=J?$jH+~vIwr$(CZQJ(g?|JoH-}&R5@6B9U znU!QR$s{Y2nUzpQc?m=~JU9>#5JV|SQDqPiXooLc5C-b&d8x{w0Rn{WmJf(G%>zA8orbhdGM@Igv?Lhpx4ytELqIrO zg|29Ka7EaXnz|qsW_6-i^<#fPSWOtDn36j>+LSZ!dE>dG`F4}l^h4!htlbr4>TF+{ z!o3I!Gb?)cUj zh6E(p1@+4lNgGbQz9F@N0;$}Q$_oNP!So0p4nl*>K&-C7fP%TEg`7~^A%sgS?vn%O z2)(xY4FJs&-*?Dg1~FR;@-RUK;NO^e1utoiVTXcF5rEo*C=Bh3l>PP=_3`lsQx~*? zKmUf(>*nWr;F`AVyE{p+bLdbTQpHjUssxWZOyRy({Ap_b(YSXw4DGGaD~>5mzJvMP zi?=bx@LN@%woi9wEJ;JGob&?oI^G!?Bp+rURZ7}(?l+ZD?@MX6!lJD(bb2rfni_`{}L>bD~V4Myo(fx$v4Csn4d$R1 z!ou;*Mw1Xbc@UTim3d6x^|-JLC2w|AADWs;06N*6AxpYyaak$hRMKrs0eG{`D~IQSLSmv+E!&`9)vU`q;dpnyoko7jnubp6KB zLlmE-Ag~gZAhEN4S_w! z*X^)p;Mes*cLC1ljw;@BmPElp);H!j9N|AC!KmkUBD^4vy}4WLFdXV@ z_>Z__yQzHJu-Oq;(RLA2@=feYZ0au}ano6ZHzCCqG0)x%c9uiO{?NN0(S$6!2x}Y8~}s{jU_+eiqLQ2Zfya{ zdRm|c0&Q`@H&FuZFH$Q&F5ENGng-uGk6H9Ur(hm4T;@5`oiW!qI6w%bwubY?qzNmU zP`0#%(J$D*^}*=<7{&%M-M|D;AcVWkP~g#oXp=xn=>t!7;3$6`>myNv8tda~ATIbv z=)*68y8L?2B4YD5+QRsb%;;~qg`~qrxCMCxbtyy~Ktd51JcSD0hfys|fTG@q4=X4f zLrp;>CB_nMCHiM5=6HxV4?)wvOoW4+eW-GXbPvY?%Ur~U6ggUc5Ag=JUy-&X94~j_ zNOBI}I6KCSjGJg&oGQEj$jb><%U>eh&6pcyS-W4%?35 zj>nFkA!~KS)9)n_vKRzOBnn?;`cN5KiumY-zb-M6e;H%BCEG1dED9_tEDS8nEez|M zE%q&V<|B)A)jUfUBo@fDW4wo}fAYK2y3@GRHOF|xtO;G@nyFY(f5eGOBN-#*2h@Z( z{B=mYQPb63*IAeF{?j7q-QW@Q!hg?tf;=an>|FGq%E6vaTgaGgQ^=uWtF$>|#%8I7 z!VsY*sV!WZO<1^IcyBSqp2qea&nrR`FCNbsFOgl(;xBtSn`R0+TR8hDJF=PH+}RA7 zrKV+deUlbzJ#9Ub`TEq!bb)27*`URtC17Er*jw#28A)nTi%K=5k`-tgK4G6O;q=Ew z$aL2I&i$_ZF7^&dH>Vn@!!RN4_If_NJWz|~N##RQYjhXHD z0lS)QsNUFM-CpOASHwd^0AYvklQsF=&<6E}S;{n4F1$G30Oi2;0NQT-z+gnHEDog* zB^PC>Y-EyC%8VSitXM&*Y*Y%r=?Syu7_SNBEky0=*bse>tWCpm*?igL+5qpcSH-j5 zttS=+ylpsr_zx@wto4L~gz1D?21^E8?U?em@<27qGI?$9s)lO$YCU~j+xIc?&0r%H zD-}z}#RL<4GoImwm4_0->4{awMVt2ZZ=Q1-y?SOqbKhxD=PM@^t}<6Md?B1|R$<;8 zk3K|+67tdNq3VTefAn6O5%UU__Sw;x1oByNMq+o5J#|y$L*B#k30EB_9r4yNXLBd_ zU5m>R$8x9k6LCj)$JG6Wt%sHMZr!bp?)L)db@CM>e~IuxYz2Tq@gdQqJV2%rp^~-| zf1_o?ej~hn@(IN&z}w`R?b++@{*K{p{ql8WavHE`Tew-P#E}b;+YsroXL~Vuzj?Mv z)P*nvvxG54WQH|_Scc?<^AoiXc?Ih(&UkRd;M}ks!38M+iWuRe>%n+ZpEE?CbelAv zv^<+TTPpih_%b9p#5iO=*g3>APyyaHl0;NgoIa|loB81CJA2y2v|g_1AAVG+2-)8{ z*w0KO{L*;yI1%Dek$Sk^oCCDt1S-VvhFsNjMwk7|eR5&1-U#-xYe^%_3Ol+xg@c*$ zSyZyJOUYOK%-`+JchV_VDcqH1YD^qF9OQ07;-cd)Y0ix#BGZ{4yh;p8sOw21;u6vt z7|Km`j+*9oxo7xhWM(R(8gT`T-IZF^C-^Rem6AKQ{2Gh@vn%AvQQSOo8T z0vNL17Z@hSfW-KLbuTZU;iVt;fN>oMuX0|{K-td&uN8if%ycpI7t~B z`YY`!d(sZYx+>?G)tvh9j)WVT$#|~B_(X5LF>S94)5J_Vp9|pM`aI|2!x_ZU-=lq_ z6#!(N4x^xlupP`OHSx+a?S7pfEhp!lhVaJ5%io*!IRm8yCWX@z`SoVyZ4HjB9FOxG+v(jj z>xXH|#7hRB)5NRJyZhv=Gd3?H!CUWc)UWc4a%b#zMh=~u=D8(~lJlYcuF=7YKpigU zc*py<`Xo#1#n_6?wiut>cgoL$T5b16y-miJbyw2|-JbOsPp!w1OZ@f9kJ*dK_VbMM z5aK}IrYolH?R1GY2>{V3k?%#)XW&ELTk-L1ifP4U3U@CzfRFgGZ8vC745&T~T=D(U zUg!P1TAHPf-7@In+Lq99;amGu-o1K$xwct<*LT0>oB7#sDPmqJbQu}7L9E~_{d`wv zdt*9t7zS_w;&qDqw6A7vZUVNYo54H5aIDPKut01Zzy)O>{g5WDZLOaF$$DF_E{e0($x zfJEbgK9QYYUTSY{ej3vuJYa#0$Hti|2BB;x8^rGDfLGXRGadO##vRUHI=odwhrz6M zN4Aq)J!a1g<-G7upZ5h`_*x1I=%+~2{5+&>_1J+Jb(-8y&>)SsOR7#oR>Z|<)b5#u|4LMnEBU@`mgP*pB z#*A*(cK@^k!t2KUg<2as8IZVHTiG~ryYZ3zs|NQM{!cc5jO1TcoGkgsG~^UXL~I?5 zNjMmp7@5fU;YdhGcpZM4a4U<7|0ns^8y}gOlan1c0O0EC%IM07Q2z|6=5`0uvANO}LsgGLS`-|j(;cpx1#@(^oOIdgNUv57fUDp|Cz4;B>wlp|0LuE{4?@@lf-|B z`CqwTa^{EQ1^oA%@xx)z!nu4+BZ0Z7g6dcLwaESzNWPxbU-6&xE1KvXpCqMx8O|V5 zqC%=}pl7X}F=2KZv?D}5-3GP4L|4C9(JoCSx z?ouQ{gTo==L_0~Y2?qP$z_8#~_bI`ZD)4WJFK@{>aI&>PT;e8{7T=InFJQLO)Ok@;9)V!JpE~z5C(5v-_iof7duU5g`8^ zDyZP{WKx6q+jA+|sS{=e&Iku5rpAF255U5QST^(DECmXQd8vmV9Bq1NIZ62cK0u{x z!2$#+_oz;QZh=hVXQ=dhjH;nq?!PZ13T()kYp{4y?-jojz~?QpZj&3=Rz@=uMiU;* z*Ob9*Xvr36cvx&5QLxM6K65doy>(JNR?g!;?HWOpvo_C6^GTgX5KhWN*?K{^xE+RKw zOJ(NajB|(ak*8ui={qY1fRyS45p9(nc#fqCrqeO3hbr?=m*v`NFYGjOAqu)#`23m4 zB`*no)4OfifjTAu-wh5D!28~m{?4_?@`sHlsiGK+Hn@b+7QMF~@a&M43#qM9#>{Z;hPAzHNMR?3nF~9(G-J)vr2Hx<+f$E)=)1+%G8AwuIh&^^N3Cv!aL(zFCd-tIp6eO?sPVYA?-oV*?&qRq z$qx!>%!!2L2Lb^Zcvqr!yOD|Bj)QNUVsNkUzzZmh zWQubwS|0;5+FfOSw1jTXpLkOhoj%^ime<jCEqZFA1$ z3Elj)&OJo(18%|YO&-MWG>OALY?m}FXguo@da%u2&u!OiCq%?*({aY?5|cW=t*RJh zLLeMie+~)S+uJ+c6)k(MPGc@KMRi=~e=6xb=$v?sD2SMC$5ns4F1|=*ClD4bl|L36 z*gPMjuW-87a97S;c47e6sM=B=WldY&Tz3ZFjiO#uLqW61-?~N2Eahr&TlF~d7p_O| zhlmi1ggd^c^y@zwX_wX){=K#f zZPxHD`iAHo@U2Rdx4D0QBIdn`$;=kS!<)?wR*Gt98(yz^@+r87$L00=M&|a<`pS6e zPgLN;^&Lzo%mY7kA|9!IftH;fBI(%e)$o`$i@NEyL=XJuz%(bs#n8L`^!g&bm^7h9 z&%O79i51mUA>zE?OxeQNGY?#IrA{>~*i??6n(;B8ZEG!H>zd_NI%st^F&X%sD}cC1 zfjN1fwpOAaBbo8>BS^Ekxrt^9XbSkOTTd$y{3M)4!F6%$v9|o?y@D4uU+M#GPCW3HDgQgr)EI`0m)D@>J|QYpG;hH!hb0GIm^Exp~C=DrQ*0 z3ks;y%n#?Fmdm}#TZU1U#}u)-#<}Q4P9>(Kdky#zqSOqvnwx1|0SZWjpW}|J8L|Aj z4DKL);}^35Gqu7&9SuN+_fEW*XGXfNxY5-3V8F7F0OP7VyVJ5gaiW0pFXe&f#miFj zvl70@QL(?MUL;T5>1WJ2x&ec~!=7tq6!=b-)mlII+@Vs`_3Xa|wOV53A8IA2c$eK| z*dp7k8lEUE9$BAgg?TEse08i_BG#De& zw%>F_&@scT;^q;jV@fS~(B9a9r3cTo2R!1v`KE8M=ynclPtUq72Hj^;!OGE)+Ady& zWJxD^B?NOgC1GU{tNa6UHB+?o!!kQ#!^&}cU*|TX%~#6iAx2%8 z5lG|9@p669V&OL~kUk6*Ha$oytOTHlPNm^U$T)hXkbB;B)oO54D)Ja(E$CwX<(qwn zYd8eb+##3urCC2UbtVNF>tG}{cF{BHo*l5@O}qo%hl*1)dbQ6>6ko%hHO(9of;fD? z@!Q!!S$F%;r)@ay$kxCi5IB7kt5r1_T|m}2_H=? z^&RFOuYM`PVj9E&lJ^(;MC`8G_lCHj9h|@z^u_aB^-m3>Re|>cBm_JX^};{z&+~A5 z165$%UJZdgFKjmRdLGA*qQ(I5y_HVOcN=1?th+LGVgIcuRem3i7v8juje9r#{q2G{ z06+PAn_**a^QlG7bYKXc3c=tHU-KOcHIw`6pyB1uk}}mBaJod2`*&kVIk_vSeDLPN z3E&IQugxeQrkp%msOmA0yHbo~QJPN4 zMutJKVxzOvpVMLV@_3i^Fc?f79a4BazSx@}rp&z9+iLmn##j0^qxxBb?>#62oJt()CamVrycNgpa3 zT$%yTBuVy&D0?NSHA!1#oU7ap^wbVyy z<1SHIq`?D{SlZuZK|qU;nSZhy5s$ z?;lmqJv(bbF`s;ptFxT7SgCa{*PZ|H6dO@1nE7$4^uPf#wD}P0*1$uZ#F=qCZ%JdR3AyjG%&b|5n9l@* z-#I6)km}MIfo~MK*_2G!JIU;g32R5D6}angsM51EO}8|Afd&-l2{n}P+Fy{JZ#@~u zekW2b`ks5_aJ+V{TB(6l632<(pQn&}#BFnLv(mqRJ~NJaL+7e%rwQA6{aeMuF$gS< zN9Io$GrQL@QfH}f9JHW1Rd;)V-lnWiqs!d{erD*2y;ZLxHskH9fS}#uYMU&Pw1Rn@ zAY}DZ8R$8w*YG43g5h|3hTKMxokLg?~3b&N}xR5q3rgO2Y+Lyhe2bT#7f<9k?6jbYT#fT9ngTg&X&p-TgH6Q zD8lh_VfI`9L!(TBy-Se^SVx+;6G{#IYD5Ed#)6UcauV!hj)Ntb$Rlynn4 zuAIPz2q%xQC9FP{IrwAL!71)8t~tE9yG9sd%~z%0tHYvBKPbRISfQdYEoXeI41SP` z%mn04x6v<$B+t%_nLr^bm6>cA1`-(QR8?a_UMT zj%Sg7)}u~|KfJ`V>H4LaHj;##*|9|oT)lZ-mQKTUmj~3B2x=P6ToWCAkI>0D(n`MH zv05K)O(s_qc=*B zJO*y&1Tw?ymqR>DU%7(dX&Q~~dX{TaL(?7V72vjYXrgB{(xgUNT2x6;)R%ve(|A2TSc&)} zcp$~;fZPrUsxdim=jHrC7oBeVDI%lk6YRb=ajHpi+qqFN>nP@ld_%)|%I0&J^tmPM zQz!=YiygP7uAP7pvh6p!`*vX-Qe3$j6HolEo%!JeFvt1qgD``DLMLP|HaGQ=!uZap zsae?#zVR(?wORQReIk7Xb-luT1}V-16}_G;WR#}MGi~=w%!s{n)O|II(tT4IN&;{T zH{$NDu+?i@uKGKy`VV)oJJ(ghs0(qfKyqW<2>o<0d(dj;(R2C@(YU5K?qo%XK~}Y! zsj|Du=}0amFq^E&<}=f$ES87CX&STKX}Wm&GjCWr-u z>7eckI~54vn}~O&9gm=)~xyV?8(?ETd&~9lVl_l->=|!{O@Oa&?VcrqP)6Mj#!nTW^jR zXh&~%)s;IbjsMC7Z1p+Grh;>%or?iB!B!%yrzm!1_g<{lJaKlb(y1u4Gmu9m*6L(AxXM|!hl z1$CNI@x;pN?5`W(nyrI1^WkD#%=VdH&s~Hs z*WJ32J)v0bgCMu^Uem@GDf8$Tnc^n# z`M%^SpH&YGF%0S(4N3r!hAM$?>=)1}_ot693?AFzp`eT1j2kD*99v42i=B#shF#-< z;VOejv#z!RQiI4;m_tkZ$gY)U&$M&ppQ}QPQ^>Eba$pC-$;TI_n<^DK<@djAjQG9D z^~cLqJHM^JY_Wzty0tEjgNlJPJowl)wQ$~zcOa-i4`?&$w(~ptykXwI)g}_>=v5+0 z%`E;v*!y@H_w(~uzaiqf!N|LqZ0k1~!B<3P1YwGLK0`d1CJUcOWgt;68_2Pap>s4w z1JkfsD!1&c{VPGbv3E+N`bUQ^Q^nxhNRw`%v8>JECy=Wlm#9+b^0GS?yJ+w?B6zCunMz~0TTUBaSUu5-OZL%iPh_d; zDnk6_w~#kT^)N!Nb(%KHSd5zJ^D#kwH>Du8UaY;VdAi@dd-uEZPfkvK-5aVr7hNul7e`yCDBZ>u-eTvqQ9w+nIVJ&qX@GhTt-9i31}1l-tqX+ z(tkW0xHKIBEvJz4JIuwDcR@BNU!yOe{?+#;==S3%4k2K|+b_u1Cs4ZsH&93-Ix79aUbpWH=q^JVs?fk8+%s#0e>OoFN2Q`0 zLdxhhc2dF6eR?&8(((sE0y(QlWEGy;1(+P9H1gr%VDB@obo|!V#~uf7Y`;UpAKnFS zDk*HNX3I%|7@P8Mi~*3NUmXI;y3vgip~g_Tqr*4-oNfQ`9q;BQQZ9?+$X7Zx-%&OD zt(mn^6}F+S;cxcAjVKDY+@CJ9usH{M_9fa-S3cacL&?IrK|$7$rdv=hD?|ZXH$U;~ z!c`7~H+yYeNIhc(dx+kz#lO89c;&HHDriawh|y3sYvcNl#oFu<&De&LQZG8x#b$0N zFFpfLoE`6aJl!e>FD+Xqd^Hl7uF z@aSpV&ORSskKQ?v!j(k`|M4+39RWKbuWqNYCy|YBfUu2w)Z(gY!744b;`#c0ZvcoG zRGVwrcCx!o---uoNDg|{Cb*3461a$`W5MpVQ7eyI?k6jsrVdRo7 zZ6S$V!j>Fo#Z)BN^+Y^Ae+J%pQ(VqhP#aKN5l~RDtk#nq<}IX;X9k~Yb$Go4u-fKC zbm61vkU`gobeTg8Z?Ou>_Pz8cpG7>)uTP^S6MjdQxA4k3Yj0MZG}(R7TWj%W%2%Oq z17pyv__Wg}(!R?R3wWzfaioDXSKS@Ie!#ShEpS&|@zr_ar<;ankQvh{Z7avCuD5bj z78uwH5KhTIugDek_5w;gLzYiW24CWxKE}*P)XOL^D;0k=lxqnK_`Lao8k5-h?5tm6 zQhOiF!LAHo=|~`-8T)&Z(rVT-9=?Y_@lHq{*RW3B|wYIgndF(RnKSsuX8DbbPdk~J%Sc-~|w7AEYE zXJX9iMn+_6>L?x23W&eypH20xC`7gTW-0gEUW>LH4Kw^n$A$QT6Z}w_5hsfhjH=BP z=H5!N3A_^J z{f*|1!7O_+L+C_J7EAyF>hE{Y89cmktnI&|(SSvis_|W0Fu_ikZ&wT=B(ZqP6oMCX zA*nPk+M7yM_6D;Yx7Pn&6^Ax6AARMu}<5z zSZ`aa@q5M_u{AbP=NG36^LXn;VT5b7=?#^d;z81hrj@AsZ$C8s*G|S)lvZ0k(HB@W z%!pQ6V{xMqR9m!kA>VSg?wCc)FZwdyoacW2$(AlAS{m;~TY z01|qL_Zi?-&}kR@b*Wr}u~;WCCshTs;JKZvQU zGBpv9CGzU3l>K+VSTcE}M9W(?`4%hB0l9-@Jc#cinKu}TK1CeY@gQI8^F?@HpzSAC z`R4_na|NBPHO>nXp%w>^S$cIFe{VnS%+P-8u|VwN(g9{RI1vZVce!%R@0p8*`DnsM z>*l?1xE=vhS063>`4zIv=I>){2Qp)+e>*hmxkpa+>h|8sr^nhH%JrB*o z_KDA$ZGR98zDbqWWseF9ZLGRIM5qHHm}`75-f>&0B3p=V;GA(K`4(g}$VLDs3d(6{ z_2_#7v)+J{`gqQru*{~;eNW(zyVaETl5{}J99dcSmcdDtwl`f;0n0Tpr{KjIl~z$b zW?L6x=A`NmzsjfcZm5$ryi>K6Dk4+<1)cK7tym8PpuV@Pp8p#D=)SriJ#8Qg{s!;X zd@iqNV)5jLJV>4Zw}+IVC-)JUo-tab!eBGPMmaUP#xqQ@AVgHpFVHTH$qc?o)=vaW z#lDKl!8(E1D)ajha%s=+Jw}76*50>@gSLm?p3h06-Zrw$AV(9wP97@q2a~JS>_|T0 zlIfkP*i{E%TS|O;0$ZcmLhF8=q}vL&UWolgjIDn?T zKh7FbDN71{M?!1j!~ zh;#G@b{Y4Lke~#LvTvJ=8gh z9@RoYMzarW@QWnZtM<3<*JG8pj5~Jl_XhNWmhDF;67?gd^!9-G{Y!}j+_p;(VrbeX z(#q96F>#U}U-Qw>HE?&}&)#4g*kD9uO7u^t)v9~u1)V7jY5bNDcED}t-RSu={N=WB zdIIy8hkRs(C^EALPaymd3--J&4G~GLirv-aBcY!T38O=QpJ8~^^KXrV6N|dXc46CC z{0vp2gJ`2A-U{j#!cBJnnH;FJOqMrm!fg*V)bNO;Ve}|I5~SQ`Yy_0MzwUnq;=Uq^qi2 z&s4k7QP22M&-6zpEpAAM+-mvU_5V70aBsmTpZ;M8SuQniBW4x!tz=v9!zsGCVPG#Z{DQ?JqQN#^wA7*BdAWCdl=#@w%541=pX68zf6{#sy6xjM|! zuG}Bua5pecdnY69Wtd|3gadt(ra6g)_41slXdP;iuXOLP!<`Ie$UqJ&m-?mDur&A| z9yq0syzCy;@LmpLt;YX0C3oMZjN6)YKXM9LI)m*MjH2}3*X4ejrGn4^$(}*7;`_nh zZM+Np&OO^a8;S)I)$v@9*3rvwLpAv_z(DAqI!y2kHv@{5by{p4wV~Q>&Lg%NmC;7m zB@NqiE^M{kX6d*i-Z|h%tYYF4bxd)bFe`tfeG3z9*>2lDfGp0&(md+pk6?&X|GoqG zBm-9`%ysV#BTi|9JH0+A!PO8JUabLG_6hWD5$VvnyqQ#ZxM=SO_^7Mc zRvqj|r5t?ILHo4B_On}9__;lb5`HDdXZHlXb#O-IRbh->i*nGBiN+b$lF;bv;QiTP zA#H{@fG>nMN`<`>6AO`(k<-!GSUcyzRG+_k=7u)76pv$aL4Syb5&&SWBw zfYP0vGkIxOG0I7?tRPDmMPNosapldx|aSTo8>C{I{pVR<1j)+G#2fUEnPq0$|S<<+Dq_8%9i zqzRfbnt6e4EzypCJHZNF@1_t$?Fi%#gop3T7lS`{oRj>OL2`IFEAlQk-4`|&%8~hG z;!o-o7u85OUAK2eq+R%0fei&d#D5e)c9UZzU@d>?qIEefkHI3WA=QoUbgKVa9Edn8 z0YWQYS6SpPINf?Hlz8oScqFP#!gmT?t6MlK|JB9VTs~yK|B2w4rO`=&B1k_Zc(8Gf z53a+dZo87O@^F+p^7he7Rp<2L<~y$2#Ms0qj(4}#?zHn;A(>oDkn!aGJoRxo{^n;| z2?S*6THAz;_MuA6b&n@ZrJwWD>7ple+50%ph6LiuM)Atai9l4Tsiur--iY_6^pVh0 z??$na`Ds)3HY@i~_F%}g5HGZtuCc!*Ro}Sy$;bx#T2sgC^@YcXv1*;a4&bzI@%dA} z!O$Nqc0QZH-4K!&nX@B%{bkyLTU-=r8_8d)qkapsxps-2bS-hU)SUN=j-W7|DJNJom?lTC4( zvrMp^7n=lo5hO@I+564P@RZA>Od4`y%;&0xC zrIwa0RICAjyiSl6t@mPiB$#ej@4}~9$|in9#hZD34jL#1?G&b<^L9)8XMjS^JqEtIc!wwD`3M7-Lp{s5mT^jDDQbqdkdRz)>wwTTTuBhq-vD%K0k!Wp3lu!nK1IMI0$9z$TN#wMPi)oNmZF|NRv7Ydw?N+_x{qmtP~BP8ZEB2UAb2Lp&9RO2M1amyITCQwE82?TfCna6hKFn9I5X zFJZ6})QriV6Of3S&1lQc1L~3z!Pf62(@dq-;g5qQQ6_MVe zIj#zYAmad9WTtQivQ7EPqu|t`@2DpK@v6}dF51EQz9QSCI69|M? zLs2IQCFc!B!N1*hdc|hNICql2DM;%h-bC(Ed!{PBN)FRWP&v304iOGG9J*?J{0U@- zc{Rp))no=;KWQ7Savxz37!f4BSq$;&#MU`&3t8j>yKj<01#O<0>IQ!`ADhhmo^U4A zjA{30f5}=*%Qc&TJt;1?VEuIwVujNbO}D`wvhhXj-!@RF+ zT*>8C4sPAY>mz!m`*%z4Lvq#E;8oRO1z=NDB;k!Ye{1mwY&3oef773{k2xONQBL}_ zp!^sLdtLXpD<8bKH*W`?z3YLBD8+KM#_Oni7R00VP^0H`#AE^2`rtSk-|cAkH{{98 zLfu*4YhVi>>NezvK|mFy)kaKJG75?MCdra!q|ZiiLJbM%uI{S{@fI2UfJJ1`biA*Z zq>Scwzu~iDpgJvz5*F|JcxBUO5aq|Y$YGJg3-Pp*18euu{{EX9)Spc=6)D}5EIOMb zFa~c2NOLvbd9C+gS1rV8vX z8I#jv>w~VlO|gCM*~YRDGoYHmMrTln{KmKO*C|yar`#8N*D4uLC$x(wh{Ye$9l0Ag zm_Z_$Dvz@<+NNiNj&Ty|VEo=&i$}nD)M`_2FP*(6Q-VNqH%J%#3Q9-5)`cbZ^u9O` zQQ6&scs^fwc^9!xn>9TO^UmbTHXq1-!>|Gyey725q>zO(ss4%^X+C=tYwn>!)1E7@gUKqXq)wsC&Gks1&Ou}`tt3H<`65n6@UzZr+O%=^E0lZw8?f%!O^1PxerOA~B9uk62etcWb1}f9d8L;m z*}FTcT+H!9d4l4&$r;no!ncT3s6BXR`#-y987s%yoWlF?4+wgcTZClD@JoHST?h?k zZUO5Vl~`o}N$U!vd`u4ZXo>zF8~TSm zjwfC`Hzxsul)nn0`|f5jdjlIKlE2QQ`4$8!IQm%h@AnXmwVhOMveWS_&im-CPaQko zx@hkbT7nksdLCW2__{1%JwZx)a?IAlYl7w~iN%%-AXV;pw52Wln!>pkyjRjq*bgk_!3$r5Y- za*rPUVY~}=xI}iHSMo&m`qjw#8{eYi%N6JG%y%qUk^V>-1HDAk2$P-OMzuHZuXB1S zl}Ot5GN|?9-p^Rfe}oz~0<1lRp;*7sfp%~XQYtpXq4QKX&9^;EHQq!y)?suG0e85@ z4}2smgxv_vqCksy%$xnbg4Jxe4xxas?vq5!#JfDYTfiubI232M4K*Y-cGUQRpsJVX zeq3IBYW{?l3C41edPi?$|F>!oBM9`rHgnPdv$ODRf032MkFfn{M#o;(##@0s#xFCl zRdPK$a;IbF%K~x!vOt!{A9L0)Wg8BIGkco$wWp2UvX8d!`Hr2r)9Ko;R6KYVZuK3% z-M}gwibvuMrM6r}T!*wb;n{(&%kL^qRGd5K z>9ES(nY!tRz{uFb_l|{W>N;-Yr)+sI@4r@OKC6V-fL5|rh1qXv>grOh`TnE7%9&y2 zH!`rmy3`xrNN2IV7`^`FjzoT$@5V-p&lk#CuRi+0dKG03kDI4e#p^DjQWY1bT74|F z!0_;Vt?IAPy5q@5{0ligXQ@ftorDh#w@R^PaZi<1)3R4kZ%3>iU)<%8|QG;?psHB+$td;ya}f649BD$vDL9ru;L<8L73nwkKSQexa7FXaMb?{feMvND4_ExJkZdug#f54K8D9HM4ah-1w*KKOA)O zki12#-;`^S9?^CRp}=)t9mejLn#vjk8Oz-9H&@a{z^hgb^en&b;;ZS(C-S$0Y1$h^ zxY8Lp!0%yIYW%{hJC{2m%teC_XcWE8@Omf|k#h z-03}h+&BsAsP<*1RhbBkuX#i-RC!YQ9WLZq_O4#%3<2IYcxE}Ls>D{oOHjIvs0{-2 zy5OUV60slM<^3%Bl+I_HDB_J8XJGO{NgXvXOMFd;TBB-ZChzXzLcm zg9Hzdpuwe)U?I4BaEERr1PSiexJ!b&6D+t(qrrl^dw|B>p|RIF@7^a>x9WVw{=v^) zd+#;&9CMB_7S3;3O1gJBIPYQE3oowRvbkvZUIv|}LWJ;M8N_l7|3XAk5BihJu0NP7 zKHF9;+G~cT^bIDN4;St4CD27MvQu7?XdD|-+?D&kt?U*p)(U$jd5}1plj{Ozl!amV zUA0FZMP2X0Al~+H@q~bwB}vuu{*KxH+EQO4_={Ti+;T4@;WpSC33`CQa-v8OP~%F4 zKq{uUH>ZHgtU?^!nZ?fuO)1a8b+%dMU&bjbb=lapJ{np*h*P);!z0#K48J6W!>(!U z>5yHAZ1&9&%WXx5Pvvpp=U@3pNk7lCT|{V>#46haLE@l4g;=GoCZ$62F?Rky!9Hv~ zZYc~L*I}WOCc-1~HSU9pHN%%xNF4rNw_mXn?zwJ&$l^KvyXnI7s!kXV%ack8Zw0?8sfGxmc&Hc z`Hs&?s>+(w|45b}&32Ur!ekG8P1bbxdf*c*`h_e-7zegvW_S+E#yc^7l*FDaS7(1r zO6oSZ6&bP1jky#4TpA|+{Ao33fHc7B$oF*P>jL@@B!HE?_OKs>Lzb_tO$XAJ;;8~- zlw}mN;xMxr>xBFd2RlA~kP5PW55A1aFlbr*S1KpJKiF z^cMnWK<>(-ISu8{ZB98&OxA;uF4?AcY`zV}&jZ)@ruMjnHjs;&vWKsp?VDDI@v zh$E)|8-W0+F{(lFQr+{LahR3w4NIzQ zo7(G?(usZtJ6NI{xcg5|67uBLFxR*6&#kWNZYk_-2W3Tx9X2qxO@fFGAM~pF*<#DM z&DF;z1P_1d4u|)+CD3=!T!iNe@cRQnxn}*nhZ)Vd7Ir_Yh;6i1iQ(lfLhSjTql(MC z`o*IHc{}`*##{S{BYFMwqOViHK8snxnsy9GX|IGwP5oLwJ>RaLUqv2%+$5 z7u!DM+172^{Z!;hlgoVN1^vOn{3?v4S|3Wx4vJ_Iy~Gi$I;&ugr@HJc=WZs!ey{Ue z?i;e~VS1z0*c;e&1|o|hotWJ*ag!?G=A#M4yd4hV*~6JQqFv}@YWXn0T&3t-GQsP_ zV>8QM%Vsr;yzcqIJzMQ5ia7RRGGVp5vIaib#B@!cJZ{g{d3t?ov75|$^<NpMa{0b1 zz&#iUyMC5onfY-b)lGE>yQc%JC@ZTr!%J1c^nLaPRGTOl_LPo6K{@63^TS|?mv}6= zzIZsz(}42lfa*S zn%`|lsAwvq&+)CyxAzP-XO6wlOk-+wK7W4Y^uLe~-ZrQt^u=Vi5bbDBCuJ9EMR>$c zfphs&(!Hz=Z*F=^(g;x^KA}MnHuZE0FirQKDC$ z*@sOeJ;xntMI(Z5@w@^UQ`d_NxgviHuUh9qzXZA!q=8-1v%d)6OBGq{xw?4W<`-@sbZWa|eC3@;Sha}cmh_8Ghk2@r|Ua5xLq#N*N9{x; zxpLRg9~gmXzI!sUqyh>j9xCJ-8brhXd=7~Uh@||f6~n)cB>G@GY6u&L@|N=ZNMnlGLv`dscF^RAc zimr8=ekrrs&9kN|cY2?%)3IH7+J7?JXl`ifvtxSCCjz$f+FUg$&CavGfh(GQY9tFc zr)Cc|cKeOgQo1Ywo{lcV;KWk>l$I-BEv@rWGM@!N*tk}uVez$4az%mS>gu|e;NJDx z{?;BIU`3jC7LXp*akT0DRBDhZop0A3J%a}I0u{H9ykwOT75Oz(<_;j@zN)TWb=pf@ z@756Oj}^0P)J>nLQc(aXHK5M5qh*D^s`MDiiUOQ zzuqU@5LNpydgOb%#Z-Lh)$E(JRp2I-shRzXegyqQPzesXEnZapiJ<*osRop4EJW@< zyI9TXb8wCjSbeTzcx~bwMyTes-_!;oLb~qw;c%*|!79#BzN|9-)F{#NS9AzG!}hvw zisx-=%-e_sdlbUR=56rxdJ=l$lPLxvS|2kU_@WWwf{UG4uIBnT&HOg~IKBVDngGMM ze4Y0AnO1pbS7xw`XAzYv<;<9b%KQMyUq;dgxngG&SSeP!3H8(Rf$)(+Z6@g-bT{0G zqCVkr5s~&Px7>p4`QcOfm-gjZKT$BV2UnM(_$*>Vg8vvC9AV62m98hToanJ-bNX4hZRp>( z{jfIUIK_C1LW>1-+xm?5q|y~6R^GAl;D>kv54$xzE2&lyAZ{CoNB+R0-9Ai1`{9#E z0(+%#qqc(0JY@xk<5L-#_gCVpNOJqf;Yh6=%8{(!j-NGV%oc#c-~neiS>K8Op8lEn z>-OW>YeOEqP6Px7%70k^28@S;*#D?I4le^DUk^mvty^Uu$+wtt29Bh8c^MG(Kc#+* z>bTLqlwVQ9zL-*C4-Nw(oVp1iakO4~)8?X+66e#Zwcv~-O-9>=)0mJ-gX7`TKZk7u z`(T#t2R2>o`OR1pRJ}M=b*8k`>8FT}Y;cmv;gHtea`&<9et=q3LB?}_N24H|lMif9 z=B9X#uTKUO!pq2l!}{r4sOx9LJHvMxAGS3X84n)DRxY=R{cRj0Xv}< zJ^m)yqEIe!>;X;0y0FopK~mPHWZ9puFdW*S(uD|l1GZaR}?1CEI)i0xO&sQAMwiX+A zP5;uJzX81bPO8L#?hNRJ3yXS}go=8d`C0Z%@go*kPM#x{uFsKh+#DMo$InEJY{q-Q z2WC8u3%~s@V129O9g5OJnmDA%fA6Wch$dRBPI9i`cY9wt-wEe-@|yojEdORz(?>Nn z{pM2VxrNH-(t2oY=yO+_?Lc~Yt1r7zD~7AbowQb1l1PYWxvrM;*#U?r3rMXI@-O+oQj%EgEy|26Ko`;J*% z@${VIi)Yw$L?9*xAcg0s?FocaHO3})VZ?+VwG4j}jAE`(@T#`MIGC@mS0}Z+8g$vl zmh}^Xt-&-us(2HOlhSz9BdfalDgr}(Dyxwiv^>0BLMv8^dYTiWuR%ceIAuXzq@b`JEac}Mgo4#5(_cDo83kBK9~b~_4Jqfz9O$LZRv zvgA)U#>hOfZbQ6JdU|_^+N2UwM4@dXfVeisS;S*p3GOy04e3&&nO(J#{P>?wc+PVqH9JFr}nxEtd$9;@}jl7Hu%hNWVeDit`F8#$TQZWtl>U*dIUgcqNb=g`s^*=|-MMC`DqC(B6L9Zu z{cMBsJL0cDOah4GMIf8{j}3=4eva$b1UdvQXyr5X5&$7<0=m#dXanUcX8qL#d}t)h zPI@rOx6~4=Y`^8{_ORG)j*m&KB0p{|>|Se(&fRc+#(Z$6luKOR%PHR8!s|~W-qB#s z?0HN)K$H?N=eT?g;ox4wrT?(@W#2eOACwS=?Dj==eHi11=o1>g&3^jA34T9gr$rY z5*p0YK~AqjnP&D*UboK?l>-%!AT4DSf`@qf`6;eT!;c)lQ?kn5m*DzLA)<1?)e2`^ z42e;67=ARadxwQ9QCGh%QwaDzX=ZhkEP5tQdg3y==25Kvm<5Tl<|ct-%644w_MhI7 zkEhPF^TDlaI!p2H#{IN3cm|AJl_cYkeE z4+NX7&VCq*{ENT)xA?b?d`k_`m()R#$h8FUNB-SaYjh#oDt#r+hyCs(ung^D%r~zD|&RDF1@3&*tQsI}Q_;0#m)Si54?* z&1+)fq75F)IpRlHvpj3H8Qn08&UrGRN`C=bKAp;2Tk;qLyi$Z?CA^7=eH-M4qFbZ! z-QhA@H3b3ksY$;Jb=iJ+;W*f3lj8L?DzcM~v-f4?`nW8yAHi<}oyw_BS`KH3COi9s zi~HFHYrHAlsr-`b5ZNH9@vF7r)1{WV?)sIW#wlL*ae24YkM%wpj9gVWc z1APmq2n&cLw??72PS9)NJhmq1!jWwz>nDc5a}C2Cg&B^=S~C8h%e+cPQO8i}3$}bw z0eA`jkC^BASWgLyF7zR|w~EH`k5#-TdrG} zO!g1`3}4y>vu?{><~*4&x-3Tt2L+CAggxISj2PM7Je)o9990Tf{UT77|ASq2mghdF zouWfvE%plDk1TwFsrjb32?at4v&W)+-71sR#-ei)V4-z17D*`5%2~Iu9q)5oeUoY@ zKM9~Y@!2oQZ9VfPk7X+#An{K{LrZltFxM8+HltE3uB(V|{LDZU<#6Y}iv(oomMGS~yt(QDkE7bk zlDwrQrb3yYqq8I5nDhASY-5)BSG@)9?D}=w{`9z5A;vDYHd;pFoE32%K3$|F>n{A% zSR2|hqCG-&b+}oDOT-J=wk!O}>vxgr|6qvH{~Rs7--{I+RbuCPb?8Z78WnK>1{7%fU3M=#^pW@v0;mMxgo{|6&;m*(Rr`k7|>nP>+Pc7b~4P2hR zooWD{O*3v*i&zs*R{n~=e;&Dy3NlMJp6sXqL}ad-r*-=*;3P<|?rs`o^ot9kYoke? z_BgDsWPV%`vUXW&5pH{K_fQ(#%#P*xIsOa3;Tg{yX|MUZ9c=}NRq7p{>}Q^_N$ng4 zvqV6adl9|X*%{45ye|aRsfM~Os3O9hQZ&Exu1$l@N_VArW6pfQsQw`sw>|;pm?%%S z>i~G_)B-=AJUMV^#>)%L1fKJ>B6X&K0%`Zpr*hA4d~O9AwI^siUYTmz{!a8~-y>Dm z;gVtR(6L#FgS*O7y=FN|#=72SwfrS~Lm_(W?(a|h4iA7@gZ6i9c?@Qt6@T_>DQS!H zR~1Ujr8{NbZvU%!U*UdClH##ttX~Dn_rz6=Zz11O%~gDP;=ge9PyTZnU;16Ev&Yw% z3*QaBA4;mKCjE&6H6KWgSiO2!c|blQdtST59FPJXpZZ0z@LAG-%`+CWOA)D3D`9cf zB)?Ik>XcZX=V)qJ3DH4kdPD7Vzhvs-u&eEw-RbeJCByXUi;{FCS}aymH<2}OUZ*b^ zK0@UVKs%Ds*Xr#j4|0uhp%gZ{VL?v|qIyY|sJqP>7^d-=5Cj-Re`qlr$H9L1u53#~x} zjY-yhsOhfx4lgA$=|9s=GDcE$!OA9YnvJ_bwg9=A2gQ zEPU5*JAV5aDX$Y~62-Wut%~Z{g+OfU0CqB=^;7K~3q7yFcUy3h)m?RYx zcYO4ZePU?kh_y6&A^lTDXQXyQlg28XLew4AGh4lE*}Wxw?hkjVX7$F564!Fr5wh@a zgF@8Vbcr6r}KXEARb?o;3mFRJG2i`_vMOpxM3i!gX}KMz{V;?Nx`4A~|E3Vj0=cz>wGP6yy<`Pc z^qN0$)#lzJ?sfXOuIUDFjYfFbd?5U(oC)}(QGQd6+$CS9d~?0utqC+p@Fy=p9Jr>T zod|hR-lo)@HW!)ud>)8kc|rwAZKM+3X2f0-2DS&Ddiq@GzxdogLDF8HLO_`w8^Uds z(^MZmxJoX157DB}jdZ3`Z53v(S**Rjjr)lTjRfe-M6B<>)X+oDl2awuOw(2z+x7Ql>BT(9^sF$F?!eQ5nlga2p8$8aZt1I)%E@nj5oK|22{+-P9I&YQMn zz9r2(xH|nt&Z80;Vz@(8b&Ao3?;f^VXLno0y%+PGwHF!g5ejwl+f2H}vsM|PvVZc* zPN#*-l3@-SM3R)&U(3eLVW6Mj|9E}jx-yXi`sa}A%iioCv)JCWbT@IhPi?_|w6YkN&wG^EOyF{rB3Jqvw5EpvI*uRqpW=px1-pe% zPAk0#KK~v95BNZRqCkzfyJuu_E!|j^u5fNb9^kc7P%U;s=#x{x?DwcVOw8e=QB~Zw zU)QU#CctKi+ixK`6#xVxL)#s$KA43^?drCQY@AJMVObuh*#C9xm2a|>HnUKn$al6- zc7ALF9<^{K5d8FeyaI_Y4{GJ2UwhexzwpDNuz6SXqs?>%<*=7s3(YA`u6Oyp9Qe$> z9B#s0C0ehg;Dg)%pkofk?;Gf3kV12I!m34)e1i6@+3uL0zu8v=1P2(DQzGr^HNyMj z)yC}5jyQD6vW)+zuFC9bCbiJ@5SX@&Nf_jetu~ep$f@Gm*xxcecx4PdD+&0{;IV+r z8Tj0j-*y`F5LD>b2Nc-DCdSsbc7GwXE=-%w>oe-0KmQS(NyVh^)&AX#n=PWUKV7sP zkv1IYyfJe!%>Q}}mdJ6XM0#<$b^g`-_oq(coUT&aLY58DO(Uv#-M_dFda7?L5hk@i zq@>xQ=r35RcvR!3t6~_tCBMxn@zNkyqt-y!j#&JgFUK11==jr zfz=isXcu2@r`d*nQCOKMfGLSr+8$8%aXR+i0I7Dbrnmdsb5w(i7^*n?5o>mZ-nK#8 zl0Wc!zE_>w%+1M~m7FfJvIFq$F4ObTpN4WzjJ@*I*93uxd7n@s?=`FWhCY?`>q>eV z+Yj%X{&{tuO59bG6quaP?VndKU*MkIgk_Z9H_s^|H%6uv5RdafQA)u%@p27#R*`i> z%MZIFSh&?8Yd@U4S(^Z(g`Pdm!)YH)UMhXXv;|z(6{*w%Hn(TCQEwO=Lwk6>jwX$( zAOqe;e!p#h#3y3X)=uhr3pedme%U{$hc`K+&{i%eRX4q$qg9VQf0|V&1V4X!XB=(e zHPG6iPgvFk3=sY4PsBQ=%+pd}j}%y8I)&3lU0)T;&|)3kJTh`Pn^pW+wP_ zLQ+^x4z3Oyt1JISi(wYGmf9BWYgnV01%~^BMqXL~tURwB?vY*$>2C<;cy&L?Apeu* zN`FUxrsIpnqNWMX%#B-x8PB^`>u%mqjc+f<*<;*Zefr)kLqN@U5fp=jpu;L_KKn6y z88Ht}@Qmzl7*5^8oK4!4hTDlC3_H8>L{>vhTFeP9tbsuJyp zy4i7Wr;)qnF`VR8?RtJEN&TqwN+rccp+s^8o(Pq|k905f=}0D)s)C<}9A0Fv^`z=2 zjt%=8@n)i-Zq4=ti?-nDcXI6B6=mPMqK>Y_Yvuuc$p)g_x4u&Cn?<8DT*0hd1>_d9}!JaMqx%<8$ z6wrvT?6RJ8!mPNJH65n&0Cx7VbU% zFx1f%$|id8tV6Kb5#7<0y=1+Y{l4w&!f^Y-a98+U5P9Eq4REVf%a8{Qip5p^5^HQFU#tG@^j+$Z&tLc!8TnMbsoXdF(SaN0c=wjaZDi@bK$+ebq@ zM6ug5JwZYTfZK?o&t{>I_Hys}Btu`nAt8~KjWK)|g@fosEwy_8fX=csXAwZtBUleN z`B8oJpQ3w2-}a^JZWhfw)!0bJJ)BwO6F zeego?(-b*V&qn02n>bNMl^7Q0N9v^z-g6c3Jc?aWn9R39sflg48+kRfPl5M?ko6~l zkxX`v&!1iLQ^~g~5L~RzFd6njS_^MN&J)r8O6ODac?jI_pBLtL6JUMGPfQfdiR&;j z6H*>W6Ht1*awuVa^`cv+{n2TPnE3wsmGX31!aUw)gLFE=PRB@wEjpAgZ(R2+%XX9n zVi)yXqY+EY3_js7_vr9BTDyZ7zYxkQadqRQMko93Xq?Ii?BmXyPbUGrf)fB_;A|>J0gO^MRrzFii=294%+a5pBWObB z>fPJK&_2uUz!vZQDYz4-XA<%NDIOAPK7WwQYXDGw)_55sh3@0Ld!cST&0I>e1Z+~ zQXfrjLTMw@#9ca7P42ay3UL;}MHNq1id%+{_x`$mY(i3dzYrYqxjv!8R~N*hza0Op zdumYSr`M2T_$=Jah=9%to@Lv&I8l4Hz4?6Jvq|w>x>7l9xa+4|`x_8}PBDRahB&UI ztEBP~ke}Fbbsny$jc-LVl%D2mkAWZ&Qxu z;96~|(IGj*|FOuWaoa&qDkSu^ZML#jv@r>aioH=pm~B#SP2SNSN?xXnqTrPlafmaa zNT|cW93&LpbhE)WTcRCzq~7a?0#6??0JjOdX1!!*%CQ)7~R+g1MI z4n!5TuSFP;5B%`Oq5r`5{VOvuzTmEbflF7}Xf^BYLMik{H&MWOb$^V&NS(Zdp6->N zI6T~lF?N0tR_4?h|H1cCg}sgy@2-!V&I9Jzp#`Bk9kSBf8qT`Y@xW&Ew*OKh z)u*viH%&Z$d9YidH+Xg~Q}|1&a>2jd|7%4FfD+?{~uZ>`K2ok*UrpH~I7jDa5HEL}(;v^k!teNd*BQ8UQM^sQ0 zhzseJ%fcSR?AzfvA@VCCtv)Jyrw>h98g}pTTfIfG%rX)Oek`*De6&|t6{AgNs2sm| z&50>^PFl+7KfJm)+;ta5TDlB7eHYp9?71cxID4$|me7D*zPl-;wx5UI$aBXP9^wcIobKgzgnd}=gpqh`22XxUa}thM zWM}`|T5AdOoSqwCPMJ2qUqFa11koA)dsKCF7aO=_MbB~y_H@Mqpg$OdTXN0VZ(Cxn zXi`YLzg^}{y9k2CXA|DeEuK@R8idyLGX-xZpuEHSA{%5R9!Q<%!I~sww~NladzJdn zQ7WQ^QcSP@AqOt~K3)%)s&0^P zK9DAu6+Y_e333r4kH{uQnH6s#;%Q|g8clqepX9FJA1KNFOV0`#c6?k#Vr@1Xd}nJW z%xItl#3sx;ot_cSs>soCg}X<@f_s1ajZa^*4RCK+{WpF!b)b^eCB6g!nQcoU!{w)V}HG+-a&Z$^){7kqPg-z^j3p{xGb1>#b6{ zxzddxL7!}R)ZaFTzCMHnt+}K>$yGmW+BiI&l3yO+LMeYbm_gH5LCe@wz)`ewHWpiaD@6#vwMy0hTINhH@%cVbLOSu2TlTLq~~S;DMU1q1*BFk%gtS zWG2g>aPl9A&3orAwsnZ`wQRj@zP(VA_!Xmy2hn?H+h0>xpDm7Ja~4Q%uJTK>(t{

C3%I~CVQW3-)qimTm#4I%mmOp{*~T0D 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 PKjigLOHUIHvU>GjXY*+e From 17bcd2d452a1c54df229527906f7cdab5a057117 Mon Sep 17 00:00:00 2001 From: Apoorv Taneja Date: Wed, 15 Sep 2021 02:43:51 +0530 Subject: [PATCH 4/4] removed wokring.md from example --- packages/example/working.md | 151 ------------------------------------ 1 file changed, 151 deletions(-) delete mode 100644 packages/example/working.md diff --git a/packages/example/working.md b/packages/example/working.md deleted file mode 100644 index f33a94c..0000000 --- a/packages/example/working.md +++ /dev/null @@ -1,151 +0,0 @@ -## Working of `babel-plugin-open-source` - -### Prerequisite -To understand the complete working of this plugin, having a good knowledge of how plugins generally operate will be really helpful. - -You can read more about it here - -1. [babel-handbook](https://github.com/jamiebuilds/babel-handbook) -2. [Blog on AST by Vaidehi Joshi](https://medium.com/basecs/leveling-up-ones-parsing-game-with-asts-d7a6fc2400ff) - - -### Working - -The recipe of the magic this plugin is doing is writen inside [babel.js file](https://github.com/siddharthkp/babel-plugin-open-source/blob/main/packages/babel-plugin-open-source/babel.js) and this documentation will walk over the code to explain its working. - - -Working with babel plugins require an understanding of Abstract Syntax Tree (AST). - -### AST -AST's are the tree representation of the code you write for the compilers to easily understand. -In every language, code is converted to AST's for the machines to understand easily. - - -### Let's jump into the working now. - - -During the transform phase of babel (where the plugins actually operate), our plugin will come into action. - -Understanding the code step by step. - -```JS -const visitor = { - Program: { - enter: (_, state) => { - state.file.set('hasJSX', false); - }, - exit: (path, state) => {... - ... - ... - ... -``` - -Whenever plugin will come across the `type` : `Program` in our code. This piece of code will start executing. On entering, it will assume the file has no `JSX Element` inside it and will store it in the state. - - ```js - state.file.set('hasJSX', false); - ``` -We'll skip the `exit` part for now and will cover it later in the explanation. - -After ``` Program```, we have `type`: `JSXOpeningElement`, so as it happened in the case of ``` Program```, whenever our plugin will come across a JSX element, this piece of code will start executing. - -```js - if (process.env.NODE_ENV !== 'development')return -``` -We are checking if the ENV is not ```development```, we'll simply return and not execute the remaining piece of code. - - - -In the next statement, we are trying to find the exact location of the code. - -```JS -const location = path.container.openingElement.loc -``` - -Location object would look something like this. It has the information about the `start` and `end` points of our code. - - -![Location image](asset/location.png) - - - -```JS - if (!location) return - // In case it doesn't have the location, we'll simply return it. - state.file.set('hasJSX', true); - const sourceData = JSON.stringify({ - filename: state.filename, - start: location.start.line, - end: location.end.line - }) - -``` - -Now as we know, we are in the ```JSXelement```, we'll set the `hasJSX` to ```true``` which we had set ```false``` earlier in the ```enter``` function. - -And store the necessary information, `filename`, `start` and `end` location in ```sourceData```. - -Moving on, - -```JS - path.container.openingElement.attributes.push( - t.jsxAttribute( - t.jsxIdentifier('data-source'), - t.stringLiteral(sourceData) - ) - ) -``` - -In this piece of code, we are adding a ```data-source``` attribute to all JSX elements we found. - -*Open your console and inspect any element, you will find something like this* - -![Source Data](asset/sourceData.png) - -```data-source``` attribute has all the information about the ```filename```, ```start``` location and end ```location``` of our code. - -Now jumping to the `exit` function which we left earlier in the ```Program``` - - -Remember, we had set ```hasJSX``` to ```true``` if we found a JSX element while traversing through the code. - - -Now, We are checking it here (while exiting from the program), if this file has no ```JSX``` element, we'll simply return. - -```js - - exit: (path, state) => { - if (!state.file.get('hasJSX')) return; - }, - }, -``` -If there is a JSX element inside a file. - -```JS - const declaration = t.importDeclaration( - [], - t.stringLiteral(scriptLocation) // scriptLocation - It is imported at the top of this file - ); - - path.node.body.unshift(declaration); -``` - -We'll import a piece of code in our transformed file from [here](https://github.com/siddharthkp/babel-plugin-open-source/blob/main/packages/babel-plugin-open-source/script.js). - - - - -The code imported will add an `onClick` event handler to `document` and when a user will click on any element which has the `data-source` attribute, it will be redirected to -`window.open('vscode://file' + filename + ':' + start)` -which will open a file in our VS code. - - - - - - - - - - - -