@analogjs/router 0.2.33 → 0.2.35

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.
@@ -47,4 +47,4 @@ function getMetaTagSelector(metaTag) {
47
47
  }
48
48
  return CHARSET_KEY;
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS10YWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvbWV0YS10YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBK0IsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQTBCLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUN2QyxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQztBQUM5QixNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUM7QUFDbkMsMERBQTBEO0FBQzFELE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDO0FBQzdDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztBQUN4QixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7QUFDaEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBOEI5QixNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsTUFBTSxDQUFDLE1BQU07U0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7U0FDdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNkLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSxLQUFLLE1BQU0sZUFBZSxJQUFJLFVBQVUsRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQ3hCLGVBQWtDLENBQ3RCLENBQUM7WUFDZixXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLEtBQTZCO0lBQ2xELE1BQU0sVUFBVSxHQUFHLEVBQWdCLENBQUM7SUFDcEMsSUFBSSxZQUFZLEdBQWtDLEtBQUssQ0FBQztJQUV4RCxPQUFPLFlBQVksRUFBRTtRQUNuQixNQUFNLFFBQVEsR0FBYyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pFLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFO1lBQzlCLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztTQUNuRDtRQUVELFlBQVksR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0tBQ3hDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsT0FBZ0I7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1FBQ2hCLE9BQU8sR0FBRyxRQUFRLEtBQUssT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDO0tBQ3hDO0lBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1FBQ3BCLE9BQU8sR0FBRyxZQUFZLEtBQUssT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDO0tBQ2hEO0lBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1FBQ3JCLE9BQU8sR0FBRyx1QkFBdUIsS0FBSyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUM7S0FDNUQ7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRhLCBNZXRhRGVmaW5pdGlvbiBhcyBOZ01ldGFUYWcgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBST1VURV9NRVRBX1RBR1NfS0VZID0gU3ltYm9sKFxuICAnQGFuYWxvZ2pzL3JvdXRlciBSb3V0ZSBNZXRhIFRhZ3MgS2V5J1xuKTtcblxuY29uc3QgQ0hBUlNFVF9LRVkgPSAnY2hhcnNldCc7XG5jb25zdCBIVFRQX0VRVUlWX0tFWSA9ICdodHRwRXF1aXYnO1xuLy8gaHR0cEVxdWl2IHNlbGVjdG9yIGtleSBuZWVkcyB0byBiZSBpbiBrZWJhYiBjYXNlIGZvcm1hdFxuY29uc3QgSFRUUF9FUVVJVl9TRUxFQ1RPUl9LRVkgPSAnaHR0cC1lcXVpdic7XG5jb25zdCBOQU1FX0tFWSA9ICduYW1lJztcbmNvbnN0IFBST1BFUlRZX0tFWSA9ICdwcm9wZXJ0eSc7XG5jb25zdCBDT05URU5UX0tFWSA9ICdjb250ZW50JztcblxuZXhwb3J0IHR5cGUgTWV0YVRhZyA9XG4gIHwgKENoYXJzZXRNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgQ0hBUlNFVF9LRVk+KVxuICB8IChIdHRwRXF1aXZNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgSFRUUF9FUVVJVl9LRVk+KVxuICB8IChOYW1lTWV0YVRhZyAmIEV4Y2x1ZGVSZXN0TWV0YVRhZ0tleXM8dHlwZW9mIE5BTUVfS0VZPilcbiAgfCAoUHJvcGVydHlNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgUFJPUEVSVFlfS0VZPik7XG5cbnR5cGUgQ2hhcnNldE1ldGFUYWcgPSB7IFtDSEFSU0VUX0tFWV06IHN0cmluZyB9O1xudHlwZSBIdHRwRXF1aXZNZXRhVGFnID0geyBbSFRUUF9FUVVJVl9LRVldOiBzdHJpbmc7IFtDT05URU5UX0tFWV06IHN0cmluZyB9O1xudHlwZSBOYW1lTWV0YVRhZyA9IHsgW05BTUVfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcbnR5cGUgUHJvcGVydHlNZXRhVGFnID0geyBbUFJPUEVSVFlfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcblxudHlwZSBNZXRhVGFnS2V5ID1cbiAgfCB0eXBlb2YgQ0hBUlNFVF9LRVlcbiAgfCB0eXBlb2YgSFRUUF9FUVVJVl9LRVlcbiAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgfCB0eXBlb2YgUFJPUEVSVFlfS0VZO1xudHlwZSBFeGNsdWRlUmVzdE1ldGFUYWdLZXlzPEtleSBleHRlbmRzIE1ldGFUYWdLZXk+ID0ge1xuICBbSyBpbiBFeGNsdWRlPE1ldGFUYWdLZXksIEtleT5dPzogbmV2ZXI7XG59O1xuXG50eXBlIE1ldGFUYWdTZWxlY3RvciA9XG4gIHwgdHlwZW9mIENIQVJTRVRfS0VZXG4gIHwgYCR7XG4gICAgICB8IHR5cGVvZiBIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWVxuICAgICAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgICAgIHwgdHlwZW9mIFBST1BFUlRZX0tFWX09XCIke3N0cmluZ31cImA7XG50eXBlIE1ldGFUYWdNYXAgPSBSZWNvcmQ8TWV0YVRhZ1NlbGVjdG9yLCBNZXRhVGFnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1ldGFUYWdzT25Sb3V0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IG1ldGFTZXJ2aWNlID0gaW5qZWN0KE1ldGEpO1xuXG4gIHJvdXRlci5ldmVudHNcbiAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgbWV0YVRhZ01hcCA9IGdldE1ldGFUYWdNYXAocm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3QpO1xuXG4gICAgICBmb3IgKGNvbnN0IG1ldGFUYWdTZWxlY3RvciBpbiBtZXRhVGFnTWFwKSB7XG4gICAgICAgIGNvbnN0IG1ldGFUYWcgPSBtZXRhVGFnTWFwW1xuICAgICAgICAgIG1ldGFUYWdTZWxlY3RvciBhcyBNZXRhVGFnU2VsZWN0b3JcbiAgICAgICAgXSBhcyBOZ01ldGFUYWc7XG4gICAgICAgIG1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyhtZXRhVGFnLCBtZXRhVGFnU2VsZWN0b3IpO1xuICAgICAgfVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRNZXRhVGFnTWFwKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogTWV0YVRhZ01hcCB7XG4gIGNvbnN0IG1ldGFUYWdNYXAgPSB7fSBhcyBNZXRhVGFnTWFwO1xuICBsZXQgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCA9IHJvdXRlO1xuXG4gIHdoaWxlIChjdXJyZW50Um91dGUpIHtcbiAgICBjb25zdCBtZXRhVGFnczogTWV0YVRhZ1tdID0gY3VycmVudFJvdXRlLmRhdGFbUk9VVEVfTUVUQV9UQUdTX0tFWV0gPz8gW107XG4gICAgZm9yIChjb25zdCBtZXRhVGFnIG9mIG1ldGFUYWdzKSB7XG4gICAgICBtZXRhVGFnTWFwW2dldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnKV0gPSBtZXRhVGFnO1xuICAgIH1cblxuICAgIGN1cnJlbnRSb3V0ZSA9IGN1cnJlbnRSb3V0ZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFUYWdNYXA7XG59XG5cbmZ1bmN0aW9uIGdldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnOiBNZXRhVGFnKTogTWV0YVRhZ1NlbGVjdG9yIHtcbiAgaWYgKG1ldGFUYWcubmFtZSkge1xuICAgIHJldHVybiBgJHtOQU1FX0tFWX09XCIke21ldGFUYWcubmFtZX1cImA7XG4gIH1cblxuICBpZiAobWV0YVRhZy5wcm9wZXJ0eSkge1xuICAgIHJldHVybiBgJHtQUk9QRVJUWV9LRVl9PVwiJHttZXRhVGFnLnByb3BlcnR5fVwiYDtcbiAgfVxuXG4gIGlmIChtZXRhVGFnLmh0dHBFcXVpdikge1xuICAgIHJldHVybiBgJHtIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWX09XCIke21ldGFUYWcuaHR0cEVxdWl2fVwiYDtcbiAgfVxuXG4gIHJldHVybiBDSEFSU0VUX0tFWTtcbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS10YWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvbWV0YS10YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBK0IsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQTBCLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUN2QyxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQztBQUM5QixNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUM7QUFDbkMsMERBQTBEO0FBQzFELE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDO0FBQzdDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztBQUN4QixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7QUFDaEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBOEI5QixNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsTUFBTSxDQUFDLE1BQU07U0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7U0FDdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNkLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSxLQUFLLE1BQU0sZUFBZSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FDeEIsZUFBa0MsQ0FDdEIsQ0FBQztZQUNmLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxLQUE2QjtJQUNsRCxNQUFNLFVBQVUsR0FBRyxFQUFnQixDQUFDO0lBQ3BDLElBQUksWUFBWSxHQUFrQyxLQUFLLENBQUM7SUFFeEQsT0FBTyxZQUFZLEVBQUUsQ0FBQztRQUNwQixNQUFNLFFBQVEsR0FBYyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pFLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7WUFDL0IsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3BELENBQUM7UUFFRCxZQUFZLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsT0FBZ0I7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsT0FBTyxHQUFHLFFBQVEsS0FBSyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sR0FBRyxZQUFZLEtBQUssT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QixPQUFPLEdBQUcsdUJBQXVCLEtBQUssT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDO0lBQzdELENBQUM7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRhLCBNZXRhRGVmaW5pdGlvbiBhcyBOZ01ldGFUYWcgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBST1VURV9NRVRBX1RBR1NfS0VZID0gU3ltYm9sKFxuICAnQGFuYWxvZ2pzL3JvdXRlciBSb3V0ZSBNZXRhIFRhZ3MgS2V5J1xuKTtcblxuY29uc3QgQ0hBUlNFVF9LRVkgPSAnY2hhcnNldCc7XG5jb25zdCBIVFRQX0VRVUlWX0tFWSA9ICdodHRwRXF1aXYnO1xuLy8gaHR0cEVxdWl2IHNlbGVjdG9yIGtleSBuZWVkcyB0byBiZSBpbiBrZWJhYiBjYXNlIGZvcm1hdFxuY29uc3QgSFRUUF9FUVVJVl9TRUxFQ1RPUl9LRVkgPSAnaHR0cC1lcXVpdic7XG5jb25zdCBOQU1FX0tFWSA9ICduYW1lJztcbmNvbnN0IFBST1BFUlRZX0tFWSA9ICdwcm9wZXJ0eSc7XG5jb25zdCBDT05URU5UX0tFWSA9ICdjb250ZW50JztcblxuZXhwb3J0IHR5cGUgTWV0YVRhZyA9XG4gIHwgKENoYXJzZXRNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgQ0hBUlNFVF9LRVk+KVxuICB8IChIdHRwRXF1aXZNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgSFRUUF9FUVVJVl9LRVk+KVxuICB8IChOYW1lTWV0YVRhZyAmIEV4Y2x1ZGVSZXN0TWV0YVRhZ0tleXM8dHlwZW9mIE5BTUVfS0VZPilcbiAgfCAoUHJvcGVydHlNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgUFJPUEVSVFlfS0VZPik7XG5cbnR5cGUgQ2hhcnNldE1ldGFUYWcgPSB7IFtDSEFSU0VUX0tFWV06IHN0cmluZyB9O1xudHlwZSBIdHRwRXF1aXZNZXRhVGFnID0geyBbSFRUUF9FUVVJVl9LRVldOiBzdHJpbmc7IFtDT05URU5UX0tFWV06IHN0cmluZyB9O1xudHlwZSBOYW1lTWV0YVRhZyA9IHsgW05BTUVfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcbnR5cGUgUHJvcGVydHlNZXRhVGFnID0geyBbUFJPUEVSVFlfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcblxudHlwZSBNZXRhVGFnS2V5ID1cbiAgfCB0eXBlb2YgQ0hBUlNFVF9LRVlcbiAgfCB0eXBlb2YgSFRUUF9FUVVJVl9LRVlcbiAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgfCB0eXBlb2YgUFJPUEVSVFlfS0VZO1xudHlwZSBFeGNsdWRlUmVzdE1ldGFUYWdLZXlzPEtleSBleHRlbmRzIE1ldGFUYWdLZXk+ID0ge1xuICBbSyBpbiBFeGNsdWRlPE1ldGFUYWdLZXksIEtleT5dPzogbmV2ZXI7XG59O1xuXG50eXBlIE1ldGFUYWdTZWxlY3RvciA9XG4gIHwgdHlwZW9mIENIQVJTRVRfS0VZXG4gIHwgYCR7XG4gICAgICB8IHR5cGVvZiBIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWVxuICAgICAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgICAgIHwgdHlwZW9mIFBST1BFUlRZX0tFWX09XCIke3N0cmluZ31cImA7XG50eXBlIE1ldGFUYWdNYXAgPSBSZWNvcmQ8TWV0YVRhZ1NlbGVjdG9yLCBNZXRhVGFnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1ldGFUYWdzT25Sb3V0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IG1ldGFTZXJ2aWNlID0gaW5qZWN0KE1ldGEpO1xuXG4gIHJvdXRlci5ldmVudHNcbiAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgbWV0YVRhZ01hcCA9IGdldE1ldGFUYWdNYXAocm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3QpO1xuXG4gICAgICBmb3IgKGNvbnN0IG1ldGFUYWdTZWxlY3RvciBpbiBtZXRhVGFnTWFwKSB7XG4gICAgICAgIGNvbnN0IG1ldGFUYWcgPSBtZXRhVGFnTWFwW1xuICAgICAgICAgIG1ldGFUYWdTZWxlY3RvciBhcyBNZXRhVGFnU2VsZWN0b3JcbiAgICAgICAgXSBhcyBOZ01ldGFUYWc7XG4gICAgICAgIG1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyhtZXRhVGFnLCBtZXRhVGFnU2VsZWN0b3IpO1xuICAgICAgfVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRNZXRhVGFnTWFwKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogTWV0YVRhZ01hcCB7XG4gIGNvbnN0IG1ldGFUYWdNYXAgPSB7fSBhcyBNZXRhVGFnTWFwO1xuICBsZXQgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCA9IHJvdXRlO1xuXG4gIHdoaWxlIChjdXJyZW50Um91dGUpIHtcbiAgICBjb25zdCBtZXRhVGFnczogTWV0YVRhZ1tdID0gY3VycmVudFJvdXRlLmRhdGFbUk9VVEVfTUVUQV9UQUdTX0tFWV0gPz8gW107XG4gICAgZm9yIChjb25zdCBtZXRhVGFnIG9mIG1ldGFUYWdzKSB7XG4gICAgICBtZXRhVGFnTWFwW2dldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnKV0gPSBtZXRhVGFnO1xuICAgIH1cblxuICAgIGN1cnJlbnRSb3V0ZSA9IGN1cnJlbnRSb3V0ZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFUYWdNYXA7XG59XG5cbmZ1bmN0aW9uIGdldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnOiBNZXRhVGFnKTogTWV0YVRhZ1NlbGVjdG9yIHtcbiAgaWYgKG1ldGFUYWcubmFtZSkge1xuICAgIHJldHVybiBgJHtOQU1FX0tFWX09XCIke21ldGFUYWcubmFtZX1cImA7XG4gIH1cblxuICBpZiAobWV0YVRhZy5wcm9wZXJ0eSkge1xuICAgIHJldHVybiBgJHtQUk9QRVJUWV9LRVl9PVwiJHttZXRhVGFnLnByb3BlcnR5fVwiYDtcbiAgfVxuXG4gIGlmIChtZXRhVGFnLmh0dHBFcXVpdikge1xuICAgIHJldHVybiBgJHtIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWX09XCIke21ldGFUYWcuaHR0cEVxdWl2fVwiYDtcbiAgfVxuXG4gIHJldHVybiBDSEFSU0VUX0tFWTtcbn1cbiJdfQ==
@@ -49,4 +49,4 @@ export function toRouteConfig(routeMeta) {
49
49
  function isRedirectRouteMeta(routeMeta) {
50
50
  return !!routeMeta.redirectTo;
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlELE1BQU0sVUFBVSxhQUFhLENBQUMsU0FBZ0M7SUFDNUQsSUFBSSxTQUFTLElBQUksbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDL0MsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsV0FBVyxFQUFFLEdBQUcsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUUvQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdkIsV0FBVyxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDekU7U0FBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtRQUNyQyxXQUFXLENBQUMsT0FBTyxHQUFHO1lBQ3BCLEdBQUcsV0FBVyxDQUFDLE9BQU87WUFDdEIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUk7U0FDNUIsQ0FBQztLQUNIO0lBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNoQixXQUFXLEdBQUcsRUFBRSxDQUFDO0tBQ2xCO0lBRUQsV0FBVyxDQUFDLE9BQU8sR0FBRztRQUNwQixHQUFHLFdBQVcsQ0FBQyxPQUFPO1FBQ3RCLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBRXpCLENBQUM7WUFFRixJQUFJLGNBQWMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzVELE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUM5RCxNQUFNLE9BQU8sR0FDWCxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzdELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsZUFBZSxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUM5RCxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBRXRCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ3BDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDbkUsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRW5ELElBQUssVUFBa0IsQ0FBQyxNQUFNLEVBQUU7b0JBQzlCLE9BQVEsVUFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNqRDtnQkFFRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2hEO1lBRUQsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUMxQixTQUFvQjtJQUVwQixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgdHlwZSB7IFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFJlZGlyZWN0Um91dGVNZXRhLCBSb3V0ZUNvbmZpZywgUm91dGVNZXRhIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgUk9VVEVfTUVUQV9UQUdTX0tFWSB9IGZyb20gJy4vbWV0YS10YWdzJztcbmltcG9ydCB7IFBBR0VfRU5EUE9JTlRTLCBBTkFMT0dfTUVUQV9LRVkgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1JvdXRlQ29uZmlnKHJvdXRlTWV0YTogUm91dGVNZXRhIHwgdW5kZWZpbmVkKTogUm91dGVDb25maWcge1xuICBpZiAocm91dGVNZXRhICYmIGlzUmVkaXJlY3RSb3V0ZU1ldGEocm91dGVNZXRhKSkge1xuICAgIHJldHVybiByb3V0ZU1ldGE7XG4gIH1cblxuICBsZXQgeyBtZXRhLCAuLi5yb3V0ZUNvbmZpZyB9ID0gcm91dGVNZXRhID8/IHt9O1xuXG4gIGlmIChBcnJheS5pc0FycmF5KG1ldGEpKSB7XG4gICAgcm91dGVDb25maWcuZGF0YSA9IHsgLi4ucm91dGVDb25maWcuZGF0YSwgW1JPVVRFX01FVEFfVEFHU19LRVldOiBtZXRhIH07XG4gIH0gZWxzZSBpZiAodHlwZW9mIG1ldGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICByb3V0ZUNvbmZpZy5yZXNvbHZlID0ge1xuICAgICAgLi4ucm91dGVDb25maWcucmVzb2x2ZSxcbiAgICAgIFtST1VURV9NRVRBX1RBR1NfS0VZXTogbWV0YSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKCFyb3V0ZUNvbmZpZykge1xuICAgIHJvdXRlQ29uZmlnID0ge307XG4gIH1cblxuICByb3V0ZUNvbmZpZy5yZXNvbHZlID0ge1xuICAgIC4uLnJvdXRlQ29uZmlnLnJlc29sdmUsXG4gICAgbG9hZDogYXN5bmMgKHJvdXRlKSA9PiB7XG4gICAgICBjb25zdCByb3V0ZUNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnIGFzIFJvdXRlICYge1xuICAgICAgICBbQU5BTE9HX01FVEFfS0VZXTogeyBlbmRwb2ludDogc3RyaW5nOyBlbmRwb2ludEtleTogc3RyaW5nIH07XG4gICAgICB9O1xuXG4gICAgICBpZiAoUEFHRV9FTkRQT0lOVFNbcm91dGVDb25maWdbQU5BTE9HX01FVEFfS0VZXS5lbmRwb2ludEtleV0pIHtcbiAgICAgICAgY29uc3QgeyBxdWVyeVBhcmFtcywgZnJhZ21lbnQ6IGhhc2gsIHBhcmFtcywgcGFyZW50IH0gPSByb3V0ZTtcbiAgICAgICAgY29uc3Qgc2VnbWVudCA9XG4gICAgICAgICAgcGFyZW50Py51cmwubWFwKChzZWdtZW50KSA9PiBzZWdtZW50LnBhdGgpLmpvaW4oJy8nKSB8fCAnJztcbiAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCgnJywgaW1wb3J0Lm1ldGEuZW52WydWSVRFX0FOQUxPR19QVUJMSUNfQkFTRV9VUkwnXSk7XG4gICAgICAgIHVybC5wYXRobmFtZSA9IGAvYXBpL19hbmFsb2cke3JvdXRlQ29uZmlnW0FOQUxPR19NRVRBX0tFWV0uZW5kcG9pbnR9YDtcbiAgICAgICAgdXJsLnNlYXJjaCA9IGAke25ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnlQYXJhbXMpLnRvU3RyaW5nKCl9YDtcbiAgICAgICAgdXJsLmhhc2ggPSBoYXNoID8/ICcnO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgICAgICB1cmwucGF0aG5hbWUgPSB1cmwucGF0aG5hbWUucmVwbGFjZShgWyR7cGFyYW19XWAsIHBhcmFtc1twYXJhbV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdXJsLnBhdGhuYW1lID0gdXJsLnBhdGhuYW1lLnJlcGxhY2UoJyoqJywgc2VnbWVudCk7XG5cbiAgICAgICAgaWYgKChnbG9iYWxUaGlzIGFzIGFueSkuJGZldGNoKSB7XG4gICAgICAgICAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIGFueSkuJGZldGNoKHVybC5wYXRobmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oaHR0cC5nZXQoYCR7dXJsLmhyZWZ9YCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge307XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gcm91dGVDb25maWc7XG59XG5cbmZ1bmN0aW9uIGlzUmVkaXJlY3RSb3V0ZU1ldGEoXG4gIHJvdXRlTWV0YTogUm91dGVNZXRhXG4pOiByb3V0ZU1ldGEgaXMgUmVkaXJlY3RSb3V0ZU1ldGEge1xuICByZXR1cm4gISFyb3V0ZU1ldGEucmVkaXJlY3RUbztcbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlELE1BQU0sVUFBVSxhQUFhLENBQUMsU0FBZ0M7SUFDNUQsSUFBSSxTQUFTLElBQUksbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFFL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDeEIsV0FBVyxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUUsQ0FBQztTQUFNLElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDdEMsV0FBVyxDQUFDLE9BQU8sR0FBRztZQUNwQixHQUFHLFdBQVcsQ0FBQyxPQUFPO1lBQ3RCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFPLEdBQUc7UUFDcEIsR0FBRyxXQUFXLENBQUMsT0FBTztRQUN0QixJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3BCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUV6QixDQUFDO1lBRUYsSUFBSSxjQUFjLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzdELE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUM5RCxNQUFNLE9BQU8sR0FDWCxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzdELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsZUFBZSxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUM5RCxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBRXRCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ3BDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDbkUsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRW5ELElBQUssVUFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDL0IsT0FBUSxVQUFrQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xELENBQUM7Z0JBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNoQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqRCxDQUFDO1lBRUQsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUMxQixTQUFvQjtJQUVwQixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgdHlwZSB7IFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFJlZGlyZWN0Um91dGVNZXRhLCBSb3V0ZUNvbmZpZywgUm91dGVNZXRhIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgUk9VVEVfTUVUQV9UQUdTX0tFWSB9IGZyb20gJy4vbWV0YS10YWdzJztcbmltcG9ydCB7IFBBR0VfRU5EUE9JTlRTLCBBTkFMT0dfTUVUQV9LRVkgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1JvdXRlQ29uZmlnKHJvdXRlTWV0YTogUm91dGVNZXRhIHwgdW5kZWZpbmVkKTogUm91dGVDb25maWcge1xuICBpZiAocm91dGVNZXRhICYmIGlzUmVkaXJlY3RSb3V0ZU1ldGEocm91dGVNZXRhKSkge1xuICAgIHJldHVybiByb3V0ZU1ldGE7XG4gIH1cblxuICBsZXQgeyBtZXRhLCAuLi5yb3V0ZUNvbmZpZyB9ID0gcm91dGVNZXRhID8/IHt9O1xuXG4gIGlmIChBcnJheS5pc0FycmF5KG1ldGEpKSB7XG4gICAgcm91dGVDb25maWcuZGF0YSA9IHsgLi4ucm91dGVDb25maWcuZGF0YSwgW1JPVVRFX01FVEFfVEFHU19LRVldOiBtZXRhIH07XG4gIH0gZWxzZSBpZiAodHlwZW9mIG1ldGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICByb3V0ZUNvbmZpZy5yZXNvbHZlID0ge1xuICAgICAgLi4ucm91dGVDb25maWcucmVzb2x2ZSxcbiAgICAgIFtST1VURV9NRVRBX1RBR1NfS0VZXTogbWV0YSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKCFyb3V0ZUNvbmZpZykge1xuICAgIHJvdXRlQ29uZmlnID0ge307XG4gIH1cblxuICByb3V0ZUNvbmZpZy5yZXNvbHZlID0ge1xuICAgIC4uLnJvdXRlQ29uZmlnLnJlc29sdmUsXG4gICAgbG9hZDogYXN5bmMgKHJvdXRlKSA9PiB7XG4gICAgICBjb25zdCByb3V0ZUNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnIGFzIFJvdXRlICYge1xuICAgICAgICBbQU5BTE9HX01FVEFfS0VZXTogeyBlbmRwb2ludDogc3RyaW5nOyBlbmRwb2ludEtleTogc3RyaW5nIH07XG4gICAgICB9O1xuXG4gICAgICBpZiAoUEFHRV9FTkRQT0lOVFNbcm91dGVDb25maWdbQU5BTE9HX01FVEFfS0VZXS5lbmRwb2ludEtleV0pIHtcbiAgICAgICAgY29uc3QgeyBxdWVyeVBhcmFtcywgZnJhZ21lbnQ6IGhhc2gsIHBhcmFtcywgcGFyZW50IH0gPSByb3V0ZTtcbiAgICAgICAgY29uc3Qgc2VnbWVudCA9XG4gICAgICAgICAgcGFyZW50Py51cmwubWFwKChzZWdtZW50KSA9PiBzZWdtZW50LnBhdGgpLmpvaW4oJy8nKSB8fCAnJztcbiAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCgnJywgaW1wb3J0Lm1ldGEuZW52WydWSVRFX0FOQUxPR19QVUJMSUNfQkFTRV9VUkwnXSk7XG4gICAgICAgIHVybC5wYXRobmFtZSA9IGAvYXBpL19hbmFsb2cke3JvdXRlQ29uZmlnW0FOQUxPR19NRVRBX0tFWV0uZW5kcG9pbnR9YDtcbiAgICAgICAgdXJsLnNlYXJjaCA9IGAke25ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnlQYXJhbXMpLnRvU3RyaW5nKCl9YDtcbiAgICAgICAgdXJsLmhhc2ggPSBoYXNoID8/ICcnO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgICAgICB1cmwucGF0aG5hbWUgPSB1cmwucGF0aG5hbWUucmVwbGFjZShgWyR7cGFyYW19XWAsIHBhcmFtc1twYXJhbV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdXJsLnBhdGhuYW1lID0gdXJsLnBhdGhuYW1lLnJlcGxhY2UoJyoqJywgc2VnbWVudCk7XG5cbiAgICAgICAgaWYgKChnbG9iYWxUaGlzIGFzIGFueSkuJGZldGNoKSB7XG4gICAgICAgICAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIGFueSkuJGZldGNoKHVybC5wYXRobmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oaHR0cC5nZXQoYCR7dXJsLmhyZWZ9YCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge307XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gcm91dGVDb25maWc7XG59XG5cbmZ1bmN0aW9uIGlzUmVkaXJlY3RSb3V0ZU1ldGEoXG4gIHJvdXRlTWV0YTogUm91dGVNZXRhXG4pOiByb3V0ZU1ldGEgaXMgUmVkaXJlY3RSb3V0ZU1ldGEge1xuICByZXR1cm4gISFyb3V0ZU1ldGEucmVkaXJlY3RUbztcbn1cbiJdfQ==
@@ -160,4 +160,4 @@ function deprioritizeSegment(segment) {
160
160
  return segment.replace(':', '~~').replace('**', '~~~~');
161
161
  }
162
162
  export const routes = createRoutes({ ...FILES, ...CONTENT_FILES });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUtyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFjO0lBQzFDLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsNkJBQTZCO0lBQzdCLGlDQUFpQztDQUNsQyxDQUFDLENBQUM7QUFFSCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDcEMsQ0FBQyx5QkFBeUIsRUFBRSx3QkFBd0IsQ0FBQyxFQUNyRCxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FDZCxDQUFDO0FBaUJGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFZO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUMxQixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsc0RBQXNEO0lBQ3RELE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUM3RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEtB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QyxNQUFNLE1BQU0sR0FBWSxZQUFZLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLGFBQWEsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGUvY2xpZW50XCIgLz5cblxuaW1wb3J0IHR5cGUgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB0eXBlIHsgUm91dGVFeHBvcnQsIFJvdXRlTWV0YSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IHRvUm91dGVDb25maWcgfSBmcm9tICcuL3JvdXRlLWNvbmZpZyc7XG5pbXBvcnQgeyB0b01hcmtkb3duTW9kdWxlIH0gZnJvbSAnLi9tYXJrZG93bi1oZWxwZXJzJztcbmltcG9ydCB7IEFQUF9ESVIsIEVORFBPSU5UX0VYVEVOU0lPTiB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFOQUxPR19NRVRBX0tFWSB9IGZyb20gJy4vZW5kcG9pbnRzJztcblxuY29uc3QgRklMRVMgPSBpbXBvcnQubWV0YS5nbG9iPFJvdXRlRXhwb3J0PihbXG4gICcvYXBwL3JvdXRlcy8qKi8qLnRzJyxcbiAgJy9zcmMvYXBwL3JvdXRlcy8qKi8qLnRzJyxcbiAgJy9zcmMvYXBwL3BhZ2VzLyoqLyoucGFnZS50cycsXG4gICcvc3JjL2FwcC9wYWdlcy8qKi8qLnBhZ2UuYW5hbG9nJyxcbl0pO1xuXG5jb25zdCBDT05URU5UX0ZJTEVTID0gaW1wb3J0Lm1ldGEuZ2xvYjxzdHJpbmc+KFxuICBbJy9zcmMvYXBwL3JvdXRlcy8qKi8qLm1kJywgJy9zcmMvYXBwL3BhZ2VzLyoqLyoubWQnXSxcbiAgeyBhczogJ3JhdycgfVxuKTtcblxuZXhwb3J0IHR5cGUgRmlsZXMgPSBSZWNvcmQ8c3RyaW5nLCAoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0IHwgc3RyaW5nPj47XG5cbnR5cGUgUmF3Um91dGUgPSB7XG4gIGZpbGVuYW1lOiBzdHJpbmcgfCBudWxsO1xuICByYXdTZWdtZW50OiBzdHJpbmc7XG4gIGFuY2VzdG9yUmF3U2VnbWVudHM6IHN0cmluZ1tdO1xuICBzZWdtZW50OiBzdHJpbmc7XG4gIGxldmVsOiBudW1iZXI7XG4gIGNoaWxkcmVuOiBSYXdSb3V0ZVtdO1xufTtcblxudHlwZSBSYXdSb3V0ZU1hcCA9IFJlY29yZDxzdHJpbmcsIFJhd1JvdXRlPjtcblxudHlwZSBSYXdSb3V0ZUJ5TGV2ZWxNYXAgPSBSZWNvcmQ8bnVtYmVyLCBSYXdSb3V0ZU1hcD47XG5cbi8qKlxuICogQSBmdW5jdGlvbiB1c2VkIHRvIHBhcnNlIGxpc3Qgb2YgZmlsZXMgYW5kIGNyZWF0ZSBjb25maWd1cmF0aW9uIG9mIHJvdXRlcy5cbiAqXG4gKiBAcGFyYW0gZmlsZXNcbiAqIEByZXR1cm5zIEFycmF5IG9mIHJvdXRlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm91dGVzKGZpbGVzOiBGaWxlcyk6IFJvdXRlW10ge1xuICBjb25zdCBmaWxlbmFtZXMgPSBPYmplY3Qua2V5cyhmaWxlcyk7XG5cbiAgaWYgKGZpbGVuYW1lcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBtYXAgZmlsZW5hbWVzIHRvIHJhdyByb3V0ZXMgYW5kIGdyb3VwIHRoZW0gYnkgbGV2ZWxcbiAgY29uc3QgcmF3Um91dGVzQnlMZXZlbE1hcCA9IGZpbGVuYW1lcy5yZWR1Y2UoKGFjYywgZmlsZW5hbWUpID0+IHtcbiAgICBjb25zdCByYXdQYXRoID0gdG9SYXdQYXRoKGZpbGVuYW1lKTtcbiAgICBjb25zdCByYXdTZWdtZW50cyA9IHJhd1BhdGguc3BsaXQoJy8nKTtcbiAgICAvLyBuZXN0aW5nIGxldmVsIHN0YXJ0cyBhdCAwXG4gICAgLy8gcmF3UGF0aDogL3Byb2R1Y3RzID0+IGxldmVsOiAwXG4gICAgLy8gcmF3UGF0aDogL3Byb2R1Y3RzLzppZCA9PiBsZXZlbDogMVxuICAgIGNvbnN0IGxldmVsID0gcmF3U2VnbWVudHMubGVuZ3RoIC0gMTtcbiAgICBjb25zdCByYXdTZWdtZW50ID0gcmF3U2VnbWVudHNbbGV2ZWxdO1xuICAgIGNvbnN0IGFuY2VzdG9yUmF3U2VnbWVudHMgPSByYXdTZWdtZW50cy5zbGljZSgwLCBsZXZlbCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYWNjLFxuICAgICAgW2xldmVsXToge1xuICAgICAgICAuLi5hY2NbbGV2ZWxdLFxuICAgICAgICBbcmF3UGF0aF06IHtcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICByYXdTZWdtZW50LFxuICAgICAgICAgIGFuY2VzdG9yUmF3U2VnbWVudHMsXG4gICAgICAgICAgc2VnbWVudDogdG9TZWdtZW50KHJhd1NlZ21lbnQpLFxuICAgICAgICAgIGxldmVsLFxuICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSwge30gYXMgUmF3Um91dGVCeUxldmVsTWFwKTtcblxuICBjb25zdCBhbGxMZXZlbHMgPSBPYmplY3Qua2V5cyhyYXdSb3V0ZXNCeUxldmVsTWFwKS5tYXAoTnVtYmVyKTtcbiAgY29uc3QgbWF4TGV2ZWwgPSBNYXRoLm1heCguLi5hbGxMZXZlbHMpO1xuXG4gIC8vIGFkZCBlYWNoIHJhdyByb3V0ZSB0byBpdHMgcGFyZW50J3MgY2hpbGRyZW4gYXJyYXlcbiAgZm9yIChsZXQgbGV2ZWwgPSBtYXhMZXZlbDsgbGV2ZWwgPiAwOyBsZXZlbC0tKSB7XG4gICAgY29uc3QgcmF3Um91dGVzTWFwID0gcmF3Um91dGVzQnlMZXZlbE1hcFtsZXZlbF07XG4gICAgY29uc3QgcmF3UGF0aHMgPSBPYmplY3Qua2V5cyhyYXdSb3V0ZXNNYXApO1xuXG4gICAgZm9yIChjb25zdCByYXdQYXRoIG9mIHJhd1BhdGhzKSB7XG4gICAgICBjb25zdCByYXdSb3V0ZSA9IHJhd1JvdXRlc01hcFtyYXdQYXRoXTtcbiAgICAgIGNvbnN0IHBhcmVudFJhd1BhdGggPSByYXdSb3V0ZS5hbmNlc3RvclJhd1NlZ21lbnRzLmpvaW4oJy8nKTtcbiAgICAgIGNvbnN0IHBhcmVudFJhd1NlZ21lbnRJbmRleCA9IHJhd1JvdXRlLmFuY2VzdG9yUmF3U2VnbWVudHMubGVuZ3RoIC0gMTtcbiAgICAgIGNvbnN0IHBhcmVudFJhd1NlZ21lbnQgPVxuICAgICAgICByYXdSb3V0ZS5hbmNlc3RvclJhd1NlZ21lbnRzW3BhcmVudFJhd1NlZ21lbnRJbmRleF07XG5cbiAgICAgIC8vIGNyZWF0ZSB0aGUgcGFyZW50IGxldmVsIGFuZC9vciByYXcgcm91dGUgaWYgaXQgZG9lcyBub3QgZXhpc3RcbiAgICAgIC8vIHBhcmVudCByb3V0ZSB3b24ndCBleGlzdCBmb3IgbmVzdGVkIHJvdXRlcyB0aGF0IGRvbid0IGhhdmUgYSBsYXlvdXQgcm91dGVcbiAgICAgIHJhd1JvdXRlc0J5TGV2ZWxNYXBbbGV2ZWwgLSAxXSB8fD0ge307XG4gICAgICByYXdSb3V0ZXNCeUxldmVsTWFwW2xldmVsIC0gMV1bcGFyZW50UmF3UGF0aF0gfHw9IHtcbiAgICAgICAgZmlsZW5hbWU6IG51bGwsXG4gICAgICAgIHJhd1NlZ21lbnQ6IHBhcmVudFJhd1NlZ21lbnQsXG4gICAgICAgIGFuY2VzdG9yUmF3U2VnbWVudHM6IHJhd1JvdXRlLmFuY2VzdG9yUmF3U2VnbWVudHMuc2xpY2UoXG4gICAgICAgICAgMCxcbiAgICAgICAgICBwYXJlbnRSYXdTZWdtZW50SW5kZXhcbiAgICAgICAgKSxcbiAgICAgICAgc2VnbWVudDogdG9TZWdtZW50KHBhcmVudFJhd1NlZ21lbnQpLFxuICAgICAgICBsZXZlbDogbGV2ZWwgLSAxLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICB9O1xuXG4gICAgICByYXdSb3V0ZXNCeUxldmVsTWFwW2xldmVsIC0gMV1bcGFyZW50UmF3UGF0aF0uY2hpbGRyZW4ucHVzaChyYXdSb3V0ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gb25seSB0YWtlIHJhdyByb3V0ZXMgZnJvbSB0aGUgcm9vdCBsZXZlbFxuICAvLyBzaW5jZSB0aGV5IGFscmVhZHkgY29udGFpbiBuZXN0ZWQgcm91dGVzIGFzIHRoZWlyIGNoaWxkcmVuXG4gIGNvbnN0IHJvb3RSYXdSb3V0ZXNNYXAgPSByYXdSb3V0ZXNCeUxldmVsTWFwWzBdO1xuICBjb25zdCByYXdSb3V0ZXMgPSBPYmplY3Qua2V5cyhyb290UmF3Um91dGVzTWFwKS5tYXAoXG4gICAgKHNlZ21lbnQpID0+IHJvb3RSYXdSb3V0ZXNNYXBbc2VnbWVudF1cbiAgKTtcbiAgc29ydFJhd1JvdXRlcyhyYXdSb3V0ZXMpO1xuXG4gIHJldHVybiB0b1JvdXRlcyhyYXdSb3V0ZXMsIGZpbGVzKTtcbn1cblxuZnVuY3Rpb24gdG9SYXdQYXRoKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gZmlsZW5hbWVcbiAgICAucmVwbGFjZShcbiAgICAgIC8vIGNvbnZlcnQgdG8gcmVsYXRpdmUgcGF0aCBhbmQgcmVtb3ZlIGZpbGUgZXh0ZW5zaW9uXG4gICAgICAvXlxcLyguKj8pXFwvcm91dGVzXFwvfF5cXC8oLio/KVxcL3BhZ2VzXFwvfFxcL2FwcFxcL3JvdXRlc1xcL3woXFwucGFnZVxcLihqc3x0c3xhbmFsb2cpJCl8KFxcLih0c3xtZHxhbmFsb2cpJCkvZyxcbiAgICAgICcnXG4gICAgKVxuICAgIC5yZXBsYWNlKC9cXFtcXC57M30uK1xcXS8sICcqKicpIC8vIFsuLi5ub3QtZm91bmRdID0+ICoqXG4gICAgLnJlcGxhY2UoL1xcWyhbXlxcXV0rKVxcXS9nLCAnOiQxJyk7IC8vIFtpZF0gPT4gOmlkXG59XG5cbmZ1bmN0aW9uIHRvU2VnbWVudChyYXdTZWdtZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmF3U2VnbWVudFxuICAgIC5yZXBsYWNlKC9pbmRleHxcXCguKj9cXCkvZywgJycpIC8vIHJlcGxhY2UgbmFtZWQgZW1wdHkgc2VnbWVudHNcbiAgICAucmVwbGFjZSgvXFwufFxcLysvZywgJy8nKSAvLyByZXBsYWNlIGRvdHMgd2l0aCBzbGFzaGVzIGFuZCByZW1vdmUgcmVkdW5kYW50IHNsYXNoZXNcbiAgICAucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgJycpOyAvLyByZW1vdmUgdHJhaWxpbmcgc2xhc2hlc1xufVxuXG5mdW5jdGlvbiB0b1JvdXRlcyhyYXdSb3V0ZXM6IFJhd1JvdXRlW10sIGZpbGVzOiBGaWxlcyk6IFJvdXRlW10ge1xuICBjb25zdCByb3V0ZXM6IFJvdXRlW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHJhd1JvdXRlIG9mIHJhd1JvdXRlcykge1xuICAgIGNvbnN0IGNoaWxkcmVuOiBSb3V0ZVtdIHwgdW5kZWZpbmVkID1cbiAgICAgIHJhd1JvdXRlLmNoaWxkcmVuLmxlbmd0aCA+IDBcbiAgICAgICAgPyB0b1JvdXRlcyhyYXdSb3V0ZS5jaGlsZHJlbiwgZmlsZXMpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGxldCBtb2R1bGU6ICgoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0PikgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgbGV0IGFuYWxvZ01ldGE6IHsgZW5kcG9pbnQ6IHN0cmluZzsgZW5kcG9pbnRLZXk6IHN0cmluZyB9IHwgdW5kZWZpbmVkID1cbiAgICAgIHVuZGVmaW5lZDtcblxuICAgIGlmIChyYXdSb3V0ZS5maWxlbmFtZSkge1xuICAgICAgY29uc3QgaXNNYXJrZG93bkZpbGUgPSByYXdSb3V0ZS5maWxlbmFtZS5lbmRzV2l0aCgnLm1kJyk7XG4gICAgICBtb2R1bGUgPSBpc01hcmtkb3duRmlsZVxuICAgICAgICA/IHRvTWFya2Rvd25Nb2R1bGUoZmlsZXNbcmF3Um91dGUuZmlsZW5hbWVdIGFzICgpID0+IFByb21pc2U8c3RyaW5nPilcbiAgICAgICAgOiAoZmlsZXNbcmF3Um91dGUuZmlsZW5hbWVdIGFzICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQ+KTtcblxuICAgICAgY29uc3QgZW5kcG9pbnRLZXkgPSByYXdSb3V0ZS5maWxlbmFtZS5yZXBsYWNlKFxuICAgICAgICAvXFwucGFnZVxcLih0c3xhbmFsb2cpJC8sXG4gICAgICAgIEVORFBPSU5UX0VYVEVOU0lPTlxuICAgICAgKTtcblxuICAgICAgLy8gZ2V0IGVuZHBvaW50IHBhdGhcbiAgICAgIGNvbnN0IHJhd0VuZHBvaW50ID0gcmF3Um91dGUuZmlsZW5hbWVcbiAgICAgICAgLnJlcGxhY2UoL1xcLnBhZ2VcXC4odHN8YW5hbG9nKSQvLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcW1xcLnszfS4rXFxdLywgJyoqJykgLy8gWy4uLm5vdC1mb3VuZF0gPT4gKipcbiAgICAgICAgLnNwbGl0KEFQUF9ESVIpWzFdO1xuXG4gICAgICAvLyByZXBsYWNlIHBlcmlvZHMsIHJlbW92ZSAoaW5kZXgpIHBhdGhzXG4gICAgICBjb25zdCBlbmRwb2ludCA9IChyYXdFbmRwb2ludCB8fCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcLi9nLCAnLycpXG4gICAgICAgIC5yZXBsYWNlKC9cXC9cXCgoLio/KVxcKSQvLCAnLy0kMS0nKTtcblxuICAgICAgYW5hbG9nTWV0YSA9IHtcbiAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgIGVuZHBvaW50S2V5LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCByb3V0ZTogUm91dGUgJiB7IG1ldGE/OiB0eXBlb2YgYW5hbG9nTWV0YSB9ID0gbW9kdWxlXG4gICAgICA/IHtcbiAgICAgICAgICBwYXRoOiByYXdSb3V0ZS5zZWdtZW50LFxuICAgICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT5cbiAgICAgICAgICAgIG1vZHVsZSEoKS50aGVuKChtKSA9PiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IG0uZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAuLi50b1JvdXRlQ29uZmlnKG0ucm91dGVNZXRhIGFzIFJvdXRlTWV0YSB8IHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgW0FOQUxPR19NRVRBX0tFWV06IGFuYWxvZ01ldGEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgfVxuICAgICAgOiB7IHBhdGg6IHJhd1JvdXRlLnNlZ21lbnQsIGNoaWxkcmVuIH07XG5cbiAgICByb3V0ZXMucHVzaChyb3V0ZSk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzO1xufVxuXG5mdW5jdGlvbiBzb3J0UmF3Um91dGVzKHJhd1JvdXRlczogUmF3Um91dGVbXSk6IHZvaWQge1xuICByYXdSb3V0ZXMuc29ydCgoYSwgYikgPT4ge1xuICAgIGxldCBzZWdtZW50QSA9IGRlcHJpb3JpdGl6ZVNlZ21lbnQoYS5zZWdtZW50KTtcbiAgICBsZXQgc2VnbWVudEIgPSBkZXByaW9yaXRpemVTZWdtZW50KGIuc2VnbWVudCk7XG5cbiAgICAvLyBwcmlvcml0aXplIHJvdXRlcyB3aXRoIGZld2VyIGNoaWxkcmVuXG4gICAgaWYgKGEuY2hpbGRyZW4ubGVuZ3RoID4gYi5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHNlZ21lbnRBID0gYH4ke3NlZ21lbnRBfWA7XG4gICAgfSBlbHNlIGlmIChhLmNoaWxkcmVuLmxlbmd0aCA8IGIuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICBzZWdtZW50QiA9IGB+JHtzZWdtZW50Qn1gO1xuICAgIH1cblxuICAgIHJldHVybiBzZWdtZW50QSA+IHNlZ21lbnRCID8gMSA6IC0xO1xuICB9KTtcblxuICBmb3IgKGNvbnN0IHJhd1JvdXRlIG9mIHJhd1JvdXRlcykge1xuICAgIHNvcnRSYXdSb3V0ZXMocmF3Um91dGUuY2hpbGRyZW4pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlcHJpb3JpdGl6ZVNlZ21lbnQoc2VnbWVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gZGVwcmlvcml0aXplIHBhcmFtIGFuZCB3aWxkY2FyZCBzZWdtZW50c1xuICByZXR1cm4gc2VnbWVudC5yZXBsYWNlKCc6JywgJ35+JykucmVwbGFjZSgnKionLCAnfn5+ficpO1xufVxuXG5leHBvcnQgY29uc3Qgcm91dGVzOiBSb3V0ZVtdID0gY3JlYXRlUm91dGVzKHsgLi4uRklMRVMsIC4uLkNPTlRFTlRfRklMRVMgfSk7XG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUtyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFjO0lBQzFDLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsNkJBQTZCO0lBQzdCLGlDQUFpQztDQUNsQyxDQUFDLENBQUM7QUFFSCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDcEMsQ0FBQyx5QkFBeUIsRUFBRSx3QkFBd0IsQ0FBQyxFQUNyRCxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FDZCxDQUFDO0FBaUJGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFZO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDN0QsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLE9B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LEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFZLFlBQVksQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwidml0ZS9jbGllbnRcIiAvPlxuXG5pbXBvcnQgdHlwZSB7IFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHR5cGUgeyBSb3V0ZUV4cG9ydCwgUm91dGVNZXRhIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgdG9Sb3V0ZUNvbmZpZyB9IGZyb20gJy4vcm91dGUtY29uZmlnJztcbmltcG9ydCB7IHRvTWFya2Rvd25Nb2R1bGUgfSBmcm9tICcuL21hcmtkb3duLWhlbHBlcnMnO1xuaW1wb3J0IHsgQVBQX0RJUiwgRU5EUE9JTlRfRVhURU5TSU9OIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQU5BTE9HX01FVEFfS0VZIH0gZnJvbSAnLi9lbmRwb2ludHMnO1xuXG5jb25zdCBGSUxFUyA9IGltcG9ydC5tZXRhLmdsb2I8Um91dGVFeHBvcnQ+KFtcbiAgJy9hcHAvcm91dGVzLyoqLyoudHMnLFxuICAnL3NyYy9hcHAvcm91dGVzLyoqLyoudHMnLFxuICAnL3NyYy9hcHAvcGFnZXMvKiovKi5wYWdlLnRzJyxcbiAgJy9zcmMvYXBwL3BhZ2VzLyoqLyoucGFnZS5hbmFsb2cnLFxuXSk7XG5cbmNvbnN0IENPTlRFTlRfRklMRVMgPSBpbXBvcnQubWV0YS5nbG9iPHN0cmluZz4oXG4gIFsnL3NyYy9hcHAvcm91dGVzLyoqLyoubWQnLCAnL3NyYy9hcHAvcGFnZXMvKiovKi5tZCddLFxuICB7IGFzOiAncmF3JyB9XG4pO1xuXG5leHBvcnQgdHlwZSBGaWxlcyA9IFJlY29yZDxzdHJpbmcsICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQgfCBzdHJpbmc+PjtcblxudHlwZSBSYXdSb3V0ZSA9IHtcbiAgZmlsZW5hbWU6IHN0cmluZyB8IG51bGw7XG4gIHJhd1NlZ21lbnQ6IHN0cmluZztcbiAgYW5jZXN0b3JSYXdTZWdtZW50czogc3RyaW5nW107XG4gIHNlZ21lbnQ6IHN0cmluZztcbiAgbGV2ZWw6IG51bWJlcjtcbiAgY2hpbGRyZW46IFJhd1JvdXRlW107XG59O1xuXG50eXBlIFJhd1JvdXRlTWFwID0gUmVjb3JkPHN0cmluZywgUmF3Um91dGU+O1xuXG50eXBlIFJhd1JvdXRlQnlMZXZlbE1hcCA9IFJlY29yZDxudW1iZXIsIFJhd1JvdXRlTWFwPjtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHVzZWQgdG8gcGFyc2UgbGlzdCBvZiBmaWxlcyBhbmQgY3JlYXRlIGNvbmZpZ3VyYXRpb24gb2Ygcm91dGVzLlxuICpcbiAqIEBwYXJhbSBmaWxlc1xuICogQHJldHVybnMgQXJyYXkgb2Ygcm91dGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSb3V0ZXMoZmlsZXM6IEZpbGVzKTogUm91dGVbXSB7XG4gIGNvbnN0IGZpbGVuYW1lcyA9IE9iamVjdC5rZXlzKGZpbGVzKTtcblxuICBpZiAoZmlsZW5hbWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIG1hcCBmaWxlbmFtZXMgdG8gcmF3IHJvdXRlcyBhbmQgZ3JvdXAgdGhlbSBieSBsZXZlbFxuICBjb25zdCByYXdSb3V0ZXNCeUxldmVsTWFwID0gZmlsZW5hbWVzLnJlZHVjZSgoYWNjLCBmaWxlbmFtZSkgPT4ge1xuICAgIGNvbnN0IHJhd1BhdGggPSB0b1Jhd1BhdGgoZmlsZW5hbWUpO1xuICAgIGNvbnN0IHJhd1NlZ21lbnRzID0gcmF3UGF0aC5zcGxpdCgnLycpO1xuICAgIC8vIG5lc3RpbmcgbGV2ZWwgc3RhcnRzIGF0IDBcbiAgICAvLyByYXdQYXRoOiAvcHJvZHVjdHMgPT4gbGV2ZWw6IDBcbiAgICAvLyByYXdQYXRoOiAvcHJvZHVjdHMvOmlkID0+IGxldmVsOiAxXG4gICAgY29uc3QgbGV2ZWwgPSByYXdTZWdtZW50cy5sZW5ndGggLSAxO1xuICAgIGNvbnN0IHJhd1NlZ21lbnQgPSByYXdTZWdtZW50c1tsZXZlbF07XG4gICAgY29uc3QgYW5jZXN0b3JSYXdTZWdtZW50cyA9IHJhd1NlZ21lbnRzLnNsaWNlKDAsIGxldmVsKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2MsXG4gICAgICBbbGV2ZWxdOiB7XG4gICAgICAgIC4uLmFjY1tsZXZlbF0sXG4gICAgICAgIFtyYXdQYXRoXToge1xuICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgIHJhd1NlZ21lbnQsXG4gICAgICAgICAgYW5jZXN0b3JSYXdTZWdtZW50cyxcbiAgICAgICAgICBzZWdtZW50OiB0b1NlZ21lbnQocmF3U2VnbWVudCksXG4gICAgICAgICAgbGV2ZWwsXG4gICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9LCB7fSBhcyBSYXdSb3V0ZUJ5TGV2ZWxNYXApO1xuXG4gIGNvbnN0IGFsbExldmVscyA9IE9iamVjdC5rZXlzKHJhd1JvdXRlc0J5TGV2ZWxNYXApLm1hcChOdW1iZXIpO1xuICBjb25zdCBtYXhMZXZlbCA9IE1hdGgubWF4KC4uLmFsbExldmVscyk7XG5cbiAgLy8gYWRkIGVhY2ggcmF3IHJvdXRlIHRvIGl0cyBwYXJlbnQncyBjaGlsZHJlbiBhcnJheVxuICBmb3IgKGxldCBsZXZlbCA9IG1heExldmVsOyBsZXZlbCA+IDA7IGxldmVsLS0pIHtcbiAgICBjb25zdCByYXdSb3V0ZXNNYXAgPSByYXdSb3V0ZXNCeUxldmVsTWFwW2xldmVsXTtcbiAgICBjb25zdCByYXdQYXRocyA9IE9iamVjdC5rZXlzKHJhd1JvdXRlc01hcCk7XG5cbiAgICBmb3IgKGNvbnN0IHJhd1BhdGggb2YgcmF3UGF0aHMpIHtcbiAgICAgIGNvbnN0IHJhd1JvdXRlID0gcmF3Um91dGVzTWFwW3Jhd1BhdGhdO1xuICAgICAgY29uc3QgcGFyZW50UmF3UGF0aCA9IHJhd1JvdXRlLmFuY2VzdG9yUmF3U2VnbWVudHMuam9pbignLycpO1xuICAgICAgY29uc3QgcGFyZW50UmF3U2VnbWVudEluZGV4ID0gcmF3Um91dGUuYW5jZXN0b3JSYXdTZWdtZW50cy5sZW5ndGggLSAxO1xuICAgICAgY29uc3QgcGFyZW50UmF3U2VnbWVudCA9XG4gICAgICAgIHJhd1JvdXRlLmFuY2VzdG9yUmF3U2VnbWVudHNbcGFyZW50UmF3U2VnbWVudEluZGV4XTtcblxuICAgICAgLy8gY3JlYXRlIHRoZSBwYXJlbnQgbGV2ZWwgYW5kL29yIHJhdyByb3V0ZSBpZiBpdCBkb2VzIG5vdCBleGlzdFxuICAgICAgLy8gcGFyZW50IHJvdXRlIHdvbid0IGV4aXN0IGZvciBuZXN0ZWQgcm91dGVzIHRoYXQgZG9uJ3QgaGF2ZSBhIGxheW91dCByb3V0ZVxuICAgICAgcmF3Um91dGVzQnlMZXZlbE1hcFtsZXZlbCAtIDFdIHx8PSB7fTtcbiAgICAgIHJhd1JvdXRlc0J5TGV2ZWxNYXBbbGV2ZWwgLSAxXVtwYXJlbnRSYXdQYXRoXSB8fD0ge1xuICAgICAgICBmaWxlbmFtZTogbnVsbCxcbiAgICAgICAgcmF3U2VnbWVudDogcGFyZW50UmF3U2VnbWVudCxcbiAgICAgICAgYW5jZXN0b3JSYXdTZWdtZW50czogcmF3Um91dGUuYW5jZXN0b3JSYXdTZWdtZW50cy5zbGljZShcbiAgICAgICAgICAwLFxuICAgICAgICAgIHBhcmVudFJhd1NlZ21lbnRJbmRleFxuICAgICAgICApLFxuICAgICAgICBzZWdtZW50OiB0b1NlZ21lbnQocGFyZW50UmF3U2VnbWVudCksXG4gICAgICAgIGxldmVsOiBsZXZlbCAtIDEsXG4gICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgIH07XG5cbiAgICAgIHJhd1JvdXRlc0J5TGV2ZWxNYXBbbGV2ZWwgLSAxXVtwYXJlbnRSYXdQYXRoXS5jaGlsZHJlbi5wdXNoKHJhd1JvdXRlKTtcbiAgICB9XG4gIH1cblxuICAvLyBvbmx5IHRha2UgcmF3IHJvdXRlcyBmcm9tIHRoZSByb290IGxldmVsXG4gIC8vIHNpbmNlIHRoZXkgYWxyZWFkeSBjb250YWluIG5lc3RlZCByb3V0ZXMgYXMgdGhlaXIgY2hpbGRyZW5cbiAgY29uc3Qgcm9vdFJhd1JvdXRlc01hcCA9IHJhd1JvdXRlc0J5TGV2ZWxNYXBbMF07XG4gIGNvbnN0IHJhd1JvdXRlcyA9IE9iamVjdC5rZXlzKHJvb3RSYXdSb3V0ZXNNYXApLm1hcChcbiAgICAoc2VnbWVudCkgPT4gcm9vdFJhd1JvdXRlc01hcFtzZWdtZW50XVxuICApO1xuICBzb3J0UmF3Um91dGVzKHJhd1JvdXRlcyk7XG5cbiAgcmV0dXJuIHRvUm91dGVzKHJhd1JvdXRlcywgZmlsZXMpO1xufVxuXG5mdW5jdGlvbiB0b1Jhd1BhdGgoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBmaWxlbmFtZVxuICAgIC5yZXBsYWNlKFxuICAgICAgLy8gY29udmVydCB0byByZWxhdGl2ZSBwYXRoIGFuZCByZW1vdmUgZmlsZSBleHRlbnNpb25cbiAgICAgIC9eXFwvKC4qPylcXC9yb3V0ZXNcXC98XlxcLyguKj8pXFwvcGFnZXNcXC98XFwvYXBwXFwvcm91dGVzXFwvfChcXC5wYWdlXFwuKGpzfHRzfGFuYWxvZykkKXwoXFwuKHRzfG1kfGFuYWxvZykkKS9nLFxuICAgICAgJydcbiAgICApXG4gICAgLnJlcGxhY2UoL1xcW1xcLnszfS4rXFxdLywgJyoqJykgLy8gWy4uLm5vdC1mb3VuZF0gPT4gKipcbiAgICAucmVwbGFjZSgvXFxbKFteXFxdXSspXFxdL2csICc6JDEnKTsgLy8gW2lkXSA9PiA6aWRcbn1cblxuZnVuY3Rpb24gdG9TZWdtZW50KHJhd1NlZ21lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByYXdTZWdtZW50XG4gICAgLnJlcGxhY2UoL2luZGV4fFxcKC4qP1xcKS9nLCAnJykgLy8gcmVwbGFjZSBuYW1lZCBlbXB0eSBzZWdtZW50c1xuICAgIC5yZXBsYWNlKC9cXC58XFwvKy9nLCAnLycpIC8vIHJlcGxhY2UgZG90cyB3aXRoIHNsYXNoZXMgYW5kIHJlbW92ZSByZWR1bmRhbnQgc2xhc2hlc1xuICAgIC5yZXBsYWNlKC9eXFwvK3xcXC8rJC9nLCAnJyk7IC8vIHJlbW92ZSB0cmFpbGluZyBzbGFzaGVzXG59XG5cbmZ1bmN0aW9uIHRvUm91dGVzKHJhd1JvdXRlczogUmF3Um91dGVbXSwgZmlsZXM6IEZpbGVzKTogUm91dGVbXSB7XG4gIGNvbnN0IHJvdXRlczogUm91dGVbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgcmF3Um91dGUgb2YgcmF3Um91dGVzKSB7XG4gICAgY29uc3QgY2hpbGRyZW46IFJvdXRlW10gfCB1bmRlZmluZWQgPVxuICAgICAgcmF3Um91dGUuY2hpbGRyZW4ubGVuZ3RoID4gMFxuICAgICAgICA/IHRvUm91dGVzKHJhd1JvdXRlLmNoaWxkcmVuLCBmaWxlcylcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgbGV0IG1vZHVsZTogKCgpID0+IFByb21pc2U8Um91dGVFeHBvcnQ+KSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBsZXQgYW5hbG9nTWV0YTogeyBlbmRwb2ludDogc3RyaW5nOyBlbmRwb2ludEtleTogc3RyaW5nIH0gfCB1bmRlZmluZWQgPVxuICAgICAgdW5kZWZpbmVkO1xuXG4gICAgaWYgKHJhd1JvdXRlLmZpbGVuYW1lKSB7XG4gICAgICBjb25zdCBpc01hcmtkb3duRmlsZSA9IHJhd1JvdXRlLmZpbGVuYW1lLmVuZHNXaXRoKCcubWQnKTtcbiAgICAgIG1vZHVsZSA9IGlzTWFya2Rvd25GaWxlXG4gICAgICAgID8gdG9NYXJrZG93bk1vZHVsZShmaWxlc1tyYXdSb3V0ZS5maWxlbmFtZV0gYXMgKCkgPT4gUHJvbWlzZTxzdHJpbmc+KVxuICAgICAgICA6IChmaWxlc1tyYXdSb3V0ZS5maWxlbmFtZV0gYXMgKCkgPT4gUHJvbWlzZTxSb3V0ZUV4cG9ydD4pO1xuXG4gICAgICBjb25zdCBlbmRwb2ludEtleSA9IHJhd1JvdXRlLmZpbGVuYW1lLnJlcGxhY2UoXG4gICAgICAgIC9cXC5wYWdlXFwuKHRzfGFuYWxvZykkLyxcbiAgICAgICAgRU5EUE9JTlRfRVhURU5TSU9OXG4gICAgICApO1xuXG4gICAgICAvLyBnZXQgZW5kcG9pbnQgcGF0aFxuICAgICAgY29uc3QgcmF3RW5kcG9pbnQgPSByYXdSb3V0ZS5maWxlbmFtZVxuICAgICAgICAucmVwbGFjZSgvXFwucGFnZVxcLih0c3xhbmFsb2cpJC8sICcnKVxuICAgICAgICAucmVwbGFjZSgvXFxbXFwuezN9LitcXF0vLCAnKionKSAvLyBbLi4ubm90LWZvdW5kXSA9PiAqKlxuICAgICAgICAuc3BsaXQoQVBQX0RJUilbMV07XG5cbiAgICAgIC8vIHJlcGxhY2UgcGVyaW9kcywgcmVtb3ZlIChpbmRleCkgcGF0aHNcbiAgICAgIGNvbnN0IGVuZHBvaW50ID0gKHJhd0VuZHBvaW50IHx8ICcnKVxuICAgICAgICAucmVwbGFjZSgvXFwuL2csICcvJylcbiAgICAgICAgLnJlcGxhY2UoL1xcL1xcKCguKj8pXFwpJC8sICcvLSQxLScpO1xuXG4gICAgICBhbmFsb2dNZXRhID0ge1xuICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgZW5kcG9pbnRLZXksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHJvdXRlOiBSb3V0ZSAmIHsgbWV0YT86IHR5cGVvZiBhbmFsb2dNZXRhIH0gPSBtb2R1bGVcbiAgICAgID8ge1xuICAgICAgICAgIHBhdGg6IHJhd1JvdXRlLnNlZ21lbnQsXG4gICAgICAgICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgICAgICAgbW9kdWxlISgpLnRoZW4oKG0pID0+IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogbS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgIC4uLnRvUm91dGVDb25maWcobS5yb3V0ZU1ldGEgYXMgUm91dGVNZXRhIHwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgICAgICBbQU5BTE9HX01FVEFfS0VZXTogYW5hbG9nTWV0YSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICB9XG4gICAgICA6IHsgcGF0aDogcmF3Um91dGUuc2VnbWVudCwgY2hpbGRyZW4gfTtcblxuICAgIHJvdXRlcy5wdXNoKHJvdXRlKTtcbiAgfVxuXG4gIHJldHVybiByb3V0ZXM7XG59XG5cbmZ1bmN0aW9uIHNvcnRSYXdSb3V0ZXMocmF3Um91dGVzOiBSYXdSb3V0ZVtdKTogdm9pZCB7XG4gIHJhd1JvdXRlcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgbGV0IHNlZ21lbnRBID0gZGVwcmlvcml0aXplU2VnbWVudChhLnNlZ21lbnQpO1xuICAgIGxldCBzZWdtZW50QiA9IGRlcHJpb3JpdGl6ZVNlZ21lbnQoYi5zZWdtZW50KTtcblxuICAgIC8vIHByaW9yaXRpemUgcm91dGVzIHdpdGggZmV3ZXIgY2hpbGRyZW5cbiAgICBpZiAoYS5jaGlsZHJlbi5sZW5ndGggPiBiLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgc2VnbWVudEEgPSBgfiR7c2VnbWVudEF9YDtcbiAgICB9IGVsc2UgaWYgKGEuY2hpbGRyZW4ubGVuZ3RoIDwgYi5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHNlZ21lbnRCID0gYH4ke3NlZ21lbnRCfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlZ21lbnRBID4gc2VnbWVudEIgPyAxIDogLTE7XG4gIH0pO1xuXG4gIGZvciAoY29uc3QgcmF3Um91dGUgb2YgcmF3Um91dGVzKSB7XG4gICAgc29ydFJhd1JvdXRlcyhyYXdSb3V0ZS5jaGlsZHJlbik7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVwcmlvcml0aXplU2VnbWVudChzZWdtZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBkZXByaW9yaXRpemUgcGFyYW0gYW5kIHdpbGRjYXJkIHNlZ21lbnRzXG4gIHJldHVybiBzZWdtZW50LnJlcGxhY2UoJzonLCAnfn4nKS5yZXBsYWNlKCcqKicsICd+fn5+Jyk7XG59XG5cbmV4cG9ydCBjb25zdCByb3V0ZXM6IFJvdXRlW10gPSBjcmVhdGVSb3V0ZXMoeyAuLi5GSUxFUywgLi4uQ09OVEVOVF9GSUxFUyB9KTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"analogjs-router.mjs","sources":["../../../../packages/router/src/lib/meta-tags.ts","../../../../packages/router/src/lib/endpoints.ts","../../../../packages/router/src/lib/route-config.ts","../../../../packages/router/src/lib/markdown-helpers.ts","../../../../packages/router/src/lib/constants.ts","../../../../packages/router/src/lib/routes.ts","../../../../packages/router/src/lib/define-route.ts","../../../../packages/router/src/lib/provide-file-router.ts","../../../../packages/router/src/lib/inject-load.ts","../../../../packages/router/src/analogjs-router.ts"],"sourcesContent":["import { inject } from '@angular/core';\nimport { Meta, MetaDefinition as NgMetaTag } from '@angular/platform-browser';\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\nexport const ROUTE_META_TAGS_KEY = Symbol(\n '@analogjs/router Route Meta Tags Key'\n);\n\nconst CHARSET_KEY = 'charset';\nconst HTTP_EQUIV_KEY = 'httpEquiv';\n// httpEquiv selector key needs to be in kebab case format\nconst HTTP_EQUIV_SELECTOR_KEY = 'http-equiv';\nconst NAME_KEY = 'name';\nconst PROPERTY_KEY = 'property';\nconst CONTENT_KEY = 'content';\n\nexport type MetaTag =\n | (CharsetMetaTag & ExcludeRestMetaTagKeys<typeof CHARSET_KEY>)\n | (HttpEquivMetaTag & ExcludeRestMetaTagKeys<typeof HTTP_EQUIV_KEY>)\n | (NameMetaTag & ExcludeRestMetaTagKeys<typeof NAME_KEY>)\n | (PropertyMetaTag & ExcludeRestMetaTagKeys<typeof PROPERTY_KEY>);\n\ntype CharsetMetaTag = { [CHARSET_KEY]: string };\ntype HttpEquivMetaTag = { [HTTP_EQUIV_KEY]: string; [CONTENT_KEY]: string };\ntype NameMetaTag = { [NAME_KEY]: string; [CONTENT_KEY]: string };\ntype PropertyMetaTag = { [PROPERTY_KEY]: string; [CONTENT_KEY]: string };\n\ntype MetaTagKey =\n | typeof CHARSET_KEY\n | typeof HTTP_EQUIV_KEY\n | typeof NAME_KEY\n | typeof PROPERTY_KEY;\ntype ExcludeRestMetaTagKeys<Key extends MetaTagKey> = {\n [K in Exclude<MetaTagKey, Key>]?: never;\n};\n\ntype MetaTagSelector =\n | typeof CHARSET_KEY\n | `${\n | typeof HTTP_EQUIV_SELECTOR_KEY\n | typeof NAME_KEY\n | typeof PROPERTY_KEY}=\"${string}\"`;\ntype MetaTagMap = Record<MetaTagSelector, MetaTag>;\n\nexport function updateMetaTagsOnRouteChange(): void {\n const router = inject(Router);\n const metaService = inject(Meta);\n\n router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe(() => {\n const metaTagMap = getMetaTagMap(router.routerState.snapshot.root);\n\n for (const metaTagSelector in metaTagMap) {\n const metaTag = metaTagMap[\n metaTagSelector as MetaTagSelector\n ] as NgMetaTag;\n metaService.updateTag(metaTag, metaTagSelector);\n }\n });\n}\n\nfunction getMetaTagMap(route: ActivatedRouteSnapshot): MetaTagMap {\n const metaTagMap = {} as MetaTagMap;\n let currentRoute: ActivatedRouteSnapshot | null = route;\n\n while (currentRoute) {\n const metaTags: MetaTag[] = currentRoute.data[ROUTE_META_TAGS_KEY] ?? [];\n for (const metaTag of metaTags) {\n metaTagMap[getMetaTagSelector(metaTag)] = metaTag;\n }\n\n currentRoute = currentRoute.firstChild;\n }\n\n return metaTagMap;\n}\n\nfunction getMetaTagSelector(metaTag: MetaTag): MetaTagSelector {\n if (metaTag.name) {\n return `${NAME_KEY}=\"${metaTag.name}\"`;\n }\n\n if (metaTag.property) {\n return `${PROPERTY_KEY}=\"${metaTag.property}\"`;\n }\n\n if (metaTag.httpEquiv) {\n return `${HTTP_EQUIV_SELECTOR_KEY}=\"${metaTag.httpEquiv}\"`;\n }\n\n return CHARSET_KEY;\n}\n","export const ANALOG_META_KEY = Symbol(\n '@analogjs/router Analog Route Metadata Key'\n);\n\nexport const PAGE_ENDPOINTS = import.meta.glob([\n '/src/app/pages/**/*.server.ts',\n]);\n","import { inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport type { Route } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\n\nimport { RedirectRouteMeta, RouteConfig, RouteMeta } from './models';\nimport { ROUTE_META_TAGS_KEY } from './meta-tags';\nimport { PAGE_ENDPOINTS, ANALOG_META_KEY } from './endpoints';\n\nexport function toRouteConfig(routeMeta: RouteMeta | undefined): RouteConfig {\n if (routeMeta && isRedirectRouteMeta(routeMeta)) {\n return routeMeta;\n }\n\n let { meta, ...routeConfig } = routeMeta ?? {};\n\n if (Array.isArray(meta)) {\n routeConfig.data = { ...routeConfig.data, [ROUTE_META_TAGS_KEY]: meta };\n } else if (typeof meta === 'function') {\n routeConfig.resolve = {\n ...routeConfig.resolve,\n [ROUTE_META_TAGS_KEY]: meta,\n };\n }\n\n if (!routeConfig) {\n routeConfig = {};\n }\n\n routeConfig.resolve = {\n ...routeConfig.resolve,\n load: async (route) => {\n const routeConfig = route.routeConfig as Route & {\n [ANALOG_META_KEY]: { endpoint: string; endpointKey: string };\n };\n\n if (PAGE_ENDPOINTS[routeConfig[ANALOG_META_KEY].endpointKey]) {\n const { queryParams, fragment: hash, params, parent } = route;\n const segment =\n parent?.url.map((segment) => segment.path).join('/') || '';\n const url = new URL('', import.meta.env['VITE_ANALOG_PUBLIC_BASE_URL']);\n url.pathname = `/api/_analog${routeConfig[ANALOG_META_KEY].endpoint}`;\n url.search = `${new URLSearchParams(queryParams).toString()}`;\n url.hash = hash ?? '';\n\n Object.keys(params).forEach((param) => {\n url.pathname = url.pathname.replace(`[${param}]`, params[param]);\n });\n url.pathname = url.pathname.replace('**', segment);\n\n if ((globalThis as any).$fetch) {\n return (globalThis as any).$fetch(url.pathname);\n }\n\n const http = inject(HttpClient);\n return firstValueFrom(http.get(`${url.href}`));\n }\n\n return {};\n },\n };\n\n return routeConfig;\n}\n\nfunction isRedirectRouteMeta(\n routeMeta: RouteMeta\n): routeMeta is RedirectRouteMeta {\n return !!routeMeta.redirectTo;\n}\n","import { inject } from '@angular/core';\nimport { RouteExport } from './models';\n\ndeclare const Zone: any;\n\n// The Zone is currently enabled by default, so we wouldn't need this check.\n// However, leaving this open space will be useful if zone.js becomes optional\n// in the future. This means we won't have to modify the current code, and it will\n// continue to work seamlessly.\nconst isNgZoneEnabled = typeof Zone !== 'undefined' && !!Zone.root;\n\nexport function toMarkdownModule(\n markdownFileFactory: () => Promise<string>\n): () => Promise<RouteExport> {\n return async () => {\n const createLoader = () =>\n Promise.all([import('@analogjs/content'), markdownFileFactory()]);\n\n const [\n { parseRawContentFile, MarkdownRouteComponent, ContentRenderer },\n markdownFile,\n ]: [typeof import('@analogjs/content'), string] = await (isNgZoneEnabled\n ? // We are not able to use `runOutsideAngular` because we are not inside\n // an injection context to retrieve the `NgZone` instance.\n // The `Zone.root.run` is required when the code is running in the\n // browser since asynchronous tasks being scheduled in the current context\n // are a reason for unnecessary change detection cycles.\n Zone.root.run(createLoader)\n : createLoader());\n\n const { content, attributes } = parseRawContentFile(markdownFile);\n const { title, meta } = attributes;\n\n return {\n default: MarkdownRouteComponent,\n routeMeta: {\n data: { _analogContent: content },\n title,\n meta,\n resolve: {\n renderedAnalogContent: async () => {\n const contentRenderer = inject(ContentRenderer);\n return contentRenderer.render(content);\n },\n },\n },\n };\n };\n}\n","export const ENDPOINT_EXTENSION = '.server.ts';\nexport const APP_DIR = 'src/app';\n","/// <reference types=\"vite/client\" />\n\nimport type { Route } from '@angular/router';\n\nimport type { RouteExport, RouteMeta } from './models';\nimport { toRouteConfig } from './route-config';\nimport { toMarkdownModule } from './markdown-helpers';\nimport { APP_DIR, ENDPOINT_EXTENSION } from './constants';\nimport { ANALOG_META_KEY } from './endpoints';\n\nconst FILES = import.meta.glob<RouteExport>([\n '/app/routes/**/*.ts',\n '/src/app/routes/**/*.ts',\n '/src/app/pages/**/*.page.ts',\n '/src/app/pages/**/*.page.analog',\n]);\n\nconst CONTENT_FILES = import.meta.glob<string>(\n ['/src/app/routes/**/*.md', '/src/app/pages/**/*.md'],\n { as: 'raw' }\n);\n\nexport type Files = Record<string, () => Promise<RouteExport | string>>;\n\ntype RawRoute = {\n filename: string | null;\n rawSegment: string;\n ancestorRawSegments: string[];\n segment: string;\n level: number;\n children: RawRoute[];\n};\n\ntype RawRouteMap = Record<string, RawRoute>;\n\ntype RawRouteByLevelMap = Record<number, RawRouteMap>;\n\n/**\n * A function used to parse list of files and create configuration of routes.\n *\n * @param files\n * @returns Array of routes\n */\nexport function createRoutes(files: Files): Route[] {\n const filenames = Object.keys(files);\n\n if (filenames.length === 0) {\n return [];\n }\n\n // map filenames to raw routes and group them by level\n const rawRoutesByLevelMap = filenames.reduce((acc, filename) => {\n const rawPath = toRawPath(filename);\n const rawSegments = rawPath.split('/');\n // nesting level starts at 0\n // rawPath: /products => level: 0\n // rawPath: /products/:id => level: 1\n const level = rawSegments.length - 1;\n const rawSegment = rawSegments[level];\n const ancestorRawSegments = rawSegments.slice(0, level);\n\n return {\n ...acc,\n [level]: {\n ...acc[level],\n [rawPath]: {\n filename,\n rawSegment,\n ancestorRawSegments,\n segment: toSegment(rawSegment),\n level,\n children: [],\n },\n },\n };\n }, {} as RawRouteByLevelMap);\n\n const allLevels = Object.keys(rawRoutesByLevelMap).map(Number);\n const maxLevel = Math.max(...allLevels);\n\n // add each raw route to its parent's children array\n for (let level = maxLevel; level > 0; level--) {\n const rawRoutesMap = rawRoutesByLevelMap[level];\n const rawPaths = Object.keys(rawRoutesMap);\n\n for (const rawPath of rawPaths) {\n const rawRoute = rawRoutesMap[rawPath];\n const parentRawPath = rawRoute.ancestorRawSegments.join('/');\n const parentRawSegmentIndex = rawRoute.ancestorRawSegments.length - 1;\n const parentRawSegment =\n rawRoute.ancestorRawSegments[parentRawSegmentIndex];\n\n // create the parent level and/or raw route if it does not exist\n // parent route won't exist for nested routes that don't have a layout route\n rawRoutesByLevelMap[level - 1] ||= {};\n rawRoutesByLevelMap[level - 1][parentRawPath] ||= {\n filename: null,\n rawSegment: parentRawSegment,\n ancestorRawSegments: rawRoute.ancestorRawSegments.slice(\n 0,\n parentRawSegmentIndex\n ),\n segment: toSegment(parentRawSegment),\n level: level - 1,\n children: [],\n };\n\n rawRoutesByLevelMap[level - 1][parentRawPath].children.push(rawRoute);\n }\n }\n\n // only take raw routes from the root level\n // since they already contain nested routes as their children\n const rootRawRoutesMap = rawRoutesByLevelMap[0];\n const rawRoutes = Object.keys(rootRawRoutesMap).map(\n (segment) => rootRawRoutesMap[segment]\n );\n sortRawRoutes(rawRoutes);\n\n return toRoutes(rawRoutes, files);\n}\n\nfunction toRawPath(filename: string): string {\n return filename\n .replace(\n // convert to relative path and remove file extension\n /^\\/(.*?)\\/routes\\/|^\\/(.*?)\\/pages\\/|\\/app\\/routes\\/|(\\.page\\.(js|ts|analog)$)|(\\.(ts|md|analog)$)/g,\n ''\n )\n .replace(/\\[\\.{3}.+\\]/, '**') // [...not-found] => **\n .replace(/\\[([^\\]]+)\\]/g, ':$1'); // [id] => :id\n}\n\nfunction toSegment(rawSegment: string): string {\n return rawSegment\n .replace(/index|\\(.*?\\)/g, '') // replace named empty segments\n .replace(/\\.|\\/+/g, '/') // replace dots with slashes and remove redundant slashes\n .replace(/^\\/+|\\/+$/g, ''); // remove trailing slashes\n}\n\nfunction toRoutes(rawRoutes: RawRoute[], files: Files): Route[] {\n const routes: Route[] = [];\n\n for (const rawRoute of rawRoutes) {\n const children: Route[] | undefined =\n rawRoute.children.length > 0\n ? toRoutes(rawRoute.children, files)\n : undefined;\n let module: (() => Promise<RouteExport>) | undefined = undefined;\n let analogMeta: { endpoint: string; endpointKey: string } | undefined =\n undefined;\n\n if (rawRoute.filename) {\n const isMarkdownFile = rawRoute.filename.endsWith('.md');\n module = isMarkdownFile\n ? toMarkdownModule(files[rawRoute.filename] as () => Promise<string>)\n : (files[rawRoute.filename] as () => Promise<RouteExport>);\n\n const endpointKey = rawRoute.filename.replace(\n /\\.page\\.(ts|analog)$/,\n ENDPOINT_EXTENSION\n );\n\n // get endpoint path\n const rawEndpoint = rawRoute.filename\n .replace(/\\.page\\.(ts|analog)$/, '')\n .replace(/\\[\\.{3}.+\\]/, '**') // [...not-found] => **\n .split(APP_DIR)[1];\n\n // replace periods, remove (index) paths\n const endpoint = (rawEndpoint || '')\n .replace(/\\./g, '/')\n .replace(/\\/\\((.*?)\\)$/, '/-$1-');\n\n analogMeta = {\n endpoint,\n endpointKey,\n };\n }\n\n const route: Route & { meta?: typeof analogMeta } = module\n ? {\n path: rawRoute.segment,\n loadChildren: () =>\n module!().then((m) => [\n {\n path: '',\n component: m.default,\n ...toRouteConfig(m.routeMeta as RouteMeta | undefined),\n children,\n [ANALOG_META_KEY]: analogMeta,\n },\n ]),\n }\n : { path: rawRoute.segment, children };\n\n routes.push(route);\n }\n\n return routes;\n}\n\nfunction sortRawRoutes(rawRoutes: RawRoute[]): void {\n rawRoutes.sort((a, b) => {\n let segmentA = deprioritizeSegment(a.segment);\n let segmentB = deprioritizeSegment(b.segment);\n\n // prioritize routes with fewer children\n if (a.children.length > b.children.length) {\n segmentA = `~${segmentA}`;\n } else if (a.children.length < b.children.length) {\n segmentB = `~${segmentB}`;\n }\n\n return segmentA > segmentB ? 1 : -1;\n });\n\n for (const rawRoute of rawRoutes) {\n sortRawRoutes(rawRoute.children);\n }\n}\n\nfunction deprioritizeSegment(segment: string): string {\n // deprioritize param and wildcard segments\n return segment.replace(':', '~~').replace('**', '~~~~');\n}\n\nexport const routes: Route[] = createRoutes({ ...FILES, ...CONTENT_FILES });\n","import { inject } from '@angular/core';\nimport { Route as NgRoute, Router } from '@angular/router';\nimport { ActivatedRoute } from '@angular/router';\n\ntype RouteOmitted =\n | 'component'\n | 'loadComponent'\n | 'loadChildren'\n | 'path'\n | 'pathMatch';\n\ntype RestrictedRoute = Omit<NgRoute, RouteOmitted>;\n\n/**\n * @deprecated Use `RouteMeta` type instead.\n * For more info see: https://github.com/analogjs/analog/issues/223\n *\n * Defines additional route config metadata. This\n * object is merged into the route config with\n * the predefined file-based route.\n *\n * @usageNotes\n *\n * ```\n * import { Component } from '@angular/core';\n * import { defineRouteMeta } from '@analogjs/router';\n *\n * export const routeMeta = defineRouteMeta({\n * title: 'Welcome'\n * });\n *\n * @Component({\n * template: `Home`,\n * standalone: true,\n * })\n * export default class HomeComponent {}\n * ```\n *\n * @param route\n * @returns\n */\nexport const defineRouteMeta = (route: RestrictedRoute) => {\n return route;\n};\n\n/**\n * Returns the instance of Angular Router\n *\n * @returns The router\n */\nexport const injectRouter = () => {\n return inject(Router);\n};\n\n/**\n * Returns the instance of the Activate Route for the component\n *\n * @returns The activated route\n */\nexport const injectActivatedRoute = () => {\n return inject(ActivatedRoute);\n};\n","import {\n ENVIRONMENT_INITIALIZER,\n EnvironmentProviders,\n makeEnvironmentProviders,\n Provider,\n} from '@angular/core';\nimport { provideRouter, RouterFeatures } from '@angular/router';\n\nimport { routes } from './routes';\nimport { updateMetaTagsOnRouteChange } from './meta-tags';\n\n/**\n * Sets up providers for the Angular router, and registers\n * file-based routes. Additional features can be provided\n * to further configure the behavior of the router.\n *\n * @param features\n * @returns Providers and features to configure the router with routes\n */\nexport function provideFileRouter(\n ...features: RouterFeatures[]\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n // TODO: remove type casting after Angular >=15.1.1 upgrade\n // https://github.com/angular/angular/pull/48720\n (\n provideRouter(routes, ...features) as unknown as {\n ɵproviders: Provider[];\n }\n ).ɵproviders,\n {\n provide: ENVIRONMENT_INITIALIZER,\n multi: true,\n useValue: () => updateMetaTagsOnRouteChange(),\n },\n ]);\n}\n","import { Injector, inject } from '@angular/core';\nimport { ActivatedRoute, Data } from '@angular/router';\nimport { Observable, map } from 'rxjs';\n\nimport { PageServerLoad } from './route-types';\n\nexport function injectLoad<\n T extends (pageServerLoad: PageServerLoad) => Promise<any>\n>(options?: { injector?: Injector }): Observable<Awaited<ReturnType<T>>> {\n const injector = options?.injector ?? inject(Injector);\n const route = injector.get(ActivatedRoute);\n\n return route.data.pipe(\n map<Data, Awaited<ReturnType<T>>>((data) => data['load'])\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analogjs-router.mjs","sources":["../../../../packages/router/src/lib/meta-tags.ts","../../../../packages/router/src/lib/endpoints.ts","../../../../packages/router/src/lib/route-config.ts","../../../../packages/router/src/lib/markdown-helpers.ts","../../../../packages/router/src/lib/constants.ts","../../../../packages/router/src/lib/routes.ts","../../../../packages/router/src/lib/define-route.ts","../../../../packages/router/src/lib/provide-file-router.ts","../../../../packages/router/src/lib/inject-load.ts","../../../../packages/router/src/analogjs-router.ts"],"sourcesContent":["import { inject } from '@angular/core';\nimport { Meta, MetaDefinition as NgMetaTag } from '@angular/platform-browser';\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\nexport const ROUTE_META_TAGS_KEY = Symbol(\n '@analogjs/router Route Meta Tags Key'\n);\n\nconst CHARSET_KEY = 'charset';\nconst HTTP_EQUIV_KEY = 'httpEquiv';\n// httpEquiv selector key needs to be in kebab case format\nconst HTTP_EQUIV_SELECTOR_KEY = 'http-equiv';\nconst NAME_KEY = 'name';\nconst PROPERTY_KEY = 'property';\nconst CONTENT_KEY = 'content';\n\nexport type MetaTag =\n | (CharsetMetaTag & ExcludeRestMetaTagKeys<typeof CHARSET_KEY>)\n | (HttpEquivMetaTag & ExcludeRestMetaTagKeys<typeof HTTP_EQUIV_KEY>)\n | (NameMetaTag & ExcludeRestMetaTagKeys<typeof NAME_KEY>)\n | (PropertyMetaTag & ExcludeRestMetaTagKeys<typeof PROPERTY_KEY>);\n\ntype CharsetMetaTag = { [CHARSET_KEY]: string };\ntype HttpEquivMetaTag = { [HTTP_EQUIV_KEY]: string; [CONTENT_KEY]: string };\ntype NameMetaTag = { [NAME_KEY]: string; [CONTENT_KEY]: string };\ntype PropertyMetaTag = { [PROPERTY_KEY]: string; [CONTENT_KEY]: string };\n\ntype MetaTagKey =\n | typeof CHARSET_KEY\n | typeof HTTP_EQUIV_KEY\n | typeof NAME_KEY\n | typeof PROPERTY_KEY;\ntype ExcludeRestMetaTagKeys<Key extends MetaTagKey> = {\n [K in Exclude<MetaTagKey, Key>]?: never;\n};\n\ntype MetaTagSelector =\n | typeof CHARSET_KEY\n | `${\n | typeof HTTP_EQUIV_SELECTOR_KEY\n | typeof NAME_KEY\n | typeof PROPERTY_KEY}=\"${string}\"`;\ntype MetaTagMap = Record<MetaTagSelector, MetaTag>;\n\nexport function updateMetaTagsOnRouteChange(): void {\n const router = inject(Router);\n const metaService = inject(Meta);\n\n router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe(() => {\n const metaTagMap = getMetaTagMap(router.routerState.snapshot.root);\n\n for (const metaTagSelector in metaTagMap) {\n const metaTag = metaTagMap[\n metaTagSelector as MetaTagSelector\n ] as NgMetaTag;\n metaService.updateTag(metaTag, metaTagSelector);\n }\n });\n}\n\nfunction getMetaTagMap(route: ActivatedRouteSnapshot): MetaTagMap {\n const metaTagMap = {} as MetaTagMap;\n let currentRoute: ActivatedRouteSnapshot | null = route;\n\n while (currentRoute) {\n const metaTags: MetaTag[] = currentRoute.data[ROUTE_META_TAGS_KEY] ?? [];\n for (const metaTag of metaTags) {\n metaTagMap[getMetaTagSelector(metaTag)] = metaTag;\n }\n\n currentRoute = currentRoute.firstChild;\n }\n\n return metaTagMap;\n}\n\nfunction getMetaTagSelector(metaTag: MetaTag): MetaTagSelector {\n if (metaTag.name) {\n return `${NAME_KEY}=\"${metaTag.name}\"`;\n }\n\n if (metaTag.property) {\n return `${PROPERTY_KEY}=\"${metaTag.property}\"`;\n }\n\n if (metaTag.httpEquiv) {\n return `${HTTP_EQUIV_SELECTOR_KEY}=\"${metaTag.httpEquiv}\"`;\n }\n\n return CHARSET_KEY;\n}\n","export const ANALOG_META_KEY = Symbol(\n '@analogjs/router Analog Route Metadata Key'\n);\n\nexport const PAGE_ENDPOINTS = import.meta.glob([\n '/src/app/pages/**/*.server.ts',\n]);\n","import { inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport type { Route } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\n\nimport { RedirectRouteMeta, RouteConfig, RouteMeta } from './models';\nimport { ROUTE_META_TAGS_KEY } from './meta-tags';\nimport { PAGE_ENDPOINTS, ANALOG_META_KEY } from './endpoints';\n\nexport function toRouteConfig(routeMeta: RouteMeta | undefined): RouteConfig {\n if (routeMeta && isRedirectRouteMeta(routeMeta)) {\n return routeMeta;\n }\n\n let { meta, ...routeConfig } = routeMeta ?? {};\n\n if (Array.isArray(meta)) {\n routeConfig.data = { ...routeConfig.data, [ROUTE_META_TAGS_KEY]: meta };\n } else if (typeof meta === 'function') {\n routeConfig.resolve = {\n ...routeConfig.resolve,\n [ROUTE_META_TAGS_KEY]: meta,\n };\n }\n\n if (!routeConfig) {\n routeConfig = {};\n }\n\n routeConfig.resolve = {\n ...routeConfig.resolve,\n load: async (route) => {\n const routeConfig = route.routeConfig as Route & {\n [ANALOG_META_KEY]: { endpoint: string; endpointKey: string };\n };\n\n if (PAGE_ENDPOINTS[routeConfig[ANALOG_META_KEY].endpointKey]) {\n const { queryParams, fragment: hash, params, parent } = route;\n const segment =\n parent?.url.map((segment) => segment.path).join('/') || '';\n const url = new URL('', import.meta.env['VITE_ANALOG_PUBLIC_BASE_URL']);\n url.pathname = `/api/_analog${routeConfig[ANALOG_META_KEY].endpoint}`;\n url.search = `${new URLSearchParams(queryParams).toString()}`;\n url.hash = hash ?? '';\n\n Object.keys(params).forEach((param) => {\n url.pathname = url.pathname.replace(`[${param}]`, params[param]);\n });\n url.pathname = url.pathname.replace('**', segment);\n\n if ((globalThis as any).$fetch) {\n return (globalThis as any).$fetch(url.pathname);\n }\n\n const http = inject(HttpClient);\n return firstValueFrom(http.get(`${url.href}`));\n }\n\n return {};\n },\n };\n\n return routeConfig;\n}\n\nfunction isRedirectRouteMeta(\n routeMeta: RouteMeta\n): routeMeta is RedirectRouteMeta {\n return !!routeMeta.redirectTo;\n}\n","import { inject } from '@angular/core';\nimport { RouteExport } from './models';\n\ndeclare const Zone: any;\n\n// The Zone is currently enabled by default, so we wouldn't need this check.\n// However, leaving this open space will be useful if zone.js becomes optional\n// in the future. This means we won't have to modify the current code, and it will\n// continue to work seamlessly.\nconst isNgZoneEnabled = typeof Zone !== 'undefined' && !!Zone.root;\n\nexport function toMarkdownModule(\n markdownFileFactory: () => Promise<string>\n): () => Promise<RouteExport> {\n return async () => {\n const createLoader = () =>\n Promise.all([import('@analogjs/content'), markdownFileFactory()]);\n\n const [\n { parseRawContentFile, MarkdownRouteComponent, ContentRenderer },\n markdownFile,\n ]: [typeof import('@analogjs/content'), string] = await (isNgZoneEnabled\n ? // We are not able to use `runOutsideAngular` because we are not inside\n // an injection context to retrieve the `NgZone` instance.\n // The `Zone.root.run` is required when the code is running in the\n // browser since asynchronous tasks being scheduled in the current context\n // are a reason for unnecessary change detection cycles.\n Zone.root.run(createLoader)\n : createLoader());\n\n const { content, attributes } = parseRawContentFile(markdownFile);\n const { title, meta } = attributes;\n\n return {\n default: MarkdownRouteComponent,\n routeMeta: {\n data: { _analogContent: content },\n title,\n meta,\n resolve: {\n renderedAnalogContent: async () => {\n const contentRenderer = inject(ContentRenderer);\n return contentRenderer.render(content);\n },\n },\n },\n };\n };\n}\n","export const ENDPOINT_EXTENSION = '.server.ts';\nexport const APP_DIR = 'src/app';\n","/// <reference types=\"vite/client\" />\n\nimport type { Route } from '@angular/router';\n\nimport type { RouteExport, RouteMeta } from './models';\nimport { toRouteConfig } from './route-config';\nimport { toMarkdownModule } from './markdown-helpers';\nimport { APP_DIR, ENDPOINT_EXTENSION } from './constants';\nimport { ANALOG_META_KEY } from './endpoints';\n\nconst FILES = import.meta.glob<RouteExport>([\n '/app/routes/**/*.ts',\n '/src/app/routes/**/*.ts',\n '/src/app/pages/**/*.page.ts',\n '/src/app/pages/**/*.page.analog',\n]);\n\nconst CONTENT_FILES = import.meta.glob<string>(\n ['/src/app/routes/**/*.md', '/src/app/pages/**/*.md'],\n { as: 'raw' }\n);\n\nexport type Files = Record<string, () => Promise<RouteExport | string>>;\n\ntype RawRoute = {\n filename: string | null;\n rawSegment: string;\n ancestorRawSegments: string[];\n segment: string;\n level: number;\n children: RawRoute[];\n};\n\ntype RawRouteMap = Record<string, RawRoute>;\n\ntype RawRouteByLevelMap = Record<number, RawRouteMap>;\n\n/**\n * A function used to parse list of files and create configuration of routes.\n *\n * @param files\n * @returns Array of routes\n */\nexport function createRoutes(files: Files): Route[] {\n const filenames = Object.keys(files);\n\n if (filenames.length === 0) {\n return [];\n }\n\n // map filenames to raw routes and group them by level\n const rawRoutesByLevelMap = filenames.reduce((acc, filename) => {\n const rawPath = toRawPath(filename);\n const rawSegments = rawPath.split('/');\n // nesting level starts at 0\n // rawPath: /products => level: 0\n // rawPath: /products/:id => level: 1\n const level = rawSegments.length - 1;\n const rawSegment = rawSegments[level];\n const ancestorRawSegments = rawSegments.slice(0, level);\n\n return {\n ...acc,\n [level]: {\n ...acc[level],\n [rawPath]: {\n filename,\n rawSegment,\n ancestorRawSegments,\n segment: toSegment(rawSegment),\n level,\n children: [],\n },\n },\n };\n }, {} as RawRouteByLevelMap);\n\n const allLevels = Object.keys(rawRoutesByLevelMap).map(Number);\n const maxLevel = Math.max(...allLevels);\n\n // add each raw route to its parent's children array\n for (let level = maxLevel; level > 0; level--) {\n const rawRoutesMap = rawRoutesByLevelMap[level];\n const rawPaths = Object.keys(rawRoutesMap);\n\n for (const rawPath of rawPaths) {\n const rawRoute = rawRoutesMap[rawPath];\n const parentRawPath = rawRoute.ancestorRawSegments.join('/');\n const parentRawSegmentIndex = rawRoute.ancestorRawSegments.length - 1;\n const parentRawSegment =\n rawRoute.ancestorRawSegments[parentRawSegmentIndex];\n\n // create the parent level and/or raw route if it does not exist\n // parent route won't exist for nested routes that don't have a layout route\n rawRoutesByLevelMap[level - 1] ||= {};\n rawRoutesByLevelMap[level - 1][parentRawPath] ||= {\n filename: null,\n rawSegment: parentRawSegment,\n ancestorRawSegments: rawRoute.ancestorRawSegments.slice(\n 0,\n parentRawSegmentIndex\n ),\n segment: toSegment(parentRawSegment),\n level: level - 1,\n children: [],\n };\n\n rawRoutesByLevelMap[level - 1][parentRawPath].children.push(rawRoute);\n }\n }\n\n // only take raw routes from the root level\n // since they already contain nested routes as their children\n const rootRawRoutesMap = rawRoutesByLevelMap[0];\n const rawRoutes = Object.keys(rootRawRoutesMap).map(\n (segment) => rootRawRoutesMap[segment]\n );\n sortRawRoutes(rawRoutes);\n\n return toRoutes(rawRoutes, files);\n}\n\nfunction toRawPath(filename: string): string {\n return filename\n .replace(\n // convert to relative path and remove file extension\n /^\\/(.*?)\\/routes\\/|^\\/(.*?)\\/pages\\/|\\/app\\/routes\\/|(\\.page\\.(js|ts|analog)$)|(\\.(ts|md|analog)$)/g,\n ''\n )\n .replace(/\\[\\.{3}.+\\]/, '**') // [...not-found] => **\n .replace(/\\[([^\\]]+)\\]/g, ':$1'); // [id] => :id\n}\n\nfunction toSegment(rawSegment: string): string {\n return rawSegment\n .replace(/index|\\(.*?\\)/g, '') // replace named empty segments\n .replace(/\\.|\\/+/g, '/') // replace dots with slashes and remove redundant slashes\n .replace(/^\\/+|\\/+$/g, ''); // remove trailing slashes\n}\n\nfunction toRoutes(rawRoutes: RawRoute[], files: Files): Route[] {\n const routes: Route[] = [];\n\n for (const rawRoute of rawRoutes) {\n const children: Route[] | undefined =\n rawRoute.children.length > 0\n ? toRoutes(rawRoute.children, files)\n : undefined;\n let module: (() => Promise<RouteExport>) | undefined = undefined;\n let analogMeta: { endpoint: string; endpointKey: string } | undefined =\n undefined;\n\n if (rawRoute.filename) {\n const isMarkdownFile = rawRoute.filename.endsWith('.md');\n module = isMarkdownFile\n ? toMarkdownModule(files[rawRoute.filename] as () => Promise<string>)\n : (files[rawRoute.filename] as () => Promise<RouteExport>);\n\n const endpointKey = rawRoute.filename.replace(\n /\\.page\\.(ts|analog)$/,\n ENDPOINT_EXTENSION\n );\n\n // get endpoint path\n const rawEndpoint = rawRoute.filename\n .replace(/\\.page\\.(ts|analog)$/, '')\n .replace(/\\[\\.{3}.+\\]/, '**') // [...not-found] => **\n .split(APP_DIR)[1];\n\n // replace periods, remove (index) paths\n const endpoint = (rawEndpoint || '')\n .replace(/\\./g, '/')\n .replace(/\\/\\((.*?)\\)$/, '/-$1-');\n\n analogMeta = {\n endpoint,\n endpointKey,\n };\n }\n\n const route: Route & { meta?: typeof analogMeta } = module\n ? {\n path: rawRoute.segment,\n loadChildren: () =>\n module!().then((m) => [\n {\n path: '',\n component: m.default,\n ...toRouteConfig(m.routeMeta as RouteMeta | undefined),\n children,\n [ANALOG_META_KEY]: analogMeta,\n },\n ]),\n }\n : { path: rawRoute.segment, children };\n\n routes.push(route);\n }\n\n return routes;\n}\n\nfunction sortRawRoutes(rawRoutes: RawRoute[]): void {\n rawRoutes.sort((a, b) => {\n let segmentA = deprioritizeSegment(a.segment);\n let segmentB = deprioritizeSegment(b.segment);\n\n // prioritize routes with fewer children\n if (a.children.length > b.children.length) {\n segmentA = `~${segmentA}`;\n } else if (a.children.length < b.children.length) {\n segmentB = `~${segmentB}`;\n }\n\n return segmentA > segmentB ? 1 : -1;\n });\n\n for (const rawRoute of rawRoutes) {\n sortRawRoutes(rawRoute.children);\n }\n}\n\nfunction deprioritizeSegment(segment: string): string {\n // deprioritize param and wildcard segments\n return segment.replace(':', '~~').replace('**', '~~~~');\n}\n\nexport const routes: Route[] = createRoutes({ ...FILES, ...CONTENT_FILES });\n","import { inject } from '@angular/core';\nimport { Route as NgRoute, Router } from '@angular/router';\nimport { ActivatedRoute } from '@angular/router';\n\ntype RouteOmitted =\n | 'component'\n | 'loadComponent'\n | 'loadChildren'\n | 'path'\n | 'pathMatch';\n\ntype RestrictedRoute = Omit<NgRoute, RouteOmitted>;\n\n/**\n * @deprecated Use `RouteMeta` type instead.\n * For more info see: https://github.com/analogjs/analog/issues/223\n *\n * Defines additional route config metadata. This\n * object is merged into the route config with\n * the predefined file-based route.\n *\n * @usageNotes\n *\n * ```\n * import { Component } from '@angular/core';\n * import { defineRouteMeta } from '@analogjs/router';\n *\n * export const routeMeta = defineRouteMeta({\n * title: 'Welcome'\n * });\n *\n * @Component({\n * template: `Home`,\n * standalone: true,\n * })\n * export default class HomeComponent {}\n * ```\n *\n * @param route\n * @returns\n */\nexport const defineRouteMeta = (route: RestrictedRoute) => {\n return route;\n};\n\n/**\n * Returns the instance of Angular Router\n *\n * @returns The router\n */\nexport const injectRouter = () => {\n return inject(Router);\n};\n\n/**\n * Returns the instance of the Activate Route for the component\n *\n * @returns The activated route\n */\nexport const injectActivatedRoute = () => {\n return inject(ActivatedRoute);\n};\n","import {\n ENVIRONMENT_INITIALIZER,\n EnvironmentProviders,\n makeEnvironmentProviders,\n Provider,\n} from '@angular/core';\nimport { provideRouter, RouterFeatures } from '@angular/router';\n\nimport { routes } from './routes';\nimport { updateMetaTagsOnRouteChange } from './meta-tags';\n\n/**\n * Sets up providers for the Angular router, and registers\n * file-based routes. Additional features can be provided\n * to further configure the behavior of the router.\n *\n * @param features\n * @returns Providers and features to configure the router with routes\n */\nexport function provideFileRouter(\n ...features: RouterFeatures[]\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n // TODO: remove type casting after Angular >=15.1.1 upgrade\n // https://github.com/angular/angular/pull/48720\n (\n provideRouter(routes, ...features) as unknown as {\n ɵproviders: Provider[];\n }\n ).ɵproviders,\n {\n provide: ENVIRONMENT_INITIALIZER,\n multi: true,\n useValue: () => updateMetaTagsOnRouteChange(),\n },\n ]);\n}\n","import { Injector, inject } from '@angular/core';\nimport { ActivatedRoute, Data } from '@angular/router';\nimport { Observable, map } from 'rxjs';\n\nimport { PageServerLoad } from './route-types';\n\nexport function injectLoad<\n T extends (pageServerLoad: PageServerLoad) => Promise<any>\n>(options?: { injector?: Injector }): Observable<Awaited<ReturnType<T>>> {\n const injector = options?.injector ?? inject(Injector);\n const route = injector.get(ActivatedRoute);\n\n return route.data.pipe(\n map<Data, Awaited<ReturnType<T>>>((data) => data['load'])\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/router",
3
- "version": "0.2.33",
3
+ "version": "0.2.35",
4
4
  "description": "Filesystem-based routing for Angular",
5
5
  "author": "Brandon Roberts <robertsbt@gmail.com>",
6
6
  "keywords": [
@@ -23,7 +23,7 @@
23
23
  "@angular/router": "^15.0.0 || >=16.0.0"
24
24
  },
25
25
  "optionalDependencies": {
26
- "@analogjs/content": "^0.2.33"
26
+ "@analogjs/content": "^0.2.35"
27
27
  },
28
28
  "dependencies": {
29
29
  "tslib": "^2.0.0"