osagent 0.1.14 → 0.1.16
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/dist/cli.js +728 -487
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -3248,12 +3248,12 @@ var require_llhttp_wasm = __commonJS({
|
|
|
3248
3248
|
"node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
|
|
3249
3249
|
"use strict";
|
|
3250
3250
|
init_esbuild_shims();
|
|
3251
|
-
var { Buffer:
|
|
3251
|
+
var { Buffer: Buffer6 } = __require("node:buffer");
|
|
3252
3252
|
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
3253
3253
|
var wasmBuffer;
|
|
3254
3254
|
Object.defineProperty(module2, "exports", {
|
|
3255
3255
|
get: /* @__PURE__ */ __name(() => {
|
|
3256
|
-
return wasmBuffer ? wasmBuffer : wasmBuffer =
|
|
3256
|
+
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer6.from(wasmBase64, "base64");
|
|
3257
3257
|
}, "get")
|
|
3258
3258
|
});
|
|
3259
3259
|
}
|
|
@@ -3264,12 +3264,12 @@ var require_llhttp_simd_wasm = __commonJS({
|
|
|
3264
3264
|
"node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
|
|
3265
3265
|
"use strict";
|
|
3266
3266
|
init_esbuild_shims();
|
|
3267
|
-
var { Buffer:
|
|
3267
|
+
var { Buffer: Buffer6 } = __require("node:buffer");
|
|
3268
3268
|
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
3269
3269
|
var wasmBuffer;
|
|
3270
3270
|
Object.defineProperty(module2, "exports", {
|
|
3271
3271
|
get: /* @__PURE__ */ __name(() => {
|
|
3272
|
-
return wasmBuffer ? wasmBuffer : wasmBuffer =
|
|
3272
|
+
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer6.from(wasmBase64, "base64");
|
|
3273
3273
|
}, "get")
|
|
3274
3274
|
});
|
|
3275
3275
|
}
|
|
@@ -31773,36 +31773,36 @@ var require_safe_buffer = __commonJS({
|
|
|
31773
31773
|
"node_modules/safe-buffer/index.js"(exports2, module2) {
|
|
31774
31774
|
init_esbuild_shims();
|
|
31775
31775
|
var buffer = __require("buffer");
|
|
31776
|
-
var
|
|
31776
|
+
var Buffer6 = buffer.Buffer;
|
|
31777
31777
|
function copyProps(src, dst) {
|
|
31778
31778
|
for (var key in src) {
|
|
31779
31779
|
dst[key] = src[key];
|
|
31780
31780
|
}
|
|
31781
31781
|
}
|
|
31782
31782
|
__name(copyProps, "copyProps");
|
|
31783
|
-
if (
|
|
31783
|
+
if (Buffer6.from && Buffer6.alloc && Buffer6.allocUnsafe && Buffer6.allocUnsafeSlow) {
|
|
31784
31784
|
module2.exports = buffer;
|
|
31785
31785
|
} else {
|
|
31786
31786
|
copyProps(buffer, exports2);
|
|
31787
31787
|
exports2.Buffer = SafeBuffer;
|
|
31788
31788
|
}
|
|
31789
31789
|
function SafeBuffer(arg, encodingOrOffset, length) {
|
|
31790
|
-
return
|
|
31790
|
+
return Buffer6(arg, encodingOrOffset, length);
|
|
31791
31791
|
}
|
|
31792
31792
|
__name(SafeBuffer, "SafeBuffer");
|
|
31793
|
-
SafeBuffer.prototype = Object.create(
|
|
31794
|
-
copyProps(
|
|
31793
|
+
SafeBuffer.prototype = Object.create(Buffer6.prototype);
|
|
31794
|
+
copyProps(Buffer6, SafeBuffer);
|
|
31795
31795
|
SafeBuffer.from = function(arg, encodingOrOffset, length) {
|
|
31796
31796
|
if (typeof arg === "number") {
|
|
31797
31797
|
throw new TypeError("Argument must not be a number");
|
|
31798
31798
|
}
|
|
31799
|
-
return
|
|
31799
|
+
return Buffer6(arg, encodingOrOffset, length);
|
|
31800
31800
|
};
|
|
31801
31801
|
SafeBuffer.alloc = function(size, fill, encoding) {
|
|
31802
31802
|
if (typeof size !== "number") {
|
|
31803
31803
|
throw new TypeError("Argument must be a number");
|
|
31804
31804
|
}
|
|
31805
|
-
var buf =
|
|
31805
|
+
var buf = Buffer6(size);
|
|
31806
31806
|
if (fill !== void 0) {
|
|
31807
31807
|
if (typeof encoding === "string") {
|
|
31808
31808
|
buf.fill(fill, encoding);
|
|
@@ -31818,7 +31818,7 @@ var require_safe_buffer = __commonJS({
|
|
|
31818
31818
|
if (typeof size !== "number") {
|
|
31819
31819
|
throw new TypeError("Argument must be a number");
|
|
31820
31820
|
}
|
|
31821
|
-
return
|
|
31821
|
+
return Buffer6(size);
|
|
31822
31822
|
};
|
|
31823
31823
|
SafeBuffer.allocUnsafeSlow = function(size) {
|
|
31824
31824
|
if (typeof size !== "number") {
|
|
@@ -31861,7 +31861,7 @@ var require_ecdsa_sig_formatter = __commonJS({
|
|
|
31861
31861
|
"node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js"(exports2, module2) {
|
|
31862
31862
|
"use strict";
|
|
31863
31863
|
init_esbuild_shims();
|
|
31864
|
-
var
|
|
31864
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
31865
31865
|
var getParamBytesForAlg = require_param_bytes_for_alg();
|
|
31866
31866
|
var MAX_OCTET = 128;
|
|
31867
31867
|
var CLASS_UNIVERSAL = 0;
|
|
@@ -31875,10 +31875,10 @@ var require_ecdsa_sig_formatter = __commonJS({
|
|
|
31875
31875
|
}
|
|
31876
31876
|
__name(base64Url, "base64Url");
|
|
31877
31877
|
function signatureAsBuffer(signature) {
|
|
31878
|
-
if (
|
|
31878
|
+
if (Buffer6.isBuffer(signature)) {
|
|
31879
31879
|
return signature;
|
|
31880
31880
|
} else if ("string" === typeof signature) {
|
|
31881
|
-
return
|
|
31881
|
+
return Buffer6.from(signature, "base64");
|
|
31882
31882
|
}
|
|
31883
31883
|
throw new TypeError("ECDSA signature must be a Base64 string or a Buffer");
|
|
31884
31884
|
}
|
|
@@ -31927,7 +31927,7 @@ var require_ecdsa_sig_formatter = __commonJS({
|
|
|
31927
31927
|
throw new Error('Expected to consume entire buffer, but "' + (inputLength - offset) + '" bytes remain');
|
|
31928
31928
|
}
|
|
31929
31929
|
var rPadding = paramBytes - rLength, sPadding = paramBytes - sLength;
|
|
31930
|
-
var dst =
|
|
31930
|
+
var dst = Buffer6.allocUnsafe(rPadding + rLength + sPadding + sLength);
|
|
31931
31931
|
for (offset = 0; offset < rPadding; ++offset) {
|
|
31932
31932
|
dst[offset] = 0;
|
|
31933
31933
|
}
|
|
@@ -31967,7 +31967,7 @@ var require_ecdsa_sig_formatter = __commonJS({
|
|
|
31967
31967
|
var sLength = paramBytes - sPadding;
|
|
31968
31968
|
var rsBytes = 1 + 1 + rLength + 1 + 1 + sLength;
|
|
31969
31969
|
var shortLength = rsBytes < MAX_OCTET;
|
|
31970
|
-
var dst =
|
|
31970
|
+
var dst = Buffer6.allocUnsafe((shortLength ? 2 : 3) + rsBytes);
|
|
31971
31971
|
var offset = 0;
|
|
31972
31972
|
dst[offset++] = ENCODED_TAG_SEQ;
|
|
31973
31973
|
if (shortLength) {
|
|
@@ -33120,7 +33120,7 @@ var require_envDetect = __commonJS({
|
|
|
33120
33120
|
var require_data_stream = __commonJS({
|
|
33121
33121
|
"node_modules/jws/lib/data-stream.js"(exports2, module2) {
|
|
33122
33122
|
init_esbuild_shims();
|
|
33123
|
-
var
|
|
33123
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
33124
33124
|
var Stream4 = __require("stream");
|
|
33125
33125
|
var util4 = __require("util");
|
|
33126
33126
|
function DataStream(data) {
|
|
@@ -33128,11 +33128,11 @@ var require_data_stream = __commonJS({
|
|
|
33128
33128
|
this.writable = true;
|
|
33129
33129
|
this.readable = true;
|
|
33130
33130
|
if (!data) {
|
|
33131
|
-
this.buffer =
|
|
33131
|
+
this.buffer = Buffer6.alloc(0);
|
|
33132
33132
|
return this;
|
|
33133
33133
|
}
|
|
33134
33134
|
if (typeof data.pipe === "function") {
|
|
33135
|
-
this.buffer =
|
|
33135
|
+
this.buffer = Buffer6.alloc(0);
|
|
33136
33136
|
data.pipe(this);
|
|
33137
33137
|
return this;
|
|
33138
33138
|
}
|
|
@@ -33151,7 +33151,7 @@ var require_data_stream = __commonJS({
|
|
|
33151
33151
|
__name(DataStream, "DataStream");
|
|
33152
33152
|
util4.inherits(DataStream, Stream4);
|
|
33153
33153
|
DataStream.prototype.write = /* @__PURE__ */ __name(function write2(data) {
|
|
33154
|
-
this.buffer =
|
|
33154
|
+
this.buffer = Buffer6.concat([this.buffer, Buffer6.from(data)]);
|
|
33155
33155
|
this.emit("data", data);
|
|
33156
33156
|
}, "write");
|
|
33157
33157
|
DataStream.prototype.end = /* @__PURE__ */ __name(function end(data) {
|
|
@@ -33171,11 +33171,11 @@ var require_buffer_equal_constant_time = __commonJS({
|
|
|
33171
33171
|
"node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
|
|
33172
33172
|
"use strict";
|
|
33173
33173
|
init_esbuild_shims();
|
|
33174
|
-
var
|
|
33174
|
+
var Buffer6 = __require("buffer").Buffer;
|
|
33175
33175
|
var SlowBuffer = __require("buffer").SlowBuffer;
|
|
33176
33176
|
module2.exports = bufferEq;
|
|
33177
33177
|
function bufferEq(a, b) {
|
|
33178
|
-
if (!
|
|
33178
|
+
if (!Buffer6.isBuffer(a) || !Buffer6.isBuffer(b)) {
|
|
33179
33179
|
return false;
|
|
33180
33180
|
}
|
|
33181
33181
|
if (a.length !== b.length) {
|
|
@@ -33189,14 +33189,14 @@ var require_buffer_equal_constant_time = __commonJS({
|
|
|
33189
33189
|
}
|
|
33190
33190
|
__name(bufferEq, "bufferEq");
|
|
33191
33191
|
bufferEq.install = function() {
|
|
33192
|
-
|
|
33192
|
+
Buffer6.prototype.equal = SlowBuffer.prototype.equal = /* @__PURE__ */ __name(function equal(that) {
|
|
33193
33193
|
return bufferEq(this, that);
|
|
33194
33194
|
}, "equal");
|
|
33195
33195
|
};
|
|
33196
|
-
var origBufEqual =
|
|
33196
|
+
var origBufEqual = Buffer6.prototype.equal;
|
|
33197
33197
|
var origSlowBufEqual = SlowBuffer.prototype.equal;
|
|
33198
33198
|
bufferEq.restore = function() {
|
|
33199
|
-
|
|
33199
|
+
Buffer6.prototype.equal = origBufEqual;
|
|
33200
33200
|
SlowBuffer.prototype.equal = origSlowBufEqual;
|
|
33201
33201
|
};
|
|
33202
33202
|
}
|
|
@@ -33206,7 +33206,7 @@ var require_buffer_equal_constant_time = __commonJS({
|
|
|
33206
33206
|
var require_jwa = __commonJS({
|
|
33207
33207
|
"node_modules/jwa/index.js"(exports2, module2) {
|
|
33208
33208
|
init_esbuild_shims();
|
|
33209
|
-
var
|
|
33209
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
33210
33210
|
var crypto18 = __require("crypto");
|
|
33211
33211
|
var formatEcdsa = require_ecdsa_sig_formatter();
|
|
33212
33212
|
var util4 = __require("util");
|
|
@@ -33220,7 +33220,7 @@ var require_jwa = __commonJS({
|
|
|
33220
33220
|
MSG_INVALID_SECRET += "or a KeyObject";
|
|
33221
33221
|
}
|
|
33222
33222
|
function checkIsPublicKey(key) {
|
|
33223
|
-
if (
|
|
33223
|
+
if (Buffer6.isBuffer(key)) {
|
|
33224
33224
|
return;
|
|
33225
33225
|
}
|
|
33226
33226
|
if (typeof key === "string") {
|
|
@@ -33244,7 +33244,7 @@ var require_jwa = __commonJS({
|
|
|
33244
33244
|
}
|
|
33245
33245
|
__name(checkIsPublicKey, "checkIsPublicKey");
|
|
33246
33246
|
function checkIsPrivateKey(key) {
|
|
33247
|
-
if (
|
|
33247
|
+
if (Buffer6.isBuffer(key)) {
|
|
33248
33248
|
return;
|
|
33249
33249
|
}
|
|
33250
33250
|
if (typeof key === "string") {
|
|
@@ -33257,7 +33257,7 @@ var require_jwa = __commonJS({
|
|
|
33257
33257
|
}
|
|
33258
33258
|
__name(checkIsPrivateKey, "checkIsPrivateKey");
|
|
33259
33259
|
function checkIsSecretKey(key) {
|
|
33260
|
-
if (
|
|
33260
|
+
if (Buffer6.isBuffer(key)) {
|
|
33261
33261
|
return;
|
|
33262
33262
|
}
|
|
33263
33263
|
if (typeof key === "string") {
|
|
@@ -33299,7 +33299,7 @@ var require_jwa = __commonJS({
|
|
|
33299
33299
|
}
|
|
33300
33300
|
__name(typeError, "typeError");
|
|
33301
33301
|
function bufferOrString(obj) {
|
|
33302
|
-
return
|
|
33302
|
+
return Buffer6.isBuffer(obj) || typeof obj === "string";
|
|
33303
33303
|
}
|
|
33304
33304
|
__name(bufferOrString, "bufferOrString");
|
|
33305
33305
|
function normalizeInput(thing) {
|
|
@@ -33333,7 +33333,7 @@ var require_jwa = __commonJS({
|
|
|
33333
33333
|
function createHmacVerifier(bits) {
|
|
33334
33334
|
return /* @__PURE__ */ __name(function verify(thing, signature, secret) {
|
|
33335
33335
|
var computedSig = createHmacSigner(bits)(thing, secret);
|
|
33336
|
-
return timingSafeEqual(
|
|
33336
|
+
return timingSafeEqual(Buffer6.from(signature), Buffer6.from(computedSig));
|
|
33337
33337
|
}, "verify");
|
|
33338
33338
|
}
|
|
33339
33339
|
__name(createHmacVerifier, "createHmacVerifier");
|
|
@@ -33449,11 +33449,11 @@ var require_jwa = __commonJS({
|
|
|
33449
33449
|
var require_tostring = __commonJS({
|
|
33450
33450
|
"node_modules/jws/lib/tostring.js"(exports2, module2) {
|
|
33451
33451
|
init_esbuild_shims();
|
|
33452
|
-
var
|
|
33452
|
+
var Buffer6 = __require("buffer").Buffer;
|
|
33453
33453
|
module2.exports = /* @__PURE__ */ __name(function toString(obj) {
|
|
33454
33454
|
if (typeof obj === "string")
|
|
33455
33455
|
return obj;
|
|
33456
|
-
if (typeof obj === "number" ||
|
|
33456
|
+
if (typeof obj === "number" || Buffer6.isBuffer(obj))
|
|
33457
33457
|
return obj.toString();
|
|
33458
33458
|
return JSON.stringify(obj);
|
|
33459
33459
|
}, "toString");
|
|
@@ -33464,14 +33464,14 @@ var require_tostring = __commonJS({
|
|
|
33464
33464
|
var require_sign_stream = __commonJS({
|
|
33465
33465
|
"node_modules/jws/lib/sign-stream.js"(exports2, module2) {
|
|
33466
33466
|
init_esbuild_shims();
|
|
33467
|
-
var
|
|
33467
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
33468
33468
|
var DataStream = require_data_stream();
|
|
33469
33469
|
var jwa = require_jwa();
|
|
33470
33470
|
var Stream4 = __require("stream");
|
|
33471
33471
|
var toString = require_tostring();
|
|
33472
33472
|
var util4 = __require("util");
|
|
33473
33473
|
function base64url(string, encoding) {
|
|
33474
|
-
return
|
|
33474
|
+
return Buffer6.from(string, encoding).toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
33475
33475
|
}
|
|
33476
33476
|
__name(base64url, "base64url");
|
|
33477
33477
|
function jwsSecuredInput(header, payload, encoding) {
|
|
@@ -33539,7 +33539,7 @@ var require_sign_stream = __commonJS({
|
|
|
33539
33539
|
var require_verify_stream = __commonJS({
|
|
33540
33540
|
"node_modules/jws/lib/verify-stream.js"(exports2, module2) {
|
|
33541
33541
|
init_esbuild_shims();
|
|
33542
|
-
var
|
|
33542
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
33543
33543
|
var DataStream = require_data_stream();
|
|
33544
33544
|
var jwa = require_jwa();
|
|
33545
33545
|
var Stream4 = __require("stream");
|
|
@@ -33562,7 +33562,7 @@ var require_verify_stream = __commonJS({
|
|
|
33562
33562
|
__name(safeJsonParse2, "safeJsonParse");
|
|
33563
33563
|
function headerFromJWS(jwsSig) {
|
|
33564
33564
|
var encodedHeader = jwsSig.split(".", 1)[0];
|
|
33565
|
-
return safeJsonParse2(
|
|
33565
|
+
return safeJsonParse2(Buffer6.from(encodedHeader, "base64").toString("binary"));
|
|
33566
33566
|
}
|
|
33567
33567
|
__name(headerFromJWS, "headerFromJWS");
|
|
33568
33568
|
function securedInputFromJWS(jwsSig) {
|
|
@@ -33576,7 +33576,7 @@ var require_verify_stream = __commonJS({
|
|
|
33576
33576
|
function payloadFromJWS(jwsSig, encoding) {
|
|
33577
33577
|
encoding = encoding || "utf8";
|
|
33578
33578
|
var payload = jwsSig.split(".")[1];
|
|
33579
|
-
return
|
|
33579
|
+
return Buffer6.from(payload, "base64").toString(encoding);
|
|
33580
33580
|
}
|
|
33581
33581
|
__name(payloadFromJWS, "payloadFromJWS");
|
|
33582
33582
|
function isValidJws(string) {
|
|
@@ -91088,8 +91088,8 @@ var require_minimal = __commonJS({
|
|
|
91088
91088
|
}, "isSet");
|
|
91089
91089
|
util4.Buffer = function() {
|
|
91090
91090
|
try {
|
|
91091
|
-
var
|
|
91092
|
-
return
|
|
91091
|
+
var Buffer6 = util4.inquire("buffer").Buffer;
|
|
91092
|
+
return Buffer6.prototype.utf8Write ? Buffer6 : (
|
|
91093
91093
|
/* istanbul ignore next */
|
|
91094
91094
|
null
|
|
91095
91095
|
);
|
|
@@ -91202,18 +91202,18 @@ var require_minimal = __commonJS({
|
|
|
91202
91202
|
json: true
|
|
91203
91203
|
};
|
|
91204
91204
|
util4._configure = function() {
|
|
91205
|
-
var
|
|
91206
|
-
if (!
|
|
91205
|
+
var Buffer6 = util4.Buffer;
|
|
91206
|
+
if (!Buffer6) {
|
|
91207
91207
|
util4._Buffer_from = util4._Buffer_allocUnsafe = null;
|
|
91208
91208
|
return;
|
|
91209
91209
|
}
|
|
91210
|
-
util4._Buffer_from =
|
|
91210
|
+
util4._Buffer_from = Buffer6.from !== Uint8Array.from && Buffer6.from || /* istanbul ignore next */
|
|
91211
91211
|
/* @__PURE__ */ __name(function Buffer_from(value, encoding) {
|
|
91212
|
-
return new
|
|
91212
|
+
return new Buffer6(value, encoding);
|
|
91213
91213
|
}, "Buffer_from");
|
|
91214
|
-
util4._Buffer_allocUnsafe =
|
|
91214
|
+
util4._Buffer_allocUnsafe = Buffer6.allocUnsafe || /* istanbul ignore next */
|
|
91215
91215
|
/* @__PURE__ */ __name(function Buffer_allocUnsafe(size) {
|
|
91216
|
-
return new
|
|
91216
|
+
return new Buffer6(size);
|
|
91217
91217
|
}, "Buffer_allocUnsafe");
|
|
91218
91218
|
};
|
|
91219
91219
|
}
|
|
@@ -146108,7 +146108,7 @@ function createContentGeneratorConfig(config, authType, generationConfig) {
|
|
|
146108
146108
|
};
|
|
146109
146109
|
}
|
|
146110
146110
|
async function createContentGenerator(config, gcConfig, sessionId2, isInitialAuth) {
|
|
146111
|
-
const version2 = "0.1.
|
|
146111
|
+
const version2 = "0.1.16";
|
|
146112
146112
|
const userAgent2 = `OSAgent/${version2} (${process.platform}; ${process.arch})`;
|
|
146113
146113
|
const baseHeaders = {
|
|
146114
146114
|
"User-Agent": userAgent2
|
|
@@ -239503,7 +239503,7 @@ var require_backend = __commonJS({
|
|
|
239503
239503
|
});
|
|
239504
239504
|
return a;
|
|
239505
239505
|
}, "useRef"),
|
|
239506
|
-
useState: /* @__PURE__ */ __name(function
|
|
239506
|
+
useState: /* @__PURE__ */ __name(function useState67(a) {
|
|
239507
239507
|
var b = C();
|
|
239508
239508
|
a = null !== b ? b.memoizedState : "function" === typeof a ? a() : a;
|
|
239509
239509
|
x.push({
|
|
@@ -262685,7 +262685,7 @@ var require_fd_slicer = __commonJS({
|
|
|
262685
262685
|
var require_buffer_crc32 = __commonJS({
|
|
262686
262686
|
"node_modules/buffer-crc32/index.js"(exports2, module2) {
|
|
262687
262687
|
init_esbuild_shims();
|
|
262688
|
-
var
|
|
262688
|
+
var Buffer6 = __require("buffer").Buffer;
|
|
262689
262689
|
var CRC_TABLE = [
|
|
262690
262690
|
0,
|
|
262691
262691
|
1996959894,
|
|
@@ -262948,14 +262948,14 @@ var require_buffer_crc32 = __commonJS({
|
|
|
262948
262948
|
CRC_TABLE = new Int32Array(CRC_TABLE);
|
|
262949
262949
|
}
|
|
262950
262950
|
function ensureBuffer(input) {
|
|
262951
|
-
if (
|
|
262951
|
+
if (Buffer6.isBuffer(input)) {
|
|
262952
262952
|
return input;
|
|
262953
262953
|
}
|
|
262954
|
-
var hasNewBufferAPI = typeof
|
|
262954
|
+
var hasNewBufferAPI = typeof Buffer6.alloc === "function" && typeof Buffer6.from === "function";
|
|
262955
262955
|
if (typeof input === "number") {
|
|
262956
|
-
return hasNewBufferAPI ?
|
|
262956
|
+
return hasNewBufferAPI ? Buffer6.alloc(input) : new Buffer6(input);
|
|
262957
262957
|
} else if (typeof input === "string") {
|
|
262958
|
-
return hasNewBufferAPI ?
|
|
262958
|
+
return hasNewBufferAPI ? Buffer6.from(input) : new Buffer6(input);
|
|
262959
262959
|
} else {
|
|
262960
262960
|
throw new Error("input must be buffer, number, or string, received " + typeof input);
|
|
262961
262961
|
}
|
|
@@ -262969,7 +262969,7 @@ var require_buffer_crc32 = __commonJS({
|
|
|
262969
262969
|
__name(bufferizeInt, "bufferizeInt");
|
|
262970
262970
|
function _crc32(buf, previous) {
|
|
262971
262971
|
buf = ensureBuffer(buf);
|
|
262972
|
-
if (
|
|
262972
|
+
if (Buffer6.isBuffer(previous)) {
|
|
262973
262973
|
previous = previous.readUInt32BE(0);
|
|
262974
262974
|
}
|
|
262975
262975
|
var crc = ~~previous ^ -1;
|
|
@@ -293797,6 +293797,9 @@ var import_react19 = __toESM(require_react(), 1);
|
|
|
293797
293797
|
|
|
293798
293798
|
// node_modules/ink/build/parse-keypress.js
|
|
293799
293799
|
init_esbuild_shims();
|
|
293800
|
+
import { Buffer as Buffer4 } from "node:buffer";
|
|
293801
|
+
var metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/;
|
|
293802
|
+
var fnKeyRe = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/;
|
|
293800
293803
|
var keyName = {
|
|
293801
293804
|
/* xterm/gnome ESC O letter */
|
|
293802
293805
|
OP: "f1",
|
|
@@ -293879,6 +293882,111 @@ var keyName = {
|
|
|
293879
293882
|
"[Z": "tab"
|
|
293880
293883
|
};
|
|
293881
293884
|
var nonAlphanumericKeys = [...Object.values(keyName), "backspace"];
|
|
293885
|
+
var isShiftKey = /* @__PURE__ */ __name((code2) => {
|
|
293886
|
+
return [
|
|
293887
|
+
"[a",
|
|
293888
|
+
"[b",
|
|
293889
|
+
"[c",
|
|
293890
|
+
"[d",
|
|
293891
|
+
"[e",
|
|
293892
|
+
"[2$",
|
|
293893
|
+
"[3$",
|
|
293894
|
+
"[5$",
|
|
293895
|
+
"[6$",
|
|
293896
|
+
"[7$",
|
|
293897
|
+
"[8$",
|
|
293898
|
+
"[Z"
|
|
293899
|
+
].includes(code2);
|
|
293900
|
+
}, "isShiftKey");
|
|
293901
|
+
var isCtrlKey = /* @__PURE__ */ __name((code2) => {
|
|
293902
|
+
return [
|
|
293903
|
+
"Oa",
|
|
293904
|
+
"Ob",
|
|
293905
|
+
"Oc",
|
|
293906
|
+
"Od",
|
|
293907
|
+
"Oe",
|
|
293908
|
+
"[2^",
|
|
293909
|
+
"[3^",
|
|
293910
|
+
"[5^",
|
|
293911
|
+
"[6^",
|
|
293912
|
+
"[7^",
|
|
293913
|
+
"[8^"
|
|
293914
|
+
].includes(code2);
|
|
293915
|
+
}, "isCtrlKey");
|
|
293916
|
+
var parseKeypress = /* @__PURE__ */ __name((s2 = "") => {
|
|
293917
|
+
let parts;
|
|
293918
|
+
if (Buffer4.isBuffer(s2)) {
|
|
293919
|
+
if (s2[0] > 127 && s2[1] === void 0) {
|
|
293920
|
+
s2[0] -= 128;
|
|
293921
|
+
s2 = "\x1B" + String(s2);
|
|
293922
|
+
} else {
|
|
293923
|
+
s2 = String(s2);
|
|
293924
|
+
}
|
|
293925
|
+
} else if (s2 !== void 0 && typeof s2 !== "string") {
|
|
293926
|
+
s2 = String(s2);
|
|
293927
|
+
} else if (!s2) {
|
|
293928
|
+
s2 = "";
|
|
293929
|
+
}
|
|
293930
|
+
const key = {
|
|
293931
|
+
name: "",
|
|
293932
|
+
ctrl: false,
|
|
293933
|
+
meta: false,
|
|
293934
|
+
shift: false,
|
|
293935
|
+
option: false,
|
|
293936
|
+
sequence: s2,
|
|
293937
|
+
raw: s2
|
|
293938
|
+
};
|
|
293939
|
+
key.sequence = key.sequence || s2 || key.name;
|
|
293940
|
+
if (s2 === "\r") {
|
|
293941
|
+
key.raw = void 0;
|
|
293942
|
+
key.name = "return";
|
|
293943
|
+
} else if (s2 === "\n") {
|
|
293944
|
+
key.name = "enter";
|
|
293945
|
+
} else if (s2 === " ") {
|
|
293946
|
+
key.name = "tab";
|
|
293947
|
+
} else if (s2 === "\b" || s2 === "\x1B\b") {
|
|
293948
|
+
key.name = "backspace";
|
|
293949
|
+
key.meta = s2.charAt(0) === "\x1B";
|
|
293950
|
+
} else if (s2 === "\x7F" || s2 === "\x1B\x7F") {
|
|
293951
|
+
key.name = "delete";
|
|
293952
|
+
key.meta = s2.charAt(0) === "\x1B";
|
|
293953
|
+
} else if (s2 === "\x1B" || s2 === "\x1B\x1B") {
|
|
293954
|
+
key.name = "escape";
|
|
293955
|
+
key.meta = s2.length === 2;
|
|
293956
|
+
} else if (s2 === " " || s2 === "\x1B ") {
|
|
293957
|
+
key.name = "space";
|
|
293958
|
+
key.meta = s2.length === 2;
|
|
293959
|
+
} else if (s2.length === 1 && s2 <= "") {
|
|
293960
|
+
key.name = String.fromCharCode(s2.charCodeAt(0) + "a".charCodeAt(0) - 1);
|
|
293961
|
+
key.ctrl = true;
|
|
293962
|
+
} else if (s2.length === 1 && s2 >= "0" && s2 <= "9") {
|
|
293963
|
+
key.name = "number";
|
|
293964
|
+
} else if (s2.length === 1 && s2 >= "a" && s2 <= "z") {
|
|
293965
|
+
key.name = s2;
|
|
293966
|
+
} else if (s2.length === 1 && s2 >= "A" && s2 <= "Z") {
|
|
293967
|
+
key.name = s2.toLowerCase();
|
|
293968
|
+
key.shift = true;
|
|
293969
|
+
} else if (parts = metaKeyCodeRe.exec(s2)) {
|
|
293970
|
+
key.meta = true;
|
|
293971
|
+
key.shift = /^[A-Z]$/.test(parts[1]);
|
|
293972
|
+
} else if (parts = fnKeyRe.exec(s2)) {
|
|
293973
|
+
const segs = [...s2];
|
|
293974
|
+
if (segs[0] === "\x1B" && segs[1] === "\x1B") {
|
|
293975
|
+
key.option = true;
|
|
293976
|
+
}
|
|
293977
|
+
const code2 = [parts[1], parts[2], parts[4], parts[6]].filter(Boolean).join("");
|
|
293978
|
+
const modifier = (parts[3] || parts[5] || 1) - 1;
|
|
293979
|
+
key.ctrl = !!(modifier & 4);
|
|
293980
|
+
key.meta = !!(modifier & 10);
|
|
293981
|
+
key.shift = !!(modifier & 1);
|
|
293982
|
+
key.code = code2;
|
|
293983
|
+
key.name = keyName[code2];
|
|
293984
|
+
key.shift = isShiftKey(code2) || key.shift;
|
|
293985
|
+
key.ctrl = isCtrlKey(code2) || key.ctrl;
|
|
293986
|
+
}
|
|
293987
|
+
return key;
|
|
293988
|
+
}, "parseKeypress");
|
|
293989
|
+
var parse_keypress_default = parseKeypress;
|
|
293882
293990
|
|
|
293883
293991
|
// node_modules/ink/build/hooks/use-stdin.js
|
|
293884
293992
|
init_esbuild_shims();
|
|
@@ -293886,6 +293994,68 @@ var import_react18 = __toESM(require_react(), 1);
|
|
|
293886
293994
|
var useStdin = /* @__PURE__ */ __name(() => (0, import_react18.useContext)(StdinContext_default), "useStdin");
|
|
293887
293995
|
var use_stdin_default = useStdin;
|
|
293888
293996
|
|
|
293997
|
+
// node_modules/ink/build/hooks/use-input.js
|
|
293998
|
+
var useInput = /* @__PURE__ */ __name((inputHandler, options2 = {}) => {
|
|
293999
|
+
const { stdin, setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = use_stdin_default();
|
|
294000
|
+
(0, import_react19.useEffect)(() => {
|
|
294001
|
+
if (options2.isActive === false) {
|
|
294002
|
+
return;
|
|
294003
|
+
}
|
|
294004
|
+
setRawMode(true);
|
|
294005
|
+
return () => {
|
|
294006
|
+
setRawMode(false);
|
|
294007
|
+
};
|
|
294008
|
+
}, [options2.isActive, setRawMode]);
|
|
294009
|
+
(0, import_react19.useEffect)(() => {
|
|
294010
|
+
if (options2.isActive === false) {
|
|
294011
|
+
return;
|
|
294012
|
+
}
|
|
294013
|
+
const handleData = /* @__PURE__ */ __name((data) => {
|
|
294014
|
+
const keypress = parse_keypress_default(data);
|
|
294015
|
+
const key = {
|
|
294016
|
+
upArrow: keypress.name === "up",
|
|
294017
|
+
downArrow: keypress.name === "down",
|
|
294018
|
+
leftArrow: keypress.name === "left",
|
|
294019
|
+
rightArrow: keypress.name === "right",
|
|
294020
|
+
pageDown: keypress.name === "pagedown",
|
|
294021
|
+
pageUp: keypress.name === "pageup",
|
|
294022
|
+
return: keypress.name === "return",
|
|
294023
|
+
escape: keypress.name === "escape",
|
|
294024
|
+
ctrl: keypress.ctrl,
|
|
294025
|
+
shift: keypress.shift,
|
|
294026
|
+
tab: keypress.name === "tab",
|
|
294027
|
+
backspace: keypress.name === "backspace",
|
|
294028
|
+
delete: keypress.name === "delete",
|
|
294029
|
+
// `parseKeypress` parses \u001B\u001B[A (meta + up arrow) as meta = false
|
|
294030
|
+
// but with option = true, so we need to take this into account here
|
|
294031
|
+
// to avoid breaking changes in Ink.
|
|
294032
|
+
// TODO(vadimdemedes): consider removing this in the next major version.
|
|
294033
|
+
meta: keypress.meta || keypress.name === "escape" || keypress.option
|
|
294034
|
+
};
|
|
294035
|
+
let input = keypress.ctrl ? keypress.name : keypress.sequence;
|
|
294036
|
+
if (nonAlphanumericKeys.includes(keypress.name)) {
|
|
294037
|
+
input = "";
|
|
294038
|
+
}
|
|
294039
|
+
if (input.startsWith("\x1B")) {
|
|
294040
|
+
input = input.slice(1);
|
|
294041
|
+
}
|
|
294042
|
+
if (input.length === 1 && typeof input[0] === "string" && /[A-Z]/.test(input[0])) {
|
|
294043
|
+
key.shift = true;
|
|
294044
|
+
}
|
|
294045
|
+
if (!(input === "c" && key.ctrl) || !internal_exitOnCtrlC) {
|
|
294046
|
+
reconciler_default.batchedUpdates(() => {
|
|
294047
|
+
inputHandler(input, key);
|
|
294048
|
+
});
|
|
294049
|
+
}
|
|
294050
|
+
}, "handleData");
|
|
294051
|
+
internal_eventEmitter?.on("input", handleData);
|
|
294052
|
+
return () => {
|
|
294053
|
+
internal_eventEmitter?.removeListener("input", handleData);
|
|
294054
|
+
};
|
|
294055
|
+
}, [options2.isActive, stdin, internal_exitOnCtrlC, inputHandler]);
|
|
294056
|
+
}, "useInput");
|
|
294057
|
+
var use_input_default = useInput;
|
|
294058
|
+
|
|
293889
294059
|
// node_modules/ink/build/hooks/use-app.js
|
|
293890
294060
|
init_esbuild_shims();
|
|
293891
294061
|
var import_react20 = __toESM(require_react(), 1);
|
|
@@ -293926,7 +294096,7 @@ var measureElement = /* @__PURE__ */ __name((node) => ({
|
|
|
293926
294096
|
var measure_element_default = measureElement;
|
|
293927
294097
|
|
|
293928
294098
|
// packages/cli/src/gemini.tsx
|
|
293929
|
-
var
|
|
294099
|
+
var import_react138 = __toESM(require_react(), 1);
|
|
293930
294100
|
import { randomUUID as randomUUID11 } from "node:crypto";
|
|
293931
294101
|
import dns from "node:dns";
|
|
293932
294102
|
import os44 from "node:os";
|
|
@@ -294157,15 +294327,15 @@ var darkTheme = {
|
|
|
294157
294327
|
Foreground: "#ffffff",
|
|
294158
294328
|
LightBlue: "#00cc66",
|
|
294159
294329
|
AccentBlue: "#00cc66",
|
|
294160
|
-
AccentPurple: "#
|
|
294330
|
+
AccentPurple: "#aaaaaa",
|
|
294161
294331
|
AccentCyan: "#00cc66",
|
|
294162
294332
|
AccentGreen: "#00cc66",
|
|
294163
|
-
AccentYellow: "#
|
|
294333
|
+
AccentYellow: "#ffcc00",
|
|
294164
294334
|
AccentRed: "#ff4444",
|
|
294165
294335
|
DiffAdded: "#00cc66",
|
|
294166
294336
|
DiffRemoved: "#ff4444",
|
|
294167
|
-
Comment: "#
|
|
294168
|
-
Gray: "#
|
|
294337
|
+
Comment: "#888888",
|
|
294338
|
+
Gray: "#999999",
|
|
294169
294339
|
GradientColors: ["#00cc66", "#00aa55", "#008844"]
|
|
294170
294340
|
};
|
|
294171
294341
|
var ansiTheme = {
|
|
@@ -296898,7 +297068,7 @@ import { EventEmitter as EE2 } from "events";
|
|
|
296898
297068
|
init_esbuild_shims();
|
|
296899
297069
|
init_esm7();
|
|
296900
297070
|
import assert from "assert";
|
|
296901
|
-
import { Buffer as
|
|
297071
|
+
import { Buffer as Buffer5 } from "buffer";
|
|
296902
297072
|
import * as realZlib2 from "zlib";
|
|
296903
297073
|
|
|
296904
297074
|
// node_modules/minizlib/dist/esm/constants.js
|
|
@@ -297015,11 +297185,11 @@ var constants3 = Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null)
|
|
|
297015
297185
|
}, realZlibConstants));
|
|
297016
297186
|
|
|
297017
297187
|
// node_modules/minizlib/dist/esm/index.js
|
|
297018
|
-
var OriginalBufferConcat =
|
|
297019
|
-
var desc = Object.getOwnPropertyDescriptor(
|
|
297188
|
+
var OriginalBufferConcat = Buffer5.concat;
|
|
297189
|
+
var desc = Object.getOwnPropertyDescriptor(Buffer5, "concat");
|
|
297020
297190
|
var noop4 = /* @__PURE__ */ __name((args) => args, "noop");
|
|
297021
297191
|
var passthroughBufferConcat = desc?.writable === true || desc?.set !== void 0 ? (makeNoOp) => {
|
|
297022
|
-
|
|
297192
|
+
Buffer5.concat = makeNoOp ? noop4 : OriginalBufferConcat;
|
|
297023
297193
|
} : (_) => {
|
|
297024
297194
|
};
|
|
297025
297195
|
var _superWrite = Symbol("_superWrite");
|
|
@@ -297108,7 +297278,7 @@ var ZlibBase = class extends Minipass {
|
|
|
297108
297278
|
return;
|
|
297109
297279
|
if (typeof flushFlag !== "number")
|
|
297110
297280
|
flushFlag = this.#fullFlushFlag;
|
|
297111
|
-
this.write(Object.assign(
|
|
297281
|
+
this.write(Object.assign(Buffer5.alloc(0), { [_flushFlag]: flushFlag }));
|
|
297112
297282
|
}
|
|
297113
297283
|
end(chunk, encoding, cb) {
|
|
297114
297284
|
if (typeof chunk === "function") {
|
|
@@ -297141,7 +297311,7 @@ var ZlibBase = class extends Minipass {
|
|
|
297141
297311
|
if (typeof encoding === "function")
|
|
297142
297312
|
cb = encoding, encoding = "utf8";
|
|
297143
297313
|
if (typeof chunk === "string")
|
|
297144
|
-
chunk =
|
|
297314
|
+
chunk = Buffer5.from(chunk, encoding);
|
|
297145
297315
|
if (this.#sawError)
|
|
297146
297316
|
return;
|
|
297147
297317
|
assert(this.#handle, "zlib binding closed");
|
|
@@ -297176,12 +297346,12 @@ var ZlibBase = class extends Minipass {
|
|
|
297176
297346
|
if (result) {
|
|
297177
297347
|
if (Array.isArray(result) && result.length > 0) {
|
|
297178
297348
|
const r3 = result[0];
|
|
297179
|
-
writeReturn = this[_superWrite](
|
|
297349
|
+
writeReturn = this[_superWrite](Buffer5.from(r3));
|
|
297180
297350
|
for (let i = 1; i < result.length; i++) {
|
|
297181
297351
|
writeReturn = this[_superWrite](result[i]);
|
|
297182
297352
|
}
|
|
297183
297353
|
} else {
|
|
297184
|
-
writeReturn = this[_superWrite](
|
|
297354
|
+
writeReturn = this[_superWrite](Buffer5.from(result));
|
|
297185
297355
|
}
|
|
297186
297356
|
}
|
|
297187
297357
|
if (cb)
|
|
@@ -309520,7 +309690,7 @@ __name(getPackageJson, "getPackageJson");
|
|
|
309520
309690
|
// packages/cli/src/utils/version.ts
|
|
309521
309691
|
async function getCliVersion() {
|
|
309522
309692
|
const pkgJson = await getPackageJson();
|
|
309523
|
-
return "0.1.
|
|
309693
|
+
return "0.1.16";
|
|
309524
309694
|
}
|
|
309525
309695
|
__name(getCliVersion, "getCliVersion");
|
|
309526
309696
|
|
|
@@ -316943,6 +317113,56 @@ var AVAILABLE_MODELS_OSA = [
|
|
|
316943
317113
|
isVision: true
|
|
316944
317114
|
}
|
|
316945
317115
|
];
|
|
317116
|
+
var AVAILABLE_MODELS_OLLAMA_LOCAL = [
|
|
317117
|
+
{
|
|
317118
|
+
id: "qwen2.5-coder:32b",
|
|
317119
|
+
label: "qwen2.5-coder:32b",
|
|
317120
|
+
get description() {
|
|
317121
|
+
return t2("Qwen2.5-Coder 32B - Best local coding model (requires ~20GB VRAM)");
|
|
317122
|
+
},
|
|
317123
|
+
isLocal: true
|
|
317124
|
+
},
|
|
317125
|
+
{
|
|
317126
|
+
id: "qwen2.5-coder:14b",
|
|
317127
|
+
label: "qwen2.5-coder:14b",
|
|
317128
|
+
get description() {
|
|
317129
|
+
return t2("Qwen2.5-Coder 14B - Great local coding model (requires ~10GB VRAM)");
|
|
317130
|
+
},
|
|
317131
|
+
isLocal: true
|
|
317132
|
+
},
|
|
317133
|
+
{
|
|
317134
|
+
id: "qwen2.5-coder:7b",
|
|
317135
|
+
label: "qwen2.5-coder:7b",
|
|
317136
|
+
get description() {
|
|
317137
|
+
return t2("Qwen2.5-Coder 7B - Good local coding model (requires ~5GB VRAM)");
|
|
317138
|
+
},
|
|
317139
|
+
isLocal: true
|
|
317140
|
+
},
|
|
317141
|
+
{
|
|
317142
|
+
id: "codellama:34b",
|
|
317143
|
+
label: "codellama:34b",
|
|
317144
|
+
get description() {
|
|
317145
|
+
return t2("CodeLlama 34B - Meta coding model (requires ~20GB VRAM)");
|
|
317146
|
+
},
|
|
317147
|
+
isLocal: true
|
|
317148
|
+
},
|
|
317149
|
+
{
|
|
317150
|
+
id: "deepseek-coder-v2:16b",
|
|
317151
|
+
label: "deepseek-coder-v2:16b",
|
|
317152
|
+
get description() {
|
|
317153
|
+
return t2("DeepSeek Coder V2 16B - Efficient MoE coding model");
|
|
317154
|
+
},
|
|
317155
|
+
isLocal: true
|
|
317156
|
+
},
|
|
317157
|
+
{
|
|
317158
|
+
id: "llama3.2:latest",
|
|
317159
|
+
label: "llama3.2:latest",
|
|
317160
|
+
get description() {
|
|
317161
|
+
return t2("Llama 3.2 - General purpose model with coding capabilities");
|
|
317162
|
+
},
|
|
317163
|
+
isLocal: true
|
|
317164
|
+
}
|
|
317165
|
+
];
|
|
316946
317166
|
function getOpenAIAvailableModelFromEnv() {
|
|
316947
317167
|
const id = process.env["OPENAI_MODEL"]?.trim();
|
|
316948
317168
|
return id ? { id, label: id } : null;
|
|
@@ -316951,7 +317171,10 @@ __name(getOpenAIAvailableModelFromEnv, "getOpenAIAvailableModelFromEnv");
|
|
|
316951
317171
|
function getAvailableModelsForAuthType(authType) {
|
|
316952
317172
|
switch (authType) {
|
|
316953
317173
|
case AuthType2.OSA_OAUTH:
|
|
317174
|
+
case AuthType2.OLLAMA_CLOUD:
|
|
316954
317175
|
return AVAILABLE_MODELS_OSA;
|
|
317176
|
+
case AuthType2.OLLAMA_LOCAL:
|
|
317177
|
+
return AVAILABLE_MODELS_OLLAMA_LOCAL;
|
|
316955
317178
|
case AuthType2.USE_OPENAI: {
|
|
316956
317179
|
const openAIModel = getOpenAIAvailableModelFromEnv();
|
|
316957
317180
|
return openAIModel ? [openAIModel] : [];
|
|
@@ -322782,7 +323005,7 @@ __name(runNonInteractiveStreamJson, "runNonInteractiveStreamJson");
|
|
|
322782
323005
|
|
|
322783
323006
|
// packages/cli/src/ui/AppContainer.tsx
|
|
322784
323007
|
init_esbuild_shims();
|
|
322785
|
-
var
|
|
323008
|
+
var import_react136 = __toESM(require_react(), 1);
|
|
322786
323009
|
|
|
322787
323010
|
// packages/cli/src/ui/App.tsx
|
|
322788
323011
|
init_esbuild_shims();
|
|
@@ -350142,10 +350365,11 @@ var DialogManager = /* @__PURE__ */ __name(({
|
|
|
350142
350365
|
|
|
350143
350366
|
// packages/cli/src/ui/components/Composer.tsx
|
|
350144
350367
|
init_esbuild_shims();
|
|
350145
|
-
var
|
|
350368
|
+
var import_react100 = __toESM(require_react(), 1);
|
|
350146
350369
|
|
|
350147
350370
|
// packages/cli/src/ui/components/LoadingIndicator.tsx
|
|
350148
350371
|
init_esbuild_shims();
|
|
350372
|
+
var import_react86 = __toESM(require_react(), 1);
|
|
350149
350373
|
|
|
350150
350374
|
// packages/cli/src/ui/utils/isNarrowWidth.ts
|
|
350151
350375
|
init_esbuild_shims();
|
|
@@ -350165,14 +350389,31 @@ var LoadingIndicator = /* @__PURE__ */ __name(({
|
|
|
350165
350389
|
const streamingState = useStreamingContext();
|
|
350166
350390
|
const { columns: terminalWidth } = useTerminalSize();
|
|
350167
350391
|
const isNarrow = isNarrowWidth(terminalWidth);
|
|
350392
|
+
const [thoughtExpanded, setThoughtExpanded] = (0, import_react86.useState)(false);
|
|
350393
|
+
use_input_default((input, _key) => {
|
|
350394
|
+
if (input === "o" && thought?.description) {
|
|
350395
|
+
setThoughtExpanded((prev) => !prev);
|
|
350396
|
+
}
|
|
350397
|
+
});
|
|
350168
350398
|
if (streamingState === "idle" /* Idle */) {
|
|
350169
350399
|
return null;
|
|
350170
350400
|
}
|
|
350401
|
+
const hasThought = thought?.subject || thought?.description;
|
|
350171
350402
|
const primaryText = thought?.subject || currentLoadingPhrase;
|
|
350172
350403
|
const cancelAndTimerContent = streamingState !== "waiting_for_confirmation" /* WaitingForConfirmation */ ? t2("(esc to cancel, {{time}})", {
|
|
350173
350404
|
time: elapsedTime < 60 ? `${elapsedTime}s` : formatDuration(elapsedTime * 1e3)
|
|
350174
350405
|
}) : null;
|
|
350175
350406
|
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Box_default, { paddingLeft: 0, flexDirection: "column", children: [
|
|
350407
|
+
hasThought && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Box_default, { marginBottom: 0, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Text3, { color: theme.text.secondary, dimColor: true, children: [
|
|
350408
|
+
thoughtExpanded ? "\u25BC" : "\u25B6",
|
|
350409
|
+
" Thinking",
|
|
350410
|
+
thought?.description ? " (press o to toggle)" : ""
|
|
350411
|
+
] }) }),
|
|
350412
|
+
thoughtExpanded && thought?.description && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Box_default, { paddingLeft: 2, marginBottom: 1, flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Text3, { color: theme.text.secondary, dimColor: true, wrap: "wrap", children: thought.description.split("\n").map((line, i) => /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Text3, { children: [
|
|
350413
|
+
i > 0 ? "\n" : "",
|
|
350414
|
+
"\u2022 ",
|
|
350415
|
+
line
|
|
350416
|
+
] }, i)) }) }),
|
|
350176
350417
|
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
350177
350418
|
Box_default,
|
|
350178
350419
|
{
|
|
@@ -350402,14 +350643,14 @@ var DetailedMessagesDisplay = /* @__PURE__ */ __name(({ messages, maxHeight, wid
|
|
|
350402
350643
|
|
|
350403
350644
|
// packages/cli/src/ui/components/InputPrompt.tsx
|
|
350404
350645
|
init_esbuild_shims();
|
|
350405
|
-
var
|
|
350646
|
+
var import_react96 = __toESM(require_react(), 1);
|
|
350406
350647
|
|
|
350407
350648
|
// packages/cli/src/ui/components/SuggestionsDisplay.tsx
|
|
350408
350649
|
init_esbuild_shims();
|
|
350409
350650
|
|
|
350410
350651
|
// packages/cli/src/ui/components/PrepareLabel.tsx
|
|
350411
350652
|
init_esbuild_shims();
|
|
350412
|
-
var
|
|
350653
|
+
var import_react87 = __toESM(require_react(), 1);
|
|
350413
350654
|
var import_jsx_runtime92 = __toESM(require_jsx_runtime(), 1);
|
|
350414
350655
|
var MAX_WIDTH = 150;
|
|
350415
350656
|
var _PrepareLabel = /* @__PURE__ */ __name(({
|
|
@@ -350475,7 +350716,7 @@ var _PrepareLabel = /* @__PURE__ */ __name(({
|
|
|
350475
350716
|
after
|
|
350476
350717
|
] });
|
|
350477
350718
|
}, "_PrepareLabel");
|
|
350478
|
-
var PrepareLabel =
|
|
350719
|
+
var PrepareLabel = import_react87.default.memo(_PrepareLabel);
|
|
350479
350720
|
|
|
350480
350721
|
// packages/cli/src/ui/components/SuggestionsDisplay.tsx
|
|
350481
350722
|
var import_jsx_runtime93 = __toESM(require_jsx_runtime(), 1);
|
|
@@ -350554,7 +350795,7 @@ __name(SuggestionsDisplay, "SuggestionsDisplay");
|
|
|
350554
350795
|
|
|
350555
350796
|
// packages/cli/src/ui/hooks/useInputHistory.ts
|
|
350556
350797
|
init_esbuild_shims();
|
|
350557
|
-
var
|
|
350798
|
+
var import_react88 = __toESM(require_react(), 1);
|
|
350558
350799
|
function useInputHistory({
|
|
350559
350800
|
userMessages,
|
|
350560
350801
|
onSubmit,
|
|
@@ -350562,13 +350803,13 @@ function useInputHistory({
|
|
|
350562
350803
|
currentQuery,
|
|
350563
350804
|
onChange
|
|
350564
350805
|
}) {
|
|
350565
|
-
const [historyIndex, setHistoryIndex] = (0,
|
|
350566
|
-
const [originalQueryBeforeNav, setOriginalQueryBeforeNav] = (0,
|
|
350567
|
-
const resetHistoryNav = (0,
|
|
350806
|
+
const [historyIndex, setHistoryIndex] = (0, import_react88.useState)(-1);
|
|
350807
|
+
const [originalQueryBeforeNav, setOriginalQueryBeforeNav] = (0, import_react88.useState)("");
|
|
350808
|
+
const resetHistoryNav = (0, import_react88.useCallback)(() => {
|
|
350568
350809
|
setHistoryIndex(-1);
|
|
350569
350810
|
setOriginalQueryBeforeNav("");
|
|
350570
350811
|
}, []);
|
|
350571
|
-
const handleSubmit = (0,
|
|
350812
|
+
const handleSubmit = (0, import_react88.useCallback)(
|
|
350572
350813
|
(value) => {
|
|
350573
350814
|
const trimmedValue = value.trim();
|
|
350574
350815
|
if (trimmedValue) {
|
|
@@ -350578,7 +350819,7 @@ function useInputHistory({
|
|
|
350578
350819
|
},
|
|
350579
350820
|
[onSubmit, resetHistoryNav]
|
|
350580
350821
|
);
|
|
350581
|
-
const navigateUp = (0,
|
|
350822
|
+
const navigateUp = (0, import_react88.useCallback)(() => {
|
|
350582
350823
|
if (!isActive) return false;
|
|
350583
350824
|
if (userMessages.length === 0) return false;
|
|
350584
350825
|
let nextIndex = historyIndex;
|
|
@@ -350607,7 +350848,7 @@ function useInputHistory({
|
|
|
350607
350848
|
// Use currentQuery from props
|
|
350608
350849
|
setOriginalQueryBeforeNav
|
|
350609
350850
|
]);
|
|
350610
|
-
const navigateDown = (0,
|
|
350851
|
+
const navigateDown = (0, import_react88.useCallback)(() => {
|
|
350611
350852
|
if (!isActive) return false;
|
|
350612
350853
|
if (historyIndex === -1) return false;
|
|
350613
350854
|
const nextIndex = historyIndex - 1;
|
|
@@ -350637,7 +350878,7 @@ __name(useInputHistory, "useInputHistory");
|
|
|
350637
350878
|
|
|
350638
350879
|
// packages/cli/src/ui/hooks/useShellHistory.ts
|
|
350639
350880
|
init_esbuild_shims();
|
|
350640
|
-
var
|
|
350881
|
+
var import_react89 = __toESM(require_react(), 1);
|
|
350641
350882
|
import * as fs85 from "node:fs/promises";
|
|
350642
350883
|
import * as path95 from "node:path";
|
|
350643
350884
|
var MAX_HISTORY_LENGTH2 = 100;
|
|
@@ -350681,10 +350922,10 @@ async function writeHistoryFile(filePath, history) {
|
|
|
350681
350922
|
}
|
|
350682
350923
|
__name(writeHistoryFile, "writeHistoryFile");
|
|
350683
350924
|
function useShellHistory(projectRoot, storage) {
|
|
350684
|
-
const [history, setHistory] = (0,
|
|
350685
|
-
const [historyIndex, setHistoryIndex] = (0,
|
|
350686
|
-
const [historyFilePath, setHistoryFilePath] = (0,
|
|
350687
|
-
(0,
|
|
350925
|
+
const [history, setHistory] = (0, import_react89.useState)([]);
|
|
350926
|
+
const [historyIndex, setHistoryIndex] = (0, import_react89.useState)(-1);
|
|
350927
|
+
const [historyFilePath, setHistoryFilePath] = (0, import_react89.useState)(null);
|
|
350928
|
+
(0, import_react89.useEffect)(() => {
|
|
350688
350929
|
async function loadHistory() {
|
|
350689
350930
|
const filePath = await getHistoryFilePath(projectRoot, storage);
|
|
350690
350931
|
setHistoryFilePath(filePath);
|
|
@@ -350694,7 +350935,7 @@ function useShellHistory(projectRoot, storage) {
|
|
|
350694
350935
|
__name(loadHistory, "loadHistory");
|
|
350695
350936
|
loadHistory();
|
|
350696
350937
|
}, [projectRoot, storage]);
|
|
350697
|
-
const addCommandToHistory = (0,
|
|
350938
|
+
const addCommandToHistory = (0, import_react89.useCallback)(
|
|
350698
350939
|
(command2) => {
|
|
350699
350940
|
if (!command2.trim() || !historyFilePath) {
|
|
350700
350941
|
return;
|
|
@@ -350706,7 +350947,7 @@ function useShellHistory(projectRoot, storage) {
|
|
|
350706
350947
|
},
|
|
350707
350948
|
[history, historyFilePath]
|
|
350708
350949
|
);
|
|
350709
|
-
const getPreviousCommand = (0,
|
|
350950
|
+
const getPreviousCommand = (0, import_react89.useCallback)(() => {
|
|
350710
350951
|
if (history.length === 0) {
|
|
350711
350952
|
return null;
|
|
350712
350953
|
}
|
|
@@ -350714,7 +350955,7 @@ function useShellHistory(projectRoot, storage) {
|
|
|
350714
350955
|
setHistoryIndex(newIndex);
|
|
350715
350956
|
return history[newIndex] ?? null;
|
|
350716
350957
|
}, [history, historyIndex]);
|
|
350717
|
-
const getNextCommand = (0,
|
|
350958
|
+
const getNextCommand = (0, import_react89.useCallback)(() => {
|
|
350718
350959
|
if (historyIndex < 0) {
|
|
350719
350960
|
return null;
|
|
350720
350961
|
}
|
|
@@ -350725,7 +350966,7 @@ function useShellHistory(projectRoot, storage) {
|
|
|
350725
350966
|
}
|
|
350726
350967
|
return history[newIndex] ?? null;
|
|
350727
350968
|
}, [history, historyIndex]);
|
|
350728
|
-
const resetHistoryPosition = (0,
|
|
350969
|
+
const resetHistoryPosition = (0, import_react89.useCallback)(() => {
|
|
350729
350970
|
setHistoryIndex(-1);
|
|
350730
350971
|
}, []);
|
|
350731
350972
|
return {
|
|
@@ -350740,19 +350981,19 @@ __name(useShellHistory, "useShellHistory");
|
|
|
350740
350981
|
|
|
350741
350982
|
// packages/cli/src/ui/hooks/useReverseSearchCompletion.tsx
|
|
350742
350983
|
init_esbuild_shims();
|
|
350743
|
-
var
|
|
350984
|
+
var import_react91 = __toESM(require_react(), 1);
|
|
350744
350985
|
|
|
350745
350986
|
// packages/cli/src/ui/hooks/useCompletion.ts
|
|
350746
350987
|
init_esbuild_shims();
|
|
350747
|
-
var
|
|
350988
|
+
var import_react90 = __toESM(require_react(), 1);
|
|
350748
350989
|
function useCompletion() {
|
|
350749
|
-
const [suggestions, setSuggestions] = (0,
|
|
350750
|
-
const [activeSuggestionIndex, setActiveSuggestionIndex] = (0,
|
|
350751
|
-
const [visibleStartIndex, setVisibleStartIndex] = (0,
|
|
350752
|
-
const [showSuggestions, setShowSuggestions] = (0,
|
|
350753
|
-
const [isLoadingSuggestions, setIsLoadingSuggestions] = (0,
|
|
350754
|
-
const [isPerfectMatch, setIsPerfectMatch] = (0,
|
|
350755
|
-
const resetCompletionState = (0,
|
|
350990
|
+
const [suggestions, setSuggestions] = (0, import_react90.useState)([]);
|
|
350991
|
+
const [activeSuggestionIndex, setActiveSuggestionIndex] = (0, import_react90.useState)(-1);
|
|
350992
|
+
const [visibleStartIndex, setVisibleStartIndex] = (0, import_react90.useState)(0);
|
|
350993
|
+
const [showSuggestions, setShowSuggestions] = (0, import_react90.useState)(false);
|
|
350994
|
+
const [isLoadingSuggestions, setIsLoadingSuggestions] = (0, import_react90.useState)(false);
|
|
350995
|
+
const [isPerfectMatch, setIsPerfectMatch] = (0, import_react90.useState)(false);
|
|
350996
|
+
const resetCompletionState = (0, import_react90.useCallback)(() => {
|
|
350756
350997
|
setSuggestions([]);
|
|
350757
350998
|
setActiveSuggestionIndex(-1);
|
|
350758
350999
|
setVisibleStartIndex(0);
|
|
@@ -350760,7 +351001,7 @@ function useCompletion() {
|
|
|
350760
351001
|
setIsLoadingSuggestions(false);
|
|
350761
351002
|
setIsPerfectMatch(false);
|
|
350762
351003
|
}, []);
|
|
350763
|
-
const navigateUp = (0,
|
|
351004
|
+
const navigateUp = (0, import_react90.useCallback)(() => {
|
|
350764
351005
|
if (suggestions.length === 0) return;
|
|
350765
351006
|
setActiveSuggestionIndex((prevActiveIndex) => {
|
|
350766
351007
|
const newActiveIndex = prevActiveIndex <= 0 ? suggestions.length - 1 : prevActiveIndex - 1;
|
|
@@ -350776,7 +351017,7 @@ function useCompletion() {
|
|
|
350776
351017
|
return newActiveIndex;
|
|
350777
351018
|
});
|
|
350778
351019
|
}, [suggestions.length]);
|
|
350779
|
-
const navigateDown = (0,
|
|
351020
|
+
const navigateDown = (0, import_react90.useCallback)(() => {
|
|
350780
351021
|
if (suggestions.length === 0) return;
|
|
350781
351022
|
setActiveSuggestionIndex((prevActiveIndex) => {
|
|
350782
351023
|
const newActiveIndex = prevActiveIndex >= suggestions.length - 1 ? 0 : prevActiveIndex + 1;
|
|
@@ -350815,8 +351056,8 @@ __name(useCompletion, "useCompletion");
|
|
|
350815
351056
|
|
|
350816
351057
|
// packages/cli/src/ui/hooks/useReverseSearchCompletion.tsx
|
|
350817
351058
|
function useDebouncedValue(value, delay4 = 200) {
|
|
350818
|
-
const [debounced, setDebounced] = (0,
|
|
350819
|
-
(0,
|
|
351059
|
+
const [debounced, setDebounced] = (0, import_react91.useState)(value);
|
|
351060
|
+
(0, import_react91.useEffect)(() => {
|
|
350820
351061
|
const handle = setTimeout(() => setDebounced(value), delay4);
|
|
350821
351062
|
return () => clearTimeout(handle);
|
|
350822
351063
|
}, [value, delay4]);
|
|
@@ -350839,19 +351080,19 @@ function useReverseSearchCompletion(buffer, history, reverseSearchActive) {
|
|
|
350839
351080
|
setVisibleStartIndex
|
|
350840
351081
|
} = useCompletion();
|
|
350841
351082
|
const debouncedQuery = useDebouncedValue(buffer.text, 100);
|
|
350842
|
-
const prevQueryRef = (0,
|
|
350843
|
-
const prevMatchesRef = (0,
|
|
350844
|
-
(0,
|
|
351083
|
+
const prevQueryRef = (0, import_react91.useRef)("");
|
|
351084
|
+
const prevMatchesRef = (0, import_react91.useRef)([]);
|
|
351085
|
+
(0, import_react91.useEffect)(() => {
|
|
350845
351086
|
if (reverseSearchActive) {
|
|
350846
351087
|
prevQueryRef.current = "";
|
|
350847
351088
|
prevMatchesRef.current = [];
|
|
350848
351089
|
}
|
|
350849
351090
|
}, [reverseSearchActive]);
|
|
350850
|
-
(0,
|
|
351091
|
+
(0, import_react91.useEffect)(() => {
|
|
350851
351092
|
prevQueryRef.current = "";
|
|
350852
351093
|
prevMatchesRef.current = [];
|
|
350853
351094
|
}, [history]);
|
|
350854
|
-
const searchHistory = (0,
|
|
351095
|
+
const searchHistory = (0, import_react91.useCallback)(
|
|
350855
351096
|
(query, items) => {
|
|
350856
351097
|
const out = [];
|
|
350857
351098
|
for (let i = 0; i < items.length; i++) {
|
|
@@ -350865,7 +351106,7 @@ function useReverseSearchCompletion(buffer, history, reverseSearchActive) {
|
|
|
350865
351106
|
},
|
|
350866
351107
|
[]
|
|
350867
351108
|
);
|
|
350868
|
-
const matches = (0,
|
|
351109
|
+
const matches = (0, import_react91.useMemo)(() => {
|
|
350869
351110
|
if (!reverseSearchActive) return [];
|
|
350870
351111
|
if (debouncedQuery.length === 0)
|
|
350871
351112
|
return history.map((cmd) => ({
|
|
@@ -350878,7 +351119,7 @@ function useReverseSearchCompletion(buffer, history, reverseSearchActive) {
|
|
|
350878
351119
|
const source2 = canUseCache ? prevMatchesRef.current.map((m) => m.value) : history;
|
|
350879
351120
|
return searchHistory(query, source2);
|
|
350880
351121
|
}, [debouncedQuery, history, reverseSearchActive, searchHistory]);
|
|
350881
|
-
(0,
|
|
351122
|
+
(0, import_react91.useEffect)(() => {
|
|
350882
351123
|
if (!reverseSearchActive) {
|
|
350883
351124
|
resetCompletionState();
|
|
350884
351125
|
return;
|
|
@@ -350900,7 +351141,7 @@ function useReverseSearchCompletion(buffer, history, reverseSearchActive) {
|
|
|
350900
351141
|
setVisibleStartIndex,
|
|
350901
351142
|
resetCompletionState
|
|
350902
351143
|
]);
|
|
350903
|
-
const handleAutocomplete = (0,
|
|
351144
|
+
const handleAutocomplete = (0, import_react91.useCallback)(
|
|
350904
351145
|
(i) => {
|
|
350905
351146
|
if (i < 0 || i >= suggestions.length) return;
|
|
350906
351147
|
buffer.setText(suggestions[i].value);
|
|
@@ -350924,11 +351165,11 @@ __name(useReverseSearchCompletion, "useReverseSearchCompletion");
|
|
|
350924
351165
|
|
|
350925
351166
|
// packages/cli/src/ui/hooks/useCommandCompletion.tsx
|
|
350926
351167
|
init_esbuild_shims();
|
|
350927
|
-
var
|
|
351168
|
+
var import_react94 = __toESM(require_react(), 1);
|
|
350928
351169
|
|
|
350929
351170
|
// packages/cli/src/ui/hooks/useAtCompletion.ts
|
|
350930
351171
|
init_esbuild_shims();
|
|
350931
|
-
var
|
|
351172
|
+
var import_react92 = __toESM(require_react(), 1);
|
|
350932
351173
|
var initialState = {
|
|
350933
351174
|
status: "idle" /* IDLE */,
|
|
350934
351175
|
suggestions: [],
|
|
@@ -350986,20 +351227,20 @@ function useAtCompletion(props) {
|
|
|
350986
351227
|
setSuggestions,
|
|
350987
351228
|
setIsLoadingSuggestions
|
|
350988
351229
|
} = props;
|
|
350989
|
-
const [state, dispatch] = (0,
|
|
350990
|
-
const fileSearch = (0,
|
|
350991
|
-
const searchAbortController = (0,
|
|
350992
|
-
const slowSearchTimer = (0,
|
|
350993
|
-
(0,
|
|
351230
|
+
const [state, dispatch] = (0, import_react92.useReducer)(atCompletionReducer, initialState);
|
|
351231
|
+
const fileSearch = (0, import_react92.useRef)(null);
|
|
351232
|
+
const searchAbortController = (0, import_react92.useRef)(null);
|
|
351233
|
+
const slowSearchTimer = (0, import_react92.useRef)(null);
|
|
351234
|
+
(0, import_react92.useEffect)(() => {
|
|
350994
351235
|
setSuggestions(state.suggestions);
|
|
350995
351236
|
}, [state.suggestions, setSuggestions]);
|
|
350996
|
-
(0,
|
|
351237
|
+
(0, import_react92.useEffect)(() => {
|
|
350997
351238
|
setIsLoadingSuggestions(state.isLoading);
|
|
350998
351239
|
}, [state.isLoading, setIsLoadingSuggestions]);
|
|
350999
|
-
(0,
|
|
351240
|
+
(0, import_react92.useEffect)(() => {
|
|
351000
351241
|
dispatch({ type: "RESET" });
|
|
351001
351242
|
}, [cwd7, config]);
|
|
351002
|
-
(0,
|
|
351243
|
+
(0, import_react92.useEffect)(() => {
|
|
351003
351244
|
if (!enabled) {
|
|
351004
351245
|
if (state.status === "ready" /* READY */ || state.status === "error" /* ERROR */) {
|
|
351005
351246
|
dispatch({ type: "RESET" });
|
|
@@ -351016,7 +351257,7 @@ function useAtCompletion(props) {
|
|
|
351016
351257
|
dispatch({ type: "SEARCH", payload: pattern });
|
|
351017
351258
|
}
|
|
351018
351259
|
}, [enabled, pattern, state.status, state.pattern]);
|
|
351019
|
-
(0,
|
|
351260
|
+
(0, import_react92.useEffect)(() => {
|
|
351020
351261
|
const initialize = /* @__PURE__ */ __name(async () => {
|
|
351021
351262
|
try {
|
|
351022
351263
|
const searcher = FileSearchFactory.create({
|
|
@@ -351091,7 +351332,7 @@ __name(useAtCompletion, "useAtCompletion");
|
|
|
351091
351332
|
|
|
351092
351333
|
// packages/cli/src/ui/hooks/useSlashCompletion.ts
|
|
351093
351334
|
init_esbuild_shims();
|
|
351094
|
-
var
|
|
351335
|
+
var import_react93 = __toESM(require_react(), 1);
|
|
351095
351336
|
init_fzf_es();
|
|
351096
351337
|
function logErrorSafely(error, context2) {
|
|
351097
351338
|
if (error instanceof Error) {
|
|
@@ -351106,7 +351347,7 @@ function matchesCommand(cmd, query) {
|
|
|
351106
351347
|
}
|
|
351107
351348
|
__name(matchesCommand, "matchesCommand");
|
|
351108
351349
|
function useCommandParser(query, slashCommands) {
|
|
351109
|
-
return (0,
|
|
351350
|
+
return (0, import_react93.useMemo)(() => {
|
|
351110
351351
|
if (!query) {
|
|
351111
351352
|
return {
|
|
351112
351353
|
hasTrailingSpace: false,
|
|
@@ -351176,9 +351417,9 @@ function useCommandParser(query, slashCommands) {
|
|
|
351176
351417
|
}
|
|
351177
351418
|
__name(useCommandParser, "useCommandParser");
|
|
351178
351419
|
function useCommandSuggestions(parserResult, commandContext, getFzfForCommands, getPrefixSuggestions) {
|
|
351179
|
-
const [suggestions, setSuggestions] = (0,
|
|
351180
|
-
const [isLoading, setIsLoading] = (0,
|
|
351181
|
-
(0,
|
|
351420
|
+
const [suggestions, setSuggestions] = (0, import_react93.useState)([]);
|
|
351421
|
+
const [isLoading, setIsLoading] = (0, import_react93.useState)(false);
|
|
351422
|
+
(0, import_react93.useEffect)(() => {
|
|
351182
351423
|
const abortController = new AbortController();
|
|
351183
351424
|
const { signal } = abortController;
|
|
351184
351425
|
const {
|
|
@@ -351298,7 +351539,7 @@ function useCommandSuggestions(parserResult, commandContext, getFzfForCommands,
|
|
|
351298
351539
|
}
|
|
351299
351540
|
__name(useCommandSuggestions, "useCommandSuggestions");
|
|
351300
351541
|
function useCompletionPositions(query, parserResult) {
|
|
351301
|
-
return (0,
|
|
351542
|
+
return (0, import_react93.useMemo)(() => {
|
|
351302
351543
|
if (!query) {
|
|
351303
351544
|
return { start: -1, end: -1 };
|
|
351304
351545
|
}
|
|
@@ -351320,7 +351561,7 @@ function useCompletionPositions(query, parserResult) {
|
|
|
351320
351561
|
}
|
|
351321
351562
|
__name(useCompletionPositions, "useCompletionPositions");
|
|
351322
351563
|
function usePerfectMatch(parserResult) {
|
|
351323
|
-
return (0,
|
|
351564
|
+
return (0, import_react93.useMemo)(() => {
|
|
351324
351565
|
const { hasTrailingSpace, partial, leafCommand, currentLevel } = parserResult;
|
|
351325
351566
|
if (hasTrailingSpace) {
|
|
351326
351567
|
return { isPerfectMatch: false };
|
|
@@ -351350,13 +351591,13 @@ function useSlashCompletion(props) {
|
|
|
351350
351591
|
setIsLoadingSuggestions,
|
|
351351
351592
|
setIsPerfectMatch
|
|
351352
351593
|
} = props;
|
|
351353
|
-
const [completionStart, setCompletionStart] = (0,
|
|
351354
|
-
const [completionEnd, setCompletionEnd] = (0,
|
|
351355
|
-
const fzfInstanceCache = (0,
|
|
351594
|
+
const [completionStart, setCompletionStart] = (0, import_react93.useState)(-1);
|
|
351595
|
+
const [completionEnd, setCompletionEnd] = (0, import_react93.useState)(-1);
|
|
351596
|
+
const fzfInstanceCache = (0, import_react93.useMemo)(
|
|
351356
351597
|
() => /* @__PURE__ */ new WeakMap(),
|
|
351357
351598
|
[]
|
|
351358
351599
|
);
|
|
351359
|
-
const getFzfForCommands = (0,
|
|
351600
|
+
const getFzfForCommands = (0, import_react93.useMemo)(
|
|
351360
351601
|
() => (commands) => {
|
|
351361
351602
|
if (!commands || commands.length === 0) {
|
|
351362
351603
|
return null;
|
|
@@ -351400,7 +351641,7 @@ function useSlashCompletion(props) {
|
|
|
351400
351641
|
},
|
|
351401
351642
|
[fzfInstanceCache]
|
|
351402
351643
|
);
|
|
351403
|
-
const getPrefixSuggestions = (0,
|
|
351644
|
+
const getPrefixSuggestions = (0, import_react93.useMemo)(
|
|
351404
351645
|
() => (commands, partial) => commands.filter(
|
|
351405
351646
|
(cmd) => cmd.description && !cmd.hidden && (cmd.name.toLowerCase().startsWith(partial.toLowerCase()) || cmd.altNames?.some(
|
|
351406
351647
|
(alt) => alt.toLowerCase().startsWith(partial.toLowerCase())
|
|
@@ -351420,7 +351661,7 @@ function useSlashCompletion(props) {
|
|
|
351420
351661
|
parserResult
|
|
351421
351662
|
);
|
|
351422
351663
|
const { isPerfectMatch } = usePerfectMatch(parserResult);
|
|
351423
|
-
(0,
|
|
351664
|
+
(0, import_react93.useEffect)(() => {
|
|
351424
351665
|
if (!enabled) {
|
|
351425
351666
|
setSuggestions([]);
|
|
351426
351667
|
setIsLoadingSuggestions(false);
|
|
@@ -351429,7 +351670,7 @@ function useSlashCompletion(props) {
|
|
|
351429
351670
|
setCompletionEnd(-1);
|
|
351430
351671
|
}
|
|
351431
351672
|
}, [enabled, setSuggestions, setIsLoadingSuggestions, setIsPerfectMatch]);
|
|
351432
|
-
(0,
|
|
351673
|
+
(0, import_react93.useEffect)(() => {
|
|
351433
351674
|
if (!enabled || query === null) {
|
|
351434
351675
|
return;
|
|
351435
351676
|
}
|
|
@@ -351478,7 +351719,7 @@ function useCommandCompletion(buffer, dirs, cwd7, slashCommands, commandContext,
|
|
|
351478
351719
|
} = useCompletion();
|
|
351479
351720
|
const cursorRow = buffer.cursor[0];
|
|
351480
351721
|
const cursorCol = buffer.cursor[1];
|
|
351481
|
-
const { completionMode, query, completionStart, completionEnd } = (0,
|
|
351722
|
+
const { completionMode, query, completionStart, completionEnd } = (0, import_react94.useMemo)(() => {
|
|
351482
351723
|
const currentLine = buffer.lines[cursorRow] || "";
|
|
351483
351724
|
if (cursorRow === 0 && isSlashCommand(currentLine.trim())) {
|
|
351484
351725
|
return {
|
|
@@ -351547,11 +351788,11 @@ function useCommandCompletion(buffer, dirs, cwd7, slashCommands, commandContext,
|
|
|
351547
351788
|
setIsLoadingSuggestions,
|
|
351548
351789
|
setIsPerfectMatch
|
|
351549
351790
|
});
|
|
351550
|
-
(0,
|
|
351791
|
+
(0, import_react94.useEffect)(() => {
|
|
351551
351792
|
setActiveSuggestionIndex(suggestions.length > 0 ? 0 : -1);
|
|
351552
351793
|
setVisibleStartIndex(0);
|
|
351553
351794
|
}, [suggestions, setActiveSuggestionIndex, setVisibleStartIndex]);
|
|
351554
|
-
(0,
|
|
351795
|
+
(0, import_react94.useEffect)(() => {
|
|
351555
351796
|
if (completionMode === "IDLE" /* IDLE */ || reverseSearchActive) {
|
|
351556
351797
|
resetCompletionState();
|
|
351557
351798
|
return;
|
|
@@ -351565,7 +351806,7 @@ function useCommandCompletion(buffer, dirs, cwd7, slashCommands, commandContext,
|
|
|
351565
351806
|
resetCompletionState,
|
|
351566
351807
|
setShowSuggestions
|
|
351567
351808
|
]);
|
|
351568
|
-
const handleAutocomplete = (0,
|
|
351809
|
+
const handleAutocomplete = (0, import_react94.useCallback)(
|
|
351569
351810
|
(indexToUse) => {
|
|
351570
351811
|
if (indexToUse < 0 || indexToUse >= suggestions.length) {
|
|
351571
351812
|
return;
|
|
@@ -351791,9 +352032,9 @@ import * as path97 from "node:path";
|
|
|
351791
352032
|
|
|
351792
352033
|
// packages/cli/src/ui/contexts/ShellFocusContext.tsx
|
|
351793
352034
|
init_esbuild_shims();
|
|
351794
|
-
var
|
|
351795
|
-
var ShellFocusContext = (0,
|
|
351796
|
-
var useShellFocusState = /* @__PURE__ */ __name(() => (0,
|
|
352035
|
+
var import_react95 = __toESM(require_react(), 1);
|
|
352036
|
+
var ShellFocusContext = (0, import_react95.createContext)(true);
|
|
352037
|
+
var useShellFocusState = /* @__PURE__ */ __name(() => (0, import_react95.useContext)(ShellFocusContext), "useShellFocusState");
|
|
351797
352038
|
|
|
351798
352039
|
// packages/cli/src/ui/components/InputPrompt.tsx
|
|
351799
352040
|
var import_jsx_runtime94 = __toESM(require_jsx_runtime(), 1);
|
|
@@ -351833,29 +352074,29 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351833
352074
|
isEmbeddedShellFocused
|
|
351834
352075
|
}) => {
|
|
351835
352076
|
const isShellFocused = useShellFocusState();
|
|
351836
|
-
const [justNavigatedHistory, setJustNavigatedHistory] = (0,
|
|
351837
|
-
const [escPressCount, setEscPressCount] = (0,
|
|
351838
|
-
const [showEscapePrompt, setShowEscapePrompt] = (0,
|
|
351839
|
-
const escapeTimerRef = (0,
|
|
351840
|
-
const [recentPasteTime, setRecentPasteTime] = (0,
|
|
351841
|
-
const pasteTimeoutRef = (0,
|
|
351842
|
-
const [dirs, setDirs] = (0,
|
|
352077
|
+
const [justNavigatedHistory, setJustNavigatedHistory] = (0, import_react96.useState)(false);
|
|
352078
|
+
const [escPressCount, setEscPressCount] = (0, import_react96.useState)(0);
|
|
352079
|
+
const [showEscapePrompt, setShowEscapePrompt] = (0, import_react96.useState)(false);
|
|
352080
|
+
const escapeTimerRef = (0, import_react96.useRef)(null);
|
|
352081
|
+
const [recentPasteTime, setRecentPasteTime] = (0, import_react96.useState)(null);
|
|
352082
|
+
const pasteTimeoutRef = (0, import_react96.useRef)(null);
|
|
352083
|
+
const [dirs, setDirs] = (0, import_react96.useState)(
|
|
351843
352084
|
config.getWorkspaceContext().getDirectories()
|
|
351844
352085
|
);
|
|
351845
352086
|
const dirsChanged = config.getWorkspaceContext().getDirectories();
|
|
351846
|
-
(0,
|
|
352087
|
+
(0, import_react96.useEffect)(() => {
|
|
351847
352088
|
if (dirs.length !== dirsChanged.length) {
|
|
351848
352089
|
setDirs(dirsChanged);
|
|
351849
352090
|
}
|
|
351850
352091
|
}, [dirs.length, dirsChanged]);
|
|
351851
|
-
const [reverseSearchActive, setReverseSearchActive] = (0,
|
|
351852
|
-
const [commandSearchActive, setCommandSearchActive] = (0,
|
|
351853
|
-
const [textBeforeReverseSearch, setTextBeforeReverseSearch] = (0,
|
|
351854
|
-
const [cursorPosition, setCursorPosition] = (0,
|
|
352092
|
+
const [reverseSearchActive, setReverseSearchActive] = (0, import_react96.useState)(false);
|
|
352093
|
+
const [commandSearchActive, setCommandSearchActive] = (0, import_react96.useState)(false);
|
|
352094
|
+
const [textBeforeReverseSearch, setTextBeforeReverseSearch] = (0, import_react96.useState)("");
|
|
352095
|
+
const [cursorPosition, setCursorPosition] = (0, import_react96.useState)([
|
|
351855
352096
|
0,
|
|
351856
352097
|
0
|
|
351857
352098
|
]);
|
|
351858
|
-
const [expandedSuggestionIndex, setExpandedSuggestionIndex] = (0,
|
|
352099
|
+
const [expandedSuggestionIndex, setExpandedSuggestionIndex] = (0, import_react96.useState)(-1);
|
|
351859
352100
|
const shellHistory = useShellHistory(config.getProjectRoot());
|
|
351860
352101
|
const shellHistoryData = shellHistory.history;
|
|
351861
352102
|
const completion3 = useCommandCompletion(
|
|
@@ -351881,7 +352122,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351881
352122
|
const resetReverseSearchCompletionState = reverseSearchCompletion.resetCompletionState;
|
|
351882
352123
|
const resetCommandSearchCompletionState = commandSearchCompletion.resetCompletionState;
|
|
351883
352124
|
const showCursor = focus && isShellFocused && !isEmbeddedShellFocused;
|
|
351884
|
-
const resetEscapeState = (0,
|
|
352125
|
+
const resetEscapeState = (0, import_react96.useCallback)(() => {
|
|
351885
352126
|
if (escapeTimerRef.current) {
|
|
351886
352127
|
clearTimeout(escapeTimerRef.current);
|
|
351887
352128
|
escapeTimerRef.current = null;
|
|
@@ -351889,12 +352130,12 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351889
352130
|
setEscPressCount(0);
|
|
351890
352131
|
setShowEscapePrompt(false);
|
|
351891
352132
|
}, []);
|
|
351892
|
-
(0,
|
|
352133
|
+
(0, import_react96.useEffect)(() => {
|
|
351893
352134
|
if (onEscapePromptChange) {
|
|
351894
352135
|
onEscapePromptChange(showEscapePrompt);
|
|
351895
352136
|
}
|
|
351896
352137
|
}, [showEscapePrompt, onEscapePromptChange]);
|
|
351897
|
-
(0,
|
|
352138
|
+
(0, import_react96.useEffect)(
|
|
351898
352139
|
() => () => {
|
|
351899
352140
|
if (escapeTimerRef.current) {
|
|
351900
352141
|
clearTimeout(escapeTimerRef.current);
|
|
@@ -351905,7 +352146,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351905
352146
|
},
|
|
351906
352147
|
[]
|
|
351907
352148
|
);
|
|
351908
|
-
const handleSubmitAndClear = (0,
|
|
352149
|
+
const handleSubmitAndClear = (0, import_react96.useCallback)(
|
|
351909
352150
|
(submittedValue) => {
|
|
351910
352151
|
if (shellModeActive) {
|
|
351911
352152
|
shellHistory.addCommandToHistory(submittedValue);
|
|
@@ -351924,7 +352165,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351924
352165
|
resetReverseSearchCompletionState
|
|
351925
352166
|
]
|
|
351926
352167
|
);
|
|
351927
|
-
const customSetTextAndResetCompletionSignal = (0,
|
|
352168
|
+
const customSetTextAndResetCompletionSignal = (0, import_react96.useCallback)(
|
|
351928
352169
|
(newText) => {
|
|
351929
352170
|
buffer.setText(newText);
|
|
351930
352171
|
setJustNavigatedHistory(true);
|
|
@@ -351938,7 +352179,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351938
352179
|
currentQuery: buffer.text,
|
|
351939
352180
|
onChange: customSetTextAndResetCompletionSignal
|
|
351940
352181
|
});
|
|
351941
|
-
(0,
|
|
352182
|
+
(0, import_react96.useEffect)(() => {
|
|
351942
352183
|
if (justNavigatedHistory) {
|
|
351943
352184
|
resetCompletionState();
|
|
351944
352185
|
resetReverseSearchCompletionState();
|
|
@@ -351954,7 +352195,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351954
352195
|
resetReverseSearchCompletionState,
|
|
351955
352196
|
resetCommandSearchCompletionState
|
|
351956
352197
|
]);
|
|
351957
|
-
const handleClipboardImage = (0,
|
|
352198
|
+
const handleClipboardImage = (0, import_react96.useCallback)(async () => {
|
|
351958
352199
|
try {
|
|
351959
352200
|
if (await clipboardHasImage()) {
|
|
351960
352201
|
const imagePath = await saveClipboardImage(config.getTargetDir());
|
|
@@ -351986,7 +352227,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351986
352227
|
console.error("Error handling clipboard image:", error);
|
|
351987
352228
|
}
|
|
351988
352229
|
}, [buffer, config]);
|
|
351989
|
-
const handleInput = (0,
|
|
352230
|
+
const handleInput = (0, import_react96.useCallback)(
|
|
351990
352231
|
(key) => {
|
|
351991
352232
|
if (!focus && !key.paste) {
|
|
351992
352233
|
return;
|
|
@@ -352442,15 +352683,15 @@ import process36 from "node:process";
|
|
|
352442
352683
|
|
|
352443
352684
|
// packages/cli/src/ui/components/MemoryUsageDisplay.tsx
|
|
352444
352685
|
init_esbuild_shims();
|
|
352445
|
-
var
|
|
352686
|
+
var import_react97 = __toESM(require_react(), 1);
|
|
352446
352687
|
import process35 from "node:process";
|
|
352447
352688
|
var import_jsx_runtime96 = __toESM(require_jsx_runtime(), 1);
|
|
352448
352689
|
var MemoryUsageDisplay = /* @__PURE__ */ __name(() => {
|
|
352449
|
-
const [memoryUsage, setMemoryUsage] = (0,
|
|
352450
|
-
const [memoryUsageColor, setMemoryUsageColor] = (0,
|
|
352690
|
+
const [memoryUsage, setMemoryUsage] = (0, import_react97.useState)("");
|
|
352691
|
+
const [memoryUsageColor, setMemoryUsageColor] = (0, import_react97.useState)(
|
|
352451
352692
|
theme.text.secondary
|
|
352452
352693
|
);
|
|
352453
|
-
(0,
|
|
352694
|
+
(0, import_react97.useEffect)(() => {
|
|
352454
352695
|
const updateMemory = /* @__PURE__ */ __name(() => {
|
|
352455
352696
|
const usage2 = process35.memoryUsage().rss;
|
|
352456
352697
|
setMemoryUsage(formatMemoryUsage2(usage2));
|
|
@@ -352541,12 +352782,12 @@ var ContextUsageDisplay = /* @__PURE__ */ __name(({
|
|
|
352541
352782
|
|
|
352542
352783
|
// packages/cli/src/ui/components/DebugProfiler.tsx
|
|
352543
352784
|
init_esbuild_shims();
|
|
352544
|
-
var
|
|
352785
|
+
var import_react98 = __toESM(require_react(), 1);
|
|
352545
352786
|
var import_jsx_runtime98 = __toESM(require_jsx_runtime(), 1);
|
|
352546
352787
|
var DebugProfiler = /* @__PURE__ */ __name(() => {
|
|
352547
|
-
const numRenders = (0,
|
|
352548
|
-
const [showNumRenders, setShowNumRenders] = (0,
|
|
352549
|
-
(0,
|
|
352788
|
+
const numRenders = (0, import_react98.useRef)(0);
|
|
352789
|
+
const [showNumRenders, setShowNumRenders] = (0, import_react98.useState)(false);
|
|
352790
|
+
(0, import_react98.useEffect)(() => {
|
|
352550
352791
|
numRenders.current++;
|
|
352551
352792
|
});
|
|
352552
352793
|
useKeypress(
|
|
@@ -352732,12 +352973,12 @@ var QueuedMessageDisplay = /* @__PURE__ */ __name(({
|
|
|
352732
352973
|
|
|
352733
352974
|
// packages/cli/src/ui/components/ConfigInitDisplay.tsx
|
|
352734
352975
|
init_esbuild_shims();
|
|
352735
|
-
var
|
|
352976
|
+
var import_react99 = __toESM(require_react(), 1);
|
|
352736
352977
|
var import_jsx_runtime101 = __toESM(require_jsx_runtime(), 1);
|
|
352737
352978
|
var ConfigInitDisplay = /* @__PURE__ */ __name(() => {
|
|
352738
352979
|
const config = useConfig();
|
|
352739
|
-
const [message2, setMessage] = (0,
|
|
352740
|
-
(0,
|
|
352980
|
+
const [message2, setMessage] = (0, import_react99.useState)(t2("Initializing..."));
|
|
352981
|
+
(0, import_react99.useEffect)(() => {
|
|
352741
352982
|
const onChange = /* @__PURE__ */ __name((clients) => {
|
|
352742
352983
|
if (!clients || clients.size === 0) {
|
|
352743
352984
|
setMessage(t2("Initializing..."));
|
|
@@ -352781,7 +353022,7 @@ var Composer = /* @__PURE__ */ __name(() => {
|
|
|
352781
353022
|
const isNarrow = isNarrowWidth(terminalWidth);
|
|
352782
353023
|
const debugConsoleMaxHeight = Math.floor(Math.max(terminalWidth * 0.2, 5));
|
|
352783
353024
|
const { contextFileNames, showAutoAcceptIndicator } = uiState;
|
|
352784
|
-
const { containerWidth } = (0,
|
|
353025
|
+
const { containerWidth } = (0, import_react100.useMemo)(
|
|
352785
353026
|
() => calculatePromptWidths(uiState.terminalWidth),
|
|
352786
353027
|
[uiState.terminalWidth]
|
|
352787
353028
|
);
|
|
@@ -353030,12 +353271,12 @@ import process52 from "node:process";
|
|
|
353030
353271
|
|
|
353031
353272
|
// packages/cli/src/ui/hooks/useMemoryMonitor.ts
|
|
353032
353273
|
init_esbuild_shims();
|
|
353033
|
-
var
|
|
353274
|
+
var import_react101 = __toESM(require_react(), 1);
|
|
353034
353275
|
import process37 from "node:process";
|
|
353035
353276
|
var MEMORY_WARNING_THRESHOLD = 7 * 1024 * 1024 * 1024;
|
|
353036
353277
|
var MEMORY_CHECK_INTERVAL = 60 * 1e3;
|
|
353037
353278
|
var useMemoryMonitor = /* @__PURE__ */ __name(({ addItem }) => {
|
|
353038
|
-
(0,
|
|
353279
|
+
(0, import_react101.useEffect)(() => {
|
|
353039
353280
|
const intervalId = setInterval(() => {
|
|
353040
353281
|
const usage2 = process37.memoryUsage().rss;
|
|
353041
353282
|
if (usage2 > MEMORY_WARNING_THRESHOLD) {
|
|
@@ -353055,11 +353296,11 @@ var useMemoryMonitor = /* @__PURE__ */ __name(({ addItem }) => {
|
|
|
353055
353296
|
|
|
353056
353297
|
// packages/cli/src/ui/hooks/useThemeCommand.ts
|
|
353057
353298
|
init_esbuild_shims();
|
|
353058
|
-
var
|
|
353299
|
+
var import_react102 = __toESM(require_react(), 1);
|
|
353059
353300
|
import process38 from "node:process";
|
|
353060
353301
|
var useThemeCommand = /* @__PURE__ */ __name((loadedSettings, setThemeError, addItem, initialThemeError) => {
|
|
353061
|
-
const [isThemeDialogOpen, setIsThemeDialogOpen] = (0,
|
|
353062
|
-
const openThemeDialog = (0,
|
|
353302
|
+
const [isThemeDialogOpen, setIsThemeDialogOpen] = (0, import_react102.useState)(!!initialThemeError);
|
|
353303
|
+
const openThemeDialog = (0, import_react102.useCallback)(() => {
|
|
353063
353304
|
if (process38.env["NO_COLOR"]) {
|
|
353064
353305
|
addItem(
|
|
353065
353306
|
{
|
|
@@ -353074,7 +353315,7 @@ var useThemeCommand = /* @__PURE__ */ __name((loadedSettings, setThemeError, add
|
|
|
353074
353315
|
}
|
|
353075
353316
|
setIsThemeDialogOpen(true);
|
|
353076
353317
|
}, [addItem]);
|
|
353077
|
-
const applyTheme = (0,
|
|
353318
|
+
const applyTheme = (0, import_react102.useCallback)(
|
|
353078
353319
|
(themeName) => {
|
|
353079
353320
|
if (!themeManager.setActiveTheme(themeName)) {
|
|
353080
353321
|
setIsThemeDialogOpen(true);
|
|
@@ -353089,13 +353330,13 @@ var useThemeCommand = /* @__PURE__ */ __name((loadedSettings, setThemeError, add
|
|
|
353089
353330
|
},
|
|
353090
353331
|
[setThemeError]
|
|
353091
353332
|
);
|
|
353092
|
-
const handleThemeHighlight = (0,
|
|
353333
|
+
const handleThemeHighlight = (0, import_react102.useCallback)(
|
|
353093
353334
|
(themeName) => {
|
|
353094
353335
|
applyTheme(themeName);
|
|
353095
353336
|
},
|
|
353096
353337
|
[applyTheme]
|
|
353097
353338
|
);
|
|
353098
|
-
const handleThemeSelect = (0,
|
|
353339
|
+
const handleThemeSelect = (0, import_react102.useCallback)(
|
|
353099
353340
|
(themeName, scope) => {
|
|
353100
353341
|
try {
|
|
353101
353342
|
const mergedCustomThemes = {
|
|
@@ -353135,19 +353376,19 @@ var useThemeCommand = /* @__PURE__ */ __name((loadedSettings, setThemeError, add
|
|
|
353135
353376
|
|
|
353136
353377
|
// packages/cli/src/ui/auth/useAuth.ts
|
|
353137
353378
|
init_esbuild_shims();
|
|
353138
|
-
var
|
|
353379
|
+
var import_react104 = __toESM(require_react(), 1);
|
|
353139
353380
|
|
|
353140
353381
|
// packages/cli/src/ui/hooks/useQwenAuth.ts
|
|
353141
353382
|
init_esbuild_shims();
|
|
353142
|
-
var
|
|
353383
|
+
var import_react103 = __toESM(require_react(), 1);
|
|
353143
353384
|
var useOSAAuth = /* @__PURE__ */ __name((pendingAuthType, isAuthenticating) => {
|
|
353144
|
-
const [OSAAuthState, setOSAAuthState] = (0,
|
|
353385
|
+
const [OSAAuthState, setOSAAuthState] = (0, import_react103.useState)({
|
|
353145
353386
|
deviceAuth: null,
|
|
353146
353387
|
authStatus: "idle",
|
|
353147
353388
|
authMessage: null
|
|
353148
353389
|
});
|
|
353149
353390
|
const isOSAAuth = pendingAuthType === AuthType2.OSA_OAUTH;
|
|
353150
|
-
(0,
|
|
353391
|
+
(0, import_react103.useEffect)(() => {
|
|
353151
353392
|
if (!isOSAAuth || !isAuthenticating) {
|
|
353152
353393
|
setOSAAuthState({
|
|
353153
353394
|
deviceAuth: null,
|
|
@@ -353187,7 +353428,7 @@ var useOSAAuth = /* @__PURE__ */ __name((pendingAuthType, isAuthenticating) => {
|
|
|
353187
353428
|
OSAOAuth2Events.off(OSAOAuth2Event.AuthProgress, handleAuthProgress);
|
|
353188
353429
|
};
|
|
353189
353430
|
}, [isOSAAuth, isAuthenticating]);
|
|
353190
|
-
const cancelOSAAuth = (0,
|
|
353431
|
+
const cancelOSAAuth = (0, import_react103.useCallback)(() => {
|
|
353191
353432
|
OSAOAuth2Events.emit(OSAOAuth2Event.AuthCancel);
|
|
353192
353433
|
setOSAAuthState({
|
|
353193
353434
|
deviceAuth: null,
|
|
@@ -353204,20 +353445,20 @@ var useOSAAuth = /* @__PURE__ */ __name((pendingAuthType, isAuthenticating) => {
|
|
|
353204
353445
|
// packages/cli/src/ui/auth/useAuth.ts
|
|
353205
353446
|
var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
353206
353447
|
const unAuthenticated = settings.merged.security?.auth?.selectedType === void 0;
|
|
353207
|
-
const [authState, setAuthState] = (0,
|
|
353448
|
+
const [authState, setAuthState] = (0, import_react104.useState)(
|
|
353208
353449
|
unAuthenticated ? "updating" /* Updating */ : "unauthenticated" /* Unauthenticated */
|
|
353209
353450
|
);
|
|
353210
|
-
const [authError, setAuthError] = (0,
|
|
353211
|
-
const [isAuthenticating, setIsAuthenticating] = (0,
|
|
353212
|
-
const [isAuthDialogOpen, setIsAuthDialogOpen] = (0,
|
|
353213
|
-
const [pendingAuthType, setPendingAuthType] = (0,
|
|
353451
|
+
const [authError, setAuthError] = (0, import_react104.useState)(null);
|
|
353452
|
+
const [isAuthenticating, setIsAuthenticating] = (0, import_react104.useState)(false);
|
|
353453
|
+
const [isAuthDialogOpen, setIsAuthDialogOpen] = (0, import_react104.useState)(unAuthenticated);
|
|
353454
|
+
const [pendingAuthType, setPendingAuthType] = (0, import_react104.useState)(
|
|
353214
353455
|
void 0
|
|
353215
353456
|
);
|
|
353216
353457
|
const { OSAAuthState, cancelOSAAuth } = useOSAAuth(
|
|
353217
353458
|
pendingAuthType,
|
|
353218
353459
|
isAuthenticating
|
|
353219
353460
|
);
|
|
353220
|
-
const onAuthError = (0,
|
|
353461
|
+
const onAuthError = (0, import_react104.useCallback)(
|
|
353221
353462
|
(error) => {
|
|
353222
353463
|
setAuthError(error);
|
|
353223
353464
|
if (error) {
|
|
@@ -353227,7 +353468,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353227
353468
|
},
|
|
353228
353469
|
[setAuthError, setAuthState]
|
|
353229
353470
|
);
|
|
353230
|
-
const handleAuthFailure = (0,
|
|
353471
|
+
const handleAuthFailure = (0, import_react104.useCallback)(
|
|
353231
353472
|
(error) => {
|
|
353232
353473
|
setIsAuthenticating(false);
|
|
353233
353474
|
const errorMessage = t2("Failed to authenticate. Message: {{message}}", {
|
|
@@ -353246,7 +353487,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353246
353487
|
},
|
|
353247
353488
|
[onAuthError, pendingAuthType, config]
|
|
353248
353489
|
);
|
|
353249
|
-
const handleAuthSuccess = (0,
|
|
353490
|
+
const handleAuthSuccess = (0, import_react104.useCallback)(
|
|
353250
353491
|
async (authType, scope, credentials) => {
|
|
353251
353492
|
try {
|
|
353252
353493
|
settings.setValue(scope, "security.auth.selectedType", authType);
|
|
@@ -353293,7 +353534,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353293
353534
|
},
|
|
353294
353535
|
[settings, handleAuthFailure, config, addItem]
|
|
353295
353536
|
);
|
|
353296
|
-
const performAuth = (0,
|
|
353537
|
+
const performAuth = (0, import_react104.useCallback)(
|
|
353297
353538
|
async (authType, scope, credentials) => {
|
|
353298
353539
|
try {
|
|
353299
353540
|
await config.refreshAuth(authType);
|
|
@@ -353304,7 +353545,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353304
353545
|
},
|
|
353305
353546
|
[config, handleAuthSuccess, handleAuthFailure]
|
|
353306
353547
|
);
|
|
353307
|
-
const handleAuthSelect = (0,
|
|
353548
|
+
const handleAuthSelect = (0, import_react104.useCallback)(
|
|
353308
353549
|
async (authType, scope, credentials) => {
|
|
353309
353550
|
if (!authType) {
|
|
353310
353551
|
setIsAuthDialogOpen(false);
|
|
@@ -353341,10 +353582,10 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353341
353582
|
},
|
|
353342
353583
|
[config, performAuth]
|
|
353343
353584
|
);
|
|
353344
|
-
const openAuthDialog = (0,
|
|
353585
|
+
const openAuthDialog = (0, import_react104.useCallback)(() => {
|
|
353345
353586
|
setIsAuthDialogOpen(true);
|
|
353346
353587
|
}, []);
|
|
353347
|
-
const cancelAuthentication = (0,
|
|
353588
|
+
const cancelAuthentication = (0, import_react104.useCallback)(() => {
|
|
353348
353589
|
if (isAuthenticating && pendingAuthType === AuthType2.OSA_OAUTH) {
|
|
353349
353590
|
cancelOSAAuth();
|
|
353350
353591
|
}
|
|
@@ -353356,7 +353597,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353356
353597
|
setIsAuthDialogOpen(true);
|
|
353357
353598
|
setAuthError(null);
|
|
353358
353599
|
}, [isAuthenticating, pendingAuthType, cancelOSAAuth, config]);
|
|
353359
|
-
(0,
|
|
353600
|
+
(0, import_react104.useEffect)(() => {
|
|
353360
353601
|
const defaultAuthType = process.env["OSA_DEFAULT_AUTH_TYPE"];
|
|
353361
353602
|
if (defaultAuthType && ![AuthType2.OSA_OAUTH, AuthType2.USE_OPENAI].includes(
|
|
353362
353603
|
defaultAuthType
|
|
@@ -353389,7 +353630,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353389
353630
|
|
|
353390
353631
|
// packages/cli/src/ui/hooks/useQuotaAndFallback.ts
|
|
353391
353632
|
init_esbuild_shims();
|
|
353392
|
-
var
|
|
353633
|
+
var import_react105 = __toESM(require_react(), 1);
|
|
353393
353634
|
function useQuotaAndFallback({
|
|
353394
353635
|
config,
|
|
353395
353636
|
historyManager,
|
|
@@ -353397,9 +353638,9 @@ function useQuotaAndFallback({
|
|
|
353397
353638
|
setAuthState,
|
|
353398
353639
|
setModelSwitchedFromQuotaError
|
|
353399
353640
|
}) {
|
|
353400
|
-
const [proQuotaRequest, setProQuotaRequest] = (0,
|
|
353401
|
-
const isDialogPending = (0,
|
|
353402
|
-
(0,
|
|
353641
|
+
const [proQuotaRequest, setProQuotaRequest] = (0, import_react105.useState)(null);
|
|
353642
|
+
const isDialogPending = (0, import_react105.useRef)(false);
|
|
353643
|
+
(0, import_react105.useEffect)(() => {
|
|
353403
353644
|
const fallbackHandler = /* @__PURE__ */ __name(async (failedModel, fallbackModel, error) => {
|
|
353404
353645
|
if (config.isInFallbackMode()) {
|
|
353405
353646
|
return null;
|
|
@@ -353477,7 +353718,7 @@ function useQuotaAndFallback({
|
|
|
353477
353718
|
}, "fallbackHandler");
|
|
353478
353719
|
config.setFallbackModelHandler(fallbackHandler);
|
|
353479
353720
|
}, [config, historyManager, userTier, setModelSwitchedFromQuotaError]);
|
|
353480
|
-
const handleProQuotaChoice = (0,
|
|
353721
|
+
const handleProQuotaChoice = (0, import_react105.useCallback)(
|
|
353481
353722
|
(choice2) => {
|
|
353482
353723
|
if (!proQuotaRequest) return;
|
|
353483
353724
|
const intent = choice2 === "auth" ? "auth" : "retry";
|
|
@@ -353507,13 +353748,13 @@ __name(useQuotaAndFallback, "useQuotaAndFallback");
|
|
|
353507
353748
|
|
|
353508
353749
|
// packages/cli/src/ui/hooks/useEditorSettings.ts
|
|
353509
353750
|
init_esbuild_shims();
|
|
353510
|
-
var
|
|
353751
|
+
var import_react106 = __toESM(require_react(), 1);
|
|
353511
353752
|
var useEditorSettings = /* @__PURE__ */ __name((loadedSettings, setEditorError, addItem) => {
|
|
353512
|
-
const [isEditorDialogOpen, setIsEditorDialogOpen] = (0,
|
|
353513
|
-
const openEditorDialog = (0,
|
|
353753
|
+
const [isEditorDialogOpen, setIsEditorDialogOpen] = (0, import_react106.useState)(false);
|
|
353754
|
+
const openEditorDialog = (0, import_react106.useCallback)(() => {
|
|
353514
353755
|
setIsEditorDialogOpen(true);
|
|
353515
353756
|
}, []);
|
|
353516
|
-
const handleEditorSelect = (0,
|
|
353757
|
+
const handleEditorSelect = (0, import_react106.useCallback)(
|
|
353517
353758
|
(editorType, scope) => {
|
|
353518
353759
|
if (editorType && (!checkHasEditorType(editorType) || !allowEditorTypeInSandbox(editorType))) {
|
|
353519
353760
|
return;
|
|
@@ -353535,7 +353776,7 @@ var useEditorSettings = /* @__PURE__ */ __name((loadedSettings, setEditorError,
|
|
|
353535
353776
|
},
|
|
353536
353777
|
[loadedSettings, setEditorError, addItem]
|
|
353537
353778
|
);
|
|
353538
|
-
const exitEditorDialog = (0,
|
|
353779
|
+
const exitEditorDialog = (0, import_react106.useCallback)(() => {
|
|
353539
353780
|
setIsEditorDialogOpen(false);
|
|
353540
353781
|
}, []);
|
|
353541
353782
|
return {
|
|
@@ -353548,13 +353789,13 @@ var useEditorSettings = /* @__PURE__ */ __name((loadedSettings, setEditorError,
|
|
|
353548
353789
|
|
|
353549
353790
|
// packages/cli/src/ui/hooks/useSettingsCommand.ts
|
|
353550
353791
|
init_esbuild_shims();
|
|
353551
|
-
var
|
|
353792
|
+
var import_react107 = __toESM(require_react(), 1);
|
|
353552
353793
|
function useSettingsCommand() {
|
|
353553
|
-
const [isSettingsDialogOpen, setIsSettingsDialogOpen] = (0,
|
|
353554
|
-
const openSettingsDialog = (0,
|
|
353794
|
+
const [isSettingsDialogOpen, setIsSettingsDialogOpen] = (0, import_react107.useState)(false);
|
|
353795
|
+
const openSettingsDialog = (0, import_react107.useCallback)(() => {
|
|
353555
353796
|
setIsSettingsDialogOpen(true);
|
|
353556
353797
|
}, []);
|
|
353557
|
-
const closeSettingsDialog = (0,
|
|
353798
|
+
const closeSettingsDialog = (0, import_react107.useCallback)(() => {
|
|
353558
353799
|
setIsSettingsDialogOpen(false);
|
|
353559
353800
|
}, []);
|
|
353560
353801
|
return {
|
|
@@ -353567,13 +353808,13 @@ __name(useSettingsCommand, "useSettingsCommand");
|
|
|
353567
353808
|
|
|
353568
353809
|
// packages/cli/src/ui/hooks/useModelCommand.ts
|
|
353569
353810
|
init_esbuild_shims();
|
|
353570
|
-
var
|
|
353811
|
+
var import_react108 = __toESM(require_react(), 1);
|
|
353571
353812
|
var useModelCommand = /* @__PURE__ */ __name(() => {
|
|
353572
|
-
const [isModelDialogOpen, setIsModelDialogOpen] = (0,
|
|
353573
|
-
const openModelDialog = (0,
|
|
353813
|
+
const [isModelDialogOpen, setIsModelDialogOpen] = (0, import_react108.useState)(false);
|
|
353814
|
+
const openModelDialog = (0, import_react108.useCallback)(() => {
|
|
353574
353815
|
setIsModelDialogOpen(true);
|
|
353575
353816
|
}, []);
|
|
353576
|
-
const closeModelDialog = (0,
|
|
353817
|
+
const closeModelDialog = (0, import_react108.useCallback)(() => {
|
|
353577
353818
|
setIsModelDialogOpen(false);
|
|
353578
353819
|
}, []);
|
|
353579
353820
|
return {
|
|
@@ -353585,13 +353826,13 @@ var useModelCommand = /* @__PURE__ */ __name(() => {
|
|
|
353585
353826
|
|
|
353586
353827
|
// packages/cli/src/ui/hooks/useApprovalModeCommand.ts
|
|
353587
353828
|
init_esbuild_shims();
|
|
353588
|
-
var
|
|
353829
|
+
var import_react109 = __toESM(require_react(), 1);
|
|
353589
353830
|
var useApprovalModeCommand = /* @__PURE__ */ __name((loadedSettings, config) => {
|
|
353590
|
-
const [isApprovalModeDialogOpen, setIsApprovalModeDialogOpen] = (0,
|
|
353591
|
-
const openApprovalModeDialog = (0,
|
|
353831
|
+
const [isApprovalModeDialogOpen, setIsApprovalModeDialogOpen] = (0, import_react109.useState)(false);
|
|
353832
|
+
const openApprovalModeDialog = (0, import_react109.useCallback)(() => {
|
|
353592
353833
|
setIsApprovalModeDialogOpen(true);
|
|
353593
353834
|
}, []);
|
|
353594
|
-
const handleApprovalModeSelect = (0,
|
|
353835
|
+
const handleApprovalModeSelect = (0, import_react109.useCallback)(
|
|
353595
353836
|
(mode, scope) => {
|
|
353596
353837
|
try {
|
|
353597
353838
|
if (!mode) {
|
|
@@ -353617,7 +353858,7 @@ var useApprovalModeCommand = /* @__PURE__ */ __name((loadedSettings, config) =>
|
|
|
353617
353858
|
|
|
353618
353859
|
// packages/cli/src/ui/hooks/slashCommandProcessor.ts
|
|
353619
353860
|
init_esbuild_shims();
|
|
353620
|
-
var
|
|
353861
|
+
var import_react110 = __toESM(require_react(), 1);
|
|
353621
353862
|
init_node();
|
|
353622
353863
|
import process39 from "node:process";
|
|
353623
353864
|
|
|
@@ -353861,41 +354102,41 @@ var McpPromptLoader = class {
|
|
|
353861
354102
|
// packages/cli/src/ui/hooks/slashCommandProcessor.ts
|
|
353862
354103
|
var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem, clearItems, loadHistory, refreshStatic, toggleVimEnabled, setIsProcessing, setOSAMdFileCount, actions, extensionsUpdateState, isConfigInitialized) => {
|
|
353863
354104
|
const session = useSessionStats();
|
|
353864
|
-
const [commands, setCommands] = (0,
|
|
353865
|
-
const [reloadTrigger, setReloadTrigger] = (0,
|
|
353866
|
-
const reloadCommands = (0,
|
|
354105
|
+
const [commands, setCommands] = (0, import_react110.useState)([]);
|
|
354106
|
+
const [reloadTrigger, setReloadTrigger] = (0, import_react110.useState)(0);
|
|
354107
|
+
const reloadCommands = (0, import_react110.useCallback)(() => {
|
|
353867
354108
|
setReloadTrigger((v) => v + 1);
|
|
353868
354109
|
}, []);
|
|
353869
|
-
const [shellConfirmationRequest, setShellConfirmationRequest] = (0,
|
|
353870
|
-
const [confirmationRequest, setConfirmationRequest] = (0,
|
|
353871
|
-
const [quitConfirmationRequest, setQuitConfirmationRequest] = (0,
|
|
353872
|
-
const [sessionShellAllowlist, setSessionShellAllowlist] = (0,
|
|
354110
|
+
const [shellConfirmationRequest, setShellConfirmationRequest] = (0, import_react110.useState)(null);
|
|
354111
|
+
const [confirmationRequest, setConfirmationRequest] = (0, import_react110.useState)(null);
|
|
354112
|
+
const [quitConfirmationRequest, setQuitConfirmationRequest] = (0, import_react110.useState)(null);
|
|
354113
|
+
const [sessionShellAllowlist, setSessionShellAllowlist] = (0, import_react110.useState)(
|
|
353873
354114
|
/* @__PURE__ */ new Set()
|
|
353874
354115
|
);
|
|
353875
|
-
const gitService = (0,
|
|
354116
|
+
const gitService = (0, import_react110.useMemo)(() => {
|
|
353876
354117
|
if (!config?.getProjectRoot()) {
|
|
353877
354118
|
return;
|
|
353878
354119
|
}
|
|
353879
354120
|
return new GitService(config.getProjectRoot(), config.storage);
|
|
353880
354121
|
}, [config]);
|
|
353881
|
-
const logger6 = (0,
|
|
354122
|
+
const logger6 = (0, import_react110.useMemo)(() => {
|
|
353882
354123
|
const l2 = new Logger(
|
|
353883
354124
|
config?.getSessionId() || "",
|
|
353884
354125
|
config?.storage ?? new Storage(process39.cwd())
|
|
353885
354126
|
);
|
|
353886
354127
|
return l2;
|
|
353887
354128
|
}, [config]);
|
|
353888
|
-
const [pendingItem, setPendingItem] = (0,
|
|
354129
|
+
const [pendingItem, setPendingItem] = (0, import_react110.useState)(
|
|
353889
354130
|
null
|
|
353890
354131
|
);
|
|
353891
|
-
const pendingHistoryItems = (0,
|
|
354132
|
+
const pendingHistoryItems = (0, import_react110.useMemo)(() => {
|
|
353892
354133
|
const items = [];
|
|
353893
354134
|
if (pendingItem != null) {
|
|
353894
354135
|
items.push(pendingItem);
|
|
353895
354136
|
}
|
|
353896
354137
|
return items;
|
|
353897
354138
|
}, [pendingItem]);
|
|
353898
|
-
const addMessage = (0,
|
|
354139
|
+
const addMessage = (0, import_react110.useCallback)(
|
|
353899
354140
|
(message2) => {
|
|
353900
354141
|
let historyItemContent;
|
|
353901
354142
|
if (message2.type === "about" /* ABOUT */) {
|
|
@@ -353951,7 +354192,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem
|
|
|
353951
354192
|
},
|
|
353952
354193
|
[addItem]
|
|
353953
354194
|
);
|
|
353954
|
-
const commandContext = (0,
|
|
354195
|
+
const commandContext = (0, import_react110.useMemo)(
|
|
353955
354196
|
() => ({
|
|
353956
354197
|
services: {
|
|
353957
354198
|
config,
|
|
@@ -354004,7 +354245,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem
|
|
|
354004
354245
|
extensionsUpdateState
|
|
354005
354246
|
]
|
|
354006
354247
|
);
|
|
354007
|
-
(0,
|
|
354248
|
+
(0, import_react110.useEffect)(() => {
|
|
354008
354249
|
if (!config) {
|
|
354009
354250
|
return;
|
|
354010
354251
|
}
|
|
@@ -354022,7 +354263,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem
|
|
|
354022
354263
|
})();
|
|
354023
354264
|
};
|
|
354024
354265
|
}, [config, reloadCommands]);
|
|
354025
|
-
(0,
|
|
354266
|
+
(0, import_react110.useEffect)(() => {
|
|
354026
354267
|
const controller = new AbortController();
|
|
354027
354268
|
const load = /* @__PURE__ */ __name(async () => {
|
|
354028
354269
|
const loaders = [
|
|
@@ -354041,7 +354282,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem
|
|
|
354041
354282
|
controller.abort();
|
|
354042
354283
|
};
|
|
354043
354284
|
}, [config, reloadTrigger, isConfigInitialized]);
|
|
354044
|
-
const handleSlashCommand2 = (0,
|
|
354285
|
+
const handleSlashCommand2 = (0, import_react110.useCallback)(
|
|
354045
354286
|
async (rawQuery, oneTimeShellAllowlist, overwriteConfirmed) => {
|
|
354046
354287
|
if (typeof rawQuery !== "string") {
|
|
354047
354288
|
return false;
|
|
@@ -354350,7 +354591,7 @@ ${commandToExecute.subCommands.map((sc) => ` - ${sc.name}: ${sc.description ||
|
|
|
354350
354591
|
|
|
354351
354592
|
// packages/cli/src/ui/hooks/useConsoleMessages.ts
|
|
354352
354593
|
init_esbuild_shims();
|
|
354353
|
-
var
|
|
354594
|
+
var import_react111 = __toESM(require_react(), 1);
|
|
354354
354595
|
function consoleMessagesReducer(state, action) {
|
|
354355
354596
|
switch (action.type) {
|
|
354356
354597
|
case "ADD_MESSAGES": {
|
|
@@ -354376,11 +354617,11 @@ function consoleMessagesReducer(state, action) {
|
|
|
354376
354617
|
}
|
|
354377
354618
|
__name(consoleMessagesReducer, "consoleMessagesReducer");
|
|
354378
354619
|
function useConsoleMessages() {
|
|
354379
|
-
const [consoleMessages, dispatch] = (0,
|
|
354380
|
-
const messageQueueRef = (0,
|
|
354381
|
-
const timeoutRef = (0,
|
|
354382
|
-
const [, startTransition] = (0,
|
|
354383
|
-
const processQueue = (0,
|
|
354620
|
+
const [consoleMessages, dispatch] = (0, import_react111.useReducer)(consoleMessagesReducer, []);
|
|
354621
|
+
const messageQueueRef = (0, import_react111.useRef)([]);
|
|
354622
|
+
const timeoutRef = (0, import_react111.useRef)(null);
|
|
354623
|
+
const [, startTransition] = (0, import_react111.useTransition)();
|
|
354624
|
+
const processQueue = (0, import_react111.useCallback)(() => {
|
|
354384
354625
|
if (messageQueueRef.current.length > 0) {
|
|
354385
354626
|
const messagesToProcess = messageQueueRef.current;
|
|
354386
354627
|
messageQueueRef.current = [];
|
|
@@ -354390,7 +354631,7 @@ function useConsoleMessages() {
|
|
|
354390
354631
|
}
|
|
354391
354632
|
timeoutRef.current = null;
|
|
354392
354633
|
}, []);
|
|
354393
|
-
const handleNewMessage = (0,
|
|
354634
|
+
const handleNewMessage = (0, import_react111.useCallback)(
|
|
354394
354635
|
(message2) => {
|
|
354395
354636
|
messageQueueRef.current.push(message2);
|
|
354396
354637
|
if (!timeoutRef.current) {
|
|
@@ -354399,7 +354640,7 @@ function useConsoleMessages() {
|
|
|
354399
354640
|
},
|
|
354400
354641
|
[processQueue]
|
|
354401
354642
|
);
|
|
354402
|
-
const clearConsoleMessages = (0,
|
|
354643
|
+
const clearConsoleMessages = (0, import_react111.useCallback)(() => {
|
|
354403
354644
|
if (timeoutRef.current) {
|
|
354404
354645
|
clearTimeout(timeoutRef.current);
|
|
354405
354646
|
timeoutRef.current = null;
|
|
@@ -354409,7 +354650,7 @@ function useConsoleMessages() {
|
|
|
354409
354650
|
dispatch({ type: "CLEAR" });
|
|
354410
354651
|
});
|
|
354411
354652
|
}, []);
|
|
354412
|
-
(0,
|
|
354653
|
+
(0, import_react111.useEffect)(
|
|
354413
354654
|
() => () => {
|
|
354414
354655
|
if (timeoutRef.current) {
|
|
354415
354656
|
clearTimeout(timeoutRef.current);
|
|
@@ -354439,10 +354680,10 @@ __name(computeWindowTitle, "computeWindowTitle");
|
|
|
354439
354680
|
|
|
354440
354681
|
// packages/cli/src/ui/hooks/useLogger.ts
|
|
354441
354682
|
init_esbuild_shims();
|
|
354442
|
-
var
|
|
354683
|
+
var import_react112 = __toESM(require_react(), 1);
|
|
354443
354684
|
var useLogger = /* @__PURE__ */ __name((storage) => {
|
|
354444
|
-
const [logger6, setLogger] = (0,
|
|
354445
|
-
(0,
|
|
354685
|
+
const [logger6, setLogger] = (0, import_react112.useState)(null);
|
|
354686
|
+
(0, import_react112.useEffect)(() => {
|
|
354446
354687
|
const newLogger = new Logger(sessionId, storage);
|
|
354447
354688
|
newLogger.initialize().then(() => {
|
|
354448
354689
|
setLogger(newLogger);
|
|
@@ -354454,12 +354695,12 @@ var useLogger = /* @__PURE__ */ __name((storage) => {
|
|
|
354454
354695
|
|
|
354455
354696
|
// packages/cli/src/ui/hooks/useGeminiStream.ts
|
|
354456
354697
|
init_esbuild_shims();
|
|
354457
|
-
var
|
|
354698
|
+
var import_react117 = __toESM(require_react(), 1);
|
|
354458
354699
|
init_node();
|
|
354459
354700
|
|
|
354460
354701
|
// packages/cli/src/ui/hooks/shellCommandProcessor.ts
|
|
354461
354702
|
init_esbuild_shims();
|
|
354462
|
-
var
|
|
354703
|
+
var import_react113 = __toESM(require_react(), 1);
|
|
354463
354704
|
init_node();
|
|
354464
354705
|
import crypto17 from "node:crypto";
|
|
354465
354706
|
import path98 from "node:path";
|
|
@@ -354488,8 +354729,8 @@ ${modelContent}
|
|
|
354488
354729
|
}
|
|
354489
354730
|
__name(addShellCommandToOSAHistory, "addShellCommandToOSAHistory");
|
|
354490
354731
|
var useShellCommandProcessor = /* @__PURE__ */ __name((addItemToHistory, setPendingHistoryItem, onExec, onDebugMessage, config, OSAClient2, setShellInputFocused, terminalWidth, terminalHeight) => {
|
|
354491
|
-
const [activeShellPtyId, setActiveShellPtyId] = (0,
|
|
354492
|
-
const handleShellCommand = (0,
|
|
354732
|
+
const [activeShellPtyId, setActiveShellPtyId] = (0, import_react113.useState)(null);
|
|
354733
|
+
const handleShellCommand = (0, import_react113.useCallback)(
|
|
354493
354734
|
(rawQuery, abortSignal) => {
|
|
354494
354735
|
if (typeof rawQuery !== "string" || rawQuery.trim() === "") {
|
|
354495
354736
|
return false;
|
|
@@ -354738,7 +354979,7 @@ ${finalOutput}`;
|
|
|
354738
354979
|
// packages/cli/src/ui/hooks/useVisionAutoSwitch.ts
|
|
354739
354980
|
init_esbuild_shims();
|
|
354740
354981
|
init_node();
|
|
354741
|
-
var
|
|
354982
|
+
var import_react114 = __toESM(require_react(), 1);
|
|
354742
354983
|
function hasImageParts(parts) {
|
|
354743
354984
|
if (typeof parts === "string") {
|
|
354744
354985
|
return false;
|
|
@@ -354827,8 +355068,8 @@ function processVisionSwitchOutcome(outcome) {
|
|
|
354827
355068
|
}
|
|
354828
355069
|
__name(processVisionSwitchOutcome, "processVisionSwitchOutcome");
|
|
354829
355070
|
function useVisionAutoSwitch(config, addItem, visionModelPreviewEnabled = true, onVisionSwitchRequired) {
|
|
354830
|
-
const originalModelRef = (0,
|
|
354831
|
-
const handleVisionSwitch = (0,
|
|
355071
|
+
const originalModelRef = (0, import_react114.useRef)(null);
|
|
355072
|
+
const handleVisionSwitch = (0, import_react114.useCallback)(
|
|
354832
355073
|
async (query, userMessageTimestamp, isContinuation) => {
|
|
354833
355074
|
if (isContinuation || !onVisionSwitchRequired) {
|
|
354834
355075
|
return { shouldProceed: true };
|
|
@@ -354929,7 +355170,7 @@ function useVisionAutoSwitch(config, addItem, visionModelPreviewEnabled = true,
|
|
|
354929
355170
|
},
|
|
354930
355171
|
[config, addItem, visionModelPreviewEnabled, onVisionSwitchRequired]
|
|
354931
355172
|
);
|
|
354932
|
-
const restoreOriginalModel = (0,
|
|
355173
|
+
const restoreOriginalModel = (0, import_react114.useCallback)(async () => {
|
|
354933
355174
|
if (originalModelRef.current) {
|
|
354934
355175
|
await config.setModel(originalModelRef.current, {
|
|
354935
355176
|
reason: "vision_auto_switch",
|
|
@@ -355006,11 +355247,11 @@ var findLastSafeSplitPoint = /* @__PURE__ */ __name((content) => {
|
|
|
355006
355247
|
|
|
355007
355248
|
// packages/cli/src/ui/hooks/useStateAndRef.ts
|
|
355008
355249
|
init_esbuild_shims();
|
|
355009
|
-
var
|
|
355250
|
+
var import_react115 = __toESM(require_react(), 1);
|
|
355010
355251
|
var useStateAndRef = /* @__PURE__ */ __name((initialValue) => {
|
|
355011
|
-
const [state, setState] =
|
|
355012
|
-
const ref =
|
|
355013
|
-
const setStateInternal =
|
|
355252
|
+
const [state, setState] = import_react115.default.useState(initialValue);
|
|
355253
|
+
const ref = import_react115.default.useRef(initialValue);
|
|
355254
|
+
const setStateInternal = import_react115.default.useCallback(
|
|
355014
355255
|
(newStateOrCallback) => {
|
|
355015
355256
|
let newValue;
|
|
355016
355257
|
if (typeof newStateOrCallback === "function") {
|
|
@@ -355028,10 +355269,10 @@ var useStateAndRef = /* @__PURE__ */ __name((initialValue) => {
|
|
|
355028
355269
|
|
|
355029
355270
|
// packages/cli/src/ui/hooks/useReactToolScheduler.ts
|
|
355030
355271
|
init_esbuild_shims();
|
|
355031
|
-
var
|
|
355272
|
+
var import_react116 = __toESM(require_react(), 1);
|
|
355032
355273
|
function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorClose) {
|
|
355033
|
-
const [toolCallsForDisplay, setToolCallsForDisplay] = (0,
|
|
355034
|
-
const outputUpdateHandler = (0,
|
|
355274
|
+
const [toolCallsForDisplay, setToolCallsForDisplay] = (0, import_react116.useState)([]);
|
|
355275
|
+
const outputUpdateHandler = (0, import_react116.useCallback)(
|
|
355035
355276
|
(toolCallId, outputChunk) => {
|
|
355036
355277
|
setToolCallsForDisplay(
|
|
355037
355278
|
(prevCalls) => prevCalls.map((tc) => {
|
|
@@ -355045,13 +355286,13 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
|
|
|
355045
355286
|
},
|
|
355046
355287
|
[]
|
|
355047
355288
|
);
|
|
355048
|
-
const allToolCallsCompleteHandler = (0,
|
|
355289
|
+
const allToolCallsCompleteHandler = (0, import_react116.useCallback)(
|
|
355049
355290
|
async (completedToolCalls) => {
|
|
355050
355291
|
await onComplete(completedToolCalls);
|
|
355051
355292
|
},
|
|
355052
355293
|
[onComplete]
|
|
355053
355294
|
);
|
|
355054
|
-
const toolCallsUpdateHandler = (0,
|
|
355295
|
+
const toolCallsUpdateHandler = (0, import_react116.useCallback)(
|
|
355055
355296
|
(updatedCoreToolCalls) => {
|
|
355056
355297
|
setToolCallsForDisplay(
|
|
355057
355298
|
(prevTrackedCalls) => updatedCoreToolCalls.map((coreTc) => {
|
|
@@ -355078,7 +355319,7 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
|
|
|
355078
355319
|
},
|
|
355079
355320
|
[setToolCallsForDisplay]
|
|
355080
355321
|
);
|
|
355081
|
-
const scheduler = (0,
|
|
355322
|
+
const scheduler = (0, import_react116.useMemo)(
|
|
355082
355323
|
() => new CoreToolScheduler({
|
|
355083
355324
|
outputUpdateHandler,
|
|
355084
355325
|
onAllToolCallsComplete: allToolCallsCompleteHandler,
|
|
@@ -355097,13 +355338,13 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
|
|
|
355097
355338
|
onEditorClose
|
|
355098
355339
|
]
|
|
355099
355340
|
);
|
|
355100
|
-
const schedule = (0,
|
|
355341
|
+
const schedule = (0, import_react116.useCallback)(
|
|
355101
355342
|
(request4, signal) => {
|
|
355102
355343
|
void scheduler.schedule(request4, signal);
|
|
355103
355344
|
},
|
|
355104
355345
|
[scheduler]
|
|
355105
355346
|
);
|
|
355106
|
-
const markToolsAsSubmitted = (0,
|
|
355347
|
+
const markToolsAsSubmitted = (0, import_react116.useCallback)(
|
|
355107
355348
|
(callIdsToMark) => {
|
|
355108
355349
|
setToolCallsForDisplay(
|
|
355109
355350
|
(prevCalls) => prevCalls.map(
|
|
@@ -355243,18 +355484,18 @@ function showCitations(settings) {
|
|
|
355243
355484
|
}
|
|
355244
355485
|
__name(showCitations, "showCitations");
|
|
355245
355486
|
var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config, settings, onDebugMessage, handleSlashCommand2, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, onEditorClose, onCancelSubmit, visionModelPreviewEnabled, setShellInputFocused, terminalWidth, terminalHeight, onVisionSwitchRequired, isShellFocused) => {
|
|
355246
|
-
const [initError, setInitError] = (0,
|
|
355247
|
-
const abortControllerRef = (0,
|
|
355248
|
-
const turnCancelledRef = (0,
|
|
355249
|
-
const isSubmittingQueryRef = (0,
|
|
355250
|
-
const [isResponding, setIsResponding] = (0,
|
|
355251
|
-
const [thought, setThought] = (0,
|
|
355487
|
+
const [initError, setInitError] = (0, import_react117.useState)(null);
|
|
355488
|
+
const abortControllerRef = (0, import_react117.useRef)(null);
|
|
355489
|
+
const turnCancelledRef = (0, import_react117.useRef)(false);
|
|
355490
|
+
const isSubmittingQueryRef = (0, import_react117.useRef)(false);
|
|
355491
|
+
const [isResponding, setIsResponding] = (0, import_react117.useState)(false);
|
|
355492
|
+
const [thought, setThought] = (0, import_react117.useState)(null);
|
|
355252
355493
|
const [pendingHistoryItem, pendingHistoryItemRef, setPendingHistoryItem] = useStateAndRef(null);
|
|
355253
|
-
const processedMemoryToolsRef = (0,
|
|
355494
|
+
const processedMemoryToolsRef = (0, import_react117.useRef)(/* @__PURE__ */ new Set());
|
|
355254
355495
|
const { startNewPrompt, getPromptCount } = useSessionStats();
|
|
355255
355496
|
const storage = config.storage;
|
|
355256
355497
|
const logger6 = useLogger(storage);
|
|
355257
|
-
const gitService = (0,
|
|
355498
|
+
const gitService = (0, import_react117.useMemo)(() => {
|
|
355258
355499
|
if (!config.getProjectRoot()) {
|
|
355259
355500
|
return;
|
|
355260
355501
|
}
|
|
@@ -355278,11 +355519,11 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355278
355519
|
getPreferredEditor,
|
|
355279
355520
|
onEditorClose
|
|
355280
355521
|
);
|
|
355281
|
-
const pendingToolCallGroupDisplay = (0,
|
|
355522
|
+
const pendingToolCallGroupDisplay = (0, import_react117.useMemo)(
|
|
355282
355523
|
() => toolCalls.length ? mapToDisplay(toolCalls) : void 0,
|
|
355283
355524
|
[toolCalls]
|
|
355284
355525
|
);
|
|
355285
|
-
const activeToolPtyId = (0,
|
|
355526
|
+
const activeToolPtyId = (0, import_react117.useMemo)(() => {
|
|
355286
355527
|
const executingShellTool = toolCalls?.find(
|
|
355287
355528
|
(tc) => tc.status === "executing" && tc.request.name === "run_shell_command"
|
|
355288
355529
|
);
|
|
@@ -355291,12 +355532,12 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355291
355532
|
}
|
|
355292
355533
|
return void 0;
|
|
355293
355534
|
}, [toolCalls]);
|
|
355294
|
-
const loopDetectedRef = (0,
|
|
355535
|
+
const loopDetectedRef = (0, import_react117.useRef)(false);
|
|
355295
355536
|
const [
|
|
355296
355537
|
loopDetectionConfirmationRequest,
|
|
355297
355538
|
setLoopDetectionConfirmationRequest
|
|
355298
|
-
] = (0,
|
|
355299
|
-
const onExec = (0,
|
|
355539
|
+
] = (0, import_react117.useState)(null);
|
|
355540
|
+
const onExec = (0, import_react117.useCallback)(async (done) => {
|
|
355300
355541
|
setIsResponding(true);
|
|
355301
355542
|
await done;
|
|
355302
355543
|
setIsResponding(false);
|
|
@@ -355319,12 +355560,12 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355319
355560
|
onVisionSwitchRequired
|
|
355320
355561
|
);
|
|
355321
355562
|
const activePtyId = activeShellPtyId || activeToolPtyId;
|
|
355322
|
-
(0,
|
|
355563
|
+
(0, import_react117.useEffect)(() => {
|
|
355323
355564
|
if (!activePtyId) {
|
|
355324
355565
|
setShellInputFocused(false);
|
|
355325
355566
|
}
|
|
355326
355567
|
}, [activePtyId, setShellInputFocused]);
|
|
355327
|
-
const streamingState = (0,
|
|
355568
|
+
const streamingState = (0, import_react117.useMemo)(() => {
|
|
355328
355569
|
if (toolCalls.some((tc) => tc.status === "awaiting_approval")) {
|
|
355329
355570
|
return "waiting_for_confirmation" /* WaitingForConfirmation */;
|
|
355330
355571
|
}
|
|
@@ -355335,7 +355576,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355335
355576
|
}
|
|
355336
355577
|
return "idle" /* Idle */;
|
|
355337
355578
|
}, [isResponding, toolCalls]);
|
|
355338
|
-
(0,
|
|
355579
|
+
(0, import_react117.useEffect)(() => {
|
|
355339
355580
|
if (config.getApprovalMode() === ApprovalMode.YOLO && streamingState === "idle" /* Idle */) {
|
|
355340
355581
|
const lastUserMessageIndex = history.findLastIndex(
|
|
355341
355582
|
(item) => item.type === "user" /* USER */
|
|
@@ -355349,7 +355590,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355349
355590
|
}
|
|
355350
355591
|
}
|
|
355351
355592
|
}, [streamingState, config, history]);
|
|
355352
|
-
const cancelOngoingRequest = (0,
|
|
355593
|
+
const cancelOngoingRequest = (0, import_react117.useCallback)(() => {
|
|
355353
355594
|
if (streamingState !== "responding" /* Responding */) {
|
|
355354
355595
|
return;
|
|
355355
355596
|
}
|
|
@@ -355398,7 +355639,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355398
355639
|
},
|
|
355399
355640
|
{ isActive: streamingState === "responding" /* Responding */ }
|
|
355400
355641
|
);
|
|
355401
|
-
const prepareQueryForOSA = (0,
|
|
355642
|
+
const prepareQueryForOSA = (0, import_react117.useCallback)(
|
|
355402
355643
|
async (query, userMessageTimestamp, abortSignal, prompt_id) => {
|
|
355403
355644
|
if (turnCancelledRef.current) {
|
|
355404
355645
|
return { queryToSend: null, shouldProceed: false };
|
|
@@ -355493,7 +355734,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355493
355734
|
scheduleToolCalls
|
|
355494
355735
|
]
|
|
355495
355736
|
);
|
|
355496
|
-
const handleContentEvent = (0,
|
|
355737
|
+
const handleContentEvent = (0, import_react117.useCallback)(
|
|
355497
355738
|
(eventValue, currentOSAMessageBuffer, userMessageTimestamp) => {
|
|
355498
355739
|
if (turnCancelledRef.current) {
|
|
355499
355740
|
return "";
|
|
@@ -355529,7 +355770,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355529
355770
|
},
|
|
355530
355771
|
[addItem, pendingHistoryItemRef, setPendingHistoryItem]
|
|
355531
355772
|
);
|
|
355532
|
-
const handleUserCancelledEvent = (0,
|
|
355773
|
+
const handleUserCancelledEvent = (0, import_react117.useCallback)(
|
|
355533
355774
|
(userMessageTimestamp) => {
|
|
355534
355775
|
if (turnCancelledRef.current) {
|
|
355535
355776
|
return;
|
|
@@ -355558,7 +355799,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355558
355799
|
},
|
|
355559
355800
|
[addItem, pendingHistoryItemRef, setPendingHistoryItem, setThought]
|
|
355560
355801
|
);
|
|
355561
|
-
const handleErrorEvent = (0,
|
|
355802
|
+
const handleErrorEvent = (0, import_react117.useCallback)(
|
|
355562
355803
|
(eventValue, userMessageTimestamp) => {
|
|
355563
355804
|
if (pendingHistoryItemRef.current) {
|
|
355564
355805
|
addItem(pendingHistoryItemRef.current, userMessageTimestamp);
|
|
@@ -355581,7 +355822,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355581
355822
|
},
|
|
355582
355823
|
[addItem, pendingHistoryItemRef, setPendingHistoryItem, config, setThought]
|
|
355583
355824
|
);
|
|
355584
|
-
const handleCitationEvent = (0,
|
|
355825
|
+
const handleCitationEvent = (0, import_react117.useCallback)(
|
|
355585
355826
|
(text, userMessageTimestamp) => {
|
|
355586
355827
|
if (!showCitations(settings)) {
|
|
355587
355828
|
return;
|
|
@@ -355594,7 +355835,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355594
355835
|
},
|
|
355595
355836
|
[addItem, pendingHistoryItemRef, setPendingHistoryItem, settings]
|
|
355596
355837
|
);
|
|
355597
|
-
const handleFinishedEvent = (0,
|
|
355838
|
+
const handleFinishedEvent = (0, import_react117.useCallback)(
|
|
355598
355839
|
(event, userMessageTimestamp) => {
|
|
355599
355840
|
const finishReason = event.value.reason;
|
|
355600
355841
|
if (!finishReason) {
|
|
@@ -355628,7 +355869,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355628
355869
|
},
|
|
355629
355870
|
[addItem]
|
|
355630
355871
|
);
|
|
355631
|
-
const handleChatCompressionEvent = (0,
|
|
355872
|
+
const handleChatCompressionEvent = (0, import_react117.useCallback)(
|
|
355632
355873
|
(eventValue, userMessageTimestamp) => {
|
|
355633
355874
|
if (pendingHistoryItemRef.current) {
|
|
355634
355875
|
addItem(pendingHistoryItemRef.current, userMessageTimestamp);
|
|
@@ -355644,7 +355885,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355644
355885
|
},
|
|
355645
355886
|
[addItem, config, pendingHistoryItemRef, setPendingHistoryItem]
|
|
355646
355887
|
);
|
|
355647
|
-
const handleMaxSessionTurnsEvent = (0,
|
|
355888
|
+
const handleMaxSessionTurnsEvent = (0, import_react117.useCallback)(
|
|
355648
355889
|
() => addItem(
|
|
355649
355890
|
{
|
|
355650
355891
|
type: "info",
|
|
@@ -355654,7 +355895,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355654
355895
|
),
|
|
355655
355896
|
[addItem, config]
|
|
355656
355897
|
);
|
|
355657
|
-
const handleSessionTokenLimitExceededEvent = (0,
|
|
355898
|
+
const handleSessionTokenLimitExceededEvent = (0, import_react117.useCallback)(
|
|
355658
355899
|
(value) => addItem(
|
|
355659
355900
|
{
|
|
355660
355901
|
type: "error",
|
|
@@ -355669,7 +355910,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355669
355910
|
),
|
|
355670
355911
|
[addItem]
|
|
355671
355912
|
);
|
|
355672
|
-
const handleLoopDetectionConfirmation = (0,
|
|
355913
|
+
const handleLoopDetectionConfirmation = (0, import_react117.useCallback)(
|
|
355673
355914
|
(result) => {
|
|
355674
355915
|
setLoopDetectionConfirmationRequest(null);
|
|
355675
355916
|
if (result.userSelection === "disable") {
|
|
@@ -355693,12 +355934,12 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355693
355934
|
},
|
|
355694
355935
|
[config, addItem]
|
|
355695
355936
|
);
|
|
355696
|
-
const handleLoopDetectedEvent = (0,
|
|
355937
|
+
const handleLoopDetectedEvent = (0, import_react117.useCallback)(() => {
|
|
355697
355938
|
setLoopDetectionConfirmationRequest({
|
|
355698
355939
|
onComplete: handleLoopDetectionConfirmation
|
|
355699
355940
|
});
|
|
355700
355941
|
}, [handleLoopDetectionConfirmation]);
|
|
355701
|
-
const processOSAStreamEvents = (0,
|
|
355942
|
+
const processOSAStreamEvents = (0, import_react117.useCallback)(
|
|
355702
355943
|
async (stream2, userMessageTimestamp, signal) => {
|
|
355703
355944
|
let OSAMessageBuffer = "";
|
|
355704
355945
|
const toolCallRequests = [];
|
|
@@ -355772,7 +356013,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355772
356013
|
handleCitationEvent
|
|
355773
356014
|
]
|
|
355774
356015
|
);
|
|
355775
|
-
const submitQuery = (0,
|
|
356016
|
+
const submitQuery = (0, import_react117.useCallback)(
|
|
355776
356017
|
async (query, options2, prompt_id) => {
|
|
355777
356018
|
if (isSubmittingQueryRef.current && !options2?.isContinuation) {
|
|
355778
356019
|
return;
|
|
@@ -355905,7 +356146,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355905
356146
|
restoreOriginalModel
|
|
355906
356147
|
]
|
|
355907
356148
|
);
|
|
355908
|
-
const handleApprovalModeChange = (0,
|
|
356149
|
+
const handleApprovalModeChange = (0, import_react117.useCallback)(
|
|
355909
356150
|
async (newApprovalMode) => {
|
|
355910
356151
|
if (newApprovalMode === ApprovalMode.YOLO || newApprovalMode === ApprovalMode.AUTO_EDIT) {
|
|
355911
356152
|
let awaitingApprovalCalls = toolCalls.filter(
|
|
@@ -355934,7 +356175,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355934
356175
|
},
|
|
355935
356176
|
[toolCalls]
|
|
355936
356177
|
);
|
|
355937
|
-
const handleCompletedTools = (0,
|
|
356178
|
+
const handleCompletedTools = (0, import_react117.useCallback)(
|
|
355938
356179
|
async (completedToolCallsFromScheduler) => {
|
|
355939
356180
|
if (isResponding) {
|
|
355940
356181
|
return;
|
|
@@ -356019,13 +356260,13 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
356019
356260
|
modelSwitchedFromQuotaError
|
|
356020
356261
|
]
|
|
356021
356262
|
);
|
|
356022
|
-
const pendingHistoryItems = (0,
|
|
356263
|
+
const pendingHistoryItems = (0, import_react117.useMemo)(
|
|
356023
356264
|
() => [pendingHistoryItem, pendingToolCallGroupDisplay].filter(
|
|
356024
356265
|
(i) => i !== void 0 && i !== null
|
|
356025
356266
|
),
|
|
356026
356267
|
[pendingHistoryItem, pendingToolCallGroupDisplay]
|
|
356027
356268
|
);
|
|
356028
|
-
(0,
|
|
356269
|
+
(0, import_react117.useEffect)(() => {
|
|
356029
356270
|
const saveRestorableToolCalls = /* @__PURE__ */ __name(async () => {
|
|
356030
356271
|
if (!config.getCheckpointingEnabled()) {
|
|
356031
356272
|
return;
|
|
@@ -356144,7 +356385,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
356144
356385
|
|
|
356145
356386
|
// packages/cli/src/ui/hooks/vim.ts
|
|
356146
356387
|
init_esbuild_shims();
|
|
356147
|
-
var
|
|
356388
|
+
var import_react118 = __toESM(require_react(), 1);
|
|
356148
356389
|
var DIGIT_MULTIPLIER = 10;
|
|
356149
356390
|
var DEFAULT_COUNT = 1;
|
|
356150
356391
|
var DIGIT_1_TO_9 = /^[1-9]$/;
|
|
@@ -356207,22 +356448,22 @@ var vimReducer = /* @__PURE__ */ __name((state, action) => {
|
|
|
356207
356448
|
}, "vimReducer");
|
|
356208
356449
|
function useVim(buffer, onSubmit) {
|
|
356209
356450
|
const { vimEnabled, vimMode, setVimMode } = useVimMode();
|
|
356210
|
-
const [state, dispatch] = (0,
|
|
356211
|
-
(0,
|
|
356451
|
+
const [state, dispatch] = (0, import_react118.useReducer)(vimReducer, initialVimState);
|
|
356452
|
+
(0, import_react118.useEffect)(() => {
|
|
356212
356453
|
dispatch({ type: "SET_MODE", mode: vimMode });
|
|
356213
356454
|
}, [vimMode]);
|
|
356214
|
-
const updateMode = (0,
|
|
356455
|
+
const updateMode = (0, import_react118.useCallback)(
|
|
356215
356456
|
(mode) => {
|
|
356216
356457
|
setVimMode(mode);
|
|
356217
356458
|
dispatch({ type: "SET_MODE", mode });
|
|
356218
356459
|
},
|
|
356219
356460
|
[setVimMode]
|
|
356220
356461
|
);
|
|
356221
|
-
const getCurrentCount = (0,
|
|
356462
|
+
const getCurrentCount = (0, import_react118.useCallback)(
|
|
356222
356463
|
() => state.count || DEFAULT_COUNT,
|
|
356223
356464
|
[state.count]
|
|
356224
356465
|
);
|
|
356225
|
-
const executeCommand = (0,
|
|
356466
|
+
const executeCommand = (0, import_react118.useCallback)(
|
|
356226
356467
|
(cmdType, count) => {
|
|
356227
356468
|
switch (cmdType) {
|
|
356228
356469
|
case CMD_TYPES.DELETE_WORD_FORWARD: {
|
|
@@ -356298,7 +356539,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356298
356539
|
},
|
|
356299
356540
|
[buffer, updateMode]
|
|
356300
356541
|
);
|
|
356301
|
-
const handleInsertModeInput = (0,
|
|
356542
|
+
const handleInsertModeInput = (0, import_react118.useCallback)(
|
|
356302
356543
|
(normalizedKey) => {
|
|
356303
356544
|
if (normalizedKey.name === "escape") {
|
|
356304
356545
|
buffer.vimEscapeInsertMode();
|
|
@@ -356329,7 +356570,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356329
356570
|
},
|
|
356330
356571
|
[buffer, dispatch, updateMode, onSubmit]
|
|
356331
356572
|
);
|
|
356332
|
-
const normalizeKey = (0,
|
|
356573
|
+
const normalizeKey = (0, import_react118.useCallback)(
|
|
356333
356574
|
(key) => ({
|
|
356334
356575
|
name: key.name || "",
|
|
356335
356576
|
sequence: key.sequence || "",
|
|
@@ -356340,7 +356581,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356340
356581
|
}),
|
|
356341
356582
|
[]
|
|
356342
356583
|
);
|
|
356343
|
-
const handleChangeMovement = (0,
|
|
356584
|
+
const handleChangeMovement = (0, import_react118.useCallback)(
|
|
356344
356585
|
(movement) => {
|
|
356345
356586
|
const count = getCurrentCount();
|
|
356346
356587
|
dispatch({ type: "CLEAR_COUNT" });
|
|
@@ -356361,7 +356602,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356361
356602
|
},
|
|
356362
356603
|
[getCurrentCount, dispatch, buffer, updateMode]
|
|
356363
356604
|
);
|
|
356364
|
-
const handleOperatorMotion = (0,
|
|
356605
|
+
const handleOperatorMotion = (0, import_react118.useCallback)(
|
|
356365
356606
|
(operator2, motion) => {
|
|
356366
356607
|
const count = getCurrentCount();
|
|
356367
356608
|
const commandMap = {
|
|
@@ -356388,7 +356629,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356388
356629
|
},
|
|
356389
356630
|
[getCurrentCount, executeCommand, dispatch]
|
|
356390
356631
|
);
|
|
356391
|
-
const handleInput = (0,
|
|
356632
|
+
const handleInput = (0, import_react118.useCallback)(
|
|
356392
356633
|
(key) => {
|
|
356393
356634
|
if (!vimEnabled) {
|
|
356394
356635
|
return false;
|
|
@@ -356688,14 +356929,14 @@ __name(useVim, "useVim");
|
|
|
356688
356929
|
|
|
356689
356930
|
// packages/cli/src/ui/hooks/useBracketedPaste.ts
|
|
356690
356931
|
init_esbuild_shims();
|
|
356691
|
-
var
|
|
356932
|
+
var import_react119 = __toESM(require_react(), 1);
|
|
356692
356933
|
var ENABLE_BRACKETED_PASTE = "\x1B[?2004h";
|
|
356693
356934
|
var DISABLE_BRACKETED_PASTE = "\x1B[?2004l";
|
|
356694
356935
|
var useBracketedPaste = /* @__PURE__ */ __name(() => {
|
|
356695
356936
|
const cleanup = /* @__PURE__ */ __name(() => {
|
|
356696
356937
|
process.stdout.write(DISABLE_BRACKETED_PASTE);
|
|
356697
356938
|
}, "cleanup");
|
|
356698
|
-
(0,
|
|
356939
|
+
(0, import_react119.useEffect)(() => {
|
|
356699
356940
|
process.stdout.write(ENABLE_BRACKETED_PASTE);
|
|
356700
356941
|
process.on("exit", cleanup);
|
|
356701
356942
|
process.on("SIGINT", cleanup);
|
|
@@ -356714,13 +356955,13 @@ init_esbuild_shims();
|
|
|
356714
356955
|
|
|
356715
356956
|
// packages/cli/src/ui/hooks/useTimer.ts
|
|
356716
356957
|
init_esbuild_shims();
|
|
356717
|
-
var
|
|
356958
|
+
var import_react120 = __toESM(require_react(), 1);
|
|
356718
356959
|
var useTimer = /* @__PURE__ */ __name((isActive, resetKey) => {
|
|
356719
|
-
const [elapsedTime, setElapsedTime] = (0,
|
|
356720
|
-
const timerRef = (0,
|
|
356721
|
-
const prevResetKeyRef = (0,
|
|
356722
|
-
const prevIsActiveRef = (0,
|
|
356723
|
-
(0,
|
|
356960
|
+
const [elapsedTime, setElapsedTime] = (0, import_react120.useState)(0);
|
|
356961
|
+
const timerRef = (0, import_react120.useRef)(null);
|
|
356962
|
+
const prevResetKeyRef = (0, import_react120.useRef)(resetKey);
|
|
356963
|
+
const prevIsActiveRef = (0, import_react120.useRef)(isActive);
|
|
356964
|
+
(0, import_react120.useEffect)(() => {
|
|
356724
356965
|
let shouldResetTime = false;
|
|
356725
356966
|
if (prevResetKeyRef.current !== resetKey) {
|
|
356726
356967
|
shouldResetTime = true;
|
|
@@ -356758,7 +356999,7 @@ var useTimer = /* @__PURE__ */ __name((isActive, resetKey) => {
|
|
|
356758
356999
|
|
|
356759
357000
|
// packages/cli/src/ui/hooks/usePhraseCycler.ts
|
|
356760
357001
|
init_esbuild_shims();
|
|
356761
|
-
var
|
|
357002
|
+
var import_react121 = __toESM(require_react(), 1);
|
|
356762
357003
|
var WITTY_LOADING_PHRASES = [
|
|
356763
357004
|
"I'm Feeling Lucky",
|
|
356764
357005
|
"Shipping awesomeness... ",
|
|
@@ -356892,15 +357133,15 @@ var WITTY_LOADING_PHRASES = [
|
|
|
356892
357133
|
];
|
|
356893
357134
|
var PHRASE_CHANGE_INTERVAL_MS = 15e3;
|
|
356894
357135
|
var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases) => {
|
|
356895
|
-
const loadingPhrases = (0,
|
|
357136
|
+
const loadingPhrases = (0, import_react121.useMemo)(
|
|
356896
357137
|
() => customPhrases && customPhrases.length > 0 ? customPhrases : WITTY_LOADING_PHRASES.map((phrase) => t2(phrase)),
|
|
356897
357138
|
[customPhrases]
|
|
356898
357139
|
);
|
|
356899
|
-
const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0,
|
|
357140
|
+
const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0, import_react121.useState)(
|
|
356900
357141
|
loadingPhrases[0]
|
|
356901
357142
|
);
|
|
356902
|
-
const phraseIntervalRef = (0,
|
|
356903
|
-
(0,
|
|
357143
|
+
const phraseIntervalRef = (0, import_react121.useRef)(null);
|
|
357144
|
+
(0, import_react121.useEffect)(() => {
|
|
356904
357145
|
if (isWaiting) {
|
|
356905
357146
|
setCurrentLoadingPhrase(t2("Waiting for user confirmation..."));
|
|
356906
357147
|
if (phraseIntervalRef.current) {
|
|
@@ -356937,9 +357178,9 @@ var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases
|
|
|
356937
357178
|
}, "usePhraseCycler");
|
|
356938
357179
|
|
|
356939
357180
|
// packages/cli/src/ui/hooks/useLoadingIndicator.ts
|
|
356940
|
-
var
|
|
357181
|
+
var import_react122 = __toESM(require_react(), 1);
|
|
356941
357182
|
var useLoadingIndicator = /* @__PURE__ */ __name((streamingState, customWittyPhrases) => {
|
|
356942
|
-
const [timerResetKey, setTimerResetKey] = (0,
|
|
357183
|
+
const [timerResetKey, setTimerResetKey] = (0, import_react122.useState)(0);
|
|
356943
357184
|
const isTimerActive = streamingState === "responding" /* Responding */;
|
|
356944
357185
|
const elapsedTimeFromTimer = useTimer(isTimerActive, timerResetKey);
|
|
356945
357186
|
const isPhraseCyclingActive = streamingState === "responding" /* Responding */;
|
|
@@ -356949,9 +357190,9 @@ var useLoadingIndicator = /* @__PURE__ */ __name((streamingState, customWittyPhr
|
|
|
356949
357190
|
isWaiting,
|
|
356950
357191
|
customWittyPhrases
|
|
356951
357192
|
);
|
|
356952
|
-
const [retainedElapsedTime, setRetainedElapsedTime] = (0,
|
|
356953
|
-
const prevStreamingStateRef = (0,
|
|
356954
|
-
(0,
|
|
357193
|
+
const [retainedElapsedTime, setRetainedElapsedTime] = (0, import_react122.useState)(0);
|
|
357194
|
+
const prevStreamingStateRef = (0, import_react122.useRef)(null);
|
|
357195
|
+
(0, import_react122.useEffect)(() => {
|
|
356955
357196
|
if (prevStreamingStateRef.current === "waiting_for_confirmation" /* WaitingForConfirmation */ && streamingState === "responding" /* Responding */) {
|
|
356956
357197
|
setTimerResetKey((prevKey) => prevKey + 1);
|
|
356957
357198
|
setRetainedElapsedTime(0);
|
|
@@ -356971,20 +357212,20 @@ var useLoadingIndicator = /* @__PURE__ */ __name((streamingState, customWittyPhr
|
|
|
356971
357212
|
|
|
356972
357213
|
// packages/cli/src/ui/hooks/useFolderTrust.ts
|
|
356973
357214
|
init_esbuild_shims();
|
|
356974
|
-
var
|
|
357215
|
+
var import_react123 = __toESM(require_react(), 1);
|
|
356975
357216
|
import * as process40 from "node:process";
|
|
356976
357217
|
var useFolderTrust = /* @__PURE__ */ __name((settings, onTrustChange) => {
|
|
356977
|
-
const [isTrusted, setIsTrusted] = (0,
|
|
356978
|
-
const [isFolderTrustDialogOpen, setIsFolderTrustDialogOpen] = (0,
|
|
356979
|
-
const [isRestarting, setIsRestarting] = (0,
|
|
357218
|
+
const [isTrusted, setIsTrusted] = (0, import_react123.useState)(void 0);
|
|
357219
|
+
const [isFolderTrustDialogOpen, setIsFolderTrustDialogOpen] = (0, import_react123.useState)(false);
|
|
357220
|
+
const [isRestarting, setIsRestarting] = (0, import_react123.useState)(false);
|
|
356980
357221
|
const folderTrust = settings.merged.security?.folderTrust?.enabled;
|
|
356981
|
-
(0,
|
|
357222
|
+
(0, import_react123.useEffect)(() => {
|
|
356982
357223
|
const { isTrusted: trusted } = isWorkspaceTrusted(settings.merged);
|
|
356983
357224
|
setIsTrusted(trusted);
|
|
356984
357225
|
setIsFolderTrustDialogOpen(trusted === void 0);
|
|
356985
357226
|
onTrustChange(trusted);
|
|
356986
357227
|
}, [folderTrust, onTrustChange, settings.merged]);
|
|
356987
|
-
const handleFolderTrustSelect = (0,
|
|
357228
|
+
const handleFolderTrustSelect = (0, import_react123.useCallback)(
|
|
356988
357229
|
(choice2) => {
|
|
356989
357230
|
const trustedFolders = loadTrustedFolders();
|
|
356990
357231
|
const cwd7 = process40.cwd();
|
|
@@ -359853,7 +360094,7 @@ async function checkForUpdates() {
|
|
|
359853
360094
|
latestUpdateInfo
|
|
359854
360095
|
);
|
|
359855
360096
|
if (bestUpdate && import_semver3.default.gt(bestUpdate.latest, currentVersion)) {
|
|
359856
|
-
const message2 = `
|
|
360097
|
+
const message2 = `Update available! ${currentVersion} \u2192 ${bestUpdate.latest} | Run /doctor update or: npm i -g osagent@latest`;
|
|
359857
360098
|
return {
|
|
359858
360099
|
message: message2,
|
|
359859
360100
|
update: { ...bestUpdate, current: currentVersion }
|
|
@@ -359862,7 +360103,7 @@ async function checkForUpdates() {
|
|
|
359862
360103
|
} else {
|
|
359863
360104
|
const updateInfo = await createNotifier("latest").fetchInfo();
|
|
359864
360105
|
if (updateInfo && import_semver3.default.gt(updateInfo.latest, currentVersion)) {
|
|
359865
|
-
const message2 = `
|
|
360106
|
+
const message2 = `Update available! ${currentVersion} \u2192 ${updateInfo.latest} | Run /doctor update or: npm i -g osagent@latest`;
|
|
359866
360107
|
return {
|
|
359867
360108
|
message: message2,
|
|
359868
360109
|
update: { ...updateInfo, current: currentVersion }
|
|
@@ -360117,27 +360358,27 @@ __name(setUpdateHandler, "setUpdateHandler");
|
|
|
360117
360358
|
|
|
360118
360359
|
// packages/cli/src/ui/hooks/useMessageQueue.ts
|
|
360119
360360
|
init_esbuild_shims();
|
|
360120
|
-
var
|
|
360361
|
+
var import_react124 = __toESM(require_react(), 1);
|
|
360121
360362
|
function useMessageQueue({
|
|
360122
360363
|
isConfigInitialized,
|
|
360123
360364
|
streamingState,
|
|
360124
360365
|
submitQuery
|
|
360125
360366
|
}) {
|
|
360126
|
-
const [messageQueue, setMessageQueue] = (0,
|
|
360127
|
-
const addMessage = (0,
|
|
360367
|
+
const [messageQueue, setMessageQueue] = (0, import_react124.useState)([]);
|
|
360368
|
+
const addMessage = (0, import_react124.useCallback)((message2) => {
|
|
360128
360369
|
const trimmedMessage = message2.trim();
|
|
360129
360370
|
if (trimmedMessage.length > 0) {
|
|
360130
360371
|
setMessageQueue((prev) => [...prev, trimmedMessage]);
|
|
360131
360372
|
}
|
|
360132
360373
|
}, []);
|
|
360133
|
-
const clearQueue = (0,
|
|
360374
|
+
const clearQueue = (0, import_react124.useCallback)(() => {
|
|
360134
360375
|
setMessageQueue([]);
|
|
360135
360376
|
}, []);
|
|
360136
|
-
const getQueuedMessagesText = (0,
|
|
360377
|
+
const getQueuedMessagesText = (0, import_react124.useCallback)(() => {
|
|
360137
360378
|
if (messageQueue.length === 0) return "";
|
|
360138
360379
|
return messageQueue.join("\n\n");
|
|
360139
360380
|
}, [messageQueue]);
|
|
360140
|
-
(0,
|
|
360381
|
+
(0, import_react124.useEffect)(() => {
|
|
360141
360382
|
if (isConfigInitialized && streamingState === "idle" /* Idle */ && messageQueue.length > 0) {
|
|
360142
360383
|
const combinedMessage = messageQueue.join("\n\n");
|
|
360143
360384
|
setMessageQueue([]);
|
|
@@ -360155,15 +360396,15 @@ __name(useMessageQueue, "useMessageQueue");
|
|
|
360155
360396
|
|
|
360156
360397
|
// packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts
|
|
360157
360398
|
init_esbuild_shims();
|
|
360158
|
-
var
|
|
360399
|
+
var import_react125 = __toESM(require_react(), 1);
|
|
360159
360400
|
function useAutoAcceptIndicator({
|
|
360160
360401
|
config,
|
|
360161
360402
|
addItem,
|
|
360162
360403
|
onApprovalModeChange
|
|
360163
360404
|
}) {
|
|
360164
360405
|
const currentConfigValue = config.getApprovalMode();
|
|
360165
|
-
const [showAutoAcceptIndicator, setShowAutoAcceptIndicator] = (0,
|
|
360166
|
-
(0,
|
|
360406
|
+
const [showAutoAcceptIndicator, setShowAutoAcceptIndicator] = (0, import_react125.useState)(currentConfigValue);
|
|
360407
|
+
(0, import_react125.useEffect)(() => {
|
|
360167
360408
|
setShowAutoAcceptIndicator(currentConfigValue);
|
|
360168
360409
|
}, [currentConfigValue]);
|
|
360169
360410
|
useKeypress(
|
|
@@ -360196,14 +360437,14 @@ __name(useAutoAcceptIndicator, "useAutoAcceptIndicator");
|
|
|
360196
360437
|
|
|
360197
360438
|
// packages/cli/src/ui/hooks/useWorkspaceMigration.ts
|
|
360198
360439
|
init_esbuild_shims();
|
|
360199
|
-
var
|
|
360440
|
+
var import_react126 = __toESM(require_react(), 1);
|
|
360200
360441
|
import process50 from "node:process";
|
|
360201
360442
|
function useWorkspaceMigration(settings) {
|
|
360202
|
-
const [showWorkspaceMigrationDialog, setShowWorkspaceMigrationDialog] = (0,
|
|
360203
|
-
const [workspaceExtensions, setWorkspaceExtensions] = (0,
|
|
360443
|
+
const [showWorkspaceMigrationDialog, setShowWorkspaceMigrationDialog] = (0, import_react126.useState)(false);
|
|
360444
|
+
const [workspaceExtensions, setWorkspaceExtensions] = (0, import_react126.useState)(
|
|
360204
360445
|
[]
|
|
360205
360446
|
);
|
|
360206
|
-
(0,
|
|
360447
|
+
(0, import_react126.useEffect)(() => {
|
|
360207
360448
|
if (!(settings.merged.experimental?.extensionManagement ?? true)) {
|
|
360208
360449
|
return;
|
|
360209
360450
|
}
|
|
@@ -360245,13 +360486,13 @@ __name(useWorkspaceMigration, "useWorkspaceMigration");
|
|
|
360245
360486
|
|
|
360246
360487
|
// packages/cli/src/ui/hooks/useGitBranchName.ts
|
|
360247
360488
|
init_esbuild_shims();
|
|
360248
|
-
var
|
|
360489
|
+
var import_react127 = __toESM(require_react(), 1);
|
|
360249
360490
|
import fs94 from "node:fs";
|
|
360250
360491
|
import fsPromises7 from "node:fs/promises";
|
|
360251
360492
|
import path109 from "node:path";
|
|
360252
360493
|
function useGitBranchName(cwd7) {
|
|
360253
|
-
const [branchName, setBranchName] = (0,
|
|
360254
|
-
const fetchBranchName = (0,
|
|
360494
|
+
const [branchName, setBranchName] = (0, import_react127.useState)(void 0);
|
|
360495
|
+
const fetchBranchName = (0, import_react127.useCallback)(async () => {
|
|
360255
360496
|
try {
|
|
360256
360497
|
if (!isCommandAvailable("git").available) {
|
|
360257
360498
|
return;
|
|
@@ -360276,7 +360517,7 @@ function useGitBranchName(cwd7) {
|
|
|
360276
360517
|
setBranchName(void 0);
|
|
360277
360518
|
}
|
|
360278
360519
|
}, [cwd7, setBranchName]);
|
|
360279
|
-
(0,
|
|
360520
|
+
(0, import_react127.useEffect)(() => {
|
|
360280
360521
|
fetchBranchName();
|
|
360281
360522
|
const gitLogsHeadPath = path109.join(cwd7, ".git", "logs", "HEAD");
|
|
360282
360523
|
let watcher;
|
|
@@ -360302,7 +360543,7 @@ __name(useGitBranchName, "useGitBranchName");
|
|
|
360302
360543
|
|
|
360303
360544
|
// packages/cli/src/ui/hooks/useExtensionUpdates.ts
|
|
360304
360545
|
init_esbuild_shims();
|
|
360305
|
-
var
|
|
360546
|
+
var import_react128 = __toESM(require_react(), 1);
|
|
360306
360547
|
function confirmationRequestsReducer(state, action) {
|
|
360307
360548
|
switch (action.type) {
|
|
360308
360549
|
case "add":
|
|
@@ -360316,15 +360557,15 @@ function confirmationRequestsReducer(state, action) {
|
|
|
360316
360557
|
}
|
|
360317
360558
|
__name(confirmationRequestsReducer, "confirmationRequestsReducer");
|
|
360318
360559
|
var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) => {
|
|
360319
|
-
const [extensionsUpdateState, dispatchExtensionStateUpdate] = (0,
|
|
360560
|
+
const [extensionsUpdateState, dispatchExtensionStateUpdate] = (0, import_react128.useReducer)(
|
|
360320
360561
|
extensionUpdatesReducer,
|
|
360321
360562
|
initialExtensionUpdatesState
|
|
360322
360563
|
);
|
|
360323
360564
|
const [
|
|
360324
360565
|
confirmUpdateExtensionRequests,
|
|
360325
360566
|
dispatchConfirmUpdateExtensionRequests
|
|
360326
|
-
] = (0,
|
|
360327
|
-
const addConfirmUpdateExtensionRequest = (0,
|
|
360567
|
+
] = (0, import_react128.useReducer)(confirmationRequestsReducer, []);
|
|
360568
|
+
const addConfirmUpdateExtensionRequest = (0, import_react128.useCallback)(
|
|
360328
360569
|
(original) => {
|
|
360329
360570
|
const wrappedRequest = {
|
|
360330
360571
|
prompt: original.prompt,
|
|
@@ -360343,7 +360584,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) =>
|
|
|
360343
360584
|
},
|
|
360344
360585
|
[dispatchConfirmUpdateExtensionRequests]
|
|
360345
360586
|
);
|
|
360346
|
-
(0,
|
|
360587
|
+
(0, import_react128.useEffect)(() => {
|
|
360347
360588
|
(async () => {
|
|
360348
360589
|
await checkForAllExtensionUpdates(
|
|
360349
360590
|
extensions,
|
|
@@ -360351,7 +360592,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) =>
|
|
|
360351
360592
|
);
|
|
360352
360593
|
})();
|
|
360353
360594
|
}, [extensions, extensions.length, dispatchExtensionStateUpdate]);
|
|
360354
|
-
(0,
|
|
360595
|
+
(0, import_react128.useEffect)(() => {
|
|
360355
360596
|
if (extensionsUpdateState.batchChecksInProgress > 0) {
|
|
360356
360597
|
return;
|
|
360357
360598
|
}
|
|
@@ -360416,7 +360657,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) =>
|
|
|
360416
360657
|
addItem,
|
|
360417
360658
|
cwd7
|
|
360418
360659
|
]);
|
|
360419
|
-
const extensionsUpdateStateComputed = (0,
|
|
360660
|
+
const extensionsUpdateStateComputed = (0, import_react128.useMemo)(() => {
|
|
360420
360661
|
const result = /* @__PURE__ */ new Map();
|
|
360421
360662
|
for (const [
|
|
360422
360663
|
key,
|
|
@@ -360437,13 +360678,13 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) =>
|
|
|
360437
360678
|
|
|
360438
360679
|
// packages/cli/src/ui/hooks/useQuitConfirmation.ts
|
|
360439
360680
|
init_esbuild_shims();
|
|
360440
|
-
var
|
|
360681
|
+
var import_react129 = __toESM(require_react(), 1);
|
|
360441
360682
|
var useQuitConfirmation = /* @__PURE__ */ __name(() => {
|
|
360442
|
-
const [isQuitConfirmationOpen, setIsQuitConfirmationOpen] = (0,
|
|
360443
|
-
const showQuitConfirmation = (0,
|
|
360683
|
+
const [isQuitConfirmationOpen, setIsQuitConfirmationOpen] = (0, import_react129.useState)(false);
|
|
360684
|
+
const showQuitConfirmation = (0, import_react129.useCallback)(() => {
|
|
360444
360685
|
setIsQuitConfirmationOpen(true);
|
|
360445
360686
|
}, []);
|
|
360446
|
-
const handleQuitConfirmationSelect = (0,
|
|
360687
|
+
const handleQuitConfirmationSelect = (0, import_react129.useCallback)((choice2) => {
|
|
360447
360688
|
setIsQuitConfirmationOpen(false);
|
|
360448
360689
|
if (choice2 === "cancel" /* CANCEL */) {
|
|
360449
360690
|
return { shouldQuit: false, action: "cancel" };
|
|
@@ -360465,14 +360706,14 @@ var useQuitConfirmation = /* @__PURE__ */ __name(() => {
|
|
|
360465
360706
|
|
|
360466
360707
|
// packages/cli/src/ui/hooks/useWelcomeBack.ts
|
|
360467
360708
|
init_esbuild_shims();
|
|
360468
|
-
var
|
|
360709
|
+
var import_react130 = __toESM(require_react(), 1);
|
|
360469
360710
|
function useWelcomeBack(config, submitQuery, buffer, settings) {
|
|
360470
|
-
const [welcomeBackInfo, setWelcomeBackInfo] = (0,
|
|
360471
|
-
const [showWelcomeBackDialog, setShowWelcomeBackDialog] = (0,
|
|
360472
|
-
const [welcomeBackChoice, setWelcomeBackChoice] = (0,
|
|
360473
|
-
const [shouldFillInput, setShouldFillInput] = (0,
|
|
360474
|
-
const [inputFillText, setInputFillText] = (0,
|
|
360475
|
-
const checkWelcomeBack = (0,
|
|
360711
|
+
const [welcomeBackInfo, setWelcomeBackInfo] = (0, import_react130.useState)(null);
|
|
360712
|
+
const [showWelcomeBackDialog, setShowWelcomeBackDialog] = (0, import_react130.useState)(false);
|
|
360713
|
+
const [welcomeBackChoice, setWelcomeBackChoice] = (0, import_react130.useState)(null);
|
|
360714
|
+
const [shouldFillInput, setShouldFillInput] = (0, import_react130.useState)(false);
|
|
360715
|
+
const [inputFillText, setInputFillText] = (0, import_react130.useState)(null);
|
|
360716
|
+
const checkWelcomeBack = (0, import_react130.useCallback)(async () => {
|
|
360476
360717
|
if (settings.ui?.enableWelcomeBack === false) {
|
|
360477
360718
|
return;
|
|
360478
360719
|
}
|
|
@@ -360486,7 +360727,7 @@ function useWelcomeBack(config, submitQuery, buffer, settings) {
|
|
|
360486
360727
|
console.debug("Welcome back check failed:", error);
|
|
360487
360728
|
}
|
|
360488
360729
|
}, [settings.ui?.enableWelcomeBack]);
|
|
360489
|
-
const handleWelcomeBackSelection = (0,
|
|
360730
|
+
const handleWelcomeBackSelection = (0, import_react130.useCallback)(
|
|
360490
360731
|
(choice2) => {
|
|
360491
360732
|
setWelcomeBackChoice(choice2);
|
|
360492
360733
|
setShowWelcomeBackDialog(false);
|
|
@@ -360498,21 +360739,21 @@ function useWelcomeBack(config, submitQuery, buffer, settings) {
|
|
|
360498
360739
|
},
|
|
360499
360740
|
[welcomeBackInfo]
|
|
360500
360741
|
);
|
|
360501
|
-
const handleWelcomeBackClose = (0,
|
|
360742
|
+
const handleWelcomeBackClose = (0, import_react130.useCallback)(() => {
|
|
360502
360743
|
setWelcomeBackChoice("restart");
|
|
360503
360744
|
setShowWelcomeBackDialog(false);
|
|
360504
360745
|
}, []);
|
|
360505
|
-
const clearInputFill = (0,
|
|
360746
|
+
const clearInputFill = (0, import_react130.useCallback)(() => {
|
|
360506
360747
|
setShouldFillInput(false);
|
|
360507
360748
|
setInputFillText(null);
|
|
360508
360749
|
}, []);
|
|
360509
|
-
(0,
|
|
360750
|
+
(0, import_react130.useEffect)(() => {
|
|
360510
360751
|
if (shouldFillInput && inputFillText) {
|
|
360511
360752
|
buffer.setText(inputFillText);
|
|
360512
360753
|
clearInputFill();
|
|
360513
360754
|
}
|
|
360514
360755
|
}, [shouldFillInput, inputFillText, buffer, clearInputFill]);
|
|
360515
|
-
(0,
|
|
360756
|
+
(0, import_react130.useEffect)(() => {
|
|
360516
360757
|
checkWelcomeBack();
|
|
360517
360758
|
}, [checkWelcomeBack]);
|
|
360518
360759
|
return {
|
|
@@ -360533,9 +360774,9 @@ __name(useWelcomeBack, "useWelcomeBack");
|
|
|
360533
360774
|
|
|
360534
360775
|
// packages/cli/src/ui/hooks/useDialogClose.ts
|
|
360535
360776
|
init_esbuild_shims();
|
|
360536
|
-
var
|
|
360777
|
+
var import_react131 = __toESM(require_react(), 1);
|
|
360537
360778
|
function useDialogClose(options2) {
|
|
360538
|
-
const closeAnyOpenDialog = (0,
|
|
360779
|
+
const closeAnyOpenDialog = (0, import_react131.useCallback)(() => {
|
|
360539
360780
|
if (options2.isThemeDialogOpen) {
|
|
360540
360781
|
options2.handleThemeSelect(void 0, "User" /* User */);
|
|
360541
360782
|
return true;
|
|
@@ -360567,14 +360808,14 @@ __name(useDialogClose, "useDialogClose");
|
|
|
360567
360808
|
|
|
360568
360809
|
// packages/cli/src/ui/hooks/useInitializationAuthError.ts
|
|
360569
360810
|
init_esbuild_shims();
|
|
360570
|
-
var
|
|
360811
|
+
var import_react132 = __toESM(require_react(), 1);
|
|
360571
360812
|
var useInitializationAuthError = /* @__PURE__ */ __name((authError, onAuthError) => {
|
|
360572
|
-
const hasHandled = (0,
|
|
360573
|
-
const authErrorRef = (0,
|
|
360574
|
-
const onAuthErrorRef = (0,
|
|
360813
|
+
const hasHandled = (0, import_react132.useRef)(false);
|
|
360814
|
+
const authErrorRef = (0, import_react132.useRef)(authError);
|
|
360815
|
+
const onAuthErrorRef = (0, import_react132.useRef)(onAuthError);
|
|
360575
360816
|
authErrorRef.current = authError;
|
|
360576
360817
|
onAuthErrorRef.current = onAuthError;
|
|
360577
|
-
(0,
|
|
360818
|
+
(0, import_react132.useEffect)(() => {
|
|
360578
360819
|
if (hasHandled.current) {
|
|
360579
360820
|
return;
|
|
360580
360821
|
}
|
|
@@ -360587,13 +360828,13 @@ var useInitializationAuthError = /* @__PURE__ */ __name((authError, onAuthError)
|
|
|
360587
360828
|
|
|
360588
360829
|
// packages/cli/src/ui/hooks/useSubagentCreateDialog.ts
|
|
360589
360830
|
init_esbuild_shims();
|
|
360590
|
-
var
|
|
360831
|
+
var import_react133 = __toESM(require_react(), 1);
|
|
360591
360832
|
function useSubagentCreateDialog() {
|
|
360592
|
-
const [isSubagentCreateDialogOpen, setIsSubagentCreateDialogOpen] = (0,
|
|
360593
|
-
const openSubagentCreateDialog = (0,
|
|
360833
|
+
const [isSubagentCreateDialogOpen, setIsSubagentCreateDialogOpen] = (0, import_react133.useState)(false);
|
|
360834
|
+
const openSubagentCreateDialog = (0, import_react133.useCallback)(() => {
|
|
360594
360835
|
setIsSubagentCreateDialogOpen(true);
|
|
360595
360836
|
}, []);
|
|
360596
|
-
const closeSubagentCreateDialog = (0,
|
|
360837
|
+
const closeSubagentCreateDialog = (0, import_react133.useCallback)(() => {
|
|
360597
360838
|
setIsSubagentCreateDialogOpen(false);
|
|
360598
360839
|
}, []);
|
|
360599
360840
|
return {
|
|
@@ -360606,13 +360847,13 @@ __name(useSubagentCreateDialog, "useSubagentCreateDialog");
|
|
|
360606
360847
|
|
|
360607
360848
|
// packages/cli/src/ui/hooks/useAgentsManagerDialog.ts
|
|
360608
360849
|
init_esbuild_shims();
|
|
360609
|
-
var
|
|
360850
|
+
var import_react134 = __toESM(require_react(), 1);
|
|
360610
360851
|
var useAgentsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
360611
|
-
const [isAgentsManagerDialogOpen, setIsAgentsManagerDialogOpen] = (0,
|
|
360612
|
-
const openAgentsManagerDialog = (0,
|
|
360852
|
+
const [isAgentsManagerDialogOpen, setIsAgentsManagerDialogOpen] = (0, import_react134.useState)(false);
|
|
360853
|
+
const openAgentsManagerDialog = (0, import_react134.useCallback)(() => {
|
|
360613
360854
|
setIsAgentsManagerDialogOpen(true);
|
|
360614
360855
|
}, []);
|
|
360615
|
-
const closeAgentsManagerDialog = (0,
|
|
360856
|
+
const closeAgentsManagerDialog = (0, import_react134.useCallback)(() => {
|
|
360616
360857
|
setIsAgentsManagerDialogOpen(false);
|
|
360617
360858
|
}, []);
|
|
360618
360859
|
return {
|
|
@@ -360624,7 +360865,7 @@ var useAgentsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
|
360624
360865
|
|
|
360625
360866
|
// packages/cli/src/ui/hooks/useAttentionNotifications.ts
|
|
360626
360867
|
init_esbuild_shims();
|
|
360627
|
-
var
|
|
360868
|
+
var import_react135 = __toESM(require_react(), 1);
|
|
360628
360869
|
|
|
360629
360870
|
// packages/cli/src/utils/attentionNotification.ts
|
|
360630
360871
|
init_esbuild_shims();
|
|
@@ -360652,9 +360893,9 @@ var useAttentionNotifications = /* @__PURE__ */ __name(({
|
|
|
360652
360893
|
streamingState,
|
|
360653
360894
|
elapsedTime
|
|
360654
360895
|
}) => {
|
|
360655
|
-
const awaitingNotificationSentRef = (0,
|
|
360656
|
-
const respondingElapsedRef = (0,
|
|
360657
|
-
(0,
|
|
360896
|
+
const awaitingNotificationSentRef = (0, import_react135.useRef)(false);
|
|
360897
|
+
const respondingElapsedRef = (0, import_react135.useRef)(0);
|
|
360898
|
+
(0, import_react135.useEffect)(() => {
|
|
360658
360899
|
if (streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */ && !isFocused && !awaitingNotificationSentRef.current) {
|
|
360659
360900
|
notifyTerminalAttention("tool_approval" /* ToolApproval */);
|
|
360660
360901
|
awaitingNotificationSentRef.current = true;
|
|
@@ -360663,7 +360904,7 @@ var useAttentionNotifications = /* @__PURE__ */ __name(({
|
|
|
360663
360904
|
awaitingNotificationSentRef.current = false;
|
|
360664
360905
|
}
|
|
360665
360906
|
}, [isFocused, streamingState]);
|
|
360666
|
-
(0,
|
|
360907
|
+
(0, import_react135.useEffect)(() => {
|
|
360667
360908
|
if (streamingState === "responding" /* Responding */) {
|
|
360668
360909
|
respondingElapsedRef.current = elapsedTime;
|
|
360669
360910
|
return;
|
|
@@ -360699,25 +360940,25 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360699
360940
|
const { settings, config, initializationResult } = props;
|
|
360700
360941
|
const historyManager = useHistory();
|
|
360701
360942
|
useMemoryMonitor(historyManager);
|
|
360702
|
-
const [corgiMode, setCorgiMode] = (0,
|
|
360703
|
-
const [debugMessage, setDebugMessage] = (0,
|
|
360704
|
-
const [quittingMessages, setQuittingMessages] = (0,
|
|
360705
|
-
const [themeError, setThemeError] = (0,
|
|
360943
|
+
const [corgiMode, setCorgiMode] = (0, import_react136.useState)(false);
|
|
360944
|
+
const [debugMessage, setDebugMessage] = (0, import_react136.useState)("");
|
|
360945
|
+
const [quittingMessages, setQuittingMessages] = (0, import_react136.useState)(null);
|
|
360946
|
+
const [themeError, setThemeError] = (0, import_react136.useState)(
|
|
360706
360947
|
initializationResult.themeError
|
|
360707
360948
|
);
|
|
360708
|
-
const [isProcessing, setIsProcessing] = (0,
|
|
360709
|
-
const [embeddedShellFocused, setEmbeddedShellFocused] = (0,
|
|
360710
|
-
const [OSAMdFileCount, setOSAMdFileCount] = (0,
|
|
360949
|
+
const [isProcessing, setIsProcessing] = (0, import_react136.useState)(false);
|
|
360950
|
+
const [embeddedShellFocused, setEmbeddedShellFocused] = (0, import_react136.useState)(false);
|
|
360951
|
+
const [OSAMdFileCount, setOSAMdFileCount] = (0, import_react136.useState)(
|
|
360711
360952
|
initializationResult.OSAMdFileCount
|
|
360712
360953
|
);
|
|
360713
|
-
const [shellModeActive, setShellModeActive] = (0,
|
|
360714
|
-
const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = (0,
|
|
360715
|
-
const [historyRemountKey, setHistoryRemountKey] = (0,
|
|
360716
|
-
const [updateInfo, setUpdateInfo] = (0,
|
|
360717
|
-
const [isTrustedFolder, setIsTrustedFolder] = (0,
|
|
360954
|
+
const [shellModeActive, setShellModeActive] = (0, import_react136.useState)(false);
|
|
360955
|
+
const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = (0, import_react136.useState)(false);
|
|
360956
|
+
const [historyRemountKey, setHistoryRemountKey] = (0, import_react136.useState)(0);
|
|
360957
|
+
const [updateInfo, setUpdateInfo] = (0, import_react136.useState)(null);
|
|
360958
|
+
const [isTrustedFolder, setIsTrustedFolder] = (0, import_react136.useState)(
|
|
360718
360959
|
config.isTrustedFolder()
|
|
360719
360960
|
);
|
|
360720
|
-
const [systemPromptPreset, setSystemPromptPreset] = (0,
|
|
360961
|
+
const [systemPromptPreset, setSystemPromptPreset] = (0, import_react136.useState)(
|
|
360721
360962
|
null
|
|
360722
360963
|
);
|
|
360723
360964
|
const extensions = config.getExtensions();
|
|
@@ -360732,38 +360973,38 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360732
360973
|
historyManager.addItem,
|
|
360733
360974
|
config.getWorkingDir()
|
|
360734
360975
|
);
|
|
360735
|
-
const [isPermissionsDialogOpen, setPermissionsDialogOpen] = (0,
|
|
360736
|
-
const openPermissionsDialog = (0,
|
|
360976
|
+
const [isPermissionsDialogOpen, setPermissionsDialogOpen] = (0, import_react136.useState)(false);
|
|
360977
|
+
const openPermissionsDialog = (0, import_react136.useCallback)(
|
|
360737
360978
|
() => setPermissionsDialogOpen(true),
|
|
360738
360979
|
[]
|
|
360739
360980
|
);
|
|
360740
|
-
const closePermissionsDialog = (0,
|
|
360981
|
+
const closePermissionsDialog = (0, import_react136.useCallback)(
|
|
360741
360982
|
() => setPermissionsDialogOpen(false),
|
|
360742
360983
|
[]
|
|
360743
360984
|
);
|
|
360744
|
-
const getEffectiveModel2 = (0,
|
|
360985
|
+
const getEffectiveModel2 = (0, import_react136.useCallback)(() => {
|
|
360745
360986
|
if (config.isInFallbackMode()) {
|
|
360746
360987
|
return DEFAULT_OSA_FLASH_MODEL;
|
|
360747
360988
|
}
|
|
360748
360989
|
return config.getModel();
|
|
360749
360990
|
}, [config]);
|
|
360750
|
-
const [currentModel, setCurrentModel] = (0,
|
|
360751
|
-
const [userTier] = (0,
|
|
360752
|
-
const [isConfigInitialized, setConfigInitialized] = (0,
|
|
360991
|
+
const [currentModel, setCurrentModel] = (0, import_react136.useState)(getEffectiveModel2());
|
|
360992
|
+
const [userTier] = (0, import_react136.useState)(void 0);
|
|
360993
|
+
const [isConfigInitialized, setConfigInitialized] = (0, import_react136.useState)(false);
|
|
360753
360994
|
const logger6 = useLogger(config.storage);
|
|
360754
|
-
const [userMessages, setUserMessages] = (0,
|
|
360995
|
+
const [userMessages, setUserMessages] = (0, import_react136.useState)([]);
|
|
360755
360996
|
const { columns: terminalWidth, rows: terminalHeight } = useTerminalSize();
|
|
360756
360997
|
const { stdin, setRawMode } = use_stdin_default();
|
|
360757
360998
|
const { stdout } = use_stdout_default();
|
|
360758
360999
|
const { stats: sessionStats } = useSessionStats();
|
|
360759
361000
|
const branchName = useGitBranchName(config.getTargetDir());
|
|
360760
|
-
const mainControlsRef = (0,
|
|
360761
|
-
const originalTitleRef = (0,
|
|
361001
|
+
const mainControlsRef = (0, import_react136.useRef)(null);
|
|
361002
|
+
const originalTitleRef = (0, import_react136.useRef)(
|
|
360762
361003
|
computeWindowTitle(basename14(config.getTargetDir()))
|
|
360763
361004
|
);
|
|
360764
|
-
const lastTitleRef = (0,
|
|
361005
|
+
const lastTitleRef = (0, import_react136.useRef)(null);
|
|
360765
361006
|
const staticExtraHeight = 3;
|
|
360766
|
-
(0,
|
|
361007
|
+
(0, import_react136.useEffect)(() => {
|
|
360767
361008
|
(async () => {
|
|
360768
361009
|
await config.initialize();
|
|
360769
361010
|
setConfigInitialized(true);
|
|
@@ -360773,11 +361014,11 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360773
361014
|
await ideClient.disconnect();
|
|
360774
361015
|
});
|
|
360775
361016
|
}, [config]);
|
|
360776
|
-
(0,
|
|
361017
|
+
(0, import_react136.useEffect)(
|
|
360777
361018
|
() => setUpdateHandler(historyManager.addItem, setUpdateInfo),
|
|
360778
361019
|
[historyManager.addItem]
|
|
360779
361020
|
);
|
|
360780
|
-
(0,
|
|
361021
|
+
(0, import_react136.useEffect)(() => {
|
|
360781
361022
|
const checkModelChange = /* @__PURE__ */ __name(() => {
|
|
360782
361023
|
const effectiveModel = getEffectiveModel2();
|
|
360783
361024
|
if (effectiveModel !== currentModel) {
|
|
@@ -360793,7 +361034,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360793
361034
|
handleNewMessage,
|
|
360794
361035
|
clearConsoleMessages: clearConsoleMessagesState
|
|
360795
361036
|
} = useConsoleMessages();
|
|
360796
|
-
(0,
|
|
361037
|
+
(0, import_react136.useEffect)(() => {
|
|
360797
361038
|
const consolePatcher = new ConsolePatcher({
|
|
360798
361039
|
onNewMessage: handleNewMessage,
|
|
360799
361040
|
debugMode: config.getDebugMode()
|
|
@@ -360801,13 +361042,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360801
361042
|
consolePatcher.patch();
|
|
360802
361043
|
registerCleanup(consolePatcher.cleanup);
|
|
360803
361044
|
}, [handleNewMessage, config]);
|
|
360804
|
-
const { inputWidth, suggestionsWidth } = (0,
|
|
361045
|
+
const { inputWidth, suggestionsWidth } = (0, import_react136.useMemo)(() => {
|
|
360805
361046
|
const { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 } = calculatePromptWidths(terminalWidth);
|
|
360806
361047
|
return { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 };
|
|
360807
361048
|
}, [terminalWidth]);
|
|
360808
361049
|
const mainAreaWidth = Math.floor(terminalWidth * 0.9);
|
|
360809
361050
|
const staticAreaMaxItemHeight = Math.max(terminalHeight * 4, 100);
|
|
360810
|
-
const isValidPath = (0,
|
|
361051
|
+
const isValidPath = (0, import_react136.useCallback)((filePath) => {
|
|
360811
361052
|
try {
|
|
360812
361053
|
return fs95.existsSync(filePath) && fs95.statSync(filePath).isFile();
|
|
360813
361054
|
} catch (_e) {
|
|
@@ -360822,7 +361063,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360822
361063
|
isValidPath,
|
|
360823
361064
|
shellModeActive
|
|
360824
361065
|
});
|
|
360825
|
-
(0,
|
|
361066
|
+
(0, import_react136.useEffect)(() => {
|
|
360826
361067
|
const fetchUserMessages = /* @__PURE__ */ __name(async () => {
|
|
360827
361068
|
const pastMessagesRaw = await logger6?.getPreviousUserMessages() || [];
|
|
360828
361069
|
const currentSessionUserMessages = historyManager.history.filter(
|
|
@@ -360845,7 +361086,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360845
361086
|
}, "fetchUserMessages");
|
|
360846
361087
|
fetchUserMessages();
|
|
360847
361088
|
}, [historyManager.history, logger6]);
|
|
360848
|
-
const refreshStatic = (0,
|
|
361089
|
+
const refreshStatic = (0, import_react136.useCallback)(() => {
|
|
360849
361090
|
stdout.write(base_exports.clearTerminal);
|
|
360850
361091
|
setHistoryRemountKey((prev) => prev + 1);
|
|
360851
361092
|
}, [setHistoryRemountKey, stdout]);
|
|
@@ -360885,7 +361126,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360885
361126
|
setModelSwitchedFromQuotaError
|
|
360886
361127
|
});
|
|
360887
361128
|
useInitializationAuthError(initializationResult.authError, onAuthError);
|
|
360888
|
-
(0,
|
|
361129
|
+
(0, import_react136.useEffect)(() => {
|
|
360889
361130
|
if (settings.merged.security?.auth?.enforcedType && settings.merged.security?.auth.selectedType && settings.merged.security?.auth.enforcedType !== settings.merged.security?.auth.selectedType) {
|
|
360890
361131
|
onAuthError(
|
|
360891
361132
|
t2(
|
|
@@ -360910,7 +361151,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360910
361151
|
settings.merged.security?.auth?.useExternal,
|
|
360911
361152
|
onAuthError
|
|
360912
361153
|
]);
|
|
360913
|
-
const [editorError, setEditorError] = (0,
|
|
361154
|
+
const [editorError, setEditorError] = (0, import_react136.useState)(null);
|
|
360914
361155
|
const {
|
|
360915
361156
|
isEditorDialogOpen,
|
|
360916
361157
|
openEditorDialog,
|
|
@@ -360937,9 +361178,9 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360937
361178
|
openAgentsManagerDialog,
|
|
360938
361179
|
closeAgentsManagerDialog
|
|
360939
361180
|
} = useAgentsManagerDialog();
|
|
360940
|
-
const [isVisionSwitchDialogOpen, setIsVisionSwitchDialogOpen] = (0,
|
|
360941
|
-
const [visionSwitchResolver, setVisionSwitchResolver] = (0,
|
|
360942
|
-
const slashCommandActions = (0,
|
|
361181
|
+
const [isVisionSwitchDialogOpen, setIsVisionSwitchDialogOpen] = (0, import_react136.useState)(false);
|
|
361182
|
+
const [visionSwitchResolver, setVisionSwitchResolver] = (0, import_react136.useState)(null);
|
|
361183
|
+
const slashCommandActions = (0, import_react136.useMemo)(
|
|
360943
361184
|
() => ({
|
|
360944
361185
|
openAuthDialog,
|
|
360945
361186
|
openThemeDialog,
|
|
@@ -361004,14 +361245,14 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361004
361245
|
extensionsUpdateStateInternal,
|
|
361005
361246
|
isConfigInitialized
|
|
361006
361247
|
);
|
|
361007
|
-
const handleVisionSwitchRequired = (0,
|
|
361248
|
+
const handleVisionSwitchRequired = (0, import_react136.useCallback)(
|
|
361008
361249
|
async (_query) => new Promise((resolve25, reject) => {
|
|
361009
361250
|
setVisionSwitchResolver({ resolve: resolve25, reject });
|
|
361010
361251
|
setIsVisionSwitchDialogOpen(true);
|
|
361011
361252
|
}),
|
|
361012
361253
|
[]
|
|
361013
361254
|
);
|
|
361014
|
-
const handleVisionSwitchSelect = (0,
|
|
361255
|
+
const handleVisionSwitchSelect = (0, import_react136.useCallback)(
|
|
361015
361256
|
(outcome) => {
|
|
361016
361257
|
setIsVisionSwitchDialogOpen(false);
|
|
361017
361258
|
if (visionSwitchResolver) {
|
|
@@ -361022,10 +361263,10 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361022
361263
|
},
|
|
361023
361264
|
[visionSwitchResolver]
|
|
361024
361265
|
);
|
|
361025
|
-
const onDebugMessage = (0,
|
|
361266
|
+
const onDebugMessage = (0, import_react136.useCallback)((message2) => {
|
|
361026
361267
|
console.debug(message2);
|
|
361027
361268
|
}, []);
|
|
361028
|
-
const performMemoryRefresh = (0,
|
|
361269
|
+
const performMemoryRefresh = (0, import_react136.useCallback)(async () => {
|
|
361029
361270
|
historyManager.addItem(
|
|
361030
361271
|
{
|
|
361031
361272
|
type: "info" /* INFO */,
|
|
@@ -361076,7 +361317,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361076
361317
|
console.error("Error refreshing memory:", error);
|
|
361077
361318
|
}
|
|
361078
361319
|
}, [config, historyManager, settings.merged]);
|
|
361079
|
-
const cancelHandlerRef = (0,
|
|
361320
|
+
const cancelHandlerRef = (0, import_react136.useRef)(() => {
|
|
361080
361321
|
});
|
|
361081
361322
|
const {
|
|
361082
361323
|
streamingState,
|
|
@@ -361123,7 +361364,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361123
361364
|
streamingState,
|
|
361124
361365
|
submitQuery
|
|
361125
361366
|
});
|
|
361126
|
-
const handleFinalSubmit = (0,
|
|
361367
|
+
const handleFinalSubmit = (0, import_react136.useCallback)(
|
|
361127
361368
|
(submittedValue) => {
|
|
361128
361369
|
addMessage(submittedValue);
|
|
361129
361370
|
},
|
|
@@ -361136,7 +361377,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361136
361377
|
handleWelcomeBackSelection,
|
|
361137
361378
|
handleWelcomeBackClose
|
|
361138
361379
|
} = useWelcomeBack(config, handleFinalSubmit, buffer, settings.merged);
|
|
361139
|
-
cancelHandlerRef.current = (0,
|
|
361380
|
+
cancelHandlerRef.current = (0, import_react136.useCallback)(() => {
|
|
361140
361381
|
const pendingHistoryItems2 = [
|
|
361141
361382
|
...pendingSlashCommandHistoryItems,
|
|
361142
361383
|
...pendingOSAHistoryItems
|
|
@@ -361165,7 +361406,7 @@ ${queuedText}` : queuedText;
|
|
|
361165
361406
|
pendingSlashCommandHistoryItems,
|
|
361166
361407
|
pendingOSAHistoryItems
|
|
361167
361408
|
]);
|
|
361168
|
-
const handleClearScreen = (0,
|
|
361409
|
+
const handleClearScreen = (0, import_react136.useCallback)(() => {
|
|
361169
361410
|
historyManager.clearItems();
|
|
361170
361411
|
clearConsoleMessagesState();
|
|
361171
361412
|
console.clear();
|
|
@@ -361173,8 +361414,8 @@ ${queuedText}` : queuedText;
|
|
|
361173
361414
|
}, [historyManager, clearConsoleMessagesState, refreshStatic]);
|
|
361174
361415
|
const { handleInput: vimHandleInput } = useVim(buffer, handleFinalSubmit);
|
|
361175
361416
|
const isInputActive = !initError && !isProcessing && (streamingState === "idle" /* Idle */ || streamingState === "responding" /* Responding */) && !proQuotaRequest;
|
|
361176
|
-
const [controlsHeight, setControlsHeight] = (0,
|
|
361177
|
-
(0,
|
|
361417
|
+
const [controlsHeight, setControlsHeight] = (0, import_react136.useState)(0);
|
|
361418
|
+
(0, import_react136.useLayoutEffect)(() => {
|
|
361178
361419
|
if (mainControlsRef.current) {
|
|
361179
361420
|
const fullFooterMeasurement = measure_element_default(mainControlsRef.current);
|
|
361180
361421
|
if (fullFooterMeasurement.height > 0) {
|
|
@@ -361197,14 +361438,14 @@ ${queuedText}` : queuedText;
|
|
|
361197
361438
|
});
|
|
361198
361439
|
const isFocused = useFocus();
|
|
361199
361440
|
useBracketedPaste();
|
|
361200
|
-
const contextFileNames = (0,
|
|
361441
|
+
const contextFileNames = (0, import_react136.useMemo)(() => {
|
|
361201
361442
|
const fromSettings = settings.merged.context?.fileName;
|
|
361202
361443
|
return fromSettings ? Array.isArray(fromSettings) ? fromSettings : [fromSettings] : getAllOSAMdFilenames();
|
|
361203
361444
|
}, [settings.merged.context?.fileName]);
|
|
361204
|
-
const initialPrompt = (0,
|
|
361205
|
-
const initialPromptSubmitted = (0,
|
|
361445
|
+
const initialPrompt = (0, import_react136.useMemo)(() => config.getQuestion(), [config]);
|
|
361446
|
+
const initialPromptSubmitted = (0, import_react136.useRef)(false);
|
|
361206
361447
|
const OSAClient2 = config.getOSAClient();
|
|
361207
|
-
(0,
|
|
361448
|
+
(0, import_react136.useEffect)(() => {
|
|
361208
361449
|
if (activePtyId) {
|
|
361209
361450
|
ShellExecutionService.resizePty(
|
|
361210
361451
|
activePtyId,
|
|
@@ -361213,7 +361454,7 @@ ${queuedText}` : queuedText;
|
|
|
361213
361454
|
);
|
|
361214
361455
|
}
|
|
361215
361456
|
}, [terminalWidth, availableTerminalHeight, activePtyId]);
|
|
361216
|
-
(0,
|
|
361457
|
+
(0, import_react136.useEffect)(() => {
|
|
361217
361458
|
if (initialPrompt && isConfigInitialized && !initialPromptSubmitted.current && !isAuthenticating && !isAuthDialogOpen && !isThemeDialogOpen && !isEditorDialogOpen && !showWelcomeBackDialog && !isVisionSwitchDialogOpen && welcomeBackChoice !== "restart" && OSAClient2?.isInitialized?.()) {
|
|
361218
361459
|
handleFinalSubmit(initialPrompt);
|
|
361219
361460
|
initialPromptSubmitted.current = true;
|
|
@@ -361231,9 +361472,9 @@ ${queuedText}` : queuedText;
|
|
|
361231
361472
|
welcomeBackChoice,
|
|
361232
361473
|
OSAClient2
|
|
361233
361474
|
]);
|
|
361234
|
-
const [idePromptAnswered, setIdePromptAnswered] = (0,
|
|
361235
|
-
const [currentIDE, setCurrentIDE] = (0,
|
|
361236
|
-
(0,
|
|
361475
|
+
const [idePromptAnswered, setIdePromptAnswered] = (0, import_react136.useState)(false);
|
|
361476
|
+
const [currentIDE, setCurrentIDE] = (0, import_react136.useState)(null);
|
|
361477
|
+
(0, import_react136.useEffect)(() => {
|
|
361237
361478
|
const getIde = /* @__PURE__ */ __name(async () => {
|
|
361238
361479
|
const ideClient = await IdeClient.getInstance();
|
|
361239
361480
|
const currentIde = ideClient.getCurrentIde();
|
|
@@ -361244,28 +361485,28 @@ ${queuedText}` : queuedText;
|
|
|
361244
361485
|
const shouldShowIdePrompt = Boolean(
|
|
361245
361486
|
currentIDE && !config.getIdeMode() && !settings.merged.ide?.hasSeenNudge && !idePromptAnswered
|
|
361246
361487
|
);
|
|
361247
|
-
const [showErrorDetails, setShowErrorDetails] = (0,
|
|
361248
|
-
const [showToolDescriptions, setShowToolDescriptions] = (0,
|
|
361249
|
-
const [ctrlCPressedOnce, setCtrlCPressedOnce] = (0,
|
|
361250
|
-
const ctrlCTimerRef = (0,
|
|
361251
|
-
const [ctrlDPressedOnce, setCtrlDPressedOnce] = (0,
|
|
361252
|
-
const ctrlDTimerRef = (0,
|
|
361253
|
-
const [constrainHeight, setConstrainHeight] = (0,
|
|
361254
|
-
const [ideContextState, setIdeContextState] = (0,
|
|
361255
|
-
const [showEscapePrompt, setShowEscapePrompt] = (0,
|
|
361256
|
-
const [showIdeRestartPrompt, setShowIdeRestartPrompt] = (0,
|
|
361488
|
+
const [showErrorDetails, setShowErrorDetails] = (0, import_react136.useState)(false);
|
|
361489
|
+
const [showToolDescriptions, setShowToolDescriptions] = (0, import_react136.useState)(false);
|
|
361490
|
+
const [ctrlCPressedOnce, setCtrlCPressedOnce] = (0, import_react136.useState)(false);
|
|
361491
|
+
const ctrlCTimerRef = (0, import_react136.useRef)(null);
|
|
361492
|
+
const [ctrlDPressedOnce, setCtrlDPressedOnce] = (0, import_react136.useState)(false);
|
|
361493
|
+
const ctrlDTimerRef = (0, import_react136.useRef)(null);
|
|
361494
|
+
const [constrainHeight, setConstrainHeight] = (0, import_react136.useState)(true);
|
|
361495
|
+
const [ideContextState, setIdeContextState] = (0, import_react136.useState)();
|
|
361496
|
+
const [showEscapePrompt, setShowEscapePrompt] = (0, import_react136.useState)(false);
|
|
361497
|
+
const [showIdeRestartPrompt, setShowIdeRestartPrompt] = (0, import_react136.useState)(false);
|
|
361257
361498
|
const { isFolderTrustDialogOpen, handleFolderTrustSelect, isRestarting } = useFolderTrust(settings, setIsTrustedFolder);
|
|
361258
361499
|
const {
|
|
361259
361500
|
needsRestart: ideNeedsRestart,
|
|
361260
361501
|
restartReason: ideTrustRestartReason
|
|
361261
361502
|
} = useIdeTrustListener();
|
|
361262
|
-
const isInitialMount = (0,
|
|
361263
|
-
(0,
|
|
361503
|
+
const isInitialMount = (0, import_react136.useRef)(true);
|
|
361504
|
+
(0, import_react136.useEffect)(() => {
|
|
361264
361505
|
if (ideNeedsRestart) {
|
|
361265
361506
|
setShowIdeRestartPrompt(true);
|
|
361266
361507
|
}
|
|
361267
361508
|
}, [ideNeedsRestart]);
|
|
361268
|
-
(0,
|
|
361509
|
+
(0, import_react136.useEffect)(() => {
|
|
361269
361510
|
if (isInitialMount.current) {
|
|
361270
361511
|
isInitialMount.current = false;
|
|
361271
361512
|
return;
|
|
@@ -361277,12 +361518,12 @@ ${queuedText}` : queuedText;
|
|
|
361277
361518
|
clearTimeout(handler);
|
|
361278
361519
|
};
|
|
361279
361520
|
}, [terminalWidth, refreshStatic]);
|
|
361280
|
-
(0,
|
|
361521
|
+
(0, import_react136.useEffect)(() => {
|
|
361281
361522
|
const unsubscribe = ideContextStore.subscribe(setIdeContextState);
|
|
361282
361523
|
setIdeContextState(ideContextStore.get());
|
|
361283
361524
|
return unsubscribe;
|
|
361284
361525
|
}, []);
|
|
361285
|
-
(0,
|
|
361526
|
+
(0, import_react136.useEffect)(() => {
|
|
361286
361527
|
const openDebugConsole = /* @__PURE__ */ __name(() => {
|
|
361287
361528
|
setShowErrorDetails(true);
|
|
361288
361529
|
setConstrainHeight(false);
|
|
@@ -361301,10 +361542,10 @@ ${queuedText}` : queuedText;
|
|
|
361301
361542
|
appEvents.off("log-error" /* LogError */, logErrorHandler);
|
|
361302
361543
|
};
|
|
361303
361544
|
}, [handleNewMessage]);
|
|
361304
|
-
const handleEscapePromptChange = (0,
|
|
361545
|
+
const handleEscapePromptChange = (0, import_react136.useCallback)((showPrompt) => {
|
|
361305
361546
|
setShowEscapePrompt(showPrompt);
|
|
361306
361547
|
}, []);
|
|
361307
|
-
const handleIdePromptComplete = (0,
|
|
361548
|
+
const handleIdePromptComplete = (0, import_react136.useCallback)(
|
|
361308
361549
|
(result) => {
|
|
361309
361550
|
if (result.userSelection === "yes") {
|
|
361310
361551
|
handleSlashCommand2("/ide install");
|
|
@@ -361342,7 +361583,7 @@ ${queuedText}` : queuedText;
|
|
|
361342
361583
|
handleWelcomeBackClose,
|
|
361343
361584
|
quitConfirmationRequest
|
|
361344
361585
|
});
|
|
361345
|
-
const handleExit = (0,
|
|
361586
|
+
const handleExit = (0, import_react136.useCallback)(
|
|
361346
361587
|
(pressedOnce, setPressedOnce, timerRef) => {
|
|
361347
361588
|
if (pressedOnce) {
|
|
361348
361589
|
if (timerRef.current) {
|
|
@@ -361385,7 +361626,7 @@ ${queuedText}` : queuedText;
|
|
|
361385
361626
|
buffer
|
|
361386
361627
|
]
|
|
361387
361628
|
);
|
|
361388
|
-
const handleGlobalKeypress = (0,
|
|
361629
|
+
const handleGlobalKeypress = (0, import_react136.useCallback)(
|
|
361389
361630
|
(key) => {
|
|
361390
361631
|
if (settings.merged.general?.debugKeystrokeLogging) {
|
|
361391
361632
|
console.log("[DEBUG] Keystroke:", JSON.stringify(key));
|
|
@@ -361458,7 +361699,7 @@ ${queuedText}` : queuedText;
|
|
|
361458
361699
|
]
|
|
361459
361700
|
);
|
|
361460
361701
|
useKeypress(handleGlobalKeypress, { isActive: true });
|
|
361461
|
-
(0,
|
|
361702
|
+
(0, import_react136.useEffect)(() => {
|
|
361462
361703
|
if (!settings.merged.ui?.showStatusInTitle || settings.merged.ui?.hideWindowTitle)
|
|
361463
361704
|
return;
|
|
361464
361705
|
let title;
|
|
@@ -361480,23 +361721,23 @@ ${queuedText}` : queuedText;
|
|
|
361480
361721
|
settings.merged.ui?.hideWindowTitle,
|
|
361481
361722
|
stdout
|
|
361482
361723
|
]);
|
|
361483
|
-
const filteredConsoleMessages = (0,
|
|
361724
|
+
const filteredConsoleMessages = (0, import_react136.useMemo)(() => {
|
|
361484
361725
|
if (config.getDebugMode()) {
|
|
361485
361726
|
return consoleMessages;
|
|
361486
361727
|
}
|
|
361487
361728
|
return consoleMessages.filter((msg) => msg.type !== "debug");
|
|
361488
361729
|
}, [consoleMessages, config]);
|
|
361489
|
-
const errorCount = (0,
|
|
361730
|
+
const errorCount = (0, import_react136.useMemo)(
|
|
361490
361731
|
() => filteredConsoleMessages.filter((msg) => msg.type === "error").reduce((total, msg) => total + msg.count, 0),
|
|
361491
361732
|
[filteredConsoleMessages]
|
|
361492
361733
|
);
|
|
361493
361734
|
const nightly = props.version.includes("nightly");
|
|
361494
361735
|
const dialogsVisible = showWelcomeBackDialog || showWorkspaceMigrationDialog || shouldShowIdePrompt || isFolderTrustDialogOpen || !!shellConfirmationRequest || !!confirmationRequest || confirmUpdateExtensionRequests.length > 0 || !!loopDetectionConfirmationRequest || !!quitConfirmationRequest || isThemeDialogOpen || isSettingsDialogOpen || isModelDialogOpen || isVisionSwitchDialogOpen || isPermissionsDialogOpen || isAuthDialogOpen || isAuthenticating || isEditorDialogOpen || showIdeRestartPrompt || !!proQuotaRequest || isSubagentCreateDialogOpen || isAgentsManagerDialogOpen || isApprovalModeDialogOpen;
|
|
361495
|
-
const pendingHistoryItems = (0,
|
|
361736
|
+
const pendingHistoryItems = (0, import_react136.useMemo)(
|
|
361496
361737
|
() => [...pendingSlashCommandHistoryItems, ...pendingOSAHistoryItems],
|
|
361497
361738
|
[pendingSlashCommandHistoryItems, pendingOSAHistoryItems]
|
|
361498
361739
|
);
|
|
361499
|
-
const uiState = (0,
|
|
361740
|
+
const uiState = (0, import_react136.useMemo)(
|
|
361500
361741
|
() => ({
|
|
361501
361742
|
history: historyManager.history,
|
|
361502
361743
|
historyManager,
|
|
@@ -361687,7 +361928,7 @@ ${queuedText}` : queuedText;
|
|
|
361687
361928
|
isAgentsManagerDialogOpen
|
|
361688
361929
|
]
|
|
361689
361930
|
);
|
|
361690
|
-
const uiActions = (0,
|
|
361931
|
+
const uiActions = (0, import_react136.useMemo)(
|
|
361691
361932
|
() => ({
|
|
361692
361933
|
handleThemeSelect,
|
|
361693
361934
|
handleThemeHighlight,
|
|
@@ -361769,9 +362010,9 @@ ${queuedText}` : queuedText;
|
|
|
361769
362010
|
|
|
361770
362011
|
// packages/cli/src/ui/hooks/useKittyKeyboardProtocol.ts
|
|
361771
362012
|
init_esbuild_shims();
|
|
361772
|
-
var
|
|
362013
|
+
var import_react137 = __toESM(require_react(), 1);
|
|
361773
362014
|
function useKittyKeyboardProtocol() {
|
|
361774
|
-
const [status] = (0,
|
|
362015
|
+
const [status] = (0, import_react137.useState)({
|
|
361775
362016
|
supported: isKittyProtocolSupported(),
|
|
361776
362017
|
enabled: isKittyProtocolEnabled(),
|
|
361777
362018
|
checking: false
|
|
@@ -364513,7 +364754,7 @@ async function startInteractiveUI(config, settings, startupWarnings, workspaceRo
|
|
|
364513
364754
|
) });
|
|
364514
364755
|
}, "AppWrapper");
|
|
364515
364756
|
const instance = render_default(
|
|
364516
|
-
process.env["DEBUG"] ? /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
364757
|
+
process.env["DEBUG"] ? /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_react138.default.StrictMode, { children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(AppWrapper, {}) }) : /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(AppWrapper, {}),
|
|
364517
364758
|
{
|
|
364518
364759
|
exitOnCtrlC: false,
|
|
364519
364760
|
isScreenReaderEnabled: config.getScreenReader()
|