UNPKG

vite-plugin-react-server

Version:
95 lines (92 loc) 15.1 kB
/** * vite-plugin-react-server * Copyright (c) Nico Brinkkemper * MIT License */ import { cleanObject } from './cleanObject.js'; import { processForSerialization } from './serializeUserOptions.js'; function createSerializableHandlerOptions(options) { const { // Extract serializable parts id, route, url, pagePath, propsPath, rootPath, htmlPath, pageExportName, propsExportName, rootExportName, htmlExportName, projectRoot, moduleRootPath, moduleBaseURL, moduleBasePath, moduleBase, build, cssFiles, globalCss, pageProps, css, autoDiscover, clientPipeableStreamOptions, serverPipeableStreamOptions, ...rest } = options; const result = { route: route || "", url: url || "" }; if (typeof id === "string") result.id = id; if (typeof pagePath === "string") result.pagePath = pagePath; if (typeof propsPath === "string") result.propsPath = propsPath; if (typeof rootPath === "string") result.rootPath = rootPath; if (typeof htmlPath === "string") result.htmlPath = htmlPath; if (typeof pageExportName === "string") result.pageExportName = pageExportName; if (typeof propsExportName === "string") result.propsExportName = propsExportName; if (typeof rootExportName === "string") result.rootExportName = rootExportName; if (typeof htmlExportName === "string") result.htmlExportName = htmlExportName; if (typeof projectRoot === "string") result.projectRoot = projectRoot; if (typeof moduleRootPath === "string") result.moduleRootPath = moduleRootPath; if (typeof moduleBaseURL === "string") result.moduleBaseURL = moduleBaseURL; if (typeof moduleBasePath === "string") result.moduleBasePath = moduleBasePath; if (typeof moduleBase === "string") result.moduleBase = moduleBase; if (build != null) { const cleanedBuild = cleanObject(build, /* @__PURE__ */ new Set([ "entryFile", "chunkFile", "assetFile" ])); result.build = processForSerialization(cleanedBuild); } const cleanedOptions = cleanObject(rest, /* @__PURE__ */ new Set([ "normalizer", "loader", "onEvent", "onMetrics" ])); const processedRest = processForSerialization(cleanedOptions); if (css != null) result.css = css; if (autoDiscover != null) { const cleanedAutoDiscover = cleanObject(autoDiscover); result.autoDiscover = processForSerialization(cleanedAutoDiscover); } if (cssFiles != null) result.cssFiles = cssFiles; if (globalCss != null) result.globalCss = globalCss; if (pageProps != null) result.pageProps = pageProps; if (clientPipeableStreamOptions != null) { const cleanedClientOptions = cleanObject(clientPipeableStreamOptions); result.clientPipeableStreamOptions = processForSerialization(cleanedClientOptions); } if (serverPipeableStreamOptions != null) { const cleanedServerOptions = cleanObject(serverPipeableStreamOptions); result.serverPipeableStreamOptions = processForSerialization(cleanedServerOptions); } return { ...result, ...processedRest }; } export { createSerializableHandlerOptions }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlU2VyaWFsaXphYmxlSGFuZGxlck9wdGlvbnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL2NyZWF0ZVNlcmlhbGl6YWJsZUhhbmRsZXJPcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlSGFuZGxlck9wdGlvbnMsIFBhbmljVGhyZXNob2xkIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyBjbGVhbk9iamVjdCB9IGZyb20gXCIuL2NsZWFuT2JqZWN0LmpzXCI7XG5pbXBvcnQgeyBwcm9jZXNzRm9yU2VyaWFsaXphdGlvbiB9IGZyb20gXCIuL3NlcmlhbGl6ZVVzZXJPcHRpb25zLmpzXCI7XG5cbi8qKlxuICogU2VyaWFsaXphYmxlIGhhbmRsZXIgb3B0aW9ucyB0aGF0IGNhbiBiZSBzYWZlbHkgcGFzc2VkIHRvIHdvcmtlcnNcbiAqIFxuICogVGhpcyBleHRyYWN0cyBvbmx5IHRoZSBzZXJpYWxpemFibGUgcGFydHMgb2YgQ3JlYXRlSGFuZGxlck9wdGlvbnMsXG4gKiBleGNsdWRpbmcgZnVuY3Rpb25zLCBSZWFjdCBjb21wb25lbnRzLCBhbmQgb3RoZXIgbm9uLXNlcmlhbGl6YWJsZSBkYXRhLlxuICogXG4gKiBXSEFUJ1MgSU5DTFVERUQ6XG4gKiAtIEFsbCBwcmltaXRpdmUgdmFsdWVzIChzdHJpbmdzLCBudW1iZXJzLCBib29sZWFucylcbiAqIC0gQ29uZmlndXJhdGlvbiBvYmplY3RzIChidWlsZCwgdXNlck9wdGlvbnMsIGV0Yy4pXG4gKiAtIEZpbGUgcGF0aHMgYW5kIFVSTHNcbiAqIC0gQ1NTIGRhdGEgKGNzc0ZpbGVzLCBnbG9iYWxDc3MpXG4gKiBcbiAqIFdIQVQnUyBFWENMVURFRDpcbiAqIC0gUmVhY3QgY29tcG9uZW50cyAoUGFnZUNvbXBvbmVudCwgUm9vdENvbXBvbmVudCwgSHRtbENvbXBvbmVudClcbiAqIC0gRnVuY3Rpb25zIChsb2FkZXIsIG5vcm1hbGl6ZXIsIG9uRXZlbnQsIG9uTWV0cmljcylcbiAqIC0gTG9nZ2VyIGluc3RhbmNlc1xuICogLSBNb2R1bGUgSURzIGFuZCBhdXRvRGlzY292ZXIgZnVuY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWFsaXphYmxlSGFuZGxlck9wdGlvbnMge1xuICAvLyBDb3JlIGlkZW50aWZpY2F0aW9uXG4gIGlkPzogc3RyaW5nO1xuICByb3V0ZTogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgXG4gIC8vIEZpbGUgcGF0aHNcbiAgcGFnZVBhdGg6IHN0cmluZztcbiAgcHJvcHNQYXRoPzogc3RyaW5nO1xuICByb290UGF0aD86IHN0cmluZztcbiAgaHRtbFBhdGg/OiBzdHJpbmc7XG4gIFxuICAvLyBFeHBvcnQgbmFtZXNcbiAgcGFnZUV4cG9ydE5hbWU6IHN0cmluZztcbiAgcHJvcHNFeHBvcnROYW1lOiBzdHJpbmc7XG4gIHJvb3RFeHBvcnROYW1lOiBzdHJpbmc7XG4gIGh0bWxFeHBvcnROYW1lOiBzdHJpbmc7XG4gIFxuICAvLyBNb2R1bGUgY29uZmlndXJhdGlvblxuICBwcm9qZWN0Um9vdDogc3RyaW5nO1xuICBtb2R1bGVSb290UGF0aDogc3RyaW5nO1xuICBtb2R1bGVCYXNlVVJMOiBzdHJpbmc7XG4gIG1vZHVsZUJhc2VQYXRoOiBzdHJpbmc7XG4gIG1vZHVsZUJhc2U/OiBzdHJpbmc7XG4gIHB1YmxpY09yaWdpbjogc3RyaW5nO1xuICBcbiAgLy8gQnVpbGQgY29uZmlndXJhdGlvblxuICBidWlsZDogQ3JlYXRlSGFuZGxlck9wdGlvbnNbXCJidWlsZFwiXTtcbiAgZGV2OiBDcmVhdGVIYW5kbGVyT3B0aW9uc1tcImRldlwiXTtcbiAgXG4gIC8vIENTUyBjb25maWd1cmF0aW9uXG4gIGNzczogQ3JlYXRlSGFuZGxlck9wdGlvbnNbXCJjc3NcIl07XG4gIFxuICAvLyBBdXRvLWRpc2NvdmVyeSBjb25maWd1cmF0aW9uXG4gIGF1dG9EaXNjb3Zlcj86IENyZWF0ZUhhbmRsZXJPcHRpb25zW1wiYXV0b0Rpc2NvdmVyXCJdXG4gIFxuICAvLyBDU1MgZGF0YVxuICBjc3NGaWxlcz86IE1hcDxzdHJpbmcsIGFueT47XG4gIGdsb2JhbENzcz86IE1hcDxzdHJpbmcsIGFueT47XG4gIFxuICAvLyBQYWdlIHByb3BzIChtdXN0IGJlIHNlcmlhbGl6YWJsZSlcbiAgcGFnZVByb3BzOiBhbnk7XG4gIFxuICAvLyBQYW5pYyB0aHJlc2hvbGRcbiAgcGFuaWNUaHJlc2hvbGQ6IFBhbmljVGhyZXNob2xkO1xuICBcbiAgLy8gVGltZW91dHNcbiAgaHRtbFRpbWVvdXQ/OiBudW1iZXI7XG4gIFxuICAvLyBTdHJlYW0gb3B0aW9uc1xuICBjbGllbnRQaXBlYWJsZVN0cmVhbU9wdGlvbnM/OiBPbWl0PE5vbk51bGxhYmxlPENyZWF0ZUhhbmRsZXJPcHRpb25zW1wiY2xpZW50UGlwZWFibGVTdHJlYW1PcHRpb25zXCJdPiwgYG9uJHtzdHJpbmd9YCB8ICdmaWx0ZXJTdGFja0ZyYW1lJz47XG4gIHNlcnZlclBpcGVhYmxlU3RyZWFtT3B0aW9ucz86IE9taXQ8Tm9uTnVsbGFibGU8Q3JlYXRlSGFuZGxlck9wdGlvbnNbXCJzZXJ2ZXJQaXBlYWJsZVN0cmVhbU9wdGlvbnNcIl0+LCBgb24ke3N0cmluZ31gPjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHNlcmlhbGl6YWJsZSBoYW5kbGVyIG9wdGlvbnMgZnJvbSBmdWxsIENyZWF0ZUhhbmRsZXJPcHRpb25zXG4gKiBcbiAqIFRoaXMgZnVuY3Rpb24gc3RyaXBzIG91dCBub24tc2VyaWFsaXphYmxlIHBhcnRzIChSZWFjdCBjb21wb25lbnRzLCBmdW5jdGlvbnMpXG4gKiBhbmQgcmV0dXJucyBvbmx5IHRoZSBkYXRhIHRoYXQgY2FuIGJlIHNhZmVseSBwYXNzZWQgdG8gd29ya2Vycy5cbiAqIFxuICogQHBhcmFtIG9wdGlvbnMgLSBGdWxsIENyZWF0ZUhhbmRsZXJPcHRpb25zIG9iamVjdFxuICogQHJldHVybnMgU2VyaWFsaXphYmxlIG9wdGlvbnMgZm9yIHdvcmtlciBjb21tdW5pY2F0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZXJpYWxpemFibGVIYW5kbGVyT3B0aW9ucyhcbiAgb3B0aW9uczogUGFydGlhbDxDcmVhdGVIYW5kbGVyT3B0aW9ucz5cbik6IFNlcmlhbGl6YWJsZUhhbmRsZXJPcHRpb25zIHtcbiAgY29uc3Qge1xuICAgIC8vIEV4dHJhY3Qgc2VyaWFsaXphYmxlIHBhcnRzXG4gICAgaWQsXG4gICAgcm91dGUsXG4gICAgdXJsLFxuICAgIHBhZ2VQYXRoLFxuICAgIHByb3BzUGF0aCxcbiAgICByb290UGF0aCxcbiAgICBodG1sUGF0aCxcbiAgICBwYWdlRXhwb3J0TmFtZSxcbiAgICBwcm9wc0V4cG9ydE5hbWUsXG4gICAgcm9vdEV4cG9ydE5hbWUsXG4gICAgaHRtbEV4cG9ydE5hbWUsXG4gICAgcHJvamVjdFJvb3QsXG4gICAgbW9kdWxlUm9vdFBhdGgsXG4gICAgbW9kdWxlQmFzZVVSTCxcbiAgICBtb2R1bGVCYXNlUGF0aCxcbiAgICBtb2R1bGVCYXNlLFxuICAgIGJ1aWxkLFxuICAgIGNzc0ZpbGVzLFxuICAgIGdsb2JhbENzcyxcbiAgICBwYWdlUHJvcHMsXG4gICAgY3NzLFxuICAgIGF1dG9EaXNjb3ZlcixcbiAgICBjbGllbnRQaXBlYWJsZVN0cmVhbU9wdGlvbnMsXG4gICAgc2VydmVyUGlwZWFibGVTdHJlYW1PcHRpb25zLFxuICAgIC4uLnJlc3RcbiAgfSA9IG9wdGlvbnM7XG5cblxuICBjb25zdCByZXN1bHQ6IGFueSA9IHtcbiAgICByb3V0ZTogcm91dGUgfHwgXCJcIixcbiAgICB1cmw6IHVybCB8fCBcIlwiLFxuICB9O1xuXG4gIC8vIE9ubHkgaW5jbHVkZSBwcm9wZXJ0aWVzIGlmIHRoZXkgZXhpc3RcbiAgaWYgKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHJlc3VsdC5pZCA9IGlkO1xuICBpZiAodHlwZW9mIHBhZ2VQYXRoID09PSAnc3RyaW5nJykgcmVzdWx0LnBhZ2VQYXRoID0gcGFnZVBhdGg7XG4gIGlmICh0eXBlb2YgcHJvcHNQYXRoID09PSAnc3RyaW5nJykgcmVzdWx0LnByb3BzUGF0aCA9IHByb3BzUGF0aDtcbiAgaWYgKHR5cGVvZiByb290UGF0aCA9PT0gJ3N0cmluZycpIHJlc3VsdC5yb290UGF0aCA9IHJvb3RQYXRoO1xuICBpZiAodHlwZW9mIGh0bWxQYXRoID09PSAnc3RyaW5nJykgcmVzdWx0Lmh0bWxQYXRoID0gaHRtbFBhdGg7XG4gIGlmICh0eXBlb2YgcGFnZUV4cG9ydE5hbWUgPT09ICdzdHJpbmcnKSByZXN1bHQucGFnZUV4cG9ydE5hbWUgPSBwYWdlRXhwb3J0TmFtZTtcbiAgaWYgKHR5cGVvZiBwcm9wc0V4cG9ydE5hbWUgPT09ICdzdHJpbmcnKSByZXN1bHQucHJvcHNFeHBvcnROYW1lID0gcHJvcHNFeHBvcnROYW1lO1xuICBpZiAodHlwZW9mIHJvb3RFeHBvcnROYW1lID09PSAnc3RyaW5nJykgcmVzdWx0LnJvb3RFeHBvcnROYW1lID0gcm9vdEV4cG9ydE5hbWU7XG4gIGlmICh0eXBlb2YgaHRtbEV4cG9ydE5hbWUgPT09ICdzdHJpbmcnKSByZXN1bHQuaHRtbEV4cG9ydE5hbWUgPSBodG1sRXhwb3J0TmFtZTtcbiAgaWYgKHR5cGVvZiBwcm9qZWN0Um9vdCA9PT0gJ3N0cmluZycpIHJlc3VsdC5wcm9qZWN0Um9vdCA9IHByb2plY3RSb290O1xuICBpZiAodHlwZW9mIG1vZHVsZVJvb3RQYXRoID09PSAnc3RyaW5nJykgcmVzdWx0Lm1vZHVsZVJvb3RQYXRoID0gbW9kdWxlUm9vdFBhdGg7XG4gIGlmICh0eXBlb2YgbW9kdWxlQmFzZVVSTCA9PT0gJ3N0cmluZycpIHJlc3VsdC5tb2R1bGVCYXNlVVJMID0gbW9kdWxlQmFzZVVSTDtcbiAgaWYgKHR5cGVvZiBtb2R1bGVCYXNlUGF0aCA9PT0gJ3N0cmluZycpIHJlc3VsdC5tb2R1bGVCYXNlUGF0aCA9IG1vZHVsZUJhc2VQYXRoO1xuICBpZiAodHlwZW9mIG1vZHVsZUJhc2UgPT09ICdzdHJpbmcnKSByZXN1bHQubW9kdWxlQmFzZSA9IG1vZHVsZUJhc2U7XG4gIGlmIChidWlsZCAhPSBudWxsKSB7XG4gICAgLy8gQ2xlYW4gdGhlIGJ1aWxkIG9iamVjdCB0byByZW1vdmUgZnVuY3Rpb25zIHRoYXQgY2FuJ3QgYmUgY2xvbmVkXG4gICAgY29uc3QgY2xlYW5lZEJ1aWxkID0gY2xlYW5PYmplY3QoYnVpbGQsIG5ldyBTZXQoW1xuICAgICAgXCJlbnRyeUZpbGVcIixcbiAgICAgIFwiY2h1bmtGaWxlXCIsIFxuICAgICAgXCJhc3NldEZpbGVcIlxuICAgIF0pKTtcbiAgICByZXN1bHQuYnVpbGQgPSBwcm9jZXNzRm9yU2VyaWFsaXphdGlvbihjbGVhbmVkQnVpbGQpO1xuICB9XG5cbiAgLy8gQ2xlYW4gdGhlIGVudGlyZSBvcHRpb25zIG9iamVjdCB0byByZW1vdmUgb3RoZXIgbm9uLXNlcmlhbGl6YWJsZSBmdW5jdGlvbnNcbiAgY29uc3QgY2xlYW5lZE9wdGlvbnMgPSBjbGVhbk9iamVjdChyZXN0LCBuZXcgU2V0KFtcbiAgICBcIm5vcm1hbGl6ZXJcIixcbiAgICBcImxvYWRlclwiLFxuICAgIFwib25FdmVudFwiLFxuICAgIFwib25NZXRyaWNzXCJcbiAgXSkpO1xuICBjb25zdCBwcm9jZXNzZWRSZXN0ID0gcHJvY2Vzc0ZvclNlcmlhbGl6YXRpb24oY2xlYW5lZE9wdGlvbnMpO1xuICBpZiAoY3NzICE9IG51bGwpIHJlc3VsdC5jc3MgPSBjc3M7XG4gIGlmIChhdXRvRGlzY292ZXIgIT0gbnVsbCkge1xuICAgIC8vIENsZWFuIHRoZSBhdXRvRGlzY292ZXIgb2JqZWN0IHRvIHJlbW92ZSBmdW5jdGlvbnMgdGhhdCBjYW4ndCBiZSBjbG9uZWRcbiAgICBjb25zdCBjbGVhbmVkQXV0b0Rpc2NvdmVyID0gY2xlYW5PYmplY3QoYXV0b0Rpc2NvdmVyKTtcbiAgICByZXN1bHQuYXV0b0Rpc2NvdmVyID0gcHJvY2Vzc0ZvclNlcmlhbGl6YXRpb24oY2xlYW5lZEF1dG9EaXNjb3Zlcik7XG4gIH1cbiAgaWYgKGNzc0ZpbGVzICE9IG51bGwpIHJlc3VsdC5jc3NGaWxlcyA9IGNzc0ZpbGVzO1xuICBpZiAoZ2xvYmFsQ3NzICE9IG51bGwpIHJlc3VsdC5nbG9iYWxDc3MgPSBnbG9iYWxDc3M7XG4gIGlmIChwYWdlUHJvcHMgIT0gbnVsbCkgcmVzdWx0LnBhZ2VQcm9wcyA9IHBhZ2VQcm9wcztcbiAgaWYgKGNsaWVudFBpcGVhYmxlU3RyZWFtT3B0aW9ucyAhPSBudWxsKSB7XG4gICAgLy8gVXNlIHRoZSBleGlzdGluZyBoZWxwZXIgdG8gY2xlYW4gdGhlIG9iamVjdCAtIHRoaXMgd2lsbCBoYW5kbGUgYWxsIG5vbi1mdW5jdGlvbiBwcm9wZXJ0aWVzXG4gICAgY29uc3QgY2xlYW5lZENsaWVudE9wdGlvbnMgPSBjbGVhbk9iamVjdChjbGllbnRQaXBlYWJsZVN0cmVhbU9wdGlvbnMpO1xuICAgIHJlc3VsdC5jbGllbnRQaXBlYWJsZVN0cmVhbU9wdGlvbnMgPSBwcm9jZXNzRm9yU2VyaWFsaXphdGlvbihjbGVhbmVkQ2xpZW50T3B0aW9ucyk7XG4gIH1cbiAgaWYgKHNlcnZlclBpcGVhYmxlU3RyZWFtT3B0aW9ucyAhPSBudWxsKSB7XG4gICAgLy8gVXNlIHRoZSBleGlzdGluZyBoZWxwZXIgdG8gY2xlYW4gdGhlIG9iamVjdCAtIHRoaXMgd2lsbCBoYW5kbGUgYWxsIG5vbi1mdW5jdGlvbiBwcm9wZXJ0aWVzXG4gICAgY29uc3QgY2xlYW5lZFNlcnZlck9wdGlvbnMgPSBjbGVhbk9iamVjdChzZXJ2ZXJQaXBlYWJsZVN0cmVhbU9wdGlvbnMpO1xuICAgIHJlc3VsdC5zZXJ2ZXJQaXBlYWJsZVN0cmVhbU9wdGlvbnMgPSBwcm9jZXNzRm9yU2VyaWFsaXphdGlvbihjbGVhbmVkU2VydmVyT3B0aW9ucyk7XG4gICAgXG4gICAgICB9XG5cbiAgLy8gSW5jbHVkZSBhbnkgb3RoZXIgc2VyaWFsaXphYmxlIHByb3BlcnRpZXMgdXNpbmcgZXhpc3RpbmcgaGVscGVyXG4gIHJldHVybiB7XG4gICAgLi4ucmVzdWx0LFxuICAgIC4uLnByb2Nlc3NlZFJlc3QsXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFxRk8sU0FBUyxpQ0FDZCxPQUM0QixFQUFBO0FBQzVCLEVBQU0sTUFBQTtBQUFBO0FBQUEsSUFFSixFQUFBO0FBQUEsSUFDQSxLQUFBO0FBQUEsSUFDQSxHQUFBO0FBQUEsSUFDQSxRQUFBO0FBQUEsSUFDQSxTQUFBO0FBQUEsSUFDQSxRQUFBO0FBQUEsSUFDQSxRQUFBO0FBQUEsSUFDQSxjQUFBO0FBQUEsSUFDQSxlQUFBO0FBQUEsSUFDQSxjQUFBO0FBQUEsSUFDQSxjQUFBO0FBQUEsSUFDQSxXQUFBO0FBQUEsSUFDQSxjQUFBO0FBQUEsSUFDQSxhQUFBO0FBQUEsSUFDQSxjQUFBO0FBQUEsSUFDQSxVQUFBO0FBQUEsSUFDQSxLQUFBO0FBQUEsSUFDQSxRQUFBO0FBQUEsSUFDQSxTQUFBO0FBQUEsSUFDQSxTQUFBO0FBQUEsSUFDQSxHQUFBO0FBQUEsSUFDQSxZQUFBO0FBQUEsSUFDQSwyQkFBQTtBQUFBLElBQ0EsMkJBQUE7QUFBQSxJQUNBLEdBQUc7QUFBQSxHQUNELEdBQUEsT0FBQTtBQUdKLEVBQUEsTUFBTSxNQUFjLEdBQUE7QUFBQSxJQUNsQixPQUFPLEtBQVMsSUFBQSxFQUFBO0FBQUEsSUFDaEIsS0FBSyxHQUFPLElBQUE7QUFBQSxHQUNkO0FBR0EsRUFBQSxJQUFJLE9BQU8sRUFBQSxLQUFPLFFBQVUsRUFBQSxNQUFBLENBQU8sRUFBSyxHQUFBLEVBQUE7QUFDeEMsRUFBQSxJQUFJLE9BQU8sUUFBQSxLQUFhLFFBQVUsRUFBQSxNQUFBLENBQU8sUUFBVyxHQUFBLFFBQUE7QUFDcEQsRUFBQSxJQUFJLE9BQU8sU0FBQSxLQUFjLFFBQVUsRUFBQSxNQUFBLENBQU8sU0FBWSxHQUFBLFNBQUE7QUFDdEQsRUFBQSxJQUFJLE9BQU8sUUFBQSxLQUFhLFFBQVUsRUFBQSxNQUFBLENBQU8sUUFBVyxHQUFBLFFBQUE7QUFDcEQsRUFBQSxJQUFJLE9BQU8sUUFBQSxLQUFhLFFBQVUsRUFBQSxNQUFBLENBQU8sUUFBVyxHQUFBLFFBQUE7QUFDcEQsRUFBQSxJQUFJLE9BQU8sY0FBQSxLQUFtQixRQUFVLEVBQUEsTUFBQSxDQUFPLGNBQWlCLEdBQUEsY0FBQTtBQUNoRSxFQUFBLElBQUksT0FBTyxlQUFBLEtBQW9CLFFBQVUsRUFBQSxNQUFBLENBQU8sZUFBa0IsR0FBQSxlQUFBO0FBQ2xFLEVBQUEsSUFBSSxPQUFPLGNBQUEsS0FBbUIsUUFBVSxFQUFBLE1BQUEsQ0FBTyxjQUFpQixHQUFBLGNBQUE7QUFDaEUsRUFBQSxJQUFJLE9BQU8sY0FBQSxLQUFtQixRQUFVLEVBQUEsTUFBQSxDQUFPLGNBQWlCLEdBQUEsY0FBQTtBQUNoRSxFQUFBLElBQUksT0FBTyxXQUFBLEtBQWdCLFFBQVUsRUFBQSxNQUFBLENBQU8sV0FBYyxHQUFBLFdBQUE7QUFDMUQsRUFBQSxJQUFJLE9BQU8sY0FBQSxLQUFtQixRQUFVLEVBQUEsTUFBQSxDQUFPLGNBQWlCLEdBQUEsY0FBQTtBQUNoRSxFQUFBLElBQUksT0FBTyxhQUFBLEtBQWtCLFFBQVUsRUFBQSxNQUFBLENBQU8sYUFBZ0IsR0FBQSxhQUFBO0FBQzlELEVBQUEsSUFBSSxPQUFPLGNBQUEsS0FBbUIsUUFBVSxFQUFBLE1BQUEsQ0FBTyxjQUFpQixHQUFBLGNBQUE7QUFDaEUsRUFBQSxJQUFJLE9BQU8sVUFBQSxLQUFlLFFBQVUsRUFBQSxNQUFBLENBQU8sVUFBYSxHQUFBLFVBQUE7QUFDeEQsRUFBQSxJQUFJLFNBQVMsSUFBTSxFQUFBO0FBRWpCLElBQUEsTUFBTSxZQUFlLEdBQUEsV0FBQSxDQUFZLEtBQU8sa0JBQUEsSUFBSSxHQUFJLENBQUE7QUFBQSxNQUM5QyxXQUFBO0FBQUEsTUFDQSxXQUFBO0FBQUEsTUFDQTtBQUFBLEtBQ0QsQ0FBQyxDQUFBO0FBQ0YsSUFBTyxNQUFBLENBQUEsS0FBQSxHQUFRLHdCQUF3QixZQUFZLENBQUE7QUFBQTtBQUlyRCxFQUFBLE1BQU0sY0FBaUIsR0FBQSxXQUFBLENBQVksSUFBTSxrQkFBQSxJQUFJLEdBQUksQ0FBQTtBQUFBLElBQy9DLFlBQUE7QUFBQSxJQUNBLFFBQUE7QUFBQSxJQUNBLFNBQUE7QUFBQSxJQUNBO0FBQUEsR0FDRCxDQUFDLENBQUE7QUFDRixFQUFNLE1BQUEsYUFBQSxHQUFnQix3QkFBd0IsY0FBYyxDQUFBO0FBQzVELEVBQUksSUFBQSxHQUFBLElBQU8sSUFBTSxFQUFBLE1BQUEsQ0FBTyxHQUFNLEdBQUEsR0FBQTtBQUM5QixFQUFBLElBQUksZ0JBQWdCLElBQU0sRUFBQTtBQUV4QixJQUFNLE1BQUEsbUJBQUEsR0FBc0IsWUFBWSxZQUFZLENBQUE7QUFDcEQsSUFBTyxNQUFBLENBQUEsWUFBQSxHQUFlLHdCQUF3QixtQkFBbUIsQ0FBQTtBQUFBO0FBRW5FLEVBQUksSUFBQSxRQUFBLElBQVksSUFBTSxFQUFBLE1BQUEsQ0FBTyxRQUFXLEdBQUEsUUFBQTtBQUN4QyxFQUFJLElBQUEsU0FBQSxJQUFhLElBQU0sRUFBQSxNQUFBLENBQU8sU0FBWSxHQUFBLFNBQUE7QUFDMUMsRUFBSSxJQUFBLFNBQUEsSUFBYSxJQUFNLEVBQUEsTUFBQSxDQUFPLFNBQVksR0FBQSxTQUFBO0FBQzFDLEVBQUEsSUFBSSwrQkFBK0IsSUFBTSxFQUFBO0FBRXZDLElBQU0sTUFBQSxvQkFBQSxHQUF1QixZQUFZLDJCQUEyQixDQUFBO0FBQ3BFLElBQU8sTUFBQSxDQUFBLDJCQUFBLEdBQThCLHdCQUF3QixvQkFBb0IsQ0FBQTtBQUFBO0FBRW5GLEVBQUEsSUFBSSwrQkFBK0IsSUFBTSxFQUFBO0FBRXZDLElBQU0sTUFBQSxvQkFBQSxHQUF1QixZQUFZLDJCQUEyQixDQUFBO0FBQ3BFLElBQU8sTUFBQSxDQUFBLDJCQUFBLEdBQThCLHdCQUF3QixvQkFBb0IsQ0FBQTtBQUFBO0FBS25GLEVBQU8sT0FBQTtBQUFBLElBQ0wsR0FBRyxNQUFBO0FBQUEsSUFDSCxHQUFHO0FBQUEsR0FDTDtBQUNGOzs7OyJ9