vite-plugin-react-server 1.4.0 → 1.4.1

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/README.md CHANGED
@@ -16,7 +16,7 @@ A Vite plugin that enables React Server Components (RSC) streaming and static HT
16
16
  ## Quick Start
17
17
 
18
18
  ```sh
19
- npm install -D vite-plugin-react-server react@experimental react-dom@experimental
19
+ npm install -D vite-plugin-react-server react@19 react-dom@19
20
20
  ```
21
21
 
22
22
  **Minimal Config:**
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-react-server",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "Vite plugin for React Server Components (RSC)",
5
5
  "type": "module",
6
6
  "main": "./dist/plugin/index.js",
@@ -82,4 +82,4 @@ const configureReactServer = function _createReactWorkerServer({
82
82
  };
83
83
 
84
84
  export { configureReactServer };
85
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUmVhY3RTZXJ2ZXIuY2xpZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vZGV2LXNlcnZlci9jb25maWd1cmVSZWFjdFNlcnZlci5jbGllbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlndXJlUmVxdWVzdEhhbmRsZXIgfSBmcm9tIFwiLi9jb25maWd1cmVSZXF1ZXN0SGFuZGxlci5jbGllbnQuanNcIjtcbmltcG9ydCB7IE1lc3NhZ2VDaGFubmVsIH0gZnJvbSBcIm5vZGU6d29ya2VyX3RocmVhZHNcIjtcbmltcG9ydCB0eXBlIHsgQ3JlYXRlUmVhY3RXb3JrZXJTZXJ2ZXJGbiB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyBzZXRNYXhMaXN0ZW5lcnNPblBvcnQsIHVucmVmUG9ydCB9IGZyb20gXCIuLi9zdHJlYW0vc2V0TWF4TGlzdGVuZXJzLmpzXCI7XG5cblxuLyoqXG4gKiBDcmVhdGVzIGEgUmVhY3QgV29ya2VyIFNlcnZlciB0aGF0IGNvbmZpZ3VyZXMgd29ya2VyLWJhc2VkIHJlbmRlcmluZ1xuICogU2V0cyB1cCBtaWRkbGV3YXJlLCBITVIsIGFuZCB3b3JrZXIgbWFuYWdlbWVudCBsaWtlIHJlYWN0LWNsaWVudC9wbHVnaW4uY2xpZW50LnRzXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWd1cmVSZWFjdFNlcnZlcjogQ3JlYXRlUmVhY3RXb3JrZXJTZXJ2ZXJGbiA9XG4gIGZ1bmN0aW9uIF9jcmVhdGVSZWFjdFdvcmtlclNlcnZlcih7XG4gICAgc2VydmVyLFxuICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXMsXG4gICAgdXNlck9wdGlvbnMsXG4gICAgY29uZmlnRW52LFxuICAgIGhtckNoYW5uZWwsXG4gICAgb25Xb3JrZXJDcmVhdGVkLFxuICAgIHNlcnZlck1hbmlmZXN0LFxuICAgIHJlc29sdmVkQ29uZmlnLFxuICB9KSB7XG4gICAgY29uc3QgbG9nZ2VyID0gc2VydmVyLmNvbmZpZy5jdXN0b21Mb2dnZXIgfHwgc2VydmVyLmNvbmZpZy5sb2dnZXI7XG4gICAgY29uc3QgdmVyYm9zZSA9IHVzZXJPcHRpb25zLnZlcmJvc2UgfHwgZmFsc2U7XG5cbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyPy5pbmZvKFxuICAgICAgICBgW2NyZWF0ZVJlYWN0V29ya2VyU2VydmVyXSBDb25maWd1cmluZyB3b3JrZXItYmFzZWQgcmVuZGVyaW5nYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgdXAgcmVzdGFydCBsaXN0ZW5lciBmb3Igd29ya2VyIGNsZWFudXBcbiAgICBzZXJ2ZXIud3Mub24oXCJyZXN0YXJ0XCIsIGFzeW5jICgpID0+IHtcbiAgICAgIGxvZ2dlcj8uaW5mbyhcbiAgICAgICAgXCJbY3JlYXRlUmVhY3RXb3JrZXJTZXJ2ZXJdIFNlcnZlciByZXN0YXJ0aW5nLCBzaHV0dGluZyBkb3duIHdvcmtlci4uLlwiXG4gICAgICApO1xuICAgICAgLy8gV29ya2VyIGNsZWFudXAgd291bGQgYmUgaGFuZGxlZCBieSB0aGUgd29ya2VyIG1hbmFnZW1lbnRcbiAgICB9KTtcblxuICAgIGxldCByZXN0YXJ0Rm46ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBjdXJyZW50V29ya2VyOiBhbnkgPSBudWxsO1xuXG4gICAgLy8gQ29uZmlndXJlIHRoZSB3b3JrZXIgcmVxdWVzdCBoYW5kbGVyIChzZXRzIHVwIG1pZGRsZXdhcmUpXG4gICAgY29uc3QgZWZmZWN0aXZlSG1yQ2hhbm5lbCA9ICgoKSA9PiB7XG4gICAgICBjb25zdCBjaGFubmVsID0gaG1yQ2hhbm5lbCB8fCBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgIC8vIEluY3JlYXNlIG1heCBsaXN0ZW5lcnMgdG8gcHJldmVudCB3YXJuaW5ncyBkdXJpbmcgZGV2ZWxvcG1lbnRcbiAgICAgIC8vIFRoaXMgaXMgYSB0YXJnZXRlZCBmaXggZm9yIHRoZSBtZW1vcnkgbGVhayB3YXJuaW5nc1xuICAgICAgLy8gV2UgbmVlZCB0byBzZXQgdGhpcyBvbiBCT1RIIHBvcnRzIGJlY2F1c2UgbGlzdGVuZXJzIGNhbiBiZSBhZGRlZCB0byBlaXRoZXIgc2lkZVxuICAgICAgLy8gVXNlIGEgaGlnaCBkZWZhdWx0ICg1MDApIHRvIGFjY29tbW9kYXRlIGxhcmdlIHByb2plY3RzIHdpdGggbWFueSByb3V0ZXNcbiAgICAgIC8vIHJlc3RhcnRXb3JrZXIgd2lsbCBhZGp1c3QgdGhpcyBiYXNlZCBvbiBhY3R1YWwgcm91dGUgY291bnRcbiAgICAgIGNvbnN0IGluaXRpYWxNYXhMaXN0ZW5lcnMgPSA1MDA7XG4gICAgICBzZXRNYXhMaXN0ZW5lcnNPblBvcnQoY2hhbm5lbC5wb3J0MSwgaW5pdGlhbE1heExpc3RlbmVycyk7XG4gICAgICBzZXRNYXhMaXN0ZW5lcnNPblBvcnQoY2hhbm5lbC5wb3J0MiwgaW5pdGlhbE1heExpc3RlbmVycyk7XG4gICAgICB1bnJlZlBvcnQoY2hhbm5lbC5wb3J0MSk7XG4gICAgICB1bnJlZlBvcnQoY2hhbm5lbC5wb3J0Mik7XG4gICAgICByZXR1cm4gY2hhbm5lbDtcbiAgICB9KSgpO1xuXG4gICAgY29uZmlndXJlUmVxdWVzdEhhbmRsZXIoe1xuICAgICAgc2VydmVyLFxuICAgICAgYXV0b0Rpc2NvdmVyZWRGaWxlcyxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgICAgY29uZmlnRW52LFxuICAgICAgaG1yQ2hhbm5lbDogZWZmZWN0aXZlSG1yQ2hhbm5lbCxcbiAgICAgIHNlcnZlck1hbmlmZXN0LFxuICAgICAgcmVzb2x2ZWRDb25maWcsXG4gICAgICBvbldvcmtlckNyZWF0ZWQ6ICh3b3JrZXI6IGFueSwgcmVzdGFydD86ICgpID0+IFByb21pc2U8dm9pZD4pID0+IHtcbiAgICAgICAgY3VycmVudFdvcmtlciA9IHdvcmtlcjtcbiAgICAgICAgaWYgKHJlc3RhcnQpIHtcbiAgICAgICAgICByZXN0YXJ0Rm4gPSByZXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvbldvcmtlckNyZWF0ZWQpIHtcbiAgICAgICAgICBvbldvcmtlckNyZWF0ZWQod29ya2VyLCByZXN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgICBcbiAgICAvLyBSZXR1cm4gb2JqZWN0IHdpdGggcmVzdGFydCBmdW5jdGlvbiBhbmQgSE1SIHVwZGF0ZSBzZW5kZXIgZm9yIGhhbmRsZUhvdFVwZGF0ZVxuICAgIHJldHVybiB7XG4gICAgICByZXN0YXJ0OiByZXN0YXJ0Rm4sXG4gICAgICBzZW5kSG1yVXBkYXRlOiAoZmlsZTogc3RyaW5nLCByb3V0ZXM/OiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICBpZiAoY3VycmVudFdvcmtlcikge1xuICAgICAgICAgIC8vIENSSVRJQ0FMOiBJbiBkZXZlbG9wbWVudCBtb2RlLCBITVIgcG9ydCBpcyBkaXNhYmxlZCwgc28gc2VuZCBkaXJlY3RseSB0byB3b3JrZXJcbiAgICAgICAgICAvLyBTZW5kIEhNUl9VUERBVEUgbWVzc2FnZSB0byB3b3JrZXIgdGhyb3VnaCBwYXJlbnRQb3J0IChwb3N0TWVzc2FnZSlcbiAgICAgICAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IGZpbGUucmVwbGFjZSh1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3QsICcnKS5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgICAgICBjdXJyZW50V29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgIHR5cGU6IFwiSE1SX1VQREFURVwiLFxuICAgICAgICAgICAgaWQ6IG5vcm1hbGl6ZWRQYXRoLFxuICAgICAgICAgICAgcGF0aDogZmlsZSxcbiAgICAgICAgICAgIHJvdXRlczogcm91dGVzIHx8IFtdLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICAgICAgICAgIH0gc2F0aXNmaWVzIGFueSk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gTWFyayB0aGF0IG1vZHVsZXMgaGF2ZSBiZWVuIGludmFsaWRhdGVkIC0gd29ya2VyIHdpbGwgYmUgcmVzdGFydGVkIG9uIG5leHQgcmVxdWVzdFxuICAgICAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgTm9kZS5qcyBjYWNoZXMgRVMgbW9kdWxlcyBhbmQgdGhlIG9ubHkgd2F5IHRvIGNsZWFyXG4gICAgICAgICAgLy8gdGhhdCBjYWNoZSBpcyB0byByZXN0YXJ0IHRoZSB3b3JrZXJcbiAgICAgICAgICAvLyBVc2UgZHluYW1pYyBpbXBvcnQgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeVxuICAgICAgICAgIGltcG9ydChcIi4vY29uZmlndXJlUmVxdWVzdEhhbmRsZXIuY2xpZW50LmpzXCIpLnRoZW4oKHsgbWFya01vZHVsZXNJbnZhbGlkYXRlZCB9KSA9PiB7XG4gICAgICAgICAgICBtYXJrTW9kdWxlc0ludmFsaWRhdGVkKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgXG4gICAgICAgICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgICAgICAgIGxvZ2dlcj8uaW5mbyhgW2NyZWF0ZVJlYWN0V29ya2VyU2VydmVyXSBTZW50IEhNUl9VUERBVEUgZm9yICR7ZmlsZX0gdG8gd29ya2VyLCBtYXJrZWQgZm9yIHJlc3RhcnRgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgfTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFVYSxNQUFBLG9CQUFBLEdBQ1gsU0FBUyx3QkFBeUIsQ0FBQTtBQUFBLEVBQ2hDLE1BQUE7QUFBQSxFQUNBLG1CQUFBO0FBQUEsRUFDQSxXQUFBO0FBQUEsRUFDQSxTQUFBO0FBQUEsRUFDQSxVQUFBO0FBQUEsRUFDQSxlQUFBO0FBQUEsRUFDQSxjQUFBO0FBQUEsRUFDQTtBQUNGLENBQUcsRUFBQTtBQUNELEVBQUEsTUFBTSxNQUFTLEdBQUEsTUFBQSxDQUFPLE1BQU8sQ0FBQSxZQUFBLElBQWdCLE9BQU8sTUFBTyxDQUFBLE1BQUE7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
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUmVhY3RTZXJ2ZXIuY2xpZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vZGV2LXNlcnZlci9jb25maWd1cmVSZWFjdFNlcnZlci5jbGllbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlndXJlUmVxdWVzdEhhbmRsZXIgfSBmcm9tIFwiLi9jb25maWd1cmVSZXF1ZXN0SGFuZGxlci5jbGllbnQuanNcIjtcbmltcG9ydCB7IE1lc3NhZ2VDaGFubmVsIH0gZnJvbSBcIm5vZGU6d29ya2VyX3RocmVhZHNcIjtcbmltcG9ydCB0eXBlIHsgQ3JlYXRlUmVhY3RXb3JrZXJTZXJ2ZXJGbiB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyBzZXRNYXhMaXN0ZW5lcnNPblBvcnQsIHVucmVmUG9ydCB9IGZyb20gXCIuLi9zdHJlYW0vc2V0TWF4TGlzdGVuZXJzLmpzXCI7XG5cblxuLyoqXG4gKiBDcmVhdGVzIGEgUmVhY3QgV29ya2VyIFNlcnZlciB0aGF0IGNvbmZpZ3VyZXMgd29ya2VyLWJhc2VkIHJlbmRlcmluZ1xuICogU2V0cyB1cCBtaWRkbGV3YXJlLCBITVIsIGFuZCB3b3JrZXIgbWFuYWdlbWVudCBsaWtlIHJlYWN0LWNsaWVudC9wbHVnaW4uY2xpZW50LnRzXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWd1cmVSZWFjdFNlcnZlcjogQ3JlYXRlUmVhY3RXb3JrZXJTZXJ2ZXJGbiA9XG4gIGZ1bmN0aW9uIF9jcmVhdGVSZWFjdFdvcmtlclNlcnZlcih7XG4gICAgc2VydmVyLFxuICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXMsXG4gICAgdXNlck9wdGlvbnMsXG4gICAgY29uZmlnRW52LFxuICAgIGhtckNoYW5uZWwsXG4gICAgb25Xb3JrZXJDcmVhdGVkLFxuICAgIHNlcnZlck1hbmlmZXN0LFxuICAgIHJlc29sdmVkQ29uZmlnLFxuICB9KSB7XG4gICAgY29uc3QgbG9nZ2VyID0gc2VydmVyLmNvbmZpZy5jdXN0b21Mb2dnZXIgfHwgc2VydmVyLmNvbmZpZy5sb2dnZXI7XG4gICAgY29uc3QgdmVyYm9zZSA9IHVzZXJPcHRpb25zLnZlcmJvc2UgfHwgZmFsc2U7XG5cbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyPy5pbmZvKFxuICAgICAgICBgW2NyZWF0ZVJlYWN0V29ya2VyU2VydmVyXSBDb25maWd1cmluZyB3b3JrZXItYmFzZWQgcmVuZGVyaW5nYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgdXAgcmVzdGFydCBsaXN0ZW5lciBmb3Igd29ya2VyIGNsZWFudXBcbiAgICBzZXJ2ZXIud3Mub24oXCJyZXN0YXJ0XCIsIGFzeW5jICgpID0+IHtcbiAgICAgIGxvZ2dlcj8uaW5mbyhcbiAgICAgICAgXCJbY3JlYXRlUmVhY3RXb3JrZXJTZXJ2ZXJdIFNlcnZlciByZXN0YXJ0aW5nLCBzaHV0dGluZyBkb3duIHdvcmtlci4uLlwiXG4gICAgICApO1xuICAgICAgLy8gV29ya2VyIGNsZWFudXAgd291bGQgYmUgaGFuZGxlZCBieSB0aGUgd29ya2VyIG1hbmFnZW1lbnRcbiAgICB9KTtcblxuICAgIGxldCByZXN0YXJ0Rm46ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBjdXJyZW50V29ya2VyOiBhbnkgPSBudWxsO1xuXG4gICAgLy8gQ29uZmlndXJlIHRoZSB3b3JrZXIgcmVxdWVzdCBoYW5kbGVyIChzZXRzIHVwIG1pZGRsZXdhcmUpXG4gICAgY29uc3QgZWZmZWN0aXZlSG1yQ2hhbm5lbCA9ICgoKSA9PiB7XG4gICAgICBjb25zdCBjaGFubmVsID0gaG1yQ2hhbm5lbCB8fCBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgIC8vIEluY3JlYXNlIG1heCBsaXN0ZW5lcnMgdG8gcHJldmVudCB3YXJuaW5ncyBkdXJpbmcgZGV2ZWxvcG1lbnRcbiAgICAgIC8vIFRoaXMgaXMgYSB0YXJnZXRlZCBmaXggZm9yIHRoZSBtZW1vcnkgbGVhayB3YXJuaW5nc1xuICAgICAgLy8gV2UgbmVlZCB0byBzZXQgdGhpcyBvbiBCT1RIIHBvcnRzIGJlY2F1c2UgbGlzdGVuZXJzIGNhbiBiZSBhZGRlZCB0byBlaXRoZXIgc2lkZVxuICAgICAgLy8gVXNlIGEgaGlnaCBkZWZhdWx0ICg1MDApIHRvIGFjY29tbW9kYXRlIGxhcmdlIHByb2plY3RzIHdpdGggbWFueSByb3V0ZXNcbiAgICAgIC8vIHJlc3RhcnRXb3JrZXIgd2lsbCBhZGp1c3QgdGhpcyBiYXNlZCBvbiBhY3R1YWwgcm91dGUgY291bnRcbiAgICAgIGNvbnN0IGluaXRpYWxNYXhMaXN0ZW5lcnMgPSA1MDA7XG4gICAgICBzZXRNYXhMaXN0ZW5lcnNPblBvcnQoY2hhbm5lbC5wb3J0MSwgaW5pdGlhbE1heExpc3RlbmVycyk7XG4gICAgICBzZXRNYXhMaXN0ZW5lcnNPblBvcnQoY2hhbm5lbC5wb3J0MiwgaW5pdGlhbE1heExpc3RlbmVycyk7XG4gICAgICB1bnJlZlBvcnQoY2hhbm5lbC5wb3J0MSk7XG4gICAgICB1bnJlZlBvcnQoY2hhbm5lbC5wb3J0Mik7XG4gICAgICByZXR1cm4gY2hhbm5lbDtcbiAgICB9KSgpO1xuXG4gICAgY29uZmlndXJlUmVxdWVzdEhhbmRsZXIoe1xuICAgICAgc2VydmVyLFxuICAgICAgYXV0b0Rpc2NvdmVyZWRGaWxlcyxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgICAgY29uZmlnRW52LFxuICAgICAgaG1yQ2hhbm5lbDogZWZmZWN0aXZlSG1yQ2hhbm5lbCxcbiAgICAgIHNlcnZlck1hbmlmZXN0LFxuICAgICAgcmVzb2x2ZWRDb25maWcsXG4gICAgICBvbldvcmtlckNyZWF0ZWQ6ICh3b3JrZXI6IGFueSwgcmVzdGFydD86ICgpID0+IFByb21pc2U8dm9pZD4pID0+IHtcbiAgICAgICAgY3VycmVudFdvcmtlciA9IHdvcmtlcjtcbiAgICAgICAgaWYgKHJlc3RhcnQpIHtcbiAgICAgICAgICByZXN0YXJ0Rm4gPSByZXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvbldvcmtlckNyZWF0ZWQpIHtcbiAgICAgICAgICBvbldvcmtlckNyZWF0ZWQod29ya2VyLCByZXN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgICBcbiAgICAvLyBSZXR1cm4gb2JqZWN0IHdpdGggcmVzdGFydCBmdW5jdGlvbiBhbmQgSE1SIHVwZGF0ZSBzZW5kZXIgZm9yIGhvdFVwZGF0ZVxuICAgIHJldHVybiB7XG4gICAgICByZXN0YXJ0OiByZXN0YXJ0Rm4sXG4gICAgICBzZW5kSG1yVXBkYXRlOiAoZmlsZTogc3RyaW5nLCByb3V0ZXM/OiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICBpZiAoY3VycmVudFdvcmtlcikge1xuICAgICAgICAgIC8vIENSSVRJQ0FMOiBJbiBkZXZlbG9wbWVudCBtb2RlLCBITVIgcG9ydCBpcyBkaXNhYmxlZCwgc28gc2VuZCBkaXJlY3RseSB0byB3b3JrZXJcbiAgICAgICAgICAvLyBTZW5kIEhNUl9VUERBVEUgbWVzc2FnZSB0byB3b3JrZXIgdGhyb3VnaCBwYXJlbnRQb3J0IChwb3N0TWVzc2FnZSlcbiAgICAgICAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IGZpbGUucmVwbGFjZSh1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3QsICcnKS5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgICAgICBjdXJyZW50V29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgIHR5cGU6IFwiSE1SX1VQREFURVwiLFxuICAgICAgICAgICAgaWQ6IG5vcm1hbGl6ZWRQYXRoLFxuICAgICAgICAgICAgcGF0aDogZmlsZSxcbiAgICAgICAgICAgIHJvdXRlczogcm91dGVzIHx8IFtdLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICAgICAgICAgIH0gc2F0aXNmaWVzIGFueSk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gTWFyayB0aGF0IG1vZHVsZXMgaGF2ZSBiZWVuIGludmFsaWRhdGVkIC0gd29ya2VyIHdpbGwgYmUgcmVzdGFydGVkIG9uIG5leHQgcmVxdWVzdFxuICAgICAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgTm9kZS5qcyBjYWNoZXMgRVMgbW9kdWxlcyBhbmQgdGhlIG9ubHkgd2F5IHRvIGNsZWFyXG4gICAgICAgICAgLy8gdGhhdCBjYWNoZSBpcyB0byByZXN0YXJ0IHRoZSB3b3JrZXJcbiAgICAgICAgICAvLyBVc2UgZHluYW1pYyBpbXBvcnQgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeVxuICAgICAgICAgIGltcG9ydChcIi4vY29uZmlndXJlUmVxdWVzdEhhbmRsZXIuY2xpZW50LmpzXCIpLnRoZW4oKHsgbWFya01vZHVsZXNJbnZhbGlkYXRlZCB9KSA9PiB7XG4gICAgICAgICAgICBtYXJrTW9kdWxlc0ludmFsaWRhdGVkKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgXG4gICAgICAgICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgICAgICAgIGxvZ2dlcj8uaW5mbyhgW2NyZWF0ZVJlYWN0V29ya2VyU2VydmVyXSBTZW50IEhNUl9VUERBVEUgZm9yICR7ZmlsZX0gdG8gd29ya2VyLCBtYXJrZWQgZm9yIHJlc3RhcnRgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgfTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFVYSxNQUFBLG9CQUFBLEdBQ1gsU0FBUyx3QkFBeUIsQ0FBQTtBQUFBLEVBQ2hDLE1BQUE7QUFBQSxFQUNBLG1CQUFBO0FBQUEsRUFDQSxXQUFBO0FBQUEsRUFDQSxTQUFBO0FBQUEsRUFDQSxVQUFBO0FBQUEsRUFDQSxlQUFBO0FBQUEsRUFDQSxjQUFBO0FBQUEsRUFDQTtBQUNGLENBQUcsRUFBQTtBQUNELEVBQUEsTUFBTSxNQUFTLEdBQUEsTUFBQSxDQUFPLE1BQU8sQ0FBQSxZQUFBLElBQWdCLE9BQU8sTUFBTyxDQUFBLE1BQUE7QUFDM0Qs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
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.client.d.ts","sourceRoot":"","sources":["../../../plugin/dev-server/plugin.client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,YA+JtC,CAAC"}
1
+ {"version":3,"file":"plugin.client.d.ts","sourceRoot":"","sources":["../../../plugin/dev-server/plugin.client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,YAuJtC,CAAC"}
@@ -28,8 +28,7 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevClient(option
28
28
  name: "vite-plugin-react-server:dev-server-client",
29
29
  apply: "serve",
30
30
  // Only apply in dev server mode
31
- // Note: Removed applyToEnvironment - handleHotUpdate needs to run regardless
32
- // The plugin should apply to client environment, but handleHotUpdate is a dev server hook
31
+ // No applyToEnvironment hotUpdate needs to run for all environments
33
32
  // that should work regardless of environment filtering
34
33
  config(_config, viteConfigEnv) {
35
34
  configEnv = viteConfigEnv;
@@ -61,7 +60,10 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevClient(option
61
60
  resolvedConfig: server.config
62
61
  });
63
62
  },
64
- handleHotUpdate({ file, server }) {
63
+ hotUpdate(ctx) {
64
+ const { file, server } = ctx;
65
+ const envName = ctx.environment?.name ?? "unknown";
66
+ if (envName !== "client") return;
65
67
  if (isProcessingHmr) {
66
68
  return void 0;
67
69
  }
@@ -78,20 +80,11 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevClient(option
78
80
  }
79
81
  })();
80
82
  const isServerFile = isSourceFile && !isClientFile;
81
- server.config.logger.info(`[vite-plugin-react-server] handleHotUpdate: file=${file}, normalized=${normalizedFile}, isServerFile=${isServerFile}, isClientFile=${isClientFile}, hasHandler=${!!hmrHandler}`);
82
83
  if (isServerFile && hmrHandler) {
83
84
  isProcessingHmr = true;
84
85
  try {
85
86
  server.config.logger.info(`[vite-plugin-react-server] File changed: ${file}, sending HMR update...`);
86
87
  hmrHandler.sendHmrUpdate(file);
87
- server.ws.send({
88
- type: "custom",
89
- event: "vite-plugin-react-server:server-component-update",
90
- data: {
91
- file: normalizedFile,
92
- path: file
93
- }
94
- });
95
88
  if (hmrHandler.restart) {
96
89
  if (restartTimeout) {
97
90
  clearTimeout(restartTimeout);
@@ -123,10 +116,9 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevClient(option
123
116
  } else if (isServerFile && !hmrHandler) {
124
117
  server.config.logger.warn(`[vite-plugin-react-server] Server file changed but HMR handler not available yet: ${file}`);
125
118
  }
126
- return void 0;
127
119
  }
128
120
  };
129
121
  };
130
122
 
131
123
  export { vitePluginReactDevServer };
132
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLmNsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHR5cGUgeyBWaXRlUGx1Z2luRm4gfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuY2xpZW50LmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlnRW52IH0gZnJvbSBcInZpdGVcIjtcblxuXG4vKipcbiAqIERldiBzZXJ2ZXIgcGx1Z2luIGZvciBjbGllbnQgZW52aXJvbm1lbnQuXG4gKiBVc2VzIGNvbmZpZ3VyZVNlcnZlciBob29rIGZvciBwcm9wZXIgZGV2IHNlcnZlciBzZXR1cC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZpdGVQbHVnaW5SZWFjdERldlNlcnZlcjogVml0ZVBsdWdpbkZuID0gZnVuY3Rpb24gX3ZpdGVQbHVnaW5SZWFjdFNlcnZlckRldkNsaWVudChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJvcHRpb25zIGlzIHJlcXVpcmVkXCIpO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICB9XG4gIFxuICBjb25zdCByZXNvbHZlZE9wdGlvbnMgPSByZXNvbHZlT3B0aW9ucyhvcHRpb25zKTtcbiAgaWYgKHJlc29sdmVkT3B0aW9ucy50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICBpZiAocmVzb2x2ZWRPcHRpb25zLmVycm9yICE9IG51bGwpIHtcbiAgICAgIHRocm93IHJlc29sdmVkT3B0aW9ucy5lcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIHJlc29sdmUgb3B0aW9uc1wiKTtcbiAgfVxuICBjb25zdCB1c2VyT3B0aW9ucyA9IHJlc29sdmVkT3B0aW9ucy51c2VyT3B0aW9ucztcbiAgXG5cbiAgbGV0IGNvbmZpZ0VudjogQ29uZmlnRW52IHwgdW5kZWZpbmVkO1xuICBsZXQgaG1ySGFuZGxlcjogeyByZXN0YXJ0OiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsOyBzZW5kSG1yVXBkYXRlOiAoZmlsZTogc3RyaW5nLCByb3V0ZXM/OiBzdHJpbmdbXSkgPT4gdm9pZCB9IHwgbnVsbCA9IG51bGw7XG4gIGxldCBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTsgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgbGV0IHJlc3RhcnRUaW1lb3V0OiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsOyAvLyBEZWJvdW5jZSB3b3JrZXIgcmVzdGFydHNcblxuICByZXR1cm4ge1xuICAgIG5hbWU6IFwidml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOmRldi1zZXJ2ZXItY2xpZW50XCIsXG4gICAgYXBwbHk6IFwic2VydmVcIiwgLy8gT25seSBhcHBseSBpbiBkZXYgc2VydmVyIG1vZGVcbiAgICAvLyBOb3RlOiBSZW1vdmVkIGFwcGx5VG9FbnZpcm9ubWVudCAtIGhhbmRsZUhvdFVwZGF0ZSBuZWVkcyB0byBydW4gcmVnYXJkbGVzc1xuICAgIC8vIFRoZSBwbHVnaW4gc2hvdWxkIGFwcGx5IHRvIGNsaWVudCBlbnZpcm9ubWVudCwgYnV0IGhhbmRsZUhvdFVwZGF0ZSBpcyBhIGRldiBzZXJ2ZXIgaG9va1xuICAgIC8vIHRoYXQgc2hvdWxkIHdvcmsgcmVnYXJkbGVzcyBvZiBlbnZpcm9ubWVudCBmaWx0ZXJpbmdcbiAgICBjb25maWcoX2NvbmZpZywgdml0ZUNvbmZpZ0Vudikge1xuICAgICAgY29uZmlnRW52ID0gdml0ZUNvbmZpZ0VudjtcbiAgXG4gICAgfSxcbiAgICBjb25maWd1cmVTZXJ2ZXIoc2VydmVyKSB7ICAgICAgXG4gICAgICAvLyBMb2cgdGhhdCBwbHVnaW4gaXMgYmVpbmcgY29uZmlndXJlZFxuICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRGV2IHNlcnZlciBwbHVnaW4gY29uZmlndXJlZCBmb3IgY2xpZW50IGVudmlyb25tZW50YCk7XG4gICAgICBcbiAgICAgIC8vIENvbmZpZ3VyZSB0aGUgUmVhY3Qgc2VydmVyIGZvciBjbGllbnQgZW52aXJvbm1lbnQgKHdvcmtlci1iYXNlZClcbiAgICAgIC8vIFRoaXMgdXNlcyB0aGUgZXhpc3RpbmcgY29uZmlndXJlUmVhY3RTZXJ2ZXIuY2xpZW50LmpzIGltcGxlbWVudGF0aW9uXG4gICAgICBobXJIYW5kbGVyID0gY29uZmlndXJlUmVhY3RTZXJ2ZXIoe1xuICAgICAgICBzZXJ2ZXIsXG4gICAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXM6IHtcbiAgICAgICAgICBwcm9wc01hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHBhZ2VNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICByb290TWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgaHRtbE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHJvdXRlTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgdXJsTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICB3b3JrZXJQYXRoczoge30sXG4gICAgICAgICAgc2VydmVyRW50cnk6IG51bGwsXG4gICAgICAgICAgY2xpZW50RW50cnk6IHt9LFxuICAgICAgICAgIGNsaWVudElucHV0czoge30sXG4gICAgICAgICAgc3RhdGljSW5wdXRzOiB7fSxcbiAgICAgICAgICBzZXJ2ZXJJbnB1dHM6IHt9LFxuICAgICAgICAgIC8vIHN0YXRpY01hbmlmZXN0IHJlbW92ZWQgZnJvbSBBdXRvRGlzY292ZXJlZEZpbGVzXG4gICAgICAgICAgc2VydmVyQWN0aW9uczoge30sXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXJPcHRpb25zLFxuICAgICAgICBjb25maWdFbnY6IGNvbmZpZ0VudiEsXG4gICAgICAgIHNlcnZlck1hbmlmZXN0OiB7fSwgXG4gICAgICAgIHJlc29sdmVkQ29uZmlnOiBzZXJ2ZXIuY29uZmlnLFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBoYW5kbGVIb3RVcGRhdGUoeyBmaWxlLCBzZXJ2ZXIgfSkge1xuICAgICAgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgICAgIGlmIChpc1Byb2Nlc3NpbmdIbXIpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gSGFuZGxlIHNlcnZlciBjb21wb25lbnQgZmlsZSBjaGFuZ2VzXG4gICAgICBjb25zdCBtb2R1bGVCYXNlID0gdXNlck9wdGlvbnMubW9kdWxlQmFzZSB8fCBcInNyY1wiO1xuICAgICAgY29uc3QgcHJvamVjdFJvb3QgPSB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3Q7XG4gICAgICBcbiAgICAgIC8vIE5vcm1hbGl6ZSBwYXRocyBmb3IgY29tcGFyaXNvbiAoaGFuZGxlIGJvdGggYWJzb2x1dGUgYW5kIHJlbGF0aXZlKVxuICAgICAgY29uc3Qgbm9ybWFsaXplZEZpbGUgPSBmaWxlLnJlcGxhY2UocHJvamVjdFJvb3QsICcnKS5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgIGNvbnN0IGlzU291cmNlRmlsZSA9IG5vcm1hbGl6ZWRGaWxlLnN0YXJ0c1dpdGgobW9kdWxlQmFzZSArICcvJykgJiYgXG4gICAgICAgIChmaWxlLmVuZHNXaXRoKCcudHN4JykgfHwgZmlsZS5lbmRzV2l0aCgnLnRzJykgfHwgZmlsZS5lbmRzV2l0aCgnLmpzeCcpIHx8IGZpbGUuZW5kc1dpdGgoJy5qcycpKTtcbiAgICAgIFxuICAgICAgLy8gU2tpcCBjbGllbnQgY29tcG9uZW50cyDigJQgbGV0IEB2aXRlanMvcGx1Z2luLXJlYWN0IGhhbmRsZSB0aGVtIHdpdGggRmFzdCBSZWZyZXNoXG4gICAgICBjb25zdCBpc0NsaWVudEZpbGUgPSBpc1NvdXJjZUZpbGUgJiYgKCgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBoZWFkID0gcmVhZEZpbGVTeW5jKGZpbGUsICd1dGYtOCcpLnNsaWNlKDAsIDIwMCk7XG4gICAgICAgICAgcmV0dXJuIC9eXFxzKltcIidddXNlIGNsaWVudFtcIiddLy50ZXN0KGhlYWQuc3BsaXQoJ1xcbicpWzBdKTtcbiAgICAgICAgfSBjYXRjaCB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgfSkoKTtcbiAgICAgIFxuICAgICAgY29uc3QgaXNTZXJ2ZXJGaWxlID0gaXNTb3VyY2VGaWxlICYmICFpc0NsaWVudEZpbGU7XG4gICAgICBcbiAgICAgIC8vIEFsd2F5cyBsb2cgZm9yIGRlYnVnZ2luZ1xuICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gaGFuZGxlSG90VXBkYXRlOiBmaWxlPSR7ZmlsZX0sIG5vcm1hbGl6ZWQ9JHtub3JtYWxpemVkRmlsZX0sIGlzU2VydmVyRmlsZT0ke2lzU2VydmVyRmlsZX0sIGlzQ2xpZW50RmlsZT0ke2lzQ2xpZW50RmlsZX0sIGhhc0hhbmRsZXI9JHshIWhtckhhbmRsZXJ9YCk7XG4gICAgICBcbiAgICAgIGlmIChpc1NlcnZlckZpbGUgJiYgaG1ySGFuZGxlcikge1xuICAgICAgICBpc1Byb2Nlc3NpbmdIbXIgPSB0cnVlO1xuICAgICAgICBcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBGaWxlIGNoYW5nZWQ6ICR7ZmlsZX0sIHNlbmRpbmcgSE1SIHVwZGF0ZS4uLmApO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIENSSVRJQ0FMOiBTZW5kIEhNUl9VUERBVEUgbWVzc2FnZSB0byB3b3JrZXIgdG8gaW52YWxpZGF0ZSBtb2R1bGVzXG4gICAgICAgICAgLy8gVGhpcyBjbGVhcnMgY29tcG9uZW50IGNhY2hlcywgYnV0IE5vZGUuanMncyBFUyBtb2R1bGUgY2FjaGUgcGVyc2lzdHNcbiAgICAgICAgICBobXJIYW5kbGVyLnNlbmRIbXJVcGRhdGUoZmlsZSk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gQ1JJVElDQUw6IFNlbmQgY3VzdG9tIEhNUiBtZXNzYWdlIHRvIGNsaWVudCB2aWEgV2ViU29ja2V0XG4gICAgICAgICAgLy8gU2VydmVyIGNvbXBvbmVudHMgYXJlbid0IGluIHRoZSBjbGllbnQgYnVuZGxlLCBzbyB2aXRlOmJlZm9yZVVwZGF0ZSBkb2Vzbid0IGZpcmVcbiAgICAgICAgICAvLyBXZSBuZWVkIHRvIG1hbnVhbGx5IG5vdGlmeSB0aGUgY2xpZW50IHRvIHJlZmV0Y2ggdGhlIFJTQyBzdHJlYW1cbiAgICAgICAgICBzZXJ2ZXIud3Muc2VuZCh7XG4gICAgICAgICAgICB0eXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICAgIGV2ZW50OiAndml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOnNlcnZlci1jb21wb25lbnQtdXBkYXRlJyxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgZmlsZTogbm9ybWFsaXplZEZpbGUsXG4gICAgICAgICAgICAgIHBhdGg6IGZpbGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIENSSVRJQ0FMOiBOb2RlLmpzIGNhY2hlcyBFUyBtb2R1bGVzLCBzbyB3ZSBuZWVkIHRvIHJlc3RhcnQgdGhlIHdvcmtlclxuICAgICAgICAgIC8vIHRvIGNsZWFyIHRoZSBtb2R1bGUgY2FjaGUuIERlYm91bmNlIHJlc3RhcnRzIHRvIHByZXZlbnQgcmVjdXJzaW9uLlxuICAgICAgICAgIGlmIChobXJIYW5kbGVyLnJlc3RhcnQpIHtcbiAgICAgICAgICAgIC8vIENsZWFyIGFueSBwZW5kaW5nIHJlc3RhcnRcbiAgICAgICAgICAgIGlmIChyZXN0YXJ0VGltZW91dCkge1xuICAgICAgICAgICAgICBjbGVhclRpbWVvdXQocmVzdGFydFRpbWVvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyBEZWJvdW5jZSB3b3JrZXIgcmVzdGFydCB0byBwcmV2ZW50IHJlY3Vyc2lvblxuICAgICAgICAgICAgLy8gV2FpdCA1MDBtcyBhZnRlciB0aGUgbGFzdCBmaWxlIGNoYW5nZSBiZWZvcmUgcmVzdGFydGluZ1xuICAgICAgICAgICAgcmVzdGFydFRpbWVvdXQgPSBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBSZXN0YXJ0aW5nIHdvcmtlciB0byBjbGVhciBOb2RlLmpzIG1vZHVsZSBjYWNoZS4uLmApO1xuICAgICAgICAgICAgICAgIGF3YWl0IGhtckhhbmRsZXIhLnJlc3RhcnQhKCk7XG4gICAgICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gV29ya2VyIHJlc3RhcnRlZCBzdWNjZXNzZnVsbHlgKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5lcnJvcihgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRmFpbGVkIHRvIHJlc3RhcnQgd29ya2VyOiAke2Vycm9yfWApO1xuICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIHJlc3RhcnRUaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAvLyBSZXNldCBmbGFnIGFmdGVyIHJlc3RhcnQgY29tcGxldGVzXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCA1MDApOyAvLyA1MDBtcyBkZWJvdW5jZVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBObyByZXN0YXJ0IGZ1bmN0aW9uIGF2YWlsYWJsZSB5ZXQgLSB3b3JrZXIgaGFzbid0IGJlZW4gY3JlYXRlZFxuICAgICAgICAgICAgLy8gVGhpcyBpcyBleHBlY3RlZCBpZiBoYW5kbGVIb3RVcGRhdGUgZmlyZXMgYmVmb3JlIHRoZSBmaXJzdCByZXF1ZXN0XG4gICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci53YXJuKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBSZXN0YXJ0IGZ1bmN0aW9uIG5vdCBhdmFpbGFibGUgeWV0IC0gd29ya2VyIHdpbGwgYmUgY3JlYXRlZCBvbiBuZXh0IHJlcXVlc3RgKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmVycm9yKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBFcnJvciBoYW5kbGluZyBITVIgdXBkYXRlOiAke2Vycm9yfWApO1xuICAgICAgICAgIGlzUHJvY2Vzc2luZ0htciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzU2VydmVyRmlsZSAmJiAhaG1ySGFuZGxlcikge1xuICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci53YXJuKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBTZXJ2ZXIgZmlsZSBjaGFuZ2VkIGJ1dCBITVIgaGFuZGxlciBub3QgYXZhaWxhYmxlIHlldDogJHtmaWxlfWApO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBSZXR1cm4gdW5kZWZpbmVkIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gaGFuZGxlIHRoZSB1cGRhdGVcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBV2EsTUFBQSx3QkFBQSxHQUF5QyxTQUFTLCtCQUFBLENBQWdDLE9BQVMsRUFBQTtBQUN0RyxFQUFBLElBQUksV0FBVyxJQUFNLEVBQUE7QUFDbkIsSUFBTSxNQUFBLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUFBO0FBR3ZDLEVBQUEsSUFBSSxRQUFRLE9BQVMsRUFBQTtBQUdyQixFQUFNLE1BQUEsZUFBQSxHQUFrQixlQUFlLE9BQU8sQ0FBQTtBQUM5QyxFQUFJLElBQUEsZUFBQSxDQUFnQixTQUFTLE9BQVMsRUFBQTtBQUNwQyxJQUFJLElBQUEsZUFBQSxDQUFnQixTQUFTLElBQU0sRUFBQTtBQUNqQyxNQUFBLE1BQU0sZUFBZ0IsQ0FBQSxLQUFBO0FBQUE7QUFFeEIsSUFBTSxNQUFBLElBQUksTUFBTSwyQkFBMkIsQ0FBQTtBQUFBO0FBRTdDLEVBQUEsTUFBTSxjQUFjLGVBQWdCLENBQUEsV0FBQTtBQUdwQyxFQUFJLElBQUEsU0FBQTtBQUNKLEVBQUEsSUFBSSxVQUF5SCxHQUFBLElBQUE7QUFDN0gsRUFBQSxJQUFJLGVBQWtCLEdBQUEsS0FBQTtBQUN0QixFQUFBLElBQUksY0FBd0MsR0FBQSxJQUFBO0FBRTVDLEVBQU8sT0FBQTtBQUFBLElBQ0wsSUFBTSxFQUFBLDRDQUFBO0FBQUEsSUFDTixLQUFPLEVBQUEsT0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFJUCxNQUFBLENBQU8sU0FBUyxhQUFlLEVBQUE7QUFDN0IsTUFBWSxTQUFBLEdBQUEsYUFBQTtBQUFB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
124
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLmNsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHR5cGUgeyBWaXRlUGx1Z2luRm4gfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuY2xpZW50LmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlnRW52IH0gZnJvbSBcInZpdGVcIjtcblxuXG4vKipcbiAqIERldiBzZXJ2ZXIgcGx1Z2luIGZvciBjbGllbnQgZW52aXJvbm1lbnQuXG4gKiBVc2VzIGNvbmZpZ3VyZVNlcnZlciBob29rIGZvciBwcm9wZXIgZGV2IHNlcnZlciBzZXR1cC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZpdGVQbHVnaW5SZWFjdERldlNlcnZlcjogVml0ZVBsdWdpbkZuID0gZnVuY3Rpb24gX3ZpdGVQbHVnaW5SZWFjdFNlcnZlckRldkNsaWVudChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJvcHRpb25zIGlzIHJlcXVpcmVkXCIpO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICB9XG4gIFxuICBjb25zdCByZXNvbHZlZE9wdGlvbnMgPSByZXNvbHZlT3B0aW9ucyhvcHRpb25zKTtcbiAgaWYgKHJlc29sdmVkT3B0aW9ucy50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICBpZiAocmVzb2x2ZWRPcHRpb25zLmVycm9yICE9IG51bGwpIHtcbiAgICAgIHRocm93IHJlc29sdmVkT3B0aW9ucy5lcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIHJlc29sdmUgb3B0aW9uc1wiKTtcbiAgfVxuICBjb25zdCB1c2VyT3B0aW9ucyA9IHJlc29sdmVkT3B0aW9ucy51c2VyT3B0aW9ucztcbiAgXG5cbiAgbGV0IGNvbmZpZ0VudjogQ29uZmlnRW52IHwgdW5kZWZpbmVkO1xuICBsZXQgaG1ySGFuZGxlcjogeyByZXN0YXJ0OiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsOyBzZW5kSG1yVXBkYXRlOiAoZmlsZTogc3RyaW5nLCByb3V0ZXM/OiBzdHJpbmdbXSkgPT4gdm9pZCB9IHwgbnVsbCA9IG51bGw7XG4gIGxldCBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTsgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgbGV0IHJlc3RhcnRUaW1lb3V0OiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsOyAvLyBEZWJvdW5jZSB3b3JrZXIgcmVzdGFydHNcblxuICByZXR1cm4ge1xuICAgIG5hbWU6IFwidml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOmRldi1zZXJ2ZXItY2xpZW50XCIsXG4gICAgYXBwbHk6IFwic2VydmVcIiwgLy8gT25seSBhcHBseSBpbiBkZXYgc2VydmVyIG1vZGVcbiAgICAvLyBObyBhcHBseVRvRW52aXJvbm1lbnQg4oCUIGhvdFVwZGF0ZSBuZWVkcyB0byBydW4gZm9yIGFsbCBlbnZpcm9ubWVudHNcbiAgICAvLyB0aGF0IHNob3VsZCB3b3JrIHJlZ2FyZGxlc3Mgb2YgZW52aXJvbm1lbnQgZmlsdGVyaW5nXG4gICAgY29uZmlnKF9jb25maWcsIHZpdGVDb25maWdFbnYpIHtcbiAgICAgIGNvbmZpZ0VudiA9IHZpdGVDb25maWdFbnY7XG4gIFxuICAgIH0sXG4gICAgY29uZmlndXJlU2VydmVyKHNlcnZlcikgeyAgICAgIFxuICAgICAgLy8gTG9nIHRoYXQgcGx1Z2luIGlzIGJlaW5nIGNvbmZpZ3VyZWRcbiAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIERldiBzZXJ2ZXIgcGx1Z2luIGNvbmZpZ3VyZWQgZm9yIGNsaWVudCBlbnZpcm9ubWVudGApO1xuICAgICAgXG4gICAgICAvLyBDb25maWd1cmUgdGhlIFJlYWN0IHNlcnZlciBmb3IgY2xpZW50IGVudmlyb25tZW50ICh3b3JrZXItYmFzZWQpXG4gICAgICAvLyBUaGlzIHVzZXMgdGhlIGV4aXN0aW5nIGNvbmZpZ3VyZVJlYWN0U2VydmVyLmNsaWVudC5qcyBpbXBsZW1lbnRhdGlvblxuICAgICAgaG1ySGFuZGxlciA9IGNvbmZpZ3VyZVJlYWN0U2VydmVyKHtcbiAgICAgICAgc2VydmVyLFxuICAgICAgICBhdXRvRGlzY292ZXJlZEZpbGVzOiB7XG4gICAgICAgICAgcHJvcHNNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICBwYWdlTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgcm9vdE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIGh0bWxNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICByb3V0ZU1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHVybE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgICAgd29ya2VyUGF0aHM6IHt9LFxuICAgICAgICAgIHNlcnZlckVudHJ5OiBudWxsLFxuICAgICAgICAgIGNsaWVudEVudHJ5OiB7fSxcbiAgICAgICAgICBjbGllbnRJbnB1dHM6IHt9LFxuICAgICAgICAgIHN0YXRpY0lucHV0czoge30sXG4gICAgICAgICAgc2VydmVySW5wdXRzOiB7fSxcbiAgICAgICAgICAvLyBzdGF0aWNNYW5pZmVzdCByZW1vdmVkIGZyb20gQXV0b0Rpc2NvdmVyZWRGaWxlc1xuICAgICAgICAgIHNlcnZlckFjdGlvbnM6IHt9LFxuICAgICAgICB9LFxuICAgICAgICB1c2VyT3B0aW9ucyxcbiAgICAgICAgY29uZmlnRW52OiBjb25maWdFbnYhLFxuICAgICAgICBzZXJ2ZXJNYW5pZmVzdDoge30sIFxuICAgICAgICByZXNvbHZlZENvbmZpZzogc2VydmVyLmNvbmZpZyxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgaG90VXBkYXRlKGN0eDogYW55KSB7XG4gICAgICBjb25zdCB7IGZpbGUsIHNlcnZlciB9ID0gY3R4O1xuICAgICAgY29uc3QgZW52TmFtZSA9IGN0eC5lbnZpcm9ubWVudD8ubmFtZSA/PyAndW5rbm93bic7XG4gICAgICBcbiAgICAgIC8vIE9ubHkgcnVuIHdvcmtlciBpbnZhbGlkYXRpb24gZnJvbSB0aGUgY2xpZW50IGVudmlyb25tZW50IChvbmNlIHBlciBjaGFuZ2UpXG4gICAgICBpZiAoZW52TmFtZSAhPT0gJ2NsaWVudCcpIHJldHVybjtcbiAgICAgIFxuICAgICAgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgICAgIGlmIChpc1Byb2Nlc3NpbmdIbXIpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gSGFuZGxlIHNlcnZlciBjb21wb25lbnQgZmlsZSBjaGFuZ2VzXG4gICAgICBjb25zdCBtb2R1bGVCYXNlID0gdXNlck9wdGlvbnMubW9kdWxlQmFzZSB8fCBcInNyY1wiO1xuICAgICAgY29uc3QgcHJvamVjdFJvb3QgPSB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3Q7XG4gICAgICBcbiAgICAgIC8vIE5vcm1hbGl6ZSBwYXRocyBmb3IgY29tcGFyaXNvbiAoaGFuZGxlIGJvdGggYWJzb2x1dGUgYW5kIHJlbGF0aXZlKVxuICAgICAgY29uc3Qgbm9ybWFsaXplZEZpbGUgPSBmaWxlLnJlcGxhY2UocHJvamVjdFJvb3QsICcnKS5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgIGNvbnN0IGlzU291cmNlRmlsZSA9IG5vcm1hbGl6ZWRGaWxlLnN0YXJ0c1dpdGgobW9kdWxlQmFzZSArICcvJykgJiYgXG4gICAgICAgIChmaWxlLmVuZHNXaXRoKCcudHN4JykgfHwgZmlsZS5lbmRzV2l0aCgnLnRzJykgfHwgZmlsZS5lbmRzV2l0aCgnLmpzeCcpIHx8IGZpbGUuZW5kc1dpdGgoJy5qcycpKTtcbiAgICAgIFxuICAgICAgLy8gU2tpcCBjbGllbnQgY29tcG9uZW50cyDigJQgbGV0IEB2aXRlanMvcGx1Z2luLXJlYWN0IGhhbmRsZSB0aGVtIHdpdGggRmFzdCBSZWZyZXNoXG4gICAgICBjb25zdCBpc0NsaWVudEZpbGUgPSBpc1NvdXJjZUZpbGUgJiYgKCgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBoZWFkID0gcmVhZEZpbGVTeW5jKGZpbGUsICd1dGYtOCcpLnNsaWNlKDAsIDIwMCk7XG4gICAgICAgICAgcmV0dXJuIC9eXFxzKltcIidddXNlIGNsaWVudFtcIiddLy50ZXN0KGhlYWQuc3BsaXQoJ1xcbicpWzBdKTtcbiAgICAgICAgfSBjYXRjaCB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgfSkoKTtcbiAgICAgIFxuICAgICAgY29uc3QgaXNTZXJ2ZXJGaWxlID0gaXNTb3VyY2VGaWxlICYmICFpc0NsaWVudEZpbGU7XG4gICAgICBcbiAgICAgIGlmIChpc1NlcnZlckZpbGUgJiYgaG1ySGFuZGxlcikge1xuICAgICAgICBpc1Byb2Nlc3NpbmdIbXIgPSB0cnVlO1xuICAgICAgICBcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBGaWxlIGNoYW5nZWQ6ICR7ZmlsZX0sIHNlbmRpbmcgSE1SIHVwZGF0ZS4uLmApO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIENSSVRJQ0FMOiBTZW5kIEhNUl9VUERBVEUgbWVzc2FnZSB0byB3b3JrZXIgdG8gaW52YWxpZGF0ZSBtb2R1bGVzXG4gICAgICAgICAgLy8gVGhpcyBjbGVhcnMgY29tcG9uZW50IGNhY2hlcywgYnV0IE5vZGUuanMncyBFUyBtb2R1bGUgY2FjaGUgcGVyc2lzdHNcbiAgICAgICAgICBobXJIYW5kbGVyLnNlbmRIbXJVcGRhdGUoZmlsZSk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gTk9URTogVGhlIFdTIGV2ZW50IHRvIG5vdGlmeSB0aGUgY2xpZW50IGlzIHNlbnQgYnkgdGhlIGhvdFVwZGF0ZSBob29rXG4gICAgICAgICAgLy8gaW4gcGx1Z2luLnNlcnZlci50cyDigJQgZG9uJ3QgZHVwbGljYXRlIGl0IGhlcmUuXG4gICAgICAgICAgXG4gICAgICAgICAgLy8gQ1JJVElDQUw6IE5vZGUuanMgY2FjaGVzIEVTIG1vZHVsZXMsIHNvIHdlIG5lZWQgdG8gcmVzdGFydCB0aGUgd29ya2VyXG4gICAgICAgICAgLy8gdG8gY2xlYXIgdGhlIG1vZHVsZSBjYWNoZS4gRGVib3VuY2UgcmVzdGFydHMgdG8gcHJldmVudCByZWN1cnNpb24uXG4gICAgICAgICAgaWYgKGhtckhhbmRsZXIucmVzdGFydCkge1xuICAgICAgICAgICAgLy8gQ2xlYXIgYW55IHBlbmRpbmcgcmVzdGFydFxuICAgICAgICAgICAgaWYgKHJlc3RhcnRUaW1lb3V0KSB7XG4gICAgICAgICAgICAgIGNsZWFyVGltZW91dChyZXN0YXJ0VGltZW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIERlYm91bmNlIHdvcmtlciByZXN0YXJ0IHRvIHByZXZlbnQgcmVjdXJzaW9uXG4gICAgICAgICAgICAvLyBXYWl0IDUwMG1zIGFmdGVyIHRoZSBsYXN0IGZpbGUgY2hhbmdlIGJlZm9yZSByZXN0YXJ0aW5nXG4gICAgICAgICAgICByZXN0YXJ0VGltZW91dCA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFJlc3RhcnRpbmcgd29ya2VyIHRvIGNsZWFyIE5vZGUuanMgbW9kdWxlIGNhY2hlLi4uYCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaG1ySGFuZGxlciEucmVzdGFydCEoKTtcbiAgICAgICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBXb3JrZXIgcmVzdGFydGVkIHN1Y2Nlc3NmdWxseWApO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmVycm9yKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBGYWlsZWQgdG8gcmVzdGFydCB3b3JrZXI6ICR7ZXJyb3J9YCk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgcmVzdGFydFRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgICAgIC8vIFJlc2V0IGZsYWcgYWZ0ZXIgcmVzdGFydCBjb21wbGV0ZXNcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlzUHJvY2Vzc2luZ0htciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDUwMCk7IC8vIDUwMG1zIGRlYm91bmNlXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIE5vIHJlc3RhcnQgZnVuY3Rpb24gYXZhaWxhYmxlIHlldCAtIHdvcmtlciBoYXNuJ3QgYmVlbiBjcmVhdGVkXG4gICAgICAgICAgICAvLyBUaGlzIGlzIGV4cGVjdGVkIGlmIGhvdFVwZGF0ZSBmaXJlcyBiZWZvcmUgdGhlIGZpcnN0IHJlcXVlc3RcbiAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLndhcm4oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFJlc3RhcnQgZnVuY3Rpb24gbm90IGF2YWlsYWJsZSB5ZXQgLSB3b3JrZXIgd2lsbCBiZSBjcmVhdGVkIG9uIG5leHQgcmVxdWVzdGApO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIGlzUHJvY2Vzc2luZ0htciA9IGZhbHNlO1xuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIEVycm9yIGhhbmRsaW5nIEhNUiB1cGRhdGU6ICR7ZXJyb3J9YCk7XG4gICAgICAgICAgaXNQcm9jZXNzaW5nSG1yID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNTZXJ2ZXJGaWxlICYmICFobXJIYW5kbGVyKSB7XG4gICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLndhcm4oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFNlcnZlciBmaWxlIGNoYW5nZWQgYnV0IEhNUiBoYW5kbGVyIG5vdCBhdmFpbGFibGUgeWV0OiAke2ZpbGV9YCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIERvbid0IHN1cHByZXNzIOKAlCBwbHVnaW4uc2VydmVyLnRzIGhvdFVwZGF0ZSBoYW5kbGVzIHBhZ2UgcmVsb2FkIHByZXZlbnRpb25cbiAgICB9LFxuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXYSxNQUFBLHdCQUFBLEdBQXlDLFNBQVMsK0JBQUEsQ0FBZ0MsT0FBUyxFQUFBO0FBQ3RHLEVBQUEsSUFBSSxXQUFXLElBQU0sRUFBQTtBQUNuQixJQUFNLE1BQUEsSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQUE7QUFHdkMsRUFBQSxJQUFJLFFBQVEsT0FBUyxFQUFBO0FBR3JCLEVBQU0sTUFBQSxlQUFBLEdBQWtCLGVBQWUsT0FBTyxDQUFBO0FBQzlDLEVBQUksSUFBQSxlQUFBLENBQWdCLFNBQVMsT0FBUyxFQUFBO0FBQ3BDLElBQUksSUFBQSxlQUFBLENBQWdCLFNBQVMsSUFBTSxFQUFBO0FBQ2pDLE1BQUEsTUFBTSxlQUFnQixDQUFBLEtBQUE7QUFBQTtBQUV4QixJQUFNLE1BQUEsSUFBSSxNQUFNLDJCQUEyQixDQUFBO0FBQUE7QUFFN0MsRUFBQSxNQUFNLGNBQWMsZUFBZ0IsQ0FBQSxXQUFBO0FBR3BDLEVBQUksSUFBQSxTQUFBO0FBQ0osRUFBQSxJQUFJLFVBQXlILEdBQUEsSUFBQTtBQUM3SCxFQUFBLElBQUksZUFBa0IsR0FBQSxLQUFBO0FBQ3RCLEVBQUEsSUFBSSxjQUF3QyxHQUFBLElBQUE7QUFFNUMsRUFBTyxPQUFBO0FBQUEsSUFDTCxJQUFNLEVBQUEsNENBQUE7QUFBQSxJQUNOLEtBQU8sRUFBQSxPQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFHUCxNQUFBLENBQU8sU0FBUyxhQUFlLEVBQUE7QUFDN0IsTUFBWSxTQUFBLEdBQUEsYUFBQTtBQUFBLEtBRWQ7QUFBQSxJQUNBLGdCQUFnQixNQUFRLEVBQUE7QUFFdEIsTUFBTyxNQUFBLENBQUEsTUFBQSxDQUFPLE1BQU8sQ0FBQSxJQUFBLENBQUssQ0FBZ0YsOEVBQUEsQ0FBQSxDQUFBO0FBSTFHLE1BQUEsVUFBQSxHQUFhLG9CQUFxQixDQUFBO0FBQUEsUUFDaEMsTUFBQTtBQUFBLFFBQ0EsbUJBQXFCLEVBQUE7QUFBQSxVQUNuQixRQUFBLHNCQUFjLEdBQUksRUFBQTtBQUFBLFVBQ2xCLE9BQUEsc0JBQWEsR0FBSSxFQUFBO0FBQUEsVUFDakIsT0FBQSxzQkFBYSxHQUFJLEVBQUE7QUFBQSxVQUNqQixPQUFBLHNCQUFhLEdBQUksRUFBQTtBQUFBLFVBQ2pCLFFBQUEsc0JBQWMsR0FBSSxFQUFBO0FBQUEsVUFDbEIsTUFBQSxzQkFBWSxHQUFJLEVBQUE7QUFBQSxVQUNoQixRQUFRLEVBQUM7QUFBQSxVQUNULGFBQWEsRUFBQztBQUFBLFVBQ2QsV0FBYSxFQUFBLElBQUE7QUFBQSxVQUNiLGFBQWEsRUFBQztBQUFBLFVBQ2QsY0FBYyxFQUFDO0FBQUEsVUFDZixjQUFjLEVBQUM7QUFBQSxVQUNmLGNBQWMsRUFBQztBQUFBO0FBQUEsVUFFZixlQUFlO0FBQUMsU0FDbEI7QUFBQSxRQUNBLFdBQUE7QUFBQSxRQUNBLFNBQUE7QUFBQSxRQUNBLGdCQUFnQixFQUFDO0FBQUEsUUFDakIsZ0JBQWdCLE1BQU8sQ0FBQTtBQUFBLE9BQ3hCLENBQUE7QUFBQSxLQUNIO0FBQUEsSUFDQSxVQUFVLEdBQVUsRUFBQTtBQUNsQixNQUFNLE1BQUEsRUFBRSxJQUFNLEVBQUEsTUFBQSxFQUFXLEdBQUEsR0FBQTtBQUN6QixNQUFNLE1BQUEsT0FBQSxHQUFVLEdBQUksQ0FBQSxXQUFBLEVBQWEsSUFBUSxJQUFBLFNBQUE7QUFHekMsTUFBQSxJQUFJLFlBQVksUUFBVSxFQUFBO0FBRzFCLE1BQUEsSUFBSSxlQUFpQixFQUFBO0FBQ25CLFFBQU8sT0FBQSxNQUFBO0FBQUE7QUFJVCxNQUFNLE1BQUEsVUFBQSxHQUFhLFlBQVksVUFBYyxJQUFBLEtBQUE7QUFDN0MsTUFBQSxNQUFNLFdBQWMsR0FBQSxXQUFBLENBQVksV0FBZSxJQUFBLE1BQUEsQ0FBTyxNQUFPLENBQUEsSUFBQTtBQUc3RCxNQUFNLE1BQUEsY0FBQSxHQUFpQixLQUFLLE9BQVEsQ0FBQSxXQUFBLEVBQWEsRUFBRSxDQUFFLENBQUEsT0FBQSxDQUFRLFFBQVEsRUFBRSxDQUFBO0FBQ3ZFLE1BQU0sTUFBQSxZQUFBLEdBQWUsZUFBZSxVQUFXLENBQUEsVUFBQSxHQUFhLEdBQUcsQ0FDNUQsS0FBQSxJQUFBLENBQUssU0FBUyxNQUFNLENBQUEsSUFBSyxLQUFLLFFBQVMsQ0FBQSxLQUFLLEtBQUssSUFBSyxDQUFBLFFBQUEsQ0FBUyxNQUFNLENBQUssSUFBQSxJQUFBLENBQUssU0FBUyxLQUFLLENBQUEsQ0FBQTtBQUdoRyxNQUFNLE1BQUEsWUFBQSxHQUFlLGlCQUFpQixNQUFNO0FBQzFDLFFBQUksSUFBQTtBQUNGLFVBQUEsTUFBTSxPQUFPLFlBQWEsQ0FBQSxJQUFBLEVBQU0sT0FBTyxDQUFFLENBQUEsS0FBQSxDQUFNLEdBQUcsR0FBRyxDQUFBO0FBQ3JELFVBQUEsT0FBTyx5QkFBeUIsSUFBSyxDQUFBLElBQUEsQ0FBSyxNQUFNLElBQUksQ0FBQSxDQUFFLENBQUMsQ0FBQyxDQUFBO0FBQUEsU0FDbEQsQ0FBQSxNQUFBO0FBQUUsVUFBTyxPQUFBLEtBQUE7QUFBQTtBQUFPLE9BQ3ZCLEdBQUE7QUFFSCxNQUFNLE1BQUEsWUFBQSxHQUFlLGdCQUFnQixDQUFDLFlBQUE7QUFFdEMsTUFBQSxJQUFJLGdCQUFnQixVQUFZLEVBQUE7QUFDOUIsUUFBa0IsZUFBQSxHQUFBLElBQUE7QUFFbEIsUUFBSSxJQUFBO0FBQ0YsVUFBQSxNQUFBLENBQU8sTUFBTyxDQUFBLE1BQUEsQ0FBTyxJQUFLLENBQUEsQ0FBQSx5Q0FBQSxFQUE0QyxJQUFJLENBQXlCLHVCQUFBLENBQUEsQ0FBQTtBQUluRyxVQUFBLFVBQUEsQ0FBVyxjQUFjLElBQUksQ0FBQTtBQU83QixVQUFBLElBQUksV0FBVyxPQUFTLEVBQUE7QUFFdEIsWUFBQSxJQUFJLGNBQWdCLEVBQUE7QUFDbEIsY0FBQSxZQUFBLENBQWEsY0FBYyxDQUFBO0FBQUE7QUFLN0IsWUFBQSxjQUFBLEdBQWlCLFdBQVcsWUFBWTtBQUN0QyxjQUFJLElBQUE7QUFDRixnQkFBTyxNQUFBLENBQUEsTUFBQSxDQUFPLE1BQU8sQ0FBQSxJQUFBLENBQUssQ0FBK0UsNkVBQUEsQ0FBQSxDQUFBO0FBQ3pHLGdCQUFBLE1BQU0sV0FBWSxPQUFTLEVBQUE7QUFDM0IsZ0JBQU8sTUFBQSxDQUFBLE1BQUEsQ0FBTyxNQUFPLENBQUEsSUFBQSxDQUFLLENBQTBELHdEQUFBLENBQUEsQ0FBQTtBQUFBLHVCQUM3RSxLQUFPLEVBQUE7QUFDZCxnQkFBQSxNQUFBLENBQU8sTUFBTyxDQUFBLE1BQUEsQ0FBTyxLQUFNLENBQUEsQ0FBQSxxREFBQSxFQUF3RCxLQUFLLENBQUUsQ0FBQSxDQUFBO0FBQUEsZUFDMUYsU0FBQTtBQUNBLGdCQUFpQixjQUFBLEdBQUEsSUFBQTtBQUVqQixnQkFBQSxVQUFBLENBQVcsTUFBTTtBQUNmLGtCQUFrQixlQUFBLEdBQUEsS0FBQTtBQUFBLG1CQUNqQixHQUFHLENBQUE7QUFBQTtBQUNSLGVBQ0MsR0FBRyxDQUFBO0FBQUEsV0FDRCxNQUFBO0FBR0wsWUFBTyxNQUFBLENBQUEsTUFBQSxDQUFPLE1BQU8sQ0FBQSxJQUFBLENBQUssQ0FBd0csc0dBQUEsQ0FBQSxDQUFBO0FBQ2xJLFlBQUEsVUFBQSxDQUFXLE1BQU07QUFDZixjQUFrQixlQUFBLEdBQUEsS0FBQTtBQUFBLGVBQ2pCLEdBQUcsQ0FBQTtBQUFBO0FBQ1IsaUJBQ08sS0FBTyxFQUFBO0FBQ2QsVUFBQSxNQUFBLENBQU8sTUFBTyxDQUFBLE1BQUEsQ0FBTyxLQUFNLENBQUEsQ0FBQSxzREFBQSxFQUF5RCxLQUFLLENBQUUsQ0FBQSxDQUFBO0FBQzNGLFVBQWtCLGVBQUEsR0FBQSxLQUFBO0FBQUE7QUFDcEIsT0FDRixNQUFBLElBQVcsWUFBZ0IsSUFBQSxDQUFDLFVBQVksRUFBQTtBQUN0QyxRQUFBLE1BQUEsQ0FBTyxNQUFPLENBQUEsTUFBQSxDQUFPLElBQUssQ0FBQSxDQUFBLGtGQUFBLEVBQXFGLElBQUksQ0FBRSxDQUFBLENBQUE7QUFBQTtBQUN2SDtBQUdGLEdBQ0Y7QUFDRjs7OzsifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"requestInfo.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/requestInfo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,CAAC,eAAe,EAC5B,cAAc,EAAE,IAAI,CAClB,oBAAoB,EAClB,YAAY,GACZ,OAAO,GACP,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,SAAS,GACT,QAAQ,CACX,EACD,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0MhB"}
1
+ {"version":3,"file":"requestInfo.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/requestInfo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,CAAC,eAAe,EAC5B,cAAc,EAAE,IAAI,CAClB,oBAAoB,EAClB,YAAY,GACZ,OAAO,GACP,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,SAAS,GACT,QAAQ,CACX,EACD,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6MhB"}
@@ -47,6 +47,7 @@ function requestInfo(req, handlerOptions, hostDir) {
47
47
  const hasJsonHeader = req.headers["accept"]?.includes("application/json");
48
48
  const hasHtmlHeader = req.headers.accept?.includes("text/html");
49
49
  const hasRscHeader = req.headers.accept?.includes("text/x-component");
50
+ const hasRscQueryParam = /[?&]_rsc\b/.test(req.url || "");
50
51
  const hasCssHeader = req.headers.accept?.includes("text/css");
51
52
  const isFolder = !ext;
52
53
  const isFormContentType = req.headers["content-type"]?.includes(
@@ -58,8 +59,8 @@ function requestInfo(req, handlerOptions, hostDir) {
58
59
  const isFormActionRequest = !isServerActionRequest && (req.method === "POST" || isFormContentType && req.headers["sec-fetch-dest"] === "document" && req.headers["sec-fetch-mode"] === "navigate");
59
60
  const isJsRequest = !isFormActionRequest && !isJson && !isHtml && !isCss && !isRsc && (isJS || hasJsHeader);
60
61
  const isJsonRequest = isJson || hasJsonHeader && !isJsRequest;
61
- const isHtmlRequest = isHtml || hasHtmlHeader || isFolder && !hasRscHeader && !isRsc && !isJsRequest && !isFormActionRequest;
62
- const isRscRequest = !isJsRequest && !isHtmlRequest && (isRsc || hasRscHeader);
62
+ const isHtmlRequest = !hasRscQueryParam && (isHtml || hasHtmlHeader || isFolder && !hasRscHeader && !hasRscQueryParam && !isRsc && !isJsRequest && !isFormActionRequest);
63
+ const isRscRequest = hasRscQueryParam || !isJsRequest && !isHtmlRequest && (isRsc || hasRscHeader);
63
64
  const isCssRequest = !isHtmlRequest && !isRscRequest && !isJsRequest && !isJsonRequest && (isCss || hasCssHeader);
64
65
  const routeForFilePath = value;
65
66
  let filePath = resolve(hostDir, routeForFilePath);
@@ -159,4 +160,4 @@ function requestInfo(req, handlerOptions, hostDir) {
159
160
  }
160
161
 
161
162
  export { requestInfo };
162
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdEluZm8uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL3JlcXVlc3RJbmZvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IENyZWF0ZUhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyB0eXBlIENvbm5lY3QgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgTUlNRV9UWVBFUyB9IGZyb20gXCIuLi9jb25maWcvbWltZVR5cGVzLmpzXCI7XG5pbXBvcnQgeyByZXF1ZXN0VG9Sb3V0ZSB9IGZyb20gXCIuL3JlcXVlc3RUb1JvdXRlLmpzXCI7XG5pbXBvcnQgeyByb3V0ZVRvVVJMIH0gZnJvbSBcIi4uL3V0aWxzL3JvdXRlVG9VUkwuanNcIjtcblxuLyoqXG4gKiAjIFJlcXVlc3QgaW5mb1xuICpcbiAqIERvZXMgdGhlIGluaXRpYWwgd29yayB0byBjaGVjayBpZiB0aGUgcmVxdWVzdCBpcyBmb3IgaHRtbCwgcnNjLCBqc29uLCBqcywgY3NzLCBzZXJ2ZXItYWN0aW9uLCBvciBzb21ldGhpbmcgZWxzZSBub3QgaGFuZGxlZCBieSB0aGlzIHBsdWdpbi5cbiAqXG4gKiBAcGFyYW0gcmVxXG4gKiBAcGFyYW0gaGFuZGxlck9wdGlvbnNcbiAqIEBwYXJhbSBob3N0RGlyXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdEluZm8oXG4gIHJlcTogQ29ubmVjdC5JbmNvbWluZ01lc3NhZ2UsXG4gIGhhbmRsZXJPcHRpb25zOiBQaWNrPFxuICAgIENyZWF0ZUhhbmRsZXJPcHRpb25zLFxuICAgIHwgXCJub3JtYWxpemVyXCJcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJhdXRvRGlzY292ZXJcIlxuICAgIHwgXCJ2ZXJib3NlXCJcbiAgICB8IFwibW9kdWxlQmFzZVBhdGhcIlxuICAgIHwgXCJtb2R1bGVCYXNlVVJMXCJcbiAgICB8IFwidmVyYm9zZVwiXG4gICAgfCBcImxvZ2dlclwiXG4gID4sXG4gIGhvc3REaXI6IHN0cmluZyxcbikge1xuICBjb25zdCByb3V0ZSA9IHJlcXVlc3RUb1JvdXRlKHJlcSwge1xuICAgIG1vZHVsZUJhc2VQYXRoOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlUGF0aCxcbiAgICBtb2R1bGVCYXNlVVJMOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLFxuICAgIGJ1aWxkOiBoYW5kbGVyT3B0aW9ucy5idWlsZCxcbiAgfSk7XG5cbiAgaWYgKCFyb3V0ZSkge1xuICAgIHJldHVybiB7XG4gICAgICByb3V0ZTogXCIvXCIsXG4gICAgICB1cmw6IHJvdXRlVG9VUkwoXCIvXCIsIGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwsIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgpLFxuICAgICAgZXh0OiBcIlwiLFxuICAgIH07XG4gIH1cblxuICAvLyBVc2UgdGhlIGNsZWFuZWQgcm91dGUgZm9yIG5vcm1hbGl6YXRpb24sIG5vdCB0aGUgcmF3IHJlcS51cmxcbiAgLy8gVGhpcyBlbnN1cmVzIGJhc2UgVVJMIGlzIHByb3Blcmx5IHN0cmlwcGVkIGJlZm9yZSBub3JtYWxpemF0aW9uXG4gIGNvbnN0IFssIHZhbHVlXSA9IGhhbmRsZXJPcHRpb25zLm5vcm1hbGl6ZXIocm91dGUpO1xuICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gXCJcIikge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZXF1ZXN0SW5mb10gVmFsdWU6IFxcXCIke3ZhbHVlfVxcXCJgKTtcbiAgICB9XG4gICAgaWYgKGhvc3REaXIgJiYgaG9zdERpciAhPT0gXCJcIikge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZXF1ZXN0SW5mb10gSG9zdCBEaXI6IFxcXCIke2hvc3REaXJ9XFxcImApO1xuICAgIH1cbiAgICBpZiAocmVxLnVybCAmJiByZXEudXJsICE9PSBcIlwiKSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlcXVlc3RJbmZvXSBSZXF1ZXN0IFVSTDogXFxcIiR7cmVxLnVybH1cXFwiYCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZG90SW5kZXggPSB2YWx1ZS5sYXN0SW5kZXhPZihcIi5cIik7XG4gIGNvbnN0IGV4dCA9IGRvdEluZGV4ID09PSAtMSA/IFwiXCIgOiB2YWx1ZS5zbGljZShkb3RJbmRleCk7XG4gIC8vIGhhbmRsZSBpbmRleC5odG1sXG4gIGNvbnN0IGlzVmVuZG9yID0gaGFuZGxlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLnZlbmRvclBhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzVmlydHVhbCA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci52aXJ0dWFsUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaXNKUyA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci5tb2R1bGVQYXR0ZXJuLnRlc3QodmFsdWUpO1xuICBjb25zdCBpc0h0bWwgPSBoYW5kbGVyT3B0aW9ucy5hdXRvRGlzY292ZXIuaHRtbFBhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzQ3NzID0gaGFuZGxlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmNzc1BhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzSnNvbiA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci5qc29uUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaXNSc2MgPSBoYW5kbGVyT3B0aW9ucy5hdXRvRGlzY292ZXIucnNjUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaGFzSnNIZWFkZXIgPVxuICAgIHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLWRlc3RcIl0gPT09IFwic2NyaXB0XCIgfHxcbiAgICByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCIqLypcIikgfHxcbiAgICByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCJ0ZXh0L2phdmFzY3JpcHRcIik7XG4gIGNvbnN0IGhhc0pzb25IZWFkZXIgPSByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCJhcHBsaWNhdGlvbi9qc29uXCIpO1xuICBjb25zdCBoYXNIdG1sSGVhZGVyID0gcmVxLmhlYWRlcnMuYWNjZXB0Py5pbmNsdWRlcyhcInRleHQvaHRtbFwiKTtcbiAgY29uc3QgaGFzUnNjSGVhZGVyID0gcmVxLmhlYWRlcnMuYWNjZXB0Py5pbmNsdWRlcyhcInRleHQveC1jb21wb25lbnRcIik7XG4gIGNvbnN0IGhhc0Nzc0hlYWRlciA9IHJlcS5oZWFkZXJzLmFjY2VwdD8uaW5jbHVkZXMoXCJ0ZXh0L2Nzc1wiKTtcbiAgY29uc3QgaXNGb2xkZXIgPSAhZXh0O1xuICBjb25zdCBpc0Zvcm1Db250ZW50VHlwZSA9XG4gICAgcmVxLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0/LmluY2x1ZGVzKFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICkgfHwgISFyZXEuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXT8uaW5jbHVkZXMoXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIpO1xuXG4gIC8vIFNlcnZlciBhY3Rpb24gZGV0ZWN0aW9uXG4gIGNvbnN0IGhhc1JzY0FjdGlvbkhlYWRlciA9ICEhcmVxLmhlYWRlcnNbXCJ4LXJzYy1hY3Rpb25cIl07XG4gIGNvbnN0IGhhc1NlcnZlckFjdGlvbkhlYWRlcnMgPVxuICAgIHJlcS5tZXRob2QgPT09IFwiUE9TVFwiICYmXG4gICAgKGhhc1JzY0FjdGlvbkhlYWRlciB8fCAoXG4gICAgICAocmVxLmhlYWRlcnNbXCJzZWMtZmV0Y2gtZGVzdFwiXSA9PT0gXCJlbXB0eVwiIHx8XG4gICAgICAgIHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLWRlc3RcIl0gPT09IFwiXCIpICYmXG4gICAgICByZXEuaGVhZGVyc1tcInNlYy1mZXRjaC1tb2RlXCJdID09PSBcImNvcnNcIlxuICAgICkpO1xuICBjb25zdCBpc1NlcnZlckFjdGlvblJlcXVlc3QgPSBoYXNTZXJ2ZXJBY3Rpb25IZWFkZXJzO1xuXG4gIGNvbnN0IGlzRm9ybUFjdGlvblJlcXVlc3QgPVxuICAgICFpc1NlcnZlckFjdGlvblJlcXVlc3QgJiZcbiAgICAocmVxLm1ldGhvZCA9PT0gXCJQT1NUXCIgfHxcbiAgICAgIChpc0Zvcm1Db250ZW50VHlwZSAmJlxuICAgICAgICByZXEuaGVhZGVyc1tcInNlYy1mZXRjaC1kZXN0XCJdID09PSBcImRvY3VtZW50XCIgJiZcbiAgICAgICAgcmVxLmhlYWRlcnNbXCJzZWMtZmV0Y2gtbW9kZVwiXSA9PT0gXCJuYXZpZ2F0ZVwiKSk7XG5cbiAgY29uc3QgaXNKc1JlcXVlc3QgPVxuICAgICFpc0Zvcm1BY3Rpb25SZXF1ZXN0ICYmXG4gICAgIWlzSnNvbiAmJlxuICAgICFpc0h0bWwgJiZcbiAgICAhaXNDc3MgJiZcbiAgICAhaXNSc2MgJiZcbiAgICAoaXNKUyB8fCBoYXNKc0hlYWRlcik7XG4gIGNvbnN0IGlzSnNvblJlcXVlc3QgPSBpc0pzb24gfHwgKGhhc0pzb25IZWFkZXIgJiYgIWlzSnNSZXF1ZXN0KTtcbiAgLy8gRm9ybSBhY3Rpb24gZGV0ZWN0aW9uXG5cbiAgY29uc3QgaXNIdG1sUmVxdWVzdCA9XG4gICAgaXNIdG1sIHx8XG4gICAgaGFzSHRtbEhlYWRlciB8fFxuICAgIChpc0ZvbGRlciAmJlxuICAgICAgIWhhc1JzY0hlYWRlciAmJlxuICAgICAgIWlzUnNjICYmXG4gICAgICAhaXNKc1JlcXVlc3QgJiZcbiAgICAgICFpc0Zvcm1BY3Rpb25SZXF1ZXN0KTtcbiAgY29uc3QgaXNSc2NSZXF1ZXN0ID1cbiAgICAhaXNKc1JlcXVlc3QgJiYgIWlzSHRtbFJlcXVlc3QgJiYgKGlzUnNjIHx8IGhhc1JzY0hlYWRlcik7XG4gIGNvbnN0IGlzQ3NzUmVxdWVzdCA9XG4gICAgIWlzSHRtbFJlcXVlc3QgJiZcbiAgICAhaXNSc2NSZXF1ZXN0ICYmXG4gICAgIWlzSnNSZXF1ZXN0ICYmXG4gICAgIWlzSnNvblJlcXVlc3QgJiZcbiAgICAoaXNDc3MgfHwgaGFzQ3NzSGVhZGVyKTtcblxuICAvLyBVc2UgdGhlIG5vcm1hbGl6ZWQgdmFsdWUgZm9yIGZpbGUgcGF0aCBjb25zdHJ1Y3Rpb25cbiAgLy8gVGhlIG5vcm1hbGl6ZXIgc2hvdWxkIGhhdmUgYWxyZWFkeSBzdHJpcHBlZCBiYXNlIFVSTHMgcHJvcGVybHlcbiAgY29uc3Qgcm91dGVGb3JGaWxlUGF0aCA9IHZhbHVlO1xuXG4gIGxldCBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCk7XG4gIGxldCBjb250ZW50VHlwZTtcbiAgaWYgKGlzU2VydmVyQWN0aW9uUmVxdWVzdCkge1xuICAgIC8vIEZvciBzZXJ2ZXIgYWN0aW9ucywgd2UnbGwgZ2V0IHRoZSBhY3R1YWwgZmlsZSBwYXRoIGZyb20gdGhlIHJlcXVlc3QgYm9keVxuICAgIC8vIFRoZSByb3V0ZSBpcyBqdXN0IGEgcGxhY2Vob2xkZXJcbiAgICBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCk7XG4gICAgY29udGVudFR5cGUgPSBcImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLThcIjtcbiAgfSBlbHNlIGlmIChpc0h0bWxSZXF1ZXN0KSB7XG4gICAgaWYgKCFpc0h0bWwpIHtcbiAgICAgIGZpbGVQYXRoID0gcmVzb2x2ZShcbiAgICAgICAgaG9zdERpcixcbiAgICAgICAgcm91dGVGb3JGaWxlUGF0aCxcbiAgICAgICAgaGFuZGxlck9wdGlvbnMuYnVpbGQuaHRtbE91dHB1dFBhdGhcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIjtcbiAgfSBlbHNlIGlmIChpc1JzY1JlcXVlc3QpIHtcbiAgICBpZiAoIWlzUnNjKSB7XG4gICAgICAvLyBWYWx1ZSBkb2Vzbid0IGVuZCB3aXRoIC5yc2MsIGFwcGVuZCB0aGUgcnNjIG91dHB1dCBwYXRoXG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmUoXG4gICAgICAgIGhvc3REaXIsXG4gICAgICAgIHJvdXRlRm9yRmlsZVBhdGgsXG4gICAgICAgIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGhcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJ0ZXh0L3gtY29tcG9uZW50OyBjaGFyc2V0PXV0Zi04XCI7XG4gIH0gZWxzZSBpZiAoaXNDc3NSZXF1ZXN0KSB7XG4gICAgaWYgKCFpc0Nzcykge1xuICAgICAgZmlsZVBhdGggPSByZXNvbHZlKGhvc3REaXIsIHJvdXRlRm9yRmlsZVBhdGggKyBcIi5jc3NcIik7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJ0ZXh0L2NzczsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2UgaWYgKGlzSnNSZXF1ZXN0KSB7XG4gICAgaWYgKCFpc0pTKSB7XG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCArIFwiLmpzXCIpO1xuICAgIH1cbiAgICBjb250ZW50VHlwZSA9IFwiYXBwbGljYXRpb24vamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2UgaWYgKGlzSnNvblJlcXVlc3QpIHtcbiAgICBpZiAoIWlzSnNvbikge1xuICAgICAgZmlsZVBhdGggPSByZXNvbHZlKGhvc3REaXIsIHJvdXRlRm9yRmlsZVBhdGggKyBcIi5qc29uXCIpO1xuICAgIH1cbiAgICBjb250ZW50VHlwZSA9IFwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG1pbWVUeXBlID0gTUlNRV9UWVBFU1tleHRdO1xuICAgIGlmIChtaW1lVHlwZSkge1xuICAgICAgY29udGVudFR5cGUgPSBtaW1lVHlwZSArIFwiOyBjaGFyc2V0PXV0Zi04XCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRlbnRUeXBlID0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9dXRmLThcIjtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgIGlmIChpc0Zvcm1BY3Rpb25SZXF1ZXN0KSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChmb3JtLWFjdGlvbikgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VydmVyQWN0aW9uUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoc2VydmVyLWFjdGlvbikgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2UgaWYgKGlzSHRtbFJlcXVlc3QpIHtcbiAgICAgIGhhbmRsZXJPcHRpb25zLmxvZ2dlci5pbmZvKGBbcmVhY3QtZGV2LXNlcnZlcl0gKGh0bWwpICR7cm91dGV9YCk7XG4gICAgfSBlbHNlIGlmIChpc1JzY1JlcXVlc3QpIHtcbiAgICAgIGhhbmRsZXJPcHRpb25zLmxvZ2dlci5pbmZvKGBbcmVhY3QtZGV2LXNlcnZlcl0gKHJzYykgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2UgaWYgKGlzQ3NzUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoY3NzKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNKc1JlcXVlc3QpIHtcbiAgICAgIGhhbmRsZXJPcHRpb25zLmxvZ2dlci5pbmZvKGBbcmVhY3QtZGV2LXNlcnZlcl0gKGpzKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNKc29uUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoanNvbikgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAob3RoZXIpICR7cm91dGV9YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgcm91dGUsXG4gICAgdXJsOiByb3V0ZVRvVVJMKHJvdXRlLCBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLCBoYW5kbGVyT3B0aW9ucy5idWlsZC5yc2NPdXRwdXRQYXRoKSxcbiAgICBleHQsXG4gICAgaXNIdG1sUmVxdWVzdCxcbiAgICBpc1JzY1JlcXVlc3QsXG4gICAgaXNDc3NSZXF1ZXN0LFxuICAgIGlzQ3NzLFxuICAgIGlzSHRtbCxcbiAgICBpc1JzYyxcbiAgICBpc0ZvbGRlcixcbiAgICBjb250ZW50VHlwZSxcbiAgICBmaWxlUGF0aCxcbiAgICBpc0pTLFxuICAgIGlzVmVuZG9yLFxuICAgIGlzVmlydHVhbCxcbiAgICBoYXNKc0hlYWRlcixcbiAgICBpc0pzUmVxdWVzdCxcbiAgICBpc0pzb24sXG4gICAgaXNKc29uUmVxdWVzdCxcbiAgICBoYXNDc3NIZWFkZXIsXG4gICAgaGFzSnNvbkhlYWRlcixcbiAgICBoYXNIdG1sSGVhZGVyLFxuICAgIGhhc1JzY0hlYWRlcixcbiAgICBoYXNTZXJ2ZXJBY3Rpb25IZWFkZXJzLFxuICAgIGlzU2VydmVyQWN0aW9uUmVxdWVzdCxcbiAgICBpc0Zvcm1Db250ZW50VHlwZSxcbiAgICBpc0Zvcm1BY3Rpb25SZXF1ZXN0LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBaUJPLFNBQVMsV0FBQSxDQUNkLEdBQ0EsRUFBQSxjQUFBLEVBV0EsT0FDQSxFQUFBO0FBQ0EsRUFBTSxNQUFBLEtBQUEsR0FBUSxlQUFlLEdBQUssRUFBQTtBQUFBLElBQ2hDLGdCQUFnQixjQUFlLENBQUEsY0FBQTtBQUFBLElBQy9CLGVBQWUsY0FBZSxDQUFBLGFBQUE7QUFBQSxJQUM5QixPQUFPLGNBQWUsQ0FBQTtB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
163
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdEluZm8uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL3JlcXVlc3RJbmZvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IENyZWF0ZUhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyB0eXBlIENvbm5lY3QgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgTUlNRV9UWVBFUyB9IGZyb20gXCIuLi9jb25maWcvbWltZVR5cGVzLmpzXCI7XG5pbXBvcnQgeyByZXF1ZXN0VG9Sb3V0ZSB9IGZyb20gXCIuL3JlcXVlc3RUb1JvdXRlLmpzXCI7XG5pbXBvcnQgeyByb3V0ZVRvVVJMIH0gZnJvbSBcIi4uL3V0aWxzL3JvdXRlVG9VUkwuanNcIjtcblxuLyoqXG4gKiAjIFJlcXVlc3QgaW5mb1xuICpcbiAqIERvZXMgdGhlIGluaXRpYWwgd29yayB0byBjaGVjayBpZiB0aGUgcmVxdWVzdCBpcyBmb3IgaHRtbCwgcnNjLCBqc29uLCBqcywgY3NzLCBzZXJ2ZXItYWN0aW9uLCBvciBzb21ldGhpbmcgZWxzZSBub3QgaGFuZGxlZCBieSB0aGlzIHBsdWdpbi5cbiAqXG4gKiBAcGFyYW0gcmVxXG4gKiBAcGFyYW0gaGFuZGxlck9wdGlvbnNcbiAqIEBwYXJhbSBob3N0RGlyXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdEluZm8oXG4gIHJlcTogQ29ubmVjdC5JbmNvbWluZ01lc3NhZ2UsXG4gIGhhbmRsZXJPcHRpb25zOiBQaWNrPFxuICAgIENyZWF0ZUhhbmRsZXJPcHRpb25zLFxuICAgIHwgXCJub3JtYWxpemVyXCJcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJhdXRvRGlzY292ZXJcIlxuICAgIHwgXCJ2ZXJib3NlXCJcbiAgICB8IFwibW9kdWxlQmFzZVBhdGhcIlxuICAgIHwgXCJtb2R1bGVCYXNlVVJMXCJcbiAgICB8IFwidmVyYm9zZVwiXG4gICAgfCBcImxvZ2dlclwiXG4gID4sXG4gIGhvc3REaXI6IHN0cmluZyxcbikge1xuICBjb25zdCByb3V0ZSA9IHJlcXVlc3RUb1JvdXRlKHJlcSwge1xuICAgIG1vZHVsZUJhc2VQYXRoOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlUGF0aCxcbiAgICBtb2R1bGVCYXNlVVJMOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLFxuICAgIGJ1aWxkOiBoYW5kbGVyT3B0aW9ucy5idWlsZCxcbiAgfSk7XG5cbiAgaWYgKCFyb3V0ZSkge1xuICAgIHJldHVybiB7XG4gICAgICByb3V0ZTogXCIvXCIsXG4gICAgICB1cmw6IHJvdXRlVG9VUkwoXCIvXCIsIGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwsIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgpLFxuICAgICAgZXh0OiBcIlwiLFxuICAgIH07XG4gIH1cblxuICAvLyBVc2UgdGhlIGNsZWFuZWQgcm91dGUgZm9yIG5vcm1hbGl6YXRpb24sIG5vdCB0aGUgcmF3IHJlcS51cmxcbiAgLy8gVGhpcyBlbnN1cmVzIGJhc2UgVVJMIGlzIHByb3Blcmx5IHN0cmlwcGVkIGJlZm9yZSBub3JtYWxpemF0aW9uXG4gIGNvbnN0IFssIHZhbHVlXSA9IGhhbmRsZXJPcHRpb25zLm5vcm1hbGl6ZXIocm91dGUpO1xuICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gXCJcIikge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZXF1ZXN0SW5mb10gVmFsdWU6IFxcXCIke3ZhbHVlfVxcXCJgKTtcbiAgICB9XG4gICAgaWYgKGhvc3REaXIgJiYgaG9zdERpciAhPT0gXCJcIikge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZXF1ZXN0SW5mb10gSG9zdCBEaXI6IFxcXCIke2hvc3REaXJ9XFxcImApO1xuICAgIH1cbiAgICBpZiAocmVxLnVybCAmJiByZXEudXJsICE9PSBcIlwiKSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlcXVlc3RJbmZvXSBSZXF1ZXN0IFVSTDogXFxcIiR7cmVxLnVybH1cXFwiYCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZG90SW5kZXggPSB2YWx1ZS5sYXN0SW5kZXhPZihcIi5cIik7XG4gIGNvbnN0IGV4dCA9IGRvdEluZGV4ID09PSAtMSA/IFwiXCIgOiB2YWx1ZS5zbGljZShkb3RJbmRleCk7XG4gIC8vIGhhbmRsZSBpbmRleC5odG1sXG4gIGNvbnN0IGlzVmVuZG9yID0gaGFuZGxlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLnZlbmRvclBhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzVmlydHVhbCA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci52aXJ0dWFsUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaXNKUyA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci5tb2R1bGVQYXR0ZXJuLnRlc3QodmFsdWUpO1xuICBjb25zdCBpc0h0bWwgPSBoYW5kbGVyT3B0aW9ucy5hdXRvRGlzY292ZXIuaHRtbFBhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzQ3NzID0gaGFuZGxlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmNzc1BhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzSnNvbiA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci5qc29uUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaXNSc2MgPSBoYW5kbGVyT3B0aW9ucy5hdXRvRGlzY292ZXIucnNjUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaGFzSnNIZWFkZXIgPVxuICAgIHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLWRlc3RcIl0gPT09IFwic2NyaXB0XCIgfHxcbiAgICByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCIqLypcIikgfHxcbiAgICByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCJ0ZXh0L2phdmFzY3JpcHRcIik7XG4gIGNvbnN0IGhhc0pzb25IZWFkZXIgPSByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCJhcHBsaWNhdGlvbi9qc29uXCIpO1xuICBjb25zdCBoYXNIdG1sSGVhZGVyID0gcmVxLmhlYWRlcnMuYWNjZXB0Py5pbmNsdWRlcyhcInRleHQvaHRtbFwiKTtcbiAgY29uc3QgaGFzUnNjSGVhZGVyID0gcmVxLmhlYWRlcnMuYWNjZXB0Py5pbmNsdWRlcyhcInRleHQveC1jb21wb25lbnRcIik7XG4gIC8vIFN1cHBvcnQgP19yc2MgcXVlcnkgcGFyYW0gKGUuZy4gLz9fcnNjIGZvciBicm93c2VyIGRlYnVnZ2luZykgYXMgYWx0ZXJuYXRpdmUgdG8gQWNjZXB0IGhlYWRlciAodXNlZnVsIGZvciBicm93c2VyIGRlYnVnZ2luZylcbiAgY29uc3QgaGFzUnNjUXVlcnlQYXJhbSA9IC9bPyZdX3JzY1xcYi8udGVzdChyZXEudXJsIHx8IFwiXCIpO1xuICBjb25zdCBoYXNDc3NIZWFkZXIgPSByZXEuaGVhZGVycy5hY2NlcHQ/LmluY2x1ZGVzKFwidGV4dC9jc3NcIik7XG4gIGNvbnN0IGlzRm9sZGVyID0gIWV4dDtcbiAgY29uc3QgaXNGb3JtQ29udGVudFR5cGUgPVxuICAgIHJlcS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdPy5pbmNsdWRlcyhcbiAgICAgIFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICApIHx8ICEhcmVxLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0/LmluY2x1ZGVzKFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiKTtcblxuICAvLyBTZXJ2ZXIgYWN0aW9uIGRldGVjdGlvblxuICBjb25zdCBoYXNSc2NBY3Rpb25IZWFkZXIgPSAhIXJlcS5oZWFkZXJzW1wieC1yc2MtYWN0aW9uXCJdO1xuICBjb25zdCBoYXNTZXJ2ZXJBY3Rpb25IZWFkZXJzID1cbiAgICByZXEubWV0aG9kID09PSBcIlBPU1RcIiAmJlxuICAgIChoYXNSc2NBY3Rpb25IZWFkZXIgfHwgKFxuICAgICAgKHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLWRlc3RcIl0gPT09IFwiZW1wdHlcIiB8fFxuICAgICAgICByZXEuaGVhZGVyc1tcInNlYy1mZXRjaC1kZXN0XCJdID09PSBcIlwiKSAmJlxuICAgICAgcmVxLmhlYWRlcnNbXCJzZWMtZmV0Y2gtbW9kZVwiXSA9PT0gXCJjb3JzXCJcbiAgICApKTtcbiAgY29uc3QgaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0ID0gaGFzU2VydmVyQWN0aW9uSGVhZGVycztcblxuICBjb25zdCBpc0Zvcm1BY3Rpb25SZXF1ZXN0ID1cbiAgICAhaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0ICYmXG4gICAgKHJlcS5tZXRob2QgPT09IFwiUE9TVFwiIHx8XG4gICAgICAoaXNGb3JtQ29udGVudFR5cGUgJiZcbiAgICAgICAgcmVxLmhlYWRlcnNbXCJzZWMtZmV0Y2gtZGVzdFwiXSA9PT0gXCJkb2N1bWVudFwiICYmXG4gICAgICAgIHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLW1vZGVcIl0gPT09IFwibmF2aWdhdGVcIikpO1xuXG4gIGNvbnN0IGlzSnNSZXF1ZXN0ID1cbiAgICAhaXNGb3JtQWN0aW9uUmVxdWVzdCAmJlxuICAgICFpc0pzb24gJiZcbiAgICAhaXNIdG1sICYmXG4gICAgIWlzQ3NzICYmXG4gICAgIWlzUnNjICYmXG4gICAgKGlzSlMgfHwgaGFzSnNIZWFkZXIpO1xuICBjb25zdCBpc0pzb25SZXF1ZXN0ID0gaXNKc29uIHx8IChoYXNKc29uSGVhZGVyICYmICFpc0pzUmVxdWVzdCk7XG4gIC8vIEZvcm0gYWN0aW9uIGRldGVjdGlvblxuXG4gIGNvbnN0IGlzSHRtbFJlcXVlc3QgPVxuICAgICFoYXNSc2NRdWVyeVBhcmFtICYmIChpc0h0bWwgfHxcbiAgICBoYXNIdG1sSGVhZGVyIHx8XG4gICAgKGlzRm9sZGVyICYmXG4gICAgICAhaGFzUnNjSGVhZGVyICYmXG4gICAgICAhaGFzUnNjUXVlcnlQYXJhbSAmJlxuICAgICAgIWlzUnNjICYmXG4gICAgICAhaXNKc1JlcXVlc3QgJiZcbiAgICAgICFpc0Zvcm1BY3Rpb25SZXF1ZXN0KSk7XG4gIGNvbnN0IGlzUnNjUmVxdWVzdCA9XG4gICAgaGFzUnNjUXVlcnlQYXJhbSB8fCAoIWlzSnNSZXF1ZXN0ICYmICFpc0h0bWxSZXF1ZXN0ICYmIChpc1JzYyB8fCBoYXNSc2NIZWFkZXIpKTtcbiAgY29uc3QgaXNDc3NSZXF1ZXN0ID1cbiAgICAhaXNIdG1sUmVxdWVzdCAmJlxuICAgICFpc1JzY1JlcXVlc3QgJiZcbiAgICAhaXNKc1JlcXVlc3QgJiZcbiAgICAhaXNKc29uUmVxdWVzdCAmJlxuICAgIChpc0NzcyB8fCBoYXNDc3NIZWFkZXIpO1xuXG4gIC8vIFVzZSB0aGUgbm9ybWFsaXplZCB2YWx1ZSBmb3IgZmlsZSBwYXRoIGNvbnN0cnVjdGlvblxuICAvLyBUaGUgbm9ybWFsaXplciBzaG91bGQgaGF2ZSBhbHJlYWR5IHN0cmlwcGVkIGJhc2UgVVJMcyBwcm9wZXJseVxuICBjb25zdCByb3V0ZUZvckZpbGVQYXRoID0gdmFsdWU7XG5cbiAgbGV0IGZpbGVQYXRoID0gcmVzb2x2ZShob3N0RGlyLCByb3V0ZUZvckZpbGVQYXRoKTtcbiAgbGV0IGNvbnRlbnRUeXBlO1xuICBpZiAoaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0KSB7XG4gICAgLy8gRm9yIHNlcnZlciBhY3Rpb25zLCB3ZSdsbCBnZXQgdGhlIGFjdHVhbCBmaWxlIHBhdGggZnJvbSB0aGUgcmVxdWVzdCBib2R5XG4gICAgLy8gVGhlIHJvdXRlIGlzIGp1c3QgYSBwbGFjZWhvbGRlclxuICAgIGZpbGVQYXRoID0gcmVzb2x2ZShob3N0RGlyLCByb3V0ZUZvckZpbGVQYXRoKTtcbiAgICBjb250ZW50VHlwZSA9IFwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2UgaWYgKGlzSHRtbFJlcXVlc3QpIHtcbiAgICBpZiAoIWlzSHRtbCkge1xuICAgICAgZmlsZVBhdGggPSByZXNvbHZlKFxuICAgICAgICBob3N0RGlyLFxuICAgICAgICByb3V0ZUZvckZpbGVQYXRoLFxuICAgICAgICBoYW5kbGVyT3B0aW9ucy5idWlsZC5odG1sT3V0cHV0UGF0aFxuICAgICAgKTtcbiAgICB9XG4gICAgY29udGVudFR5cGUgPSBcInRleHQvaHRtbDsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2UgaWYgKGlzUnNjUmVxdWVzdCkge1xuICAgIGlmICghaXNSc2MpIHtcbiAgICAgIC8vIFZhbHVlIGRvZXNuJ3QgZW5kIHdpdGggLnJzYywgYXBwZW5kIHRoZSByc2Mgb3V0cHV0IHBhdGhcbiAgICAgIGZpbGVQYXRoID0gcmVzb2x2ZShcbiAgICAgICAgaG9zdERpcixcbiAgICAgICAgcm91dGVGb3JGaWxlUGF0aCxcbiAgICAgICAgaGFuZGxlck9wdGlvbnMuYnVpbGQucnNjT3V0cHV0UGF0aFxuICAgICAgKTtcbiAgICB9XG4gICAgY29udGVudFR5cGUgPSBcInRleHQveC1jb21wb25lbnQ7IGNoYXJzZXQ9dXRmLThcIjtcbiAgfSBlbHNlIGlmIChpc0Nzc1JlcXVlc3QpIHtcbiAgICBpZiAoIWlzQ3NzKSB7XG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCArIFwiLmNzc1wiKTtcbiAgICB9XG4gICAgY29udGVudFR5cGUgPSBcInRleHQvY3NzOyBjaGFyc2V0PXV0Zi04XCI7XG4gIH0gZWxzZSBpZiAoaXNKc1JlcXVlc3QpIHtcbiAgICBpZiAoIWlzSlMpIHtcbiAgICAgIGZpbGVQYXRoID0gcmVzb2x2ZShob3N0RGlyLCByb3V0ZUZvckZpbGVQYXRoICsgXCIuanNcIik7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04XCI7XG4gIH0gZWxzZSBpZiAoaXNKc29uUmVxdWVzdCkge1xuICAgIGlmICghaXNKc29uKSB7XG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCArIFwiLmpzb25cIik7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04XCI7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbWltZVR5cGUgPSBNSU1FX1RZUEVTW2V4dF07XG4gICAgaWYgKG1pbWVUeXBlKSB7XG4gICAgICBjb250ZW50VHlwZSA9IG1pbWVUeXBlICsgXCI7IGNoYXJzZXQ9dXRmLThcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGVudFR5cGUgPSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTsgY2hhcnNldD11dGYtOFwiO1xuICAgIH1cbiAgfVxuXG4gIGlmIChoYW5kbGVyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgaWYgKGlzRm9ybUFjdGlvblJlcXVlc3QpIHtcbiAgICAgIGhhbmRsZXJPcHRpb25zLmxvZ2dlci5pbmZvKGBbcmVhY3QtZGV2LXNlcnZlcl0gKGZvcm0tYWN0aW9uKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0KSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChzZXJ2ZXItYWN0aW9uKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNIdG1sUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoaHRtbCkgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2UgaWYgKGlzUnNjUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAocnNjKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNDc3NSZXF1ZXN0KSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChjc3MpICR7cm91dGV9YCk7XG4gICAgfSBlbHNlIGlmIChpc0pzUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoanMpICR7cm91dGV9YCk7XG4gICAgfSBlbHNlIGlmIChpc0pzb25SZXF1ZXN0KSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChqc29uKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChvdGhlcikgJHtyb3V0ZX1gKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICByb3V0ZSxcbiAgICB1cmw6IHJvdXRlVG9VUkwocm91dGUsIGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwsIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgpLFxuICAgIGV4dCxcbiAgICBpc0h0bWxSZXF1ZXN0LFxuICAgIGlzUnNjUmVxdWVzdCxcbiAgICBpc0Nzc1JlcXVlc3QsXG4gICAgaXNDc3MsXG4gICAgaXNIdG1sLFxuICAgIGlzUnNjLFxuICAgIGlzRm9sZGVyLFxuICAgIGNvbnRlbnRUeXBlLFxuICAgIGZpbGVQYXRoLFxuICAgIGlzSlMsXG4gICAgaXNWZW5kb3IsXG4gICAgaXNWaXJ0dWFsLFxuICAgIGhhc0pzSGVhZGVyLFxuICAgIGlzSnNSZXF1ZXN0LFxuICAgIGlzSnNvbixcbiAgICBpc0pzb25SZXF1ZXN0LFxuICAgIGhhc0Nzc0hlYWRlcixcbiAgICBoYXNKc29uSGVhZGVyLFxuICAgIGhhc0h0bWxIZWFkZXIsXG4gICAgaGFzUnNjSGVhZGVyLFxuICAgIGhhc1NlcnZlckFjdGlvbkhlYWRlcnMsXG4gICAgaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0LFxuICAgIGlzRm9y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
@@ -1 +1 @@
1
- {"version":3,"file":"requestToRoute.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/requestToRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EACrB,cAAc,EAAE,IAAI,CAClB,oBAAoB,EACpB,gBAAgB,GAAG,eAAe,GAAG,OAAO,CAC7C,sBAyCF"}
1
+ {"version":3,"file":"requestToRoute.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/requestToRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EACrB,cAAc,EAAE,IAAI,CAClB,oBAAoB,EACpB,gBAAgB,GAAG,eAAe,GAAG,OAAO,CAC7C,sBA0CF"}
@@ -4,7 +4,7 @@
4
4
  * MIT License
5
5
  */
6
6
  function requestToRoute(req, handlerOptions) {
7
- let route = req.url?.replace(
7
+ let route = req.url?.split("?")[0].replace(
8
8
  handlerOptions.moduleBaseURL + handlerOptions.build.rscOutputPath,
9
9
  ""
10
10
  ).replace(
@@ -29,4 +29,4 @@ function requestToRoute(req, handlerOptions) {
29
29
  }
30
30
 
31
31
  export { requestToRoute };
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdFRvUm91dGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL3JlcXVlc3RUb1JvdXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlSGFuZGxlck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3RUb1JvdXRlKFxuICByZXE6IHsgdXJsPzogc3RyaW5nIH0sXG4gIGhhbmRsZXJPcHRpb25zOiBQaWNrPFxuICAgIENyZWF0ZUhhbmRsZXJPcHRpb25zLFxuICAgIFwibW9kdWxlQmFzZVBhdGhcIiB8IFwibW9kdWxlQmFzZVVSTFwiIHwgXCJidWlsZFwiXG4gID5cbikge1xuICBsZXQgcm91dGUgPSByZXEudXJsXG4gICAgPy5yZXBsYWNlKFxuICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVVSTCArIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgsXG4gICAgICBcIlwiXG4gICAgKVxuICAgIC5yZXBsYWNlKFxuICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVVSTCArIGhhbmRsZXJPcHRpb25zLmJ1aWxkLmh0bWxPdXRwdXRQYXRoLFxuICAgICAgXCJcIlxuICAgIClcbiAgICAucmVwbGFjZSgvXlxcL2luZGV4JC8sIFwiL1wiKTtcbiAgaWYgKHR5cGVvZiByb3V0ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiByb3V0ZTtcbiAgfVxuICBcbiAgLy8gU3RyaXAgbW9kdWxlQmFzZVVSTCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJvdXRlXG4gIGlmIChyb3V0ZS5zdGFydHNXaXRoKGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwpKSB7XG4gICAgcm91dGUgPSByb3V0ZS5zbGljZShoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLmxlbmd0aCk7XG4gIH1cbiAgaWYocm91dGUuZW5kc1dpdGgoaGFuZGxlck9wdGlvbnMuYnVpbGQucnNjT3V0cHV0UGF0aCkpIHtcbiAgICByb3V0ZSA9IHJvdXRlLnNsaWNlKDAsIC1oYW5kbGVyT3B0aW9ucy5idWlsZC5yc2NPdXRwdXRQYXRoLmxlbmd0aCk7XG4gIH1cbiAgXG4gIGlmIChyb3V0ZS5zdGFydHNXaXRoKGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VQYXRoKSkge1xuICAgIHJvdXRlID0gcm91dGUuc2xpY2UoaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVBhdGgubGVuZ3RoKTtcbiAgfVxuXG4gIGNvbnN0IHJvdXRlV2l0aG91dFRyYWlsaW5nU2xhc2ggPVxuICAgIHJvdXRlID09PSBcIlwiIHx8IHJvdXRlID09PSBcIi9cIlxuICAgICAgPyBcIi9cIlxuICAgICAgOiByb3V0ZS5lbmRzV2l0aChcIi9cIilcbiAgICAgID8gcm91dGUuc2xpY2UoMCwgLTEpXG4gICAgICA6IHJvdXRlO1xuXG4gIGNvbnN0IHJvdXRlV2l0aExlYWRpbmdTbGFzaCA9ICFyb3V0ZVdpdGhvdXRUcmFpbGluZ1NsYXNoXG4gICAgPyBcIi9cIlxuICAgIDogcm91dGVXaXRob3V0VHJhaWxpbmdTbGFzaC5zdGFydHNXaXRoKFwiL1wiKVxuICAgID8gcm91dGVXaXRob3V0VHJhaWxpbmdTbGFzaFxuICAgIDogYC8ke3JvdXRlV2l0aG91dFRyYWlsaW5nU2xhc2h9YDtcbiAgcmV0dXJuIHJvdXRlV2l0aExlYWRpbmdTbGFzaDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVPLFNBQVMsY0FBQSxDQUNkLEtBQ0EsY0FJQSxFQUFBO0FBQ0EsRUFBSSxJQUFBLEtBQUEsR0FBUSxJQUFJLEdBQ1osRUFBQSxPQUFBO0FBQUEsSUFDQSxjQUFBLENBQWUsYUFBZ0IsR0FBQSxjQUFBLENBQWUsS0FBTSxDQUFBLGFBQUE7QUFBQSxJQUNwRDtBQUFBLEdBRUQsQ0FBQSxPQUFBO0FBQUEsSUFDQyxjQUFBLENBQWUsYUFBZ0IsR0FBQSxjQUFBLENBQWUsS0FBTSxDQUFBLGNBQUE7QUFBQSxJQUNwRDtBQUFBLEdBQ0YsQ0FDQyxPQUFRLENBQUEsV0FBQSxFQUFhLEdBQUcsQ0FBQTtBQUMzQixFQUFJLElBQUEsT0FBTyxVQUFVLFFBQVUsRUFBQTtBQUM3QixJQUFPLE9BQUEsS0FBQTtBQUFBO0FBSVQsRUFBQSxJQUFJLEtBQU0sQ0FBQSxVQUFBLENBQVcsY0FBZSxDQUFBLGFBQWEsQ0FBRyxFQUFBO0FBQ2xELElBQUEsS0FBQSxHQUFRLEtBQU0sQ0FBQSxLQUFBLENBQU0sY0FBZSxDQUFBLGFBQUEsQ0FBYyxNQUFNLENBQUE7QUFBQTtBQUV6RCxFQUFBLElBQUcsS0FBTSxDQUFBLFFBQUEsQ0FBUyxjQUFlLENBQUEsS0FBQSxDQUFNLGFBQWEsQ0FBRyxFQUFBO0FBQ3JELElBQUEsS0FBQSxHQUFRLE1BQU0sS0FBTSxDQUFBLENBQUEsRUFBRyxDQUFDLGNBQWUsQ0FBQSxLQUFBLENBQU0sY0FBYyxNQUFNLENBQUE7QUFBQTtBQUduRSxFQUFBLElBQUksS0FBTSxDQUFBLFVBQUEsQ0FBVyxjQUFlLENBQUEsY0FBYyxDQUFHLEVBQUE7QUFDbkQsSUFBQSxLQUFBLEdBQVEsS0FBTSxDQUFBLEtBQUEsQ0FBTSxjQUFlLENBQUEsY0FBQSxDQUFlLE1BQU0sQ0FBQTtBQUFBO0FBRzFELEVBQUEsTUFBTSx5QkFDSixHQUFBLEtBQUEsS0FBVSxFQUFNLElBQUEsS0FBQSxLQUFVLE1BQ3RCLEdBQ0EsR0FBQSxLQUFBLENBQU0sUUFBUyxDQUFBLEdBQUcsQ0FDbEIsR0FBQSxLQUFBLENBQU0sS0FBTSxDQUFBLENBQUEsRUFBRyxFQUFFLENBQ2pCLEdBQUEsS0FBQTtBQUVOLEVBQU0sTUFBQSxxQkFBQSxHQUF3QixDQUFDLHlCQUFBLEdBQzNCLEdBQ0EsR0FBQSx5QkFBQSxDQUEwQixXQUFXLEdBQUcsQ0FBQSxHQUN4Qyx5QkFDQSxHQUFBLENBQUEsQ0FBQSxFQUFJLHlCQUF5QixDQUFBLENBQUE7QUFDakMsRUFBTyxPQUFBLHFCQUFBO0FBQ1Q7Ozs7In0=
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdFRvUm91dGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL3JlcXVlc3RUb1JvdXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlSGFuZGxlck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3RUb1JvdXRlKFxuICByZXE6IHsgdXJsPzogc3RyaW5nIH0sXG4gIGhhbmRsZXJPcHRpb25zOiBQaWNrPFxuICAgIENyZWF0ZUhhbmRsZXJPcHRpb25zLFxuICAgIFwibW9kdWxlQmFzZVBhdGhcIiB8IFwibW9kdWxlQmFzZVVSTFwiIHwgXCJidWlsZFwiXG4gID5cbikge1xuICAvLyBTdHJpcCBxdWVyeSBzdHJpbmcgYmVmb3JlIHJvdXRlIG1hdGNoaW5nXG4gIGxldCByb3V0ZSA9IHJlcS51cmw/LnNwbGl0KFwiP1wiKVswXVxuICAgIC5yZXBsYWNlKFxuICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVVSTCArIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgsXG4gICAgICBcIlwiXG4gICAgKVxuICAgIC5yZXBsYWNlKFxuICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVVSTCArIGhhbmRsZXJPcHRpb25zLmJ1aWxkLmh0bWxPdXRwdXRQYXRoLFxuICAgICAgXCJcIlxuICAgIClcbiAgICAucmVwbGFjZSgvXlxcL2luZGV4JC8sIFwiL1wiKTtcbiAgaWYgKHR5cGVvZiByb3V0ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiByb3V0ZTtcbiAgfVxuICBcbiAgLy8gU3RyaXAgbW9kdWxlQmFzZVVSTCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJvdXRlXG4gIGlmIChyb3V0ZS5zdGFydHNXaXRoKGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwpKSB7XG4gICAgcm91dGUgPSByb3V0ZS5zbGljZShoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLmxlbmd0aCk7XG4gIH1cbiAgaWYocm91dGUuZW5kc1dpdGgoaGFuZGxlck9wdGlvbnMuYnVpbGQucnNjT3V0cHV0UGF0aCkpIHtcbiAgICByb3V0ZSA9IHJvdXRlLnNsaWNlKDAsIC1oYW5kbGVyT3B0aW9ucy5idWlsZC5yc2NPdXRwdXRQYXRoLmxlbmd0aCk7XG4gIH1cbiAgXG4gIGlmIChyb3V0ZS5zdGFydHNXaXRoKGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VQYXRoKSkge1xuICAgIHJvdXRlID0gcm91dGUuc2xpY2UoaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVBhdGgubGVuZ3RoKTtcbiAgfVxuXG4gIGNvbnN0IHJvdXRlV2l0aG91dFRyYWlsaW5nU2xhc2ggPVxuICAgIHJvdXRlID09PSBcIlwiIHx8IHJvdXRlID09PSBcIi9cIlxuICAgICAgPyBcIi9cIlxuICAgICAgOiByb3V0ZS5lbmRzV2l0aChcIi9cIilcbiAgICAgID8gcm91dGUuc2xpY2UoMCwgLTEpXG4gICAgICA6IHJvdXRlO1xuXG4gIGNvbnN0IHJvdXRlV2l0aExlYWRpbmdTbGFzaCA9ICFyb3V0ZVdpdGhvdXRUcmFpbGluZ1NsYXNoXG4gICAgPyBcIi9cIlxuICAgIDogcm91dGVXaXRob3V0VHJhaWxpbmdTbGFzaC5zdGFydHNXaXRoKFwiL1wiKVxuICAgID8gcm91dGVXaXRob3V0VHJhaWxpbmdTbGFzaFxuICAgIDogYC8ke3JvdXRlV2l0aG91dFRyYWlsaW5nU2xhc2h9YDtcbiAgcmV0dXJuIHJvdXRlV2l0aExlYWRpbmdTbGFzaDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVPLFNBQVMsY0FBQSxDQUNkLEtBQ0EsY0FJQSxFQUFBO0FBRUEsRUFBQSxJQUFJLFFBQVEsR0FBSSxDQUFBLEdBQUEsRUFBSyxNQUFNLEdBQUcsQ0FBQSxDQUFFLENBQUMsQ0FDOUIsQ0FBQSxPQUFBO0FBQUEsSUFDQyxjQUFBLENBQWUsYUFBZ0IsR0FBQSxjQUFBLENBQWUsS0FBTSxDQUFBLGFBQUE7QUFBQSxJQUNwRDtBQUFBLEdBRUQsQ0FBQSxPQUFBO0FBQUEsSUFDQyxjQUFBLENBQWUsYUFBZ0IsR0FBQSxjQUFBLENBQWUsS0FBTSxDQUFBLGNBQUE7QUFBQSxJQUNwRDtBQUFBLEdBQ0YsQ0FDQyxPQUFRLENBQUEsV0FBQSxFQUFhLEdBQUcsQ0FBQTtBQUMzQixFQUFJLElBQUEsT0FBTyxVQUFVLFFBQVUsRUFBQTtBQUM3QixJQUFPLE9BQUEsS0FBQTtBQUFBO0FBSVQsRUFBQSxJQUFJLEtBQU0sQ0FBQSxVQUFBLENBQVcsY0FBZSxDQUFBLGFBQWEsQ0FBRyxFQUFBO0FBQ2xELElBQUEsS0FBQSxHQUFRLEtBQU0sQ0FBQSxLQUFBLENBQU0sY0FBZSxDQUFBLGFBQUEsQ0FBYyxNQUFNLENBQUE7QUFBQTtBQUV6RCxFQUFBLElBQUcsS0FBTSxDQUFBLFFBQUEsQ0FBUyxjQUFlLENBQUEsS0FBQSxDQUFNLGFBQWEsQ0FBRyxFQUFBO0FBQ3JELElBQUEsS0FBQSxHQUFRLE1BQU0sS0FBTSxDQUFBLENBQUEsRUFBRyxDQUFDLGNBQWUsQ0FBQSxLQUFBLENBQU0sY0FBYyxNQUFNLENBQUE7QUFBQTtBQUduRSxFQUFBLElBQUksS0FBTSxDQUFBLFVBQUEsQ0FBVyxjQUFlLENBQUEsY0FBYyxDQUFHLEVBQUE7QUFDbkQsSUFBQSxLQUFBLEdBQVEsS0FBTSxDQUFBLEtBQUEsQ0FBTSxjQUFlLENBQUEsY0FBQSxDQUFlLE1BQU0sQ0FBQTtBQUFBO0FBRzFELEVBQUEsTUFBTSx5QkFDSixHQUFBLEtBQUEsS0FBVSxFQUFNLElBQUEsS0FBQSxLQUFVLE1BQ3RCLEdBQ0EsR0FBQSxLQUFBLENBQU0sUUFBUyxDQUFBLEdBQUcsQ0FDbEIsR0FBQSxLQUFBLENBQU0sS0FBTSxDQUFBLENBQUEsRUFBRyxFQUFFLENBQ2pCLEdBQUEsS0FBQTtBQUVOLEVBQU0sTUFBQSxxQkFBQSxHQUF3QixDQUFDLHlCQUFBLEdBQzNCLEdBQ0EsR0FBQSx5QkFBQSxDQUEwQixXQUFXLEdBQUcsQ0FBQSxHQUN4Qyx5QkFDQSxHQUFBLENBQUEsQ0FBQSxFQUFJLHlCQUF5QixDQUFBLENBQUE7QUFDakMsRUFBTyxPQUFBLHFCQUFBO0FBQ1Q7Ozs7In0=