devicely 2.0.9 → 2.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,21 +29,32 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: 'dfd20321ebe9792f34bd926241548532',
33
- content: '8c1bf3d24a2a96dae67a98d0efa74b42668e2a7d2b8adabf616ead77b1fbb8b4c70030707244d2e9dd78e452d7eede5492b13030d2f4f8a8dd15e73fe0b9a68c12770b60e4f45aa29521fcfc5ee402e2e6189b3cfd1502422eb867240b144ce81460918ca8b2e74039b60a8a74411d1f51434f8bbaed43dc59bd928faeae56ca73177e19d33f9c066e6e5b6a6dafb4f3ceb109e0c0c83e3ac90827096dd3eb6cf3264f1c55e00303f93b56c2e308d26407410dac55b4dfda28855875fde9735d40c9b4be4350ca672e1ea3e2c5fbe998275d1271bacf6e558e332425727f131383ddace8b500cc8be55d74d7c3827c0c42342e4ffa851698f3bb006a284bec5e26db8638fe9e214a757f14d230983ba3f45d10a076115b2a2aa24f9f403c8736b1ea0ad913edaa91ab58923210570772cc48a4a2259b7a336035617fd2c536477131f39650d0cc8b2d4c7bbd38626afd6dd46123bfa5bdcfc744221995b19e2398de855fc8510f68a6f01ade2e67ca1fc2884c49c6e11901c65ed7c44e4c61a431508d70f5c4674041c3f67ef19f94180264a051f8baa7067dc6b9afe0eeed3aed235e98b46d797c207f076f37c39a9fd63a29a990126984a2d97e1bcd9c68e1b55193439eb7f558f1b6b408d65d2ffec2bb0107ca9b23c00e4c15412537a55df7d3434f1a253509ddb26bbf5aaea64a908c2cabe49fd0baf55e5400bd442f998b1267b1404772531aa94cb990bde8db0dce2a94cba7f68920ffd926e584b51a1224879f0e4370502b3acb68100c5550fd8277fa6746834b1fa5deb7f5e40e94a206a7bc4cb317156c96f8163c3d0be3d3139986b67ed2c1bf57343b113ddf027425fc9a611971d88b629ed8fff884ceb5d551d7a6ee2afb5cbcd4fc51d7766bf853f14690ab15c19f2360bf56e8d9800ee1602e86548e62acde674bc1585d81a916b085eec3bb6c5554c3dd14770f2498b0b129a565d8ca1f41aec7c016eba0865c432a730193a31e75aade34a37fb5c000e2f55b7c2b6fef925d71cd8c9abe0f9d9866feb5fbc496c853fdafbd730c7a9ca031cf40ca9aa9f6e6d918682aa59b427f727b88493cbffe158478165d3264409b6bc3774e7379881da2f51942c00f2148d22d9b4faee186ed005818e3b8efb78bec6ffdc145c51351a83f5d5fa688fdfe83a93e9ce7fb491b4a0211dce4cd441a065ceae7ebf829a22f12941ae3c6ae9c9dbebfee591ebf119a299f8b62b9ff83d613fbaf7a4c43b6cfeeec12a77ff7497cd60b78892b1fa00511dd42ca779179be177028f46742e3595d9eb181b08f68730fd7e5785476450f46c3b903e1b9b41b0ba01c4e0e9087e5d632aa9e2a8626be5645eee5011ce894816f7db10b607be04f6cd66e83ec752efb7b2b71c8dd37286230e5da0c5c8a7421b21e3d35f58511586fb6cddd1205db44f54e790360f6f0e1c4e9c6f5f3dcf4a1eb9943932122b18a2224f5f4b820d585f37e89d0f5d3db2469235bea68a4f36c6baab3fb6bc90616f58944eac031af3f4a1ba6e7470bf6719fe513479c4d90bcc8ef53321f88b800dd36a10ac3537f241fd032'
32
+ iv: '86163e05c1c638696cb9d51f1aa4ce30',
33
+ content: 'f54a3a6a806711520211e20f28de15c04574945d6efce7131c3cf8284dee07b7474be21cbbda072d64c320192bea0e9b56b35a127b9ca555ff80ea72e9c79f7775b83d268f82b5cdc636c8a32c25968759734ffcd8c13d47509db710f7603381a05d26c3f3511ca7d27d214121a083c8e8cd86500acc6de62e265e49ba776dd5d69c6e24ef847b2eec6727efbba87a64531a41e8fa378c1d451d326da4d60b4454b96d4c222e72971218d24f4225579a02093f55fc5096825054c73b46a2ec697762cb1e43bac72bf6a869fb658e3d05715939175dd8db51d1612e7ac8105f139cc5c00c99f8e6fa5c42c5417dfbb46a1fbb6a4890a7e8e1aa9d1e3c01bbe7230981f072ad5cc603c623957f1ab5492e597b14e53646ce5524789e16feb12e79ef9b2eee08276ba4339bd8a3db27422d9a5a36dc28b1da40d93efd2a74f06a8ef7c80bfc521085db13d31ec087be14a81f9926690ac6fcf5f4fd72c5bf87c652fc83ddd5e09bb7639f27fa887284ecfbe8e7001d70043aa2a0ecc0d52123511f7a3cf3b79c6ff76471df21b12bd090fa86b023e16ac051d3c9e9281970e7d2288f189c1c108e992a22eb54761d8dbf40360682a1695e654d00a5bcf47391d6b2cb166dbf9d2eb698ff7c48cc2ce2b2287bf30e115fa2903522a8ce94daa6fe3fb2ac35dcd93f4eb8d1b682545a33b5203f2110cb13f50fda5a553e170bf953b3c47fbbcdc38dde36c3e9ae3e053b80c2ab98d4b1e67c743a84bbf0c9f00ac0f15b6d21489f9af9f19a7bffa5e86fac2fd01314389b34a8a8599e5072723f05760f58a6ecf0572ccd2625e2638e591a0b79558000f866b4f7b2ef777e6e4b22616dda6f2a5933f885dd318723acc8876bf02f62ae90b560ef0acd78331efa0327e7676e01e65596c3735f1dbe43a9539976b7cb7d464a9bd076f52f6e980e44eee3818a6d39ec3f71f8e023bafeb629aefa900a7b4381f9deafb116d8c2a205479a9454b3737027c33412729ceb8b663e20d03dbef018f04018c3ff71be015f1a887094537b6b4a6679f1a71b323e0c31d7e57e5ef01c064cabe60149169d1f61bf0a151b630ccbcd5244af3129359b608c837c2da9b4276f8fd92445f7a76e848e310aba09c9b3968fb3e24e04be6a52b987413d2b2cab125abc41c19a95362785b4c52aa9e09d32254db9577d9843c64a91d67152c112c205c1800e45acad865e911ea3806c67b3419fa3f8af7d940eb1b7c284006badad2f6d3f0faf54f6b8f17be528fef9354a00b5d54267a88b5e39c62e505ba19f6d29c288c62ab35d4b9ac369d7846cbc901c077afb9cf5079055c07a6a1fce3ad9d22746157aad7b1a9b83e640eb0c96a7e9c364ecb73ce7f22f0dac7c26f016659e3c47de9db495f9345bc4c1990fead6434c78e83b1b48dbc46c24b15d08a18d4c80e76892eddae09a188dc48ad002ed4e1ed011dbf890930a7e856b5b293087a17943010510b14019e34ea65a5c1de56162a8aa193ce619c58827df622896deefe84bff3a0989394e03f8124dea698a57a6294746482c728a69d66c7a0ca42bd4ae99e4e7b24fb5'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
37
  const { execSync } = require('child_process');
38
38
 
