devicely 2.0.9 → 2.0.11
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.
- package/bin/devicely.js +1 -1
- package/lib/androidDeviceDetection.js +1 -1
- package/lib/appMappings.js +1 -1
- package/lib/deviceDetection.js +1 -1
- package/lib/devices.js +1 -1
- package/lib/doctor.js +1 -1
- package/lib/executor.js +1 -1
- package/lib/frontend/static/js/main.96600727.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/server.js +1 -1
- package/package.json +1 -1
- package/scripts/shell/android_device_control.sh +30 -15
- package/scripts/shell/connect_android_usb_multi_final.sh +30 -15
- package/scripts/shell/connect_android_wireless.sh +30 -15
- package/scripts/shell/connect_android_wireless_multi_final.sh +30 -15
- package/scripts/shell/connect_ios_usb_multi_final.sh +30 -15
- package/scripts/shell/connect_ios_wireless_multi_final.sh +30 -15
- package/scripts/shell/create_production_scripts.sh +30 -15
- package/scripts/shell/install_uiautomator2.sh +30 -15
- package/scripts/shell/ios_device_control.sh +30 -15
- package/scripts/shell/organize_project.sh +30 -15
- package/scripts/shell/pre-publish-check.sh +30 -15
- package/scripts/shell/publish-to-npm.sh +30 -15
- package/scripts/shell/publish.sh +30 -15
- package/scripts/shell/setup.sh +30 -15
- package/scripts/shell/start.sh +30 -15
- package/scripts/shell/sync-to-npm-package-final.sh +30 -15
- package/scripts/shell/sync-to-npm-package.sh +30 -15
- package/scripts/shell/test-local-package.sh +30 -15
- package/scripts/shell/verify-shell-protection.sh +30 -15
|
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const encrypted = {
|
|
32
|
-
iv: '
|
|
33
|
-
content: '
|
|
32
|
+
iv: '61eca9ae13095e7b4f859d455dc8a8c0',
|
|
33
|
+
content: '39f91434d1e6cf3e515f9fc32984b8a98c6d3d65ccae442ce877737f9d69b23a3d3d497137812dd8b53a42ee62b6f355c97a82cd842e9c0b5c4fca6caf25802dc2438192f1637c193f09f92699fad25265a6b5ea3c64b08d14a3ba7fa190a268ea969877db8e145a83b080478d77ada5e0041d85043671418252c114994c9066365b61ff253542211d003b75b3edfdbcb5d2ee027a8a4ead8f53c7dd497f10f23e40e331facfa9be38c28ab2e03d5edf62800af52f42c9eda382583607a780c26988ef51a83602ee4ce57711309f1fc6c18200d8e6a76bf7c806b3a01b0377eea84ca34c9cff16bb4c262eb031e1c5e1cb414099d90ccfecfa861a95db494ffe16a7d842a911974619d2f4af15e1342f6e879063cd46b74313890531708b82410f362c598219c6c7be5de2a7bf96df971592e36b4e151d4165861cb360ee038a069b1a3e9798988b01b3c93f07147f69e1216ce17ebd0a67e3ccd6813f8911e772d287519f5cf87f0854787aff9512b5b5fe24ae3a42b77ef46a3405c0cad5dd3d16ba7105d2d6bf13595b30220fe17cebf255da092bd00f730600fa3f0d9db04cc866240a24cb6760191b0b42e7a1045d96845b74c04d2715bd0cb7f2b4d3b1693ef58b947f3888f07f14b6d7b16c5b41aba2632fee715cdac81a38d977926574557837af012c88a9262956d54913cbc5331c50b779a5c7ed225354017ab239d1b26956cc36024a3f15cd28ca846966982f54aedd8df9cb74494357ecd193c4121b58f1c409c183fc1c721533644eb6462c64c7e91435fbd37fbb99cf3692e7b7700cf949312616c466b5a6f7aa342921ae9a7adbbd7fa1e24719ab939a622eca325ee905f008549570f116484f9a311400aea1a6a3053498506aeefe0e8fc2b9a49dc90dc4be15afde8165d8e1d1e59e8169af935179b8cb1b2282ea4c1d3a4b215ef7d25b9e93c6c040e4e02cc7d2df702eba43250944173666b6f5ab01f510252e7c916872cba2a513f976c55788f52cd84c53742e677d774d9e98b6cb52171f0279560e1b171a0faff7fdf1b796eec7636f6a4c98372e175a2922de906bde5ff3b2a605b1440a49992285ec8ecaa7c2493dc86e8fd1afda2636ea847d058bfdee2917f2f0a89f9f9d7cd51eb9f3688415eef20279f428309daf94412ffd7037600535ebbab067c9d3915ade79aaf50228b8ee881f1aa96f9fb7aff465c70291e9352cc458c657cce72e10a04b0d707cfc833ea3bcd1cbac96ecdf915e927e67cb7745b7621d20c2651d418ccf711c1fb063fd22c68f8d90596fe770f6ea952b0ddff44208539e8b1a9c149d03f21d746505ab7b776336df29632a071215b268c05dc5c972e6019a704a00d4b32bda5a31ca081ccd0383ffada8441a03aeaa4371dbba4712a045cccf170835a45270c0305a8426e9e6882b73e22b7fca10b0314d55f7870793c93116f306228c769fe5ab34f5c13022fc38715d5ce2b12b4161e8921206388f2fd71d88893c14c023311c04db7bb5f88de097be99d54b5fe06f2ed35d5ffc39c9eeed411ae60822ad62cbbbbbec20d0b943c3600e796ada'
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
const script = decrypt(encrypted.iv, encrypted.content);
|
|
37
|
-
const {
|
|
38
|
-
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
const { spawn } = require('child_process');
|
|
38
|
+
|
|
39
|
+
// Get arguments passed to this wrapper
|
|
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 using spawn
|
|
47
|
+
const child = spawn(tmpScript, args, {
|
|
48
|
+
stdio: 'inherit',
|
|
49
|
+
env: process.env
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
child.on('exit', (code) => {
|
|
53
|
+
// Clean up temp file
|
|
54
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
55
|
+
process.exit(code || 0);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
child.on('error', (error) => {
|
|
59
|
+
// Clean up temp file on error
|
|
60
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
61
|
+
console.error('Error executing script:', error);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
});
|
|
64
|
+
"
|
|
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const encrypted = {
|
|
32
|
-
iv: '
|
|
33
|
-
content: '
|
|
32
|
+
iv: '59d1e27e9a21c35d59fa8c5db73049fb',
|
|
33
|
+
content: '26f9a3287711f4534e6132af9946432d911e9f8f5cc13e1813cb721608e65f3d7704de341dcf3ae62d4d1253ae17d72b41e985400e665f4681b387786fd55e5d84dd2bfb31a64ac28456aedf0854e6766a9615c8513727072d4139aa98902c2c07a940a1e7095306dfb983f56a33036aa912d191d4d873b990fbd2c478c2667891621ffbff37309e6748edb6f02497f9612c13f2aca8a281a1f81738d873cc25717c0570e1b21e832a08a9d0c51d5aad91aa4b9cdf0cdb2d633d86ae7b6da89f1dbe51a7fa8697ec7c47e6bc2d54e1e3e0a84610bea62a31d6adebd13cca00f4a04b9273249f23ed34e0cce0ad6c48b7e583d2005629fcc88c814a7c068fb69d623c873526b3635115305dc0b902f2925f8b7360c4d4374007b7d25ad6090eab4e61c10a74ad7829e00054adbb19fe08cced4baba7053002fc7abe62333642b48084651b9b86cb0c0a3cb51187131cb525c97199832e40fb1d35d25eb878adf9bb2f885fb6dafe994dd17d291e3dd4d83c3fcc8f9c8a1d5c656f5ad54032f6d7d8926a6b7c839db55204db1c27a7435c3c03cd899c4774b923312e3c2130d5687c4463d54c37ebe70b1f236937a159ac5e0dd5d934eb69c08eccdabbae1a1593769c69c773fe9bf6dc1e958dedb60ea77dfca362eb312edd1794be44b6e588a72e116bf329bcf5f3c8c15d3c3f48c8d86f83b267d9db8b0c3669623d09ddda2a4125766b9a448f0134b5e071ec43987d1bf5f8f662eba524985846722ec0b1bf291000217122101b803e8d256bb5363f77f00753b47638c2fb86f099c108b44e38c9a49770c38306ddf30d93afb22753f2ad454fe78587e1b142d14ed037b6f00350865d82ae3263c2bfa0639eb449ec1b849f01bd92f523d09ff7048607ac546348bbc2fbf53fa66b2b7cbec629898895a28887474963f008fc80615bc64087c5e8df9b16aa0a861b63a20f81f99c7021bb38852965dcba9b4c0d10c0bc6c78459c476c0a263969fb74fb70ea87ad72e1676be11a4d772441586808b99c77d752cc300205984773927b641fbbf3f9f9e5a2245ab344e70e4b41c6f0c18a6d0e2d2b0800dcac847780079f6a3f79cfc8e662e2d53ca2297f142bcf8207d42269840b8fcca0841a1ee2a5b461a113c4848f743ef70b43a99622fcb1c478cd0454bba73e3ba1a727eed03e737d86028c730c4781ab8fb32cc574cf50f581525ac1d3a507d7ccf92673533c27a22a03c83dce92819720c82f8c8872f27b1e9e8cfb87446788d46d8b7a030feb7284ded5deab5b43c6fca99277eab94d7d400bf14b944d0f5aa5f2ac203c7e732c26109cb7b05db86d46f5d13e201f7457e6af372fad75569dad6eedf796e8dc4cde88bb3b91a23f93c503496f71351cd1efd769dc00b457f8e9c6f4aac9f2ed4391b9278eaf6dd647d80ff95edc7f2a84f8c3faa9b174bc22ab12508f7eab991279b86f4dae255112a3375c99b33e216a61578367cf5cf9a150d0818187634bf904d306a93688931327412a472f3806b6b47354025f623de438de2213d33a0a4b62e4d6496bf3c9a6bdc0ddc7d61fd8b828f62575e74fc8301233db2ace9e22cced28fe200f2de767e92ab135a85bd9b04f233685796c38f2a6fbf7306dcc01fe72c81ebfe9d1261bced4ca7e849727bac46ca97c6e76857c2477b07b0b661484ba99366cc8988aa30c9d273fb19b8c894a9c9b949da14db321ae4173c754ca74a3c78449d8860d57948ba3932245eadf968e886a4b0af4afd999fff747b9ce59b49233bb6404742b54529fbb32b5bbcdd7635641d7205e11fa836df6efde11def11b4456d1649804c1fb724f78167ea5056814216019d50196c9f8b7d93921c08c987a1802b2fb0030e92852174f8a677920f83436f616e3d68d438e5aa920ea1657944aaa0c120d2ca2c21f54fe45e328486b6faf4e8b3754c8bed1c63ea82e88431d3ec5b841d5493daeaaff846f395ae7a63f87d6b33147807b11a1d207b5920db26c5a79fcea3d69195a793857975be313830303c73e8b9fc6d992b0bc787bcd6f2dcbd81815f070e8d605dd3b4bb81f5d96bc87549edfc45ded2cc5e85d224031e65781634d66d650a91b3522bb150ecde638d3702b0d079d33fc3cbd2222c7e52190b0f15eab8e66a75512b236b9e51ede319733b88dcdbd5d8b0652f4222c0e65d518a038d31dac89e17f932849f0020a1c84c5cb8032f73172f1b6a105a96e5bec7fb37b815a085af87d3da8abe0c1ed12059b8aeffa1dbe9c55f58d80d78aac589172de64e280648400c5911077c7f0ee7770ca8fab5570adf4983c5f9cd0e0c4e6a93846a60ec27d444e79419b282a569bb5da443e7729d57bf403fe65cda490b2bd456b3f855127156f8fd25355a91f43e82ee5d0faa7119a09218d1bd9f28f1b7f578fa31a4a0585a868843ac0e4f31389073e5efd12093b4b8de9b499ab5fbc7c55bf5b3439bb462b85486ef5b77266ad312468700f82932408caa1639f5482ddd29577279deee6ed01e294c86d45ed902afe3aab268503a65af3e6d224823be459df8cb042a571e718dacb58796bad5e4650f07b491b22e2dff1fd49dc6aa5d9df0e9ea7d9b46ced8ea31501ca05a1ae1f50d7c00785fd4056a3650134049caf8b6b2e1d1908b022e1a65e53f7ca8066b48952c94b72564bee125632c65c44ccb38f4e829bb6715fcbace0a54f2793107d28b46a1b81d44072a050bd43f441b6d5e597e287f046050934dd8edc04f558081960971402a84f390560cec009e620be934ebb8e473d8ad02aaa002e79e075190ad64f2f273c5facd7ca861e43d30a1995e2b1135586e4d7e0ab23c19448bf39ebeca947a10df563b65a42ee8f9789dc0ac2538529b8768038b83a4944b89970aac3142a5c6fd92afb0e25b3ffa107b42fad47c4d4bc7c0cdf1f67891fbc768e0172c4f0026d0f717f95925ef84d7de7d09b289e5dacf9514bc849709b598fc155eb7ba8c1c5c53062062cd0b6bf490df32233361d4f735c52d22cc7c37f86b869186ddb1d3887118357468465ece788153b0cb99f86a221159e1508135d22a722442fa9d2c1f97e67476a42d7e8c9732b4aea10023707222487ebabc65935e202d6be4ffee140e7833433d3b93969774c962171827d87a08f35d333d21915d13285c846826cf80ea3121ae4d9fc9b6461bdc1bac8c066930516f193bb9569f4b6fdf1e2a2a892fee353b36972701ec81155434eb2980c32e511c6bb7169eb5092dbedc7cdabebf0bc7f56605a8c939bcfe5536cf8a56fe25e6f3021bb2776b0fe9364c3cffe6f81439fac90dc7f9539c7010b400adb3152bc5d8d7b4e91301a959c9ca04e3cdf14828b38d34d6901582006ce0e4ab446bd5ce68145416f71eaf60ad8018988ae5e4d95df5ed974ba380c010d8cc5323f2adecfdf89abff34a2a652263dddcca2eb3d81061249f528732be882e52536a54c5fbb95756c5d3700dd972eda2d7a318dae3ef73aeda3416569a3d17e8e3decd63033a81ade892ed93562baba7b07df3032d73c7d51b35fb8f9e5ad3935dece5edbd401f554862282a2c2de245c9923914ca70333b02f2dd936e676d448cc22c169c45f2c1e81723bfcdc243d977810fc7d2c0874eb6feba3e97b48b716c108005733cbed70dc248ed72b1fe97bfab650d9a4f712'
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
const script = decrypt(encrypted.iv, encrypted.content);
|
|
37
|
-
const {
|
|
38
|
-
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
const { spawn } = require('child_process');
|
|
38
|
+
|
|
39
|
+
// Get arguments passed to this wrapper
|
|
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 using spawn
|
|
47
|
+
const child = spawn(tmpScript, args, {
|
|
48
|
+
stdio: 'inherit',
|
|
49
|
+
env: process.env
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
child.on('exit', (code) => {
|
|
53
|
+
// Clean up temp file
|
|
54
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
55
|
+
process.exit(code || 0);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
child.on('error', (error) => {
|
|
59
|
+
// Clean up temp file on error
|
|
60
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
61
|
+
console.error('Error executing script:', error);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
});
|
|
64
|
+
"
|
|
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const encrypted = {
|
|
32
|
-
iv: '
|
|
33
|
-
content: '8d737740127cb4abc1b8b8767ce6ac91794f687864f6c03f8ef746438fe84bcbdc039ce5e15bbb1220a498ca6bc5ea57d0ff5c45399cd73137ecf5d7c83a75a1276a71087d1282afa64724455f9dc075c5162ff5d8c2a6df60027f449de1e192ff204f38591daaf2f92ef70c4e247a281cb7f7a21e102d5fc0c9eb0f5a35c9f5d9923ef00b27a84e491c59ac6ce5ccd0682992555b9b45d86dfa08ea9fc37c5332473bd8f2b0233a2df40b6481e776990c6a3ba8e94aec8b987f537fea5bdb0ec4720d21e1dc76e0058e88d04b8e4734c925de6e4715df0d962930c81cb056a9d9b6b30d50a93ddd6503c7f0bbe9c0a54981c256c088206462ed1bfc7483a8390e75f59799a652f47f0c727a37c7338d22a478e94df252ab7345a1b53b382aa088d35dfbfa3a69c1bffeaaac9b0f9bc178eff6262b538b9db0a9a1fc551add31e2f687581a0b69ec260d45ed26548651134616714913fc0dd2256c392c4cebfe228315e4fff840eb1eab3dc34f43130886923b60da3ba6da487a3140979de1ac2a4ce388177154d7a3949d896b91efd41bc879eca5096bb0729c95c1e5b9fb5077e1480a1ade6298c81e2714010b4dc8adc74ee6e5e874c094816580cff9f1560d58061f4867b7119e286e525830219cd35aa10f3f45511d6c147032d7cf0e82704e44d41187cbe9e03d0d4708ba8e94985815510bd11201d21aae281b0cf089d001eab7deef3787bd57c3c555b6f52866519bc7017ab93c11ff0a2c7721d990889961f439b98363bf70c82f5165dd124f61df7cf048f720d7ccd465c34fde960cbbfa6cd789f94e6315a12e4cbdbfbc6637e57e508a49e154c3a5af3ced47925de048a1775cf4558220bd1e07e6e56e257fa84a44a1327dd32c5c0fa581308183ba4269e6d32391d644990e222c3bfa10aad90e03d8afe54bad5aafea52281f354788d7400f80c4fbec34cd3d193c42961c6a51a88e8fc3e8fd8e7c7ccdd301e3aa78412f4296691c34d302d24a414e832cf9551413b55c0125f3d274b044a56dd7e95ddd6a44a5903ec090a4841a75042d7e0629e4ea19d9c5663fbed8190dc2ab110636841e6be45b84bef1a15e0cc6589c49a1f0ad0c165264295b4faa5ac6f6e296479528737dad39e76dd0d9faf062eefab8d52b2ed9b9aac615e3d118d5925ef3c72b0070133a756516b30bc500f7ae9d893fd07f4298544d86f6de818610331d2af81e05763d15dab6e9e0231c7c8d4c62164bbb98f62651b6ef2206129cf8bc51b833b230208fc7be987bc81d2be82db07d0dee80a5b2e857816fe4d3ce93805c7eefd83c42c247498df815ceac0156d86c99dda6bec641535d40e9138a6e78ecb3f35c13854773ed9743fd815193a0923ba3fd4da7b969f0535de203f7dd8367b3fd736e0345dce1e57c6a4a92dabdd09be828cacfbe603b217f989bb32381b45307f11028e69c7321ffc9462823849a7eccc3ba6e6eaf9de6f7d4f9957fdce2e31a90b6dafae06ed50912dd3a904981be1b995c36ca83918be7c09fc3ba60a457aa29aabb76895f69d5784dffc0e70528fb2ab38b1e9853de6484dd84fbe63100336fab6e850dee0a7c4eb402628062fcb3e5605b9f12b28fce7e8c212c224dde223df9a29dcf1d69f367e090f49ed789ae8c1bdbfe75662eacee69195e6dcb9deb592899fe6bcf6af0c0e8a8068ccb194227a56c5b05d5762199cea1bbdcd58405adb5469c2b1da39408599a87710d838d0ca5585e2ed328b10e1c6ea0a764b1000a75282792fa5ed50ad3feee2a37cc9216c49ab9157cc237cbe5138214e72de5a732c3c0cd46bbd2b19ec3d301942411b1d958e96fa715bf00a43d806e9cd473ea9dd32390bf31a4c992cac95cb98cfd8f10c25910458f7af7a913932642bd553951c6b1503128ce821b8133ae7faa0c5f37b19cb87cf2cd4a343ed0c29d778e03730c48ac772b41761f14e1e571cfa5342a31253b2758b5ce4ef92a3ca97d1145bf029f7ac92be6c651664dc5f51e9b9e19f824a4dfc19c5b37fe8489bee1d3a4ae9835df477690a4638d4dcfdb8dcf713c6ff374f1e77b84660627d03107e3b9f478dd607b6e4363a557e21583134c203df35eb9aff6e8caf9c785030d98793bc47719d64fd258e80a6ea0aefd899d5f74c8ffa0e6cde4618752296da44e2bc7a5c2467b451d7f74cafa03339b2e7c1b3aeb0b79a937a0ec9bd75757a052c6336ab4c2c0da3a40729653f29b8052c00088ef9098360c5285c56f3d9546831d38bf3236c4a083e429f0b796242adfe255f9f0924d664541888b7d5e0af6943c9a922a458c05a71a14cfe6eba64b4f664a5a2ac691cee8b51bfdeefc72407f8f16b1175ff3791129b1cd2ae4d826860bbfced05d78efa401ac4f136128b2b0beb9198374b4ddc744f160da052456733bf47e34882599ed23db2a6e678be2b355d9813fd9801923f26e193f097ef8c4048c4f81d353d269dffff3d7c34cf99931720be71ad26f115dbc781eab5c549bc6ccd90df941cc1e8548ccd9bc6d6e14e2f5086aed1462f0768b0c22d166fcf2e6d53004dd586cfe096f61c6633218203fae4ed08d7f57688bd8590912d0169d70af0a383e03245c3b26df72c2aa0aeaefb139cc98807751887a9a19b029f8f84b788421434a398b06b5bded3a66a89ca7cc8a1654cbb710de0cdfcef6329174f2d2b47f097f26ce43d8ab604fb4141b571539b7e4e7c6ed1780889fed6ddbf18775312c6df95773623615bb0ce471a6d687ac4ed78c1c222959b47c490ce1e4f5420b985f3e021e1f06aa5461c170dd6e9162dfaeed4971b788402222189a97c8ed57a89131f0aa14060d57f5aa16bb7b73aa7363d6e006e3368d70be3a37e63867dd35d78adf0bd7d58fd2f1c621a6f83819c34cf4c1f102d17484f388f7c1de2cf84dda5f0802cc995035ec9cd0f89afd6fc4aa744d9c41dec1109e6fdabdb852aa64c8af2d94654ff4188c46eb6704e80039ee25046902b776db87f7fab1240a9ff83b8ead81c64209eab80b4da26875f4108b05d1e5c779666cfa8b19cb4d52fcb391b6dc4e652990e740c83693f75b7780dabfdde46378f81d3e089644a1605af2649a16e9ea004bc0f5a72686c23ab13b432350aa64ca45e71a76079a1153731d55c61be9a2d9840cda7ff91b5ee38ab496be6f80882e56d1e5cdaefe117fab6ccc423d7a1fb020907e6b620612f77fe7918414b7586df429c4319cf65e5df9d22f0ff3b9758e70e736f584c56c58d36450d3a8947291f6cf7af501e24099bada6200322a70d44c514fbb3cf37e814e5e3f5d7b6cd839d8d3c8605611bc5da93658c498db271acb27d96baf0ee1d14a0485ca0cac7987f86eef08bc45facd45166dc68da27d5bb418fa37b941926cf665e868ceffbe3321cfcae7f8c5e5df77f1902c96f994034090e84c59a8bf252efbeec939f76ab42558c4f85e62348f0dee46fcfe7ba3a8fe74b898d8d17a814afe35d70fb9eb81485fe89b853f076b2936e2862a658a631b8f70a06de49fbbf81ba570eb4580e390ced7728fd20cf62686ade3e46634a2a6e13835f6a08258725b2bd66c9d6b237b5f35e025aaa47da1262117f40e5120788e1f75d20745ecef2c99fb765131bc9084e73d21a3438e339a6c37fd44aebd7c31058577c7e6c80167312dd940fa5f9d1b066ddf9b093511a8584b27fd185176d01fb287a5e5429a026f991116b65f6019a4a57e9e761ec4230ff1e5f46723fb71113d00ef21182e73a2f2a1227615a525b47685c6c62de7155b45adb47cb3c4aa7761e067f689e0583c0c3575a612eea1bcdd8b6010dac398b218625a2fb2af442b23cf399458df0804f1d3694eb814a968c276c804d45b851d4bc3188f0e5f6e0cbccbee5b530f95300d01b45fe3cdcf4cfe88a84ec0ff3430e2ab87c8fd3a591c1109f596061227569944849e669590171ca0924f1b51b8b0cd4589b3462390f30fb4786660d75bd3536398391b4b44c16819a01ee1c24e2fd23ae7c2a339dc4b3cc41b03ec7d15530b6a80a4a0386c070d060b318dd9db40bd6572b80edfa62bbe0b26f5210125243e855e263f3b7286bd2c5b81800e94adec129a08e2efd924432e9719053321cd1cddeb954a1ea8af54acb51347193173019597532fb7c4492e428e03d453bfa31c54a219f8c98822a2c0cb4958b7a62c3afd08f797373f164680d0413e31ea8e1127a669b003b378aec5c11f94867a128e52aae79da7ceb11fb045b28131b4ce5eb59cea4f776fc83b907db52814543ec968e48499d1a06730de056509bc0f71ff86ca0914c9b5c83daea835c277b1bff8c7af76f12705268a35549cbbd861cc1ba229e9c0ab98ab5f8b2edacdc3d423006e3701220bff01c4f8eb8438c43381214ae9a5f7a1386204c6821e807ec95a2e0db5de3b2981fb11ef972db9bde6b849c4b077894ff081b03c625055d200976effe2099241318073682c622c52b82fb719f19ed3cf97f7da2eec2fc58709e471ca790845fab3f65e182993d18d3a9a917a26fd537e6f0860eaee99cda44d26c3f1852a84c21b9ff047c3140df97f1dead1b1798678975d40514bb4950775e04f6831a8eaf3cd7982e141fcc65ad3e6b4dc83de199da83eabfceb05ffdb8eea4666f8f0c448e88f4e4d3af83807583d34d4ef326f7521547a251700d473c4e7fbb30f87cec08924e4c5990f3ad35c689c7df34a731bf545fda169b68b84c8f76f018f8bc31f46bdc3017c4c2439aacaaa4fee5c94881ee699746bf0929460f37ba74d2b2a456d6d47c18f4ac20a7d82eddc11e2a78d5ce240869473221798e637d651a569321446b173494d850117ef3b43423facb74055488d9237dde14bb1b32b598390f8f766d4fb8e39bc76ff3996bf883707f0f5af8be23608a1602dfd33a7f6788345e60d36d7507848646b9de973780fe9d726a3256b666d357483b0e25f3c34a78d97ac284310b8ce6688f49483af487e8fa7538b81f10e3b4c1b99359c9f0153a53e9228e69caa19b0eacf4b499ba27b093bf1f6bed277fb641c1c970c93b473ed53ff597d0b34adb93dd6fc069414d9b423ade88adb06bc086f6639f7e3f61492ce7ad8d4b86a89aeda7c24ef3b3baafc19a98ffa94b397a3c794ce55bf5fba68a42ccbb807b0d11034bb480a249f9fbdc954b74e75838cf613f48014aa4f03aa6c518af3deac047b286afcbde38f8155404f6d7934e2cdbbab9a51990565a32617bb5c89c1aa3192f5c61e21a2c5d5b210b654c05100039e7d65249a0fd0cceebc8d559ae31027ff3052a94a47d9a88961fe256b0249d42c2f5ab0bd19d185c8e72586b45cad0430af0b82896c90c1932e768e545b1ef1c4a7464582f6ce18837eaf2eb35c33dbc4f0258c71429c352177b5cfaadcf5233fca4f49dbc49311be8862030fd749153949842add34cfd6db5e0332989c6fff05a99941ce9c949eae5f4d293bd4d40a775e935da42f87e7a73df2c74c1c2566ef458a9bcb2b9927150431d8a5b70160504bd9255be6634921a707e734a70c6d5122cac2a5a8e5ebf9fabacfc8992f1155edbb5247003a00bada92ec542e20150071ee7d0cee51e8f99e37c2eae46e7c159107c10d0b421505bbb9d171e0a934ee070fbb3aaec56acb4c48e7f90cbf9729525680a81404ab778856dc6d15a7b681ae970e923342fa86d21d5f146c25d3c296fd78a3108a22af575b9a4d00e40d228d6956966742b8cb2c02443848350b266f268bba2762525c4d6e0cea62493ce25fac94c901a11c38141155667679a647c202b10f50e13c0efe6565eec51321055da2170da453351047cdf9e06aaeeda794c7ee640ec368f113b73daf447e21c902d1e6165e4821c7256ba9b5631ab590a64382d200fb2e92d3051092d46385b83678d4a0fc9551d60964e207e58389ce71e464a7e083b56a3811abc6b22eb19a90cdf147f9122a3adf98917765c7818589b5f76128a5f86af3570b40dacd2f4add0d30457c06283de850d3d9a8a8a222e2ca24fd0ea2b6483877992d0a0e288fa0ecff81a8c76fb9d2e94497cf1045d6bc1fcd57e08b372c3297199bef3358503cfd48ee93d2b14df68014c8c673d818e00001cba916b6beee3a3569cd6c75ddf75816b725b24d2c85499181d339e939d08269cd488355b5d08208706e9f188f3a7b39b7cf701d301db86174184ccd3e1771dfd53f1b0bcb1e92fe523776476f1f3aeb029c949637459193df91acc1ed7a6c56bfda03692d5a3dbf1daa44b04f68c72cec77072cd6c698e13705867ea94be9021129fdc4131e2268d3d166d0e08923b84840236c82522c3b1d391da796a49288c72f19c73488fec31cfbe36ef5c38ad4aafd3419586df950428a6043751c64330ede4f3789d32eae1986ac2ced11e4e18d32e7fec718d0338fe19855e1a76b069639b5110b748b353da7a0d8bd124e0a2527e4cce1f306d098e317f82f000b3df1379d8b619999c287c673047df0dcc16116c3d4e1d46de3e2c7df2acd5f89de3448ac0ad1db45d1638818aa6e89182de3fdeb39a2cb9ae4991a21849c35f395e129ebca61f9fccc7c8dda208eadb59a95f1b49506c08ca5896bb7d2bdebfd111e8f34b85ad0660921cae00f82917503bd6bd2d80032e64b59498bfc2ff33ec8326d330e8cf7c246878f349e260df33e0a350fe106f99bada292251da23b5fc11fe08fb5c57ea68bad63c9316907a255db00ab6f63bbf7e73c51d027010e871946ecc99a5fafc7de3dfdd2749403ccf14b97c3f4d84f35e4f687357c2cac8a7594205bac445c72d1bae058cb5262dce3f6bf5ad02213fec17fc9d220cb55dbb55d3a1aecea469856778f2c370b76afd4a4fa3a1f03293119f988eaf69624c821b1a1dd5b340a46228595f66e485ff495c7c00f1f18e0c8a14e524908c7a4367a475ece9583a3bb24b6244b042ca5584445be61b8e1d8134a86fb9b3aee5399e7147b558d20f8e3d78da678ff34339c40a52cd437d29fe95d2b57535f69833cb2abe520c0fd31861235bdeaa87c1152af53702ec6f9da22a6eb6937cdec37a133b0a779f5c6ac60fbf8afebee6dad19f3ea8ba8b5ee1bdf12b3d72b74853dc03f04b74931a6dea6aea6de48ea117425ffabb117a8d6b443352f497a9469c6ab0dd66998507eaec86fbea21b6d1c20204e2893cefdc02c4fc0d85642a9ae6e4347467d5c00c234c09ec9769a95b81806d379c9b42bd54dcfda306f8a5467acbb032aab77a0694e6c1496d5c3ae41bf4a0fdc064c74cf2472335084fe19ffc2d3ff095025405e83d7a872e9cd61fa6e18d088c98ad08005d16d6e85d4dc45aed53070845899092f57ad6ba2a52c694b0eb6068ca80aa91eba6b8e7607035a8641f8316c0ec000da24728971eaa5067436448687f6f745fd6280205e23fbadec4ca5b9702552a631a88680ddfb9b9a9828aaf98cef05edcadacfd1491b27c6211c19e381b6132a3c92843645c827de0a3acb8d48c1d855bb6194cfa2c9808cfd1f3abed101c953cbbd854e46273a5d179cdf2f8e5653c0dde1a721cb8e8fd603ff0beb0ba87bff554470591921c2445dec86372810fc5c9d06a0ac1b77e6f1a37f312423351a992b41c9bef5c8f744ba4c03ac0c4d72c0f70beeb6bab8897695b3e1632cf8699da31b61be33dee20ed1d4b0cdd4d0e9696195d59bdb15f8ff614a380aa206596d8eb8c5b6852cbe4805cffb542dbcdde19b2713ef2537013d8470253b71d36934b51de2205150e59f6d2e11f4f91d65c997226223db81acba91a996bad0731381c35a7725a3cb174fcccaa2e5107c01af94bc5d71daf476e0bf0073efb145fd21e7d96daf157b17b98aca304e26602fb4a27218ec40bf720f2e2cf1f1085065b44135576210396bc55be8d714e0f65eae43131801514a2689e05f5e35afb836b6483cd8c2dfa16a2c5a54405a973f8353ef1d7cf6db8bacac429fe360b2ae7f48428dd19915f424f95b29f42ade4e2eb3058e820e44b4127e882896cd7f6afdc327d0cacb30241165fc420b7ec8560645d946d07c2814c53703319ca11f718612522bbbc0d7b276e1512fbd9a49b3e4181231ea19075bd2f518ac8bd25eec3fe3909335936027effd8975acf24a7b084715de56f20fa4f226a3a212eb47aa50b7977282af44a42ca0f09a61b695a2aad94fa3995177796484981047d863b6dddae18ebe72cb83e3ceb38e3fe72d0a2f0a2ff7eba46ca24938a77ebe66af330a662d385cbb1fc99275da663cdb8bab7012f25f8867ae8f8a9e6d6dd315f153e25610f94b169b56c10bbb529970ed4f598ea4db0578f7aa7cbb0210b54a451a7d4f2d8c2c7630849080843e099695c15d114d82664f40666be33b40d3dcfc61a6fe27d0c12b1fda80d6821ebc448e4fc780ec6c7a9ac7fffd16bc14e85c638682846ab1e6fdee71e295fb501fb8d914fdc95322721fca9213e908c46fc89f26f2a486bdd27851af231b2edda81844b4b31b0cb2ee71f09315a5b3bd748c04b6f7cdacbdd0cb4b59af84024ce25d08948ee0292ce7e5a209cab8f4fbe951ec9eaf630c8738180dc506cfbeec0dd265e637210066cc5d56b5412694801acc66f0de1a81719555a0691944f32ac2d7f7f72ea21efb6bb0b5132105418efe5b3984b645e2ce3203859972a642e3fdb76d83a98b1061cd92cd9a71601c1a248fbbc52f51933b8bc08c502c337b25254a3777619102b91c4e161a7fee10f907b70c0c34a213fb41f45c473d66f1f0904d5f3f12738d17372455228bd21a36397e3fb5ecfa677cdd4311fac8dc9670d128dee5ce80358e369f57c896a739b34716574751a17d434bc472c2deedfc7b7fd5ced0a6bafe73b72b6f78ec7a8ed79a694b0c0dae8ff62bb535a3cdfae37e454a16d04257c24b52748b15ab110a6bb1e0d80f72d0861d7cfac58de8d7ca56d7959755fc2d0a1849159a07494918f4752268b925b69a56ab8a09188e8784955c610bd335951b11221f5a3c2c8f79b437cd0b0f7d4a348a400502cf1413b8e6b09eb9da2aa16b00f2b8cd37ec2e8be5b463037553fa733eaf04da19059c660a29589f0dffc7b067f94b99fee47d9cceda5cc1db50'
|
|
32
|
+
iv: 'b6dcd1353c00dee21f7ca54f5387c740',
|
|
33
|
+
content: '5322c2f19688d27a99f4a740ff206fe4203715ccac3fd3a588f152cfca1c43c3d7be20b9573a6e93005e7b3ecdef0cca5039627c37a07097b3a779e53fc873d0b6e322e2e9c47f4bc0cca57637f42eb3c639d80a11d00d504a7a4a65459a16fc6a6746aee8f3f854afd9724687cfa80c6b4d314257e088bdde1b27fed6f931f5f354e06f3b4eaff24b45e9b9b1ee2602e7a2058f19df383085f9fa513c8e132690e81dbb806f93073c5409416e6f2efad8072d01e6f4b40ec7b8801c9269de43dc17e7fcb7fcb119c4bd4fa29669e126d067e8b485526df03981af56a267b85c5f2d026f5f65cb6cb603fc6893ae4ebea0424c291d3fc69fc816819c79051a9194b951c119c0c7c6a067fc5edc3bb05423320d8c5427ef78ae6485d4bb8bfd3b02adc44347847376d5094801073ab54c93b919b1e5fee7ec4530c800132e59615fa2ae73271de796b52b3989edb2d49ebf8689e59302374acd9480fe83191d77f42a58b34f0bc13d0e5f1911478901251953cd15d4974e4fda25ee07c4200a8520f2ec33618da7900d7b24071931fe9678ebcda5385e69bc9ec820a517bd25aa4afb2a7a73c383b31d9dbce06da0edcdad1b34a9da88f8e19a58416f039a6765edc57034a0285cf4ed921c960bb7dd5ca438ec7ee217fcf8073cf372fc99da2988e3a58f463b437167d50ed15dcfc3a221e6b9c29626b395b607f82e03f06c1ea6589f5297d48db60bd0b110b44a3b2840ccdde53a655f65bae6d822e0f69fe02611b4ecb73f9d90c30281dfe1a156997f7d71bdf62577733aa3e63424802f5dc34c204e323296610d2ec23b11d646c49289861e35d378d5d434f1efc736d876124aa788fb0eb45f4e7f4ee016d6b87c4beedcc336ed45ec0183f5be44189b29a9b31961e37686a321b51f114e05fd24304284490fb9626665eda70821c0df600d3b2415bfab767a470cbb820841b3a50eaaa9abf12ba22aa323c7d875ead3f2c2b9992b29fab298a3a35d3ed7262841ef7acdce0c87fcc0faf483f615b9bbf6ddff104e916d8b186474b3f8012b12662066d7cc2c8991abbf5912afb47cb6157bf1f4f50f8a5df8ea9d41db30ec162f363d3c908581d22e9d428f80748d55b1f3046aefc27bfd7e41a7f8d8af990f712bba761a2ae5a5f88a48a39d527e2b0e65572ba950cf879a0d5a067b27a94e91aa78b7eb19e32d11bd81604e7bac5decb295f8352b300e7b755b7034273dee3127b74d781b0416a42751304dd9dec14a72bb886dac5bf27cf3bbbfe000bc33a1202afdbe5654c1a6ab0b9d05bc4429dd94c36253899d8b49f02dcdad480fc480526f75058c00fe20be14a9e844dab40e445e275fd8a05f331d9a66ef459b3b9ac8a0f10462281b1926dc225739852986c2476d2e54cd6f6910e27c7bc53da76a049538f75e660702af010c8d15e0049647aff4e216329715da6443368c92934646a52bbf341461d11d7b73d4bbc13d938d7ccf179d53e40625888bb2dee23b38bf184976573cef6fc2423a53f66aed7a475774edc4e7d19cf2b7444c4efcf6628ad12c08126921b8193dc067ecc6c09fb9fefe893cdd1237c220a8702f94cefb40c2d010757df569f0361962ccca07916efb0087458632e9fe25b5bce8d42e3431dee1754de025846f22396de6b4602a72e74216187217c22fd5305c9127ff0634d44cce19f09cdb227c57cf4016a963b6c1d546465eb1acbc8c2c055ab78436dda985d1c30148e6b1cd07f99c6e95b618108919958fcc4b69d9e0319b141ab12f9037981a511cb1856cb8329a5f771805c0a8fe2ab6379fc3db45e3e17c63192c28a7c4f9580604954daf9f0945eb49739f507bde26f3ddf6f947440c79b6412cdb54a0dce344e15b37384e0f0c7fed275ef09109bb6bb70229642e4bb805d151b60f5fd643e3fa979502f1e5f704544e587d0a5ad1931bf8d564f03fc0c2f33405a10a5c8370e175a74c2fe239777413d144c764aad7c9d78d4acdccce42067f81f433b3dd37f8397dabcbe5fe31094fd08a7686f2c969a8bf8d15c23b3158f0cee31d6c262ec3286a00b053a3dfd673b77306dadf69a2e651b312420cc8742880836b5f30cc848bb7c5a9439febf4206fed2f8512d177f482855bc81df86db7ce2a1e34c75c566ba30a7f1466f39de0119f6f9ab9c366c64cbef8157ec5b06cbea432b65ef3457a364e76900929c58003f3413575bc60db5c7b537f6a0b1f4087a53b16c4af9c90cfb2f6068f25c4de1bd918f6f2ca0bb0b3ad78ac7af038a31c482f8c5a48f815f958e2bffe8e62c87c43f71d0ad727568ef65c2d5d28d4bc8c27ce09c94e00c168fabb07b637d51b91e3499ad20bf6a9a9582f1b83c3c974dd1052cddd133f32e30f65ba0d920fe477a4bfdff4bd7cd00722223f0a4b65f23796a602eba24bcd6e57a0d9ad9ab5e3162ae9b3b6068d2db4b392471ced14fca7420c30a760aa0ef10f4b3aebcf15ad2d859e8ee59f18f58a37c88d2fcff1c6f26a886e5593146be07921ece5a2e16683198a1d9f45a689bac82deeb7e3710708afceb807a2bab094d2d9dc13b14528b8c797148e140de2d0cdc3ed04eb19906a2d870658576d2589f8cf49f375b41bdb4362dd23fe2f2f9a14e3ca24dd5d65ea88522892a0a6d1424ee1f8c645c73e8a00aab1456c90f10f0b4e5b3f03196bde0bbfae39e213c1c2efefddaf5cc8bb6dc440cb975010b1eeb53386ca7f8ab69da359d7ce4131cd80358597c373a3bad9b7bb7426b0f9e95ba5c648daf808404c949003848d1132e0c63fb497bed950b5278fa512e399ff06f3a92ac70f85a5c08542079359b7ed39a82a8adc75b73f3dd277fd3d51d1853fa7804c9b1e91b93f2c81d6a9558b1e46b4120132e81eea58f6478b85e9d6520834d888b8b724c130b06c87f9917c3046e5aa3ea22f6a0113cce802f705226ada85c0154df1f1064a1c9200fb1723eb4d4fbe827894064c533794bf9e67e9c0966b9ced03ffba447a7c420e999051146ee1e4a8ad417a74f6dff0da48b8495ff2e562f5c3c515f818d074cfe8835441c9d6c41c5f537394197285a509e07fe8b31e2f0dfd402e938705ab3aafdad6084d030cf12b7261c85ce48e4c4b0ed1e8b459fa2095956edd93f1d07cf213ffee9d367389784e711daf51e8f0d9948e6e93842dd24f94f3bf6021eee2b99fd00d8e44397be45f93d435e3ac94e58ee1e46d26ac81027232c471c241af525acac94327ab495127c0f2ac0239a356379ee180eaaefb4a9c600e2b3437a2d839cda106414978fa273cda9fedcc59b95ee569ed7d0c70e4233062f81847aad37516f3bd72a6afbb63a601044589537ab37834c7896299c0e8886b4fbefef8cb6a3df88fb67d32e75ca7e039f8114e7a5949c342708467793de3be9d0c34c7973b59a986d31f9d370a156eba4052b56cece1caed36c4d0ee9ec4ac2accdef435f0369bc50bc7f915240944029fc7401f07a48016b1e197bae81d115438f1cf10617078181ee2959b2efc83cb5de779e7423e878826085f3d7b989a006890c77d2fc498af40f75dca9ee45a38329e040fcb61dc9fe0603002b958a1adcf96e7b789b6df1c2cd7bff402945247a458a3dd87c46605d954ebeb90b291918ce8f2fc538fd6666725abdcb7c27a2233b7426fb0bd73d1b4eec0c9ad79e916722656761f1339a8453d37e969727cebaf6733f0374327b372739ce61570e4ca9d3b9a9ab586c2719c55a51fa062b4e2696160c3b3bba21dcddc0c4bf55792c6ef4dca71915cd29b89959b97a71e068dc615259f9963d11da411896c26ef0247ecb8a40feeec59ea2e24da852319233df20e3171b2ae2b892f4e809e90b3075de40690dc6e68b6525643020addb6d42c51b87ccad701c698a9f68cecf051ea06e06ac8d01b6d8094ba912cb376bdc6a802ed8c88a849f543c7161240287dc0154bc84cedb00002f7dd54968af478bc8660daf315770ea9b94ad8531a2d99e725c859e71e1bc243f04922cbcfb25ca21819f55d1b602abe564e24c8b0d9d959395ed05757381f0f7ffbbcd150947e949452930f4f944dc4901552e3f3a8cfdccd355a9225d8e479e54701147a3e4733536215327300c920155604d3d8cc3ab871bbc6403b5a411d67b71dea836bf203eb8235567975a92c87d2a1f85d44a1a0a43cbbc87471ee7039cd5b5e5dce0c041f1b41639f78e88a30edecf17935923d28c8c76840ab0741950bebbc9bf9ead4d48502dec51b232b7327c74b4e77b02195c07285d2c8b33d4d13ea29308d7b6b4a5ee73bd2e0db3c32943e6d8086d620c6aada6c6ba093af60f99c686ff2466d2a07cfc0b679abc659c4b6504fc63928b042ecee374ad1b8fb25f1779d8af2ecef05c583069a0c3d3e0a7319094ec01cb4117b052c56ff61f5fb6b634ba938a06f1777b1200ba30a76405b64aa9cfed2b2c85a99eca4edb828cce5848edbb4905384a8b3f60639193a320c441986c8eeb5deae1c4dc58ea3797063edcde776b61bab9c34f41ca3dfb6b3ca00a140bac3edb49f33960c1b978347183117f0af6a342dda616ca7a1e0c7f66ee2340ef7510f42b165ab67a3e189ae99317d6d883e2a6037d34355318623be1099f04b81d614b0b96ab84617d55635840be34044ba6b9357135146e16dac942ce7f5739eb63440d6d8030f5aca8f3d5005084817bc116668f72e2885938232a0971d4dca6eb0ef51122f54d10117a3888ba40e191602215a84e085dbe75f7f3394fcaff2e131b6160b36c4f492f0de7184bb31a93ba9cdffefaf73a2e211dc7f71628f02e68792669a367f3a035e7d5cbe53d90d442bc007bcdca2bf7bc48d8bd74823f11d53a14a1aa98117a08116b0d0fb44047a3ec7668fdaf6ca68846b0b0b6775208027bde1b80ab7ae634413820dbf72315b23f345fc9b6811c317bd3e32c6b3c125cc1860872af6b54f95cad1b9ab3ceff1ba58fcb72cae9e19616731c4f9ec3719e3babc8131569ab62c98fffd8e5678ec5d0a6109465e79d60dee458b4b6f6e4b82523d3f522297bb737d10969d3299fedb2d1a42bc693002f1415ce784c5e24ee06eadb25e20ebb2404dce2578b4606635e8b1de25290be6572fe8308616184e21a7d2372d361ff5756c44e059311191466cfe9813d04c3dc6d93ae58c6f715323cbb99b75ee2663de2546708d23f460dd71ab99dc0d224383b0637eebd07294fe13e100b3573d34cd856da5fe6e46e8baf2b5824618a535117a30e93495d37d980b331d43307557de941ec7c61013d267cd6c40484ba1b9f58ab271b1372df3dd7351e5782e49274adee084f5c1cdd2970b807d5d3af71fcbdffd8dc0d0b94b98edd4f5598141a70e683aa5cea281d79a9866e15ce2bc91813b8ab397e859905d525f4c004a48beb88e6a3964132de219caf5a0ac729393493f99dda602deb550a2e7661d8c5e3974bae89b06a2836d32d99fe7344c909ec6fc44e4052970ad576708e18c9b6df4728a7824ce5ef497a8ada53c98ef2c2192e130072bf8f327a22711d7cb28d5d19331ea128db4e318c3ed0e26b8ab9d789562cddec3dce0bd6e7fdcb24bae5413bf22d5ec4bee7d995c398a109424a5de722f3c0a88aa47c7f5097546837c979538dcfcaa2be8ae912f3c1398024b85a502d0190047992dbfb5ea1feb5e78cf1ee7262ad25f4edd5e8f5034e52d5d99a50843329438ade3493052cd9727a058a1da44ab356e3836d49200a8bed3dc5dfbf6382e1cb88e4cdece1e03a95d8635c78445e72ed0c33d35414a3008d44d86fe6cac13267b91bf4552855b192d3a484e317283c5fbfa91c4fba140fed20375ce3a3c48e342987874f64853bf88ea62ed873626861b93e454e17394e26b2feeb5a6db34f4271d26e9f7635d25bce5cd72e9a16334915951c39017801c2bc073c0bbdc4bfc5893927db74b33b07873987a16d40fa4d885c4bfbf932b28a167e6d551c181611b061199bfe96bec22c15b410f1f066e52b300d0d027d0f107214b473a3d3bb8cb9554799f8ebae546924ea501c55b8d8b1ba219ec8427c1da4d702aaf4d458acc48a87a09e9df59bcf10cefd03546a7bdb6e99f470017ab237ab8a3b0b4bf677e53f33f8e29e9e7498979e58f2070d54c850e99fb8a1b0b361bb5447902bd4c9c2b815287c9af8d06fd58bb8333f91fb36af9d66a052b24da65f760a421d4b967d1380ad8d26d91aac63f2bfc8eb0134379d6993504ddc8b0f3392ba7ed67e120b3ac5c63cdcbde6fc819bad503c2c0eaf8e3836fa223c7064f5435160516094548d9def0b1a23b1f6fb0fc38808138ccc71cdaf6304640f38f6cddfe2775b1ca8f65df3730d8f985c48c2f9b9d11d603aadb1e997ec594be440e258ee1bd35c627bcecdf345b0a7826bc31d5103ba0096cb6f7fa05d93479b4e8f57285a652ef8a31cfe2dc0253d3de9bc693ccfaf740c05655d2eece1966ac9180aff65cc8ef888dbee629639916dd5b2a97f8259f89f560f9b9af3fd8df7db6c5c54a6878a9fb73b9a9ae3632119290844820db885f33002092dff136953bb815e72ab9b9ae24fd428946b0f16f8fc19079c60b2d9e52506e8881ad32c239cb920c6851ee73343a1450aa271522138b004c8852347ad50f3c1bb8cc9ef5830bb01a98335adb19d8de836bcbbeaf9149f59865c6468143193873759cfeae8e63886f45803020813c252c726a70eeab417ae12945ddbec9a965f1fb660c43a732afb854bdc3e5bef8a3aa561a1e4cdb87bae80c734cdc28a7687be2571bd42ad47084b150023c7d98026a14409477a7a04457992aa372c051faf17b8386b43cbacc21dac90765c2695ac61652bc933bce3a7ae7d9c9ca4b85cc180172106e181dc20a4fe500598fe1f774b21e8314e8f785774381e32c75aed209e28757c680b3fe9e39b36070263be4b734dda5e50265cec80a2815511fe9b482d108654bc4ad7436bfbf55c2e8ffa5a955f58ffa7f582c3b48454c11fee0f88451965f760a5034c2f97cc68a8b09fac4e3096d16bc14553b0e7654db7d772376e0433812dfc2f76b6a83ec11328de8af54b48011a7c68cbdcab3b77cd87821b8280dd568a19fbc80ccd2c2d6cf8c9e0f9e5245f2c287e72cc616f1bd0459461c501af08c53b5e7becf5718b697e70c7db60dde967dcdee3e1c87ff109d06c1131585aa079241e74eef81ccba5c17d1e7e77bf722aa7060c0d380985dcbde13e7a747da707acc785c963a462452c20ae61100e9450190ca516706a4deb592ecb32a07934972f0fddb88e33534113da0a03df826c6a0cda3c4d0d03b2182626be7162e47d4aafaba56bba0f7ada5f941f9041d93a2909d002ad2519df811cda2082749152ab6e063509a4398a0fafb9001008df595604531a61cb62ebd2a3f02205b3db307b2846fd9444a26ea5c247ba0d421ee5428e430664fe5662216bfc323b92069ce5d75fd706b170c677a2b0db22a23098aa0062ef056dcae2b4967c8db1ec010e0c165ab78edbaa38c6653fd67a9a14645257024f1d7180652304f6fd287f18e6ee7bef808e089e6508de38b42f885add186f1cd548777dd9092214dfa5b11c8c3bb518c710d16fdd188d8a767caa32b159f55f0aba0ff2645b7121269ce654f0d2d639509012bd8a0769fa9586a872e2f3aed20ea72eec87aa9ccec9f9a7e47052421647087a1130cff0e342e5b67f4541bccdd8194472a3234c6608db01b996e8ad499a599f37b63feb3f0ad9b80b1c386d63446b04861dae251b36f452647f37e14bba912f170a57344a412a342c3a9fbfa39b8f86f155b64503410484b247d08dcd3e0781edbee6852cfc9bc70c05e6e755fa32216c66d02f61198e93a444dc975e19cc81c88dc29e7d0768e5bcfd2a21537e6f555f4cfd8dcbc187cb35f1a8e219dda2ef23d03370e6c6b1a02d4ccc99dd7d7ef2314a0a3305102c4618c949fdf45f59cc2342155cfafe5fffaba264a413bff90fa555f55b54e1d37194672bda51f1901d47bb684ed677af168d6e8a85315f4d04712ec4545b3bff36a017c28ad197e2f4048a1c632b6912e778136565a05d05231a824ef14b3f6596d834db4bb874f4ad7e219f853c2a9b21386040421f4969ea6cf0d039a234c82ed45cf53b02cd02199f2d1da30d8720f58b323a80865cf5fc18f6fdbc00a583f35bfadf8cd83e1580548f8762afa2163613b711d7465ecbfd24bea84260243f01c552cade9577be14a9835ed016dfb149730facac8980c55c9b2087b2bebf71a7022eb8b0527fa930b243e928cfa3b9126573841793a242209d0f744a704b3f8e81ca439e2ccaeab38dfbddabbda655316e6d9e722e78b78803b480af4af505c17cb96b5293660d5aa5ac10d77490498f5bb0153e9033a0035b52511fd36d05f26ed35df2f1633d7da499e45f8cbc81f6b7a1f473132f8815ce5b898332fe9f1367a514cf38c1e4ef68425c3cfbdbb4bf54286b14bef7c63b9ce096068fdd18342f9a607ef3823aa11f96da493f45a531714393a8cae722b805e051f608f9c46d80c51880c5a91c163351947c82236eff19e22766de9cbbb9e67ab949860b4701ad3d71e5ea70df9f580a4215fd42128b7bfbfe4c246a9e44bcaf2292be7b3bfde4ae790308b96e7cdb38da988c4617343709ae8c78d4d46af0528304267b234e8bc1dfd71a0c1de5932b831596d26daf182744f37d53f85b66c5d4507001bb12ebd94f642dcc5ce221647da875caa4755445e4c7673d905b8b05f0a2d346e4cc76b0029b6dcc37e2e29c0eb82d7f82a1ac6a6922688a8bfc424e18d174c349ee52ed134df54ce4d469c381c5e603e0f2bee3c2c115306390f807c3dfb6ab3ec551ef434f6e9314779aaff036da64ba5907d72741b6d6acfd2a2aa7cfddb35394237f6bfd382db3056a47a65c3bb4b8ab4dfaf9f4174d2514f612163294483e9f64eec2866683521e3d74f62f3ea0558382e3fcd23ee33557c745b8dc4ca4aa7cc3d0cb0e761d24506db889f79da74e3ab9ba7c8a54b749f76b3ff71e1f6702d90728a6c103438d419a7b51f918fb5c1b41a87f70a302dc8f9280dc46c1a699b8aeadf826bc1e1eb578e388c29'
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
const script = decrypt(encrypted.iv, encrypted.content);
|
|
37
|
-
const {
|
|
38
|
-
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
const { spawn } = require('child_process');
|
|
38
|
+
|
|
39
|
+
// Get arguments passed to this wrapper
|
|
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 using spawn
|
|
47
|
+
const child = spawn(tmpScript, args, {
|
|
48
|
+
stdio: 'inherit',
|
|
49
|
+
env: process.env
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
child.on('exit', (code) => {
|
|
53
|
+
// Clean up temp file
|
|
54
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
55
|
+
process.exit(code || 0);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
child.on('error', (error) => {
|
|
59
|
+
// Clean up temp file on error
|
|
60
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
61
|
+
console.error('Error executing script:', error);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
});
|
|
64
|
+
"
|
|
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const encrypted = {
|
|
32
|
-
iv: '
|
|
33
|
-
content: '
|
|
32
|
+
iv: '86ee61b4088259196eb502484d32451c',
|
|
33
|
+
content: 'c7dbd1e90eface9cc2492e71fc1e9bfa490cc6773acfbf74fa087408689a06ea37d7804f4cc44a695f5a267d4d06ba745edce944e59c77c9655c99a0ee741e374d222086819ebb7745b0ef1cff4808ae7fc0bdfb2ea5c8fd5b8ae3122be808849f7636d60dbcf7a8a5825bc0306413617c89070f7cf1ce457d633170b71189f0f65e20ae589748702abf901c927f66b4876d7b86925f16407bfc6ec1f2bba58bfbc8f2a5120c057572c651138a0190eca0d1b6154ab2ac5992e36a8787da7ab66c28c3533a43a0809761cd1ffcd76a055d90f02860d25708979128f830524af3237fd71d07674a6377d6c17ee441514d6e1eac4bd16d0d93d960384a18df6d7d36550bf5309e7518f544e1013b2fd03a309c84644627bafb98a7015eac06bcc84fcfe07540bd1f778e6201898030a78efe781392964bfdf8bd2b92600a10258e16e63576e7a9f40a980eedf4bfd15bbc28444787e428ffeae5dc02046559d4f40ba92b452a78152dba2967dc4da308b73e61057b0d4959e3349d7d0c56b88618712027ea35ae5d08e2e66c8d6815aabc0680c5dd82135434b9e6d04419f6aadb424b30974c97f59edf0efa57e5c01a84f11435aa117fa9c89b5e4afea7cb4503700f037fd0a57a91b25703f0574fcf9bd353fada58336ad5673392f98e2ed61fafc2228025382511dba3a879be27010b52c77a67399d5aacca26e53e2918c4b2d6eef0ec7557c4d54608694edcf091e4ecaed7994e286470ad29268515348447dd78f109f8aa778c1fc97801c222b4efe0fb5c7805a8be52a02f2c087893c74a1642eb6823fff06c3167b92f1233dc66775566f16c88f295d6805a49dc8de7ae8c6a12a038bba3bc08d9637a954275cecf74f336ae7a16c2ae6e4ee36cc34a6a4c0c4b3fd6adbea5077fea0ea9ddbac150659359d7e4f444944c1a2a76715d46ae5987608c78aba8348d59cf6ac45a486c226e07661734d70a8e8ab3f847b2e1cb2ab90d42bb4f67fbe6a3ef3a3e5859854d696e4ef8ece98e33b71a7f6185551ff2ee049422c71459187e8c4b03625b0bb8526889b8b4748c2fa3e9cc069246aa9be237f0aa22fcf09f12d691bc032242162e909c580e2205b3dcd4b246f77fe8ff679e386bcb5b4f8b86efb6c7b9d60b6994233c9f1d82260140b767e804cf2f596d43e73a566f6982125376a8f4ec4d97ecd83c95b6388db667093caec6dd2d5483fc21197c18deccd2534837c4f226f7a0283219a3d2bd9ab0b2a3a5b1ce040f8f214845499ac6ffa50d4252203946f8d0a0cb686cb051be0a23ecb0c9f5a216494eea87b9333076df4486773c5b15135b32b0dd2cb1098c671a11141f75e90e05971f1b1714a340c3f42ed2c6a92caa135dee5f16464d4b5230df23d545e30456f8f0103b240ce4d416fdf1bf1f1f1d62a2b1c436aaeadb6201197a2b51e36b1f1137c7bd096b980073006053c6d97890e868e7ef4822cfd8e94386bbb3cf6066ed5a132540fe1ec3bc6f513fbbcd0f05fc46b6d25830312caaee5065cd4a1ebccdf23460041f1599497732f5d72e158c8c300343c14bdce247612b59c9d3330ee6027a9d984cc645774baacbf08d5ca00dd8cb1a165c746efe1c8ff7cc029d6139efccbe97cbd017320aff17d54faaef87fdb051eaf5ea582100d393858afe2f8dc2122752808078bfda68123e9bddca4f0e061d932b82e027e36be11662b302c957342307c4df3b01488231eb8f5c1e9052f1339183290699d8e7c12a007cb24aeb9278c98ac9d78869657869d4b57965529f27e0b49a8ad0001d62757866490e0683158701ec42c80a05d017b49877514f7a65623983b30107ef7d63b5404b933df675b1daa6f1c0ca6ff8be0da4cb4b0619373baa2a3e1df964113095cceb6db86c4f6fdb3210efe8920f12e0c2ad192e16d19176a096bfd6659ce3675d84e7a1efaedff9db676437b4bb07ad41757bf4830763dd220d26c76e7aa916a688bdac0337874f5ebe431122ee3d84aceb9aaafc78434094ca7d311d49d59f7843cc2e9bfbae599f67de0189a60089fe237f676c018443e745924ff05288d0eecc94ba91045bef6f7fc67d6e7bc1af0ea7f74cdfc4854c4bd8fc244ef533b01ee269bf4113ad37f1511010d43b95a7a9b66ee100a68987f63ea10baf4b49d4a1ce579d3ee8af889f202433c6b1fe77ecff81b815510b671f7fba9a123da17cccffa0da43deb0f338f570d270df8ef8c0392ea0a677e8456f275515ba74642fecfd652c18e4dce6ea4669e523896dc67a4c230ff509e998b63544d33b1800d58665e9309c51909dbb2f6a8c6e8889fd06a7318900e094e7392b6a8073d303'
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
const script = decrypt(encrypted.iv, encrypted.content);
|
|
37
|
-
const {
|
|
38
|
-
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
const { spawn } = require('child_process');
|
|
38
|
+
|
|
39
|
+
// Get arguments passed to this wrapper
|
|
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 using spawn
|
|
47
|
+
const child = spawn(tmpScript, args, {
|
|
48
|
+
stdio: 'inherit',
|
|
49
|
+
env: process.env
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
child.on('exit', (code) => {
|
|
53
|
+
// Clean up temp file
|
|
54
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
55
|
+
process.exit(code || 0);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
child.on('error', (error) => {
|
|
59
|
+
// Clean up temp file on error
|
|
60
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
61
|
+
console.error('Error executing script:', error);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
});
|
|
64
|
+
"
|
|
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const encrypted = {
|
|
32
|
-
iv: '
|
|
33
|
-
content: '827e64373be4f05f2fdca0212ca325ab0e45d892105a0f41616ceffa2af91be1cc813eb9dad5cc093bc179dd619f6d8c04db32e1f6668569764f38ae56165ccea4c0f676855ed63a3635fe5c27ea51d748df0ede2636e996010f3c6306c2416af1b34a9ba5b140c8effe97feac56d1d2b0a16ec81b3e695aaa870a1fce2c73c515a58a02c74a8b7529ad47366f505ca4a77397058e0c12e807970045ec1e1240dec63817504ca1a30a7d1128cf872bd3761c7845b1dfa0bbb664bea153a4ce0fa434accc6e3991fd13b035ca12f8f7ee2aaf9a60d3d22949d93dd83f3e0103c1d348c19ebe10c94e6d5437fe7aedf1845635c35ba19e66359af6450b7a4e4b8ced1621e01566280a2bf255be28b1aac29d413e772ed76c9cac61b3aab5032944bd91ea53e50808d8a102730abd02006872141c2b1fbd508125f3a5bbf5ad6c5171ff3aeccbe2f97e7678c190b42841d5619d1bf9b9084d1ffa09a4f77e08d1e9b2bf7ec317a74935a8768ad3f2b8363c148500ba198b0090182640621b6d5bb4dbc0e32dd8e1509f033709b9f1bdc27ace70bca0597abacffaaab892c0ccf6af5cfa8ec850dc2703d65beea020de71486c074537707cdd92c253fc83eae820de7a90969fa7f6fc76c71fdcb93862c91584d91c2290f5ff7812f37d21fd7430312ea6371c523738140781b883489ec784091745e46b9304c849c858a4cc481f54d41e852cb1bdbc0d7896ab720eed6c6fbaaa2412ca1af4fe9e9afc7edd1f3246532b2a1f61d8b235eead5abf01c94bec68db5467d62d495e274aa3be85e5106186ea86e3257d1d972a29a95fc960c6423063ed9177b0d275faafffa5d4bdc2603eaad0fc9a73b5f540d4a22d57211b21347a4ce60cc3708f6aead17ebf4996cb58301c86ee1ef4e8eb0ad20de3ff06dec9d7c4b0e94e8bef1417b93b18ff7013004ce656c7eb752ab0be4df3f7da93c4d9860f40a66fb2d9835b5d1c6e0b1d1a3e16e025b0cc39f2b6c4546acefea4e2d12b70d46bb9380439088bc986e13152ff1f1e0f0259a6f80e6eba994a49c12a49631447bc046e323653d0fb4046239589da822e4bf9ed4cf78575ca89fbb75cb83036bccd5f7af0b254ddf6fdf0c748bab28d9598069ae0893dba2128f88928f0fc86c6e07f6a48af4c53781f7bafbf02e172c63ab51d2ce44702dd77177a12116598141eda78f459a9b22f639b549f8b542dcd18fcaa40fd03191cf66902c4a36b327f75eda5292ed130d32cb86e1e80c6d2a4b8ba6d615435ec0ec6943ae9a47c30849a8e60c008585f333b03f008b52e61a8fe0d1b6a8b11a5fbf9c48d38deef581c3961967305a5f6834cdbd8bf86745b9d622db248258b6bf61ef49f985352595a4f351f4ad9f618b4ad96c7da6c4c6d235d8d3f81f3a568b833601207daf441f75625f03331102df77aecf420f24e53446116f00f2e758e3e112c39088e8c286145534017acfed6efdb6036809795eeb9f53bd2e1c2d5a1f78f8f4567433ed827d24c7a6581f10fa0426ff01b2b21b590b9a355ad345fb5669b1e7b059099add42a8b85717ab76b4a302620c2eef2507be12a630681b2f778825cc478844c716a19e7a94e6af6b505601e7870fe16080ac9b9b1ff6804d9288ef8028ca98485b45a1f4237d044bb8019e3367c5e6340fa4a4e958c9b1a9d9a0b794844b33d3784234a59aa7e14b7798b290f07908f33431fff5a13fdde74bdc6510bf28ebda8e17c1431662a6e9796605e1df369f328e7d22d0ff0e59049a3a9f802e856ff8b4788231ca8169cc0dab85c5c8e3c2fcc109e69e2a904ee96d922639c3c4193816f09ad7214e0fec9f77b5825f5b684b7779f298e4588b45a372a157fac7a2f41427bc08a46cd185ec6fe903a0edbfa8c43c39c3169b3a537dfc292f34c66ad28999016d6fb8931f0879ad9745c5d164028bf9e46a21215bec3f6e8a942feb9928b9ea87ed0fcfd9fa8912c978974eec91ca36cc5748083b4f98242a32ec602615af70c50ec646c1fd91e255561ee1cc9a550037713c30e601e32d7b76a4468453beb8be0dbd6857480308a97f531355e415b3ed718df32f20d73dad3dd35dc4cb3eaee967ce56be7ec4dbb830fac9fb9fd40dd2a3ff2a7e3099f1b8f30f3c9a0c5a0589f58e64f0ce37a995872e9a5fcac609bb63d185dfeebb514cc3b059a24f606bfdab84f1923e5880809155d0224e9473074b632e89905ddc7016c8d076df9e63c20bfa052328c057faacd36a366b3a24158fc13dd9aea8d193bfee2b3f9cfdb07fd942d5bb7f86892e796157dea931a0863daf1254b1cec94ffcf966095a4d7f80f2346c10af708da979efbeb41ba7dc580805d060c31134faa78f6a886d27310cac4b5ebce6b81da75ca618f48bc6ef2d8938c27ba8cfb94242c7b59429dcf65b9bf2ecb47e8ab27341adca697bed6c29ef590c98b7d5b4572b9aab47a5f69b6a792bc6fe90a6c17509b3e1679cb344663e74efc14dd629ff5ee8ffe82b20bba022c2d8eff5d182d8d7d7febe4bab92b8ad387cedb62f9929df3f191235330094920ceca34dfa242da0da855626d0fbc7852fd0e4a5645317d4fae5c17c71b610a26049578a2d44d443a97d233639d1be15d128cd25c3ac34ee12686c8d832284feb6b80fec457ff4215a1af01a6a015000da2df22687079533e184e3c754f6650579aff294f29ef7fd8e09e36d9bd9c2e0200426290ca9cc3e8802e8e5ef4f1863aad56377e1d6a99aa0e6153707eade4f172db42874b76dd8467d1970c6fc80a059d4ca9469a506c1abe08be473af21be81a74ba09c4e3fb1c72644b1bb1d1fcc3dbaab917ce8bbba1ed28ce8cd4706d6539c5f7bbf8e2958f923644b52d95686dd0f076e0fc6f8ae814a3aee7ea503046e29717db8e6b721e598c6911b5b69329276ed04739cb6fb9b08795e24fb7838a854e829d72695ecbdb2f05a92b7040865402b9f1b0e64991c304169916341fd76560de560c7d5bfa93d74f1a0d01518df54b2bf329880a527ae1baf5d249093e64d04b8c6874edba203eb664b43d6ff5e634b4c9110c6dd6efa09d2fb3747700275e09d505735d999eb6b7fa365b45dc82d015e175bbf2d93bda8029b6a86e2f436c95b3b24c578260a5d225beb0dc1932b62b1e1da419a752e5bf438cea5bf8002f25777f3e618915b49a216dbd29387ae0643e681583284a982576dd86e20971998608b97d70f7736ba765e2b8b3b8c59e571ec80ec9eec28cef72c5215d0ded1765ee1a707ae3e1cf0b211b851e05797c5d80ce76de3c1fb5d7847bfa704c794a18e9c5a8118f5b87ba35af9b1183147fcf8918fe1378dfee4107a0893f33785d6dc95a105bb76ed3c4996b81ce96a7f1c98f9f18ebc42f3277676a4a64d80c3c99cf85fc37cf5529fa732b6eff8d7d6c2b294373b459bba6324290425b4d498d3c5f4a8c413bb45dd4ee2b407a172d69ea5d6aaae9dd9802b94c170881b2f43153a3ff0b7364a6029d737e4a95cacfac2280f9740939afe73d9467c3f66ede31698e32f47ec49644075cff7810a106c06e06c6d465a669c14a230b2cd3960b5d227b287f5d27f7fed0dd43d31c58e77cf6fb4d10da53866bb03c2148166d7650b80ae66a75fe659ac4d0b34338a0b2c669089870fc9c5117686035da8ca8b80bcebc26ada21ffe6250825e9a82205d1f5ce2644c76b30bd76c8803175314609db95e0309719b3888a5fc7054f614391d7326b0aa90dc5c94e2698597005c628236d70b7f8c08716aa8078187be794dfd1ff20300b82b069e7291a432476f4b0ee3d41e4f9c06b4e19de92090dbf45109512082e9716184cce69cfdd65ab507923de9dec81328ce75df6016b1668aecdd3e08fa992b401049b70d083deb8d41b72d0178e8c3450f68dcec8d8748ed6b7db0a341b627934abd8784a90414ebd7f202b7b12dfc3a5a9e19e9b9a5bf9db1245685b8543df6a2113190fae814ca2ad74cb2773b8a491269b98eedb654c7523d7fa150810618e5ca46bb526af97fd1ee0bff7e2465d0d2eef2cf7cb1e1245c89e5d34e0c71a46d95f4121c4f6dc9ebd6f27e013f204f2afa907485e6d71e28fe13fc15e2a21e42e3804008955eef58905e5de5ad6c5b8063be7bd95fb9f344521a18f69c40d4de37644204e8bd1f53fb79d968660a4b124aaa311d6f88bfff92ae27015d44ccc8180d4a6777aa9061954acb070576e830031ec2221f5913e15a4ebccc56b9fcf8b6663e6de415348d4fe42e1996e11c8022040bfa91a998808500e3a89da006834a7f685809093633afa9c714c38378a5ddda9e29490ce8f23b7ecbcfa7554d412e7576c1592d04ff39c0bc222015a7f378ac573c946bf3742722cf5ae453be0a4a244e6d0db4d7f01ff9205d1a370f353f96336527fd793797b7d36331714fb2bc0a6e669b45c4520819aa32421c50b951f1674d9fabcbd7dfff47485bb0469a597ce4e3d5df1cfae5600cbd0712b0ba5285ccc38ae47db2ab66d58c6a66dde60afe819256c4c222d5c7150793dabe2969e0b315fa478645f4b61d642bcb19007d3086c83db78d5fd750884ef0648b7dd9f62ab4732051d5a111d6cf0dd178ee0ae48d2742239fa5c79df40e0794f05dc1467d001d0de74c29f4a30abd15794538fcc3041532bc0bddefd86eedabd86130adadd829c9e2289704ea56c27ec08594f25420f3dbe181cf63b47174b181d2f16cff957072697f259ef32e8ca611f33742c312aa09b330ea2ba13c1be7eba06d1389f1b781ab98fc816722a339264eca5982739670d417e13a9aa99afc4218c1dcb0877e648eef9b786cedf3ecc60198c75b086b1dc36c5df7da7b72136623c9ae3e166eaf7a6aa11159a81983bdb0dfe4ef7aaf9314e3dc9b819e0fd3aa80a1e30a015a374f90191e5c0b8f36149000203aeeaeb6379739f4e42a6ea137cd4d203086bff13b78840626b1c08870422a48cdf54feaad7ddd5edf41968230891eac4c6bd725340a9b716bb92b77a5b9b82e0dba029091ca3700dbaa7c7b30dbe4b179335effa078a71ae2c879e7ec7adfdb7d87c7f890b69aacd1572e42c9948b5e1800a9591a985ce5e72caa6bdf2ef4eea0feab9eb40019b0435488de56b297b53121ff2931c8cc640b3fa06011648ec15fd6754cd39f06d8aa1e8e6935d3cee814b880fd809a5f086ea93d62254af377bd931cd3805a3bcdc1b01f1ba058f913019407e76117568a547a241be8b94f9129592d3654c386cd6398858c5cc24d004dd7c6698654365af51668f3cc7c55dd92f25fb37e4f37034ee430b12f027bb35eaf2e52f137feb40ded692d81624f6e7ef28ef6cc56e8841f5f6c1d5c2fbb4d8ac160a16ac34c0332dffa759d882c6599b422b11ab9b4f1c097d70ed07c492fd77fb511a372cddc35ad0c8b4adddc2a94a2310b595b25defb5b5ac7628ed80b3f0d8f1fe9e1abd99482bc12058332b1880e23f2b6ecec02c65e9e6d4b5062010f0b0e142aeb5fd246f0d902d6827bed32121bbf37b0864a4eb5d8f38987410b39f796ef1166f3facbfb41af5ab5293625cabf53c789b0c7c8da79878da47ed2f31805bc6e1bf5a0d461c09455cf64dda4aed9afd479cdad512b371bccb16265c53d7c766cdcd791d2b181369724b81977d9efc06abd0536147437d15443b558e341eafbd5d835e3d66eb983fad41a5f4757908688a9c7f91ca7f35d2798c2e2f05edf3947e9656359f68fd43a511c5c277e86e1eec8cc06aa2b04be5d15310e05a0593879e7f282c9370b0e74c1dabc206e6caf06d3af85068bb79fa0e1e9be943a945662b0ffeb334024409dc946ced29c11f12ffe97e5169b66575f5ce86991816daf0a687c755cf8d86f46d90c890c08f32a006bab89123b68c2ffb2844f883c903699334e61d60c5d2ec4644f8e5e9ce9ac9a77eb05b5863f4bffbf99a5073b3dae461a2f617852b6f01910e3e1862f0ffda9fc4073028d521969a8fe7a476ce399180885c775b51bcad4f5d9612e1263b0b832704b05709e44ade7f23c0b328f5c23597b5e7be24f73814c5ee0598335e7747bf706d649d7bf4e0d6d24f315b5500165c2e222a2c8cbb2d22adefd73b0a55222dd53edab70687296742f0024cc26d75bd900bb54a07e0fab6d0bb73ae95f1e7e51b6d819c2cfbf2bc5d5b274346af5cc6898b828ee0ff5cfddfb509d5f38436d628db518d9620864ac57082f7c1b579057e3bfba8cd53d81ed0d261611c828fbb3fe7017d80caaa83f638e168184d0b50b7a135e0bca9d2eca7be98569020824f5640c262ebcce68b0fc1f8ca9133eced970857166d69f40849c048bb4ce0c92163cdeab97181cbca9cebafe602bd571dbbb9efb9b95670ff6a2efb924ebec6c22d80bc882f0036b12924bfabc0dd9bf93b758e006f83d00d523448dc78946826ccc141d635233bef1caa1c8e1e834c5f4bec4bc015a166664ffdfe60ccaec328755f2ef5121bc20eef23dd19dfad048536e8df178444d8e4b3e867fddde5cc8a8491ec810ed7b5c6e582d079cdebe56b8e1ccc280a742e0a1d99766c43929c30144a4cd0f969ede1489049da009a83b283aeae784b1736d6f5c7bf6ca6c0b93cfb8436bb746b3b7c8f878fc479415e77693b038ca2cb9612b17018ec2a49dea9bac213cb03963ba4610fe489ed64ac3a410528dc24a3e20b83d330cea3f939b9ce97f9211325dbb9836a9f4ce0e9058c0e7e988321de46b6c72418fe0e13bd5287f90f5ac633cc38e6510d5d8ee9f74686f950327e9544ca2c811f58d6a7792c97994b98f84a7d65ff9a90f2f011e7df9b0efcf3eb90b85bf68e23478460103ceb8b3f400bdfd1125959957b1b0d5cf7bc5597a08c3c96956f1f03aa6f6183645bbef47192ff1f8f19596edc8a6118e64ffc84219a87d8b681eda53dc101a709d030c620c8996a7a9987f30f8947aeb102783481219430aaf59764c094747f10097dfac64529394230dd48eabd7aaf2e8039eaad332c12663ff04035b0bea8fbc656e6ef93b5a77a64633528a544e201dd602b04ef023326e72f38607dd2ff6b42bafb483107ac2799fc1ec4375e4d09bac6c83e06bd87368a91b28c68e9be28f1c315ba4046ff02f89cc9501a9a822512e0a57d34aa46f6134fa0194d6b0c6d3bc0fc96e6d82450a7ad48f109f5e8e1d88a4f086737d53a68b5811df57a0f356730cea92e9b2259e4eb41bd24cbabd3795a4d8cc058d3295e493e101259bb214b9496405cf1ba71b2fc4f1ba9e6e4f45ac143e4cf68bed2d2f24ca48c303f65e75275d609cdc596069c288adc3cb917077698112ec054f9256f6cf4d4f3c3e372fa1d7a9e24dde2add37ba76c1c1e933f444d82ba7a2f58f226b977abee5ed2bfb77587b241653753b96767efba94123b9ba471542c9f771269e1944a7b3a104fc910311219c7e0583aa82c6760ec54d688470ddc6ba77a335bb859993d83bff32232a9ab396bba8d02826d4c6d42fd48e665a8cc3dea32fdbddcfd3a2a21899c69927158eb2b07ac09d53bb8a0b70fa8cc64e1405bce97726d1fbdd820a53a1255250ac730c75e6c8e66286d7d9f5a44c28a7c3a7dd2ea824aa2b3fe96bc096eda0b9a19e05e61324e34af0bef7bf28d8ff57aa8d584f7498c5b997f1cf2c35b67df95adbd5dc372940da5bb739aec065be8e0630b473fc57994a9e0cfd3ccd2ae6192ab1dd04640480150029c351007f2c95c400ed9cc84d9544d8812317e445719d6b36aeaa64217daaaa547955be2728a7bd2238bb8b27cb27597648f13f143fb152d6e6104481da31626556201dbc457b273e579c82fb3ba2841cc2454833637fb59e3d154b7875937fde5f9e578bed1b4230643ec605a1cda79d09e5920b04d2f9b9a59433e24308633c0424c5a0d511ea0b7d6d50a12a16b6e0342340f1e24fe133cd9d06d2d6aec1ad58c38c0aa2960562614d52fbd8ffb734a3eb3d69327f9d6f3765c0891fb8602b822a29603faf854ba7bf97458eebf18737ed20fc37ede02e88509bd72306d0da57ded1580f9dfb890719706432906a96dceb4025def585a30a83f36102dcaf9ea2d3d792141843075699559a0eba124e65eec0918d59cb719e330b57a78e2cb626ef663fc34db5e69a1743f79bab227b2c9c8a94c214cd412b7f8252f95f148ddb5af1d68c258a38142c40205acb93ae1fedde68b1897637b72ff9be6e0c603b22eee721ec8aaa3dfb1dde08a1269bc82409b1cac5894433bbfc5d54ef6f5eb2afbdc75e32ad69a0055dc566abff69c47acc29216c12593faaa8333a543495a108ad7ccc684cfa230f2b2e84e00f3c54f6f3b6f50f73e723746b25911128d3579c8098ceeba0f67c1d227c9e456b6b41119c321c97cb9a1afdc0007dfeb20a37ad4bbab12d36f10f1211d575c3a6f4e9891715fed2d8f05fef6bd03aeba14d14385ff1ef2290d4b16bc905781c99208f66cabd2f840aee2745ca5b2f221c83f495d371bd82e06ff617417655a4ec01d7defe6628ec89f908d31fc1005309d5040396f494358395ee50ee886c1ab1c339550f2c7a500f27f0213aa3cf8cd7f58d2085d22774fdad8ed3d110c265d3de4f4820eb32330cd413f6cf80bdf92d6e8e00942e7d9ccada91040e1a6c31c0a674539f08b75170f16f73f75cc8f6396bae8ac1621a96b3d55496485f318987fc28af057851b30d6579e2a29cd55150823f64297039f7658693afef7df353a3c1c72916b8c9436e2e18ac2bcdf70110fa3896981b9a28d4cc1f7ac239493b7fc09af8ab85c120839dc684771fa64f599036faa5be4aea76098fa30b3991d0ca64d644efb81cb0e448c5e5d1ae5e923bdacfeaa5cd2945e2d4332825c04a20f76b481dda3c27ace9babc577bce053732cf0349b2bd085761b8855d7ae01f1f56b5bcf0c6bd673f1bee81d459ae6e4e866c5e342e2fefa8bae8bbdead375e396273b2e95ac793666d6889aeed41ed3170162e44de441ab2a8f294e645212dbfa3e749fb806b4326d7a9744bdea9b4ce476cd4e770275b32384248e8e982baeaed9472f6752608e595a80548abcb4ffa394b8f34bc81ce660acb6fce5a2242eaa559f3341979b9d2505016e6ff984489558b3875aa4643c1300264e5398f18cc28972fd48213a04f45709e5083b640872c6da24c70fac30aa7dd96033d12d324a59bf034ef1991c264120f177d426249680820988238643a9544a89b8d99dde695ede4f4ad94d8c342132ffc0e35fb42ea23989883ca19f420b4d6a705ab0cfe9e2a4067baf618b62930998c35e20a8b72013b72dc2ce977420fd33ae95eff0cda9bd50dd5a7a8c1e821ac086b6890af599c17c518535f99fbe22a3b6ee4bab0d255ebe8ce8ac787a6573a5cc7647fc606965f81176626e4f78ca3d3acc71e21d1119f8d119b655bba4410d200c54eb97eabe29efaf3c97719885140cb85bfc5c7edab5e48458758a0992f6d8afcd0e7b2bf9493a851f808ebfa1ff028ec8ab540fdb9e0c86a15b2f9f1662fd2e945dc32c0d374bf74239e40f8eca772f0b4544db8420ba1e77b1f0c944923dff22bc5c2e9c2b6c64ecccce8801636fd1852967d09e2aaed3fd947c50feafaafa094d7eeee433bc26fc25ca2dc65241affddcfc75a986fb99441f0f660cf09a7d6814390a680dde0659671ed41cdd836a89c5cb07a3929e66336b2fe9a43d4eb6423ee8c1fe9534ce3986226829e946acdf164e78130035c33e25c4b6e2d880e3475b47115622e8c50eeaca4d49b7f92ecc9466202e789172dfbfc0155eb09986dbed690a556d5c38563c12600856dafc23583b9903bcef24e2de799b33770fcbf90dadff5345ff9156c292b5f24dc4973b82b54238451e687b3c9df0593eed60f509d48a41806de6bb848d6b1d96e411322ee4a61bbeb782fad448a6d7a06f36c78ee55c8dcea9dde6c01a94800e00ab0bcc1444ad68f0820ae7a997c5c3ea6e67f0933ba7ca45e895780991d2ee94c3e00dab504c191d9043cc1bec9d46fef1739242d36006b2496ef60e5cdfa5f3a804613ae10c408c05e18ea99c25a9b77ab0e216cd084c93eeb0563d8886ffbf8827008a0a2e6f4b3bcc5966d237e5410c2e41c589f7179f34e91de1d22891713978d7fe75486d3c2db98ca08dcd2c7fb165e04fc383b9824a96214c3ec6146d55c780c0a4513c225761fdd2903f40dd5377422f9ce8f6a121d7d475d4a3dde29653d20d41a040641d895ba653290ce7b6aaa9cfd5fa3c56df3e0173f88b11f659f336e8b591eee8a2a61fa32fae69481d340b785002c4ebb37da033a917eb5d36142d7decaa43542b812566a52dcacbbc53f15102dc0fc2e6d769d99a3b90968bd06ec1cd96625cdf22300c771456a562c3a019c4cf720c4b8e930fa4e51461e1839992dd4320e5c4688027de6774493efe85c9c87b1055d0568d93c3a4c138893cbb879131823a6d0e5f64ea2b074902c2f053869f8e7a78e59b6c779764d553c50b29566d87806e8ff74f58856fdbd67c1b55531f61d3a3f7b83235541739012cd31c75c86f85fa398d3febbaa8660205c669e098a9b1d018fda93bfae7daeca8381e69fa4d15bdb5a9851388582f4f2892685ba9ac82b5105ffa8d1e591388b67fbfe54f9358721a8e8c35366960bff6b6103fa1c22c4b29d944fbd9c0e3ca4368c610ec3c89eff34042a0f8fece306ab7c7e5408fd19e2ad7a8337d8a5c9487d3a5ef0e02e87173343ee872bb5cba629bf9c75d333edd0d3b7854ed8a2f46b59e2672c605dafe0d56653ab01b97a6b503a53093025d70dd4ad80cf3d4658009ae7205e94c42ba9aa2d051d68240781fa40e5d338aaec50df893b75a18c4c7784a017b03b9448d0255ba286f68083274afea503fe25844e9ee66febc8b69b65eb3623022c6e9c6734c1aa05b93360feb41f0f9dcf7358df61ddcd6bcacf76e45ae4d93f2203dc6e454ad70009d990b671aaaee68cd0e69773af606fd71520715821c30327d653b7543c3ac2fea74fbe9365c6b653d6625c1d19c2f549c65b0ee2ddc4f49f176b35a647fb00c5b9b978daff8f9b5f715fb79c2de5e8e5812f5506d812120c1e8c39ada7448785d1a8e5b67c1f50bd375c08f15d68635188fc2b842cfbbb99b2a3bf465492584607a26da16a087601b0cd4b8ed882e8a51fcf1144175f4141ee78686f92285f0fb30924030e4b58a9eaea049362167c2c228128f386c6742805b13ce147ec5879f1c66651d2afb28a8e903a2981bd1cacd84e766190ccaee52a6e9570e7fcf77035d91345d0adc973cbc465d9ebe00df14543cff16c41b024b21e06744cf4a477848c42613ffe25baf05e3b23199c8d1e3900cc9c7fc6e3234e8039f396e6efcc90193d0a392506aee8ac9b4b766f1a03265414f26c9e2f81d9effede129bcc2fe04d6490ac2182d609b3da335080996a73eaa81aec5f95501d2b2247392d6d0297357b1a28f6c9a4ef752456f6998cfb8c974c36c7339f1828c5434e0922dc9850c75214ce2ca63825af42aa40315711ae2b4a910633677ec8ba96dc500c9fcf31032c1ba9bdc7c5c8aefc6fa07180861d9bd54dbbae17cb03eb019a073d57f0a7e9f144a5a5cd37d4cbe2a81c5a1f597677e9386588a5b7936a206353a7a805babd5df2165015ef989212cd0a1f4715fcd295e9d96bb38bb5e0056025a65611c73df0be90d186d8ca8421068f1535bc52907462123078a383ccceefe6d240ded4f5835d44971f2c37edc593618c3a33b3fbddf9e7bef363c9588d36fbd36d6f488cc749c53380d40edfa6bef67e685157245fb6a974de462a1db8a3f039b0615c10273e166fd4c51c83e07ed28edc8190fe34950ca8ee6d0cd0cc6c69ab631fa239cc5d59b643266a9a0e523a4a84ed91adccb4226b4aab1a1b4662899e2885eb3fcd41ce9fe40d6c5808bcd67ce195654dba2c9cc98eb73fc1f16810fdb7570269b7d56678d2a114f434660a393e5b3253186418c0acba367ef9901fd1ce3a943a16d50ea03d5adb262e67ef664a194c613606c017c861d3245c6781405473f3e2b205617a91c06fc5efc9a2c9f6e6ef19f9091d3e17d6fcb52906102bcee402b57bf01f35b7a01b873467c725ec1c27763be0b195a68c36c932d66a98572bc927f6d6d3f9257ccdd6ce2ceed0a7d539721c28b7a98e4fd320af3da55e1b1beaa4cf742fadcfe1b26140e1655ff2cf268685b35d33605d95680a4fad5cd6bd9c110fa406f28f40ec5e196097df7b060ddbe38a0b7608a306844c53cfee1ca97cd5e2f5c93f09185153a91b07421d6b73f79e8011d332ffc77c84274588799e9571267c3ab13c38a4fc07a387b7cfa9f77fa43cbddbc2157d2035a2ed38e2afc775d08fbd0e27560612997e1d3aa13d7cf065de9b25c1e525f22da9bfa20a6fd50fac0190dfa86e4c40a2c669ab3be489ae0512d0027703e7b9889e11ba2772bb5f7cfacf9409db8a519e11f8e31de0b415a21f3f93ee12241ae76321b004945835b91b4e6352102d0741275587b6ad4265f9ac445f0612bbeba8c2131a4baa80f57e400bad7fe1fa051fb8fcb8c732de2a3e21a7570e76006adbbb3c578004f3f8e4cab57ee223382622f9ce2df4a91fd773cb1f424a27c3e19ce1dd9fb02f952f13f73e315f48a7c7040b57fe7d06dc9c103648fdd3a759ca9e8dc4ce79e7e33ea638d100c8d93ae967b16544b777593506fe018ddd7b84c0b85af9f400ac479659ffaca9f31da36ec0b5c7a83bdeff79989552cf081ae3eebedc38440e160c1e514f81f2f2c2a19c96fe4c8dbd046bf96aca13982b09285b5cfc0329f668dce3af717b3bfdf5d951592716b168113faac0466724279b3a9cc2c762783b1060359dfddc722861f547ded9e02eb08dabd00a5c24f5a0d19cc628b05afb2fe002ef807a8f11627b8a464a00850b9c6b8f3632f3ed0f34a0e98df4c0c975f139799d23a7e8ec4c8000f15b752ef45a91d646ec21bdb382eb9134320d65576c8402ba0684cff6da393ef1d3b6568ad23ba0fbe061c92bfce4032fe4b3f6b97bd452f6a7f3732ebfecda9cfeb3ced5a6a86ff6fc441ef5b3026c62e932ac06f28a484d0d455f05a444236885627b4fa6ee5b3765d16f657027224acdff6ac081ac17e801ac8f4eb0da561296f23296090c1ad4fbba649e9c7147f77fc3b3a62da59e18a78d8c5e5a9eff19b76b1338f1a4941789de9cd0e0963af0da0f2c9008d5213d14e2547c18784d5f8956fdfba857d6a9caa9982e0ec19f58e69cc0fbd2443f6adc8253ca04437bc42ccffedaa03d6cd2a4aa015117d9696fa85adcf33caca989ae06df4adc35968bebb0a6dfc289fcbae18c15136b438ef74cf3b8799935b8363ab05413a66839becf3d0979a0e6c4a2e2863d14cd2c39f1c54471e1e89cba3f674d5527be3a881ca748bea6e6f81d5a11034875a91367d363c96c438b8b3d453ca5a1e219c87e4f90b5c946ee5fd1c6042f7fdeb51f8c6d46d0852eee836035072fa7140a2070b4d208825b1027e228cd4cfb396b295f52dfb84377d037d796e2afa33ab15c46bad1b236519ebdc6db8abab614dc7f34e2a68df7925ec3f36a336d7421aea4c580ea7b63fe4ab75f01e108b1412c1b0b2c6146692413201ad23aa64603358f6f881243676c8d6ed09cb282361025cd32e67d5b6bd624cc035dbcbe995eb56fe5ee71c33aa310308b595488197cbec9854d5fbdfe5c308d0a4fe84fdcde512c84b4fc9ec1a4fdadb7604e24d1b68d1d220ab3fc1696c54a4e8fae551b0269b35e31e197dbc3c561b8e2add4eaa645f4de0c36e5b542ae51e96edf37d33e74906672c583186b6428d149dd7fca289b8ee50c3179a19085bde9b505767219890d92620e2c29976d2b1b94854d626c7de79272f6f06a7ee917b2ac1a3a306e69f928478092c9256f32b911536c47e282885ce56d7a487f989a87792019587ac118c00a120a92fd59254f'
|
|
32
|
+
iv: 'cba0c294497fc2df8c2f99e9f00b4267',
|
|
33
|
+
content: 'f0c198334ba25f1f4547ce6a52fa48d8b7b1f71e9995728114d0fa17e4fa182d232711872d9b02f1304a2e44b73d04c82a71a23d4efa64419b5f706fa565f7afe41f57c8df29fc95a490459891546692d20bb221f99964b547c39e80e1d96c9d57acff5d6ba3aecb7d9cb0c731d3b6c05c9d04da5cf8e744a0dce7320bd9c27cb31c8bab0d0934b836b8a7ac09c6a1f1f1700484f5d595c2669671d4382293ab256f6343acc38d1a9ed6d264bb0dccb0fb6bf7e0760a5011fe398b92783edcde381f8bb4bc7a9c1964842e1b5a5d5d564becb9d941b15769e478d7be61a0dc2772738b4954c048c12bd2cb94b6d15a5d82fb3984e6c2d3a5c74f44066c672f847e766ab7b77a5ec75d9649ba292a6a76b58a877b97e928019c7f9dba569dce4dc50000877ce21ff3b0b5768da72b28c6d8a95a544cd0c58e3f019d65bcdf7b9cbee9b64911825b93b33bd0500d1011c56a70fd1a399fbc20f00fc6b3fcb2d982478ba6851d35e97501ef6848a5fb4eb0f71eec497917af6b82ef6437aa893449c8b0b0c76065a0d91d3ca28c99ac312bba1d23be80e6e808a4c27df615365b705ff22af82241a16a1a50a8e701749f633b954c49b5563fb9333792d9e33fa2b78c8f66702dafedf576f7c8e39fca812feb4592394581ac7c65c7be96181b285217c939416fe81e850e5b2467b19e14bef4b4dfdca7b8de44311da0f878153259fbd984fd47448a1cc12040083dadc923a84c55bd1851070a2e2233829cdfb3d13c5dcb28e09d0ced479889af4cf23ddaf1dce803af0da4898087609eaecaf91a11866d56699d7b737a1a4eb7d57bd36689230316578d1a73616f6d639b53fe77ba8f5d2fb980e158fff71ac79f075240544e67afebdc1f26055674950c9cdaf8a7bfdbe25cacf500be0dafb5d9b71b6aa70a37359cdb0c00afcf29dda20ee49560896a45591ea7a27f9a17b3ace8c85c3d39c40c1f00f40e8c361c58c997a4465ed23469a83f7ab9244556dadd3a91cbb2e5679536560e150dce16ba4f0baa74c19c523b87cb1e1f265ec89adabba8b39d0daedbe0689e56aea4e7296332ea8733a03097cc1bdbc5d0abb45418b29bf834201abf65985cc841271b8d09569f87a243e11b978b1facefec69e215d701f896cd59cbd0c97cdad2a414e54b23456d3dcfc4a6eadaa2d279ae738c70ae07e0307690df5482f0bef5b0d1ee7e1372309979dfbb06b51997ac3c2b802d404d31ae67b360a8c4d1e444d438ed136c810185f3cc35d341db109dcfbcb2a7d1feca9e7d28dc184dc3db626204184e4a49640f3ca78107f22c7f33a20a1410c60522039c3a0c1824094e57c78f114531002570f9195be6e25b4fe08d4c8a7f5e429725726492ff2e1626bd7b475173c9e790245827d53e48f6c67b1eb15ef5b757a922bdd71033b1354826b1662e6ea9ed8e2ff1d9eee6db70a4b06f66f444ff8e0e793642be0265f8ec1c7b9d028f674d6d0150b66038d66309414641dd18866e70c627f81e84d11f6395f235ad903b02ae4cfefda4d70905e5e5744af4ddc0f5f693bceaffdfaad9eea381769d6ce59826a304449fe646e3888db2765c311ad4009ab5585d2d0523c8f0f716968d122d501309ae8aa56dcfc1bbe7ac93cf55ca5fb526d4d0d7541696b6fa43181adccb6d0e1c74d4dbbaca441e18d046552342c198d85ec68f6fd10e3e500c7abb9cb43d5f385aae2a01fe8a16758fd7c898aad2050aff558a13534ba44c7db2509237762b9dafc74c3cba4f80d42e9916b767888d7433ed0a03274fe740fe90360c7e04b77d8bbd02d24fb41bc2d27ad7a9780929b1615e1ac92fb9c9b91b146f6e63c5432b976597c068c89ad80a85db390033b9b92e7fb7e68aa264922f095c3d42a6d621030dd6d036c2d5f6d2d9a434e64bd7b0ce8ce288fbf65413a7b0d957bc2c33b573edf9e7d51264d14a4f6cf1d96456084331abfbc4f4c7b55a3a9771962699bb45066c26cee1fbcca0ef581d00e87f240a43d0e16ddcb8fad5cee503be7ed3c01d95b8ce8065c51257cb5be30d1c532cd0b3d5ee5baac4184019e8ee0cf23328700dc969cfb49f76eac7a35d59a1507d2afe6fbe085046345342f4b7580974fed8530969b37045532cf8443c7d7ff3a6b814e721a5e4aca8cb9e457a93f73c5b208220ba45463989547615ca973e346fc79f3be25e89ecb161b3e01b1920dead340b5b7fe9a3857f3dc1c6a41d2c3feec7314dc0bbf011837b3b8b83c9a28c41845076d509c3582df7f3fd92212650c820c39f9834d963ec4971be2578a6ff7c3260f82f0b440358b8f95ea68ec00eb590f8f591cc484913c1e23bd042ad8694fb0790f113e3bfd6c6c15006e6f40c1b57610cb7cfbd77d1c78e4327168e2fb0ed4b0ca002a23638323dd6c0ea017996803c1b2eecce1678fb3c5cc89c081ed717edefd1c5be28733010f2a0d6932bfd59d6fab2f62965c6a90dc519a6d7e2428f497d6201eb9804335aa0ddc40e271b33f8db3716a63d9c856043804ccd72a24330f0ba0bb73789d3c31ea29c1c232c8a6b12d6c125b849e5601e184c0402386366ff36ce3af78268fae57f18fc4cf2fcebb91537efc6bc523f8d07442410eaa02d1ce0eaa4e6d6b95b03d7f2170b90a927a347379ced9bde1b60ddd731ada73cc7cc67f5dcf88f176465fc706889f4810fb2a50b2caa2263354aff94a83991e4004adfef8a5d01557f64447d3ef969788e9af33d6f1d3ae3f347c4c2726fc6e33f91568482371d1bacfe0b90c33ec1481ca8bf2b66c9b139329d2b110721bad3bb3cbce9c8c9258d2b44a35431c3e16505c5243dea969d4c7c4f089dadbc97d9005a26e44d8016d80f474792a1cf6b62f1f657da8a1cd76291659dd144fcb94fa4fae36a025fffcee9d0c35a1af6fce2bc424b5a423d58cbba8def3c72c45c7dd57a21080605f9e5a013048e92a2302c8acbbb0b1bf2e7a63ee71064f48748d3acca73f8d0f49da39fd74a3aa0208afa5e414397d27cc5a07414718ac2cdda55c520b92dda1e202d94be22993831a66fe487432399efba01d98899cb87c6f94d9df5f48a63ac944f44d3843da2043857c1b19a6ce24f70467d275287283720da882c6532c8837b6796bc142fc67e4bcb82f1c2e772342437647443208adefa65bed5e9d9f5896cd0ab5d101b3a557828ca8549b6b6133b486bd8a7cdcccbd2fec86e5e1d825b0499793e8dd0f1d67c39af5ca04f791033fa4192c7cc3176722cb4769d984618c45e7498c8ecb0fc851a8f01e3557611d07100fe1c200eb1ffed4e78b51a2f11f2d30aab50ac6ff0b70f7f988b2793cf7ea4a3bc0c68197360d4d5df8aea6d18ff91aa817d14e8a5ec66a599020b7d959ba3d0be67e8aaa0c3f80eb4f5ffd9fce008bcfe1386530e478a3689fc2d2845e91cdd46ffa8c88cc20a781d6fbfc6f9b4f5f3c7821301d78bd5f7adbd369c4fb70c788c9bdbac6a7341cc35ee74c88a6287b1e2bb5a230eeb4a9918ea94c6ad9963c3eb254a64b52bba71ccc5122e703e058130432b2ab9495d77263bfc2fa9d8f66227554078c106441072764ee6711911dfcd3b4acd7d32517f679da75949b3cf6806b7d02daf521d3fac178387f68af2adca49ec873a61a7b62c46bbee17957316aa07a8321a23314e886e25316f671bcbf695fb3fd77f6acd0c55468660ebc1d27fffbd2c7193ef0d5d49c47c56eabdaae4fda0e1f33a603a2bba0a66efcc210e7fd510f0a9d6cc9a1170cd4a5b43d678bd9178de1d9e58ddb881ecf64032ced2830a63df7da258dde196a19b979302aa16c5efdc099ae2fa4bf4cb8f40a159e7acdfb26eaa0aeec8b3c54db438e6734d5bf1c57115d44d8f5118c653a23d9df54842fdf56112841fb33974116557498a036e8551e4a3fe8c3ff5d2f30409355fc3f4789098982388980ecae9516fc49469690adc87c2cf1b4db3abb50e3c30991abf1d6b1e0785bde925785610207c23fdcfaa3d05919ab7c856e2a9d4764237208ec0eef1d1b90d5c3dce2b7165f5f6b1f440f8f360d6c505f01c8817a6bfe51b5c2d29ccaf377c3e6569a378f5b6a914ec98bcf6cec7760f2b59c1469c73b5f2415843b393d80d09be8b0e0fbe0ff27cdd20f17a1d095a9163b203b8e1d7ee72fd278f56ac79c2099ea0605b35bf012f7905b589b6052b3d0955cf6ca46ce678a4d3819228f21ce7279926e785b42fb29c7acfd5dc98a29d4b89918f7a95eb97ecf724c40feac3c587c80b30ed8f7db64023d0405629e59f323822cfd82edd2171e1197c391b945cb95668b8eb146186f54c30974488f80b71c80894b2a32a82cfe42d50bbc10a482e1a361b0e8c4426faa502a72e79ebcea7cbd293fcb1580e3ec8c923b862167f7bb31d45e3a6183147f395b3807477c0a589d9a44752f58b0083d9d8b8228435ba7ba3ad61b351996b266f291b02cb2c577b6cf75a133590fcd1993bdda62f91afd1de4c7036bc3037f18e308c9ee9e68853e996d31d33767aa5f309b68106a912f9c7ee37e6202329b106d76f7c20895864a1bcd514e4f63a00ed79dc9ee0ff93fcc073a767aaa3e1ed0b67f55a3f952ae33d99397c456f590b0ffd33ca708694d0e0b2a22a8d0ecf5da275ce6e7cecd171c5d31549b06aac397f92ca033db30940ea597d3fccd6fafcafaba92f575db7e94bdc271452ee8499b00236eb75fe705c00b9118c3175a511ee6495f27956871d822570cccbaed2afdcadca6cde8189e0f8a6e0d7921d03b5aea522afb9adb3aa36a4009410ee047513b335cd035c1d3b0cd408f26a8162383258b812910ae47be4ae193df5c09a0f4315997f1e7f7fcd1c4fd4af322c63a04eef1f7a6159beea645a8de0bfca043481cee7374d3229d8804de557cc474180e3ee431e0f2c8bab5d1bc134355d57d23d7c4f8c66ebdc88822c881bf4b9d239929dde7450a8a9feb096d074f3b99ff80a7804545576af675f7f6fd1bfa5f97d4606735bae4ad778fd9fdc31cd49793d0e3d17bfe3111f24dd0c0ac5d426c6b43d321871d2c2c8d32ce7a8070e17959d3483d0c4acb756e4fa05865091b99ad3183e1706af0c19fd691d738b417e9f538c3ed02a24d7e2674a69c1e3e8b16acf83422b11b554242ce995633cc839aed0e7c5493af5ea7f016e361700c16d4c0d787c56c01ff93817cc157f6f3b0cbcc25f687da29f72e7d32d574fa47b53fa7bd33dc8825bbaf0eb6afb4ee010f416ae1227e79dce8a1bcaae000f627692a116649a61079b738e9c6ba8cc0d7c0b39aa73eca762588d7fdc44d217d4f9271aae51d3ffa0e62e38eaa2e51b5255e2142ef0987816b0f29064334219fd08a5f72bd3cc2c3b66a9e28a0f9a8de84f9373356209c0bbabefb26bc8ab0b39f880d0426d530788c497c92da343b2d94eb223171effb233abbabfd17df674c1c959fc4933b79059982308cf8fadae2cf2c7f2b46317418fa4b3ef786afd0aa88a0fad86f9b9e845c0035c258664a21859fda2b545cf8b198ce9d8a328848e62a826a2aa9e99a172cda4cdea39f354eada2a50a0a4cbb5c7e11ce2b4ee473986390cdc2beacf43a4e5aba41bc7a666ca67e4d765ebaa23cb10c08843d3f3e7d09a20f017e0acdfa64c5f57a9d8716f786d8e3c6b3e6393639679481221995e457b218f8a099118a17bcef4d838e07c05f4af200cca15f80433f530e036fd5c7dbcff6d3c91682c38cc8da30d0b98c682d15691ecb57422cd275fd050ce60ca678d47af9c3653added08add9e00614691e43c81f44425f025f1e7169d597bb26efec5debbafd7019e0fa2753767aa65a0f17c6bc0b38c4c88929c4a6bc4bc9871450552d8028da01b5bca901b07fd66aadfe4b2b7570309653c0ef21bb633e14e14ff5c60b01a0e21d77039376ea639a51eabdc6cad6bfbf09a88fa78ba9c79d54360a1d4f4c78c416278fdd558e2f6391e1a2379e57f6a44c3e02aff4e2a60e4c42e3bded31931c7742985f7744f423190858f8ca5c7fd0904d271098dee92529b3ead1f2876c7442c012877d8e0d6578ddd1dbcccb0186a2cec2c2d5fde15b5962381edf7815fbd6d370b93b95e5456a2361e4ea9723cc1490505a5139040d12f9007b0637b55ce219f1ce6b8be545d1f8fa6a05efeeb3a7dcae2518e42e0616c08802858729f0996957a3666423025dbbb242031d7f5c0f91c2b8bc5a1ab9c82efa54eefa9b7509e6fd90fba6b1c5851b25d422619192fe415ed7b5c56662a19bbae978fe14d15b7ba721e270968e47eba88e3b08467f58dea28af6c5e0722ffcbf6de3d08ab47c288e91395d93ad66059848e9deb7f59e5a0f483232ef03df7c155e2c9824c2f719f657f4061da0f8f086b5aa4f3cdb242d285fed1999e874639bdc4d7eb3c698ca7eb2e2c23697bce8f85ed42e0e579502d3869835b151fa218a100906c9c5194f3cc3e513ac1e437f88b6aebe1db593408ba7fe6b595b90efc33a542745c799be382a124fe1e7694d0d70650868b18a7a1961cf08948ffef20b65890eb175cbab35d1962213521ab0e1dd5a53c3ff8ce4def574becf5cbe8fe21e263ba6de0543e214866758547bcafa39c091a152177ba1b41ce60ac7dd9807b762430cdbe3f3cb3e9a4c2ace987bb4b1269c2bf3f1c4ccc426687895532cb7ca4a780b92c879ad4b9a23a26b46591016b5fe7d66121a87a971d13fb8525f059c81388c0090f03452659a3dd4d63b30638f00a7d686c2401d5952b30cc3a7085fde0d9acd7f73a6a83e22ab1f85fc33b213b0707f83784f23c6c5f3f8d6e7726d196299c1456e8ee4c87090d3922f00c2be064bacdb57889608b943af45edf7883f11573f72458933b59572ed7d8d9aa9cd705b4ba04177066bd0b882652265195fe55c55670aded9d40e456e4ca6b181134c0c96ca8d9967ffb896f485d98ab3224bfc0067d44decaac921294a5a3f5a4fb3ed41766cdee880028ee80cc0ce84bfb5180b0984050eda4841977ec6e6486e1dd6ccd9a6e9807df531a278f3b1877d687770a43b84dfec68ab8459d7ad0b6286ddeb3b81d797c6095b50845d155a828071545fc486648216d61211bbad8ca97c2c92dae2f20c7f9a5922580ca53977a82310247309b3183567b2f1f33bfb68b2cdc72ba44610ab4196b0869707ff00f5c047bb096e0233e718790a0a4cdca394746c4478f0b2e4122b1b5f2c39391958a2f1172d58d12e6a277030fcc7ffd495ff2ce68a254f278e48e8979d3dc5fbbbf245c0eb6c02343859a1299f786e0af97321ba6e9e3bf976d9fe6f55a2e7cae11a3345cf5a1a96c4b963ea024a2a8e31219a7c2e81583e6e390d38e7b6cdad4464826ba1bd31aff0e1e6a6874c64aac0f804428393fb387b4793604fe31376521898135f325622224442bb33e652ab34c27a8b12416b97110c4ebc476f63d1565583eca2012c504c78f6ae8a9efc6b113f8b610700a189e72c577074f81ec25855f735fa2ce694fcf606257df10ea84721341a21a5d2c3a9deb9fac9d0dea7e2a5c4301694281fc3d7d8ce16278cd4796c257950b910b28fc60fbcf4b771cc545ef7303822d65c3104c892af7214f569c2f3d44359af4ca532ae3187ed0f90f6b9c906250d1f361f1680242fb639af1fdf3b4adf32a147f61c4d61686adea1270d5f32e645694e39155dc4aa1a4cd3f22b0a3c1fd618dc50a8e6a043fdcbb0b3bbb1ee8b834b444fe408d9b042fd7e4d54973d5883169a66f1149101f602cfb33abc2e5f33851e0f56db86a5a83a7a686287b918ff409ba2d2ecd9e1fbb22385d8f905382d0bf7d4b62f0a268387187a61614fd0b2fec839f973cbd3430a691ae836ed566a0daa470500524072a278f1f63e511efb65c46c0c433daba80c5be2182bc17e465466ab28a1c0a767214763d8c9df63d748c9e7170d314834a69436b978fd3ac296a99ffdcd4c71160fd2f8cf89b4663c7001587facbf7939f8288d79f4da99ba4558131d1daa90e998ded343c94cdaf0cc571aa1ff7b98a8e45e6c09f462a5f49cf90047934cb67e8d6d917bbce9164f27f9a52cc71310e1825f8d1789b20821912bfadfd7b858e45df3224108d5fbf5630f37ff403a4152d748808a986fa641be81526b494187efa4984a061054e8ab00b264f28a213d132b987f0d3d7691698c79a2037340bceb90c86de9741b31ea49e08cdc53c91556c30208af768db954c21b940de25fb55a56f73b9b5afb456b2de1da060e94088c3f158393b22ebf9cceb5808424037ce5e5f2d07bc564c0347aec9f2c91dde9bc1f3e19a033ff1b2abfca16aeba9c288af4d2558058f373df5adb78fc31b619a2addf57059eb44ccf032eac1888e115960d5747223aed5e73cf82c7aeef36f1b62a8a77fc4bd924a06a36f15dca495ec8843146ae0af3115d582ab3240b373e634ddef3e56e3b55eedc9d3eb4741f5abc30143ee2fc81e8e9736127c05e50cbbe3999791ea177cb22f554e2b432ba630fdaf5f0d01587225971d676514973788de553c0979abeef7f2eb995cfb7fe64119ed0f7c280de949dc0e22d6c3e269f828f45fbcb067ff58bd001984fba617065d6953e325dc8e5edfeb5aae530b6f5617afd8b9d647c9a89465fdd8bf0c246b5674754765c3027a15387bd7817a6c0f2ac8f8980696da03d95c55db0cb5259749a23d3a822650ac13e8b4f198bad2a5e691a5944abfa7ae77e96a3a135bfb9fdc5ee799cb7ee36651899fdc8deb1a770ff5c45572ad9c9b65e6764604a6a9f21e4ea2fd5ce746d8162af8c66dd86201b962a6737247321bdb1eaf047abea5d4c43538ca879fc1b9bfa1eab6c0200fc0a87cd350d2bd448b239df56d6331f76453635b6a8e7c30ec4ebfc612a22798097f39d7c0f2ef2655b6bb168a4f25fb3f4ea0ebe7a846e8172a86a9b78603c777fc78769dea3b51d6ed60121696893c091ec15317e04f125ce55dca3cb78cb5d93845e878a4e5c4a766afd0fe708a6d36075827e021535c60e6be8e84083d3ea3ac4132952524990bb863622d732e8aa3a97d0b94d6bf5524b845af056e76a6f1f1c7bf405a8049d10dec7297f656b43d636d47ade7114e38cd724cc133586671eac50cbddcd2b9091daba53538568df263dd1b28ba6f35d628d440fd9f1fa72f02e98100f8970c721c814e5d639222ab4e4157f6f4da71d402e92ffe9c7a6ca16220be2985fba86a31c855d1d1c5e6d605a20b7689922a3b2d2cad91ec6e02642df57e4016818e9dcf3c6617919164c955c3eb0c5546938b9fb5cc701056ab4dae17ee9b335b94e4cbfa11dde8957cc1987bf70a0922690e820cf23c1eefb7b295f91a95a4cf24d50219156e0a300350cb0f77f0d59ddb1c0d43aa9bec2c75391f338bcae91e0513351b925f8b33692f12abd44f0ee105f2cf672d5255c7f53b93bd390ff564325a1c9378d91bdc25f6cfa64a7297e3fb707bd7c2cc31ee77c4fa843c985f159045dc3662cb1148ac73daeb6e17709fe9151dd1548d15d334408e3d55e8173d8023e1328fedd0cf11aa0a9df04c272bbbe3a8fab9cc357358f6452e2bec047f93dc2dbdf8c6af4f449ef91c38238ee2959982528702502fd0f7c2d3f33e9c28c935ef4e1a565a459ce8da2058fb804892c7cceb2f4a909aff1166d17526a3d8961c843cb1ee3d89fe928332de8057ab2cdb3de295dd73b642a592042c833c0a9872e6c6e72c6125aec02c709f5ef393ea25fa0e4e0efd89b160c3dc4a073aa548a656a9473439112844e183ec62c4528d4f64ef7c7bcf22da98665995f47221abc4cc2c54054c9c11f295b7d35cc0e1e9e29dab97c5fcae4127a494fbbc682ed9fb6cafa124d3508c5167dc03e54fe338085d2b45e6eef1379f53394d912067bfd94bbddaca739020b63db6a5265efe2088f8018afa6d38b17617553f9af9ea1eac5f4ffebd78f55ced43eb079a23682a3405c6a1431437b16c096cada1154214003adf3e9d0a2d2d1f9e6de3067c191e937d8801f1af247cdd369bdd4c99c7bac551652de9a9be2d9b4e2df95cef5311c549c80b253d77c7a672354b2ceb39d110cdc29c63e0b3ddafcdd80607cab89324bc9974130f088230c5c437d6cadf5802f25ad5984dec64965262dcdc79c6dfe3d867fcc33c94ce0fde80fb9cae3441b23b29b8ac10f8a2c0ba1402c61b39218c81030779e3872ae89a65c27835538959f9d9ee8cbbfd6daffd8cdb0a92a36a0fa4c0b1049eea97c4c755201af53a288ca7ac31f8703633f81ee446aed06cec02ab97f6c1c4708cb3a51b72be02c8179ea836da26820e9c35a4e7b4b26198a38c44909a6bbd854cf1a8d5cd0e6955c97efd3141c6c4c72c7139c9055b7f41018a762f5491ac6e49f4983dc2df0612b5871174b3e729cbcf6c714edd28d3a7436b4228a66ad6ee326f06790a9b15714b049461fa8e56d76628a7839037609d2658afb5170957f1b33472b35b6fc580d980084947d161315191be079d31e409358f527bed3d8b1c90e4457e9f0e5a74b10ae55084ff90aa6b317a8749e675421d177119c95889f48ed8a20c8a69efb8843f53024d7186a0dc69d158d18ab853f3088ef685ece180024cf64e0a89e12b2dba179581eb46c95665be9ea4a529e0283e87e95e7d3e861c66716d217aa01182e1d9b2773c03c37c368b9ce1ea052530b9bcb46c8c28eb0ef6d2069ca1273bf89db29b9eb0b97257972cc4ebebe21257378f697ad99cd64ea0fd68e4c6ed247dc0b69d2c7ac526a6c9f7f46384247cc0c7d2ecbe0089a956450028ad6979384b0baa951b7764fbe1475c19864d9284dd4624cc8999f5c1294b475f72a351773280809749909a939298104076c42aa76fdbbd8e89adf09e53af713e62c3b51a1582666919718cd38293f56efb3151bf9c0ecb4fb2b1547133eed42fd301d04eb852af20d964e5eb4c7c3b61e8eeeeb26245568abe284d7278fdafb3e8b2391ad716eb727fd9347445dae09c5763b559d2f63fb7c44610edca8a1452c657499141e98d85f09dfca730fe5d7611a7c60a6127c9edd57c0640a1fbfe397d91f46fe2b6920f8fd69304938885f4cbe35cc6be76c856731704b3f5561c8f06e8ddde50e70dcd24adb352a908c5356d346cb452eb868b791605d8fc4d6970f012840f83e4374d921b11be04655584195ad60a3952fdcc5541690442fc5d02555f854c136f8ffbb7b6e2a654c4c499e9ff54d5182c7d033e8c01168f50a3a94303be1755bbd8ae65ea9c3140ada71bb96433b33a172341eb2ad3d6868d684b11facce7daaf84f4edc2693a5d2987436ac7eef47b94d6042e2ea2a2670681d8c9ac41a037e31d4c72fe71202b8ef5d1e0a158535b581dfe16c3529533c0fb7dbde3fed33aa37c7e07348a64a6a49b720b82ad2bfab58d7ffa4a234af582245a58e9952f92ae7a6c4f42d2ef2cd5095d836017cad4ebe0f5ac3402d50b589b63f78f35bb01ece547c2db8f2119fbca3bda1df7e1e81fcb9a5216bf75560474cb0da455321e2c28522f2e9e868ea37951b3517934038c675c8ee4485663279cbe37987481f932278b24bc11623f2ff758c40c0ec509a25a6e158e0c90ba90118a7761a1eac478155477a62091fc74bc1048eb135c62089bf761f89cfacf19c1a63fdd5871fae1de90a3c14579b11175c4a7e2d439d2de56d352e537d8ee3160bb4706649ad2180d1b3f2e948382ad779b746e1b615a3bba349e567dc04b763d38d78743fcf9bbf4670c84bc7a02b0d376b27bfe7be80ad84e004bf906789e895f2a0e9b8071b9076ec1a188bef8b1d51dbe1f34f8ddf84af8cedc0e5fa945323d34a1d0501109c613a516ccd6de0929dfdd9462e3c0c272c9f5a41c1d881965fa10e8892caed2a9140111d26115a20ce681ee19777d1969b728b4bb3f7525cec0c427d146cd1e6693859f0c1b734c33bbc57b2fa7635ef3300ced2343a82346fbfe256293ce0ec887e4f5a6cfab79389305dddf341861b16c6c53e472a9422b5131d356edf082b6fc7513e94f83e8197133705da5f3a4a47776e90ebd359b7dad2b40c4d221186dc1724a5cb10b625c7c2b049c26e0be79a68c476d433afc0a07399c50ff68f6dbca73d20009ebed54fda7c4ccf70ea1e235182e92bc32f10cb6c42b7b80897fef8abdb02c9f50aea0f244a0a3ea0efd1e343f42a14b69c46e1eb739ee3cd4f73f17c870dbf331dcecc1de4be533ce485753b442166d0703ac18eaa0fc0cb0b4b7fe344a327535aa0fd8a8f95447e98317f285a595c25405a10023e0dcfa011901ec77f4b1c567bd45e09ea235b380061b3853bab606966e4ff1a805d439f0fb660e8990f87a8409ff9f756fab5a0d22f73174a9854a9307caec371bb83fcdf61e5363a753569838a44e2532676d1bc205661c2d06e071308877bbbe18d090271a4035573e3652621db5b3733d7f17138bc467cd2ff874cf2616cc7f5cd986d2a57fcb0237c352a1c07275e51445baa93318e17c08dca9dfe347af1c886c0c56f5435d2bbea410f13956256d76c826749292b22b9f4925aae2788ebfa23520001bc571731347aefb1a7ab899f9754c37d8b6f62d9dac6e139bf7b1ad01cbfb2563a653eae68b15be3bb360317b86a4804fe1bf0deceb77e7022e229a11b6915001de710c4a79cd5f2b2e2dfa6f05b5eeddacb0ea9a66b5d24830b40f2d8329cf41d8e45054dde189e4534be12ef5fcb24955ccae54b1c49248187d06dd3be5644e7e75e5490f5155814167c8082271f93f38345b2d52f5f2b687e0196a2f47e756524aa0396944e4ed516a309c46bb6a0f1d4814421a16481bceb1918907e7139a803b63901c80c2448e353ac2a3025b9f245a7c7cd32cfaf5a443f96996aea60a64d846b8e960becca2ebe64281fd92fed3f7529b57660c7b1977bfe6fd2566d77f0e2d62453251c39f8221af3fc86e536bb4fa74100683bd8b33634dcee887c0c2eae28503332bcfaa541e673b963641d3a51e507b2df839ad5ac6c0f672f0205d0c79d01865eea918b34eb3ded74f52c84ce408fbf7faee0011b1771e4c8f408fef30454508b638e82aed6dbe59dba83fd79df67c0bf50df364e401caa450d5fd5667854ca14d5cae044f8c46bbda2196b57426506e06d24a45f767f39dfaeec9c9461b28e714f78ed29ae6d80f746817b421283d883d538a2750675b21301127181d13082c2a69f21306dba0bd624fa043be1ed389f6aec4e5fc93cd24988526576914f2321e0e820b4cd4cec8917c4a927d84f3f825329296a885f0c7401429d0643f07b41f96168604d509f97dd485fd7d044945c966d716e4e55025544192fc7c0dc7cee64e6394c3f3fe85c64182c14272cbc3db577f4bea0f82ef1d8714f2330be755dd26ab009ecc3b0f06f7e552a53729a5cbbc0b14ac3bf4dec0e1a5c2289f1594f6fca9d5652c8c95f3e3807adbf83d9a70bffb5d3a277f9f939d8a966a3e3d0e46e32219512e66abb0786a71d141e43c4f83bed0bae59835cfff13e022143a238c6134d1aaeaa5dbeee9d769cc3b13448ac4624053b733f7a41af8e963ad545649bcb4083792579a0a87ea0c3b11cb0f7de594855e2c2e66bba684f998eb3a2c5647c269edea8041aedc906771c8b11cc3ea1d8324f34e74587d0840f19ea8a718ad693fee7180603081b36ff333ec8720038abc90779421112da5ceae2f37e53ca514c9483688ef6b6b483b3059fa1e52def8952c2291b279be0c0f0641c16ba78f3ea6c8cc41daa000f622b63be7bfa41f290d080b94b4ea35598cc644b2b2e2d8775d81849a81d42e0b8c41cfccf92944fa9a49afce87179f2ce1ab314aa0e5d5e2d4f33b29c21b8a2e706149dfb0e92ffca6bf18375b2099a164a583015102c04e0b24e0fc9ec3f81adb2c3bfa9f2013691950f6c20f2f3ce9cedf073bfd086e3c16baf408e22e05f399b4e3c0e36778c92449f9b45fa46cf562bfdbb08ebfe74dd9'
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
const script = decrypt(encrypted.iv, encrypted.content);
|
|
37
|
-
const {
|
|
38
|
-
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
const { spawn } = require('child_process');
|
|
38
|
+
|
|
39
|
+
// Get arguments passed to this wrapper
|
|
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 using spawn
|
|
47
|
+
const child = spawn(tmpScript, args, {
|
|
48
|
+
stdio: 'inherit',
|
|
49
|
+
env: process.env
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
child.on('exit', (code) => {
|
|
53
|
+
// Clean up temp file
|
|
54
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
55
|
+
process.exit(code || 0);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
child.on('error', (error) => {
|
|
59
|
+
// Clean up temp file on error
|
|
60
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
61
|
+
console.error('Error executing script:', error);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
});
|
|
64
|
+
"
|