From 08baeb683206607dc1c98210f490b19c3453fe4c Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Sat, 1 Feb 2025 19:05:12 +0100 Subject: [PATCH 01/22] Add check all functionality --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/fuse-x/studio?shareId=XXXX-XXXX-XXXX-XXXX). --- README.md | 14 ++++++++++++++ src/check_all.js | 9 +++++++++ src/index.js | 7 +++++++ uninstall.sh | 3 ++- 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/check_all.js create mode 100644 src/index.js diff --git a/README.md b/README.md index 54fb9fc..fab48d0 100644 --- a/README.md +++ b/README.md @@ -24,3 +24,17 @@ Please report issues [here](https://github.com/fuse-x/studio/issues). The source code is available for contributors. Please contact us for details. + +## Check all + +The "Check all" functionality allows you to verify all the components in your project for consistency and correctness. + +### Usage + +To use the "Check all" feature, run the following command: + +```sh +fuse-x check-all +``` + +This will trigger the "Check all" function, which will check all the components in your project and report any issues found. diff --git a/src/check_all.js b/src/check_all.js new file mode 100644 index 0000000..20fbd3e --- /dev/null +++ b/src/check_all.js @@ -0,0 +1,9 @@ +function checkAll() { + // Implement the "Check all" functionality + console.log("Checking all components for consistency and correctness..."); + // Add your implementation logic here +} + +module.exports = { + checkAll +}; diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..6c4f505 --- /dev/null +++ b/src/index.js @@ -0,0 +1,7 @@ +const { checkAll } = require('./check_all'); + +const args = process.argv.slice(2); + +if (args.includes('check-all')) { + checkAll(); +} diff --git a/uninstall.sh b/uninstall.sh index 53336b5..c271b83 100644 --- a/uninstall.sh +++ b/uninstall.sh @@ -11,6 +11,7 @@ rm -rf "/Applications/fuse X (uri-handler).app" \ "/usr/local/lib/node_modules/@fuse-x" \ "/usr/local/bin/fuse-x" \ "/usr/local/bin/fuse" \ - "/usr/local/bin/uno" + "/usr/local/bin/uno" \ + "/usr/local/lib/node_modules/@fuse-x/check_all.js" echo "fuse X has been uninstalled" From 3c6a98ea75d675b4032a71d6314bfc2c884aed0f Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Sat, 1 Feb 2025 19:47:52 +0100 Subject: [PATCH 02/22] Create xcschememanagement.plist Co-Authored-By: Morten Daniel Fornes --- .../xcschemes/xcschememanagement.plist | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 MyBuildToolPlugin/.swiftpm/xcode/xcuserdata/patrik8393.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/MyBuildToolPlugin/.swiftpm/xcode/xcuserdata/patrik8393.xcuserdatad/xcschemes/xcschememanagement.plist b/MyBuildToolPlugin/.swiftpm/xcode/xcuserdata/patrik8393.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..eb1dfe8 --- /dev/null +++ b/MyBuildToolPlugin/.swiftpm/xcode/xcuserdata/patrik8393.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + MyBuildToolPlugin-Package.xcscheme_^#shared#^_ + + orderHint + 0 + + + + From 81fc501a6e515a018e86175a58451cfc50575700 Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Sat, 1 Feb 2025 19:47:57 +0100 Subject: [PATCH 03/22] Create UserInterfaceState.xcuserstate Co-Authored-By: Morten Daniel Fornes --- .../UserInterfaceState.xcuserstate | Bin 0 -> 16978 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 MyBuildToolPlugin/.swiftpm/xcode/package.xcworkspace/xcuserdata/patrik8393.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/MyBuildToolPlugin/.swiftpm/xcode/package.xcworkspace/xcuserdata/patrik8393.xcuserdatad/UserInterfaceState.xcuserstate b/MyBuildToolPlugin/.swiftpm/xcode/package.xcworkspace/xcuserdata/patrik8393.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..6d2ec7e1dbbaf905307e879e4728e56c0da5574f GIT binary patch literal 16978 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®-pK4sGN$Ns+`$5^K#D4X~=2HY02^CEXY}y)0Pv+ z3FTawb63vcoPXt}5|$liW{pKhOO#_jvBF zc{q>dMduC7Q{~0wmE=vyo0sRwo1eEJ&zIMpw>a;-ybJS|SCSXQvQU~R!=1y>YoEa)uQT(GrZd%@0v+Y25pc&y-wf_(+g7Q9gK za>0Ru9}43NGYWGGO@)Pp*1|!BrG>)^M-+}MJh$+M!rg`Y3J(;1RQO5ZH-*2LRpvNz zhB@1uV>X#B<|4DhTw<;;*O=?g)6KKYE^~vq$=qyiH!n9|VqR@tYrf2Uh4~iqBj(4= zd(F?A51L;$zi&Qb{@8rf{Db)?^KtVp=HD#X5@S(XRF*hPh9$>hvJ_gZmO++M%P`AX zmQfbBWus-Ur3%d3_*EN@%hwH&t+Ym7C)s+I9*v+Q&2F8dPu2Kz4i z2lk`(Z|&dNPdJDp!ZE<1a3~!q4!y(Z$a54p?2ZzL(=pUB+~IL-a6ImK#_^ovb;o;- z4;&vkjyk?}9CQ5O_{nj+m=s4B#}}tK^POhrAZLYhoO6nEo^yfI=RDULaxQkB=e*Fl x#<|{kx$`RLHO}jt8=W^g_c%W;Rh14YEiWBkT30$ Date: Sat, 1 Feb 2025 19:48:00 +0100 Subject: [PATCH 04/22] Create contents.xcworkspacedata Co-Authored-By: Morten Daniel Fornes --- .../xcode/package.xcworkspace/contents.xcworkspacedata | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 MyBuildToolPlugin/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata diff --git a/MyBuildToolPlugin/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/MyBuildToolPlugin/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/MyBuildToolPlugin/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + From 60f85a8db7540778aadba946f40a780ac2a1b2d3 Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:16:31 +0100 Subject: [PATCH 05/22] Create .DS_Store --- .DS_Store | Bin 0 -> 8196 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9c65fd9946a5266d07035138608d4803eab82375 GIT binary patch literal 8196 zcmeHMOKVd>7(LSjiMEx9F0v`!mEa~=p@O?K+z5gevA%F+^DxyWxv@=%-DRyC{R1u) z1aTpBCTJxN#wR=3z2llV~bbh0c_jFPZN#=R5PbnOgv=*sU%CIRF_}Ewi(1 z#uTmBb)?L=p3{_y{%F(}S1U=gJz^O;0t118z(8OiFc28{Ul`ysTbIm)=f2g3HZTwv zIFJnJ^C4o@vfyOjN^^9uF;@V}G`mgV=dAuf897;SvTr3dEXul4T36++7|Ob{KXP^j zC;L`fcPMxHP;O-9ZYau(&iIirhbmYZ+Q2|yV3YxUcTXdaI_{w(?(cK+AAMajiQ{r3 zDYGy0cIU?Ss}~=ZrM~)0eS6(|H*k`kKniE^0KJQiq~aoT^Ul<%$$vM+w-VTp)7#$p z`^Zk6uPr%b1MLvks8*n|M^1`NG*OqRpmUX|jFmu@`u5(SG8%#E%TBib-0myk>et%MIKku8jSAOn@u`&Jm z{+;cZ+z#U^N?e06S3!xpwTY_COf3+lT%TLmL}iSXpMMI*N@lD!7|Ut=96vAJ9qujT z=Vvvlm3c%AibEW)!}VI_Do!LeGdF$)!d4)hz4T^xEFWiY{^h5lJ)J}hAMGR?f%&NU zEip&DE#hq%>}%X_4bH$8)+K)Rn3#P0CvcrU9eQ@?QDe?|JVb>nG~vu_FhUz^{9coB z%t_ Date: Fri, 7 Feb 2025 20:16:35 +0100 Subject: [PATCH 06/22] Create .DS_Store --- 2qw/.DS_Store | Bin 0 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 2qw/.DS_Store diff --git a/2qw/.DS_Store b/2qw/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..cbe3e592a60a1dc0acaac5550aca9294739cdc2a GIT binary patch literal 6148 zcmeHK%}T>S5T0#wh>F;wc-kirB6wd*yo-GSX;TzwNEAemc^mQIYxpoefk(gD8QO%{ z;7L?wVD{V0&t~!kG8rOr(}yA>nh;S6WgP8b`9j#w+LMu5*y;F;Y__P%x)*1L-^&2M zyD^>69X+nD+wbq-W#cKUJfE+sIV@@R{*hchzn!(c#elcIX`gz5G}@Q@(J?*If+{L# zNj2SLciXLjgNLHqbsg<4PhX|3f%D61Q|tFKy7kA3Y%vCm0b}5=Gk~7WlI{uGY77_y z#=x2Z{yumpV^C}a|W!7Vk0Q& zy0`96k|3xc*91I9p?fw5dpxc{GTpZ~i_c4Z701OJKvm*lg2ibvAk x+Iu+ewH|r}W#PC+aGiopY{iJ>R(uGJ0=wr8Feo;Hut4lbAktuqG4P`dd;(TVO^g5l literal 0 HcmV?d00001 From 135f22b11a84361fabe7ebc07cd1c43aef3029ee Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:16:39 +0100 Subject: [PATCH 07/22] Create .gitignore --- New Folder/node-imei-master/.gitignore | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 New Folder/node-imei-master/.gitignore diff --git a/New Folder/node-imei-master/.gitignore b/New Folder/node-imei-master/.gitignore new file mode 100644 index 0000000..1d153a0 --- /dev/null +++ b/New Folder/node-imei-master/.gitignore @@ -0,0 +1,16 @@ +lib-cov +*.seed +*.log +*.csv +*.dat +*.out +*.pid +*.gz +*.swp + +pids +logs +results + +npm-debug.log +node_modules From 3b019a83e35c9f2c20b27272a8a77932727eb5e5 Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:16:42 +0100 Subject: [PATCH 08/22] Create imei_test.js --- New Folder/node-imei-master/test/imei_test.js | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 New Folder/node-imei-master/test/imei_test.js diff --git a/New Folder/node-imei-master/test/imei_test.js b/New Folder/node-imei-master/test/imei_test.js new file mode 100644 index 0000000..e5c0989 --- /dev/null +++ b/New Folder/node-imei-master/test/imei_test.js @@ -0,0 +1,38 @@ +var assert = require('assert'), + imei = require('../index.js'); + +describe('imei', function() { + describe('isValid', function() { + it('should return true for valid imeis', function() { + assert(imei.isValid('352099001761481')); + }); + + it('should return false for valid imeis', function() { + assert(!imei.isValid('352099001761482')); // wrong luhn + assert(!imei.isValid('52099001761484')); // too short + }); + }); + + describe('next', function() { + it('should return next one for valid imei', function(done) { + imei.next('352099001761481', function(e, next) { + assert.equal(next, '352099001761499'); + return done(e); + }); + }); + + it('should return error for invalid imei', function(done) { + imei.next('352099001761482', function(e, next) { + assert.equal(e, 'invalid imei'); + return done(); + }); + }); + + it('should return error when reaching the end of the TAC range', function(done) { + imei.next('352099009999992', function(e, next) { + assert.equal(e, 'no more IMEIs in TAC range'); + return done(); + }); + }); + }); +}); From 92f6d821f7d52e5142d11a4f71803a53a1b74330 Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:16:50 +0100 Subject: [PATCH 09/22] Create package.json --- New Folder/node-imei-master/package.json | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 New Folder/node-imei-master/package.json diff --git a/New Folder/node-imei-master/package.json b/New Folder/node-imei-master/package.json new file mode 100644 index 0000000..5093dd5 --- /dev/null +++ b/New Folder/node-imei-master/package.json @@ -0,0 +1,39 @@ +{ + "name": "imei", + "version": "0.0.1", + "description": "Utilities for dealing with IMEIs", + "main": "index.js", + "scripts": { + "test": "mocha" + }, + "repository": { + "type": "git", + "url": "https://github.com/B2MSolutions/node-imei.git" + }, + "keywords": [ + "imei" + ], + "author": { "name": "B2M Solutions", "url": "https://github.com/B2MSolutions" }, + "contributors": [ + { "name": "Roy Lines", "url":"https://github.com/roylines" }, + { "name": "James Bloomer", "url":"https://github.com/jamesbloomer" } + ], + "licenses": [{ + "type": "MIT", + "url": "https://github.com/B2MSolutions/node-imei/raw/master/LICENSE" + }], + "bugs": { + "url": "https://github.com/B2MSolutions/node-imei/issues" + }, + "dependencies": { + "checkdigit": "*" + }, + "devDependencies" : { + "mocha" : "*", + "sinon" : "*" + }, + "engines": { + "node": "0.10.x", + "npm": "1.3.x" + } +} From 2890ec3650ef40f826c77f32fdf52936304ce32b Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:16:54 +0100 Subject: [PATCH 10/22] Create README.md --- New Folder/node-imei-master/README.md | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 New Folder/node-imei-master/README.md diff --git a/New Folder/node-imei-master/README.md b/New Folder/node-imei-master/README.md new file mode 100644 index 0000000..3372c4e --- /dev/null +++ b/New Folder/node-imei-master/README.md @@ -0,0 +1,33 @@ +# node-imei + +[![Build Status](https://secure.travis-ci.org/B2MSolutions/node-imei.png)](http://travis-ci.org/B2MSolutions/node-imei) + +## Description +node-imei is a helper module for IMEI validation and creation. + + +## Installation + $ npm install imei + +## Usage +``` javascript +var imei = require('imei'); + +var IMEI = '352099001761481'; +var isValid = imei.isValid(IMEI); // returns true + +imei.next(IMEI, function(e, next) { + console.log(next); // logs '352099001761499' (the next IMEI in the range) +}); +``` + +### isValid(IMEI) +Returns a boolean denoting whether the IMEI is valid see the [standards](http://en.wikipedia.org/wiki/International_Mobile_Station_Equipment_Identity). +In practice this means a 15 digit number with a correct luhn digit. + +### next(prevIMEI, callback) +Yields the next valid IMEI after prevIMEI. You can use this method to iterate up through valid IMEIs. +It yields an error if either the prevIMEI is invalid or you have come to the end of the TAC range. + +## Contributors +Pair programmed by [Roy Lines](http://roylines.co.uk) and [James Bloomer](https://github.com/jamesbloomer). From 0d90eeb92deae4e9d9b96fbb893b6cdd2f03fe37 Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:16:56 +0100 Subject: [PATCH 11/22] Create contents.xcworkspacedata --- Untitled.xcworkspace/contents.xcworkspacedata | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 Untitled.xcworkspace/contents.xcworkspacedata diff --git a/Untitled.xcworkspace/contents.xcworkspacedata b/Untitled.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..516c2c3 --- /dev/null +++ b/Untitled.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,8 @@ + + + + + From 6fdd7553f8c2776476594a7efadd456cf58509a0 Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:16:59 +0100 Subject: [PATCH 12/22] Create LICENSE --- New Folder/node-imei-master/LICENSE | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 New Folder/node-imei-master/LICENSE diff --git a/New Folder/node-imei-master/LICENSE b/New Folder/node-imei-master/LICENSE new file mode 100644 index 0000000..a02f395 --- /dev/null +++ b/New Folder/node-imei-master/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 B2M Solutions + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. From 755de51757fa845edb699a15846537d898a5c62c Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:17:01 +0100 Subject: [PATCH 13/22] Create index.js --- New Folder/node-imei-master/index.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 New Folder/node-imei-master/index.js diff --git a/New Folder/node-imei-master/index.js b/New Folder/node-imei-master/index.js new file mode 100644 index 0000000..4de6cb3 --- /dev/null +++ b/New Folder/node-imei-master/index.js @@ -0,0 +1,26 @@ +var checkdigit = require('checkdigit'); + +var imei = {35619444618110}; + +imei.isValid = function(i) { + return i.length === 15 && checkdigit.mod10.isValid(i); +}; + +imei.next = function(prev, done) { + if(!imei.isValid(prev)) { + return done('invalid imei'); + } + + var serialNumber = prev.substr(8, 6); + if(serialNumber === '999999') { + return done('no more IMEIs in TAC range'); + } + + var withoutLuhn = prev.substr(0, 14); + var nextWithoutLuhn = parseInt(withoutLuhn, 10) + 1; + var next = checkdigit.mod10.apply(nextWithoutLuhn.toString()); + + return done(null, next); +}; + +module.exports = imei; From 669431a63e4cddee6ba052544f2b98665f6f3def Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:17:03 +0100 Subject: [PATCH 14/22] Create WorkspaceSettings.xcsettings --- .../xcshareddata/WorkspaceSettings.xcsettings | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Untitled.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/Untitled.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Untitled.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/Untitled.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,5 @@ + + + + + From d6589f8f89cbc7e86616a9cc6e0fe41eded38cec Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:17:06 +0100 Subject: [PATCH 15/22] Create UserInterfaceState.xcuserstate --- .../UserInterfaceState.xcuserstate | Bin 0 -> 34610 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Untitled.xcworkspace/xcuserdata/patrik8393.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/Untitled.xcworkspace/xcuserdata/patrik8393.xcuserdatad/UserInterfaceState.xcuserstate b/Untitled.xcworkspace/xcuserdata/patrik8393.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..9535a7cd7a8cc3225589f3161377b56c75de9c5c GIT binary patch literal 34610 zcmeG_30zdw*YDo9BHMrn2r3{5iogIfz#y`(Dk=&pDhdNLz_84~%%I}>u4YzhE@`D^ z3a)8ZW@Vb1n(d3Zmu;q&WsA02srjAvhG7x4`hWE;zhBNz7~VT~dH3A2pL1VnU5&wF zjf^}_AqrD8#ZWB8Q9RY9FldtAY%!ROV}rEjvPuK|RS;w~)fEPrN~`o`R*O4@?p|B0 za2=LEMBk{_rM3Vap#;idRK8Vf)r;s!H@uT_q?{-(%A4v=g;Nofl8U6FsAx(>si_z$ zmWrb^)L?1|l}in!hEc<*JZc1GqUxx6%1l`(E7d?vq9#*Qs77ikHI151-AB!*7ElYR z`>93LV(I~ECAFGrqMoFlqP9~{Q#+_ zOX?fyTj~<^6Ll3Kgpq(8P&ed>ypT8Qj(m_WibByyh14hp#iBT*LGfq+N_jEKqt|M=nVQAeS^M5m(XSO9lC;kLD$fA z?0~yqN9=^1u?zOV-Eep8gZ*&;?vKN8IF7(d9ETHeDo(>$I2-5SJUjxA#G~*SJPwb? z4R{isjHlp6JQYvF)A0;E6VJjT9*7B^jpyKd@qKs^UV&HQRrnFS8b69RI zU&Q9|Y=kO(b8UKv0;p_N!8q*xj(~h(g?M`>4y=Y&$2OU87 zq5IQew33dbqv%2OV0s9hOAn=o(ZlIHdIUX^&Zo!F6X{~Qg07?uw1u|P4fG^>Dm{ZH z^lbV*dOp2?UP#|hKS)1BKTNNnSJIEt>*!7NQ}j-HFMWVMNWVhALBB(PPG6wEpueOq z(qGYE)8EkF(wFGV^pEsahGrOsWn38rQ z%y1^38N-w@I!4cwGZl=5u`&(JBxW)*gPF<9VHPs?GmDrN%t~ez^Ca^Wvz>XG*}*)+ zJj*=C>|~y2_AvXIL(Ip_C(Ie+0*O??5FHm_9FWg`!)MJdxN7m#9@x+7>?x}IVaAO^Wwa@?p#kU zfa}MFa^YMAr{vUJ442Mjb2(ftH8dJer^%Bm|M#=an0O1Zauew+sJL=Hgk`0ySUxl3)~)VFSn0- zk=xH5;Er%dxntaM?gV#|JH@@nz0aNI&T!|s&$w^6Z@C}2pLmw%c%Bz{2fhpM$h-0i z-h=n&gZMstKR%R?;FWwfpTiI02lGStTz)7&j33VD@gw+Ad=anX^?W&RXwgrCbV zY!#jro)dNo&kK8m{lX#PHQ^oMsBl6!D|{|o5WX4}WNfIZIYv2CE|e>!pt@3?V}|8N zRO=fp+LSwpSfXtj^*Lj_V{n<-za z2i246Mfp+wQ~=dmWJONoML~2ByNHgW(`G7&>O%#?&%OWxzeQ)!MRbLq3ILIQM;0r( zN#hudI@9DqmMnO<{4%p%Z=BeAHOs86)fX$m;X;nqGSpCE2HB$K>KsT zm2{KQYBtr>=*`8^(HeDRTC^%WEiyhbTpg7b6CSV1iV4@K(_*vYRT){aG3sK4A9Rpf zW(5&?n{E`{+vZ|2)s$+@gY0uDR(QAFljqrbODIYT7Qf{+Vjl!CHjf}Vu09N3>1UJKHDfQRZ5jnI!aHKQx#MtWuU64 zYO02+6@$enakw~IEESF76mhn=KzvYKD{c`>q(}EHEHml!5ip%025Us?yd!c=6_#R! zvh{Ahsli;PZ`mEA2DO76sjo9xq$hz@DOU7oZPBs641H-s1t?V6W>Z65zP<()4Ad`Z z;CGt_X(m&3t=3#!tO#s{7-q5>%JdewXZdUEe2W!6HYoXLdX1?;*EYpsMQCdmw||cG zO0BU%dW48p;Es=w2D_lT&SWrJEw*uinugctiWR+Y)1Uw-Gh!$#ui03v@V^aEE7jZ{ z7g@j`VEfrtO|NTxX#2LALCvAUHc&IES(Hc-YPJ|6_7(eyp<@3H)Lp=S?uP&Oh+)8R z!r{MCLVIsOIH0(-s}|-k63`-Z5zu;zWx{O_B;zivQNGtzKc!A<)aiADbif!5W6x>RBE$T{qatU7`A>_Eiw*kNauH??Ny;!$cXwW4TPe%m$sqBm2UrA1#yt*16n8>vlV zw5Sr*VvHEOfqIPELT#lUr?!c4Vy2ia=7@u&MVDksrhVD0`dUi?@cLp!7+h{eM2Gun z`f`(5Z(BZK**0*AWx^%>FnIPntrb?*m~S=1ZAoaf!y^zIT(EB%sjYqL&r&-n&nD_Q zQPV^{FUCt!Q3ACIl~j3FcF;Z4J}Rt<+A9udqFxje#K_SWYlF^UvfqD+dRH^(%#K^>hsnWxFBYU8TK0&sjsN8wQJ>h-ey1AK`&F^xAyUaIJm8kpQ&G3 z*X&nuh!|;aagF+2x^Z31ZK7_7L&eB~0&Ru;(GZPTxQiHZSd+YDkrO6GM?^+MhL`HC z+KA|uPEZ%*N`ri)BNs7G93hSr^VcH<6^z_L$0z`yHp-@3NIM1Ax~w|gR9k1( zTO@;5MzT%rN&;!Pv8HikgV6}vC#}X*R&D9DiF!(%v_K9r!fpem2GEiu0Mb_AVnye5 zii?V#F~dIL9w?X!dkpnNy^tUBM**le3PeGuk2ppw6vv9=#PMR0I6<5!7C#1(ZY;>T zT9AH{>?=Y_kZ^t=-%3F0NiwgusFesQ z0r54ISsTni$pLqQYmtCKcYXarIY~1N(+ZL}}6vPD05j1*M8*qE6I{n;0yhN5AVC(t~wL5X5I z^qX%2bq^$g9d;xt0HR0vVpS6wC05_D%~8q~jYZ?ocu-D2$&v(9p5%`Lg$alVh)3pi zVy##+T=8_N-BpD!&9EE~`mX}47;9=7C_Er3L9N%1HGt5NpJ9SU)}TOuN@8T9rA$)U z^CUG4NL-cr%BF2&H&SQUu5EU3YVP6~NVWV6+#h87*6i#Om{M>19++}>iu_G*3yK&x zq+rzOu|;}g{Z!jsglxaT-s<>oj?7unL{tpc21uPH*&lWk5j>9Jc@ zejO@7T583ghA&o>78h8v(?>_eW{fUq8w1p`=-9SD+YMRJSf{tdwG3B0I=@&I)dnZ8 zTt2Ay#)>wjrPz+yGE^z;N*&Upa#SIj#5%EFG)ud(3RTOy(jr>_2X^J3*o0OzN!o-B zVnY*}EKd5vO*joU;fz1pgp>b)O*rmhp8jVyp&ff7nk!+CpxI~+x=U;nr;5|W=@Rzl zp?hTP%@Ak)-@x7y^nirDrQ)n6v`iHL5PJ^;_E!E8_Q-I>vcH>!Oq}|`a}xF(o4a&r zWg+mrJ)gLVNjP=n5mcoeKdVu*gr7&z8nhNQiF3re#JS?#5`NaB4KjY_iTC{9z|Rxt zDG5JMiuX35?c#lZh@WQxKRf>jKl6vXp}3n6)Xn?9$>RqJ{a#(qySQ~dDmZj;E~wL5 zE60MVsGpJpHfpn@Q;V(+w#_JGnW?tc0LDVA)~%q9B3Fg;M7?B?NSdL{9%b2)vu(qV z(51U`lOw=*INL5h$wxJL!euXK=(@Rkk7gg=)?LviSbFwqCs^i|$orvX!;GC+R$DiD z;i6^h9^by>`2#P#_U1cBPM`by(oK8F@1{NUi+vC6M*G3mKrf&@XfNo#FNzDr`^80| z{Vv{s4uFXpgbtyX#U-HoI*Sj8%Ow5bW(x>ZN09Js8e*%gx9JGOji5^yBx4rr?LK#g z%rr`p4d5iJF5Pa>+O0bKoZmw4z-E$7Ep%91+G-@Aqv)8;(72`ktcq{bpHHFpTe~U1l9Slrxn3K*Z8Q?sKx%*P1!M!2C?ZwRji z1zm53b{Lm3Z^#S!Ub%DA}{Xku_ zu~2N+-2*zZRK&J$4D5@0g3kf>5VtnrUgF~t%j{m?pf@+>X{ERWJe;L1AYgCQ8-qc= z4hP~O+(+CdJ|RB24u{~rxS#lxxLtfs>ZFHcx@2lCjRmGbMledico`ven=S=riWTni z82R8e2VQG)`HYt@Nr40tI7_9dNSfAKRw>!v1^Ovgx%F`ziKB2d<%(5Ujbm`^Sh-Pw z-dsCQ@&xMg%S?6paq>lZB=KpH5}y&DJqArQI35q64&i|XR_Lz~9<5fg7Q`LmKtR3Z zSHwv;`KF=eVWs|?af)QPbeLD`&6}>b&ezs!ItIhCSNjK&8+Lg5W}GQ?{|8V7<**uo zDRn6_I_>BfgmbB|W;_@V5qF8ZoAFRQOngDyE1@Bz!J;?knf2v*vl(nfdz?Zx_%o+~ z|3;GggE9ak0UaRI0bdm+b7OlL*=>sRalu+~kIkv}Fdp43d01_C3T20C>t?pkt_Xu! zwG~gm6LB#v!CG93%digXaXGFK_lpO_gW^l#A@ODL74cQ^HSu-vjjh;#t8g{0!L`_k zO}Gx%V>7mhZ;Ee;Z;S7Uhs6&F$|WeDAQM4#1ewLii9@wh47G--umz;t3~>0{T&I%b zOKUb*Op;*N7mtGFXz`HRf-g4LfoqEzAS*$QHTrSwZ@S5Tn+ot>gN1ID>{>u~Tj)l< zDi12Tzw68fh*>n+Z_Ak_x{mffXk)M!GW6xzh8nBfw=Hbs-!dp%HPk^YPZ}-H)?Kc) z(bNFG9Dlnr*WSNgD}xP^bUtteLp;jArQGD55m{;;Fz zE_}Dd2FBFf8?}-ui4i@8Ol;=9U1TV!8 zh{wd^;)!*5ITef_5>J9d@|2h{0lI55yNjg1+QNVe_)}Wiq1p;y7Y#c7SXd+5QwF9O zN;>TKHF#a8k=9c|c%%3}D1N6UVI--2cC<;W8<IvS~h8msZbIpT*@JK!I zGm8~=vJ`;^QDR^5S1`EVoAImoHSsg?^Je@8t`aW*jR5N0CFG`BT85Ny2Xf24d*G(L zV{D7@E-q-oN5n70J@4V;_yj(QPXV`l55JF3;}7tM_#^x={sf=FpW?G19CR&_a2v&d z0xWedMIwNOfcs4^MV}?M8UfyS@Uz^!^<6CzdA0>pAm(M1W3DYd-3;&6;jT2!c>4@S zjm(AC_P^RVRcknkpaAiAf++Dzf&vNZEnXFGoW$qxXZUk?zzg^b{3X7KzrtVRZ*UbX zk3Gn54?;|A+pRX*>elM}9BDF1K`kl#BE^6+Oto5ru?<{`oJk}(yxiVr+dc6|@hkC) z_?vi9e5-wYwZnqiI&AZ`wz`;YDEkffBW29X+K&ezp zyxgJ$o7Zfp)~MoDO8Z({l-UMrPD82E7O7H#iq|JP(x&7oZ`R$E2I*NrMU$6=_Mp1~ ze+Fh`@65g#nrTmIC2n;K+`P0m-JSLs2a~C^t)Td;_)D>(-=ChOZSBBPX1W7&R;(=)Rc_m$fDEX+#+HR!f-{ z7*3UTk{0~nhB|AwMb1@#q?y*(hZM-Sv0OW1Bl7eWT1$h)9u?8qqoZ^*ok)dkp;fe+ zj-g}eI9fx;(*x)PdLTjIV8jH`1Th4$1aSoM1PKH=5Y%N0og_ISs31CxPRCX78?sFZ za+LiM&IGv-)D!kSeCq`g5xBHZ+t{|bMcBOhvIg9v^Gy&4Lk&hyFzSHW-tu-j$dhyv zB(rKOfFb+c5@wKbk}VNP()v0<)X1tvD>s#NnocmbXafi`t3JY1UT)EYYSOu<_E1tp z0N6<9p5T#E8?2QkDR-drZ7DNFqFZ1|w_2^qW^G+A^bE8M>0opL2r_yUK~9o>DqSeV z1?%atNFn_v$XP6qe~5b&jx8dTE}_dP&t_UnmlEVkkfNE^(Rza12D?uLXXcJvW*Avu@ zATNTvrQw1*txw%e7IM znnE{1rb9$SgF#o?2*LN^3PrBlqAdsCOj|SOe8hdrBCwSpPaDITMo%9Nv^Z)|Ml(GP zOaOW&bTF%P2ggqxdh}HJ(7@$KUWk~T`@vc0ATUL@R#wLB3p9tmTf)L!^jv~`2=Z;F z=i#9Q^#Cg-W1_A_;mFk+E3B2{rJW>;C%wfDk8ic7?OiRRmr7kNrk4=pN02{QL-aiH z1*x-)QRT3eEH`!7Dip^`20d_-DOTG9uA(1lN!XCHwA!gs&Gc%C`^d>0H{Y{uyfvU9 z(`)G_g8C3N2(nh_^{_e{=#3EDDQf^z%xJakn0CDq1iT{WmMR#%h2Cmc!CI7>2!cXx zqt(#c>8I^l4ME`q^|h-Tw#hvY$^*TN-c7@*^dqQ0L1C@>1HDhu9|#KVpfA{EcRLAh zztm2gcaY&WX>G^KVH%P)w$Sg=N9d#UG5R=tf<8%~qTi$6CrC+9BtcOGMH8eVNKH@- zL9qnI5v18df6&5FKWX8p=Om6AZ|A59tsFJ$Uydqo#R$va$x%ViY@)v>Xn>ug{&X9T zYDe@n`i4Y)*J;qZL0Tp@GZX_NGl`&#zm1^n4(86XqRMA-aV9at4e{j%z2Mk#SX$r;x9rp)Y^D0(A7gMp(R2UGGS zJ`T2tTK;?jx*~jlc}Zq^i``pn>!yQs#tdK*+W6Q=f`)eBV@xXWF(!>kXEF#HMo=C> zBU-Sc1k8G@hU$ z$=gwdhf=}72;TxJDQlCyqruT7g`~i%qMs~z4=f|KlWjSDpr>@a+mbyZ`%6L3>2OnS zZZd;!%BD`s%9&>e5V?2B%(u^V3NsblM@%C@6PuW61Qp-GfyB%L@yI|vK0ze}m9;uy zn7f#JZg%W2_fo;ke1fzhsAr{OM(c_OrkFb@5zJzylmCfXP6aU!5u}rJZoQb%w#3l7 zuDuGvJi=^%gnni<^C+{1S<5sr&CEJxJwX)&RT5+%sEVL!f&dGk!WpH+e(58n_RAle zKmt5Sp-1Th+I@cscL<~NjD8o~cq+Yw%QJNP`a zNy>AQJUks++;;A*KI#sS>TaW`Vu|t!OfpR!V|FpSf&W~`1DO}VtvM{e#lK;#v?-O~ zu4s2nrWk_iZCr3Kvkwg2)&|YYi(rtqyI?1P1I)n=u~_D1<_P$`nOB%snb(-tnKzg> znYWm?nRl4O%)11EBHcjHB!VUrG=(6bo2di=-ApHF20=5oN?VIL&YS?2a*BD6d7nAW ze88NLHW)#(2wDXU25%zx34)&_css#QOV?o2d9;PLEpkx?*l0R%TiDjLpc1y9E?X;A zcQneji|mB9F<*HjTCz-LFtEWI>uIa$0K7=`kokIRn^Q^lQU*cRC~yc!1(mbdWLJX~ zAR!M@_OMH35-^4vfXS(%Q@{}|<$^=ku67&TR`&u|d~DyOJZ(t9m;9VEiyUMuHvzca zZ`lg&ZR^T5Z+mC9X?xu~ZD~irgzb2`$Xt?`>Q~Iy%r_XU5s@I^L$k#j>zT{Ucg*+9 z4+PC2=re)?306x>+Ll0h3nzkX{YkD_TVz0Qw$G+mkh z-Bj1u);hhl^({v2&|zENW@Ae}wY?YnGylp!+VOhkH|8pHjk!+HT?E}t&^-j*x1PDd zQY>OIK??|4L(t;{y#V>jZT=pXmwY<}%`H}tDdAHji#*&?RvQkk7kK9INg!(U=D*^O zOE&8z{{w`bS{=2Cs`B!3O|&jjRaPD!r_*V4aWQe)D0O+6Rv#M~6RXi_<4a5RaWU=Z zP8C(EjgM_VFE`t~ z?)@j{Ri@Fzm&V5E%gSIvG1{2;QnfBdtJaijqqUK7v9bEdnDQunslNTZJZQw5W*acy;erzb) zpABQd8V1L}Qi2{JXcYdwG1*!Bh`VPRIKpQ%f^??LDL%BHa0Len@0~G$JVUv9&o)t{mmDp+Po}- zSxOPM)S19D4TWeu8i&h1Hp{KYzGW?qZ0WO!V7{?ndp#`ffq-aq{bVKlA2mqI3%4kX zTfgRN8=%BOz8YbfY$&%^IkIVNx-Bo-)?HRxcSk5!7L@x(WEsikvO~caGz?-@&1`N< zIG7zSL4#8MsJJIEB}i7b?7>F1fF0e2_b~)PxrH5Nc_aHO`x^T?VEaw>b%I_Y2!5WCv3(A{ z{J-Y3CvZVCdy+jx(5nQ!_7|~MtcV)gnATvZ(G@^>bY4vZl&>jmzbwj5cRI4@5800) z5s&?dpf{S>PY8NbaAm|-}&PpA3j^0BRs6C6Q zRY=;I$v5mzl;=i1Q{Z%%m zw@Nk+lQmI`lC@LCjBTi1~iTgc<0K?@@2yrc*X?Vt#8vD`q& zXy@WM4HwT1;1US>oFE{$iv+<#eY=56`a=rTdq2<8Y@5Zt|kjmBl!bo&d% zie$TuHrZCq2lQF9wEAZiUa&fT) z8yRc`XI7$BThacJ^K6g&)j#~mG1_=dOjL|YAEPRdE7M2EfJqq}rPjum>r`O;#+7NJ zBURe+=vzI*?H^fvEAT&jA7+`ovY*w9Qc~A5cCTKHwpTcpx+3(DrrYilJB(RDID#5KQ@_WbCpTn z6)CL=G6nubn_&&LrF!%5@{tfR_>-e_C^rQc*`FB2X4b+fH?4XC}e z?cDz9rRrE<%aGLF^+wA-MIXp;`m-LK;chtNrqTocKR+Z+a40ZChMrWZ1m~n5B>LTx!*qwQca3&DQqwuD7}S3=hoUX`C-}xrYem2^I);Ah-*`js!bNl)e%u{Sj_;3#EgZ3zY6cFqpdk3V69N_s7i9Xs`uo57`~R^1Zm08u9Mslr-FTp(s z2C3bPU_Xh@-vo*NHup}8ME92^dH}(_|E2T4K<5etPM5(l~gKFxvie-FVS&D=$5E5Uu? z>`?IhsliVsXPULo6>CZMYKdj(%-V9fM%Z8-3N9C@|FU;|iTh4^z{>>pYvR5qIP{Kz zd+ulMy2SaeaKCWBa=&p`IS4xRCpe7YaDpQURuUY!k^3E`OQBpILns$Vi4`r8T&((k z9?9jMAb8F@6C5q>DFWR3hx^;ANacVI@75`_&UfQ|Ai0kBzAh2T_z(+Ex{ID_EKE&M<^=p4kS*eZX4--yCzd5!6VD-0}&|ZmBThM?-}X)HcW;Sa{oK zj~&eu_!5Zj@)P-Df(H>ixS7}Tr34QlaO4SO3EZI=^G_6W+6SrNtE3R}T;3oR*Wg?T zA@em7gTq5Rg^=ACjlEet-vGgP-ppHgE5XAF&LeolI=Y^p%tMNnH^Czb&X;ES2ep|0 zU>)dD9;!6?TU2TGe(=6CG2Mqh^2piu=6WzwilpE>KO11@bPm41dvNE%#Z=1BP2UeY z(NMlCye;_7-_74E2jBU7q~JRqb*GiHFWVx1r9`=l`6c{P{sDd&znp)Ne~5pWUqSE~ zf(r>AOYk^?#}iyc@C1S<5)9Zc*}|`Cq1-hsl)Fx%T&g3Af6`BNz_cO-86UV4RpLn6Uf`PX<* zODYJiB-kL4;9LCLG6_}@EFanXze$2{78QTIGg++)Fb3C*%o_as)mN@DZXp+B5`>dj z`1d-)&N{Yc&R3?K_ZD9{751C1k4HNa{D6mqFo}6Vst+))T8RW9$qty8u`~0c@3pVo zXZ#m7%7t-(a_jEY%--f({#S`|FY%Z8@A&WeANU{npZK5oEBr46n+diMC>O^K1WzJ( zGQm>_ZX|dr!PB5R6utd4j?UV~)vKGp{_g~8W`zcpY0Obncw4BjGxq`=? zt9k`rL8>+tdI;e7m_@MIEcglj1QP-$MS(o~TTV$3`Uw4ic77EJ z&|e6XX?HHccmFSoPXUge6I7k)@m5v6LM*_>b%wotRj)8WNR(+;7%0>3JwSx?Jc)Lt z(+h50)+?k7Su)`YnKI$t_h;JV3S)q9g`vVQVYrYdj1Wc&`9gs(N&q8e0l^CizMtSl z1TQ9d3BgMVet_U*1TWtr6xs+^C=w<}2b>5c65&2*C)|e#UT;&DH~dSu{{Z0{CBiik zI8x1az=>eKlgJesh3OL6P8FsR49e8XW?_afli*bZH~oENJ4cu&k?mc=T;XnlA0c=( z!H-I0d#`YxOtxzXmQU9ILy`N}4>kFd=cODK76U0R=}d}W9a$j$csS>QXH?#yN9tz1 zDv4ZS8Ne>@3_En^{JIm~xi3FG=7ZJQGkQV=y*=ercvx6vBU`8%0+HJcBq*$wMee#z zWb4L^41DpjEnlQXjtc99jW!bAAd~RMJGHmBd0c=qs@DnIgeQb23EoWbV+3zmCu|p< z7IqK}o}8UrX1q#xt$a)=+LIyYE0QL#*5}=?!dasK8!d?MhEYtqN0imUWR<;ar*naO{t8Og@Ox_WdL-*dm+)&kXoy`0jF=Z36e90P4^V$w?zQ zYrs`w&$;~;oPY$5{@c^eiy?ew^I|*$cG;A0eQlk!Fp38$oM~ zg){J`!1M5~z%PW04y*(3;Nals;OyY);O5ZPp__x3Lw5&Xhn^084gn6y4)qR;9hw~u zIb7_*cTsoIce$_2wk~gW`J~I&U9NQbwae8m*Sp+sM2=35E{+OEcSjFLPe*UZM8~m? zCdcKDk2}8X_>SXY$0LrX9Y1sY*73R%sbGp}QzSBad^-jl}zID3p?CRXZ+0Qw^ImkKKxv%p8=WOS}&biLR zokuw5JCAd&a5g(zohLa@ah~ct-Fcq#z0UKU7dkI;UgG?K^D^g+&byosIKSb1%K2mG zGtOt7&pUtR{EhP^=kJ_uT3Eu1&7%TsOFG za(&EotLrw`CtVM^9&&xf^)=TwT;Fni$Ms#;qprtYPbw%ypdw3QR4i5OQhe-&+~VDe z-0pW<<+k2!quXY;EpCsyJ?pm9ZI{~%ZhPHcbUW#G(Vceh<=)>t%st#)=|0$fjQcqE zBKKl)kiHZ|*vwYkAj2T_5cFqDPQNl*a&%fgVX7DIRGaLp+9h4EGq} zk?%3eqsBw@SmE)E$6=2TJwEaH)Z@Iz=N?~lqq{kE>({M+xA1OfyItz`OSj*;UF-I{ zC*|qj>FDX~>FVj`+0`@DGs$y|r`dC%=St7jo@+dtJ=c3~^gQ7ChUW#(FFn8Vn(ej7 z>tU~zUXOS^>b2JEF|Vy&+q|Ci+U~W(>kY4uy{>q>dxv`u@J{qj_D=K8@XqqqdRKYR z^S;-6e)m_pAM5^c_cPtkc0b?!^X^}C|DpR&-LG{2wfoiX*Sp{Faq~&=Df5}?GtcKf zp9MaPe3tk;;Ir1J$*0+8z0Y2sH+6zDaLeG+(r9JgMD|#Aw-qmwq z&n-P4@A-sZcfVl2et!M^BK#u#qWy;XjrS|{)A^PARr;Cy>isN!4StjT9`xJlx6|*i z-xaV*e%dMuy>#`Fgj2j7#A2Hm=HKTurP2!U~!-}uq?1HaB^T{ z;IzOQfp-Po9e7XReSr%CR|akh+#Pr*@a@3Ufu9DR3;ZnbLg2T7mjk~K{4wz7AR)*t z$S0_0kY7+hP()BdP-0MWP-;+mP-akeP(je>pu(W>K@);Xf=YvQL8hQNK`Vkb1?>nr z7IY%$Y|w?EFN3}cx*YU<(2qes_i^mgt4~Ou&^}>(BKi#PQ{87#pQb)9_Bqz)lRnpj z;mF-!Hkc3Y66_r88tfJv8k`uM8>|bS9Q;7=^5BPpR|KyLULCw9_(<^S;7^0k1%DQN zA^6MSpF>axAL0<=7~&k_8R8uh5Rwv-8KMiR53z(agiH>(FXW++6(OraR)=g3c{b!g z$eST=ha3($(zkzKb>G2#hxgU@HTG@nJFV}GzK`{Ny6?WeFZVst_gvqv`+4>2(J#AS zLBFDYmHn#v)$}v=d#&G*ey93<*zbC1c<6x8;h`f#M}-!Kjt`v}stwhJR)kiC)`rdw zof|qY^xn|g)a?X9{ym=!TQ zVs6B|h{X|GBc6!Z9&t3{M8v6x(-9vucf$}5e8Ra?UXUYr8i^{K+-$pt{hDHvHtczS0xjXXX$m>x( zqT-{{qB5g$q6SChM-@dCM`@#UQRPvUQ4LX3qh>^jQFEj2iJBj^FzTtOx1&x+eHwK> z>O$1TsPCeFjJgu_Thz7aKG9>Mr$m$J`=gtp*GF%Q-W~mR^t;g?MW2oSEc%P+Z=x?n ze;@s$idHF9-BjKxUzNYAx2lgSL=~$_R*g{=sjR9QDp55@wM_M(>S5JN)oRs~s@GI+ zs@_q(t2(MWt~#muMD@AqOV!t^ORDcwzpIg&Rjtmr>bYDXQ}T|uT^hVKdU~depCI9`iT0t`jq;N`mFlA z`g8Rc>WeW#OrMw>I77i0Qy*iEnH)1UW_rxxm=!UP#x%vOkJ%WrBW8EZo|t_x`(s{> zc_Zenn8PtgVot}Li@6+gCFa+dt1;JOnOHv7A=W9@CDuDOAT}a4IW{deGd3r7NbIoK z5wQiaV`3{~t72{7R4QiyR2a~?wVjtyk?*# zQ!_#{T2rbqY3elf8jD8MJfvBvS*=;CS*O{kc}(-T=1I-dnrAi7YYuCUXpU)4YTnm; zp!rzysph=qg65*;8_lJ7F1|;6eEisWF@9P6#`u@wPsCpy&}D$v0RI7j1A+(i8_<7% zdO+NO0Rs{Tqzp(KFm=H51Ab3%Oz=qXO7KbOnc$z$FCi>JnGl^2lMt7Xk&u;;lQ1OV zaKeWPA19niI5)6jpmpG+fl~%f8+aqpDbXcSk=Qlyp~Urxn-aGqZcBVB@#)0Z5>F() zm-s>A$BCaNo=d!v#3Z>Tc_euy`6TsB@=pp(icC@^#U{lk4NOW-N=-^n(kIPIdL-#! z(x*wkB%@>|nNM~|j!jNa&PdKo&Q8ut&QBhlT$nr|xg^<;T$kLCJTsXj-<5oK@}lHN zlGh|RCvQmJoV+D@XY%gky~+ENUrK&C`TgY2lYdD5Ir-P*YsoiKa0;8^p3*JFJH;oZ zXNrGH@06gFtdx?J87b>h4yL@HayI3&lrK^)rh29Nrv|15r}j;aN!6q#q$Z`NrlzOn zrRJxOP92+ClsYlhoH{FYLF%H^rK!tPA5LAB`e^Fb)F)E6r#_RqGj(_Bp45G*XHtJl z^GZuhD@wDZO;4MZHaqREwC!oT)ApwAPdk`)DeafEt7*TdQ|Zp>iuA7Op6T7webb}T zlhRY+z0}$1gVS@4(H7t`mY-<^JM`hxTo>5rtZNpDWykiI#6Yx=hI!|7jU za2a74Lo!M;sx#^`EE$tBreti$ct7Lwj4w03&bXBEea4TOeKTV+2V^E@retPj=41}Z z9GY32*^oIqb4lj1%!e{pX0Fa$o4GD?W9GA&J2Q7@?#X;H^FZcHnJ;I)n)!KFm#mPi ztgOnc1zC?}J(smBYfsjTSqHNYWnIYnG3#p9@7XAu$#%?k$#%>3$o9-m&aTg1n!PG} zbM_0_`?6onKAwFc`(pN$>}%OKa&Qix(G-JD}NCv)D<`5@ycgs#RWA5jRn&S zW);jXm|Jj9!Tf@U3sx08TF_LmzFkmlZx(_(tKiv5{jd$1WSYZ|s*vQAJ5bLyCqK zjVLN88dEf`XhKm{QEgFOk)>!-QDf2cqM1cc7oDHrJt1$x^a&d$Y@Tqe#J8kxN&k|F zlBg1ONo+}aNoGlQ$>5Tvk|#=blss3mt7Kovfs&U>UM{(&b#1TT7$MmYl4@6G-xMlS7>)=-_`zH+O0IKG^SKjnoycpI=D2y zbad(1(($F0rS+xO(#fTbrPE92mfll3zx4jnC8ZCPt}SgYU0=GXj4E?3b1ic#^C&Zy z%_<{hbIR^6`?Ty^9j)VZ4mu~DtIl25P3Nui)%DT^=wcz~D?yj2OV*{q88F%Kdf{B% zFkPOmR<}U+lHj<;mq~<(cJ!%ZHZdm5(gfmg~yv%cqo2E1y|T%I_(kUw(i2 zlJW=2pDF*S!nMM?qECgUBB3IqVnl_mqN2iD(O5CPVphdn74s_Yt5{I6s$z4+-irMd zFIBu!@p{Eu6^AR1R-CAKui}G>%N0LV{8VwJ;@6666*nqTC0)r?3YA?dLn^Z>t11^% zK2>?L@;5_wgT^q*Fwvkj=-~Y)Cc_lNRKs+`OoM2cZCGSjW_ZZ3(y+$RY}jDfWO&1H z!SJKus^Rx4RK-*|R=HHURe4l-R>f77R4uJqRkgY5g{pm3uT~wex=?ko>PpqMsvFg~ zny>Cs?Og3z-K#pFI-*)t9a|k=om8D#ol%`tJ*v92dUEyD>KWBy^_=RvtM9E|P`#*n zY4!5zE!EqqpRC?qy`%cM>Rr_@RPU|cUwyFpQ1z!ZR83G#R!vpS;+kh_j@5i$>ssqw z>s#Ba*1xu2ZFFr+ZCveu+JUu6wL@z2YV&JH*N(59SgWlqtG&B+UF}n~J8O5>?ycQl z`)chQwQtwHTYI$j2V)Q8Fyk1b&N$gP)i}qv*tpKP(YV9-yzvF&KI2QqSB$S4-!z^! zUNC-bykz{|c*Xde@w)Mb$;ISriZrQAv8H&_KvS|Q&6H`%F%2;dGnJXjO_io9Q;o@F zGMlWXNv1~AG}8>zO4BaWN2VKffpvrGYU>u%ZLNE)?nvG7x>I%U*PX5Vs_vV*OLgDX z{ZRK)J+9~LyVN_^yVrNC_pbM;PpltTUr}$Yudlb(Pp+R?PwMZgpI3ix{g(O<&8*qQ z>}!rNN0|qhv(4ko6UHy<<~ zF@J3S%>0Gul>?*1N6u+FXwq+kOjQ+kV@BHVpVL_C Date: Fri, 7 Feb 2025 20:17:09 +0100 Subject: [PATCH 16/22] Create .travis.yml --- New Folder/node-imei-master/.travis.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 New Folder/node-imei-master/.travis.yml diff --git a/New Folder/node-imei-master/.travis.yml b/New Folder/node-imei-master/.travis.yml new file mode 100644 index 0000000..20fd86b --- /dev/null +++ b/New Folder/node-imei-master/.travis.yml @@ -0,0 +1,3 @@ +language: node_js +node_js: + - 0.10 From 9ceeacc867ea4cffb723507730822733e5423c30 Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 20:17:15 +0100 Subject: [PATCH 17/22] Create WorkspaceSettings.xcsettings --- .../WorkspaceSettings.xcsettings | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Untitled.xcworkspace/xcuserdata/patrik8393.xcuserdatad/WorkspaceSettings.xcsettings diff --git a/Untitled.xcworkspace/xcuserdata/patrik8393.xcuserdatad/WorkspaceSettings.xcsettings b/Untitled.xcworkspace/xcuserdata/patrik8393.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..bbfef02 --- /dev/null +++ b/Untitled.xcworkspace/xcuserdata/patrik8393.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,14 @@ + + + + + BuildLocationStyle + UseAppPreferences + CustomBuildLocationType + RelativeToDerivedData + DerivedDataLocationStyle + Default + ShowSharedSchemesAutomaticallyEnabled + + + From 695fbe484b7ca3ec944eb236870f75685d898cb6 Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 21:09:50 +0100 Subject: [PATCH 18/22] Create config.json --- .snapshots/config.json | 151 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 .snapshots/config.json diff --git a/.snapshots/config.json b/.snapshots/config.json new file mode 100644 index 0000000..dfadca2 --- /dev/null +++ b/.snapshots/config.json @@ -0,0 +1,151 @@ +{ + "excluded_patterns": [ + ".git", + ".gitignore", + "gradle", + "gradlew", + "gradlew.*", + "node_modules", + ".snapshots", + ".idea", + ".vscode", + "*.log", + "*.tmp", + "target", + "dist", + "build", + ".DS_Store", + "*.bak", + "*.swp", + "*.swo", + "*.lock", + "*.iml", + "coverage", + "*.min.js", + "*.min.css", + "__pycache__", + ".marketing", + ".env", + ".env.*", + "*.jpg", + "*.jpeg", + "*.png", + "*.gif", + "*.bmp", + "*.tiff", + "*.ico", + "*.svg", + "*.webp", + "*.psd", + "*.ai", + "*.eps", + "*.indd", + "*.raw", + "*.cr2", + "*.nef", + "*.mp4", + "*.mov", + "*.avi", + "*.wmv", + "*.flv", + "*.mkv", + "*.webm", + "*.m4v", + "*.wfp", + "*.prproj", + "*.aep", + "*.psb", + "*.xcf", + "*.sketch", + "*.fig", + "*.xd", + "*.db", + "*.sqlite", + "*.sqlite3", + "*.mdb", + "*.accdb", + "*.frm", + "*.myd", + "*.myi", + "*.ibd", + "*.dbf", + "*.rdb", + "*.aof", + "*.pdb", + "*.sdb", + "*.s3db", + "*.ddb", + "*.db-shm", + "*.db-wal", + "*.sqlitedb", + "*.sql.gz", + "*.bak.sql", + "dump.sql", + "dump.rdb", + "*.vsix", + "*.jar", + "*.war", + "*.ear", + "*.zip", + "*.tar", + "*.tar.gz", + "*.tgz", + "*.rar", + "*.7z", + "*.exe", + "*.dll", + "*.so", + "*.dylib", + "*.app", + "*.dmg", + "*.iso", + "*.msi", + "*.deb", + "*.rpm", + "*.apk", + "*.aab", + "*.ipa", + "*.pkg", + "*.nupkg", + "*.snap", + "*.whl", + "*.gem", + "*.pyc", + "*.pyo", + "*.pyd", + "*.class", + "*.o", + "*.obj", + "*.lib", + "*.a", + "*.map", + ".npmrc" + ], + "default": { + "default_prompt": "Enter your prompt here", + "default_include_all_files": false, + "default_include_entire_project_structure": true + }, + "included_patterns": [ + "build.gradle", + "settings.gradle", + "gradle.properties", + "pom.xml", + "Makefile", + "CMakeLists.txt", + "package.json", + "requirements.txt", + "Pipfile", + "Gemfile", + "composer.json", + ".editorconfig", + ".eslintrc.json", + ".eslintrc.js", + ".prettierrc", + ".babelrc", + ".dockerignore", + ".gitattributes", + ".stylelintrc", + ".npmrc" + ] +} \ No newline at end of file From df52cad5695acd0a681110af0c013cfd1c05a81a Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 21:09:53 +0100 Subject: [PATCH 19/22] Create sponsors.md --- .snapshots/sponsors.md | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .snapshots/sponsors.md diff --git a/.snapshots/sponsors.md b/.snapshots/sponsors.md new file mode 100644 index 0000000..2df337f --- /dev/null +++ b/.snapshots/sponsors.md @@ -0,0 +1,44 @@ +# Thank you for using Snapshots for AI + +Thanks for using Snapshots for AI. We hope this tool has helped you solve a problem or two. + +If you would like to support our work, please help us by considering the following offers and requests: + +## Ways to Support + +### Join the GBTI Network!!! 🙏🙏🙏 +The GBTI Network is a community of developers who are passionate about open source and community-driven development. Members enjoy access to exclussive tools, resources, a private MineCraft server, a listing in our members directory, co-op opportunities and more. + +- Support our work by becoming a [GBTI Network member](https://gbti.network/membership/). + +### Try out BugHerd 🐛 +BugHerd is a visual feedback and bug-tracking tool designed to streamline website development by enabling users to pin feedback directly onto web pages. This approach facilitates clear communication among clients, designers, developers, and project managers. + +- Start your free trial with [BugHerd](https://partners.bugherd.com/55z6c8az8rvr) today. + +### Hire Developers from Codeable 👥 +Codeable connects you with top-tier professionals skilled in frameworks and technologies such as Laravel, React, Django, Node, Vue.js, Angular, Ruby on Rails, and Node.js. Don't let the WordPress focus discourage you. Codeable experts do it all. + +- Visit [Codeable](https://www.codeable.io/developers/?ref=z8h3e) to hire your next team member. + +### Lead positive reviews on our marketplace listing ⭐⭐⭐⭐⭐ +- Rate us on [VSCode marketplace](https://marketplace.visualstudio.com/items?itemName=GBTI.snapshots-for-ai) +- Review us on [Cursor marketplace](https://open-vsx.org/extension/GBTI/snapshots-for-ai) + +### Star Our GitHub Repository ⭐ +- Star and watch our [repository](https://github.com/gbti-network/vscode-snapshots-for-ai) + +### 📡 Stay Connected +Follow us on your favorite platforms for updates, news, and community discussions: +- **[Twitter/X](https://twitter.com/gbti_network)** +- **[GitHub](https://github.com/gbti-network)** +- **[YouTube](https://www.youtube.com/channel/UCh4FjB6r4oWQW-QFiwqv-UA)** +- **[Dev.to](https://dev.to/gbti)** +- **[Daily.dev](https://dly.to/zfCriM6JfRF)** +- **[Hashnode](https://gbti.hashnode.dev/)** +- **[Discord Community](https://gbti.network)** +- **[Reddit Community](https://www.reddit.com/r/GBTI_network)** + +--- + +Thank you for supporting open source software! 🙏 From ed228e7fd85fd20ad1d55f7b0f070dfe8b268e50 Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Fri, 7 Feb 2025 21:09:57 +0100 Subject: [PATCH 20/22] Create readme.md --- .snapshots/readme.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .snapshots/readme.md diff --git a/.snapshots/readme.md b/.snapshots/readme.md new file mode 100644 index 0000000..21fa917 --- /dev/null +++ b/.snapshots/readme.md @@ -0,0 +1,11 @@ +# Snapshots Directory + +This directory contains snapshots of your code for AI interactions. Each snapshot is a markdown file that includes relevant code context and project structure information. + +## What's included in snapshots? +- Selected code files and their contents +- Project structure (if enabled) +- Your prompt/question for the AI + +## Configuration +You can customize snapshot behavior in `config.json`. From 6cac7e4fdf1a4c3c7917654a13e68d358458018e Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Sat, 22 Mar 2025 19:43:51 +0100 Subject: [PATCH 21/22] Create tasks.json --- .vscode/tasks.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .vscode/tasks.json diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..111e6ac --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,14 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "install", + "path": "New Folder/node-imei-master", + "group": "clean", + "problemMatcher": [], + "label": "npm: install - New Folder/node-imei-master", + "detail": "install dependencies from package" + } + ] +} \ No newline at end of file From 87ea7af7c81cb2d9bea508f19bfb2be33834314b Mon Sep 17 00:00:00 2001 From: Illidian4368 Date: Sat, 22 Mar 2025 19:43:53 +0100 Subject: [PATCH 22/22] Create launch.json --- .vscode/launch.json | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d7b8152 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,27 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}" + ], + "name": "Launch Extension", + "outFiles": [ + "${workspaceFolder}/out/**/*.js" + ], + "preLaunchTask": "npm", + "request": "launch", + "type": "extensionHost" + }, + + { + "name": "Launch Program", + "type": "node", + "request": "launch", + "program": "${workspaceFolder}/app.js", + "outFiles": [ + "${workspaceFolder}/dist/**/*.js" + ] + } + ] +} \ No newline at end of file