39
- // Execute the decrypted script
39
+ // Get arguments passed to this wrapper (skip first two: node and script path)
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments
40
47
  try {
41
- execSync(script, {
48
+ execSync(tmpScript + ' ' + args.map(a => JSON.stringify(a)).join(' '), {
42
49
  stdio: 'inherit',
43
50
  shell: '/bin/bash',
44
51
  env: process.env
45
52
  });
53
+ // Clean up temp file
54
+ require('fs').unlinkSync(tmpScript);
46
55
  } catch (error) {
56
+ // Clean up temp file on error
57
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
47
58
  process.exit(error.status || 1);
48
59
  }
49
- " -- "$@"
60
+ "
@@ -29,21 +29,32 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: 'fd50f3426f2c7dda770500b1196ef82c',
33
- content: 'adf3feeabfab4c0366a8ea56aefcb7f8a72718eb018de9c3a1b96e9077e79cc08d76be873721d85d37e75e677df9be1422e3147012708ae445ed2e0df18d48f8f6032f887427f8bedca3fc05c5456a7a450de6fe721845bfdd7a5078b7165081a12e6887b17c5903b5b9e40b2e803e38c365b3862be0d7632ad80925515212b885e1a4bfaf889628b12eb1a677bfb5e4c44fd7f1afa3211ee7cffcdd7f5a5f627fdb7ce08b795cf03a019b6bead4d748f95891579bfb79c9b561f481bf296fcf5ab6a02569fa753a483556168e56de551a0cf4cc8df7cd49f2953ef3aaf2590accfdc3fd8d59e38239098d7833ddbdb2444b6f7e592cb824470c0e81f2f11390416130c08251feb47adb618009e41e410afa7e7a660fb0c4f75f953fbe73616bffbcb6ec00a0ffebb954e9a2c54f4051658e55072a91baf6d62abf22c31fc033e34530a04dd0ebf10960c26d9e2c8d162797265f0c6a6f5c44ab1ea818b2dbf255d63707ee1ea99f93a962d2091b3237be606d4765f9dcc6f17ef0b501137de81e3f9b9fd527245ac21dad48689cf6a1d1fd5f0acb0671fb267b323533e5ae56b2c4a7fc151304e55aa4d662388b06563cb6b0f4c53babcdf05bc04fe69dfeb1f4ab2b4bf818efc085aa35b9d62f9371d488b7263d1a6a2fbc2056f70252db143f2680f8f5e2489120afc827f361cc6e174eff502b7c55516d8da02032a11fcfb6e9e65acbff66854ebfa5f1ce90c615e4060256df9d3a98854127e776c7852b2f99368058e500a13ce5322f74161a7a10956ee5e81d3c8918f0f26df2677eef5dbaddfae04b7e029da42f16cbf7a41a17d3f30641ab69cfca41a32da265ff5c757b23e36e2d5c90ea14b716a820cb23b2be160c19d2fb71e4664a4d6fff6f38287d0a47b87294bf809fc468c2ba4916c433a81e1c6e4ffbb54797a1bfcfc5cdcfc8528999531d7d574832c50514985946abecc8d3498baa656236bdcd57faca5584bdc6c87fed60831520bc3339ea1dbb20092ac400e8780b99d50f8d2fbadf09d97080253de0daa79dc340ac5e0c9fe2c9e397c96b0d29c9686bd0df303694885900c7ea357ec544864ab147c65e3f70fb038da4efed0dcf0dfd47b7014d1d38650fb19178ac3b1d893684e3cb8b30b2572fb6cc35c1b74a829354bf6acfa36d68fb526df6aa07f236371abcb1407d648f6816463ac314f285cc29d959994098707ac349ea95fb150fce5c1e5ce552e6f9364e6cdec38324de5fad9d460f9b62bb06946f3bc4edad0d2c861a806e2e3a762dc2ae55c5b9fe3e3ca75abd08f21b0fb6ff4df47d5ed6a0e9839cbc76d5580ddef7dc5b85acf55d6a9fc37ce694180133c4781911e51e2c65fba7b6a7820e7accee2e642e101784f9cc47acc2218b6725508a0e9219d73fea262ea2beed9a06a8c9fc484c06e2febf4b7d8abc59d53f5313432f709c57eaee4ad494c2ac3813dc58ff946d815e99f6cbd1af0c9581260c9d3e4942a7130311e41d644bbd19d096cbd11ea0d5a197ec18e6669f717b6f33525bdcb4e8518b2fabe6d6ab47bc469c030c0dc8d45ea89b268ece3279a7e1711ff92a39ca3d9abfdffbeff43d879cad66b09d2ac97442b8e9bf62bd628f11ecb62f516ca347b738cac48ddd42d7072843af3db76128a2156c7674b9b83cd3ed638922d3c300bf736c84149d093e4b4f7ad0ec2943a12f52fcbcb8d4d2eba27e814f1a477ce7399c4479d3783f4edc267a966cdb5e635b9d9ad0d3fc17a00658934d6a86ab94c14b46fb65676e3cd450e2360f63f7453a6b34478ad797588254b62ca854c06a1e5ab261404204d06c4bcbd281074b301761f890780be45d9384b9b5a531b8ac49b10b69d40999da7f720dff7e8eac68844392ee9a0d59643d4682579e8e287af72fa3477d89bf9a38ab209b489353390e4927d2003813f7a7ae53f8c816063b4f1bd6ad4ac4ca20f75fc01e57eeaa4c0ca119958d83c06c5b2b35b498b72c9be13f65e392385ff0e5e4c39dd61d6cfaa4187a1d4fdac10e7c4fd68de2775d8ab2d3281d0e173161723630e9c9616c78065626852f137d1c2e8831af2f60bd2d61b88280093e467eab59bec80b9a9381f8de137c3a4d7182b9e30a5400c98633bb9d39ef9d41dfc3e59a58d7d3b7280cc982b182fa47eb76a0940bb529d567129915d409878b5556badb913dffb301668337e7df75474d1b9f4722883d4fc528291c5e6f7857c1fb2470bb7cf25fc5744ccaaf2e488e883a6a11c414f237d9612c49715c83559e1b935f2b531b6b1b8ffe76a2c6867e4bca96fddfb9c0f0cc12a0076e51f82200cc6edb721195ededcb23cd0f1d7c20b90c3c83b8c17af57281774a7ff108d39a095c2a4161599c742988355fa9543ea1fa87d44600819cd5e64194de5ac31f2493073052b51f7da40002b18f5da75f1ebfc93ffd58f1a5b4f4648c81cd849782e410d7558b85a93882f338d719c031eeb54bbbdfd4918cd3533304506876f8f6da39e708c0f5101fc860884c6bb883bbbfc398471f34d3700c755bbb9a8a7f77be01682746143acca10704141809b68578879e8670ab88d8ce5495e6b11f001ecc180ab095759ad4a2a0f4036b20c32fc5c73ee038757a075351d5e46d6fb8f2a2e4c3c803b0650d5e0f00d545463578d248799503618e850795784f0253fbd01c47407f93a4248d3a6e1345862230367ec9f7d45bf98c85a0b8c77e63f3be61d5d3faa101cb476a3f163c901a69e013b9fc4fe4f9e3655f440bf349c70dade90a19e7e1ac542b8c25a1aafa4dc8335ada05f8181528b71accaffc6cceb171e5fa7d3bc72dfbd855df79edfd2234d05f1794092867761b618180fa84d4706b8a5919c0aae86a3852796b32b35621d4dbf1b5694ae8174f9610a049012292b480842a7642dd6721be2cec637a75f8f6918f35fec66524ef047ca6dda2715870716185684157a2db0da66e81c932195bccffc2be2fa2c0c60addf77811a074719f556aea8ea4f5fdcacc3361034f0de4e66ec21f7ef7638ed6f5e0baf29dbc1d26ed81af9511792aafcefe6bc87ee7266aa39aa3fb3ea461e0c8ca4810a583e9994c510901e074dba1ae4ef8e76d51276e2ed3c9b8d2a5d8f64a29f633a4d45156d06d9b23784859c5a9521cbd9d4db03b3c83bd9100800b06af23d0de104561f6c20759f3dcff777068619b6a2274931faebf447578ba1a6b322cc286295afd23bb716e64439788a3d169f20f55e7137fef48241a04fd33533b7b1bddecf828453d4792e1383ea010b28912a44969384f667e6e3b7dafcb5c1320a0ff14d255be75a16434efee6b6cd28b976ee6bdc89171d405ba5e1705bdbd0b3d1eb06c9dffca42338deed4ae9b7f7aa9b0e6384a4228b3a569d7e8901c97e5fa6383f5142ccc536e929b8227156a66846d40cbb89a9561289ac016acad4c8abd180cf623ebb5042215f0a6ca8776f69799450256be2b685d651b9f26f08ed06a0aef18b215b559c390601edc18f8893f8a43a2b8c94688996b302d6177033060bd0d209269faadf567e4369c146044ecbc4cec9f3b03defe10f46779387f592471c970e58dcb6b301fe72cf5824ce8e70dba67c7b9007f4a210a3edfd2ad49ee0db8cfe63adcd1a6ef40b396059f42ad51c3adb3685270221657d81738e67b9a905de5c017'
32
+ iv: '6d080db869a9b612a4ccf5ffa892aeaa',
33
+ content: '7643f1b71187134768541752cf34323f00ef61ee542e50956e876e4f2bcb1ba5ccbe7922a2c329be57b3d99013b3646a2f16dc6997344b84d99d68ed23b0f706966f98e122ac16bfb5b4569637f0880b5301d88b0f7f6c99686641d234e500e9d78815168fdbd7ec4c2b9524b40d54009074e03314826be56da685d804fc2019f8ce907876bd6ee9f27a81aad0788079c1b4695188ae20795756d3ef9bbdedcdd2af2b21bbf65adfc5714aff492cad6bc830ed431558e9b727777655a1f46e991617da45b2a8db4719b37c05458cf6e8321473ba134aa0bde2c595ab445e8dfb8f3e7c2eb60716a63a3949348bd06fe8698932df263f87806210f85e4077b8f2ae1cbcb166136f4275c1db0da850302c93a5770bce5f289c6f11b3a819be5e07cd4fc1bf8e171888d3c85fba925a2242545008490bce0845207450f68b50559632c58324186f8cec81d5d6b9808cbbeeda902374bad545600e843737f5327b3272529d11f052db5207a89b21ccf47810c4489dfb829b98936e6350dd4429fba946af92c5c6772a512bf633166bf0f3c03e3ea8f0b41c8713bc6a59ef9ee8e81efbe40c330faae084328577d6924e4578d78b832410acbad2a7aa05767516f0426ebe55646334fad5d6991bd04afc11a6c44e16923b3a056d7b8d6f5d8a23a67d6eb5ea85959f8e360d319f47360c2aa40d23c8bd7987263f10c270cf574f2c0830e89b912c3d59c2738a15b1caebeaa71fc0d88a0122ab799556dc9c252c9f326d3983fafb34867719a3cb2da90e13787a63992fb15d3526399e35b4fd4bb58359a2eae01e21f35ba55426944d96503e139dc129408e98d6307a4aac1af8efc9ad1faa3027cc05aca745dca47bb3814a264a2091bfec257db7f2ae7495ac2d8c2d7b5181a0bb134c960d912e2734b20f3341b70d9232e32c23090702261870bdead8617578aa920db6bb300d4f12e77c8d0e82a9a4d9f69f8dd3c3a54f91b3afa463cbb15119b60a9d7a085b08e5217161cc12995e417704ed037b6053867cf61625757350ecafb3962055c178dace98a805c8852dbe65251db18ab1b0966d5d7579df9cd413405ef2b655f5545fa712f7d6a24ee8bf96be7bceebc70a8c162d60dd36b0212ed88f4e9bc39a57d316c9a53f3bad6b6e04647d38e2a388fffff32687a4a9bb379f4696df3ef5e75dd45daa73d7fb0784f68fb16732854d11aad5e50c7a7b27e1483b2550970881fb9e64efbfa978b50ce7b655aa372b5a62eb0d3902758f1d4072017e3bbae32a0b769811251674fd4885c789296b315da5b53d5993feb1368ad6350d943c36e28936bc5a724f50391ff8245830ab66e5247d80688120baa091b81778c6a56cd03864c9082c4106569d1ec4917110a8123ffd427c49a0e5e3a34edcd129fe791d9136f981178aab5e5ffb24f9251cb374b5d3401d4f406cb30697d4240ac607f47cf78537a5df9a8f101af97e34e4e7540c016f7ff7bdca5eaac552d53a9a8da7c2342bd5d602e272961602667d267c3d8b97218419d0605d7698564b3dd94cb1c3639ef16fb67dd5b4b574ea55c5ec41f99c98e3b852c91bdf64be1a8a3fb5be9d2bc88d9de1291d2e3e7818c868168090402b2e7f51c2a46b80b084ca95ed8784e5371309c8dd54bf605b7712ea805e63e71a0c58366237fd3828acb5b36adf174fde6cfd5dce22c3d2e0b15a71fc6983093f736c77d12e4d08693699a81e7020e3761c161933ff9485d7632f77262fb97452956f504857336e7bd945d4c14d10baecd0c31344d1b7c1a82a0fde174163eb4458c08d30e513be6ce0d13007b914860a34032a58714e494d7a0a49de21db7c8305b22ba7aa8ceb63a2e197f69f8992636f83966977d82b1de7f7b6426da72b729d79899879a32f178d4264cdb7afaf80a8cb683e26ecf7050587c39f48022e80c786cac6ff37ad876d3996634a8dc6a7ccfb1fb7e6571538d57580f1ee1699617f9ef0635d990c81a764e8f3ff57a5459e793614f4f3623b4969b85c38ba73bbe86a33c3dc6dfe7ea187cc58b7671a79283a6fcfb6b775d8b2b3d1d6592d220f8a50df3b261b4800bf0953aed8204166b463aa8a438f6ede6a5f80e9cbc1d3db269e01e1f2363ff06a38a85ce092d0b6fdbe502d4269c5ecf25ca91c660d92d04ae2c1b1f2a86e6fbac092e6ffafd3d233c6657fba40ae97e2e516754c6798317dcc4084c62bc56646dda64d463e33abdba8011148cfa752c168abd62f036cc7325f252dd242fbc69c318012c5b8e0844400f14e9f6ee3f68e6a0b9aeb0e1260235355fd7e6d15f0f7a1d886473e8bf48b750f78b57a2dd48a8f2abb1977bfd758c34167c5f89ebdae12856c34223b950c22556c54d4b47bdd9c0112aaa88118a6afda2a7f9cbb4da6fb74b512deef398c7ffd86a4de16a76f188b36f6e62737e4cedd55108742efe830b971929d21893c2ede28d8830c39b698d2ba4220dbbcf96f1b33a136e7bffc8824e1d990d6593a706b9700f57421ef8bbf4e40969c1ed0c93421bd608710b29443d69995bbda13c59fc855129246b0fac4a03efc6b861952ff9b1667d1dc695c4f1c3e4dafbac78531b9b0aeb17f8a65ad782072d9b93a94f984cc0c82cec3393a1ee4f4fd530c8196cdfe9f723a0494636c783ff07f011b8eaeeb52829dc0cd2bad9d76d03b5050c5bb79cf77ad3767bdd78c69647b6203cdd8a90b5185a72a923f67f24ced2a28f209a8e2ef7b3da2c28a5209fce7d858ff228dd40ecf27093c757eb80409f618736dc6c1f68c2a4c0d23d3c44da9fdb7ce044e8eb898496fe547b04e02f167ee4bb1e2142ddd6447a55e63158d9677924b92d00fbffd8435b8dc309cb5d0cf624f94385e84769018d988edff1c086048447015cfec9e0aee001a9da728e08d737ac2414651c9aaf88208e8f2252521e8e0f08be3f05db459ccca49b31d61f4aeb9451804ff5dc1e96503cc42b19f447a83f81ca5bab84902b692b646b0ea81acb8627a496c054758682fee1e3e83919c60c66b0d3b5db2403fb33cea62443a2f83677523f0e57518bd2cbc886a7e2e1b2d93d6c61b967aad8ac1127b95049658338b24901647b85024810d5d93e48d6a6f0e7c31f7040e9baffaf97956ff2fc1d6d38db715f2939d3609d5135f9edc41e40a69d6cd96c52e5378c70b1800d2943c8253bdabd3b5cbd0d0d0c9dd8b3b7684cd0d38d7d5535e3c87b51204078a26c3e556c1698b0faf06186278d687be99704509f33b67c073f4b01b53f7779b9c07ba11e409c9a513e5bd0f1e776dd9a8583e49624186128236b91add47287005ea0bb9c65626f97d9e7e8232ca5a35fd205022caa0ca6816651fd34410d8b97ff8cb1a5c7025e68866865ea658b64b6cdd479d8f0cb29761d4d300ebc692103b56dee61de54ea84b59cccf9f7a4d6150eb0c03496f7b6f85447be9982c6b47e84885834b2d3ccaab0566b9206818227fabab00a84c3d133eb26b1c45855957e308dabc0651bca3c181cee0a19b3952759d02fc09424392ea3af418923cc16c49765ccd164b1591a2595aa65279b6b013ba0047ab39658e50a2e9c8d83503f90c37fdac64cb17dbf0de582dfc766ef26994ec81a8694e331ebf43439ceab5d0654f86022da328141da39faad5c711fad9da6d46254c0e97b95bab59aac68c'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
37
  const { execSync } = require('child_process');
38
38
 
39
- // Execute the decrypted script
39
+ // Get arguments passed to this wrapper (skip first two: node and script path)
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments
40
47
  try {
41
- execSync(script, {
48
+ execSync(tmpScript + ' ' + args.map(a => JSON.stringify(a)).join(' '), {
42
49
  stdio: 'inherit',
43
50
  shell: '/bin/bash',
44
51
  env: process.env
45
52
  });
53
+ // Clean up temp file
54
+ require('fs').unlinkSync(tmpScript);
46
55
  } catch (error) {
56
+ // Clean up temp file on error
57
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
47
58
  process.exit(error.status || 1);
48
59
  }
49
- " -- "$@"
60
+ "
@@ -29,21 +29,32 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: 'b5293cbc43e47246c2628e30bbfa42b3',
33
- content: '8d737740127cb4abc1b8b8767ce6ac91794f687864f6c03f8ef746438fe84bcbdc039ce5e15bbb1220a498ca6bc5ea57d0ff5c45399cd73137ecf5d7c83a75a1276a71087d1282afa64724455f9dc075c5162ff5d8c2a6df60027f449de1e192ff204f38591daaf2f92ef70c4e247a281cb7f7a21e102d5fc0c9eb0f5a35c9f5d9923ef00b27a84e491c59ac6ce5ccd0682992555b9b45d86dfa08ea9fc37c5332473bd8f2b0233a2df40b6481e776990c6a3ba8e94aec8b987f537fea5bdb0ec4720d21e1dc76e0058e88d04b8e4734c925de6e4715df0d962930c81cb056a9d9b6b30d50a93ddd6503c7f0bbe9c0a54981c256c088206462ed1bfc7483a8390e75f59799a652f47f0c727a37c7338d22a478e94df252ab7345a1b53b382aa088d35dfbfa3a69c1bffeaaac9b0f9bc178eff6262b538b9db0a9a1fc551add31e2f687581a0b69ec260d45ed26548651134616714913fc0dd2256c392c4cebfe228315e4fff840eb1eab3dc34f43130886923b60da3ba6da487a3140979de1ac2a4ce388177154d7a3949d896b91efd41bc879eca5096bb0729c95c1e5b9fb5077e1480a1ade6298c81e2714010b4dc8adc74ee6e5e874c094816580cff9f1560d58061f4867b7119e286e525830219cd35aa10f3f45511d6c147032d7cf0e82704e44d41187cbe9e03d0d4708ba8e94985815510bd11201d21aae281b0cf089d001eab7deef3787bd57c3c555b6f52866519bc7017ab93c11ff0a2c7721d990889961f439b98363bf70c82f5165dd124f61df7cf048f720d7ccd465c34fde960cbbfa6cd789f94e6315a12e4cbdbfbc6637e57e508a49e154c3a5af3ced47925de048a1775cf4558220bd1e07e6e56e257fa84a44a1327dd32c5c0fa581308183ba4269e6d32391d644990e222c3bfa10aad90e03d8afe54bad5aafea52281f354788d7400f80c4fbec34cd3d193c42961c6a51a88e8fc3e8fd8e7c7ccdd301e3aa78412f4296691c34d302d24a414e832cf9551413b55c0125f3d274b044a56dd7e95ddd6a44a5903ec090a4841a75042d7e0629e4ea19d9c5663fbed8190dc2ab110636841e6be45b84bef1a15e0cc6589c49a1f0ad0c165264295b4faa5ac6f6e296479528737dad39e76dd0d9faf062eefab8d52b2ed9b9aac615e3d118d5925ef3c72b0070133a756516b30bc500f7ae9d893fd07f4298544d86f6de818610331d2af81e05763d15dab6e9e0231c7c8d4c62164bbb98f62651b6ef2206129cf8bc51b833b230208fc7be987bc81d2be82db07d0dee80a5b2e857816fe4d3ce93805c7eefd83c42c247498df815ceac0156d86c99dda6bec641535d40e9138a6e78ecb3f35c13854773ed9743fd815193a0923ba3fd4da7b969f0535de203f7dd8367b3fd736e0345dce1e57c6a4a92dabdd09be828cacfbe603b217f989bb32381b45307f11028e69c7321ffc9462823849a7eccc3ba6e6eaf9de6f7d4f9957fdce2e31a90b6dafae06ed50912dd3a904981be1b995c36ca83918be7c09fc3ba60a457aa29aabb76895f69d5784dffc0e70528fb2ab38b1e9853de6484dd84fbe63100336fab6e850dee0a7c4eb402628062fcb3e5605b9f12b28fce7e8c212c224dde223df9a29dcf1d69f367e090f49ed789ae8c1bdbfe75662eacee69195e6dcb9deb592899fe6bcf6af0c0e8a8068ccb194227a56c5b05d5762199cea1bbdcd58405adb5469c2b1da39408599a87710d838d0ca5585e2ed328b10e1c6ea0a764b1000a75282792fa5ed50ad3feee2a37cc9216c49ab9157cc237cbe5138214e72de5a732c3c0cd46bbd2b19ec3d301942411b1d958e96fa715bf00a43d806e9cd473ea9dd32390bf31a4c992cac95cb98cfd8f10c25910458f7af7a913932642bd553951c6b1503128ce821b8133ae7faa0c5f37b19cb87cf2cd4a343ed0c29d778e03730c48ac772b41761f14e1e571cfa5342a31253b2758b5ce4ef92a3ca97d1145bf029f7ac92be6c651664dc5f51e9b9e19f824a4dfc19c5b37fe8489bee1d3a4ae9835df477690a4638d4dcfdb8dcf713c6ff374f1e77b84660627d03107e3b9f478dd607b6e4363a557e21583134c203df35eb9aff6e8caf9c785030d98793bc47719d64fd258e80a6ea0aefd899d5f74c8ffa0e6cde4618752296da44e2bc7a5c2467b451d7f74cafa03339b2e7c1b3aeb0b79a937a0ec9bd75757a052c6336ab4c2c0da3a40729653f29b8052c00088ef9098360c5285c56f3d9546831d38bf3236c4a083e429f0b796242adfe255f9f0924d664541888b7d5e0af6943c9a922a458c05a71a14cfe6eba64b4f664a5a2ac691cee8b51bfdeefc72407f8f16b1175ff3791129b1cd2ae4d826860bbfced05d78efa401ac4f136128b2b0beb9198374b4ddc744f160da052456733bf47e34882599ed23db2a6e678be2b355d9813fd9801923f26e193f097ef8c4048c4f81d353d269dffff3d7c34cf99931720be71ad26f115dbc781eab5c549bc6ccd90df941cc1e8548ccd9bc6d6e14e2f5086aed1462f0768b0c22d166fcf2e6d53004dd586cfe096f61c6633218203fae4ed08d7f57688bd8590912d0169d70af0a383e03245c3b26df72c2aa0aeaefb139cc98807751887a9a19b029f8f84b788421434a398b06b5bded3a66a89ca7cc8a1654cbb710de0cdfcef6329174f2d2b47f097f26ce43d8ab604fb4141b571539b7e4e7c6ed1780889fed6ddbf18775312c6df95773623615bb0ce471a6d687ac4ed78c1c222959b47c490ce1e4f5420b985f3e021e1f06aa5461c170dd6e9162dfaeed4971b788402222189a97c8ed57a89131f0aa14060d57f5aa16bb7b73aa7363d6e006e3368d70be3a37e63867dd35d78adf0bd7d58fd2f1c621a6f83819c34cf4c1f102d17484f388f7c1de2cf84dda5f0802cc995035ec9cd0f89afd6fc4aa744d9c41dec1109e6fdabdb852aa64c8af2d94654ff4188c46eb6704e80039ee25046902b776db87f7fab1240a9ff83b8ead81c64209eab80b4da26875f4108b05d1e5c779666cfa8b19cb4d52fcb391b6dc4e652990e740c83693f75b7780dabfdde46378f81d3e089644a1605af2649a16e9ea004bc0f5a72686c23ab13b432350aa64ca45e71a76079a1153731d55c61be9a2d9840cda7ff91b5ee38ab496be6f80882e56d1e5cdaefe117fab6ccc423d7a1fb020907e6b620612f77fe7918414b7586df429c4319cf65e5df9d22f0ff3b9758e70e736f584c56c58d36450d3a8947291f6cf7af501e24099bada6200322a70d44c514fbb3cf37e814e5e3f5d7b6cd839d8d3c8605611bc5da93658c498db271acb27d96baf0ee1d14a0485ca0cac7987f86eef08bc45facd45166dc68da27d5bb418fa37b941926cf665e868ceffbe3321cfcae7f8c5e5df77f1902c96f994034090e84c59a8bf252efbeec939f76ab42558c4f85e62348f0dee46fcfe7ba3a8fe74b898d8d17a814afe35d70fb9eb81485fe89b853f076b2936e2862a658a631b8f70a06de49fbbf81ba570eb4580e390ced7728fd20cf62686ade3e46634a2a6e13835f6a08258725b2bd66c9d6b237b5f35e025aaa47da1262117f40e5120788e1f75d20745ecef2c99fb765131bc9084e73d21a3438e339a6c37fd44aebd7c31058577c7e6c80167312dd940fa5f9d1b066ddf9b093511a8584b27fd185176d01fb287a5e5429a026f991116b65f6019a4a57e9e761ec4230ff1e5f46723fb71113d00ef21182e73a2f2a1227615a525b47685c6c62de7155b45adb47cb3c4aa7761e067f689e0583c0c3575a612eea1bcdd8b6010dac398b218625a2fb2af442b23cf399458df0804f1d3694eb814a968c276c804d45b851d4bc3188f0e5f6e0cbccbee5b530f95300d01b45fe3cdcf4cfe88a84ec0ff3430e2ab87c8fd3a591c1109f596061227569944849e669590171ca0924f1b51b8b0cd4589b3462390f30fb4786660d75bd3536398391b4b44c16819a01ee1c24e2fd23ae7c2a339dc4b3cc41b03ec7d15530b6a80a4a0386c070d060b318dd9db40bd6572b80edfa62bbe0b26f5210125243e855e263f3b7286bd2c5b81800e94adec129a08e2efd924432e9719053321cd1cddeb954a1ea8af54acb51347193173019597532fb7c4492e428e03d453bfa31c54a219f8c98822a2c0cb4958b7a62c3afd08f797373f164680d0413e31ea8e1127a669b003b378aec5c11f94867a128e52aae79da7ceb11fb045b28131b4ce5eb59cea4f776fc83b907db52814543ec968e48499d1a06730de056509bc0f71ff86ca0914c9b5c83daea835c277b1bff8c7af76f12705268a35549cbbd861cc1ba229e9c0ab98ab5f8b2edacdc3d423006e3701220bff01c4f8eb8438c43381214ae9a5f7a1386204c6821e807ec95a2e0db5de3b2981fb11ef972db9bde6b849c4b077894ff081b03c625055d200976effe2099241318073682c622c52b82fb719f19ed3cf97f7da2eec2fc58709e471ca790845fab3f65e182993d18d3a9a917a26fd537e6f0860eaee99cda44d26c3f1852a84c21b9ff047c3140df97f1dead1b1798678975d40514bb4950775e04f6831a8eaf3cd7982e141fcc65ad3e6b4dc83de199da83eabfceb05ffdb8eea4666f8f0c448e88f4e4d3af83807583d34d4ef326f7521547a251700d473c4e7fbb30f87cec08924e4c5990f3ad35c689c7df34a731bf545fda169b68b84c8f76f018f8bc31f46bdc3017c4c2439aacaaa4fee5c94881ee699746bf0929460f37ba74d2b2a456d6d47c18f4ac20a7d82eddc11e2a78d5ce240869473221798e637d651a569321446b173494d850117ef3b43423facb74055488d9237dde14bb1b32b598390f8f766d4fb8e39bc76ff3996bf883707f0f5af8be23608a1602dfd33a7f6788345e60d36d7507848646b9de973780fe9d726a3256b666d357483b0e25f3c34a78d97ac284310b8ce6688f49483af487e8fa7538b81f10e3b4c1b99359c9f0153a53e9228e69caa19b0eacf4b499ba27b093bf1f6bed277fb641c1c970c93b473ed53ff597d0b34adb93dd6fc069414d9b423ade88adb06bc086f6639f7e3f61492ce7ad8d4b86a89aeda7c24ef3b3baafc19a98ffa94b397a3c794ce55bf5fba68a42ccbb807b0d11034bb480a249f9fbdc954b74e75838cf613f48014aa4f03aa6c518af3deac047b286afcbde38f8155404f6d7934e2cdbbab9a51990565a32617bb5c89c1aa3192f5c61e21a2c5d5b210b654c05100039e7d65249a0fd0cceebc8d559ae31027ff3052a94a47d9a88961fe256b0249d42c2f5ab0bd19d185c8e72586b45cad0430af0b82896c90c1932e768e545b1ef1c4a7464582f6ce18837eaf2eb35c33dbc4f0258c71429c352177b5cfaadcf5233fca4f49dbc49311be8862030fd749153949842add34cfd6db5e0332989c6fff05a99941ce9c949eae5f4d293bd4d40a775e935da42f87e7a73df2c74c1c2566ef458a9bcb2b9927150431d8a5b70160504bd9255be6634921a707e734a70c6d5122cac2a5a8e5ebf9fabacfc8992f1155edbb5247003a00bada92ec542e20150071ee7d0cee51e8f99e37c2eae46e7c159107c10d0b421505bbb9d171e0a934ee070fbb3aaec56acb4c48e7f90cbf9729525680a81404ab778856dc6d15a7b681ae970e923342fa86d21d5f146c25d3c296fd78a3108a22af575b9a4d00e40d228d6956966742b8cb2c02443848350b266f268bba2762525c4d6e0cea62493ce25fac94c901a11c38141155667679a647c202b10f50e13c0efe6565eec51321055da2170da453351047cdf9e06aaeeda794c7ee640ec368f113b73daf447e21c902d1e6165e4821c7256ba9b5631ab590a64382d200fb2e92d3051092d46385b83678d4a0fc9551d60964e207e58389ce71e464a7e083b56a3811abc6b22eb19a90cdf147f9122a3adf98917765c7818589b5f76128a5f86af3570b40dacd2f4add0d30457c06283de850d3d9a8a8a222e2ca24fd0ea2b6483877992d0a0e288fa0ecff81a8c76fb9d2e94497cf1045d6bc1fcd57e08b372c3297199bef3358503cfd48ee93d2b14df68014c8c673d818e00001cba916b6beee3a3569cd6c75ddf75816b725b24d2c85499181d339e939d08269cd488355b5d08208706e9f188f3a7b39b7cf701d301db86174184ccd3e1771dfd53f1b0bcb1e92fe523776476f1f3aeb029c949637459193df91acc1ed7a6c56bfda03692d5a3dbf1daa44b04f68c72cec77072cd6c698e13705867ea94be9021129fdc4131e2268d3d166d0e08923b84840236c82522c3b1d391da796a49288c72f19c73488fec31cfbe36ef5c38ad4aafd3419586df950428a6043751c64330ede4f3789d32eae1986ac2ced11e4e18d32e7fec718d0338fe19855e1a76b069639b5110b748b353da7a0d8bd124e0a2527e4cce1f306d098e317f82f000b3df1379d8b619999c287c673047df0dcc16116c3d4e1d46de3e2c7df2acd5f89de3448ac0ad1db45d1638818aa6e89182de3fdeb39a2cb9ae4991a21849c35f395e129ebca61f9fccc7c8dda208eadb59a95f1b49506c08ca5896bb7d2bdebfd111e8f34b85ad0660921cae00f82917503bd6bd2d80032e64b59498bfc2ff33ec8326d330e8cf7c246878f349e260df33e0a350fe106f99bada292251da23b5fc11fe08fb5c57ea68bad63c9316907a255db00ab6f63bbf7e73c51d027010e871946ecc99a5fafc7de3dfdd2749403ccf14b97c3f4d84f35e4f687357c2cac8a7594205bac445c72d1bae058cb5262dce3f6bf5ad02213fec17fc9d220cb55dbb55d3a1aecea469856778f2c370b76afd4a4fa3a1f03293119f988eaf69624c821b1a1dd5b340a46228595f66e485ff495c7c00f1f18e0c8a14e524908c7a4367a475ece9583a3bb24b6244b042ca5584445be61b8e1d8134a86fb9b3aee5399e7147b558d20f8e3d78da678ff34339c40a52cd437d29fe95d2b57535f69833cb2abe520c0fd31861235bdeaa87c1152af53702ec6f9da22a6eb6937cdec37a133b0a779f5c6ac60fbf8afebee6dad19f3ea8ba8b5ee1bdf12b3d72b74853dc03f04b74931a6dea6aea6de48ea117425ffabb117a8d6b443352f497a9469c6ab0dd66998507eaec86fbea21b6d1c20204e2893cefdc02c4fc0d85642a9ae6e4347467d5c00c234c09ec9769a95b81806d379c9b42bd54dcfda306f8a5467acbb032aab77a0694e6c1496d5c3ae41bf4a0fdc064c74cf2472335084fe19ffc2d3ff095025405e83d7a872e9cd61fa6e18d088c98ad08005d16d6e85d4dc45aed53070845899092f57ad6ba2a52c694b0eb6068ca80aa91eba6b8e7607035a8641f8316c0ec000da24728971eaa5067436448687f6f745fd6280205e23fbadec4ca5b9702552a631a88680ddfb9b9a9828aaf98cef05edcadacfd1491b27c6211c19e381b6132a3c92843645c827de0a3acb8d48c1d855bb6194cfa2c9808cfd1f3abed101c953cbbd854e46273a5d179cdf2f8e5653c0dde1a721cb8e8fd603ff0beb0ba87bff554470591921c2445dec86372810fc5c9d06a0ac1b77e6f1a37f312423351a992b41c9bef5c8f744ba4c03ac0c4d72c0f70beeb6bab8897695b3e1632cf8699da31b61be33dee20ed1d4b0cdd4d0e9696195d59bdb15f8ff614a380aa206596d8eb8c5b6852cbe4805cffb542dbcdde19b2713ef2537013d8470253b71d36934b51de2205150e59f6d2e11f4f91d65c997226223db81acba91a996bad0731381c35a7725a3cb174fcccaa2e5107c01af94bc5d71daf476e0bf0073efb145fd21e7d96daf157b17b98aca304e26602fb4a27218ec40bf720f2e2cf1f1085065b44135576210396bc55be8d714e0f65eae43131801514a2689e05f5e35afb836b6483cd8c2dfa16a2c5a54405a973f8353ef1d7cf6db8bacac429fe360b2ae7f48428dd19915f424f95b29f42ade4e2eb3058e820e44b4127e882896cd7f6afdc327d0cacb30241165fc420b7ec8560645d946d07c2814c53703319ca11f718612522bbbc0d7b276e1512fbd9a49b3e4181231ea19075bd2f518ac8bd25eec3fe3909335936027effd8975acf24a7b084715de56f20fa4f226a3a212eb47aa50b7977282af44a42ca0f09a61b695a2aad94fa3995177796484981047d863b6dddae18ebe72cb83e3ceb38e3fe72d0a2f0a2ff7eba46ca24938a77ebe66af330a662d385cbb1fc99275da663cdb8bab7012f25f8867ae8f8a9e6d6dd315f153e25610f94b169b56c10bbb529970ed4f598ea4db0578f7aa7cbb0210b54a451a7d4f2d8c2c7630849080843e099695c15d114d82664f40666be33b40d3dcfc61a6fe27d0c12b1fda80d6821ebc448e4fc780ec6c7a9ac7fffd16bc14e85c638682846ab1e6fdee71e295fb501fb8d914fdc95322721fca9213e908c46fc89f26f2a486bdd27851af231b2edda81844b4b31b0cb2ee71f09315a5b3bd748c04b6f7cdacbdd0cb4b59af84024ce25d08948ee0292ce7e5a209cab8f4fbe951ec9eaf630c8738180dc506cfbeec0dd265e637210066cc5d56b5412694801acc66f0de1a81719555a0691944f32ac2d7f7f72ea21efb6bb0b5132105418efe5b3984b645e2ce3203859972a642e3fdb76d83a98b1061cd92cd9a71601c1a248fbbc52f51933b8bc08c502c337b25254a3777619102b91c4e161a7fee10f907b70c0c34a213fb41f45c473d66f1f0904d5f3f12738d17372455228bd21a36397e3fb5ecfa677cdd4311fac8dc9670d128dee5ce80358e369f57c896a739b34716574751a17d434bc472c2deedfc7b7fd5ced0a6bafe73b72b6f78ec7a8ed79a694b0c0dae8ff62bb535a3cdfae37e454a16d04257c24b52748b15ab110a6bb1e0d80f72d0861d7cfac58de8d7ca56d7959755fc2d0a1849159a07494918f4752268b925b69a56ab8a09188e8784955c610bd335951b11221f5a3c2c8f79b437cd0b0f7d4a348a400502cf1413b8e6b09eb9da2aa16b00f2b8cd37ec2e8be5b463037553fa733eaf04da19059c660a29589f0dffc7b067f94b99fee47d9cceda5cc1db50'
32
+ iv: '22b3335a375224316dcb0e33f5d25591',
33
+ content: '740eed8702c8ea16617a4fcde05639ecb3e3ce88de2db8c01bfb8ce2ba2b0d9ed8ba76376aa54ec5b2ce183467273ff743634be6ce023fa11414ad8bff00568df27218218644fe353a303d8c83b6af178d6b83e6629d4908f1b66f4bc181a0013c61a31ac7043ca15546b5195e8848d4ba7b6d11ba06b5cfa7211df7f2d12e243555722afaa07af8b3174755a9c1827d781df1b66338dc9c4a66289709de139131b8c31f355d3c0570a13ca283996d37c6457596396e3bb6a9785bcaccea6cbd1643ec495d3b2c8372bafbd506266e72ada46d4b00739ddf6fad51a17200ed4373de97317792f66334b3c41ae04420089037e6bc7f390d189bb915945df4ab82eccfe616b1494884facada1e6712db3e7d593fc936395e14b9a216090f94cd7a69faca5d7ae671a88918a5a8115db8c64f60f0f76cac90acd2bd85eeffbb8059cb996e98fe7a26e43a2be0b0c7061c3a252667e8a8ff0901b74da76a0a43dfbbb0560e9076b21016600acfe0a6a06a1d76e6ddf381cab020ca81bead9c280218b97d4a551421834056d84c3c2d6d7d49233f2046b4c9736ddce3a18f0d8ccfc4d3320c5cb9cac25067b16cb3ff07e94168bb931c4e3793514f76a3b718744a6a2b340263f03829672ec5777dc0f9ffc41d14882a6804bc26c8e282ea83d319cfd6839d2f254902191d9c5a6d22b152083075dede84b3dfd6f4497ba96da77c1f201af52b780208ba07cc4552991205f2c791481e732589a680cd5858b5cd3eb7d8b24dc13f877c305ac8431f126d0d6fc3ca026820a749b9f45814685aeaeee1b6f0af1cf476a878cd11f8cef4ff0bcefa0d7955e461f79eb2855fa802f74b88fddd69bc0f6801e995e2f43a27516dcab8dd3baec88a1809c8f1207a3589db219e2b4fa50992cd64b3e012c81ca0898d4811f631560cd74ef2ef017cad0453d95e8d58f48745dba7e0ec479b925572395d501a7f189059ab6e4c604f34e1dc3af18e85a5f7470d5e308ea15799f608d2b06660924539127e06c318d094da271600c978eccc84cf1f83e3f5fd18f1b168635d4e9b35774ce95e940a6b7fcda03628a969d6fc938a0031a3b505839f3aa698528da81933e9688ac56a8dbc2dac79334d74a85172c0e8a06a4d792225628fcf7a612aca31f23348864f0037f3d03b109bd0434b7d5d0fc5f4172debb3a8c2edc4ea47ac24b936a82c476233292c7e33bb098be81704513c34302cac6984ba0905efbe0cc65d88beefa65302ff67ecb329613b3200cc15813533204a65aec740b91e05f91b3eccf403fde67c58b8f7943c7156eb1c8d0632386bce28a95808c83fecbe304af76a0d35ca56ae80c0cd56cb41225931d299895ce405ee8d9c2952fb98aa957bfe42180a1c08fa345d8d860bdc8209626f3ff1601205a51a6d64daee700358517829c6e87a0709ec117aeb82de5eb3fc9be9b445a817294268d434298d6f1cb599f198a383fa20182be4dc80a6401b62e5353e20b211908366b1678bb38b0dfc568425625db33e089559a4cbfefe395ff8064929b7a6e935093524c4caeeb3510b6f8e710af05cc1abeaff778a11174e34b1421138c10e2de53c9a6d4ddca5f2f4b6f77c7b83f8066dbc3215f42c675a23776656d7fe313cfb097807728d414d6ebbf3d853a65dd00977c2be5e5db521e22d6e0cbb8b2c46ccad502904038c972f4397912bafbe933f756f550377c0756dc4c69d6f5b084c409b816e111b012e28c7d5131b26fbcbf4a7b066ed4c5618c760877fe62a9529ff0b9b0144cc30bfd1097cb9b964f82a47db58d3c5de36c565109ac3990151888d758040ff4711d3b7b5c69973d45ba253decbe295a3afa47d5a08071d70824f59be71ee2145c766cb25fd5114149b1d505b6597ff212d20df1160207a7fed1bf5cc99dee23377c2645ba585865255d6743a9b94f2c508c7406a37dee16148447c6ee27fd2df79f08328bd07762140069feaceb9be2923a0eb6922568346fa161f1b86e151a1f0d90d0170f4a79bda8c005b7bfb9705a14e6993234bf3c85bfec9962880266e0f65233f8ff8f9fe8f738e6880ecc2347a938c144aadf4acf8bf73c675d57cdd4090cd1d5bbbeda7954b879a2a19eb841e00443646faf9d799972ffa7f21ab035843c3e54f2e303d86d71851850c3325b92a751340171a0147d0f9b81204eedc1cf87e7dfea96244caa01f8573d7ac1d673793f2ae3d128a9a289d289b0927719ab018c48289bcb46c9893a34066b533eda0b3cf5921aa327ab102aa499799627069e98d350f19d278b59bc2fff3691a204db9db0dcb329c3d969338839db59086afe7d49e794b50408d447de84dbdf1bc8757779fe7e99003ba31c39397b954d8e528db2fe0f966a61d3a24a947c36519da2fbe2ed090b35f38f5c1da60cc2f7d9e92adf3e3fd1158c70d41b75f29153637442033e849366752ca25781f76ae2f01275b555365cbf53cb5b5a50a13e9474dcd5baa4c10c34e4a856c8786c811c0d7a84ff76f7ae09dc6252cb21a30fcc7350318fae85d9cea53982b6400db50d50adadb68fa914e2242ec770269020830f068cc68dfe027f74d28927fd24da0088083877632b3064699019ef128012eae1747039e7322465fb010fa5bf31559b3f3f20ea345b793d714978da2777a4468c9d253a450dc8c686fcd884778c6248ddb2928cd3b8158584166dd0152ce773540c330ea4c8e19230eb4e49c83122bfe7aaaf58ac70dcb8fbef5195244f51ee8f643949d4d4fa7cbf952734c34028a82f0f10951e329c25859bb89fc6b424b2353fbe8c92759f4c7fbbf6662dc6d325ff0b12333a244b978ba882406678c720214cedc1604396bc176330c8397059ef28f51734817bef6f2cd425852fa5c1f8f073ed7839b0aa7c46701ad9aa96db3fff88feec9c278f77cc9470ba19aee92af7ac4eb8c8e5455343e1d1242457570b718cc2473ebf244d524aef0aac83e280d6246e315d4c805580fdff5ec6657d7bebb31cff6b1004f7ca51f981a9c507ca6abe4b8084be2ff3e045012a7b80d40c7d3d2d2ac7eb05458f12716a4a40d1bbe26b4c2c8a7ba22180e3e5555b352c54bb6ab4905970ac5003b1289bd0232ff2c0f26132e901c51429631590dc828d9776b24acf04bc37ab311d83620f0bea85c500fdce540c726ece1aca433f19fb144f6693390d42fc879848be7eb54e469b10ded01cf9160a7da664237bb3ed150605f6883689393257ab1ba9d8658032bd6c30a5e7e2114106849f2c0ddbf65c42953fc8107d82e33ac697424cfef8efd622a60d0ebd9a446c85f7c1f1de15d6c92dea8e5b2c7f3d90eefc3de931d481a45810242eacde0cc791032bcde78dbbb84591b0c824b09d05471d37513d020292422810174bc36c4335292d2a1245bbd9f547d2beda400a052aaaf78b7a03a2c0bdcc6b50dfd3e09fef3ac8df3051dd265a4d2be5ea6f669c523a9a84f188220bcddfee0a44cdfe929d2e93789d01abb73f7ffb89651486cb467f009ff91a64b3dc9fc5879c49e3ddf0351529d2bced88eff5a79afeaed43caab3486341e56664bf8b639d6c5be7e2c4ffa37cf0b5505d664c1ccd9ed6e53c4ae6e17f361bf4393b6dda658020799b3a904a7dcaba07888ea1a7539dafa4664a23741a968692b4ef43cdfe342389b56f93a62b68eafe2f32959cade38e3849c089f222945e25d1274af69dad202ce93a55d5a2898ffc21e0026263bd6aec70e6c169c9c3f99eaa6132af86c75f1727eee5d423529fd1801b6da048b2c04f78782e2103b65a48069573adc785e5608068e7abdba6edf74e065edf29e1e78425a83e4c9407d72397bb41ee5c5985f35533e1c6adff11f29afe376514d9ac2f2a0d99c4e9f1e416255192e70edee779794518d09bf9ad9b1f0b244bdda5a36d7e832944fad2fa9cceff9ecad9b362a2427e740aad6c772640a7eedb97c92095173a2ecb11c2bdd3331e9773bff6c3871597b7619a730694342889fb7ed4ca2c9246b3c768e7b44b8d52a390c0a3f15e50c8b8c1cd42226e4054b2145ed794712ac299720a78f3922f4686ac2c0c4835fc28bed1049c6a87129ac9d1ea80d6422bc4f07bd48357f93df5dc529f3587a948c67f6a0852b19a4e3b112eaf1b059c3e17addf54a4e7bea37015c0c44f00bdbc4d6df31fa3b5c2b3db0ff8ddfe491ef5adca1b004a520feb6ebc2678369324ea922d8cfc15612e561630184f5755257caa7a459b8d333bf56f9add1210e3833e52c30fd31bab72020b5ad24826f9d059018fc4b1a6b05c53f1c49e4419f077d6dd6a64c2600f52fd14e7a64bcf9905231528ab68135a26636f49de10d2062e5a553a794cb8e1290a1dde0c354b86f019e7fa1da087b850e55e4a749a495159a3f535c20c994bb7f847c4fc118747ca84eb54c503d7df989817fc47a3de5b0b457a5f673331eb28c0d66ba41649bd3d386a3139630cbf1cabe054542031714956d189d5bf8d7c7964385b1a08ea4987f1bdbdc7c858b3f5accb624fddf19137cd4b707cda7443b295b345248c20e3f4b4a201a0f9a6f4fb5289630da8615c81b91a84f892784fb0257ecee57a32b985fdafc684b6db02971f5b939c4320c2150af6a1673dac94d43cc5c8b1a649d0063dee1d772fde56229bdb14109465b15b88671b820c62741dfcbef53922b277f28da6d707f7c47993091c87ce1ad5bbb613d2fde68f12a545039835aee688f13cfcc3b3ccc0c0dbfaed04ea701a53abe12b9596792137360f6c10b9f3e7111c62e31c3f94f5bfec50a83c8f6d9f9d041d65a5fdefc2564bf5cb76044314497002b5df0ac9c95ebced44353a6d1b72207fb211ea3eda2760c0d5129157952dd00f9bdb1ddcc2130585ebfc0441697a27833a106f11b47b672dee76c94be1c23f71709b27f031e77763a1848f9ddf8437b53ab6f78d5cafa1fb9d82c9a700dbfcf390daf1effca0644f59bcf95e88be72143b1e94ba42c39237d17acc0db4c79d5f35707969ae589f19d6f75796737fdedeaeff1caced3d2aa9f874006af3eb721df6c93092f72915d2d1dab4191b607adc62fd50a05c8d7d335069127038990ce5016e74d5225f4407a960de11e73ee7fd8d79a03bd3ffdcb98243cdeb0e9f3a59e7789c2b44cb4708bcb6658ff5958596b7ee9b85648911f388739acf3bc4e1c68e4a77924a196d9d929ccc5ca23fd16a360069921faa79f0fdc0d0df4660603cc017fd32fdc6a092836341d46aa3bd316d63fbb65b19fe02a5043b0fc05a0628286628abceb05c512f0e214df7151a37916c5cc76bdcedcd4d75b54fc20c79d6634dab324a3fc6316bda3b90a72b8ed1529fccb26526c0bd78fc67e8a2b2ff8c377c51240815bb8df751d9535e2372d8ee46ab04e2edd2769e8e9f3193dec7a95d263617e03fabfd73f5ce4b5e52f703c281f0624c38140c5213447083aadd2e1b1ab06293cd43826f424a21142a59e8b765295da47aad3a4bc2054866da7607973e6e523eeb34d5b2521de24da2e49c2764174c3d87d57d37fe7a43b2d6c5a676194e12b771c6a7c569f098bf3bb2e734e500d9f09ff18cfb36a15263c4653514e05842717f6464ae2cc718cef06f5e2385e4d136ee5fca9025466b821d41c73d55bf90f92af2c7b7c088fd171f279b99e6c202550fad556f3d080e57988e99c45519f4ebe1774c0ea31fd1c1f973e537ee3d971c8dbb94aa554241505e1a1147593a36ab3e2c72503bc9b91daefd3c4a76d7eeb05f41efacd8a8b8f2f10334280afd692d35e15b332acf276c53be4400576c98bb2f133a0eec3f54b24c2728fc025cd0427da7755ce745d3e276ddcf18fbc1b9ff56707f096a21966f12ffe0b32784c40ef02225c9e609ca7e236bc89132778a1da4a6c63b3d43df9fe65d92e9881b94c971c81c72cb6f9621c3b27e7b0307480912f226ada315a550cc42d002672d2cd7177981938c589e6a98e3185b2fa4227deb343cb293ccabc95051619dd9c3197d95aecf8d7d0e19529cf27104aad4940d67e8abdde205caad2157e8d405f38f2fa645e566d6f1d015e541dbcbdfe8b3cd07cda6678f1c83f618bcc932ad479e9cf295eacff906a14ad741026ec9d98fa43e41ef483de4df984b4ceddafac1c1f6e40e74141e47b997ff7aef3e0ed41230eccf5f00f27d1a98410f94fafc498d1e90fbc4fe4f0735a826514c2ccfd296d7e8b34ed27ebf0d7932fb08f278e1a44a1481f0675e2437dc7a8f037837324587e56f15668cc12eb0cd1009b30955da9145552398251fc6a3ffc020651c9c6e6fe7deb22d17bc0ecc0f678c3ddc7edfc93a2900777a891f5414a26839231b9cdba1df383a442e627c77285a0e8789e75a7035a53c5eb3bca2270cfa2fc6a443bf4a9ad26f8fae3a18357999e872598fa828f9613761dd3ef0898e0d3c404a1ffaa4dbbb2f13a1f9138abdf659cf267a9b8b3372ed526fde016dd0f765ad231830202d918e38a91a347a648b359d8df0522383331290e0d60f6bb57e487dabda8fd996cf864d1d8b134da27f00269eedc5b327cced0be9e242d49b80432767cdacb0940769cd29ed27e5d317881b390c3452bef6734b1a10a1768fd7db696143d837448b139653c8c1c21dc8f2e0cdbcb9245279beb471dd318747473369f0a67806748b581628348c3790cfec81043e68d42f5844c04d87b08455b537df3e29d2ea0895ceeeacd95fb7e4aa9d1144fb819e9a10e5ac3564addd3f6e180dc7993471bf12ac9701eacc8a191d52ecef29c030a851c5b11c05ee91def16f60feb9f50f833731831fe08f87d7b360ae21a957cee8e0c95a1b512cbf8e233b62f3f0e5ca1e47828b9cb2e4b136a847ba72c62630224487c8b1c5b0588430fd483787f6f7b4e6d239eb2b9263ddfa987bd0a72bc72f220b7d49df0d223e413f6706c06f81f13fd3874a7cc5fd0fc11b7f34ff64076d7a8709c5691c32f6124563f23a54a115a52ae7b0e1f9968a1e692ccaabdf220dcc162aead2836e6f7dbdf891139c06f337734a8a62409558719875a97c827a629076741c7f870b76fdec34e236675e82aa0b6f6b9bb5cbdc498493b0b2496f69a3e5a0982e0854a3216aa0ff70c1d20a9ede0497b57bfdfcf83bdf2e49da17f305815e7e415854dbb86fba616e00b7b89e84b4b5a84687ddfc792ff74ffb8bde66a59132cd8c1ae697fcfccd1e73c11a6f12d7a1b3a06cc57a53c392371f37e2b69082cf7a591951b1d18d36f3d7ec1703914343f2c41a3e23bcf0b6d5d663024742a0cda49f3f8c734c141288279c859a1ed331f76fb8efe3727dc0266bc9f9f2f4d3084dfaca580e4747f0f93529225851814627621153576d0f8d6218e56fa1926728cb86642f0336cbc6884a486553b07b52c0990c76a24b34816c857d3cdba36fdc0ca62f7c62a118d2eff1c7c05f81145ff9b373d4b415b74cba199ab6c3ee45b7c5996d0c4a8dd1eabf60d8e14e5e0bc17e2f8676498c44f71d8bafe346661faf850479c78bed9f2742e1eea40adca9aa285c8c00025bb7f7b8363481ae0a83fc25e32b68f6107ea19d44072bd6884f7ab7d23ea955100e11092e6c91d5ce99da2c981a450ed25a667c895cab1c703c1d75633d1954eaa49fdccff5e4a7df49f6ffb605f9bbc6fa2e600b8a5e51942625ad76d32e78a3d5e25b2c83d299570b2148210935776c9da0b6bc1497099713b16960f5e29bb1704620d3c8294cb1bbc2019486a72a7f4d6a426f2640dc2853259f9183fe899b94fac5cf96f75c6e62ad908f6677a612d53b88e75bf855aa5cb28d7d7289472962890a0f8499b3c33671f56a253f393e693a1f144ffa50571bc25ab73ce45c8d0989cd6ae753ce7787215fa915a40f7e2a51e188d005de3edc68847f1760c948e2e1784908077b657246911b84675d45e67ea4861bcef52542d88165f5558a6a04085ea7b9a8743058694b209f36994e52deb72f6d1878ecd67f7e9cfdb9be83aaf9827780a2376932be5d31a5d90692eb5ccabe57fec89111db358cf2b0ed961256724d6ded3222f5ae702851251f883a584bb557cb5f87f8d7b1071104ab8f750db6da4a02f4e6db4229ac7b19f97a427d99bfe71463873763d13ee453f53f02b560aaf3c276722ac87e174eb0020af95984f2672b8f33a77045981989565a7c5657db77dc4d566abb5b03d38721cd1be523ade379bf6aeeaee9e39922ded0bd1200ff0a9c91faf656ea0b0e36addf51cb4c109c51ecc75efd86df85187177d895e8c71a7c8909bc66d8d604065ef15e5c11c90ac6fee0c4a75ce9049d0e41603a9571208f23a8e627083446ab14b99697dcac9694368b1236454ad29fc7a10863351a34263ea73b0716127a66304f33a46ee45e13f027077ee8b4364b25ed783d03af0faf35e673df8c9b43e1d6045e3055879a224ed955cf1001ac8220c41d69a9fd550e81ca857ab3505ab42f55335ca08899deacc36f97118449147d1a82c8d81744e78c980ff9e0474b7928348566c223b540edaca321944a497b5d27d979bd2d78a8d66e853c2e84249e3efbd2a4d78e6fe7d21a5d87a763eac891b104514fd85a0348d9e298e8fc6a68b72d40fb3f0412e946ac37394ba72db9c08904504385bf9086564475df7f7baa942ef51da8498a17ccfa16d5ecd0df6fbaa2ed532e3890256f682438538b2ca9ae4fef1ae070fa563417a383597ffa56cd0bc54fb497c4716502aea811856fcf913a2625c0d4bea7558b0dd19395d73e0784bc89184ea484932190e0550c1e8e1b72cf5e90a5d7366934abaf80b61b7eb545fac7fb4cc7c5b92396aa4dacff80cad772f7faf171dc4e9a00ee448c8c036f54ce5d2a2a3c4f5c403e9865f9f9a3e945383867caa9874fce6ae28c1f7df738a234c9804e75de0fdc6db5d3df138eba6c31fc4faf675d70512817c6ebb23d9fd2ba5b7b172ae477adb2f2339b4c8e12a354acc5b72dfb01844875890ed3a2993be96a13b4ae00e9a848cfd0914d902946c1fc7afca6eb1327a014b6c356cada2a313dfa98a76e7995ba8f2ff8b89c398f8ee73ea93fe4bc03dda10498de975eac43ac721ba3a5e549db6eb91951a984906f1f9b8'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
37
  const { execSync } = require('child_process');
38
38
 
39
- // Execute the decrypted script
39
+ // Get arguments passed to this wrapper (skip first two: node and script path)
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments
40
47
  try {
41
- execSync(script, {
48
+ execSync(tmpScript + ' ' + args.map(a => JSON.stringify(a)).join(' '), {
42
49
  stdio: 'inherit',
43
50
  shell: '/bin/bash',
44
51
  env: process.env
45
52
  });
53
+ // Clean up temp file
54
+ require('fs').unlinkSync(tmpScript);
46
55
  } catch (error) {
56
+ // Clean up temp file on error
57
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
47
58
  process.exit(error.status || 1);
48
59
  }
49
- " -- "$@"
60
+ "
@@ -29,21 +29,32 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: '1c73df104ad9678fd91b2d5ff6f250d5',
33
- content: '5dedb9b832c1118e2a066c4d1256d42ee0f36326f8ad6734a41c3054c6092724e41352c5dadff00a7db2460f4ba4bcf5df397d7d1ad38623bc158c879470e7ddbca1a6425f22598e71966837b39828da8b87200858874007f3e08511d72a7dae2bb68173bdf87a28b4a8579c890d65cba6b63dafbeee17df330d7c0e2a2ccbfff4ca614b119ed837124f73e743497b0b9de1e534d9edb50717e70b36020f1cfcba9fc811175ea770b8c78beda5c49e33c1c486e9828a16ea0334fdde5bdb186b9359061789ffdca4d39293f3d59f789d59309eb89509456716eb9e1e692f9ffa454ef023a0491cb548b74007802c8ee094bb098b888c4dd62d493100a20f826bbd592bfb65fc9892b583dcfc06541449c671e4fe7ed31858f27b5a4616a258c5d714821675a7e669b371e887640069ee927a078c411e4341de931c32f0f8e95afb193a755778aca5b0933df2565448719e0738d81fbee1da8e9c3a611a425f7081dec968932bbc5e10a9218a2763ba2f2fdcd22ad40ca305e2aeee9573da9786eacd4d3c444c6f820b99e39253bc1e4ecd3c69c69b56146a4287660f444352d9bfe3efc86d58a8c94584885ab16b0c2e59a74625bc6ebc726a43d17adda727b76a74e189dc0013f64a729204d66e47e6f7cd9f0270406709158364e610719472169bb95d8c7fed0300bd636ca186482dd37c75805c32965c59e6a0db72bece3e03a8df62020d6a032b7ad16a039dce6855d8011b11031912e528246fdb8ca3a04481651f35cb9b5045a774a28a3c4f1767fc92493905cf881c363fe9dcd84b9bafa86c88892ebcb6eba3ad140448e99a1c76bea1690e87ec45b563afef4908d286a30c380e3fdfa0ddf9f493d9488ac78c4a405bca4b899e8b66e8b58cc9dbd6cc8fb84611a69de88cc8cf68e997a3fc23c0e07988e1cb3dd3704ccd603a7f63e6de52f6c7c766966b3e0ea4f39ecd04e318995dd8a6bbe8b3708e6545973e8119a6a494d50bdbdf1fd5b923414e78151ce9b117741268ee4f901bb2abf0a1917ec6b613eb3f6d628ea58422869297f0d7e426ee2b0ef3df1dd1fef072a27257c88f7ea6ca9e1da3ca891b920e9c8f226077c8ce219c43a728475c848b954d5f3736f965679e7a6e40cb8fbefa476ef2a658aa47ad39cb0692b4305d2930898744f16aa7c5fc3dfffb39c5d3ad126efe38e1c0103c455893e25c6c31f08053f10421806285a53ce328f1ff81589f365582c506871a949a10be731066d13bcbb3000a34a4cffb2797142c1750a4387756c7ed68f0e46741fe0bf518b1496229ec587822c6ecda162411d494d41cc75f19aa34167d6e597c6813e851fb22dbc1094c0dc799e292ca217897224d9e229760b0ff48c1f85661a6b0788ed81d59cbf23075229916f553d9d5a891381b3e327a1dcdacd1b4011f4b340cd05d1cd05d3d4802dcf7b7bc059a42ae60bff7fe9d1bbb8421083cea15514abefd49ca186f6b65cc78d56adf6bf66969b6d8bb2ada977267fb5e74a27c70f161e96e66b2831371d6dc46af1a3399278084892c39b60f5aa886e18c4017f11182f13c038def686603b82f6e1919e18e8fbaa35f290dee506e2657ff54d8cd982914acd86461de3b4d5429a608ed2284eb7e0a97579675c7c678d1ce3f0f6533216106054df8b56889b0baf71f26592dfd133eb70436dd1e91a0938183533cbdde4ccc8d778ac19ee280ba850d1d04a5e8defade895e31b230733160b2af5a0100f0da2a372a1158b3b7c7375a5a5d3c9be66f03925ee1374f2d11325af00eef183ae4ea957f6be12ef37282e424c272994d91cff81b861cf9efc870ded311ffb92008f17a77c3c4c1b3be6d7de0dde607b929381e1192d2dcc39aff71037f967464d15bfd2732300e21c81f4ea51d77e22a80c98dcd41a9dea1e48832c39076c74c03becb4bd3c7d9ae0bccdf72a8cba5afab11e6b4f2561cf538c65bf6117ae7d4d8cf06f49e7e1e51093c4e3d32191689addcc7e7b0757dced97dce493213bfdb1cf16365f1cfaf857ef01aa47892a55b0cd46e2e602cd1c632efba18e69c0e54d9ed019a5993ee536fc0d51ee439cbc8abe2aae6a94fdf656228a2379ab7e7981bf59b24385fcc2ef9cb7614ba6531a32c4e78f088b9dcef09f44bef51c196a76e66524dab550ea07a5cddc41a71464beb23fea94bf96f4d4f6cbacee20fd1993a8ba078b456092f98ff465f14eb0977e6a44d0b091ca2dc3df2060ff130bde9855f702953ab91222285672b3d54bee7c11fbf5efac690a6ae033fea6b0936353532ae507c1396a321f1080cc2371f39bd77e6c289043e7817ac9ac84b3b111209bf9f8eca'
32
+ iv: '695d10f1ba0744404025e0203fa2a7c8',
33
+ content: '88c06713d2e9b8ba8ee3c0537f12b2679a96e98f8afc8ad4bf7c2b02b4279769dcd9979da0959181c5463ac301a2a163cd3be40a9188c5355f28a353afc961d1c2cc3054a830485cec61871f19ed54cfb2cd9b4666e75265fb5e5e8c312c998e5792aaa05d0385a5795f20c7d59db74340f90561e0065ffb72e5d21824ae63be25dca1a0d1599730787d88481f1400364247dafff213c14c8370bec87677e5c9aa9daf9607334f2dc632340b16a6ab2cac207b84b764ecf44134a5ae361bd4fcc7cb61b9bd1e1715e4f5ec995170f971a944e0a4ac054d07a72fe433742d46a96b0c7e0858e7ba1904f12abf3d889988b35634d1647a563d21a7673cfc5c964494ac408889eeefaebfdf1d57c083cab320ef2b006c1a1097ea99edb3639a43baa328241ccad7f36126cc771077fcd20738834cc076a1aa53f6e6285aada88fa1de06590b14ce9d94144114816fb09cae7ba38d202146ce4ced0ee830a864896c0a45f440addfb66dfa11f490acf7d7d3571096dd39534f884b63f3e0cf40e1b91ffeac17b0a439881344fd00765fd0108d16323cc391ec61746b8bfc14faff60de84acecb6d429420cf22eccc795bfe16df0b8e6e5bd5912f2dd96cb3d66d749ab84445cd278ecc3ee76592e3fb0c6e0a5118ac37d83f1c60f3dc0b78d7734e5c0a307b714e56d66c1a7eda468afdbaf8ee88bbccd2965bf017ae1a15701a1a39d9942bab04a77632fb61caa317f07d050c1c5ef4e79b7cd71851929d02f83f530c6f4a68e3550165dd089de9c070a3d11bf245f7d013cecac15a6e542c90e9ce03fc4f137f05ec4aea7e4187f3fd914d59e28f0a48d0b86185589cb837f6b07a7e2154d258a838a644deb37c3fc75cdaf2dd506343d29ad4e84ef71f428f28a0b5a1aebd9775b028551e670bb78e4a79c5d469bbd251dd9af852f3fe15ed70526365dc85149c8ec1c4692506efb9a184a2e692dd60a2ea5510541e8838f5da0eac952f26f4cfb63ce5689f9f8e6714bd5e4579ac92bf94c5dd3adef927b866d23af977071009f067125def30960ef0d8c0026c31da391e27b57011b8613b8b18a12368a9b7d655e727ed556d862f3e7d385f7764cc48d92e097456ccf614f2db7b2b01382ca447279de3f783b137b29ab02ce7700c8275f6c0eeede8178baa53ec0ab8b3b16b6553115b078c249f43d751b72405c2467a1d408177de7fafc12cb22bdc01dc1a64f1c94c284c91576d6827ab3686dba2e7209d625fb0047d58d4fea65c308483aa523c1af86c9343d41699cad0c054b9a418d368db80e3695b2e319dfae2e8f5b032b11985b5542b3b743628f47dbb68e44d84f628243899708a87cc3f68d42fdb4bbc8ed997b728811ce99a2526045fc57e7f11b89f83b23fa41652d4cd4f6d78a690c53efe2f95672cd6a2013f37176bdb7793d4f057e590faa5dac64ada519e170229dd8b10c43cc3e5d7081587420c28a240a397f8951c400ad124067f37140fd57a03a8565274babfca027b6e52f730727326a08532e422579e96a235b9a2a4fb0d05dfdbb19b8f2d7d81be1830871a9d2ef9fdadb744287649a09f4b77299b207423322405046dba6314674f07ff5f9c79b96415487f3d704ed2864d6e9fd81d39e1fc0f269de04ce60241fdbffc64cb20ee691e9d69077497a0a7a999d052f2b9b16c2859e866083e886cbc16de5a51f0d4265b3140f1fa0327a33b073842a2713baf376f19b042ac87c83b13f960aa8fe0802a101094acd353b5dabcceb51f873aefa4447ea49aa33e3af34ad6649fdbe93818a3b23651bdfc669d206295fa1f7c8f358d6fc1704959912856f540affb25a70f53443f44974ad679dbb87e576be57f2b168f17cc478ba4e01db4f05452c4c2a1fb2ec4ff8f10380b1236227551daa4372ee474304ec2ad6c329539cca1449538d9d2f91204568e96fb9009693dee8a97b7b9f7a2ffc01c44e12be3c3e9f1655c99083b6a6cea152dab2c0c8d9f2a8fb11f838b90926ad268913d6bdc8b31ced64c6fe6b3030df11e6b88085ff09d492af6c08f782450e6628bdbfff2be3c45bd60b1a84483def38cec96b71097049a714e27c69dc280e994de1845659f9b473ee4f8b94bca9935e85bb9549057f1ae06dcef2796152a08d0861963f1d38fcb850540193c1c5ec328b25a637f55a8785b48c6b39fa14ce3f3420e732abc7b0a54f052b952edb8b128c9a27bf22c26b71bc0def8f96318792f468251e2f4a1c78b4a10d2afb4031e964ea66ea5c4b60b29e3bdc98d55cf854bbfd514eda8defd30603060092873297d96172db7a431550608eb959601c6fd80864e88695d00a6dc84d97'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
37
  const { execSync } = require('child_process');
38
38
 
39
- // Execute the decrypted script
39
+ // Get arguments passed to this wrapper (skip first two: node and script path)
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments
40
47
  try {
41
- execSync(script, {
48
+ execSync(tmpScript + ' ' + args.map(a => JSON.stringify(a)).join(' '), {
42
49
  stdio: 'inherit',
43
50
  shell: '/bin/bash',
44
51
  env: process.env
45
52
  });
53
+ // Clean up temp file
54
+ require('fs').unlinkSync(tmpScript);
46
55
  } catch (error) {
56
+ // Clean up temp file on error
57
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
47
58
  process.exit(error.status || 1);
48
59
  }
49
- " -- "$@"
60
+ "
@@ -29,21 +29,32 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: '7041101c2eea40d5b5784443f3a4a6ef',
33
- content: '827e64373be4f05f2fdca0212ca325ab0e45d892105a0f41616ceffa2af91be1cc813eb9dad5cc093bc179dd619f6d8c04db32e1f6668569764f38ae56165ccea4c0f676855ed63a3635fe5c27ea51d748df0ede2636e996010f3c6306c2416af1b34a9ba5b140c8effe97feac56d1d2b0a16ec81b3e695aaa870a1fce2c73c515a58a02c74a8b7529ad47366f505ca4a77397058e0c12e807970045ec1e1240dec63817504ca1a30a7d1128cf872bd3761c7845b1dfa0bbb664bea153a4ce0fa434accc6e3991fd13b035ca12f8f7ee2aaf9a60d3d22949d93dd83f3e0103c1d348c19ebe10c94e6d5437fe7aedf1845635c35ba19e66359af6450b7a4e4b8ced1621e01566280a2bf255be28b1aac29d413e772ed76c9cac61b3aab5032944bd91ea53e50808d8a102730abd02006872141c2b1fbd508125f3a5bbf5ad6c5171ff3aeccbe2f97e7678c190b42841d5619d1bf9b9084d1ffa09a4f77e08d1e9b2bf7ec317a74935a8768ad3f2b8363c148500ba198b0090182640621b6d5bb4dbc0e32dd8e1509f033709b9f1bdc27ace70bca0597abacffaaab892c0ccf6af5cfa8ec850dc2703d65beea020de71486c074537707cdd92c253fc83eae820de7a90969fa7f6fc76c71fdcb93862c91584d91c2290f5ff7812f37d21fd7430312ea6371c523738140781b883489ec784091745e46b9304c849c858a4cc481f54d41e852cb1bdbc0d7896ab720eed6c6fbaaa2412ca1af4fe9e9afc7edd1f3246532b2a1f61d8b235eead5abf01c94bec68db5467d62d495e274aa3be85e5106186ea86e3257d1d972a29a95fc960c6423063ed9177b0d275faafffa5d4bdc2603eaad0fc9a73b5f540d4a22d57211b21347a4ce60cc3708f6aead17ebf4996cb58301c86ee1ef4e8eb0ad20de3ff06dec9d7c4b0e94e8bef1417b93b18ff7013004ce656c7eb752ab0be4df3f7da93c4d9860f40a66fb2d9835b5d1c6e0b1d1a3e16e025b0cc39f2b6c4546acefea4e2d12b70d46bb9380439088bc986e13152ff1f1e0f0259a6f80e6eba994a49c12a49631447bc046e323653d0fb4046239589da822e4bf9ed4cf78575ca89fbb75cb83036bccd5f7af0b254ddf6fdf0c748bab28d9598069ae0893dba2128f88928f0fc86c6e07f6a48af4c53781f7bafbf02e172c63ab51d2ce44702dd77177a12116598141eda78f459a9b22f639b549f8b542dcd18fcaa40fd03191cf66902c4a36b327f75eda5292ed130d32cb86e1e80c6d2a4b8ba6d615435ec0ec6943ae9a47c30849a8e60c008585f333b03f008b52e61a8fe0d1b6a8b11a5fbf9c48d38deef581c3961967305a5f6834cdbd8bf86745b9d622db248258b6bf61ef49f985352595a4f351f4ad9f618b4ad96c7da6c4c6d235d8d3f81f3a568b833601207daf441f75625f03331102df77aecf420f24e53446116f00f2e758e3e112c39088e8c286145534017acfed6efdb6036809795eeb9f53bd2e1c2d5a1f78f8f4567433ed827d24c7a6581f10fa0426ff01b2b21b590b9a355ad345fb5669b1e7b059099add42a8b85717ab76b4a302620c2eef2507be12a630681b2f778825cc478844c716a19e7a94e6af6b505601e7870fe16080ac9b9b1ff6804d9288ef8028ca98485b45a1f4237d044bb8019e3367c5e6340fa4a4e958c9b1a9d9a0b794844b33d3784234a59aa7e14b7798b290f07908f33431fff5a13fdde74bdc6510bf28ebda8e17c1431662a6e9796605e1df369f328e7d22d0ff0e59049a3a9f802e856ff8b4788231ca8169cc0dab85c5c8e3c2fcc109e69e2a904ee96d922639c3c4193816f09ad7214e0fec9f77b5825f5b684b7779f298e4588b45a372a157fac7a2f41427bc08a46cd185ec6fe903a0edbfa8c43c39c3169b3a537dfc292f34c66ad28999016d6fb8931f0879ad9745c5d164028bf9e46a21215bec3f6e8a942feb9928b9ea87ed0fcfd9fa8912c978974eec91ca36cc5748083b4f98242a32ec602615af70c50ec646c1fd91e255561ee1cc9a550037713c30e601e32d7b76a4468453beb8be0dbd6857480308a97f531355e415b3ed718df32f20d73dad3dd35dc4cb3eaee967ce56be7ec4dbb830fac9fb9fd40dd2a3ff2a7e3099f1b8f30f3c9a0c5a0589f58e64f0ce37a995872e9a5fcac609bb63d185dfeebb514cc3b059a24f606bfdab84f1923e5880809155d0224e9473074b632e89905ddc7016c8d076df9e63c20bfa052328c057faacd36a366b3a24158fc13dd9aea8d193bfee2b3f9cfdb07fd942d5bb7f86892e796157dea931a0863daf1254b1cec94ffcf966095a4d7f80f2346c10af708da979efbeb41ba7dc580805d060c31134faa78f6a886d27310cac4b5ebce6b81da75ca618f48bc6ef2d8938c27ba8cfb94242c7b59429dcf65b9bf2ecb47e8ab27341adca697bed6c29ef590c98b7d5b4572b9aab47a5f69b6a792bc6fe90a6c17509b3e1679cb344663e74efc14dd629ff5ee8ffe82b20bba022c2d8eff5d182d8d7d7febe4bab92b8ad387cedb62f9929df3f191235330094920ceca34dfa242da0da855626d0fbc7852fd0e4a5645317d4fae5c17c71b610a26049578a2d44d443a97d233639d1be15d128cd25c3ac34ee12686c8d832284feb6b80fec457ff4215a1af01a6a015000da2df22687079533e184e3c754f6650579aff294f29ef7fd8e09e36d9bd9c2e0200426290ca9cc3e8802e8e5ef4f1863aad56377e1d6a99aa0e6153707eade4f172db42874b76dd8467d1970c6fc80a059d4ca9469a506c1abe08be473af21be81a74ba09c4e3fb1c72644b1bb1d1fcc3dbaab917ce8bbba1ed28ce8cd4706d6539c5f7bbf8e2958f923644b52d95686dd0f076e0fc6f8ae814a3aee7ea503046e29717db8e6b721e598c6911b5b69329276ed04739cb6fb9b08795e24fb7838a854e829d72695ecbdb2f05a92b7040865402b9f1b0e64991c304169916341fd76560de560c7d5bfa93d74f1a0d01518df54b2bf329880a527ae1baf5d249093e64d04b8c6874edba203eb664b43d6ff5e634b4c9110c6dd6efa09d2fb3747700275e09d505735d999eb6b7fa365b45dc82d015e175bbf2d93bda8029b6a86e2f436c95b3b24c578260a5d225beb0dc1932b62b1e1da419a752e5bf438cea5bf8002f25777f3e618915b49a216dbd29387ae0643e681583284a982576dd86e20971998608b97d70f7736ba765e2b8b3b8c59e571ec80ec9eec28cef72c5215d0ded1765ee1a707ae3e1cf0b211b851e05797c5d80ce76de3c1fb5d7847bfa704c794a18e9c5a8118f5b87ba35af9b1183147fcf8918fe1378dfee4107a0893f33785d6dc95a105bb76ed3c4996b81ce96a7f1c98f9f18ebc42f3277676a4a64d80c3c99cf85fc37cf5529fa732b6eff8d7d6c2b294373b459bba6324290425b4d498d3c5f4a8c413bb45dd4ee2b407a172d69ea5d6aaae9dd9802b94c170881b2f43153a3ff0b7364a6029d737e4a95cacfac2280f9740939afe73d9467c3f66ede31698e32f47ec49644075cff7810a106c06e06c6d465a669c14a230b2cd3960b5d227b287f5d27f7fed0dd43d31c58e77cf6fb4d10da53866bb03c2148166d7650b80ae66a75fe659ac4d0b34338a0b2c669089870fc9c5117686035da8ca8b80bcebc26ada21ffe6250825e9a82205d1f5ce2644c76b30bd76c8803175314609db95e0309719b3888a5fc7054f614391d7326b0aa90dc5c94e2698597005c628236d70b7f8c08716aa8078187be794dfd1ff20300b82b069e7291a432476f4b0ee3d41e4f9c06b4e19de92090dbf45109512082e9716184cce69cfdd65ab507923de9dec81328ce75df6016b1668aecdd3e08fa992b401049b70d083deb8d41b72d0178e8c3450f68dcec8d8748ed6b7db0a341b627934abd8784a90414ebd7f202b7b12dfc3a5a9e19e9b9a5bf9db1245685b8543df6a2113190fae814ca2ad74cb2773b8a491269b98eedb654c7523d7fa150810618e5ca46bb526af97fd1ee0bff7e2465d0d2eef2cf7cb1e1245c89e5d34e0c71a46d95f4121c4f6dc9ebd6f27e013f204f2afa907485e6d71e28fe13fc15e2a21e42e3804008955eef58905e5de5ad6c5b8063be7bd95fb9f344521a18f69c40d4de37644204e8bd1f53fb79d968660a4b124aaa311d6f88bfff92ae27015d44ccc8180d4a6777aa9061954acb070576e830031ec2221f5913e15a4ebccc56b9fcf8b6663e6de415348d4fe42e1996e11c8022040bfa91a998808500e3a89da006834a7f685809093633afa9c714c38378a5ddda9e29490ce8f23b7ecbcfa7554d412e7576c1592d04ff39c0bc222015a7f378ac573c946bf3742722cf5ae453be0a4a244e6d0db4d7f01ff9205d1a370f353f96336527fd793797b7d36331714fb2bc0a6e669b45c4520819aa32421c50b951f1674d9fabcbd7dfff47485bb0469a597ce4e3d5df1cfae5600cbd0712b0ba5285ccc38ae47db2ab66d58c6a66dde60afe819256c4c222d5c7150793dabe2969e0b315fa478645f4b61d642bcb19007d3086c83db78d5fd750884ef0648b7dd9f62ab4732051d5a111d6cf0dd178ee0ae48d2742239fa5c79df40e0794f05dc1467d001d0de74c29f4a30abd15794538fcc3041532bc0bddefd86eedabd86130adadd829c9e2289704ea56c27ec08594f25420f3dbe181cf63b47174b181d2f16cff957072697f259ef32e8ca611f33742c312aa09b330ea2ba13c1be7eba06d1389f1b781ab98fc816722a339264eca5982739670d417e13a9aa99afc4218c1dcb0877e648eef9b786cedf3ecc60198c75b086b1dc36c5df7da7b72136623c9ae3e166eaf7a6aa11159a81983bdb0dfe4ef7aaf9314e3dc9b819e0fd3aa80a1e30a015a374f90191e5c0b8f36149000203aeeaeb6379739f4e42a6ea137cd4d203086bff13b78840626b1c08870422a48cdf54feaad7ddd5edf41968230891eac4c6bd725340a9b716bb92b77a5b9b82e0dba029091ca3700dbaa7c7b30dbe4b179335effa078a71ae2c879e7ec7adfdb7d87c7f890b69aacd1572e42c9948b5e1800a9591a985ce5e72caa6bdf2ef4eea0feab9eb40019b0435488de56b297b53121ff2931c8cc640b3fa06011648ec15fd6754cd39f06d8aa1e8e6935d3cee814b880fd809a5f086ea93d62254af377bd931cd3805a3bcdc1b01f1ba058f913019407e76117568a547a241be8b94f9129592d3654c386cd6398858c5cc24d004dd7c6698654365af51668f3cc7c55dd92f25fb37e4f37034ee430b12f027bb35eaf2e52f137feb40ded692d81624f6e7ef28ef6cc56e8841f5f6c1d5c2fbb4d8ac160a16ac34c0332dffa759d882c6599b422b11ab9b4f1c097d70ed07c492fd77fb511a372cddc35ad0c8b4adddc2a94a2310b595b25defb5b5ac7628ed80b3f0d8f1fe9e1abd99482bc12058332b1880e23f2b6ecec02c65e9e6d4b5062010f0b0e142aeb5fd246f0d902d6827bed32121bbf37b0864a4eb5d8f38987410b39f796ef1166f3facbfb41af5ab5293625cabf53c789b0c7c8da79878da47ed2f31805bc6e1bf5a0d461c09455cf64dda4aed9afd479cdad512b371bccb16265c53d7c766cdcd791d2b181369724b81977d9efc06abd0536147437d15443b558e341eafbd5d835e3d66eb983fad41a5f4757908688a9c7f91ca7f35d2798c2e2f05edf3947e9656359f68fd43a511c5c277e86e1eec8cc06aa2b04be5d15310e05a0593879e7f282c9370b0e74c1dabc206e6caf06d3af85068bb79fa0e1e9be943a945662b0ffeb334024409dc946ced29c11f12ffe97e5169b66575f5ce86991816daf0a687c755cf8d86f46d90c890c08f32a006bab89123b68c2ffb2844f883c903699334e61d60c5d2ec4644f8e5e9ce9ac9a77eb05b5863f4bffbf99a5073b3dae461a2f617852b6f01910e3e1862f0ffda9fc4073028d521969a8fe7a476ce399180885c775b51bcad4f5d9612e1263b0b832704b05709e44ade7f23c0b328f5c23597b5e7be24f73814c5ee0598335e7747bf706d649d7bf4e0d6d24f315b5500165c2e222a2c8cbb2d22adefd73b0a55222dd53edab70687296742f0024cc26d75bd900bb54a07e0fab6d0bb73ae95f1e7e51b6d819c2cfbf2bc5d5b274346af5cc6898b828ee0ff5cfddfb509d5f38436d628db518d9620864ac57082f7c1b579057e3bfba8cd53d81ed0d261611c828fbb3fe7017d80caaa83f638e168184d0b50b7a135e0bca9d2eca7be98569020824f5640c262ebcce68b0fc1f8ca9133eced970857166d69f40849c048bb4ce0c92163cdeab97181cbca9cebafe602bd571dbbb9efb9b95670ff6a2efb924ebec6c22d80bc882f0036b12924bfabc0dd9bf93b758e006f83d00d523448dc78946826ccc141d635233bef1caa1c8e1e834c5f4bec4bc015a166664ffdfe60ccaec328755f2ef5121bc20eef23dd19dfad048536e8df178444d8e4b3e867fddde5cc8a8491ec810ed7b5c6e582d079cdebe56b8e1ccc280a742e0a1d99766c43929c30144a4cd0f969ede1489049da009a83b283aeae784b1736d6f5c7bf6ca6c0b93cfb8436bb746b3b7c8f878fc479415e77693b038ca2cb9612b17018ec2a49dea9bac213cb03963ba4610fe489ed64ac3a410528dc24a3e20b83d330cea3f939b9ce97f9211325dbb9836a9f4ce0e9058c0e7e988321de46b6c72418fe0e13bd5287f90f5ac633cc38e6510d5d8ee9f74686f950327e9544ca2c811f58d6a7792c97994b98f84a7d65ff9a90f2f011e7df9b0efcf3eb90b85bf68e23478460103ceb8b3f400bdfd1125959957b1b0d5cf7bc5597a08c3c96956f1f03aa6f6183645bbef47192ff1f8f19596edc8a6118e64ffc84219a87d8b681eda53dc101a709d030c620c8996a7a9987f30f8947aeb102783481219430aaf59764c094747f10097dfac64529394230dd48eabd7aaf2e8039eaad332c12663ff04035b0bea8fbc656e6ef93b5a77a64633528a544e201dd602b04ef023326e72f38607dd2ff6b42bafb483107ac2799fc1ec4375e4d09bac6c83e06bd87368a91b28c68e9be28f1c315ba4046ff02f89cc9501a9a822512e0a57d34aa46f6134fa0194d6b0c6d3bc0fc96e6d82450a7ad48f109f5e8e1d88a4f086737d53a68b5811df57a0f356730cea92e9b2259e4eb41bd24cbabd3795a4d8cc058d3295e493e101259bb214b9496405cf1ba71b2fc4f1ba9e6e4f45ac143e4cf68bed2d2f24ca48c303f65e75275d609cdc596069c288adc3cb917077698112ec054f9256f6cf4d4f3c3e372fa1d7a9e24dde2add37ba76c1c1e933f444d82ba7a2f58f226b977abee5ed2bfb77587b241653753b96767efba94123b9ba471542c9f771269e1944a7b3a104fc910311219c7e0583aa82c6760ec54d688470ddc6ba77a335bb859993d83bff32232a9ab396bba8d02826d4c6d42fd48e665a8cc3dea32fdbddcfd3a2a21899c69927158eb2b07ac09d53bb8a0b70fa8cc64e1405bce97726d1fbdd820a53a1255250ac730c75e6c8e66286d7d9f5a44c28a7c3a7dd2ea824aa2b3fe96bc096eda0b9a19e05e61324e34af0bef7bf28d8ff57aa8d584f7498c5b997f1cf2c35b67df95adbd5dc372940da5bb739aec065be8e0630b473fc57994a9e0cfd3ccd2ae6192ab1dd04640480150029c351007f2c95c400ed9cc84d9544d8812317e445719d6b36aeaa64217daaaa547955be2728a7bd2238bb8b27cb27597648f13f143fb152d6e6104481da31626556201dbc457b273e579c82fb3ba2841cc2454833637fb59e3d154b7875937fde5f9e578bed1b4230643ec605a1cda79d09e5920b04d2f9b9a59433e24308633c0424c5a0d511ea0b7d6d50a12a16b6e0342340f1e24fe133cd9d06d2d6aec1ad58c38c0aa2960562614d52fbd8ffb734a3eb3d69327f9d6f3765c0891fb8602b822a29603faf854ba7bf97458eebf18737ed20fc37ede02e88509bd72306d0da57ded1580f9dfb890719706432906a96dceb4025def585a30a83f36102dcaf9ea2d3d792141843075699559a0eba124e65eec0918d59cb719e330b57a78e2cb626ef663fc34db5e69a1743f79bab227b2c9c8a94c214cd412b7f8252f95f148ddb5af1d68c258a38142c40205acb93ae1fedde68b1897637b72ff9be6e0c603b22eee721ec8aaa3dfb1dde08a1269bc82409b1cac5894433bbfc5d54ef6f5eb2afbdc75e32ad69a0055dc566abff69c47acc29216c12593faaa8333a543495a108ad7ccc684cfa230f2b2e84e00f3c54f6f3b6f50f73e723746b25911128d3579c8098ceeba0f67c1d227c9e456b6b41119c321c97cb9a1afdc0007dfeb20a37ad4bbab12d36f10f1211d575c3a6f4e9891715fed2d8f05fef6bd03aeba14d14385ff1ef2290d4b16bc905781c99208f66cabd2f840aee2745ca5b2f221c83f495d371bd82e06ff617417655a4ec01d7defe6628ec89f908d31fc1005309d5040396f494358395ee50ee886c1ab1c339550f2c7a500f27f0213aa3cf8cd7f58d2085d22774fdad8ed3d110c265d3de4f4820eb32330cd413f6cf80bdf92d6e8e00942e7d9ccada91040e1a6c31c0a674539f08b75170f16f73f75cc8f6396bae8ac1621a96b3d55496485f318987fc28af057851b30d6579e2a29cd55150823f64297039f7658693afef7df353a3c1c72916b8c9436e2e18ac2bcdf70110fa3896981b9a28d4cc1f7ac239493b7fc09af8ab85c120839dc684771fa64f599036faa5be4aea76098fa30b3991d0ca64d644efb81cb0e448c5e5d1ae5e923bdacfeaa5cd2945e2d4332825c04a20f76b481dda3c27ace9babc577bce053732cf0349b2bd085761b8855d7ae01f1f56b5bcf0c6bd673f1bee81d459ae6e4e866c5e342e2fefa8bae8bbdead375e396273b2e95ac793666d6889aeed41ed3170162e44de441ab2a8f294e645212dbfa3e749fb806b4326d7a9744bdea9b4ce476cd4e770275b32384248e8e982baeaed9472f6752608e595a80548abcb4ffa394b8f34bc81ce660acb6fce5a2242eaa559f3341979b9d2505016e6ff984489558b3875aa4643c1300264e5398f18cc28972fd48213a04f45709e5083b640872c6da24c70fac30aa7dd96033d12d324a59bf034ef1991c264120f177d426249680820988238643a9544a89b8d99dde695ede4f4ad94d8c342132ffc0e35fb42ea23989883ca19f420b4d6a705ab0cfe9e2a4067baf618b62930998c35e20a8b72013b72dc2ce977420fd33ae95eff0cda9bd50dd5a7a8c1e821ac086b6890af599c17c518535f99fbe22a3b6ee4bab0d255ebe8ce8ac787a6573a5cc7647fc606965f81176626e4f78ca3d3acc71e21d1119f8d119b655bba4410d200c54eb97eabe29efaf3c97719885140cb85bfc5c7edab5e48458758a0992f6d8afcd0e7b2bf9493a851f808ebfa1ff028ec8ab540fdb9e0c86a15b2f9f1662fd2e945dc32c0d374bf74239e40f8eca772f0b4544db8420ba1e77b1f0c944923dff22bc5c2e9c2b6c64ecccce8801636fd1852967d09e2aaed3fd947c50feafaafa094d7eeee433bc26fc25ca2dc65241affddcfc75a986fb99441f0f660cf09a7d6814390a680dde0659671ed41cdd836a89c5cb07a3929e66336b2fe9a43d4eb6423ee8c1fe9534ce3986226829e946acdf164e78130035c33e25c4b6e2d880e3475b47115622e8c50eeaca4d49b7f92ecc9466202e789172dfbfc0155eb09986dbed690a556d5c38563c12600856dafc23583b9903bcef24e2de799b33770fcbf90dadff5345ff9156c292b5f24dc4973b82b54238451e687b3c9df0593eed60f509d48a41806de6bb848d6b1d96e411322ee4a61bbeb782fad448a6d7a06f36c78ee55c8dcea9dde6c01a94800e00ab0bcc1444ad68f0820ae7a997c5c3ea6e67f0933ba7ca45e895780991d2ee94c3e00dab504c191d9043cc1bec9d46fef1739242d36006b2496ef60e5cdfa5f3a804613ae10c408c05e18ea99c25a9b77ab0e216cd084c93eeb0563d8886ffbf8827008a0a2e6f4b3bcc5966d237e5410c2e41c589f7179f34e91de1d22891713978d7fe75486d3c2db98ca08dcd2c7fb165e04fc383b9824a96214c3ec6146d55c780c0a4513c225761fdd2903f40dd5377422f9ce8f6a121d7d475d4a3dde29653d20d41a040641d895ba653290ce7b6aaa9cfd5fa3c56df3e0173f88b11f659f336e8b591eee8a2a61fa32fae69481d340b785002c4ebb37da033a917eb5d36142d7decaa43542b812566a52dcacbbc53f15102dc0fc2e6d769d99a3b90968bd06ec1cd96625cdf22300c771456a562c3a019c4cf720c4b8e930fa4e51461e1839992dd4320e5c4688027de6774493efe85c9c87b1055d0568d93c3a4c138893cbb879131823a6d0e5f64ea2b074902c2f053869f8e7a78e59b6c779764d553c50b29566d87806e8ff74f58856fdbd67c1b55531f61d3a3f7b83235541739012cd31c75c86f85fa398d3febbaa8660205c669e098a9b1d018fda93bfae7daeca8381e69fa4d15bdb5a9851388582f4f2892685ba9ac82b5105ffa8d1e591388b67fbfe54f9358721a8e8c35366960bff6b6103fa1c22c4b29d944fbd9c0e3ca4368c610ec3c89eff34042a0f8fece306ab7c7e5408fd19e2ad7a8337d8a5c9487d3a5ef0e02e87173343ee872bb5cba629bf9c75d333edd0d3b7854ed8a2f46b59e2672c605dafe0d56653ab01b97a6b503a53093025d70dd4ad80cf3d4658009ae7205e94c42ba9aa2d051d68240781fa40e5d338aaec50df893b75a18c4c7784a017b03b9448d0255ba286f68083274afea503fe25844e9ee66febc8b69b65eb3623022c6e9c6734c1aa05b93360feb41f0f9dcf7358df61ddcd6bcacf76e45ae4d93f2203dc6e454ad70009d990b671aaaee68cd0e69773af606fd71520715821c30327d653b7543c3ac2fea74fbe9365c6b653d6625c1d19c2f549c65b0ee2ddc4f49f176b35a647fb00c5b9b978daff8f9b5f715fb79c2de5e8e5812f5506d812120c1e8c39ada7448785d1a8e5b67c1f50bd375c08f15d68635188fc2b842cfbbb99b2a3bf465492584607a26da16a087601b0cd4b8ed882e8a51fcf1144175f4141ee78686f92285f0fb30924030e4b58a9eaea049362167c2c228128f386c6742805b13ce147ec5879f1c66651d2afb28a8e903a2981bd1cacd84e766190ccaee52a6e9570e7fcf77035d91345d0adc973cbc465d9ebe00df14543cff16c41b024b21e06744cf4a477848c42613ffe25baf05e3b23199c8d1e3900cc9c7fc6e3234e8039f396e6efcc90193d0a392506aee8ac9b4b766f1a03265414f26c9e2f81d9effede129bcc2fe04d6490ac2182d609b3da335080996a73eaa81aec5f95501d2b2247392d6d0297357b1a28f6c9a4ef752456f6998cfb8c974c36c7339f1828c5434e0922dc9850c75214ce2ca63825af42aa40315711ae2b4a910633677ec8ba96dc500c9fcf31032c1ba9bdc7c5c8aefc6fa07180861d9bd54dbbae17cb03eb019a073d57f0a7e9f144a5a5cd37d4cbe2a81c5a1f597677e9386588a5b7936a206353a7a805babd5df2165015ef989212cd0a1f4715fcd295e9d96bb38bb5e0056025a65611c73df0be90d186d8ca8421068f1535bc52907462123078a383ccceefe6d240ded4f5835d44971f2c37edc593618c3a33b3fbddf9e7bef363c9588d36fbd36d6f488cc749c53380d40edfa6bef67e685157245fb6a974de462a1db8a3f039b0615c10273e166fd4c51c83e07ed28edc8190fe34950ca8ee6d0cd0cc6c69ab631fa239cc5d59b643266a9a0e523a4a84ed91adccb4226b4aab1a1b4662899e2885eb3fcd41ce9fe40d6c5808bcd67ce195654dba2c9cc98eb73fc1f16810fdb7570269b7d56678d2a114f434660a393e5b3253186418c0acba367ef9901fd1ce3a943a16d50ea03d5adb262e67ef664a194c613606c017c861d3245c6781405473f3e2b205617a91c06fc5efc9a2c9f6e6ef19f9091d3e17d6fcb52906102bcee402b57bf01f35b7a01b873467c725ec1c27763be0b195a68c36c932d66a98572bc927f6d6d3f9257ccdd6ce2ceed0a7d539721c28b7a98e4fd320af3da55e1b1beaa4cf742fadcfe1b26140e1655ff2cf268685b35d33605d95680a4fad5cd6bd9c110fa406f28f40ec5e196097df7b060ddbe38a0b7608a306844c53cfee1ca97cd5e2f5c93f09185153a91b07421d6b73f79e8011d332ffc77c84274588799e9571267c3ab13c38a4fc07a387b7cfa9f77fa43cbddbc2157d2035a2ed38e2afc775d08fbd0e27560612997e1d3aa13d7cf065de9b25c1e525f22da9bfa20a6fd50fac0190dfa86e4c40a2c669ab3be489ae0512d0027703e7b9889e11ba2772bb5f7cfacf9409db8a519e11f8e31de0b415a21f3f93ee12241ae76321b004945835b91b4e6352102d0741275587b6ad4265f9ac445f0612bbeba8c2131a4baa80f57e400bad7fe1fa051fb8fcb8c732de2a3e21a7570e76006adbbb3c578004f3f8e4cab57ee223382622f9ce2df4a91fd773cb1f424a27c3e19ce1dd9fb02f952f13f73e315f48a7c7040b57fe7d06dc9c103648fdd3a759ca9e8dc4ce79e7e33ea638d100c8d93ae967b16544b777593506fe018ddd7b84c0b85af9f400ac479659ffaca9f31da36ec0b5c7a83bdeff79989552cf081ae3eebedc38440e160c1e514f81f2f2c2a19c96fe4c8dbd046bf96aca13982b09285b5cfc0329f668dce3af717b3bfdf5d951592716b168113faac0466724279b3a9cc2c762783b1060359dfddc722861f547ded9e02eb08dabd00a5c24f5a0d19cc628b05afb2fe002ef807a8f11627b8a464a00850b9c6b8f3632f3ed0f34a0e98df4c0c975f139799d23a7e8ec4c8000f15b752ef45a91d646ec21bdb382eb9134320d65576c8402ba0684cff6da393ef1d3b6568ad23ba0fbe061c92bfce4032fe4b3f6b97bd452f6a7f3732ebfecda9cfeb3ced5a6a86ff6fc441ef5b3026c62e932ac06f28a484d0d455f05a444236885627b4fa6ee5b3765d16f657027224acdff6ac081ac17e801ac8f4eb0da561296f23296090c1ad4fbba649e9c7147f77fc3b3a62da59e18a78d8c5e5a9eff19b76b1338f1a4941789de9cd0e0963af0da0f2c9008d5213d14e2547c18784d5f8956fdfba857d6a9caa9982e0ec19f58e69cc0fbd2443f6adc8253ca04437bc42ccffedaa03d6cd2a4aa015117d9696fa85adcf33caca989ae06df4adc35968bebb0a6dfc289fcbae18c15136b438ef74cf3b8799935b8363ab05413a66839becf3d0979a0e6c4a2e2863d14cd2c39f1c54471e1e89cba3f674d5527be3a881ca748bea6e6f81d5a11034875a91367d363c96c438b8b3d453ca5a1e219c87e4f90b5c946ee5fd1c6042f7fdeb51f8c6d46d0852eee836035072fa7140a2070b4d208825b1027e228cd4cfb396b295f52dfb84377d037d796e2afa33ab15c46bad1b236519ebdc6db8abab614dc7f34e2a68df7925ec3f36a336d7421aea4c580ea7b63fe4ab75f01e108b1412c1b0b2c6146692413201ad23aa64603358f6f881243676c8d6ed09cb282361025cd32e67d5b6bd624cc035dbcbe995eb56fe5ee71c33aa310308b595488197cbec9854d5fbdfe5c308d0a4fe84fdcde512c84b4fc9ec1a4fdadb7604e24d1b68d1d220ab3fc1696c54a4e8fae551b0269b35e31e197dbc3c561b8e2add4eaa645f4de0c36e5b542ae51e96edf37d33e74906672c583186b6428d149dd7fca289b8ee50c3179a19085bde9b505767219890d92620e2c29976d2b1b94854d626c7de79272f6f06a7ee917b2ac1a3a306e69f928478092c9256f32b911536c47e282885ce56d7a487f989a87792019587ac118c00a120a92fd59254f'
32
+ iv: '44c3672d677fa0525555a87e4b9802a2',
33
+ content: '73671dcd11c8d624920bf5ed80db592180bf6e413f24d567ed0a65f897d5135e50a403b35074f8a41db868b868f7ed8366f196c959503a0ab2b06671f21e62ac6dcda983ec19606cdbcb5764481280368bdf5f577261a5cdaa51e13412ec8d8d8b55999fa43a2d8aaf4023ae85a60faffea668a1964d140013d2ebbd3d67425b935bb79db99b1120305530f51f93bd817e88b8a86867f54094ba2a1a5d0349f9c562a29851e20773822f7e29d086971d86c01c5ba5ccd344e58c211f24516da70ebbe96aac21eaf8d9d05735ce4a1536838dbe278d23b479377091d13e7a39ddc5c67661174f554f9b0d315ec0cdd3c28aa4b36106ba4f11d218802ec27307de94a833864e491a369218668328bb8e5a3ac8aa0c4fcdaaa462da859f3957ebf16cb3a8b53fa98ee0beb135fb1dfa7040c3509baa1bb51761fe24410029013a672ed4afdcc1b43eefe856ff5a310f1fe7d3e345f167d11aa583523a16341ce95da2b138fe121d92746607cf53ef00d14dabc23c2128735848b2ac6bc267327341a6b80c182808613df6ff286d97b895aed19b098707a709778233daf6e7912287486f69099bdc10edd70d56827dcf1a25b8c7f83c8478cf7cde3685c4034d1faef3a568288da962f54e2949abc28a7295f46f5fb2807c44871b5edc27c5d525a118ded861c0dfbf90c307878b15e8b85b60d5f8191656e6d250bcb79f75c3d7b1b79960a473c9c968ee5558b01739fb68bce47e8a63214a1a75d7f8acd26e6a27101fd4fbf2748203e93eebfcfc9f39105f6075b057a1c81f6a20ab2bcc4d88513294a6f778eb0003ae27663c6bd079d3fdba742623158c23abb7d8a7c3edac43e05d444f9608cafc502aae1e8cd13352824404c30923e4bbe1ded6ea2b45ff0665bddf892f96dc3cb8c2caaa02553c206cf8ee89472412b4289a1533c683b62064f58ff855b9655c69aba7ec08df8b7d4fc9a6acf977c81492a138af7c361b7fba121b9ce66498ba9bbb3dcc7df154925a3c0d42a67505993b427ac24c8b3347a7e489d42f6c84981d7ba350e86f3f5ccd1f22afa9d914fb42df8623de7512479598dd6a2a8d1ee40ea179bcad2f1f3d543006a0dbbcb2946fa3f6453a64d602ff1ca6b1db4f418e7c8a68b820423ce657c11b2b7ed5550e22a1bc95e61d3435b0f8de76b17692126f006e5a295707776c76b9987beb7571d4f69ca63c149c745ea52a414411b72f880af1df780ecd897b73cd51eab7f481c9597902e248b22a9d9764fd80981cd3ab5ff3506169b4e8367772c7a16f4402df3eb9b8d24b265e56bd6637927cb9a4518f9b1d03234a8e1b68cdab4bf0a4ac7d79c14bb61fa806d24f8760fdb573e7b99e6569c38e5ce294969e648a5a30a34197c7b2fcc43c1042d2de223891c94dc2ff7b07de1f8e74e6d55b805ecde83ba39306c306f9f17d28d4cc113a52e6d1371621f14347a55dd90c420cb088d1c93938c6a8a6efefa9f5483cbdd9001c7b38da208f3db7d0227ac52c4c217cdffe16ccdf749db86745f010b6d896929c15421875cd3aa4593c00b6095859a14e398ae0fa107866b4435b3b577753341310bb1925175e6b1346b8714b2575d99711fc46d389e4514431439471f0a82a99b63ccb218a62d9c3418dbfd5480d19588d10db537c1535dc79c6e7baeb48016704084dae39ed6b9d3d5eb52d25a85248b280fab6f61398a11bd3b474906aba2cf0af7be1a379ad4ed45e55cce40a93fa6ef3214892da73a7da5b48760dd520d3ad93db8de2675cbc0517885f02c749aa47687518f21cea762f63ac8e044369932a556a77d96754f6abf42d4f5c8e89bb16be3b89b282b4af187e42082e0c5eeb171c6f981849b9f09bc2ac0eab13297aad5158241a7f37df3b1275fd71c6a5107d398e61996ad77689ae486daedb6e616bbff1e50d7a9301ea2ccf5542d196dbfdacab3f2a19bc3928cb3ce380631be9cb22d2aa1ed642fcff3c7e2625072912f3bde5ae37b349f7168d6fc8f65b5c3f57676afe06cc34bceb1fa2824b7e2fd047e23c190c15c046bcc4cb1e8490074dcb0e05129b0ac5da7ebfe443055bf58a8818b0bce978736a31532d414563d1721fc75794c0207322479e390e0106517a411e226548e964bb0b4b4561a057a6efa2c742c299a8f2d7eafe0e93e97a40b67cb326b1ebdccd23e865c7f08320726d7aba19bae66d91a49109193f6d99c40f1ea2be4c2d0a408c31c1541998a0a46e9ada87b35ed005c1dbda86d440a66d3d68cf49c862e21d709adfe4cc850aa97e2b282b0689b1f04202c147948e21069ad3425edc1d35570b74b8d4a9491f14f9cd46af75a228880766e205d7d3d0e06cf3a2c0df1c230674adaab2a8b19afb24e435e05897f734c68bb3131a3bf227b6c5811469b2dc7301feaba64fe6a2fea9ee96257ce85ab5b349c492cc0d677ef76bce9bbe8e42d80579d90e7779829b03ca06aa896d7906aaa29a90b88aacd36916f141855c58ce6c4934bbd58083d6d03ff046f7325d19a6b1103c21956d26c659839790a9281dcc3e289711c775b776914fb93c6effd6b9653f5613b5044a4753aa5837241a1a1b60f5ef9f242fd64a00b20d418ba4a5bf9ac593f92c6357e2dd8674b7b5d17dbf743dd2f79eed29af921ae4a02f073b099997b89bb1bbb46e577a8395961b4786ab3422695bba69412fef32a621d9a956d00836636e48fe2d4d13ab2f5a87344f0905d986e1a61bbea0a6029532f8fd63ed6d5c03e819b23633f62394063b5442bf5fe5c6c1e840109aba7363cad94ec7c8683cb4a8fac1c9593fbd5fa5598199f9edddf93d5f5fd0c7c0556a461eba006b1f257b3a7850ee614e7d9682e6955e937593f5bfacf451684a73915b73672f858849672692bb925c3e44686d41c89bcc594b96d0dcce9efa0a9117fbd1fd1bed6c5fd9c9f57998627166d41f490a575e8b956855d3dfcfac8f8a07361323366a8f2b5e4667a578f6c1c03591bf9be3e44199cf816eb2c8cbb0620e1cd82b3d23f1d2bb9da658aec2eeb08dda4c63b3c36ba50fd18087b22b960f0ef0d7bfb2ab93a7f71fb054ea5ea66efce66315a9214c1a11f2dd5e3e6473a044ac8d5f04885d57bfa6781e43fd5bee720b523949255ce6abdb0916a0ff23d7af72c04127a08b83bc5a7d497826bc974cae44b5121b49f617d5ed0c8036143a16cfb0f66035e54332af641881130708fc39abf2e6508459dd37e8fd49c2ab3c424544a831d185dafd69f55fdaa71db16b60c03aa396722c698bcbab072dca4abac4b17c9622802cf1968ad1a3d232e07bbd7def2e39b98ebf6d765df685ca989ce952a5eeaedb9b95d7b0945b0ec55133a7e5d3ac873761e97c275a495641cf5fd725ef15663b867b213f7053c3224fda54075aca8ff05e17b0ae8c0481d081f7b429e377b14651b8539cff2a20272eb51395d1f6dd20c06a774af4eb4d9fe50f4c8bf0a2d4af849a2c1670f73cd605a5d6467c7adb871a420037dfce3cef8fea3c903d9796dc3e91a6da52a41574d47341eeadb84385db1b556a3cdae63ffd2a744a7a01506901587f7c30cfc217d85a59d0cad9ec4ec2a214bc5b479ddecb27674edf20e23e6d6ddcb776468180cf0a900d923b5ca86beaa0968c52f2c7dd4550b763e53d8f9c81b7525a173c1959fb2fe79343fc9cf2d15b3cee3f80ced6a75ba6cb5acc87e137175da3b52c08b3c28b2814c22e07c08bddca27ad588d68cdee9d4f67cbbe7b05ea036a128368b61bf144ffe5543ca013d85bfcfa19262a7e6a058d445f31e63c7eb443a2965dc503064606ecc694d3fbb55c69eb9cd15b39e1e45111f3697381c2bcc609b1acb9be8de7fbf97ef59b42c4e597c891fdcfb5c9dad7fc0d2211b0574183d2e5765603bf13704258a4a7d448041f18f0d1ad9dafa32c1faa09590fee5d148b5335541b5ca02974808c67995cfc9fc7b06c7ea498c10f159f3f8c9381f98c99b42fd0108ad6720886eca3dfe7cd01559bd11ba79fd96564cf3395eea177d50070637b1611b9c057bc29f4731f8ac7452ccbfecd9a1cf4955e4ac2597eeb6779006afc79bcd7f45de51cdba83b99d31ea3c6c09a951d7f24990d7ffd972b861569863afc1e2ca10e2295870ef7ea281514d64d514b25d678a0448027b91b00298dd0eda8cc1bea28573b7262cdabaa129ffb7f05e25458da03d1ae11390e12ec01977084d658b07c91a70f9df8b9bdd84a63c2d8a7dd7e8a1aa1d40f8c40f175c3c5f6983f571b3dfab19126f004d3a5ff166c2d9c0172d9dc9183e020fd92dc58ae2677a944d00e2a37a7bfc9c9fbbf50e83465d27f93b6cc4996f83ab52fe5e3bff9dddbc038c99fd1917116d215ba2fc4fad1a392f2f1aa929371f5d077b7962e51e8be00eba3514ad45db7b54ca10bd05227959456c19d297afb610fbb2b8ea850568eaa6cfc8da3393e6d447e1997039b7cb6f2353b1927556f6a4293d96a61a52bf00442f29ba8a7918a7d62a575e06eea5acbe74bf042da00bc9943273bcfc54f5ce993c89c213ce5b21ba0cbe6b5afec7f3c9e061a147aa33580f42e02f350226d1453bbea7fc567914cf8f9289ae6b7806527a66fcbd3af8654ae3883678d05cba441185d2676f7d588c0d39ae4bf801831b8f7cde2417f203277fbf52105e03de1449d5532167c104b4da2a356c2419f69169cda1c55333a4b158e116e0f7cd8f5e4366fd375c3077b86b69c760b7a96a6730629377a82d676f4d7bb65f37eeac452876386bba77f17acba1586aa26527e7323923dd86156da135db6b73b90156210ab41fa3c86e79e5996f052f62232535560898c47027a10e28bf2b5dcb3c1eee06c5186597afef2b471f362d44b993869f9bc9421f26022ccc28fe17266f5ee8942e3ad4e1b55e627cf6b88c9123416c2d7bb8ef9d241712ec580664452a432077501486e043df71c0b447b2d98e1d2795db0d7c2087a3d6f79763206fe1135ea9d8fba14e4f788b209d96de96026e8025edf15a0cebcb13cb7196b3baa85ff56b3886ce3ae24f5ea4f62f685481fc38c2e6ea026373f2d264a013c41385d5f77e98edc9d8931c2c9dd98f494c919cde2d9165483ecd21bcf235c10552e5b2838721ab9acb478cc73ddb160a172a5c1d0729fdaf4d8995166dd64803a6bd8bc2314cc8079f337d6b1ada7baa147b6c703383189016106092f052481d73c8b6e0f97e37c19d9a8056f4f0ebe41417755eb0967520144002a1264e0439218473955a64b49176f00525844a7d39654bb8ab56990cd7ff0ae2fff62936389eb079c0fde2896541652848a7f5c7724556dfecbd35baff308588e57d34a4dd59f8f70e2a918fd15de3802672568d16484a1cab4138781741dbeb25ed748fe84df67ba1aab3deac0fa2fb89e1a5e8eaae4f592d5da7af394e9075c6107746fbc7de3c117277365f8ba3251c3c5f7232ed8ec49d8ecf00d7778389d5b7433b375628847d104f1b715bde3f10609caf428070ba20a33bc9f6fc2e3bab4bd6e57cda481b53a1d65ebfbd724a6659cc4908973cb17315af2dc4621d0c900b23c23fade725325f213e4bd3f6a1b3f4199f2710d76ad81c9236b3ed01e9c182c743a2105dcc36c0e8101c07134a758050cdd8c38647e93a7d7be521891dbefb5d2b46e3df3d5f23d4ea98894bf324dd656cfce9e95f8c6a615f333c16f05b5c53f16c88d1800bc7af77c99c68730b72317f94aef80c4be9aa2f01acbc76927bc9c7b978f06856b4af29b192d6d2a9dfe5abd5cb6f29bb1879c8b2dca0795d5190a0fb6e6a6fe30fd6c9c25ec08bcac5b283905f4b7a86b1648f5c875c1f8fb3abaccc58f0fb419f411848fb263616c49c45cbbcaf15ce9904e3753a556a6b714efa1554a4786dc960f59c7cad061148a27be12c49181828ac0d5fc7fdb6d0a3b1a9b293279e6b97c51b2e450528fa72102dc153e8a20b9761b296ca7aa267ba647ae31b357ac08c68a51f68ecce3813d4b0779f2f3978ac3169fb2aa911fada8a0b53190c7b6e251c609ebef9c8775c87ef1fa219697906a4af0083dce647c886204c318e56e68fede7b90f8508d329046de5ad3bc690db1b75c1182abcae3548392ff0baf9102ed6c5760642edcc9c08539252cba376b99556fcc285d627990ff9fa4b38a761c51f674c73e8f115fbbfeb980b9911af2b0f0df4314a3617f30cb7762b807f2bc2a1e2dde181afe4ebafe4c0db5fab4c5ab26ac7063cc15ceb52fe889dc678847374f73f8d03d690f674d2ad7f5c582b13f0cdb4ca59f400a0a193a0e61dc0c134e6e9e2f28db9683954472b2019a91a38fbf16c77ef705c62868b66b8db80e7f1d1c9911e6aae8643b7fa3ed05adce1405a0a2df7b872bf13752f454d4af20d1389766f9e45e9788fbd1d98e209f882cd5cd6690bfa2cd3224b84bbc1ca1fc61be0c87973fbc1364ed577b721833510457dc2184bfa97b13dc457f1f484b2b0a98ca01baa99d875d9c06d3caad28aa4e6e897bc217e014fa57161ca60c8b623f942412c62945d1d80b95400e56e468398e8ab6fe4b6fbb339f0a22313703ead7663003c8d89f32a88918475533dc71398de4e4d919da82fd2847d3cef2daf942a4bdd2f10c577023bc6aca8ba9daca84a37df80fa3a5061bc35df17d594ca302a3ffb96351c7e1728d074cbb09d4246d8f46f6a303d821673d6271823d92955823bced1cb6f62e1261e483bf68e327f93763f5c71febeb62ca0474be79399645fddbf9af7aacfa40fb95307cfbefaae721dcf4e65f0d87c599d87b072fa3ede0b09c7faa282e624284ff24ae59fe9fe0a6089075a4fb50d41513b6be4f6de648a1f089d90881d57da62abe9b071069469dac273a4e7b58fd328b7d04e34c4c57a1ef179ac7cfa8753c270d3acc7a2d34a2a0e19f015b7cd4527f5fea944fb29d406b267b6f902414e5513f70899eb425632768d1932fc86f7585abfbe3945244c18b6359cf5fbb69431a15b1fed37c70b89332f965bf969be2423d2fb5c9ff2daa56bc2f485445fe5cbda9bdfa19cc5104b84949e619e900e39b53d29277c83f68f3ece1cf69df152351ee3eec9c194cd4a49087f1a29399a4ded29293f5eb1182ef43bb7bc19d4ceeb8fe10f463cb554531b70dbf403b47f0a23161b3667fff4ec721868f2878263e29fc9c96b506d664e0b8760cf7504b925fb7bdd7623807455b05b6f2811786bcb7717f4a44ac9e6482d5c336c2779b39cede7318184cc4580e9bfa9ffd89dbbefc94f0898639d23cf1aa2ef23bb46543eb2320dcc1bf15df3d02bb4b4ea8bf711769dd9fe9bad5f719625ae372baf6d1120af96c3edbadff13b6b42464e5d8a643c7627e9912de822c2a7a3022004f3a9fe56b502076a5640b35465716fb72b9b14f6c9a8a4110b8d5bcba6a0e3451688f035f61df108e7443062637837386d424a6c1be793da74674226b398fb2a84a35cb6fe8e814fac1e8a11f2a38a74e6c0d72f4d8335c2353d176eadbf419ecb0ad1259a113481602719e38f795f1b77922715a66237b2e32db7f00f29564177fac91342861b4013b1a4c2516fa3b8597403e348f02514ac513d658a6ec6470cb7d082dd803b2677ba4e3fdea388a44fed692198f62d7ab464eeef1d557d6dbf52ecd02f88220d2c31b0da91addbe6ccc4852c72f39f9b1326bccca31c49584d8bd160868ff61763c42e1c99a77ce3043332f8e569d20563f5a21d3d02d513b46fd15bfa0a1032f730913e195e97482d5694303b54c71dfc2bcf5d52d0c62742a7a3eecfcfcb837012909e11cdd784a55a0eef38a07a3190aa8ba159d2479438abe4d525574b2107bcd6167abac621b152d3cb6aefd91d1046a1b406351b422d6e174fb8ca57a274a39d218cc84c3aa0ddc2b9695aa63aa4e4727691359c13c88b8b3c373597fc567617346b3721924bee145f1a730efac2fd7f85761145f6df915afaf166cb0d79677387c3640e344614c8cc5e59f2611a2d66aeb6b74a11ab6a259757c5da5171963fbcf8d27b80cd239857130c195b0b6f8d1c91bf7c1808e98a9978c4a829b8ce039da6df592f593449fa76183d52f81b7bc2acd747c62e71624b8de6e7394abe455cffc79f60bdc990e6dedb1ba2265742025b7e43ded6c78bfbedeae8b9fc1018d43842c22d9585b9500d300cc41086feddb0003b2f6250e986e0c795ef0a28e32aa145033ab7347cac495e4185ddcf353fa7612f024b031f1b65b4aa3cfc656a16cffdf6e9d8aa1e34fb812950436cf5cd35308d991f0b8b1d21dd6f2a266c1f90d8269da50c104d086a4e30887161958391a35078ecfacc735ee1b6002cf6b00a0873c317e2719a7cdb9cdc7f717ef65362c0fd3ff4c98fc7e905b570b8329670232cde679610c597d6c5f486418807561083c4f531f760e5c609de39758686af0429db97f70b4b1635f2af7f2363ff5a4eecb4a7b3697065153ccea2f46150bf4d03c02fd6482d7d4b5a3320f49d89fafcbe9b4db6f4a0bfdc3355f52584a025ef1672706f9e5db62f2229a52d075a77480e484bb8614f788f3db810f7679e724a5fbf2e95616be656957f15f20b1d0feb881e4f58ee4c3265bef9879c419ebe22fc56fb043d8475f4ffc486ca11e7c40bf463f0c06b59b68ead08b33d81f569438692f2712080c3a8dcf786bf46c9dd7d89d63519d7f3bf52dc043cb4a38bce76fb5341286b816a59da8a6b0a046ce1dc205a34da3c868b941b708d45eeeb09c2cb218c92af5caea04aef0c02337100be108e6467542ab07399caaa1f03fdeb8082a841371d55f31cde4755886f78255d7d807f141e7d6aeed4bc58cd671f950e2f6b1caf97b78be11760f437f53c0cd99e69a56305f46d534a41165dfc0088aa981662008a810c460de1de73686e40ee22da188eb9bd6153753ece05b53014ec408bbd7964fc9c33d72247cf9972d917a47708677c9fb38bcdfab29d7316edd001b841a43ade3edabf09a0ae00b50b8ae7fc9ec1ec670b563948071084fe98bb325163e68e5827961c91f273970233bdfb696503aafd45713b4255927dd1b2bdd02eef7d57923b4269455afd7604809bd74ac89863d8890e81bc22ff0ae8bbf792b8e89319f74683ff1a2c39c75fe9b9b41e7829e250e84592782a415f01ec2ec3696a532aae98737e502a66b31e2497afe2e43404ce8394db603caf6726053fc0feac4d74871a64c45a83d560fa1c2ae601d4aed535194f868b26733c4c39d85357206a773b67689375fe622af4d31a5576888a104ac0a08b73fdbda2c2acf200b7a47f46f194b2e0baec2a59eb247a9bd51cef184a4ec8cbc0d5e7a891601e907c29d263744e3da2b538ec2cc7a0a53e385ac60525ab3575d963208cc7f2719ab49160fdc0a6f0119232062e4ef34bf338c81a2a14c45969a1b1a18a9e723f15652dc30180a7a79e07bb6a866172da8eb40b79e796a0dba02fec4579fcc49da475dc358a9283c0be747813471a0624730bd5955bd3f596c5ec8d3f1c8bcceaad45134e56b64142927fb1494ab590cb039c46e08c062f11acef7c7ca47c5d76ecef35d3c08b1ee8bac62120a24321e01beb077f31f73652de3369bdd6c3b4ee18a561e79172bf27ba3f7b91b7c202cb520a0467a9eb0025978b4f94903134569b5da8803a48e9c3662b80c2fa060a4ccf231ee358eac04c4744358e94d3dbee48762c3980f880a648a958550577d649275b51836d6ef0e6c9ff65c667c52c0ee8d78817808ff8593a0f44fa576c6e62fe366bf00cd96b72a1573a91f59620a156f453d9e40574356451ec90fcd147749c04c1ac983c0b594bce8e3390719301dabc42e34ae3260d8ddb2ffd471798048831d484c2b2639fb79657031f5b59ce6930640417692ebba3025958d79e4c4745c2be38aedc8131db7b8f41b68790b603025a2d507c1a125679f4b42294a76021e82838fb51c62ed2aa717d0b07d9f68d832590532d28e32e7c5a1db6231987fd190a13d76b00a5f57e5ee341132257447e91cf27e48c1842cf1e2cf656ca1cb73ee8b5f25866f29422beb48393e6e811b93e32aa04a679b71975751b554ad38975a2bf0553dcf2c6274e7ba2eb6e65852ba103c2c9466702c42e6dce40208fca05dc87f815dd7841fa5738e8a7452ded8bbd8f8620e217afd836da12db0e5f4fb312292cfaf2b67346c6c5ecff7c719f0be1eb512e5f1425a595824bc92bfb492da100336f2e0f543ae10e127c1d1037ae6eca3b3bf4290c6e3dc5022673d1e252e966db66f4603a6c805b4c2c657f2e893bf656b3b720674bd06ad01cd9ac61d1f1d4907d168e99e25c4fc07eda0747b0e7dda07654a0acf839063edc40e8fbade68f2f71135cbd953c65fa3b3734b0c580711da5e7c20a3ecdd8b2af36c59ff333d761db00cd12eafe06eccd6dabca2354be52ceddcb275694467f4724cf487d058c62324881f0cc69e330714c56d2c8443aad1b853c3a745a24bc278fc2dcb01891d68b332d374cfe0c407352a3de2cf726c6b279d34bc12083fe92200c2939ebb871393ec26c805c243599bc6d241f88f63a01342757ab6c8cdcd682b7209ff167850775c7e0bf0b879e480688f132b4976bfa1373c35e43a1d62dc55e536564af01060938625639d509a714d2579b23a4257850337ea72c77ad3e3812b045ad24a9c6b749d4932794ab931485c398adb78e875445440822027626ce6ed738aa46139b48810b27a5d9259a822fcc2c5addc6793ade67bd4b970ff358cbbd1513a9300f76d3884acfd9feca08827140058303166a819cfa75d3012d465a5bdd23e4702a0de4ee241e5106672b0f583c2ee1236aafc7b2509be542058f148997965ffe735e41b75ccfed07f327830f79dbe0494aea477c8cc84924e314c762ed5748306a82af354af11a34fd7ab1adf103726f0c851c5eabfe153b23d14dbf96deb45bff0d06f877117fb1d54a7160499e5088be3653cf176e380db2f6326108d3ec91b40763c6d6752a8de3385afe7ec71bc1dfc957f4b27d37c0413d4b6d2ddfc3af6d98d858c727e2cd01efc66f838cf1383c902dd07ecb7c3b5e683b9caaffa3d4dc59482fd77ca33d77501b6f1bb9cc4589daea777af309d762537e9ca18db9606546ab43e49a9a72592649ca9dc4dc61dd175ae0dc9f73132c32b57e4fc99cb8cc84968ee7c78cbd184b7d2332d57dd67361af59dea0a0a99346dc386c40cf274ef5b94393d1f7b05d52af65fb647922edd46ad899ef570df8fddefe8b5fac727b9f53ad71b097d28ce11d9c063b7ed91e2ba27fd2aff2a03357ce320fb6924ce26a8d5dc06745725de5e7d1cefb9f8a38ba821a4d4ac0ab18d89e2323d85759fb8dc866c48fcdabfca65bef0deb0361d9f4e774319b0b6530462329b48933f12475147ff70bcffdc0ea294013d8b3a9d409a360a9f017d8638db3419119d7855447b4da329fed5f258d5a6901773c55ba6c4a144aa33cf92d641dbde2ecda486f0ec4732469534fe7ac09cfb1568e78306e0a1832d05ffc93f8761233b22bdc597a8de920df614437dffbdfab2ffaf6f6f1f0c9debf2aa9b32cad17e51bb4c28b61d031ff49426e639dd07f84f8fc83fa3a743e4915f25e552226c252055b6828a0f9714ec40fb5d1cac7d53565a10cb89e20b20e8ab1d8a0856629b5ac835e255d80d6b79e05c85d40550e945109a59089304ad1cc30004780ca7bd0891c02dd068db14eb7c0029c52b1c8e321d6e44b3af2f9b6f4fa109c8fd6bce7896ad25c80501b7f9db4ce79d4ea3e5061448af71f816579b02898951980b6f998126a3e93ab7d34546b580f549c2c777b9cb2e205c2d590415c575ee2a8f1c56f5d6fc00fff8acfda7ee09efc52a28d1e877945a678cb0aa0523148b527479571add84d901dbfd80b45842f765a26207ec19a3f9215559c390e017c444bde55fd8a01975ab6f56d8ceb950151dd1074745b847bd938efbf0319b35a0b7367cbe01b68ca18aff46a9a660ab14c4d329808fa59e5ad9b6e3a05e707b4183ef8c407e1a85776d94507bc228d04a94a105dacb460ec0f20bd03d4eb9365f6d25bf26a92599395030f267c547391cf3393a8889cc0943032ed7f8d5c2e9a07aa3b7ae17b515b33a8d9c9651c86c0923ede96692d945763f9b7998872dec23453a1a5eb1ab6641ba0cd809fd9c11815adc636df41dd7a23d2a76172fe3b6eff39f802c59d29f4356b12dfa98de39dc19a4234f804b359a380c11420b73105d738dcb32aaf6c4d3972bf7ced034be91cd622afbd8a2f3001bd8ba89177ddfe4c8f8adcb068da052e48ad1207871bb3764fc3a4954fd23b777ada7a9abb09af1e29be7c416fbf1205042308873636e04163c84eea324a662607551a41fd42b0bd48a558a11067dcf670cff881956a70468574db7adecd9776274145757d990405cbf784510e72e1bb8be19fa4fdd29aa83a4c2de46ee557e54d04a7af115a3a5360007f2c5afd6d38360293547d7f8adc29b66c8520c5015a35eeac85a01da373b4cc29b59711f42c1fa52315c71e68e373dc2dc8a1a3aa7ca23fe9ce6bbac93f0b9e48edac62c3f4588f1cecde3c6b18ec356049f97ed7d17fe25f7112c4749e2a698b086df07bc345c4d75adb6954847cea9b999b3a61207ddb3e2d8e2c3fa51e861bd1ec2dfe70aa08e69a01394d9095e41106824bb103718842b93c8c02d83d1f2e4f0b890b820da11639014a3c5d5f2eef647b58d19e4c11e70fbb756a37cd3164fc9a5495879bf7fcfbff95a4f3a99a722b12a34e37c7bdfe66ad564f6225652713af8eb917451d7480fecbb3f76b8119acb71afbc8ad6f86eda1442551e5f190283b616d8f0888e8ba7ea176b3bd75a42c73e91bade3594102a4be3a51abebf8cdfcad02f8d704c304441a6598e8260e52e7abf2a6093f5a541ec6fdcc39cc0b3e8f8a310573ac52e24a6c0046ef24c2faddab3fa51ef83b436a579821a81b404e61412c8a14c295e28b4e3d26d4a2d169e48770ef6b7a1b8efd03728cdf19df9b2d84e2e99f044c804d7ce9c1f1898fae3e9546d2878d37a45abb0d80bceb83bb22a828c204555eda65118d1556d1a031f9aaed6b4edeba1492630d70121c2946a1af5f9a04f846d8c2ee5cf497ac5f045786fd95b9b28749565eada25c9e2cb35fab4e049242fbdadf291ab74e1f4ab22b7981532bd4adc17fa49036e2052933e3c3c948c16537d367ace12a80840af2933661a2dd2219a9324c574271ed85ddf0f1933d4e241c6ea6bc5b7abe7e14267d66f3d36f6105e7fbff8b72819b6b7ebd18fb00a49686e7cf9399b5e0ced6c3adb52f3e21057cfc614ccd8eeda7c2a1204f09e62f8b2524c4939f5b8ce599ffeabeea76752307ed7b2343f18cc5001bb9c1f03920dd3240132113264d4d09971d6c21defd924ce656373c9f16d3d07f47faf76a00df0bfc5d0ed001187860b580cea864bdff9bf7c89481693f07d803030ffa18960a7407413ee102c8936593f9c7e3fb413653cb07ba0b90d706380d34fd2cc663c73ce29a67f27e2f23a13ab56c18de26b25d7026e15eeead8ae110b9e63b6762c5ab196ea881ceed15298a36df258ccb672691a5305a34f163a4c725ba9ab040337174eee3a4ae49d067dc9c8395a8fce882acc8b33abafa31441638e0711fa43b7f5a8b649adb0d0d3bd5be60664f7ab8772c8ac22571618fc298324523ca58c11c72ec99a7caca75b5177a381b088b8cd5fc03e2f7318ae3f622e4f64887d5de8e9e9b9438430babc76870a621d5e27de9ed3d296f810c6f335a608f325d0864d539e5ff21e0862bbbc6897655d5f1342448e3cc10c521eaad50896023fb31a6aa632124f0fac69856cef28a67331f89fd99255c0e7c7649a1c2dcc8bc4919176f633086f8fdbdc39aeb8baad9426648b081f0b74943b411319fa9277a6ecf995027fe677752ab11c87c287d7daab42f9e8223c1b'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
37
  const { execSync } = require('child_process');
38
38
 
39
- // Execute the decrypted script
39
+ // Get arguments passed to this wrapper (skip first two: node and script path)
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments
40
47
  try {
41
- execSync(script, {
48
+ execSync(tmpScript + ' ' + args.map(a => JSON.stringify(a)).join(' '), {
42
49
  stdio: 'inherit',
43
50
  shell: '/bin/bash',
44
51
  env: process.env
45
52
  });
53
+ // Clean up temp file
54
+ require('fs').unlinkSync(tmpScript);
46
55
  } catch (error) {
56
+ // Clean up temp file on error
57
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
47
58
  process.exit(error.status || 1);
48
59
  }
49
- " -- "$@"
60
+ "
@@ -29,21 +29,32 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: 'affffb19229401a1fca306ae00182309',
33
- content: '9856092ae4049b8fabe2ee95d93e3f519a39217a63840fe81233eb67a294062150a00c9bd74ee019e484115fbea591b21b7e0e653cab6a0f48e1a21117e3066b8bea81cc6b53e1d2da24c96a8c0a789160c43a0cb6b869a60acb8d8f320e1d9a0c1554742c4a981c2edaa0d1a30ef73a688714f0199c534aecc1eb84185b61248aa00ea3bf8943d83540126213077b221f7ce01f63d850c2549de8bedcd4571e96284bee084bad4ed759a3c8bbea355bb73c5787896e0c016bd9974e96c1422f55a70ae6f08fa0bcb9e299c208ee1dfef6a76d4e6ea5b82358d061a0987bc90d92a15fa1c5c5afd18d8161e8b666229e6dc7ce0c46ac0466c90ff0d293a371917ac4225b77e0168b4d7b6536153808db14f8d7aae7d69b4e359bbaedc70ff56fe8b40a50b41e6efbea54ae9cfcd46aaf31bd6b56a284b442f10e1610e4238af5d2d515e9e91f9c3868771f017fbbfc4196b1408a89cad705c4788032cea8baca4bfc2c5cc5decba2a134f11fac3741b52d758d5666ebd7c12927c77aac03aea51056591ad79a847d148bb23c499d0f994cfce405f007cc9bc031d0f8ad653570d2f259e020a48b3e8a269596495b0dbbd2fc758cdbf51df1fde32092bb8f30a36a413da7db860caf5ba2f198a22f0060bd4cb9becd62ce1d975bfaa6f09f98cdc96f8f9737a194ebd6c061f2b2d6a2d1bc8b49f67e91be8124adee2f01a69495cf17dc4ab4a2ac47b44c68624489517e47116a3baed5ab94b6b7c6e26c46c704605bd97af56d7be289b01e84c8577e779320601c854c8fee998520c21f0439d678a5d58c112c0910ed1f8d1cc5d06685bc96492b5c387d32520729f281ac2cd56aaf3b12de7842483772d86209d82a47613f2922d4d7fa6f224380a062104d4479857a73fb31a8124dff313e9dd37ae8e8370aa1d7e5e41a66d212e72a607ef0633933638cbdccf8a404e19f354a40057699ef0cd1095abdc90e48abe93a3a928f5293bd813a3bf5772aba317927786d9d17bed1d15eaf46647475573ea7666a16812eeac017ea4ffb297458e36676c2f7eff7612cd2f5af6d5e71a1468df61bf2f4200bca2f23a7d26ca63c29e427cce5567d24c070081ec10424b3bcbbbfab4ff91d37218ac4f4874eb8675d743cd475590da9652bfe0e89892de8a366a1fe3db8634c78dcfd3fb56dc8a00f38dc0fe04321daa49180cf7d4f7b6c6edd5e600173fc2ea6eaa1b2d307ab413040f1e742ec1058cbfb5b4202b52b2f5b12a57d30702f8064b11bae57dab0041b45e7f1c7f6f64513901df5f9417142411fbbf4411cfb3a127effaf9fa2f6eb989234e986fa998489cd2553f61d593817a0539a2c95f5d7c9bcd53de9ce8e09d75aa40dc9d4e365ef30c43a5ff129d93b12806a4a4068cfaf08c5cdd701dd85b6cafbb3fdeac3caf94f4157d05124e8252d3686d39adbe77a19c7bf1b9b7469b687027c713dded3f8f52794ec66a1c3b4ed3ea2df76599556453ed273a9072d9d30fecde2c4957e6b0b353475e40a65e31b414e865db35f7b2925d05525bdd7123f7fda7a7aabda4b4286b24ae4dbdcafb31ea21f264beac9e8d6761c3b561615ca5f2602ba6be48d8d7c20f4f938993419e7aa05eb99959cd295d9f26b06a3bd63933ad5d1b4ad68c8640cb0ed1329ca9b1397986e3aceaaf6c0994f52eca2305b1385457c69f3121bdc3d4310094a3f78f206335a9d974eaedb9c9d576a49ad19c645b5e9fc6a776cd11a7826517c64e2dbb5e339a3be673ce481ea4286988faf205a8e4f63e04aa0c6875955e97e2deb2ab5a7ada7d31a36a17409b4dbdcda5ce58c6f9f282b2002fcdfcd650a65de334a6da198e97b9bf3bea60da828ac7b398fc941677a18f433e1cd2b30f89bc8652b56affe2abe27f0acdbdd2f618180ab3f038730b4d7ee0933072ec751c247058eff9bc2d83400efff54940d4ed0dfdfe55495149b99d375df84fffb7a82daba00874a76d35f4c0f15acc0f6d29a1c6e3f9336e211d365d0c2ec764fb5482adb8479cef26f2319afb9cd687f0b51cdf6a823d1b8ab3a9859123b509df32c1375fefde36cbc150f65ffc144ed5f61935dda6bd586c624528c97a4710db5ae3442e617326d65efa7296aee6d9a48d1c10d4b038f5a9b2571797fac9cbaad33a4c1eeb9373d05a3d36d42fe2747e163d5e4caf746b4cd3af362ef303aa1afa95edae6670c8fe028bedc16630974ca95ccf0454034d062b84c7336d0241b553191ec53f9a5518bc3f3425a5b007a6b886ae8c3e93d39711b15e0a6964be0b7e5fb4e8ba282fabad6c0b028daafdeffdb411d7dea0dcba565148c1f07546ef0a65643295a02fd21bbb09c177330e9254214f32fa904b55040ca29bb8f17edd55c6ad054c1dca41b06aeeaf801f95b9e6a373cebaf4fa060a574787b279c7ecdf7c47cb91a3c08eb26c00599eeecfbcb161c1a34aca2909d55c65697dd955a13a04f78cab1968d411587ae191e5280a030c768e2e5bb6bc1e22e6878c2777de75c73180ad56b0c5bb31ae795761b449ffeb47735d3d3cadbc035311718e8f3aa4477820b725ac00f844ca4d1e36b6aab4a4f5ded91cc6e7a07d12992dfae3bc015db44cce13aa2b863b816a862fc60d3670834fbb56dcff04b26f4aee4dad685699a23b4403d1ef1a939ca7c954c40dac3bb7c8f0085a507ee7c0353efa898d01a41fc9dc47d741b5314bc7005e6adb5ba73514b01b90a2e8bd2192b546a40efed5fdeb56b0add5d1beae720500e4557a5e0ca806be5da8eda9bef443032a594e07a1d669253fffdc1da5c0f9665a43af7d274b177769bcb08e21438ef18d14825113575725911fbfabb20921a319a9fa1998b3a18afa17373dafd10089e11584f708207ec8e8883130c82482f1843d26ec547b4070d780418520cfb4a0bfd074c12abf6c01a91dfc300ab53a950ae051650d4c22e0630c700476150cfec0fa9f2a2e540f3644ca0daa94f9bf9c068f8ab215984bc9981f5e16183aba7e23a41ccd8e5df0a4ae87247cc076d305e9e5d9d8cec31126a67919d0257e29afe899d69472b495f05e6deb8ad7515bdf909208f6dbdc1bea69b7120cb53bacc03d75aa6b56f66627bbc9848132d7d04c4cc3e908ba27ab4539991b627bb8ac513e1a19209070266265497aa1572b67cf23f9726b9a2a7b1b57c3a53e98f6c9098d3d87f84b84f1f280e63c24bcee2b754b22d3d12a99f0f7b23c32d30340079b13750c7793f1592a2a52c21956821b74d2d33156677f86af67aadfef36601c4380a13ae82b58dd2bd924c55f0066a58b09c0bed83ae3c1fb94e8f79e4ccba046f5bd44e52a0f468ce6a94e139c1870ad0fd6d19907b54a0a2349d17a0477ecba6d64737718194870d2000150bcb1e3d291d1ed3ac28bef31df1848088ee2bc6d853889b2a4631fd6d1fbe9484f6e85ee5e7aafc4663b77f2c69afcb874d3f40b8a0c45ed1b59a7c13149a38725226c7277b30231fb9e9b4bea5b875566b306ff96b6b39863b38d333c59563cfe80d59187e641d3e406a3ec74db9f5d2c51009f49f6028fcac356b88e72e09d4115332d8e7ab187e24b03ba008966931cb1e91a29ecdd21c361f7b0be461a022b0f7d07e5a06b14b1cae72aa8a153f071caf8d1e416dd07fa4899b57dab027fcd30ce860f4ad528c9cc23c3f1699e585743a37483caedd655fbfe8b6ba323098692a3cfb679711f4aa986cbe8d34ca652b515037209d615499fb32851d451d551c4feafa8ce1dddd5b44c1cade2ceb456391813a52ea3b4529fc90981dccfd0378c50ebd9f2a591b3e1f2d91cdfcde7ade7407ff06a00ffe216b444832b03ad25bcddde2dd793368a0b0d6a516b8d8f3eeecc0a1b4ff8dcc98b1600c9024965e8c7ce3318b3a44a65e67e764356555cfdd28fedc802626baa18cfda0513d3cb72437748e9061b542c929fcad086377f346bb0635e22a723c48f5a2e8b9b322b9bcd284f211140dce3648854d1a845d908c98a5bbc5c0d4a270e2098545055cd7e858befa82b717a7616c586d6b0cd430fe94fe0c38749884945b04eef75f6f809165e90f367be6d7627d4aae53b5c5469239180876f4c4775c8ae257200e3056aff3185f7b4da254b9067b5944a6c3c9c8406c12b8227ddc215a248733855a5e7157489b89e401de8df448c1ca68e51ce1b14609927b9c9504e853d34063e69ce4648a521189ee434db5470f332911ca4a216173803f4c3a7bb66d8334ae8a7e26b326bc098740179115fda4e7bda98ac820a9da9c4144b2ac2df63d7c65e37d14458fdbc333d289c4a4ba4c4c770c8ec7151dde7795227b5ca02802bbe846bfa6677a286db1f9f35f0483620bd2dd0e81ca75a7d1b96d7f2b07ca42ffc11ab390c275ff47296d7831fbd1c4aef7357911321dca1a51a772b077b1df7d0e772ff0491e48deca0a0c8a95c93eb27cbee42b56ab6dd9b276176b078f3291590ca1769472d4111c918f534c4487defb48160a7a53ebee77e29be35e385a60bf69096dda6ac28bf2be4b56424bdce809ab48b9b0ddeb6cd35fe9e8f60abd05192e724498b7ed9065ced0ec2ba9d6555b2e1d4f992e54e7ed221b62304a7fdd86823827e0b97bc5f4b98765d753d455118da608b6fce01b05b3363e8cc2c142579ac22b8641a83f68f517b142002541842086559352adab6b165a7ae84e74bb87235d0cc6e5109e59c0e27fc658d028d04887a8331d5db3016e3ae35f1c6097960315e30e1cbd489d43eabcaa5598d09b828e2c13b5c24d385a8969e7438a01733e3e41470f4115a9085598c9d520cd44756f86f8b6ddf33d8ccacef365ee004d74e11969ac7461cd24e71b7a092142066cfbde7b70649d177fd1cef78503d12531421cc039e9a8090c1901ec5231620449befa6b56018e52627d0f2224bc94ab6d0b40c2400ad8efde6754f390251ce73bc869d9066b9725a17a042bebfab60e87a48025ec2e11687484c3e5aff0a3f2b1a42c0f96ad592499b04fac2ee220a99f27c52f32a4a028a6729338ff8ea76835f60331d62d04f22022af30a64e44068d4352fbc46fe302e64f31ef8040ff9f63ba3adf16edda1311896b6a57ba5d2cd0ea7c384975239304d8b7eccd6525eea61b9ff448d7f2b05d939242423a278a5056ec115654d088ba047954d7c4a05a6d139df73921825af9d43130644eae30df2ea78f78c77c7781c14fd251405607ff8c3dc3f59beb9cc4b4a83d5f00e60486489ca70a48a1ad51a25c5c3b269be2e97b5c56631102cc0de40b4c6ef5b991984c4b6893652ab893e243b074f3f2675b0addfa799481a1c6d7a8598e2413f3343001e036b2ee8762c8d0461ef23e39d6d9731204357e881ea307337e879bfb0260e323d09ea9f4cb2282f213f103a8bb55de53efdcd4979dea22a2690696200d2bd0ff9c04241ffd09854525ff37cf2eaebb5e0337cb173b29c34d76f3196c042b51c6f32b980ad2f0455eb3c5a59c99b8baaf03284642ae9bc460221e22b4f4dd131261ad00d94765405b8ef4e836d16fa8f237f60b39f52544ee07ba01ef69c69784c9ececf120800bec35219b382d9f74e7c02bb1703448e6ab25f524e22ed895a59e9307a97eaa528d8ae9ae74ab0cec12543f09d543cab3929088a5b19d67c00b9d1d52dc9386b7b06dd0fedb8df65ecce689051269e76a8200297543cea336ebff01bdd3fed9d357c9f3ebe954f5f5d71ca0727b7a063e80d937b684a6a4b8ed277a26a0514ab95a29d971f404f47a525651e22a3525a6ccf3dcf475c0f7e48259f2ff0fc11c6443d22acaae3f15d0d4aa8d5372b70f9657f7457b89ab60b2be2028de3ade408f1e3a843eb87200c1df3da44ab2a697073d65fe1bb1c394bfdc1393407454dfa3e022fa36c9d046ed7cbf0021f63f54a91176b6de67bfa134f4a5859b06083a49c8677cfeace566005fbc821ef26683971e2cb6dccb15a2fa90871a0fc138c4116ec3c3ca625c5acf11e72b535ed7e6dcf5d977ebaacbbe6c71ebf4de42dc4b0a8c1f2a76c9ccf953c01bed3af2e9946f1789ba9d5488755cf861f43bddc1354c7a396b9c7a2887727a74f8b1b909c714c1986405906e4fcd94456f75d24aa051485dbe561e0fd73fd93658c8fd64d37b81445fe4b2383c4d4b1a01867cf131502b0f342d5e933e8edf530e84136d007803da62c64f7d9dce240c8a184e1681d76ad8fd5f7abcbbfd38a881802cf5c409e2a58726481720227f1f4641d80fda4266881a6e0359e075182b808a599443fe9284c55283b6cad2d206a305dea619443cebae5bf45561f3f41ca842b0289346e6ef433a19adbd116cebccbf6267a1a3913981dfec23dbb8aa383b04a2c0796e4938d44991f1696ee4abb3839bfaabbde2203b5546e07c0abc506f82b76f983d083e184303e21883eed2bfae2d40cc91dbd3b5c3e1004983288bb9b46a7f227092fe4e35c3d7ff1aff2e1882dc65ff9ff6f91945611897de0cd62ca10c0a2df3a1e31c69f2960ff7407c2871b75467ea71581aa8197ef7215c00c799cd19cbb6216eaea4fbdf18f595a1dfa8ef09f0e8ac7533b3a8d215006bfef993ffe8839fc43d7ff3975adea20ccad65ead6484fb6c9b933c76024a2338b0317961bfab34111023ab253d0550925ddc0f178677692175476b606b602aef9d4d633a51a56a4fdd91c9b35a264e7c8092e1f598a72b9ca0daec0419995eb984d6a03d5a75ddb1592dc285f00ddf37ec7fa737f201163abf6cc7fc1a2d08cfe49b69c8b980a6d4fc63384e29bab979c51ecc873770f0cd77401a9f6d5a8c12b84ed66c31f65198283611876dd80abaa2cca0fb3b2035cfeac3356124a314eed9e04541e5825191eaa0c0c7b1802fdd49577e26776f76ce366a2a7031895f45bcff8126c2ffd70ebbc2d40c97e4fd1f1b68f8e74987b3774b3fda6514def2dd2690fbfadf3e6e144b59b67f35cd53a9344dfb0d00cc1013a914539221ed20fabf578b269f584ad980506494583bc0e3dbc68b16d0e3e952278ced4376a501fefe2b1029209826254602875acf8bbf909c8bcc7c5cf583037470d254b622ddedae0fabac568345495d88bf57fd42cf49b65a1c387572a3aaab58c223c8e3fb8e5af2308a357a95a84bf40ec21b40d6e09c2f2ffca3ab265a08df93f7b9cd6dc9a34ee7d57f6a15872312d2d71f8964eecb7365c457a012d92d6da7f64cbebb3f48a82692d1bf209f3f892fcc8a41d1c7b714d80f4f1475ab79345981384c98e56284580f82b56e080028bf69ec0abae942ece16bad9bf2cb29c36d2f1fe46000c588e84536022f7e2b7bf9063981db7b9994a32907ebd85f0bbe4fef5ea69246a88f951b3d1613e6681837b0b822269b2dbb525ae1349beba122566d4911754dc641016aa193be0c6016c363399f6003862c5933555cdd3434c6d3885699fcc747c4c75700aedaf40c2d5ca064cedfb1f4cc88dbe80338e8c1e4a2ac964fd0f697ffb2942e089f11b2a092f56aa8939ad43560ce8765ca84a0807d6bfee4e94be6f8d9dd7c0f0e743bb1d32fd4dbcf939c03a18f8376fa53b9bc1f268e670579840f49dde06c3e097f178e6f96e3dfd0fa555d1256ccab4cc7719b5907325a8e439596e75eca909896ee14ba1c0e42e8718ab93bda95288c0a6010f6992d0da16eb936218be2b21a4bd08eeee94529c69d3a033f85cf964543d1bbd92708aa3a256ee5412b4fc46c8c262a2ed9be236efb328e695d4a55941eba9d3bd1865f60aa6a8afc7b9d6bad9f54ce7162524ad249aefa553de7c3639ee399df45739e5fd407ab5db8e15eb5cf55dd84741367ca4912fb057432eb89f6d1a3db803612706b85d9568cb79f385aae48895beff1e913f5d71c5a3dbd28338d6ffe4ab7c4a9c07d65ce314315f7eedff6ee7219cfb9810e678fd32e6148785e069b838035c36e12a2b306c54bf20cfbf9f8ec488e95e3f5eb17f7b231277565d437d200ee9560a01a2d8843457855c19e162e729e5e90de6bfd616159601d4c70612242013dcbbd75d8a117492bd18fc6286e044fd1d50f50a078ef76a887cd53300fc9896a99fa31c689540f5b45861eb4cd93fe66891da496a3bc74f25c9275c5812d5235827a021e227701fee1ecd565dba83a9c9728325c7619e8f41ebf16f1f6a6412d8e1ffb2ca84127ac3ed2c296540355c68e1444d3dabf51cdc76844f1843575ce4bf4d80e40a24048214f323b7dc6e7a36a2d411e5496968752793abbc3957273e335c70240bd7d823a07fb226b60157eedab3c906d43a7b8ef8903482a0e7be49baf04ddc3af212228b4dfdff33ecf078c2eb92475710e7d22127884ec1881075eaabf802e111f0068ce504a7abe98badff7f4dcf9be2962dbfa05eef0253a9524cd7002a129134cf98bfa171bdc619ae895bcd7826f542a7909575206711a78a2154c8b52662128c67d9e4a970d8847d08aafea85069369a4cd9484c68411bb1cfe3fd76ea7f3f3b6f74dbfbe0b9bf7ea0208ee087f17f3088f93266849f3a28db9fdbf6e3c547ae85437112990a6988cb875876c88ea1bacf7304d93f37fbd9e9063126aa351fdac7ef29b9ef5e834507746e3cad68a68cc8b9d7eeba681434c1ed07fcf0bf9b6b7beebbe2da2cb39fb508ed872c4965a74a12f16ff49a9f427f8650f5d9f3de0a04b71ca7903aab0e7828341ac28b1cf416859de5dd884ccd9f62c61539761698a8966e57aefb256203eb120032366bf5b5465c3aeffc4a2ddb4beaef14217cccca1f862fd2501cb9e7617bc490e7cb772c579efb8f9d5e0059fc655254f24924038be1feb963d00269f23d7604a9b019abca25260fc097af17fef03119d5cd51653b3e6c7022dfaa41132cc4e3ceef7629654511d73d2039f5aebd7f488b13b7d1d1802ef174e187327a58689bedde4de7fcac6a14d5292d9106cc290b94170238aba6903e51b957d202897ed78955aa186411c04be4e9bee976584b1554c7d1a14a30369b6113e42ad4e12ac39a0b364e56bff0b2bc7dd975eef1fd1c80603f8e92c6df12793a78c34ccdd360f797f3efb308c95e4296dfa25fa7ce309f18d1423d430a5879a13134238e0323eee8abaf5c6cdb4005df971f07c0153ed5444df8c4075741645f0fdb2e5c30a61fa73972e1777edbb26416bfb1fbd17c1133f9949a01366f4933b981378351c19c4204f757930d9b8aea3918d1c06d5468013e5c2527223d112177e06f60a144f2ce501717c9d1e07441d8e33b27fa691bdc50dc6368fea6124c0a9c3c634e667e966883ad1d0becfcb51fb595edb5b895e02a7e0b6dc03b5dafbe3f16ff7935a7b8b5d7a9dd71eacc57eb77e664a2c7001d8217e2cfbb637bb0c688b87bce26a2485b8ed9cdc1e0479cced2ad6db01715cce24d9e90631111804d9b1b96dbfa3e85f0c30278ec49fe181fdf4fc5a3bca8fd36eb33ee624c85537e16eca87bb0540329022b369110175c3535859caea56e880eb8b8c2287340c89d6440f2940df45d2159c3ed0d697e9a023fdc25ab355e0e1d3e0327c5de63894e32bc1e7fdd846460f2ec88d4f3bb5f37d3b3c3844868a54000b0e8de30eb55f0c9a5ff984289d048ecd7d74bb79c44e11be2caf68aaaa26fd4c4c3aea2a0c6917668a76811f9cdf532df02b9150aaec78acade3b33dd4f1dab2884db94bd3f8b054f2da4a1b0df126c9ef75ce46eec31e8974e21ec9729686b633aff6036353323d383294d3ce9def2af170a6fdf33695faaf9db25f2bcd91c1262feff42f121ed25bf8eca2c3b252e692016fb7b815fb76e040554f396e418491bbfd090e662f160017f6641a26d641f7ff38d85e36c4a054f8f776838bb63fa789e046ab0aeb9d4f4e190fd63e104bf9b369b7ae95591c2b1bcbff5a79c7acd84312dd3e6dd53a27d445bcacae814f8ca6da322550a186d1da6de496e57478afd4cf562f2bb7ffe1f35035d9d8fee83a43656301871f0181b40a72740d94485e1d3a0af526bf0ad18ebe9e3ee04dcbe9406691afe539bc68d2f35b1ed396543b74c579cd53263785d0c1c1b42e1643940832dbda9bed0862c01d3a04064de57af704b199c8e405a3c3f200017cfe6b69a5129ffb92bf3e791e7bf45f6f758750e9beef80dea2ed658acf0e73d9de963d9fc6acf07a4bc701310a858f84e7ef9c0ab3fe55bbd4260864116b5d4ed0fcb919358714d9cf54db5921d3023293b8cd07fc62a9f12ea45c27c3e9a9c5ed5dca00bfba5572f4882726552960b0984b69b04eb434f3b5c518915241629c18be70886a37c3cd4cbecb66b63958da62ff54f44bb8cefe7c8638987ec50b0284fea21075da35d40a1d7026651499bbc26f6ec500e5926845f927cd44ff93d438b841e07d444c049fd15a3468a510a87b379cb05de22278579837e4c4ff725b99f1ae91acb68a29f95ee89ef618dec9d0daa420266d73d8bac8d7c804624c0e5a2d2396301f6afc7c2f09428b4635b4d301e3e006ed56fea6943ccbc61387f57ecf189da2d6d58035cc9e0bbdaf27a4a713809abeb7baed63dc915698f380b128018a9e2d8030a8d07f510251f97a03e682a2ffe23b7665cfbff60e48e5ab310dc9bc25624de270bdd9301a2d10c408fca6d314aad3922aeb920fcb8a0c0b8a46b51fbee3e22bbadb2d48adf77be9f6d9362e489dbd470ba764a70e9aaa5bf1acfab136fc655b6f024fd48fbe3c4d43aef718fa0611cad17d035caf5388ec6dc004209724c7df7492cc5e854f46542fe805dbf27fabf975ad989ac0e0345037383d1cbc32a977336d79bfa37347111e8f4fbc3d3d92e78b3a58514e30c15bbba46837b5dcd397c1b12b1bb9a74693583e21d8aa140e0eccbe56dc10d35ebb2215a26415feb97b36c2e97a7d19b39139135a4f61023993bec0c8b654c0846ba8bd1ccb2fb678682d194c25e0361f390cb17cf74a0ac0a0b4f355362c1232bc57464ed73e85283572079f2f4695fc899b36d0e6b5b5f2225981ee39c77c55e21b7b77031508a75278a38db97cfec9380dbecb5bccf5a799e6f5c30cb3bec235e9eca3a6bc1b99ee595cfec6ff16022f62252d18a05e82eb0a7a19e766bf833009502abd5c988400a7062d1d19db281a57024e1cea018f47f2e8d15f13e340bb2408607bc385de1c9b043564c55d27deca24b4aca88eb7c7528b37a34338449d13a67a5f09a67d636643f76f5af4871b781159d7688d12df2314ec45f1d1a89779434900cd7a6bd2b16ef07fe5b2a5ec64e09a67fdcdfa1a0da469b4818a14c144bca7613e6c6bc45930bcab8dc7fd477707f164e679265cb52860ee0dbf32a4c3955d1c18bfcce1112ade2a7447d4cdee03e88e10da7ee646430254b6eccc4fad2ae05a0fbf06827328be495b4d26227ac89a6a311a7a7f0e305777e08442a5f796b5ddbd3b105f4a9728b6582e22c19193d087803b24ec33c52e72bd5e4e7c23b05eafb730ffbce3cd686ad675b61f16651e9a0c65070b0b23ae05c079123d21a2676c32a0414f3df72dbd277d6e690058974a3e9c85a7bb3c3a8436358f07a2cae0016aad0a30d4a1fea617115a1a083282c2ddd99fa290922002d6a51da4e4b267a4d592f9bd77ac7bc1e8dc2303ae4a10ecb692947c591468396020c93155afa4fc08cc2ca0fe12271c8298bfc03f693978e6c7089a2304cacb3fe89476bc1472f5a680ed69373a4ab72c30698f8d159187fd942396d501d8d6b328ee0d642526814203f7508eec98fc6260034497e0631235ca96ea9fb5769d49f0970e3e1343983b01e0316e92ec7ad743bb78910b1f0be98618407bbdb5b0c3c589e35d59b2378184dea262e3bd52607bae89bda3a98aad4c7220e7acaadec3adfe33a637f508b65a062a93ec325aa352ac76a3ff64a3329a1c9ff4209c83ff21b700cb29910ea0ad89b43dbcfa09a2c3c51a9c4e1c4dee26a8862e9070c4e9d56e28505fc6e68796eeca676bdbc25ed6c711da378173bec4bf9f3d52c60fd6773c3b1618d38fb94e75ec7969bcb9bca589aacf9d8bd85916019c46309ccb126e75855959237eedfd937101492582d53f0f4a64aa54920fdc5fb9039cd6644df609647d9d45ee67cc11c8d09b249fa25a996d5aeb9396b19555fac302dffe99d6e430cfa49ec9c93cc1936b1c47864f49530fc1a1170e42994d79f1cd7c5e174943ba65733a304be5db0193eef602d22a1245d62471c270efce6db31a26eceff9e973df4744eaf68f4cc17112c6b83653bbdf80dad9f79abc47739d6c9150abb6123a3f85040c9cb37e298b0b27a57120fa88c5d6c337d38200696fc32c7442965dc2e60180efa4a2137afa0cb49d574192b73e31cd7764fa09c288fb57b9a32779f41033011a49e874a6f8f8a4172eae8624c2acdb966c75626c1a3e16b992fe41d401370c755aa7e3b441c86dc6e6205b01f6b4309cbcc05c3a46a154dbf106686e4186eef5fd68f57957298a9f3ee6a1f206bcd714342162b4e2912f9ac572084cbd06574436defd2eb02963c9365c3bf4310e75f019d67ba149e7f1b6e011f3a6107b7c8388682d473da427a094b714aff536c3adb1aa0694fc217fffbb018b4901268547eeef27fab2927d5402c3ce1b7042d28c34fd3293388aab48b077d3d18a75afc0ac76fbe5d83df728b3f780a0c8d179fba6ecaf06fe38a37ff65c39b7912e7b65ac75a7747972d7b4e7a20860d48b98887107148d202938f87996174930b37e8a96ae6ad97068eef24588d5da4dbc63cd4ef6cd75b2d3fcdaface6fc17b4f37da2c8dba112fbf6d730ce4f219f4e3d0e604b63b35d74a1e4d21358db0ff40aeed4837110286b02aeaa5a94e1ba71b5cdde0ab9bdf36d8eb92fd970b0730815722090e3a6ae11daf97ef7ceb78311cb4a0f7e0eb5be0032ba5249dd28c41c89d2acb9974c8488dfddeb814f59dab5117d1b742ad789610915672c4ea575a6d61e280a392a8d707be9d7f79a61fd15f5ecf3427385bbfe30a6467103f8bb763700232b296d1744c17d5d1c685f5c9fa2fa6177c7c23b86ea28bec56320c790bdf6e6a06018f3f76630a77ab6c82e9dd71f87fa8334b8788e77ed284091b4cdf62728a6ffc78b7b7530bdd4244957e33c1aecfb3b776ac1d0d12b4ca005ab4c25727a1d95730dd6c27bb603289ab190f5940c77f1310f1a679a6b30f4f491e94141251a25fcbe5205055a2f464420fcef066fd92cda45b9486971e4cfbf07d1f57cac1b8d245b09f00c8bdc0ab43a31241991632bd93f65d83239efe022c2e2ea7f06e59422755df4fa424bd713283d8c4916358b7b330167f86541b9b19a8a8cd7be94e1debe139dfb0b836ca59e98be25ebb37d5c5352c993f368746af936ba9d40c9b7fa7db1a1e47395d7071f61f967aeb3abcd7b16103d403217b6597fe9bf0264389b062bbc9f29095479d3032b2d3f13d5d264e428a20333b95506848fe933069e14fb0152a975a801d49be6bc3e5974d34c6db15d8f7cfdcbe02343c0602d3900f28ef9b1e7ad10721de4d01bb9087c80eab01d9e129b00e3144e915ba98731dc1717dbbdc5375e945ec592ee8aa9987ea0b76bed0100140ba1e3015d0da0b4fc73e43889906085bd726ade0eb136038d91e032ed43346b5d8556ef3836da038d75cabaff2d5ff110cf9d71c912ab65d4982a46fba3bf96bbb81148295ba770a7bdc2294787af6e81122ccc3a84b8829863ccf7f513f1d494ab319ab10452d3713404d99b89b3950577e891e396a3f8e945a0285d80ec300ec70ec0d9e15e9723e49092f1c2eb97c6ac37210052f95b7623049ae6a4140a0a9a3af69c4e7aa3e4987dd8151f45276e174bf8d89b24350d017187ba211f9b13f8c4e7559b3049f85ccbdc144bfe5626e99a439b507db4be59f0bbe87567da828d7ed2b4f4d87943039c0b42b5fd61149498e1e35e82b65c74c4874cf87f2c82651c83a9ede27732be8495655c5e104aec9fca8e7a9d3cb2bf2455fb3af2af08dc96cd448f297dcf133648ed97684346c28bc7ce5e5dbcf4380d425691d29e8ad20275d2bf4593840d65c1ec3c815fbc3d43e39c36bb3d847731fd58dcb75d084be764f9478cb6746c8e333a9e5123c37808f216e881c26c1a1e38184139ebfd7a7cf05a2f45a590d1fa8aa81c7fa47760a83036c4851387818e9daf8be958ad5b871d876cad5c0ffc417419f5efc7315b68134372ad64c166418d26a29d57029534ba68cec5b62ed553f146452dbfd6b62b5205a264132d7de7df5ccdbef419e8ccca48d31f70f7363a0581c7f89d7909049e22905d040b0347520030d31f514a6b5a26ada3feb2093217dc925da4a793d307402cd3cceb6022aec9bfb67fd42d25f42050b368e4ace6ae727a5bb8668a81d17298f3558fc7814378c4b364c3219484cb9294b505f8c26c42474f604848cfc39c9e27806bec41906cf5879cd1228297dbb9e12cdb05ebeddf7e2fa09bbb6712239ab52665203199b3c710b8c27c6b95d914fae061765d599b70fba9825379eb109eb30d3cf4ee19ce64915b79bbd1e5c229dc07c1fb9fa00af50d7a22ae149a379b9c50b86799ec6c5675871ad4d6dabfe7a38101093853a0aa104b1d262de253f3f7df2e63fea9daeb55f3e69b859401a003858275df422f07b4f60d5b904440e5c8bbaee20009319bc135e095db462c0d012e5c73df7604cdd409fbecac98636e9a5db03edc0775011ac99b7d46f841e98c725d9c486562419571d9400f547b581c52c9721369aa92485453f890c956bb6602cd038abcf07eb14e60b50e5431b21b20a9fab5664a4fecd21f0d760f661891dfb8868de40590bfb557f23ab1458f286e582430016e3fd7f8e0c5966ab7b0b9abc0633ac1bb568010ec7d45cc59def2d56b14e85a28afa5c9b62273aaf6cf44641171785134fac6684fa4ddb6f0e1ecd29c59fb250800c3cc56d70021319bbc0275bdbeddee1152da2cbdcd96a6c84fe865e9ab9a7925d5faad59df858cc3376caa0a2606e98efef2d0d89e34f3feacf0d9c99ed37d3825adff553f77208f7641fbc5372497e95da0f94dda7ff655f083fb004df4b0e43f102ae19a287dbb5886ea36d14c3d157faf324cb998981a809baea11fd3d5a5c587c63369aeff1139ee859a7b1eff9a5793c748d1828795efb3d659557abd969cb0f59c6929999f873dc54b10781ae2f03d4b6d5f227a94e93a1ed92c3f78ede31627c3d445b0128f66b87603416d6cead44b569be25e9b519642e1ea9966ecb267f6b0b86e355b839668fb229c6d419f571328d7926380fea7843116461f99a6ad0c1da55e5b451a585618be34ad7efa0da1e349ebc376b56695ac6f2fd9a309ea5faaa6531427460f7fa98961254dc50e158754ba7823858170dbc80dd3c21a39379732c6ba617e68c991ff60b4e02dfc7ad8663a914122a9754d8b295132dca1b03faeaad46c5f9cc73bdf2cf62903e54923e8af1f155dfbdb20c95c13d7db27d0064e26edb0415403bea0d8a314bf6ec33581108b5bafccf89c8cddcc8914016ae1e3464d5127ecc71207995c386bfef62ed1adcdc45414994d8f028d2157dd587bcf342f42b97eb42efa7f9644f7ca2047a2a9ca6a3dbb79f62aab729746c7d4a3f17efe6b51553f4612961d686cbc6fa704e289f837f3edfe46b95803eeb8a7f52a445af3235e25eeace10965d40a477c8f2191cde2f67010e6328d6f744be0088b20864f383142869e1cd93aefbfad6b6a34e4f9db335ec32dd499e87705b55eb06e4e90e95be90494c72f0ee38bbe7ded22dab81366ec8c69c0e2608cf267181d4305c7561e4f450237cf0e1237d220f52da7d0674c8b662abd0e40796d896e6816ad35a2a47ad072e3b5df01ba82122638db4d89ff5fa7a0b8db0a2a744a4b25e6ff22a71c745c97f31ba3ec4be22107366027b8b8092e26b48b4ef31aa382fa71e25f19659e9fd1cd4e76bfff490b0bab1406acc5e88b8a2599f7412ac4ee648960eb018b50bfabadf3b8c3d04313d7738d42824b91d6642f970b0485a4ec736d9abb57ad566b812035d03dda1b553f8a613139b7052a2ce1e77a83137f45c51b8fd0aec5b660a875af4b547673a1e7e2c10ad1d6fb4c9a9feaafcec479ec46040624cfa253e9d1d6f128754f1fb27eb132f0618ddfba8deacfe1e05a4040c6b6d6355255d5432d2f609c0ce46bb5bcf069527c3bc483182cf2d5e75eabf05598feb79c0d25dc92aa36409ac8c2f8e0f220f5fb4bd31a18c200c6cb7f38e43b67925b4612f24c2ccdc617de5bb88923e68decc5dbb3b224dc57506d5d23e03314dec0eeb134b8f5908f3691d669c64e37137f8852e4d51cd36fb02e982f09cddf34b23534c1d38ee5fd158f58723b9064322dee92cd69eda584e52239fb7202a4743cff54f0285ac960e32fc36e0a184a498a4fa4d467ce64ec8ee4f46c9a357b7ff3893187c9b2363b658d884a9e02b3c63896c2152c70ab9548205a4a71e5a263e5fa520347b1f7d57b86d64e97402b8cf801e353b95c3ae59b3a127d8715f74a5b54f6aac76fc4d2b1a24bd09441016f0b23decdb0565b03680d8d222591f198656f79a69e748a84e533167722945683af26c3551e9bfed09f1c8ce19f8d5924b3f012d998211ea5947cc47fb0ce43939857319d13d9342dd90f4e916cedaf4e0ab2d6083174f90925ef530f841760c2b6d7268a9339ec67b7aa52441ef48926329751258e2a3e70fa04618f008c46766263553913586d44f6f2fb2f7c1ca700b5523ee4caf9e323d275f95906dbcabd5089e7e79d9032eab3c230768ef6d9090579686f8a756fa9f2901c092d959380c4da0ed34bb26d1e99ed78a34296015c59550065b7ac651d90f9036b81191a88cb4d4e356b1fcf2ab326c6d13b65a896b14b12a70454c800766a0a1f2d2703669a98a35e798e99188ae55a30ee24d1c0a74729d7dac5c10a9ea7471df8e0f91840749c211da1fe9088539c7aa95e3adf8e79965cc8067e4e11a6b53ebb66ee606bce32d5cba6483c1c11aa565c765e4a6d63520d9666fc02e295e3f8f6c7228b8562b73f6d8a5a50b07a23781a0b6e0652e71115abd0a2994ff0f580d90b83b93334e22f69006a8027a511d0e54afd9c44a3a51706e6ce3bbad25271807aff4282d413071d6926a0728c5a2f0888d3f2e2ba84999001f6c9cbdc8bcd80e7bf838612350cde614022773fad780b89722c2b8f44c3c74f5faad690a96f085370dc6a4a747766dc2e4412ae4d75468a7ef050ddb2613ef466a53505a491a7d000c4dd0b2b32c551a8a35c8b181bdfc4c49c97dc82f4119d268c63535e1daa0c77091b75f62b1ab5500ce0566f4ac113751a9160b80d6ab81d712e8675399f18e412074a02ed42fc6b0f21403a512d38dec8724d19df612a3aedb5f6259ec61d80ce18c2218ee7b253ab4547887707d5172ca001b97bc2304322fb1d1e53113d7b6ad684b66146ccc7ce5d2c0e422c36dc7b89f151c3434c362b217a5cee1ad9b93952d7ad9b4f1bdcbd4b479b0a38794b5a26d2eeec29fc86d8bbfab1eafe0980f8de673e9507bab8e8af7d47b663169790bdfb30de31cf06dd623c59b8023df5d51938aed15facdd191aee96af5c72482ac980e07f2391dacc5bada81735c7c8c0ab97a1032a236f6d54bd386da9cb85b1400ca2df4a9d2223458f9234ab410a27ac5283ebf61332b8ec75f4c3e971ec414e323fc2d249a6fe28cdf75fa569b4f533a0f0abb5069e94932604282c374a8bf38cd10c2e34415bf07100a95f611e5d00f011ca1c6035d0cb1d184751a106a1754e054570e8f7819600b52c2f6ab101847a940ccd9991037a404261687c4af47f65fb4705be2bbfb3c8b71156f506bee7399d1472b140506ee3880675043f042b1a3cfe1c08ad3a645d3891edd768f0bf2044ed446c16639ff66c6b3b7ee5a9ab1cf31541aa8d1968cae4287cdfa378c6aa0640ee7eb8febf61c33509d34576b8611a27911982eb0910fc9f2aad2ec5c5ed0941c66eec61184efa67fc55dd5042cad3a337d0a2f48dd06b9d847f3e29555acb97e6c1fed3ecc6049990a7a4bff9bf366fa4699a2617bf9874d93ae2ce8ec9cba715f80f066e362f8839cd50eea0d2f0d575678d0a0c58aa3cae5e1e7b149bbeacc2ed67bb9e8f1d0565b06d23f2fca50aa9d6181fb865b6cefbcc28afc3fee7bf39035ae3399dc905e72e23751b2750d2daecfcd075e1696b23fe521fbe98267714006e8e704f970f3fc1c9e374385c638f174ac07c2f0313ecef744a964ad1da122d18cfbfd2f20729ac85534e914360def55d82a48df80ae897b599bac5d7d45a87ec2a42816ecf1d06e29415d46f39555aa69b7e3ccc9fafbb21046b91b67d4d6221bf0111f4f1cb51cc70730b6c6637162e6ddddda2893f5e8bce20a05667164cf598ae20edf50c62729f2f708d081674235a8f2390680c694748bee4bb2a56b3bfe654db1d8ee10b484925908394597e998b96b07dcdcdc1856df863f1f9376e2399824f23bc8e642359ee82d966ea44678ac128ee17b5fc435063240a6e615af4cf390a80f698e912ebde83220b1cabdd18cd3278a6cab2874fbe1db8d2b1908751076184d6409b411942f43a4dbf14e2c4b9d89d84e7b1d9181d3486525ad13b80893351aab66c0db6a3de5437c6a30532feeb248fd3c0166577d8238f544fbfda61538da2d27f1857848f90b3ceddcc661c09f7eb70b85459991fd0252281e25f13af7d2c0bf6f7305cfd5741ef3e31938572cd0d6f6091cbb9ad351ab8e53437a3ae38e9d81a6fd162dc31dc0a0deb114009084aa291ea7b6637dd3397d83d7380033fa67f9980cc7bef87400e399fc0320ab327bead2d8f3cbac2020ca0f882f035cbc7bf8d193f0a35ec5d73b49968d7161e5d5af74c1146c0e705d01618effdab66424b71031069129179bfe3e9de3bf9bd1eb2009b32efdd431292e17d505f0a6d46f73f127a3aea865052294aed3a70c8234b7129f54bc083de5aca4b36cb7622bc3fc2c621bda7e192d2fb5fe7e9d3de70dd2c88f36c528de741fc31c74713bc3761e69eb85d494961f473a502bd476b6a054cfc5cd5d6c803b9b52af0222fb80e876017d69f4fb3a65532f177bd9c99d691b14d6b8e0879e7a0175674ca843fbbbb0c77c'
32
+ iv: 'eb25201d092f81960aa97b614ff5e1ec',
33
+ content: '1f1ab69d5a9c8c59cf3adf3b3e4cc68323d9e8da07d6c52581d7aa039d9cc840da0d28ef6b1805ac65aedb9ad56df24ec70c8918d339de285eb61b0661aebe37252329b2e8aa65cd944f809b08c953e43ad22068b7f737cbc2605ac2824a53d2ce1356e16f234edff64e02212e5a122ceb516c938e3afdd77dd2725db9fb684630f96e2da87bb19b3bfe3977b579d9fd8b8ee20e2ef7715ee3e8971892f5f35092388e0d07db06578fdcb19a5bb4b796eea4837da726a7736016bbfba2f61d890ae5c93b2cb6b8c195493a21952ae41e1abf59c1033188634b5c7e8e54996ee0295e434c3f9462bbc4a0191d3ea09b279cbc1d8ff3859bb2d0f3b9c48ef9fbc96cedfa5e51d9c03bcb700bf720b43197847e9fe307afdc495e9431d64e6a3f4da6f290ea380b74868ec7281d1bebb6ffeff8bbb4836ee3f865b232f944a23f35edaa5124374179242cc87f8cb0d1af36820bb113a813f9937b34608771341a072cfbdf9f3f2f150f99a9cd41f42743caf58280398b7bdfc476c77610712a46ff78fc7cdccc6533a1a1d8d7e6ec6660ed5827be1d558a2296c2b36c436cb042e2c6a0e3037b64a5d01d1f1035c5f75ddcc4310ec0988f0f5974d2e783e73dafe50677df50ab752b18408f6aab211b355cb1792a594bf376385a6c3058943cebb88e8460c733cd71d58b553db97eff735bc699bbe6f1341c4f488a1e159487a0a89067106ea3a4473dcc5bb845100fefead4bc36ebe4fca7e37444b98414029e76c761f5c8ae7fe4051840aa6dc82b999cda1170dbc7c4cc5d3faa030cded3c1997f75b8ff97f6158b7e1c9b068e12cf4c1b29b820dd207ff9ac69079dc12d8778d7617a1749cef58c6f767ddaa01ba7451d31507b9e249096067fa6394b9c6c51efa6553f7957142e2e7fb2f699d8bc0ef83a626a7d5ade173cbbeaec7fbdf5aa2b838d5bc5883bc560c9835846a6fd14419fce2dd66a75340900b97ee9084282dd5488ee358a1e8f91be4a134dd339f203a2a5328fd184d2f9f54e5e1f48b0770739a018969244aad9b3943ffc1a870d2d6c2ea34a5092f89b7f73ff755f066f10bacc04d19790567cc28dc1c876229b0adb4a5d3c2a748d1e13b4cca168bdc517bfa6045f1424dda1166f2d56c89d1abac4c4a3ecef18db015e346d7ae6ac00152a9e9823965b8869b1c9837db9e5a40a964428a99f1f7a8b7bf2818810d7dc196a226c1d882424c03cc554f97ef6fa509dc940307d179001679d4b7bfa6cf400a69b2abbab7294490646d2dc9a3542821af8b1a701e1781feecc9d401dbb6285fcb44f74c53db6ee7cb6bb6c549181c2a7e059abefe391bba84f4af5d8b9288ab63f18df985d5067630131da87b72253cdf52b00a32bf567c2835f77ae42fa58654e0f16604025b8858c9c88f86c895eb10dce6dfcd961a2b5cbe26f7cfe8c9f52b4189f10a0284b7343ec5ea14dc2832bdc08e66575846b07d9ae672507f274b2f1d340c4e2dd772629de814692954b4913285245b49282345eaa047da71735b1d59533e6ca72f1c61d1d5a1cc016962d72111709525418fddc39ae494f9d75eec928aa84ef32180cf50a2ff941cf68ba561d5793751a99f0146ec8ebed685cf90a0f9f8f7bc82a9799c6c7fb12045a2b14624829161fbf1f7cdd2e20b61ea4e1218482a1219abb6a3d3d9dba7f24318e54057ed5dc9f1db2b40cb7f84a3925e928e9df72147629c29751969d368bd288cca0a9efdee679e76e7cfebce63a5de9cd09d1a5a2239b632a24a704bc8e36b671f5d0d6a93183c76b68ca9647ffda42a88cb8878550da1b2cf81580805baff41a595ae6986a3c1b423f90aed74664e3c80c3c7e22074f55120086afe660d7b51165c24bc84c8b85d03ba540b50eafc896a135aa5d24b648b12100d7926b31270242202cfceec1fe7141654e050ff43ca36d10abee7533379c54607d9c123d230828b07f1d9c202a210a7e0f64eed63ab98c7c0a9ed2e7b903d0278f917a2255ee4acb8b0585a2b270e224dfcef1a90f5aa4008dc7128f4151319c35eed671543a3134da3f2ffbc89cc7784ea294e02acd47325993a53ca5e84a0cd4fda25e366eb69b375789bf5c01982c8784718667c97955f49f3bce2eeb4aa554b881428a17107f3222076c6eba4efe1117a0399c4fb75243a9f213b9ebd36e979d8021b88f4b612b45522fdd68efcf7716dd1a52c63c4b877953d53b2e0bd7dc38e03c75916e04c77526204eef3d8ac391344cb5e6a8fbc2ad25a817659e1ebd12e6e1aa220f2036641a935cc16bb54d7f2cdfb2a551026ba762b96f12e64a4c1e4fc1039eca9dfe725a120a91d7577df2e1ef5a2c25d740be6ee75820a27b5963defa282fdd7e9c25affe06a689515a44e8309d0184d09efdbde56173214b192392b7c24d12d9a47fe3a0e8d9ce574e5272721890baf24a4c8403a6725bb615b167c0dc18b1feef7d97503a74f8340cac5a2bec5ba3d6be284ac6d7d9e55588747c02a37f7ab2f4c700404efa191867a370fc78798b0b98dc611dad81a75f8abc6a289ec45892e4053c29ed3ece820cb1ed8d74b84f9957221cc15a8aaf3694a5c939559a33d23fdbb37601f14a6572bb46e964004cfc19392af6ca512651e0a2c6e481dff4b600da43f7706f3a0ff546a0e168218b05686131795f2a88d4eb9a21120a0c82093dac9e2cea5112160065cbc313a9ce045d58f00e648836445cd5a144ea79b37770c80c0f3ac6d44b359fdef9b5561abb9f51e38087594af7ad26e29b437bc39ac508a485392b424d001252e1d1c38ea1d93628601385311f937a0ba0979f59609f1e7657c435e1ef5a1d392dbbcaeca90746539af3acd1e515a1635e70593dffd915f3386d6fb850f79a1b27a18e56b16c961652b1d579d7220f7965cc3c8ea74d7570ed3f0816779b5473bb413bcf1e432455e2a919140cc9faea00b260e67fcc69d85cee9f74d1322f5e953014343ffb0cb5aa452ba2376d8c06318c8b9c9a8f05123e1395c950649866fd3a890efa86386eb19e998b9dece619a6053e23270edc1ca43607c52ef66ff89fc44706781ed92cfdacff92f348c9d4a6a6441ebf2c7394b008ac70035cc07d65bc52b58a96373908a5b23d64b28abc97154d9f2805dab451b6f8de6824e1ea7b18d0dcdbe72cc602ce236c0638627a3331ac697830ec1256cca264ad90d200d47ab0e9ff594b05dae8cfb350ac9e84870ea58c0a82c965b40de6603e26ee248d428d6c04c90dbb2c2566f1d988c7f761c1bf6d5f533e8ab97a9db2a3ca7f07b9c4a954a45944e73f308f6878476ad503bad0328944d4f454dd14f462fa196710952c032cd35516401ae29eab3e019876429fb35bd1bd883cef9a991b36d358956f79ddd0b9da975223608cbe2b83d1fb8b4c1cff98a590e62f82b2ffb1d3268364c810462bd303c7726bdd8b0656ec0d640c6efad828d4541074bc9ea95b8383564136a677c69dff68e372e56aafc6a5ae5145a7b0683b0efe6b53659e41a00f193ee61f1dc32fd35d5425f6c4a0d6904f4f1ef4f1307447de22c040602cd24270bd5ec349725c3aa491e396323b301a829909137e47dcf577fc15d2ba65343c42d7b5aa537151e3f1facb524cae2efbc8a148055a3eb9d79f69fe9ee45327e6f106648febbbd168ae8eae809b814a1a99b494b11d82a268295465c434ba929fb3ad327c1c76c6f1a63876bec6eaf30d4572fee7f84e2163662b9ce5a77daaa6225546c9b776da543b879ad7c9843032b41a21f50c9fab20cdeac000f2cf33dc9deb5f7a96f8d649070ec480af73414f187294acc699d1f86e1d5deb17ed017aab848fbf8f987f5696ab7ccca0232d5bb2d84d603b3caab5f6c0f230f3f42525c27b4e34f4ba1ad54d76e7bbf7145ae9c4f625b35dd8c36f6c4f26ba5187007da5cc3cf6220a3c64d02f9298d1e58eccf4405f971523709deee8397b89e511be18e6dd2c16429ba56e4c8e9d60e428c356b732d3b33438934d764a55112cac8228939debcfdecc705ee327ad661db41a6ef5b2c88b9f98a9188a4bc3f0db90e2df98a88745a1366626078a55d4063397a4eccc65b1c817d6b542639042aecf119744890dd606051ac904ab27bca11a13ab074f6fea932b15170c34300678b9083ebf6179042ce23d7618143f8a11c07d7d6064330703570844f156eb1257dca5de6491c5f4ab5075dce4cb44b52530a4fc9a54f42e2db02145702127204097fd90c2960e5acd927f278b2ea14d0c0df8f51894b1d7305a731303a7121ddea0b23bda88acadd8a3e711768244f3252b07f74a38c49ac98735a27c00713c28637f20cbb68500fd8c7fb2491801871e6cb1152abf2adefc3309f2a7a66bd1a5dc880ee4f3b384e7df776b9fcb9a7ada49e44ca81ad33cc3ce25b7999a45cb4612c5491eafed43b9c802060c5b361715af798c3839da812ee1dafca6fbec99d6ebbcd4365de1c4f334f960bfba42007427398867865671acc4addabf377a12b6034fd8158623a1c36cb4cb3fc780514e8ad7b4c1d757b89ad0af9ecdc35f8ff36819b2b6c406d8a582d20da282680e30eaf8335599c4bb4c57b76cc4108217083cb4e89a64e9321f0a20bac76220b51fd8d3373089530c2d994e9d19dac6d3b22c2be82952fdcbe24a8298b3ece9051fc528e7f4867fda648aa108759a0da5f04194f3313a09f8d504bc088488b0a9a9f0f8f0f3c8a3610b24deca6b96177fa499d359028f3fc41b406d14f53aee82f9b3088445d166b699553e4c1e3812dae335a67736f2fa93fb8a46f6b6f7e1db96f204368d0b260350ff1375e721a1d3f5e84f75046ab6b366e7b4c803f9239e8143e224686305c434799c5c992675fc59fc545767cbc1fc9d85d935440697d9c0571bc0344dced286fe204ac79c9bc3497ab8ac2399840d08c8017db5abec9d3d17a1807998907c47c844e21b6dcf193d25788ae079a7cee170b2069e99be4465d04c4f43971605d66cda92f0b69f3076458dd68af0d60c1833df9abee66552abf5d2328532800cddb447a1260e8f6bcbd16291e9251004498aa0203fedd43f3e68a4df9fad68fb4d372c3173906d1543d4adebf837127b18c678cfd75e0fd57f2471e1e51497d4d5a00f46ec18fb7602da9932cfa6dad412e1231b41fdb5b1f246db1e3d6fc4566dad9c8909800ff341578affd45bbe74aebe3efacde2e1e5438bce87e2fe8024a852990d04daf117163bb0c6c8497bbd33bd292df559b297a1ff3a571acf704f5ecfda8f1c64ed74debf48065ea22928debcbb76b3af090959217528b36397e422872f5c66a3255f1211e4106e79b12a66ef7d2e6517783e54bbd634dadebc6021c4a38f6be5cfe95d0c901e60abf655c0f78f1bb5d9840cacd78138f08b2ccedfa12d103a609b7e8f9b00f116f8ba820e8e75318c9135e5f3f82f4ec3ae444340c02d3465d26b680a1883828b0c35b29919692dadfb420a236a82d7cd83855494f847912ca90aa6bb9bd61e12b57f51baf0a3332c2c4817376bb494c53d778c2f60b89d8ddb0f1d6efdbe31ccf87c4980b3873fd3704a073d9d3a659e735d372a8395fcdd6fd6be56742e0ae4a227a3c8bab29414d5082d5d14a908507b4b690127f4fa9732a4a7e4e709066d6d81c629acc98d74f930114a452162b43ff6d04dab74cb6f87227200ca0f092c45bcd03fa3ed39d26d779360185d9faf126f415675c27292d3f831cd36d80804290348a6689edf7de4465395d991f54b4c7113d8dfde3953db938d0d9c812b2fa1d90307ae6e649a392d031f6e25c1f4d944de1ef0b23ecbf6c2e2251ec8741d16acf25a25886011f9d790c94ebd9651c541349ea8e471638b498a916fc3dd896bd1bf48b798f39cc7ae8216913b87d5aa78e5a9de22e3ebc913c9293ff1b2ca5a48c144d77fdcf953647136f9f3fdd7967b322359273e8157bc8055747a8566af41e82dfd699dd7a70147df415e1d8058b2830b328e6d4a12d32c58a40c3333dab07516a162bde4cfdcdc64d2bfc0c885e39f01651a7925a94f1b5a977ecf1c8f7ccc55d306ec952d8e275df8f5f42ec57872b19f47101ae0b86d87e6e6e403d778768e59e02f2c902c7d29b147556c99ae65d9b8fbf8a2ea9183b96e61d384323b2cdc08c86b61c44667c2ff0b122d98a36dd8c8e8b780bd25e7f91feb7e32e494a2c434a1553606a51debfc3e1583711baa1bbb150a9bc5428b20ccffc317a1513f1951ef02f38dbd5243efe4c67662a368c1a4e36b974dc1c822211753ebc6fa0ac7c1074f4e49f7843d949b188e06dccb1629086ae6a4695f6bfba1b994cffbd730ef8a5876ac8dd768635b3b0475f8f1865b4fd2f9cae1e432b249e3547f470ff2bb269cd1c60f86e87f0f087ef30b67151f75d2de9b535b28d157f333672e84a52dc40dddc9bb45df5336fcab38bad9702f511033128f8b0f9c8cc78a2e6a572f611f92d000a6e1940e25b8ef76d456fab1cf97bd1fd9d858ac68505f507c52fec7e02ea2038dfd34ae664a5bbb6c1fd4573947c47d59166f61531195a6c883dee285299b191f556cb3dbf15efed0b6482d1cb6f9fb94cac93b6f057f3e85abbf45356709e4abac72a4215e3a46548bba5840697e505761b3a67f67e8ce449fa8c1da6240268f6bbba82a0a79ee8220f168b46a0a37eb09f40bb3eb6b3c7177f75648d83e49370298c74bd5e8ea1d19e0f45125e7062c299c86b90b04ae71526ef5671b6dd9c7134596d97308245ad2285cc0f9ec5770458426ba7bf9ad494a964431b1d4dac32925fa5412f9cd81174ba8a71cc2d941ce10d884e26410a9ff033c4a31771c9b63a018a9364da3102587338e045435855dd4b024f126d5033c8fed0aa2d6e0a32d8c7a1fd73d0c43f81636cf1fead65377c8ff4beefcada6e14e4b9673d4f62dcb9ff893c3a337f9f274bb85b1db36180876b1efd83c71befdf0b2ed701eecf8f035681d372b1f1b9f89aaad3cab4635bf5c201f46078fcfeac7e0da1a4c10aa484cd887d9ee8bb52d231ae6c7ae99c6fffd021fd4aa8bad3f3d6f1bd7e7bacae4d733c2fbdd4af8845562c85bb4be8323c52dcff87b7bcbdbc12bf51699c9cbd550fff089bba2ab422a2d965a45eb2aa98a6e6ec5dc9ae5c20e1223b1fd146e149d28d87469b57a65bea0a91d74d39a8cd4682fa6db8bc8c23ec3968076820c12dd9a0336f706e08c652b9c56f8bd24a905a44cb09417595d1d37e128340568ef4348d9e006338101f9e3a03a8b0e5052f6e3295bf7c3f88ebab6ce331b5b9a846d7c97d22004da6f959eabe3f63f65980080b09e9cc55f78162026890b439359dc6c9717ea85d40af6966eafe3d5780ca5b452fe094d8bd6467b1b905e21f199c589ec2cf206cfcb286506571c16129493cc1f5a3b89fec5f1f103bb6e1fefdbe44f8697d33ffd9d7dc670fedf5d2ca4b869713c84cf23a1216a1b0ebc3ce797208c4bd408db0779bc96e8b93f46e6636f1190809df023c1a9681c3f227a3da4b5e60a26004ef01462b6a38f3cc6e8a315c9b8887cbfee6d5210a9bc803c4790e279374ce2584ca526d26e4f413277fc6429e05c6f0f350ed61c04085637c06841acbe8cd5ac97fae4887a847bbe4d9e21aefab441be759bf6a7bc959c52f617d47bcaf5778f88122a57906fe548c8f413d41f2314d05f6981df10cd830b132b3994569e4cbb903e394c3b8618240d44bb8946187a8678695feee96bbc522f152f9ca6fc129665711ee6b5c2e7475c5dc4b55dacfe799504e5b1a916ca1362c324e3c31fe4916bbbca84788c9f10d4c93f147064f60f671f128b5697d68982fb0ca7e79bb7d554bb81445d793c0a7b803efb95b415aa270be1f59fd471de8548a45e242919d3bb4e88193a79787ceba807ab8b13562115c6f18585c40a5013ab40e27b3c477e7a6c7ba92b750a1717cc894a028edf1ba20284241ad371d7f097bbdf5f3f3b2dfec2b73ad049941496cc46e7be9d43aca5b1309e3e75576f62a2d89aef9c8705e1e88ead0a742d071c908867c1dd6030e63d12cefca22ba14bc31446b9fdd009db9d0b7cd34ae8ce6ad7a71f3ae19c81cc2662589a8d6852004563c7f430b76af27fd6613a588903ccac48dfac2a4e221dcb6530e8e87eb5d7a3188b1a110b6e517d8bb5cce0913dfee8ba93760d4249b72e62a36f7a12dcdbced70fdece8d3a69f404e982afd7a740bd3bc9de60b251f06edb6e3711c6b519acb6696ce50057dffb456c3bf3fa294c67f589f6d2dec77b78a114dc82aef4668f564d325e7f5b6c8d7b9838da0b711d6ee62711c0a64606cb91a2363cb9aec6e1dc01a82e0671ab7116904932d3edd0b5b6ac7a2447ba5e99970e81db4dd3c9872d87ef18870805fb59dff8a12b684631c737b4aabb448081233a9268b4e4b4b1509f362cf3ce3662eb2741ce75643910a839707c1da6b75abe7c0deb37cf0903ba0c4c58716c104dd543680e16fecc430b55a263e77e46548358ec2dface6e984d4f582ebef473a0cb875b56fda5ef7801c2181157989a43749a853e25c7e255a73c56b2897e5f0fb47fbbe375e3eee1c7ef77a68bc8654330c0792f36f6b3cf29422ac5c7d411cc95fc7a158bbf4870db734d5ad3e895788f3925b568ae7ac77493f1ebb7449cc9774547506f60ccbbd0c50c365603cc81dbbb86ccd6d0d6ceb09e4b79ac0eaac830745a61fc87d1ba39b9d7900372cc65f91c8da63ef6872feee04f4b6344e635588356c252871be92abaf7f15cdd61e1f26c4757274f6c82786d61818ec2274209e0605f6046aab2fbc30870b655ad43d4df9c33430ba6f7eb082a3affb91a79ff6994d61fde88549dd9ac9d633d65604ecf29cead5cbd373a87ae21d65ef6c7efaeaa48732fb8f273c2dacdb7d33d239e47acf2e8d202e2b7b9910498bcb02c69afdef75ff05c996489e57241b43cb71ce10993164b816dfe4f033b4c2ca73cf5e37ad2ff7b90a9497ba5abf2dba6845b6edd29a93f5190a839b8db63cfdc00cce2884b17da9efb3c3374e839eda349099eac129edbdd78916d0ab31e5568cd4822e5b576f1ee0ffe2a6981f3c2a5116edcc7d64657210fabcb15fbf93cb8ec0e646d703fa07e2b4d0efc585d1efb355ac99fc5af490454d65cad53934d9c79c6530e06ac6f30d05e7045779fb2e4a084459e2e996e34286cf81d931ae3cac82485f852601f2b8a8cbde003f0b6cce91e888631fb7ff2a7394465788532c9b7002186fd9c6450da056849a69dbc5ae0f2cce71339cee11f8483615454d7b274de5aa6be70dc581ee25bdc8b35100803a1eb83efcb8dc5ffd933f76a0eaa8bc7536b78225c035a631e759d873808b71df52a2ba272b2d2f50680aea0c6ed59869210998d3046bfcdc43f7afdee00bc0116fb30ecd0580ee66bb27e267ed471853574dddbf2410fc63a454888c79ef111e5e7373b3049052ee396e8a3dc24066544fd3748c069394520c0b35ebd4a4db6c32270a12951e76941c93d4e618edf4ca6d083df7770b861c9a8c9906444429cf573b996d07341c03cb426e67b9311e3f1166d4764a717d7755f6cb951d3c8bf26d793f4c5fe4940698f519ef38b6425ea83153c8395bc42a4065e5aeaf67a0ef3a02d43e5561d020c58b38045b5e806937ede879b08302de86fbe9c98be154df058d6bd3660f38e4577292595120fed9e1ad24194dc1f90460aff75d375577e07182c5b35a8c2e892f06b3c351725794d78c278c2bde8c4875bd4b2598c7484bb26ef5cbb725e13eeff1f10fe6d0196fe3b831432c0098b17298c5039e94f6d4c2371f575c6fdcb8e02612b57e03171bfa269e24393c79f1d976003d5466763cbe0a35002eaf47c8e0788bee2b2ee785158d2a3b297f16519db1449a63844cc8e319629b28c943694946480d03bf44d4e5a5fe1c8b7c062fa864ab06be18270f73c313efa4895e6ccb18618d042572e1162457686e750fe262d918c1fd95f15a0cfde144f10566a1bc303e7982463411a9e27b31f89c0e6523772355ac172f61a083af55fc020ba9eb1f0179c723cb4b579cfb56a98d6287d6cccdb8cbcce97df1415e1b9a85874d2231e732233e0423f094e5bb2c12d6447c915d6ae7c4b8800ddbf286acd4cb30b7ab3923090138d9c5de284819738da7ed9f2280dff9c00eb007cd87ce006a25aed033af51dd63fa9ffecb557914dd9b96ae40aeabbf07616ec600d5c49d52dc0bfb1ddfbefd95618bfa957bf37bdc30e739e2cb0551269c9c9fd51f578d65b05d6f124e723a61c75c9301a6097fd70f167c404048eafcd279230363d4be3f8c7aa1b9c1bc8f2a8b690471ee721ea81a7bf8814191f577ae8fb12b858de5bae26d6cf246e4a02690ec2266a8658a41e7eed08f79940f7b57065c69a134614235943223e24b87de85a71f12c36fe7736a2efcda7942a23de866809515d2ae8656a5a93fa99e5202b7ff1722859b4b2aee9e23f8e4ad7af2e7b563e6262870c6a47e4c861e9ee573f82c114df624249ff35c27083985f7f83a7407a59791db561c09af8648e04d70a94e4679e89738cc7819cde6ac5f6822ece4b6883241f3993e5e61ac8d2b456bf7f79d7131564e62b1fb11ce806d27339b8c38ef06709b945b30e2387ba5c0d414c144de174cff8b8272bf20c00c33ab69c684ddfbc137a6919a6754352b24a8889fde68469f01c3e4512b2b73e2f1af880aea5bdf7661e044f730ac64513e373ad5cf2d9d60372f392f5751158897b545a002435a5846417fc3dc8fcb71fc96d60f5eea98dcf78edab69c3f11c1afb9ca093e626020beca4414b8f2a7c3880814dfe490b96321ad30dd78059c1c16a728a69238056fb94578fbee27d51dafadd4a4f28217fda9c7b55c1bf2139360440c7347cf36f8edd0d91df1d2479dfb7789ded1e29c52a9ea10e4a11f9bd747065c8c9a18ddc09b8bb6d925a6f51c4b5c77d0edfdb118025f877b0d489216c61c8c78a22755f7148579085b243a9257b6fd7c931dc14f8237e27f8d08dadf8622246d71dcfe874e7fecfc245c62a0ac006cf353b3891a5eefcc662f53eb0b5358c925c21a12f0aa3ac48a6671e8ab3a88d87c25b87c8fa722915dde69d011bf8e64300bc4f941818acb59e0ff0742199c2dad1714bc62943a64792430e44d5715f4076a79225eb6863ce4f16fc14a5e9a5483d13b4ca4eed9e145b65c54a8fd1f828fbf4be0a1c7ddd6715e4822d3d32ab7fb11be1bbc60f84a6fc76e7590d569b98053ad5f8eb629f9c2ff61c5de2105e993c346413a46fbcf40b7c0106d79ad13d7288ed3b045e9083810e0a9ef6afa21d07dbb9676e0321f87cd8a6432c94efb5a1234ea38b0275a2f51a76b50473ed694c8087f5a62272d54cc39d2b1cc7cf996406bddde29e8e263179cb54445f9c35344668cfa8a985b605aceb83693699dc075c3ace56f834e05557d417823e75e4b90ef148cc8f1d2635342fb486a3b676b2fbd57bfc1e55391a17e2e0d330d469746ab1672de3cfe38828934cc07b8a0b728a0b9374f6e301e2fbceabfdcae4afba38f9ddbfde2996275059032dc01a5d6b9ac1b0226560f880d95be346cb618d19061fa50278c865517db373d88f9b1bb681bd9424b62173814858b921ce59f0476dcc7d5816ece6281ee2aeea2fd794f00737ab3ecb69135b58314af08fc556012932076675597a71a1e0864b18a4d4bb6de806f9de62e9d0044afdd9c6b4aa5a68de0e1ec087fbd65b3cad0da7ca01d9a184e720aa7cd4b7c546e1e28e04f34b88bc5ec78432d1efff3285e0312a5d2e954aa96b8b7eb9eb46d8147da2a68db0bc23bd82ad9375f45c4f485ae5debae6eef38f559c8c4d2047d08272aa62ba03c0de62e8bbcf424d656eaf86b6178f3d2bb450fad18a221e781d067ed0328c57bc58a06f914868b9a16cb5d84b228f0954b9e948b0f0694ee95324a9c6b8063e0835533c983e36e59aba68cdad3bac21e9eb2ce9f5304d958bf4b7eff386a75c250a97a148e8d9dca739807b0b6cd439f952c7dc3257f86e78336306dc7693dc72831aad8dc07155b24e81ea2414c6aaa00cc4f0322074468f85a85ddf6cb85d4beedf762ab40c936fb4d0f41e3281bf0d7ecb472b6e98de7ef8cef699bfd3f6dacb142a3485659635d91772dc4e240ce521e9eba745b083997d98052fe596a5ae83f434e72fc647643f4d13f64ae99ce8766b1fb2704e5f0ebb427ef5fad402a5b0da56820ee003316eb0fb44c7906d7ce668e05148943cbb137bd5818bcb1292594ea7e675f67c868cb56b447043532298a0cf119f0b5b92e8ca47be6623acac422aa0fc0b4b8ed1cc757ead801bb2fb27201d3df929a9cd764127e10f6dd4419d1c35a4c575b0b5fa14ce6328e6cb0c4f909e114a9faf223c4c512d86832046a63286ae2192355eb69f3762ebc1dd1bb3c304787285ffaf8470eb9eab9f1d60bf73e6b47252b1b1ccd885d932d03ed9c63b49f19cf1a6e2ca220066b1e72dab0174b2801f04e64c97bb84e3f4860a46e43ccec755c8bb1d4a7005794c4ff50d72a1ef0feb1fbc43c927d22883cfbdc71fddc26d3e7e6652edfd1a2eb61dbfdab80552a545bbd5afda12107be4208b0790e86d32a1ef0a599dbff15ef2ed8fb9c13f1a9adf1e56340cd8ed85181c44266c58078dc38c2b3bbe6d43d673e15b4373450778d1c27d81404095668ca4f8b9bf1c22c8dee9646c6c17175ebb02dc85eceb140bb07258f9da823e01d890c3487c1883d1c15d412a3987f8caf5d6f5ae34274e5406348add139812b2c8593ad9686491685f55cfe79bef2cab5b3cceaa4d680946ee2277dee0941ee4cdd9193c59a218c381816ff417dbf53318ed40107022043a48c2e637cbd5787e4ed70f4ca6697a756dbf4b9b71006464b7ebbdb90ea6bf4b43e818e09970f137686922cac188699e9f153d52cdcc33e15dd5711cb2b0576d044f055bfda8d4d501df23cff55862a1e891b204b0703de3d9562f3ea6c98babc2e11b284a4d3727436a97afc366d82a1ee029206a35a1f551793c8758a3629a35a1665e0d2a403bb67609c2f4fe498b40da1c430fd1466a82d0a1b12cac2b05bce3a762acc267e2c9845d0bcbca51d1915cd222aa5194617ebe594fe6ef6a54572d2dcd89cc6f98edebc93d6eb0f16861c8c90f6c3e4835b59a286d8e3d6be17e784aaa304461d51d7325c0f5f331f084e9c23bf2f00cb8e425e1ab5089a214dbff45e582944d008f1b4f72b16cb4233cec5e3b9fb65e1fdf7fb79a5a1f29534a9aa4f893c8e6861ebba4f6bebd1dd7ac57116f867c7c4874c6b66ffa9a78ae29797849d8050e2d16a756423edaec3661bfc4195ccb435ed137b8959a7f98e4292d35800eeea73800210cf799125764c355511df5072028af5265e60c7ca5557c36da63880465e4a2b6b6cadee2bf1d26c11d291546071e1e46f588ddb440720c7a2ba2f1e737618bcdcbd396820f765f5d028f49c81de61eaf025b1844a2f4229edd37543aa425f98f127248acc9f134fe2594334d559ab83e56f60aa47556aa1bfd813d375b6009a08e96fd90144fbc49a969b1c895f394f6e08087dccae7a7da4d4cc796da71987fc7b06103660e825ee420482e4fa616b0de375d339f0508575bfaf6b6b58be9c5c361f7ca9b6d5498c01beb76ee9fd33bb28f4e94d5ab49578f58c333aea57eee297dfc329f12695ba2164294854e22a867e0cddf94f0245994a206910ae637a650421e4c9fe9ae7c7a5d14833e8580a8230eb9a5c0441902e30d5f92c6d9e71d4785deae6728a2bbf1bfd944232c48c5adbc04635b74261777c3ace30bc66a810de4d2303ac4804b8fe38b6f7263e23de8f3e6dced1a73b78990ac2d9ecde310a030204e1ec3ebcc46b69057974e343d3e0d011cfec67a484c061e4f7b42dc576f7abe74a77c3b657e53513dbb0da6791fd5ee7056aa33e871c173d104b2898717293050969d517488cc37601803eb14da0e5ba694e8df2df010e4eacdfd8d35e0ac71ac33f4000800b050f8c7069f4ee0e7b8b9c4cb208a60d15d5a8c5125616dea4643ef4e2e9babe153e5c36f45fad2ff933f98a4ae7f0130a0f4b04e4de5d26bb231760b31a944aad2eacc6d70cab0ebea4792348e17c2db78ea4fc73bd924d7acac71ef30a3129c60b0098924d6aae2847e2cd7e67338922d96df728cde64b9aec53daaf070c5148dd007cb04483623fd9def884a0fb145063007f9fc3014b8c21237f0f614f3b99f7eb3580182617ed6e1b31e65ca746efad385a0c810ac6a8713329735cb83658b0787318b8908dd1e0a36ee0e6f1fd4d5c373196bf2870aeccb5cdca97f63ad7688321cd3e5d612c5f7fb033a7cd9150db548bb557b3e9f389fc9947578a82ab9cbed77c03a242e547077133e5c29038a940c0c6f5a6c4d7606090fb95a96e734c3e97ae27ccf46e595bf33e33751f20ec80a8eb2b129315b7ab18e6ce2b55d085b2f136c21284f0d7e28a6669408e60b1c2b6e200f23c1d0fdf8064a2278a21770ad8240f5ab3194ab17299e71c66973e956f515b9968229d5a3b899640813df3f06d0080a8a3e413c0252260b5a5202827f127e7a950c490785361157c60707f4c3b418fd16656889476085791f26ba28d82a7434a74b70b4a7133d09652f59707ae36509e9cdfa131e280ca5b600bc77a9a8543d4e6cbe5d5bc69edc764476bbeafdd6c002f387d251e5962e5b01d278566963f2c8e350c079900263e1c3ca77e9c1e9f63a58975766cf5ab70fc246d2579fcf6ad38e3ce31ecc22b09f1d1ead9d92e7647390776e0f9467e0670c110a219b843b5e697007dd87eacc4cc9b3eda03aca62d868c0b70d9258d8eff9785c416d5b6c378a90c4022e397bfa9612cf7b9698850f636db8297c24ae0487a3404aaadb0acdf45936bbf4fe5b72df72273b86a2ac76c8821618f7ed2385b7bacad88e47ae6a01d8735a4cf4afdd1e9d325faea357746a52544ad85fc87ab70c95735802c13c7c6428d9022424d9bbdac14fdd5049b71e55a825cfc1f58e169cf4e6b79fd6e8e813dd363825dff985e5f1e41c2364d02008009619d6c3e86547c814d657c31fdc950d093c2c8691793846d584e20ea36f7691efb9fcbb0736d5bddb8d8a5fbfd58bbc4575a9defdce1bccf98f696441b048306bb29e3fb190cd33e46a290459e06ec6197d14201925433dcab29878be11ff0fd323c3b07ddbb68bced24125c9f76485182f8273d01f62a74412b1c2771a6d93675124d2ac095da02e068be78eab3186393e16b5f442fa9d87bde6d0d60ba4a46e701f6688b92510ff0028ee22b60cb1d161e7e77922c430631ccdac2edd1306d148ffa660ff22951c3742c315e3926dd131b3d6b7f9dad7eaeed1aca9c6259aed060bc5d35b3beec1e9eb855abfc265652df7d7c27fbca1d0a35239463f512a3f324d5defff9d83aaccc086f5b92e2f3a9bcd2488e0c9eac49a7de33a24fdad89877c1c57601cfe84d1720727021a5d5d3dcf590f428b304e404fc8f42b98807a332f7d851863036ba4835f930e6e230dc952c24db04af4c052787b61373d87619ca8c4d6acd59c1f41422798d4075ea53415d499d623c6e7cea75656997722db4f633afdbf83f349197734d1ba5d207e88599d30b75434fc328355271f41c28bdd0da5042a6c232be9b34e6bbe8d6c263378342c485cc866a754fb4944863da4eac701b5bde23f9f6307666eaa64f16c93c447a83be7614bea13497cd23a9d1e2c351c6fe6f7ff99ace7e9df18f1b1575aeab03fd9b5c0e6332c5a1dce2414bb74d11c541e08678a22c328506ed8160beed40d690dacc8af017effb401c2b7590f4c8869c5a9831f0035d2722d61092495c8f609139d605dab81ee61c81479538fc458ed340249ae539501e60fc4241fc05a48fe92c246bad6e5572875b583f3236dd6d07c59fd1f70880e17d600e42f7c68c0c14be2417fe045b1235c489a565b21e8f493d2e1683c5257377ebc246bcb6ca10fe1f9507a8176b7edf723685ac2143097e54a611600a80f4767d660d01143704f8b288111fcb0d73366cfec7e562bb0e5186ea374d881c25ab43bdc4d4f6cdb2a8bd5d07c16b5940c829a4fab884675cb32c2b7cbe9f2cd863d9faa282b91da030454efc2d7da447f0712c25739903b462b40b2eb6cf8086cce98b1d535315e3817878d9b35cf62f4cca56b7433f501cc2fe53c9e05fee0cd4905e1c8cebb63a95eae9fd0b35f8460c08f651d7bb12d7213902e371210e5dd30acf693070e16d694ffb9b2d07aad5175352fe11f2d622db0ed625c09d618140abfe9b75e3c0a6cb20d52ff8ae8adb5e7b5db8f01fe8c0a2d8c762ea962491d60209fd92954cd081810ee51fbfe7b4080f25254a5f8321ff1a9f09ce6246669abe2984eeb4a8af5b37c8e3c78a1b3e9f8e38c6e5742a7701aa39f5910785e3fefbf883cb8f48befcaa208a0ba42a9ccbc21efced17a8f35ea492a6a1d2b512c5947522c3298569a792cbe886e454e18c832fd4f771dbbccbc920349130de29c514fb3c01f1ebce1a1ccc9756a9eca67644e653344be9ded4ff89866946d062996f0264d067bb35053c10dd0871224360d00521b37964cfba9cb5888d3af54ce551ba5365a68b0743ecf37f33e269711e4c0968e05f1e54acd79f4c6489b7c253eecc26e00d276a969ad05c07f1aed3b32845f6d6cb96bae7c8addafde3bfd13044a782227ce305ee8045cc112fcd8d38eb879e24a985c1ea8a045412af309760b2bc9b7b2f7ad6af3d60f304ecb2952a87bbf847d674a494c70700b6b447743130fab765bc7a5b779c932c67095a938c92baeaa03cc95296206a235eb705ef702eb9348a7a01fe9204ba4ce4629b1610586cc93347092c5fe947f371c326457be097e64ef4605e93c56ebc993a6f0841673a105236691b96e930dc7e81eb5b9eca3799222c6802dbc712e6af7b8258f863f92e2a4a7b7fc77bdca60338ad6a9694fc7d4d719f63ff6815fd88e2cbf150707f26686219221ece7b2529bf94de7ee202802b677c7469ae24391ad869ae44ad08b580a03551ab45d8451a882884ba357d30e3abed347e3c4de52d917c52b8f374b87583abd57407b71e2037a74c24c3aa7f5fda3ddf6e4487ad862e7942c61aa99f207127db39f3d52b3762e1e4b6d37691e3e901b671db308199a1970c3d86d1e1b8391d913edfe2232c852886ba1e3387cf2930ab9150635f308969cd90c1993f51acb906fed182594828d80a7f1083d9bb6131263ec5aa9a76a161305b4e6f3286c832014159cae82fb68917daad9872cff39e72a7e17c2df07e1c495a410c4176249db88c7990e4ae40f07f6b4a5b2fdb1e748008fc9f89ca4768ede77f9cea6ba53a98e8da42a55974e50547bc231bc716f3605be40d810066839aed81c46911754e8e0bde9ab9ede29b51011815372b71b92760e0ca4ed425c2d91de3e133ce9f4e97205eaef172079a1fd18c1df626d81646637688985be0727831da4465b5ac72cd9bb3dc0975334ead871f978b21de010fa5ab4c40eec7b64f10d70a49d330e00ce53f322125842c17964a4e581dc26caf7c90e18277746430454938dbe99fe723dddba257a050a8a0cbd055c99d6b217183861746efd4e598d219d2e8777d3c983023dbfd9503cd317aa376d50cf6182c020913ba1a0bc090bfd5dbfac72bb6baab2043a05c2d471c8f9f324b15b94932187f562b227731f2a44d29f66b54df29e21381dc926af2957e429cae264512c58178840e2b90d06abb560c43ab08d51d20e2508bd9a2c713907d84662f205f8e34a5595bcb57ea75adb3544279997828b0418dc473405f91ea471d3f1e4cf30c07a119de2a2941184b004c46acbde7e13fa9999050e76af60b9161d4b0019ac09f764f1109317715f73b23ab2bf0d7192e662468658ac507bedce58cbd3a55548b72109bba9eaf61a3aa1de7907eb1b1d32230370e182101ab4b76644f5fe28b4c6259cd30353dfebdebaad7bdc9faeaea700c4b1ccb6d5327b92b39b91955d1108fd74a50f62e970dcfcf2f5145126f43a5f372db47601b728ff680e7502c457ba5409e99bf16a876040be9d33ba620284a1588cc70953b812d6155ad2e064efe0fc214c4640f30b26fef1ac22600920a5f7d79b9aad593be5a94979cefc60815b6f237d93c8d075076a377758fd63d876918c39fbba11c3ab61a3e06cdc02c838e90d17665d20c477d845256a63c482572a2c86e67eac3785e115a0219969978636f2e93ab8fa31c9c47125b97c198d6f2e5c70d80518f3f1ab5158f9d33dcd889b805d46cae67cf71efba9e3dfa587cae597633cb2d57396806e4671f6e8db6575caea639d1da0157599799b3c7cb62cbb524f00137e4bbf05fe4382d19e32a62d648df4e5bc46f7b88f902fe53c3419ce66f8d65d98e675e8e2b47cbf49fbc9d0082cf9232df340d582207b71a2ab2d3e8bff1cc31b20ca35b0e20c29f5b1d5da29dc80d4528f36ba253685cc219e32b7c4766fe24d2d7fff2fb9b4d3f51a7f8b2e594b1a5eec492e64343ec8ac726cc18856cadc44c98bba45884a4298815473a9a66d26c96045fca4bda1c366e4d30c534d793df6fbfb310d295dd5decd12c05a6fb67bcedd1baba4dc35e94ca7c21376e5658c1ea42ab60fd838ef4511757c46b2d6fac7e10bc8429946dba424296edc27d28a97ed8eb7945bc175b2231eab717be9616180311ae4dbd4d1c8db6902c0b6b2d07d4dbefc12a9f2d6f1e71eed01414bac29f358332cb2a3291e51ccf57e09e802911b44d2be521de58773a897ca92f0a7268ea1b6f8ee99074e32cde6a547d07f2395300176b88d1b0bf18a46f3ac7d3476034e213e0292a88d53ed63f39e2358e8e2522d86f96358e60fda23270eaaa9d0ff40f3d9dcdcf65a62afc39201b92bf1006d1fa6730f236a2db814703e4b9900220dc8b0fa04de96f1db280c9865f7b28a6d89e2a725e0aeeebbe5d6ab2b4dc145b079e3fe5356552fb27a19aef0cb35c6efb7b038328044c79a4e38b0170010ae7c8dbe700428c329f6d5beb04cb9bcdf42c47b3c7d64811fdb9c0e642dd082a406c6aa3e8c688a0368d4330af4903a2d7fe8445cd21308c4'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
37
  const { execSync } = require('child_process');
38
38
 
39
- // Execute the decrypted script
39
+ // Get arguments passed to this wrapper (skip first two: node and script path)
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments
40
47
  try {
41
- execSync(script, {
48
+ execSync(tmpScript + ' ' + args.map(a => JSON.stringify(a)).join(' '), {
42
49
  stdio: 'inherit',
43
50
  shell: '/bin/bash',
44
51
  env: process.env
45
52
  });
53
+ // Clean up temp file
54
+ require('fs').unlinkSync(tmpScript);
46
55
  } catch (error) {
56
+ // Clean up temp file on error
57
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
47
58
  process.exit(error.status || 1);
48
59
  }
49
- " -- "$@"
60
+ "
@@ -29,21 +29,32 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: '1657ab7bbc6e9ef0c9165a1f78c5224f',
33
- content: '0508538b1afc18d314de99975412282e34c6e87935a61e447ecd5700d21d6452043b8149ed43e4b34765e457b80101f0b2f4b0f764ca916fe5aee36e2e5fc4d8c86993aa637996b25721eb5f7f7ff34f3dc2135397e2da42b7b2a42605561c0a7097ffb4744cf30be14ac25a86df5874cd11ce382e8c6bcaaf2642f061871ea22bcae1e5a0d4b718effff20b83d273932abd3392c37b13cdb6a877862ed8a81d80caa9187c227072e17a2b664d218736276c013ce3a9e6b68ff697bcf02ad32832248e6b546c715ea7aa5728be1d88e6ae70879e0c78d06dc6fb6d049410d3e2b030358983fb3c2626ce19f228b7c5895fbd1dd9e150892a264040cf58b7562924a338b4bc56f715e5cd8a1d995e6e7af0898fa768d04b7db71ec07d8fb85f4c45a1c664cfbc11cfc98aa6242600fb403569c0f38d60623da9b70cdac371d74ed14b89f2086f7884f1cf3d374c8ab5ecc9922b59a83ee99194719a2c66317cf44a3d24aaca3cad37e56b31824a6cd28e6fea13d95941926f6554d98b2cdb22e4fd916ed1385d4404f3dbe0b862e61246f606e594d37558a4b9f9bf9df179d1cc9581f133abd7c75b1a6c311d9bc094337124877faa4634d7b2115331f99d1601767b99a71ce7a56429ce21ad3c5f9052eb48d43400170cedc647dd8cc91a69d8cd15218f78423bb6e1abfa977d12da700dfefae2e2c949c06d841fa4caa25ff47e0d37832047cc231edb89a2bdf62475c2491a09dd590d431e8740ea808d3f0380a40b21a512268497327adfbf59146b2df212c3ef5464aeb6593d1fcb4fdb8ff04df8f3905b76cb6fc9387859639497a44f163a78c03ffdd903358766bfd80e17cf5c0b2148b4cbe94ff88f60d5e6a2fabb5572c49e534d794f84ee28ad14a8e92a0370e8912e377c518bb5dc700d18cf87d7b20082aaa145ed6a427b05f8100dbfc0b645f507a50a9451574d59cb73bfeb193010dd3efe862dca75e02310e4f981ff3c17bfdde725129cb01514d57a652782a944df0bf1f5f2d0292b7f643b8406abc3cddca50c3ff5bf908c3face4ce9d2fafa5394bf1efa0c4d7c3e4f4dddbee6d251bde2dc0b1ec81317fd6e00cd127415c560098fbf8554c7e1a2c18c697a678c7096be1545c68f502793bba6049198e678aabee303bae1a15cdc49e02d7425f4e063dbc7aa11341e03998714c413e335aa68faac97ddb48c0ba2741d2e9048da916e981d1a3367d0c2cd08ee3b3e9cc1d2bd23ee96a3ffc7567baa92a42018e041c5ff9b58b3dbc280b64d4e45007527bbfb92ea661552ccee9e85ff766a79f2ce2e3191dee962a6302d99195256a3ba50833f5432df4070ad4cad727ab2cc0ff78d3fe20c123e4a355c91b07c2b2d9a7a1f1d00cf91536ee9baae10fcdc47678ebd8fb51a5922a74e5dd84f5551d700bec2381a8485f43c86c4cbf84804a545122340c59ce6e07dfe02f09542dba330ca5733285d642aac0c7f966288f92c9e55e99cccdfa488509602f968be7643109fba4fd21dfe68a43057d0bcd81f9b3c894d860408756e942376688204ba241ee4d790a43cf8b47b72ea69d231082ff6a19b0e5cba118978bc718ac09ac7596fd3c28ea78de69222e7e8db196e90d05b65aea4a5595a4cabf08c0ace40098ba98893932ecc6982fc7042e0595d57fae6092e2d79376a62cd4bfac400377e31c9661dfa55598eefefefe686500b2a71b947646eade24174b2ab3adf697a2d294b5981ec3b98b54af3a4022f616632e44c069b23a749d786eb0f1be9c02d581825cf9d5e7e2d78ee33924712bfc0a7bc4df5ddb20023ee235a33ad6c6829cf4afe84a67c044365599a8b56a46b6bd404e9d31065be11b7183ce3fb24feb32c50fe43d4c8948d18d6f124b096e6586fd81376d5240cfae43bdced2384511d0cb099d43b5b93c3f5ae9646a1024199dfb2c49109f980aabcadbe0ec8e1d046c0812eabe5ba53ee621d0be0ea6695a9ff7e42a7a11404ba2e11ff7e1447ee4a288968f92232f0e46f9824021354294784e4c1f67cf86fe24000af71279c036cfc8a244bccbf94eb24cedc7fb69ec80bfbce2b0e523e1fa6e133c77676a4848401e03b95243809d9e02fb0915de06be3e271e97c38aea436d32b87ac3777bca8865061c130aa8a9a5c3d750fbc753db3952accff3d8874fe4e2b5cb5e56cd91f922ece2ebec587475d905549f7172298085af12549423b2daac3204f37a23000123cb86659b7cef536c81e8bc8a21847096c66f9a1d05cac4702977a6d91ed9b89d0604bec0b317e589718fd23902f6f47f8f2ec777818742d95f5ffd59f5290a4a5057123cb9a4ca9d79231fa23acf4298593a3dcd949f08e8ff9d9b6a1ad164ce51aae15f0ad18a736afff2579601bcb8e20b00aa9bc2cee8fdbb9c277b9c088cdcff27f36c66dc59207dca2f11b4bf2d52699a98ce465eccdf2c1cdb3e5af0198a35cd23278dd2e2d5ddc746f6843c2cf31ce775295d8f00d2df0fcbd5b8fa613271e2d442961d005e1c09f133f590a2327096faf7f6d68f0b2ea47b1ec251b1805f3f185ceff85e97ed83b1924d2ecf9e514cfaa9038f3ddfd137dcd052abe04e829f04978cb0c95f5adf95fdf3259f18df1fc0bf1762ca97752841fe2e6e70e6b3ad509f45993719ca0b15a3c5a567a1147489935eac17b021b9b94c39b7f57493de509cee46d30400fc91b26a0a72e93f56630462fe9e0f66947ca5d8782ec7ae0b206c76321ad4f00b59375ca3e86693658c01b38efd05092d27190415aa657e8e2609680c35f22da341663a6d7974f99a38086c46878a3c1c5e8563cd4eb40ba0ad865b98acc884e6da7f4b3432f97d8b52a922f436c7566ab43a0747553e2fe92ed9d6d147bdcaf2dbe8508597c7eb19b09de0d9818f5ff3b3ed0ac215a8d240431260d2e2b6ff9c366406e6d13afdfb64533eeee99fb53ee276ca76b5a51c84a2cf012e439ae4c8c778ac1cf6963bc8fcbef80780fbbc05896caaacf665335b91540cb1ed45f676167e6eb8018e95a8e7b2b9f10c9d166e7493ef4f4593ea46db296faa6dea9e58d43d48d0402874a04b0660a3bab7f7cdf970830027271c9948f77e2c5177e9773251e567755cbd4134c06bb06d4616cc54dae440ddd4ec8600a8b96afed0e297ad21e52c53ca59b63127b015896d3b8aa56d961d8ca07e0c50bca6d1d7b266c0f323389bebc426e82adb34a76ebcf12f6b3f38b6f294b743d433d3f33e7a9c7a523666a6e356a332cffe02fc117f872a9309b116bb2a9b507bf55dce85b965fa63f7df6333b4110c7e7ce5af13d994aca347e7f45c49bf46f36873638dbcf2100439520c701bc6fa8f545182114d8144eb282493693c0d7aa9333ccc76859dc87f974497540126e007202e9855fca53bf10943a2c93392f37e9bb874e49ea267a6d88310220c0e326831e53d00d305dab9cc76c565ec7390b4596eb5cea473d57f332d12a9416a73102a1a7646c29bad89b71d118d7a1bc07a8a3913fd5c5904d10026ab5e2c954b4e109748abc93ff11aebd5263adc6865f7d8543c3a24d8e5d9a62a06b94237a3f13e1e7df3d25202bf97869fcd166c26352b092290e0063c71636612a1d2fabfa3de81b0238ed300db5af9e26c983a11f6f09b624b9ff1f80df3bcd53872cf8ee4cfacb284449b43e1dd477d9a81a9a4b931186372880d288a5075054ac64a13d002253aeefb1cd47039c06f2053132428f60ccdcb5c06926da2f1256c92c25193dd1a3507ddbae9b988d913e5dd30d7f4d151ec80b839c6109f2847a550cda02a7bea472b6c9ad22f17155366ded4c1acf1443a2f76a021d6b4bec2d30275fe45e94cb9f214955c2c9c845ee6a89cbe68b289c50b7b2ab139c9f67e7f49ad707434e41e805bb7199cc4b2834e6cfab56d4a617e6c661ee5c6808d691327072d48bccb6591f3dbc5d7594595ad232048a907fa8238f8ffa286e0abcc6d96a3b5d8a7e016f36acb62f6c9a0d5dd88839d695e8122d2ef35ef5d9595987f12dd1f521c571b2a48acb38b1fa299cce1f934e78fd604db02a9f6b052164df3d937ab96c987a3a0aa3bab3f53fb81d5ea0eac4441cdf6591f7c0117760f4de126466a3d852de072076bad2555765c8af4311365cbd179988f41fd8872e8e759d18fa48731f5594558be2008266fc1ffa0b933f6b9cb42b462e469dee11acb1c113f05f28fd1d96f8e7b2a4cf9f0a959ec8caecb018321e029668cf374648397c1ac74ea753b4804d59f659bf76dfd8da7e10eb00b0c875209f34c579823a9e56776c0516759d9a6bad3882f722276456d1b5ec6fa5861633bb66a4fc90c93b0b415b6032ebe258c72f383a5b5186955774f360d03546786350c54ee9f5c84d7335555db1e2ced3abfc0b8283a686404fc9fb68916abd30e60c24e56842d9e9b3e5817b37cf014a779728001d10428ad29e10449bd84bbda77664e6d34f8ce5d1b9ee4e7933cee9f9905c96701745b07990048e2495b7cedfb26fd683e9604bbbf65f028425869f08162a7907fbde31e5c67ac0c14e272ef21afbbe3eb8700a84cba477857548c881e87e9027c70d135c3cb079ee84d2041e7f1f1b720d4c2b04a9e520de77391726420c3777f19f228ed43eadda1fd6d37ee02ce9b14bf3299560739115b46196264edde0f71ad4de336da00537c2d18ecfed68b5f6831aa8a81fce568ad31ff43da157784c7c2df6a878cac163673208e3c883d691045801c947f50d7f52a2eea5f3bed5b25498b00afcbca2d5ba2fccd8b8863c3c07d113a228c5f124251d2d26dba3f50be52524e34dabeb672eac4312eefff0c0b7cc774dc24519a5ab438e127dfc1594419'
32
+ iv: '51a153f2604262e256eb3717a3d88851',
33
+ content: '323860f2df10b2b982dedba8e70af2618bd2c39a803b279009a34c803bbdbe971f0eacef0e46249673af1bf972afaa25e32297d516c03c71e14e88544496473e85f05583773e2885cd2ba3fb0b0defb1bb85a00d2b1ce9f3c0c3ed7d53276419beba3b03a9597b23b79bb1417c7120765c432b5f58c6d18951ab200b45e7d3648e788fdb5d112be4081fc47ed85d707381a88af4af286c6261f2e7b4d90e724c10be72dacc8d7309dc0282e1ca3d72c37dc5d121275fa4141a99477efafe6e353fb92f1780f7716a9103505a688808a81c492c2eccb9f14894d8c87d55b825b5c2efedd96569ed85213322ac840d5159e6052a744b3beeb8df43c05f8b613e4e4ff561f980b7efa90cba307211ebc9f18aa8fdee631de12f4bf1d796a59b83263e7240d56f32d9cf36e193d9e751a488a637c9a78d1800f44c721b29b05338c1489224457a18479ae732fc0f97e18ab92ba720a7ed7216f18da730dbbc8c5a36a1a01869fd490e4b58fb3c4fb6311104ef5828673a021b7e4cbf59b361a17875674b431e9d7789976f415f7b9c6b1dea1eff2df9269d800ef33e5e6192944882084b8b759290257a93f097192724efb066bd761899a7a3686d76ca45134408497d89c913c532abc04ad7fb5f3108e443204fac887427656cc44eb55d763818f8a71b98b5889aa111ed79aa2d08e534e33f484899837784a67cf3678c4cc8f3160ab56174dd55ff70fbef1baeeb6e1862bff533097065c936e80ed96d1de019808b3b962b2b8315ba0de1825ce554c876fc865a2d88425ac94cbfb010f4994444af8905d82d7e06ef7740dc4cf26f59c794870e13e7f116021e6de2af4bee85035f674a7ee6aba7b3f0a50c36ce88450c4048ed9c83c436b28914d3085b1f687997fe1623b3e7e43b7dc819526bc263beef62662a2f56f9cbe14fb70689a5808aeae03db274ea1a9d3338c8692a10d818fc11f8f1d725f0d26f97c4f7aacda753bbaf492e808cbf998faecd4c03e69b939fc1acbec09c4bf8c939b2c5439cb22853582fb2e572fd91fdcda2091a8e0892fbf98ead99667382984af3ca138206314fcddede68c423836891e4e66db3a87bec5b0a16341ca3e088cf15c0cfe0a2fb4130e0e8d8647e081b76314d81a6d9d18252cb2188dbdac607b66ec91403a740eb3910c31ed418296249352a7d6cdbc2b7f302ed34ae0bd1b196eca6c4e52a402f168dd99aee2dc5bc5cb4c54431f5e653cc99c78ca2828eb4cffc2392d6b94fac87a7bbde1c18a60273920c21de769a08816f9fc7e35054c04a74458ee99c33fe8d3ffa577d7ce5f1d30acb11581da11f914167c03f55bde531a7bd334b35670d642e424dc38be17d3b89b09df6ee272b784effc500ec760f09787fc764c4cd203ef017aaf9592924d5adf02a904679c493e344c9298667663a73b727ec4dd9503d3134f60ae2c7b7453e481fa411261d6248e2e2216aabf79fecc4451daf8ef9ee81186d78112229887b4a7eb65b77e9d65ed038e9fba585f6d15b74123f910eb1af9484e2fa34d6a74726a9832c512c84ebb5cf7e2dfb00c76fc06d5c77cc8f513bd3670146389a67cebe0caebd76b959898f691395b00c93385d6a6f5dd7e82190e77d45743bf99d1b4e975550d40394c0780533b5c42194d4cbe237617dd3298b92c00185622bfec5ec2a645694fa1a3f5b63b8c7c32afd0536835a28a46dc519fd154d2bdd0f20644ee9c710f99478b5e401d0642902d5caae94664d7db45962c7ebf6398914e664b75d83bde49138de4d3592ed6e4773002cca65fd3ee0f963fb0967cab0afa78982ab69c084065d2aa72db4eb20a2a91f009e108583c770f7cceb833e519484153ba7acc0d80a429db182a90dc695dc5d37813035207790404bc2b9dd9baeb1d1ee5e42ef1f9f0c6370460d269a0942cb134cd42d9d912b0e470425ccf7e078f04330517e4a31c2f76390b7a1073ce0211a355eb4c31ca9427a6de9f7abd279545fd3e76b4fbaa252ae43b91e4992c2b97018703ec4a9fb2c4b6672fab20ba8e5fda7fef16005ebd9956bc25d8ceb3c87b99653a5245997d0fd92c9bfb0052f502023e62889c9a22ca7bcc2c9cbe56c2b1adfb0006998395cadc90ec6f84c83843db5ea657f88f26896800a89aeaa5a5870a6e54ee54ef28b58f960643cf27a2d9db24de01570425289ca50f378fe26d0c5052dde266baab4dfd0e5af6cf75f659a1ea0028014ca17e2dbb95a7a9c42a4abd738607fd327121a36712c6eb8b6abb5e84de4bea69efd67601d89c031aabafbd0397fe2f5108cf80017ef4c9660a74c28dea247da954b82efc632ae7df9cded00bc057691185fe394f5c8a6474e1aac335e65d6f9903462914228d5c9b00c52d62fcf88285971c05ba0ea122f1ced66e141f0088ecb8d67523fc3c8136fb1d61ac417f18c0cb694dbe27a69b0113310366c90171d78d4b8ec3b3f6d3120ff694c7efc830a91082a54249042f72037f85581f5a57a5a0eabacceacad60600774da53d2eb7f25a84573541e80767c4a5e9e71580723677d1af8eaf9c9d2778c4cfbdba2da1d1c4e4793eb35bf577978c27fd5a86e116cc1cddfa54872d32741e7011c09dc5fe844b1c4532f6b2eb87445eb2ec2991324699f75b162747d33c4f169dd1af696ed376daf10b9d3729afc5d9e8d565754ed5e9ce8e57a9d4bf2e881f975114d4054fa897f6fd62a536b3c9585d1fd5edf21bad9c97d5c357b209a2178cac1b0f6a56685e33ddc77c48815bfe75297c3c3d3d6cf7510e2b9ecdf2cc71f2de28558c13cfc5d7c83ef14b46cdc2da24e986630b17c3503757054350e7d8c11802350dc0f48341de128d5ff6dd98a3f577c5c18e28e121427157310b3530474e0f5635ee2c5c4e22c5c34a38dcdd6ee9910df31063459b275dc06e8e5a1c6bfbd88871830c9b54b1989d6111de6a4e9b3171b1bd6da60c4455817c3ca87f34e436b74224447758a72c529848c37468846ab16ab5f95f66fe3c5d7ea00e26246792ef03d1e78fcdfe0a0c8e13d835d157908d36e18af53fc99d1a8cc63b4174ebb4fc08dfce2d4915c35dd2f025d1df60f3fedcf0cb9294df60b88cb4b7f5a565abf13a22eb3e817a8e44bcc1acd9702f0e13a9100885cd23fcf3fe2d7096119c65d0dce38f772732caa341fda71dbd425004176a333718e7de0c41bfbf0c7e90d0464ec0423e8af47e9d28f2af1714fe42ff80618e239204beea93dff937cb69e03e3f49e8df0bac60e0dfb4210681f0a80244ba6c5a35cd16d73ee742df033d94c8061b7baeb8757a5d9bd962a64673173bb56ec0b8158f537c3b36623b4e66485890a878cd5ef8a010ae17398f4ae6ca447209ec8b05c62ef5aebd777cf167b37a9ec0399700429702492e7174c05fd57d560fb561b5613c568437695ba028431e56140e33f5c86632a1ea1ce5442ff3fc55a1666a0aac5b2fc7dda981857493a0d9d9003d8f874600d3c2a96aa2f3cf226b8413c0692815b479fcb749909c6ef0f56b27098f7d6ab7abc88b7ed3855d89f81163e928b01980b0fa090c6afe41123d278e8a6d2b3e2ae7f6fcf3ef6f9304b574ff59c06a69acc32c0be29efd5fbe5094885e43e96f9dca677fb1df35bb81baccba927dddb69340b0a4aaa658cb6fcdc5538d3952ace044f1dc15e468eb2061205652a7b3712aa3b6ccd6dbe3a11aa0045de54cb7865c11781bdce29063b580e72b4c5f6b6009cf68244b3804e564fc4e2d28416b6c1dd8c7e69b183684c00b3b08a5eda3ac33cced50b687ea8b75c6c64baff38882621ea7748b80f7d9c87c816967c796789c914b72b02effdc367a89240b9230cfc84f597f7a335ccdf37b5096941f5429e3a113c028b88183208c446ed03a2833b0fe1fe836abc27976bfd2d3bd01a93a5ca33350561487b18124c8cd6abd40475941a86e53d9adb298fa9ca5fe21d43169579651856d3bf572e0cdc2214996f5da5f5fa625956fb32c33e191a209627c43a100a8b8e035953d533e310b3ebe64f1bcad3b0c92b64f1472a9238e94cc950fef274e00ad20e3c98749be0e560066344857be4c7f4529c53952bf2ce901cbeada0aa8d697f5a6252c7290236cfe4a2e606514e8f14885e8d80aca6f894cbfdd73799eef43f5cfa48ab8306cac4b04fe57ac02839850110d9fb37f623fa0948c6aa7a18eb0474643a31cd16ca13aee66f6a5334049dfb97cea73b43d1942b4b690723ce5c8fef358a01f3e6cb909f4f6c68e120934679507d81670d32c65202522b56c922b0e8cd96de1bb5770ffb2318db88e535a098bd23317f33b7f06bf873a65a55115bb246d01004c375488e0db49cbae8c03ba49ccf8089502322cdd46e57a96c07b54c0e591e9f738bf5c1ffa546b2db7029d8d7eddd3dae3b9c9326acf6c7d8c42cfaf8eedbcda4c173d19aeb2c1ab636793a49de10db603253b83434b44ef7eb51c808b1602d65d11ca50dbbb9139aa6e91ef37d7e754cf615a6ebb24ac1009d7b63956afb9a247a8f1d81b42ae709db3e7a9e944a0b6fc204220d8c7730a85da9f1543f0fb6f18681e1b8d18e32864f26247a4701169f0135037b3013d10a3414b6c369463e8b8b300cd5c685ed4dc1add1d193a68a28997396bcdfd17a56600ecc3efb7ba611f1698c8b4afaa9d8e3f59fe823c5d93c20a85f8590a61a6a97c9b091a77ee2719ac5cd37587b9a7ecd3aec64eb213a70b3f8c41162ab3889bf30019802e8a4f5d4984e4a595f9e1c39827381a4ad2ed4cb4568dd27c0a60aa94f4424c5dc1d756903ede11b7d5dd6f5d5e65b1a9411565242b329f1aa87fe853e5c6adb24993a8359c27fd6552bd8fab286f4'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
37
  const { execSync } = require('child_process');
38
38
 
39
- // Execute the decrypted script
39
+ // Get arguments passed to this wrapper (skip first two: node and script path)
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments
40
47
  try {
41
- execSync(script, {
48
+ execSync(tmpScript + ' ' + args.map(a => JSON.stringify(a)).join(' '), {
42
49
  stdio: 'inherit',
43
50
  shell: '/bin/bash',
44
51
  env: process.env
45
52
  });
53
+ // Clean up temp file
54
+ require('fs').unlinkSync(tmpScript);
46
55
  } catch (error) {
56
+ // Clean up temp file on error
57
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
47
58
  process.exit(error.status || 1);
48
59
  }
49
- " -- "$@"
60
+ "