@alauda-fe/network 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/fixed-ip/component.mjs +5 -4
- package/esm2022/lib/components/loadbalancer-spec-form/component.mjs +2 -2
- package/esm2022/lib/components/service-annotations-form/annotations.component.mjs +2 -2
- package/esm2022/lib/components/service-form/component.mjs +2 -2
- package/esm2022/lib/components/service-form/fieldset/component.mjs +2 -2
- package/esm2022/lib/features/network-policy/components/rule-table/component.mjs +2 -2
- package/esm2022/lib/features/network-policy/form/network-policy/component.mjs +2 -2
- package/esm2022/lib/features/network-policy/form/network-policy-ip-block/component.mjs +2 -2
- package/esm2022/lib/features/network-policy/form/network-policy-peer/component.mjs +2 -2
- package/esm2022/lib/features/network-policy/form/network-policy-ports/component.mjs +2 -2
- package/esm2022/lib/features/network-policy/form/network-policy-remote-except-input/component.mjs +2 -2
- package/esm2022/lib/services/network-util.service.mjs +7 -12
- package/esm2022/lib/services/subnet-util.service.mjs +8 -11
- package/esm2022/lib/utils/cidr-exports.mjs +1 -1
- package/lib/components/fixed-ip/component.d.ts +1 -1
- package/lib/services/network-util.service.d.ts +3 -2
- package/lib/services/subnet-util.service.d.ts +3 -2
- package/lib/types/resource-definition.d.ts +12 -1
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -356,4 +356,4 @@ export function invalidIpOrder(ipBegin, ipEnd) {
|
|
|
356
356
|
const ipEndBigInt = ipEnd.bigInteger();
|
|
357
357
|
return ipBeginBigInt.compareTo(ipEndBigInt) >= 0;
|
|
358
358
|
}
|
|
359
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lkci1leHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9uZXR3b3JrL3NyYy9saWIvdXRpbHMvY2lkci1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixHQUV0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPbEM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7Q0FDRixDQUFDO0FBSVgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLE1BQU0sRUFBRSxRQUFRO0NBQ1IsQ0FBQztBQUlYLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBVSxDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO0lBQ3JCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07Q0FDYixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLEdBQUcsTUFBTTtJQUNULElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQUlYOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBZSxFQUNmLEtBQWEsRUFDYixTQUFpQixNQUFNLENBQUMsSUFBSTtJQUU1QixJQUNFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FB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QUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSU5UX1pFUk9fUEFUVEVSTixcbiAgSVBfQUREUkVTU19QQVRURVJOLFxuICBJUF9WNl9BRERSRVNTX1BBVFRFUk4sXG4gIFZhbHVlT2YsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IEFkZHJlc3M0LCBBZGRyZXNzNiB9IGZyb20gJ2lwLWFkZHJlc3MnO1xuaW1wb3J0IHsgQmlnSW50ZWdlciB9IGZyb20gJ2pzYm4nO1xuXG5pbnRlcmZhY2UgU2VnbWVudE1vZGVsIHtcbiAgaXBWNFNlZ21lbnQ/OiBzdHJpbmc7XG4gIGlwVjZTZWdtZW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIG5vdGU6IHdlIGRvbid0IHVzZSBlbnVtIGhlcmUgYmVjYXVzZSB0cyBkbyBub3Qgc3VwcG9ydCBleHRlbmRzIGVudW0gZm9yIG5vd1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy8xNzU5MlxuICovXG5leHBvcnQgY29uc3QgSVBNb2RlID0ge1xuICBJUFY0OiAndjQnLFxuICBJUFY2OiAndjYnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgSVBNb2RlID0gVmFsdWVPZjx0eXBlb2YgSVBNb2RlPjtcblxuZXhwb3J0IGNvbnN0IEFkZHJlc3NUeXBlcyA9IHtcbiAgQURWRVJUSVNFOiAnQWR2ZXJ0aXNlJyxcbiAgUFVCTElDOiAnUHVibGljJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEFkZHJlc3NUeXBlcyA9IFZhbHVlT2Y8dHlwZW9mIEFkZHJlc3NUeXBlcz47XG5cbmV4cG9ydCBjb25zdCBJUF9NT0RFUyA9IFtJUE1vZGUuSVBWNCwgSVBNb2RlLklQVjZdIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgSVBfTU9ERV9URVhUUyA9IHtcbiAgW0lQTW9kZS5JUFY0XTogJ0lQdjQnLFxuICBbSVBNb2RlLklQVjZdOiAnSVB2NicsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgTmV0d29ya01vZGUgPSB7XG4gIC4uLklQTW9kZSxcbiAgRFVBTDogJ2R1YWwnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgTmV0d29ya01vZGUgPSBWYWx1ZU9mPHR5cGVvZiBOZXR3b3JrTW9kZT47XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGNpZHJTdHIgY2lkckJsb2NrLCBlLmcuIDEwLjE2LjAuMC8yNCBtYXkgc3VwcG9ydCBpcHY2XG4gKiBAcGFyYW0ge3N0cmluZ30gaXBTdHIgc3BlY2lmaWMgaXAsIGUuZy4gMTAuMTYuMS4yIG1heSBzdXBwb3J0IGlwdjZcbiAqIEBwYXJhbSB7SVBNb2RlfSBpcE1vZGUgaXAgbmV0d29yayBtb2RlIGlwdjQvaXB2NlxuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciBpcCBiZWxvbmdzIHRvIGNpZHJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQmVsb25nQ2lkcihcbiAgY2lkclN0cjogc3RyaW5nLFxuICBpcFN0cjogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICAhaXNDaWRyQWRkcmVzc1ZhbGlkKGNpZHJTdHIsIGlwTW9kZSkgfHxcbiAgICAhaXNJcEFkZHJlc3NWYWxpZChpcFN0ciwgaXBNb2RlKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgY29uc3QgaXAgPSBuZXcgQnVpbGRlcihpcFN0cik7XG4gIGNvbnN0IGNpZHIgPSBuZXcgQnVpbGRlcihjaWRyU3RyKTtcbiAgcmV0dXJuIGlwLmlzSW5TdWJuZXQoY2lkcik7XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGlwIHNwZWNpZmljIGlwLCBlLmcuIDEwLjE2LjEuMlxuICogQHBhcmFtIHtzdHJpbmd9IGNpZHIgc3BlY2lmaWMgY2lkciB3aGljaCBpcCBtYXkgYmVsb25ncyB0bywgZS5nLiAxMC4xNi4wLjAvMjRcbiAqIEByZXR1cm4ge2Jvb2xlYW59IHdoZXRoZXIgaXAgaXMgYnJvYWRjYXN0IGFkZHJlc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQnJvYWRjYXN0QWRkcihcbiAgaXBTdHI6IHN0cmluZyxcbiAgY2lkclN0cj86IHN0cmluZyxcbiAgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCxcbik6IGJvb2xlYW4ge1xuICAvLyBJUFY2IOaXoOW5v+aSreWcsOWdgOamguW/tVxuICBpZiAoaXBNb2RlID09PSBJUE1vZGUuSVBWNikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoIWNpZHJTdHIpIHtcbiAgICByZXR1cm4gaXBTdHIgPT09ICcyNTUuMjU1LjI1NS4yNTUnO1xuICB9XG4gIHRyeSB7XG4gICAgY29uc3QgY2lkciA9IG5ldyBBZGRyZXNzNChjaWRyU3RyKTtcbiAgICAvLyDlrZDnvZHkuK3nmoTmnIDlkI7kuIDkvY1cbiAgICByZXR1cm4gaXBTdHIgPT09IGNpZHIuZW5kQWRkcmVzcygpLmFkZHJlc3M7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMb29wYmFjayhpcFN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0KSB7XG4gIGNvbnN0IGNpZHIgPSBpcE1vZGUgPT09IElQTW9kZS5JUFY0ID8gJzEyNy4wLjAuMC84JyA6ICc6OjEvMTI4JztcbiAgcmV0dXJuIGlzQmVsb25nQ2lkcihjaWRyLCBpcFN0ciwgaXBNb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTXVsdGlCcm9hZGNhc3QoaXBTdHI6IHN0cmluZywgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkge1xuICBjb25zdCBjaWRyID0gaXBNb2RlID09PSBJUE1vZGUuSVBWNCA/ICcyMjQuMC4wLjAvNCcgOiAnZmYwMDo6LzgnO1xuICByZXR1cm4gaXNCZWxvbmdDaWRyKGNpZHIsIGlwU3RyLCBpcE1vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMaW5rTG9jYWwoaXBTdHI6IHN0cmluZywgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkge1xuICBjb25zdCBjaWRyID0gaXBNb2RlID09PSBJUE1vZGUuSVBWNCA/ICcxNjkuMjU0LjAuMC8xNicgOiAnZmU4MDo6LzEwJztcbiAgcmV0dXJuIGlzQmVsb25nQ2lkcihjaWRyLCBpcFN0ciwgaXBNb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWxsWmVybyhpcFN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0KSB7XG4gIGNvbnN0IGNpZHIgPSBpcE1vZGUgPT09IElQTW9kZS5JUFY0ID8gJzAuMC4wLjAvMzInIDogJzo6LzEyOCc7XG4gIHJldHVybiBpc0JlbG9uZ0NpZHIoY2lkciwgaXBTdHIsIGlwTW9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05ldHdvcmtBZGRyKFxuICBpcFN0cjogc3RyaW5nLFxuICBjaWRyU3RyPzogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGlmICghY2lkclN0cikge1xuICAgIHJldHVybiBpcFN0ciA9PT0gJzAuMC4wLjAnO1xuICB9XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGNpZHIgPSBuZXcgQnVpbGRlcihjaWRyU3RyKTtcbiAgICAvLyDlrZDnvZHkuK3nmoTmnIDlkI7kuIDkvY1cbiAgICByZXR1cm4gaXBTdHIgPT09IGNpZHIuc3RhcnRBZGRyZXNzKCkuYWRkcmVzcztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGNpZHJBU3RyIGNpZHJCbG9jayBBLCBlLmcuIDEwLjE2LjAuMC8yNC4gc3VwcG9ydCBJUHY2XG4gKiBAcGFyYW0ge3N0cmluZ30gY2lkckJTdHIgY2lkckJsb2NrIEIsIGUuZy4gMTAuMTAuMC4wLzE2LiBzdXBwb3J0IElQdjZcbiAqIEBwYXJhbSB7SVBNb2RlfSBpcE1vZGUgaXBNb2RlLCB2NCBvciB2NlxuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciAyIGNpZHIgYmxvY2tzIG1heSBjb25mbGljdCwganVkZ2UgYnkgd2hldGhlciBpcCBiZWxvbmdzIHRvIGNpZHJCbG9jayBBIG1heSBhbHNvIGJlbG9uZ3MgdG8gQlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDaWRyQ29uZmxpY3QoXG4gIGNpZHJBU3RyOiBzdHJpbmcsXG4gIGNpZHJCU3RyOiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pOiBib29sZWFuIHtcbiAgY29uc3QgQnVpbGRlciA9IGdldEFkZHJlc3NCdWlsZGVyKGlwTW9kZSk7XG4gIHRyeSB7XG4gICAgY29uc3QgY2lkckEgPSBuZXcgQnVpbGRlcihjaWRyQVN0cik7XG4gICAgY29uc3QgY2lkckIgPSBuZXcgQnVpbGRlcihjaWRyQlN0cik7XG4gICAgY29uc3QgY2lkckFGcm9tID0gY2lkckEuc3RhcnRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckFFbmQgPSBjaWRyQS5lbmRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckJGcm9tID0gY2lkckIuc3RhcnRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckJFbmQgPSBjaWRyQi5lbmRBZGRyZXNzKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIGNpZHJBRnJvbS5pc0luU3VibmV0KGNpZHJCKSB8fFxuICAgICAgY2lkckFFbmQuaXNJblN1Ym5ldChjaWRyQikgfHxcbiAgICAgIGNpZHJCRnJvbS5pc0luU3VibmV0KGNpZHJBKSB8fFxuICAgICAgY2lkckJFbmQuaXNJblN1Ym5ldChjaWRyQSlcbiAgICApO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8gd2hldGhlciBjaWRyQSBjb250YWlucyBjaWRyQiAoY2lkckEgPiBjaWRyQilcbmV4cG9ydCBmdW5jdGlvbiBpc0NpZHJDb250YWluKFxuICBjaWRyQVN0cjogc3RyaW5nLFxuICBjaWRyQlN0cjogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGNpZHJBID0gbmV3IEJ1aWxkZXIoY2lkckFTdHIpO1xuICAgIGNvbnN0IGNpZHJCID0gbmV3IEJ1aWxkZXIoY2lkckJTdHIpO1xuICAgIGNvbnN0IGNpZHJCRnJvbSA9IGNpZHJCLnN0YXJ0QWRkcmVzcygpO1xuICAgIGNvbnN0IGNpZHJCRW5kID0gY2lkckIuZW5kQWRkcmVzcygpO1xuICAgIHJldHVybiBjaWRyQkZyb20uaXNJblN1Ym5ldChjaWRyQSkgJiYgY2lkckJFbmQuaXNJblN1Ym5ldChjaWRyQSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlOiBJUE1vZGUpIHtcbiAgcmV0dXJuIGlwTW9kZSA9PT0gSVBNb2RlLklQVjYgPyBBZGRyZXNzNiA6IEFkZHJlc3M0O1xufVxuXG5leHBvcnQgY29uc3QgcGFyc2VDSURSID0gKGFkZHJlc3M6IHN0cmluZywgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkgPT4ge1xuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gbmV3IEJ1aWxkZXIoYWRkcmVzcyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXBBZGRyZXNzRXF1YWwoXG4gIGlwQVN0cjogc3RyaW5nLFxuICBpcEJTdHI6IHN0cmluZyxcbiAgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCxcbikge1xuICBpZiAoaXBBU3RyID09PSBpcEJTdHIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpcE1vZGUgPT09IElQTW9kZS5JUFY0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBpcEEgPSBuZXcgQWRkcmVzczYoaXBBU3RyKTtcbiAgICBjb25zdCBpcEIgPSBuZXcgQWRkcmVzczYoaXBCU3RyKTtcbiAgICByZXR1cm4gaXBBLmJpZ0ludGVnZXIoKS5lcXVhbHMoaXBCLmJpZ0ludGVnZXIoKSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJcEFkZHJlc3NWYWxpZChcbiAgYWRkcmVzczogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGlwID0gbmV3IEJ1aWxkZXIoYWRkcmVzcyk7XG4gICAgcmV0dXJuICFpcC5hZGRyZXNzLmluY2x1ZGVzKCcvJyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDaWRyQWRkcmVzc1ZhbGlkKFxuICBhZGRyZXNzOiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pIHtcbiAgY29uc3QgY2lkciA9IHBhcnNlQ0lEUihhZGRyZXNzLCBpcE1vZGUpO1xuICByZXR1cm4gISFjaWRyPy5hZGRyZXNzLmluY2x1ZGVzKCcvJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyVHlwZShpcDogc3RyaW5nKSB7XG4gIHJldHVybiBpc0lwdjYoaXA/LnNwbGl0KCcvJyk/LlswXSkgPyBJUE1vZGUuSVBWNiA6IElQTW9kZS5JUFY0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJcHY0KHZhbHVlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIElQX0FERFJFU1NfUEFUVEVSTi5wYXR0ZXJuLnRlc3QodmFsdWUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSXB2Nih2YWx1ZTogc3RyaW5nKSB7XG4gIHJldHVybiBJUF9WNl9BRERSRVNTX1BBVFRFUk4ucGF0dGVybi50ZXN0KHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlwQWRkcmVzcyh2YWx1ZTogc3RyaW5nKSB7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIGlzSXB2NCh2YWx1ZSkgPyB2YWx1ZSA6IGBbJHt2YWx1ZX1dYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0cmljdENpZHIoY2lkclN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSkge1xuICBpZiAoIWNpZHJTdHIpIHtcbiAgICByZXR1cm4gY2lkclN0cjtcbiAgfVxuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBjaWRyID0gbmV3IEJ1aWxkZXIoY2lkclN0cik7XG4gICAgcmV0dXJuIFtjaWRyLnN0YXJ0QWRkcmVzcygpLmFkZHJlc3MsIGNpZHIuc3VibmV0XS5qb2luKCcnKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNlZ21lbnQgPSAoXG4gIHNlZ21lbnQ/OiBzdHJpbmcsXG4gIG5ldHdvcmtNb2RlPzogTmV0d29ya01vZGUsXG4pOiBTZWdtZW50TW9kZWwgPT4ge1xuICBpZiAoIXNlZ21lbnQpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBpZiAobmV0d29ya01vZGUgPT09IE5ldHdvcmtNb2RlLklQVjQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXBWNFNlZ21lbnQ6IHNlZ21lbnQsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChuZXR3b3JrTW9kZSA9PT0gTmV0d29ya01vZGUuSVBWNikge1xuICAgIHJldHVybiB7XG4gICAgICBpcFY2U2VnbWVudDogc2VnbWVudCxcbiAgICB9O1xuICB9XG5cbiAgbGV0IGlwVjRTZWdtZW50OiBzdHJpbmc7XG4gIGxldCBpcFY2U2VnbWVudDogc3RyaW5nO1xuXG4gIGlmIChzZWdtZW50LmluY2x1ZGVzKCcsJykpIHtcbiAgICBbaXBWNFNlZ21lbnQsIGlwVjZTZWdtZW50XSA9IHNlZ21lbnQuc3BsaXQoJywnKTtcbiAgfSBlbHNlIGlmIChzZWdtZW50LmluY2x1ZGVzKCc6JykpIHtcbiAgICBpcFY2U2VnbWVudCA9IHNlZ21lbnQ7XG4gIH0gZWxzZSB7XG4gICAgaXBWNFNlZ21lbnQgPSBzZWdtZW50O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpcFY0U2VnbWVudCxcbiAgICBpcFY2U2VnbWVudCxcbiAgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyQmxvY2soXG4gIHNlZ21lbnQ6IHN0cmluZyxcbiAgbmV0d29ya1R5cGU/OiBOZXR3b3JrTW9kZSxcbik6IHN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyQmxvY2soe1xuICBpcFY0U2VnbWVudCxcbiAgaXBWNlNlZ21lbnQsXG59OiBTZWdtZW50TW9kZWwpOiBzdHJpbmc7XG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2lkckJsb2NrKFxuICBwYXJhbTogU2VnbWVudE1vZGVsIHwgc3RyaW5nLFxuICBuZXR3b3JrTW9kZT86IE5ldHdvcmtNb2RlLFxuKSB7XG4gIGxldCBpcFY0U2VnbWVudDogc3RyaW5nO1xuICBsZXQgaXBWNlNlZ21lbnQ6IHN0cmluZztcblxuICBpZiAodHlwZW9mIHBhcmFtID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IF8gPSBwYXJzZVNlZ21lbnQocGFyYW0sIG5ldHdvcmtNb2RlKTtcbiAgICBpcFY0U2VnbWVudCA9IF8uaXBWNFNlZ21lbnQ7XG4gICAgaXBWNlNlZ21lbnQgPSBfLmlwVjZTZWdtZW50O1xuICB9IGVsc2Uge1xuICAgIGlwVjRTZWdtZW50ID0gcGFyYW0uaXBWNFNlZ21lbnQ7XG4gICAgaXBWNlNlZ21lbnQgPSBwYXJhbS5pcFY2U2VnbWVudDtcbiAgfVxuXG4gIHJldHVybiBbXG4gICAgZ2V0U3RyaWN0Q2lkcihpcFY0U2VnbWVudCwgSVBNb2RlLklQVjQpLFxuICAgIGdldFN0cmljdENpZHIoaXBWNlNlZ21lbnQsIElQTW9kZS5JUFY2KSxcbiAgXVxuICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAuam9pbignLCcpO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JUFY0X01BWF9DSURSX1BSRUZJWCA9IDMxO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSVBWNl9NQVhfQ0lEUl9QUkVGSVggPSAxMjc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05FVFdPUktfQ0lEUl9QUkVGSVhfTUFQUEVSID0ge1xuICBbSVBNb2RlLklQVjRdOiBERUZBVUxUX0lQVjRfTUFYX0NJRFJfUFJFRklYLFxuICBbSVBNb2RlLklQVjZdOiBERUZBVUxUX0lQVjZfTUFYX0NJRFJfUFJFRklYLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENpZHJNYXhpbXVtUHJlZml4KGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQpIHtcbiAgcmV0dXJuIERFRkFVTFRfTkVUV09SS19DSURSX1BSRUZJWF9NQVBQRVJbaXBNb2RlXTtcbn1cblxuZXhwb3J0IGNvbnN0IGFkYXB0SXBNb2RlID0gKHZhbHVlOiBzdHJpbmcsIG5ldHdvcmtNb2RlOiBOZXR3b3JrTW9kZSkgPT5cbiAgbmV0d29ya01vZGUgPT09IE5ldHdvcmtNb2RlLkRVQUxcbiAgICA/IHZhbHVlPy5pbmNsdWRlcygnOicpXG4gICAgICA/IE5ldHdvcmtNb2RlLklQVjZcbiAgICAgIDogTmV0d29ya01vZGUuSVBWNFxuICAgIDogbmV0d29ya01vZGU7XG5cbmV4cG9ydCBjb25zdCBpc0lwUGFydFZhbGlkID0gKHBhcnQ6IHN0cmluZywgaXNJcFY0OiBib29sZWFuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChwYXJ0ID09PSAnJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmIChpc0lwVjQpIHtcbiAgICBpZiAoSU5UX1pFUk9fUEFUVEVSTi5wYXR0ZXJuLnRlc3QocGFydCkpIHtcbiAgICAgIHJldHVybiBOdW1iZXIocGFydCkgPD0gMjU1O1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKC9eW1xcZGEtZl0rJC9pLnRlc3QocGFydCkpIHtcbiAgICByZXR1cm4gTnVtYmVyLnBhcnNlSW50KHBhcnQsIDE2KSA8PSAweGZmX2ZmO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0lwUGFydHNWYWxpZCA9IChwYXJ0czogc3RyaW5nW10sIGlzSXBWNDogYm9vbGVhbik6IGJvb2xlYW4gPT5cbiAgcGFydHMuZXZlcnkocGFydCA9PiBpc0lwUGFydFZhbGlkKHBhcnQsIGlzSXBWNCkpO1xuXG5leHBvcnQgY29uc3QgaXNJcElucHV0VmFsaWQgPSAoaW5wdXQ6IHN0cmluZywgaXNJcFY0OiBib29sZWFuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHBhcnRzID0gaW5wdXQuc3BsaXQoaXNJcFY0ID8gJy4nIDogJzonKTtcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA8PSAoaXNJcFY0ID8gNCA6IDgpICYmIGlzSXBQYXJ0c1ZhbGlkKHBhcnRzLCBpc0lwVjQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldElwQWRkcmVzc1N1Z2dlc3Rpb25zQnlDaWRycyA9IChcbiAgY2lkcnM6IHN0cmluZ1tdLFxuICBuZXR3b3JrTW9kZTogTmV0d29ya01vZGUsXG4gIHVzZWRJcHM6IHN0cmluZ1tdLFxuICBpbnB1dFZhbHVlOiBzdHJpbmcsXG4gIGlzQ2FsaWNvOiBib29sZWFuLFxuICBtYXhTaXplID0gMTAsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG4pOiBzdHJpbmdbXSA9PiB7XG4gIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlID8/ICcnO1xuXG4gIGNvbnN0IHN0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0IHVzZWRJcFZhbHVlcyA9IFtcbiAgICAuLi51c2VkSXBzLnJlZHVjZTxTZXQ8QmlnSW50ZWdlcj4+KChpcFZhbHVlcywgaXApID0+IHtcbiAgICAgIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihhZGFwdElwTW9kZShpcCwgbmV0d29ya01vZGUpKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlwVmFsdWVzLmFkZChuZXcgQnVpbGRlcihpcCkuYmlnSW50ZWdlcigpKTtcbiAgICAgIH0gY2F0Y2gge31cbiAgICAgIHJldHVybiBpcFZhbHVlcztcbiAgICB9LCBuZXcgU2V0PEJpZ0ludGVnZXI+KCkpLFxuICBdO1xuXG4gIGZvciAoY29uc3QgY2lkciBvZiBjaWRycykge1xuICAgIGNvbnN0IGlwTW9kZSA9IGFkYXB0SXBNb2RlKGNpZHIsIG5ldHdvcmtNb2RlKTtcblxuICAgIGNvbnN0IGlzSXBWNCA9IGlwTW9kZSA9PT0gSVBNb2RlLklQVjQ7XG5cbiAgICBpZiAoIWlzSXBJbnB1dFZhbGlkKGlucHV0VmFsdWUsIGlzSXBWNCkpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IGxvb3BTdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgY29uc3QgQnVpbGRlciA9IGdldEFkZHJlc3NCdWlsZGVyKGlwTW9kZSk7XG5cbiAgICBsZXQgaXBDaWRyOiBBZGRyZXNzNCB8IEFkZHJlc3M2O1xuXG4gICAgdHJ5IHtcbiAgICAgIGlwQ2lkciA9IG5ldyBCdWlsZGVyKGNpZHIpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRBZGRyZXNzID0gaXBDaWRyLl9zdGFydEFkZHJlc3MoKTtcbiAgICBjb25zdCBlbmRBZGRyZXNzID0gaXBDaWRyLl9lbmRBZGRyZXNzKCk7XG5cbiAgICAvLyDpnZ4gY2FsaWNvIOaooeW8j+S4i++8jOS4jeWFgeiuuOS9v+eUqOe9keauteeahOesrOS4gOS4que9kee7nCBJUCDlkozmnIDlkI7kuIDkuKog5bm/5pKtIElQXG4gICAgbGV0IGFkZHJlc3MgPSBzdGFydEFkZHJlc3MuYWRkKGlzQ2FsaWNvID8gQmlnSW50ZWdlci5aRVJPIDogQmlnSW50ZWdlci5PTkUpO1xuXG4gICAgd2hpbGUgKGFkZHJlc3MuY29tcGFyZVRvKGVuZEFkZHJlc3MpIDwgKGlzQ2FsaWNvID8gMSA6IDApKSB7XG4gICAgICBjb25zdCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgICAgLy8gQ29uc2lkZXJpbmcgdGhlIHBlcmZvcm1hbmNlLCB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIHRoZSBVSSB0b28gbXVjaFxuICAgICAgaWYgKCFpc0lwVjQpIHtcbiAgICAgICAgaWYgKG5vdyAtIGxvb3BTdGFydCA+IDEwMCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vdyAtIHN0YXJ0ID4gMjUwKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXVzZWRJcFZhbHVlcy5zb21lKGlwID0+ICFpcC5jb21wYXJlVG8oYWRkcmVzcykpKSB7XG4gICAgICAgIGNvbnN0IGlwQWRkciA9IEJ1aWxkZXIuZnJvbUJpZ0ludGVnZXIoYWRkcmVzcykuY29ycmVjdEZvcm0oKTtcbiAgICAgICAgaWYgKGlwQWRkci5pbmNsdWRlcyhpbnB1dFZhbHVlKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGlwQWRkcik7XG4gICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPj0gbWF4U2l6ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYWRkcmVzcyA9IGFkZHJlc3MuYWRkKEJpZ0ludGVnZXIuT05FKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkYXB0U3VibmV0Q2lkcnMoXG4gIGNpZHJzOiBzdHJpbmcsXG4gIG5ldHdvcmtNb2RlOiBOZXR3b3JrTW9kZSxcbiAgZW5hYmxlRml4SXBWNkZvckR1YWwgPSBmYWxzZSxcbikge1xuICByZXR1cm4gY2lkcnNcbiAgICA/LnNwbGl0KCc7JylcbiAgICAubWFwKGNpZHIgPT4gcGFyc2VTZWdtZW50KGNpZHIpKVxuICAgIC5yZWR1Y2UoKGxpc3QsIGl0ZW0pID0+IHtcbiAgICAgIGxpc3QucHVzaChcbiAgICAgICAgaXRlbS5pcFY0U2VnbWVudCxcbiAgICAgICAgKG5ldHdvcmtNb2RlICE9PSBOZXR3b3JrTW9kZS5EVUFMIHx8IGVuYWJsZUZpeElwVjZGb3JEdWFsKSAmJlxuICAgICAgICAgIGl0ZW0uaXBWNlNlZ21lbnQsXG4gICAgICApO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW10gYXMgc3RyaW5nW10pXG4gICAgLmZpbHRlcihCb29sZWFuKTtcbn1cblxuLy8gcmV0dXJuIHRydWUgaWYgaXBCZWdpbiA+IGlwRW5kXG5leHBvcnQgZnVuY3Rpb24gaW52YWxpZElwT3JkZXI8VCBleHRlbmRzIEFkZHJlc3M0IHwgQWRkcmVzczY+KFxuICBpcEJlZ2luOiBULFxuICBpcEVuZDogVCxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBpcEJlZ2luQmlnSW50ID0gaXBCZWdpbi5iaWdJbnRlZ2VyKCk7XG4gIGNvbnN0IGlwRW5kQmlnSW50ID0gaXBFbmQuYmlnSW50ZWdlcigpO1xuICByZXR1cm4gaXBCZWdpbkJpZ0ludC5jb21wYXJlVG8oaXBFbmRCaWdJbnQpID49IDA7XG59XG4iXX0=
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lkci1leHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9uZXR3b3JrL3NyYy9saWIvdXRpbHMvY2lkci1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixHQUV0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPbEM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7Q0FDRixDQUFDO0FBSVgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLE1BQU0sRUFBRSxRQUFRO0NBQ1IsQ0FBQztBQUlYLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBVSxDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO0lBQ3JCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07Q0FDYixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLEdBQUcsTUFBTTtJQUNULElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQUlYOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBZSxFQUNmLEtBQWEsRUFDYixTQUFpQixNQUFNLENBQUMsSUFBSTtJQUU1QixJQUNFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FB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QUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSU5UX1pFUk9fUEFUVEVSTixcbiAgSVBfQUREUkVTU19QQVRURVJOLFxuICBJUF9WNl9BRERSRVNTX1BBVFRFUk4sXG4gIFZhbHVlT2YsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IEFkZHJlc3M0LCBBZGRyZXNzNiB9IGZyb20gJ2lwLWFkZHJlc3MnO1xuaW1wb3J0IHsgQmlnSW50ZWdlciB9IGZyb20gJ2pzYm4nO1xuXG5pbnRlcmZhY2UgU2VnbWVudE1vZGVsIHtcbiAgaXBWNFNlZ21lbnQ/OiBzdHJpbmc7XG4gIGlwVjZTZWdtZW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIG5vdGU6IHdlIGRvbid0IHVzZSBlbnVtIGhlcmUgYmVjYXVzZSB0cyBkbyBub3Qgc3VwcG9ydCBleHRlbmRzIGVudW0gZm9yIG5vd1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy8xNzU5MlxuICovXG5leHBvcnQgY29uc3QgSVBNb2RlID0ge1xuICBJUFY0OiAndjQnLFxuICBJUFY2OiAndjYnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgSVBNb2RlID0gVmFsdWVPZjx0eXBlb2YgSVBNb2RlPjtcblxuZXhwb3J0IGNvbnN0IEFkZHJlc3NUeXBlcyA9IHtcbiAgQURWRVJUSVNFOiAnQWR2ZXJ0aXNlJyxcbiAgUFVCTElDOiAnUHVibGljJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEFkZHJlc3NUeXBlcyA9IFZhbHVlT2Y8dHlwZW9mIEFkZHJlc3NUeXBlcz47XG5cbmV4cG9ydCBjb25zdCBJUF9NT0RFUyA9IFtJUE1vZGUuSVBWNCwgSVBNb2RlLklQVjZdIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgSVBfTU9ERV9URVhUUyA9IHtcbiAgW0lQTW9kZS5JUFY0XTogJ0lQdjQnLFxuICBbSVBNb2RlLklQVjZdOiAnSVB2NicsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgTmV0d29ya01vZGUgPSB7XG4gIC4uLklQTW9kZSxcbiAgRFVBTDogJ2R1YWwnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgTmV0d29ya01vZGUgPSBWYWx1ZU9mPHR5cGVvZiBOZXR3b3JrTW9kZT47XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGNpZHJTdHIgY2lkckJsb2NrLCBlLmcuIDEwLjE2LjAuMC8yNCBtYXkgc3VwcG9ydCBpcHY2XG4gKiBAcGFyYW0ge3N0cmluZ30gaXBTdHIgc3BlY2lmaWMgaXAsIGUuZy4gMTAuMTYuMS4yIG1heSBzdXBwb3J0IGlwdjZcbiAqIEBwYXJhbSB7SVBNb2RlfSBpcE1vZGUgaXAgbmV0d29yayBtb2RlIGlwdjQvaXB2NlxuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciBpcCBiZWxvbmdzIHRvIGNpZHJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQmVsb25nQ2lkcihcbiAgY2lkclN0cjogc3RyaW5nLFxuICBpcFN0cjogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICAhaXNDaWRyQWRkcmVzc1ZhbGlkKGNpZHJTdHIsIGlwTW9kZSkgfHxcbiAgICAhaXNJcEFkZHJlc3NWYWxpZChpcFN0ciwgaXBNb2RlKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgY29uc3QgaXAgPSBuZXcgQnVpbGRlcihpcFN0cik7XG4gIGNvbnN0IGNpZHIgPSBuZXcgQnVpbGRlcihjaWRyU3RyKTtcbiAgcmV0dXJuIGlwLmlzSW5TdWJuZXQoY2lkcik7XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGlwIHNwZWNpZmljIGlwLCBlLmcuIDEwLjE2LjEuMlxuICogQHBhcmFtIHtzdHJpbmd9IGNpZHIgc3BlY2lmaWMgY2lkciB3aGljaCBpcCBtYXkgYmVsb25ncyB0bywgZS5nLiAxMC4xNi4wLjAvMjRcbiAqIEByZXR1cm4ge2Jvb2xlYW59IHdoZXRoZXIgaXAgaXMgYnJvYWRjYXN0IGFkZHJlc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQnJvYWRjYXN0QWRkcihcbiAgaXBTdHI6IHN0cmluZyxcbiAgY2lkclN0cj86IHN0cmluZyxcbiAgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCxcbik6IGJvb2xlYW4ge1xuICAvLyBJUFY2IOaXoOW5v+aSreWcsOWdgOamguW/tVxuICBpZiAoaXBNb2RlID09PSBJUE1vZGUuSVBWNikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoIWNpZHJTdHIpIHtcbiAgICByZXR1cm4gaXBTdHIgPT09ICcyNTUuMjU1LjI1NS4yNTUnO1xuICB9XG4gIHRyeSB7XG4gICAgY29uc3QgY2lkciA9IG5ldyBBZGRyZXNzNChjaWRyU3RyKTtcbiAgICAvLyDlrZDnvZHkuK3nmoTmnIDlkI7kuIDkvY1cbiAgICByZXR1cm4gaXBTdHIgPT09IGNpZHIuZW5kQWRkcmVzcygpLmFkZHJlc3M7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMb29wYmFjayhpcFN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0KSB7XG4gIGNvbnN0IGNpZHIgPSBpcE1vZGUgPT09IElQTW9kZS5JUFY0ID8gJzEyNy4wLjAuMC84JyA6ICc6OjEvMTI4JztcbiAgcmV0dXJuIGlzQmVsb25nQ2lkcihjaWRyLCBpcFN0ciwgaXBNb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTXVsdGlCcm9hZGNhc3QoaXBTdHI6IHN0cmluZywgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkge1xuICBjb25zdCBjaWRyID0gaXBNb2RlID09PSBJUE1vZGUuSVBWNCA/ICcyMjQuMC4wLjAvNCcgOiAnZmYwMDo6LzgnO1xuICByZXR1cm4gaXNCZWxvbmdDaWRyKGNpZHIsIGlwU3RyLCBpcE1vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMaW5rTG9jYWwoaXBTdHI6IHN0cmluZywgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkge1xuICBjb25zdCBjaWRyID0gaXBNb2RlID09PSBJUE1vZGUuSVBWNCA/ICcxNjkuMjU0LjAuMC8xNicgOiAnZmU4MDo6LzEwJztcbiAgcmV0dXJuIGlzQmVsb25nQ2lkcihjaWRyLCBpcFN0ciwgaXBNb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWxsWmVybyhpcFN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0KSB7XG4gIGNvbnN0IGNpZHIgPSBpcE1vZGUgPT09IElQTW9kZS5JUFY0ID8gJzAuMC4wLjAvMzInIDogJzo6LzEyOCc7XG4gIHJldHVybiBpc0JlbG9uZ0NpZHIoY2lkciwgaXBTdHIsIGlwTW9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05ldHdvcmtBZGRyKFxuICBpcFN0cjogc3RyaW5nLFxuICBjaWRyU3RyPzogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGlmICghY2lkclN0cikge1xuICAgIHJldHVybiBpcFN0ciA9PT0gJzAuMC4wLjAnO1xuICB9XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGNpZHIgPSBuZXcgQnVpbGRlcihjaWRyU3RyKTtcbiAgICAvLyDlrZDnvZHkuK3nmoTmnIDlkI7kuIDkvY1cbiAgICByZXR1cm4gaXBTdHIgPT09IGNpZHIuc3RhcnRBZGRyZXNzKCkuYWRkcmVzcztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGNpZHJBU3RyIGNpZHJCbG9jayBBLCBlLmcuIDEwLjE2LjAuMC8yNC4gc3VwcG9ydCBJUHY2XG4gKiBAcGFyYW0ge3N0cmluZ30gY2lkckJTdHIgY2lkckJsb2NrIEIsIGUuZy4gMTAuMTAuMC4wLzE2LiBzdXBwb3J0IElQdjZcbiAqIEBwYXJhbSB7SVBNb2RlfSBpcE1vZGUgaXBNb2RlLCB2NCBvciB2NlxuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciAyIGNpZHIgYmxvY2tzIG1heSBjb25mbGljdCwganVkZ2UgYnkgd2hldGhlciBpcCBiZWxvbmdzIHRvIGNpZHJCbG9jayBBIG1heSBhbHNvIGJlbG9uZ3MgdG8gQlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDaWRyQ29uZmxpY3QoXG4gIGNpZHJBU3RyOiBzdHJpbmcsXG4gIGNpZHJCU3RyOiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pOiBib29sZWFuIHtcbiAgY29uc3QgQnVpbGRlciA9IGdldEFkZHJlc3NCdWlsZGVyKGlwTW9kZSk7XG4gIHRyeSB7XG4gICAgY29uc3QgY2lkckEgPSBuZXcgQnVpbGRlcihjaWRyQVN0cik7XG4gICAgY29uc3QgY2lkckIgPSBuZXcgQnVpbGRlcihjaWRyQlN0cik7XG4gICAgY29uc3QgY2lkckFGcm9tID0gY2lkckEuc3RhcnRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckFFbmQgPSBjaWRyQS5lbmRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckJGcm9tID0gY2lkckIuc3RhcnRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckJFbmQgPSBjaWRyQi5lbmRBZGRyZXNzKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIGNpZHJBRnJvbS5pc0luU3VibmV0KGNpZHJCKSB8fFxuICAgICAgY2lkckFFbmQuaXNJblN1Ym5ldChjaWRyQikgfHxcbiAgICAgIGNpZHJCRnJvbS5pc0luU3VibmV0KGNpZHJBKSB8fFxuICAgICAgY2lkckJFbmQuaXNJblN1Ym5ldChjaWRyQSlcbiAgICApO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8gd2hldGhlciBjaWRyQSBjb250YWlucyBjaWRyQiAoY2lkckEgPiBjaWRyQilcbmV4cG9ydCBmdW5jdGlvbiBpc0NpZHJDb250YWluKFxuICBjaWRyQVN0cjogc3RyaW5nLFxuICBjaWRyQlN0cjogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGNpZHJBID0gbmV3IEJ1aWxkZXIoY2lkckFTdHIpO1xuICAgIGNvbnN0IGNpZHJCID0gbmV3IEJ1aWxkZXIoY2lkckJTdHIpO1xuICAgIGNvbnN0IGNpZHJCRnJvbSA9IGNpZHJCLnN0YXJ0QWRkcmVzcygpO1xuICAgIGNvbnN0IGNpZHJCRW5kID0gY2lkckIuZW5kQWRkcmVzcygpO1xuICAgIHJldHVybiBjaWRyQkZyb20uaXNJblN1Ym5ldChjaWRyQSkgJiYgY2lkckJFbmQuaXNJblN1Ym5ldChjaWRyQSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlOiBJUE1vZGUpIHtcbiAgcmV0dXJuIGlwTW9kZSA9PT0gSVBNb2RlLklQVjYgPyBBZGRyZXNzNiA6IEFkZHJlc3M0O1xufVxuXG5leHBvcnQgY29uc3QgcGFyc2VDSURSID0gKGFkZHJlc3M6IHN0cmluZywgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkgPT4ge1xuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gbmV3IEJ1aWxkZXIoYWRkcmVzcyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXBBZGRyZXNzRXF1YWwoXG4gIGlwQVN0cjogc3RyaW5nLFxuICBpcEJTdHI6IHN0cmluZyxcbiAgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCxcbikge1xuICBpZiAoaXBBU3RyID09PSBpcEJTdHIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpcE1vZGUgPT09IElQTW9kZS5JUFY0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBpcEEgPSBuZXcgQWRkcmVzczYoaXBBU3RyKTtcbiAgICBjb25zdCBpcEIgPSBuZXcgQWRkcmVzczYoaXBCU3RyKTtcbiAgICByZXR1cm4gaXBBLmJpZ0ludGVnZXIoKS5lcXVhbHMoaXBCLmJpZ0ludGVnZXIoKSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJcEFkZHJlc3NWYWxpZChcbiAgYWRkcmVzczogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGlwID0gbmV3IEJ1aWxkZXIoYWRkcmVzcyk7XG4gICAgcmV0dXJuICFpcC5hZGRyZXNzLmluY2x1ZGVzKCcvJyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDaWRyQWRkcmVzc1ZhbGlkKFxuICBhZGRyZXNzOiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pIHtcbiAgY29uc3QgY2lkciA9IHBhcnNlQ0lEUihhZGRyZXNzLCBpcE1vZGUpO1xuICByZXR1cm4gISFjaWRyPy5hZGRyZXNzLmluY2x1ZGVzKCcvJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyVHlwZShpcDogc3RyaW5nKSB7XG4gIHJldHVybiBpc0lwdjYoaXA/LnNwbGl0KCcvJyk/LlswXSkgPyBJUE1vZGUuSVBWNiA6IElQTW9kZS5JUFY0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJcHY0KHZhbHVlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIElQX0FERFJFU1NfUEFUVEVSTi5wYXR0ZXJuLnRlc3QodmFsdWUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSXB2Nih2YWx1ZTogc3RyaW5nKSB7XG4gIHJldHVybiBJUF9WNl9BRERSRVNTX1BBVFRFUk4ucGF0dGVybi50ZXN0KHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlwQWRkcmVzcyh2YWx1ZTogc3RyaW5nKSB7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIGlzSXB2NCh2YWx1ZSkgPyB2YWx1ZSA6IGBbJHt2YWx1ZX1dYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0cmljdENpZHIoY2lkclN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSkge1xuICBpZiAoIWNpZHJTdHIpIHtcbiAgICByZXR1cm4gY2lkclN0cjtcbiAgfVxuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBjaWRyID0gbmV3IEJ1aWxkZXIoY2lkclN0cik7XG4gICAgcmV0dXJuIFtjaWRyLnN0YXJ0QWRkcmVzcygpLmFkZHJlc3MsIGNpZHIuc3VibmV0XS5qb2luKCcnKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNlZ21lbnQgPSAoXG4gIHNlZ21lbnQ/OiBzdHJpbmcsXG4gIG5ldHdvcmtNb2RlPzogTmV0d29ya01vZGUsXG4pOiBTZWdtZW50TW9kZWwgPT4ge1xuICBpZiAoIXNlZ21lbnQpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBpZiAobmV0d29ya01vZGUgPT09IE5ldHdvcmtNb2RlLklQVjQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXBWNFNlZ21lbnQ6IHNlZ21lbnQsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChuZXR3b3JrTW9kZSA9PT0gTmV0d29ya01vZGUuSVBWNikge1xuICAgIHJldHVybiB7XG4gICAgICBpcFY2U2VnbWVudDogc2VnbWVudCxcbiAgICB9O1xuICB9XG5cbiAgbGV0IGlwVjRTZWdtZW50OiBzdHJpbmc7XG4gIGxldCBpcFY2U2VnbWVudDogc3RyaW5nO1xuXG4gIGlmIChzZWdtZW50LmluY2x1ZGVzKCcsJykpIHtcbiAgICBbaXBWNFNlZ21lbnQsIGlwVjZTZWdtZW50XSA9IHNlZ21lbnQuc3BsaXQoJywnKTtcbiAgfSBlbHNlIGlmIChzZWdtZW50LmluY2x1ZGVzKCc6JykpIHtcbiAgICBpcFY2U2VnbWVudCA9IHNlZ21lbnQ7XG4gIH0gZWxzZSB7XG4gICAgaXBWNFNlZ21lbnQgPSBzZWdtZW50O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpcFY0U2VnbWVudCxcbiAgICBpcFY2U2VnbWVudCxcbiAgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyQmxvY2soXG4gIHNlZ21lbnQ6IHN0cmluZyxcbiAgbmV0d29ya1R5cGU/OiBOZXR3b3JrTW9kZSxcbik6IHN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyQmxvY2soe1xuICBpcFY0U2VnbWVudCxcbiAgaXBWNlNlZ21lbnQsXG59OiBTZWdtZW50TW9kZWwpOiBzdHJpbmc7XG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2lkckJsb2NrKFxuICBwYXJhbTogU2VnbWVudE1vZGVsIHwgc3RyaW5nLFxuICBuZXR3b3JrTW9kZT86IE5ldHdvcmtNb2RlLFxuKSB7XG4gIGxldCBpcFY0U2VnbWVudDogc3RyaW5nO1xuICBsZXQgaXBWNlNlZ21lbnQ6IHN0cmluZztcblxuICBpZiAodHlwZW9mIHBhcmFtID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IF8gPSBwYXJzZVNlZ21lbnQocGFyYW0sIG5ldHdvcmtNb2RlKTtcbiAgICBpcFY0U2VnbWVudCA9IF8uaXBWNFNlZ21lbnQ7XG4gICAgaXBWNlNlZ21lbnQgPSBfLmlwVjZTZWdtZW50O1xuICB9IGVsc2Uge1xuICAgIGlwVjRTZWdtZW50ID0gcGFyYW0uaXBWNFNlZ21lbnQ7XG4gICAgaXBWNlNlZ21lbnQgPSBwYXJhbS5pcFY2U2VnbWVudDtcbiAgfVxuXG4gIHJldHVybiBbXG4gICAgZ2V0U3RyaWN0Q2lkcihpcFY0U2VnbWVudCwgSVBNb2RlLklQVjQpLFxuICAgIGdldFN0cmljdENpZHIoaXBWNlNlZ21lbnQsIElQTW9kZS5JUFY2KSxcbiAgXVxuICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAuam9pbignLCcpO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JUFY0X01BWF9DSURSX1BSRUZJWCA9IDMxO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSVBWNl9NQVhfQ0lEUl9QUkVGSVggPSAxMjc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05FVFdPUktfQ0lEUl9QUkVGSVhfTUFQUEVSID0ge1xuICBbSVBNb2RlLklQVjRdOiBERUZBVUxUX0lQVjRfTUFYX0NJRFJfUFJFRklYLFxuICBbSVBNb2RlLklQVjZdOiBERUZBVUxUX0lQVjZfTUFYX0NJRFJfUFJFRklYLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENpZHJNYXhpbXVtUHJlZml4KGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQpIHtcbiAgcmV0dXJuIERFRkFVTFRfTkVUV09SS19DSURSX1BSRUZJWF9NQVBQRVJbaXBNb2RlXTtcbn1cblxuZXhwb3J0IGNvbnN0IGFkYXB0SXBNb2RlID0gKHZhbHVlOiBzdHJpbmcsIG5ldHdvcmtNb2RlOiBOZXR3b3JrTW9kZSkgPT5cbiAgbmV0d29ya01vZGUgPT09IE5ldHdvcmtNb2RlLkRVQUxcbiAgICA/IHZhbHVlPy5pbmNsdWRlcygnOicpXG4gICAgICA/IE5ldHdvcmtNb2RlLklQVjZcbiAgICAgIDogTmV0d29ya01vZGUuSVBWNFxuICAgIDogbmV0d29ya01vZGU7XG5cbmV4cG9ydCBjb25zdCBpc0lwUGFydFZhbGlkID0gKHBhcnQ6IHN0cmluZywgaXNJcFY0OiBib29sZWFuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChwYXJ0ID09PSAnJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmIChpc0lwVjQpIHtcbiAgICBpZiAoSU5UX1pFUk9fUEFUVEVSTi5wYXR0ZXJuLnRlc3QocGFydCkpIHtcbiAgICAgIHJldHVybiBOdW1iZXIocGFydCkgPD0gMjU1O1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKC9eW1xcZGEtZl0rJC9pLnRlc3QocGFydCkpIHtcbiAgICByZXR1cm4gTnVtYmVyLnBhcnNlSW50KHBhcnQsIDE2KSA8PSAweGZmX2ZmO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0lwUGFydHNWYWxpZCA9IChwYXJ0czogc3RyaW5nW10sIGlzSXBWNDogYm9vbGVhbik6IGJvb2xlYW4gPT5cbiAgcGFydHMuZXZlcnkocGFydCA9PiBpc0lwUGFydFZhbGlkKHBhcnQsIGlzSXBWNCkpO1xuXG5leHBvcnQgY29uc3QgaXNJcElucHV0VmFsaWQgPSAoaW5wdXQ6IHN0cmluZywgaXNJcFY0OiBib29sZWFuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHBhcnRzID0gaW5wdXQuc3BsaXQoaXNJcFY0ID8gJy4nIDogJzonKTtcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA8PSAoaXNJcFY0ID8gNCA6IDgpICYmIGlzSXBQYXJ0c1ZhbGlkKHBhcnRzLCBpc0lwVjQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldElwQWRkcmVzc1N1Z2dlc3Rpb25zQnlDaWRycyA9IChcbiAgY2lkcnM6IHN0cmluZ1tdLFxuICBuZXR3b3JrTW9kZTogTmV0d29ya01vZGUsXG4gIHVzZWRJcHM6IHN0cmluZ1tdLFxuICBpbnB1dFZhbHVlOiBzdHJpbmcsXG4gIGlzQ2FsaWNvOiBib29sZWFuLFxuICBtYXhTaXplID0gMTAsXG4pOiBzdHJpbmdbXSA9PiB7XG4gIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlID8/ICcnO1xuXG4gIGNvbnN0IHN0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0IHVzZWRJcFZhbHVlcyA9IFtcbiAgICAuLi51c2VkSXBzLnJlZHVjZTxTZXQ8QmlnSW50ZWdlcj4+KChpcFZhbHVlcywgaXApID0+IHtcbiAgICAgIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihhZGFwdElwTW9kZShpcCwgbmV0d29ya01vZGUpKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlwVmFsdWVzLmFkZChuZXcgQnVpbGRlcihpcCkuYmlnSW50ZWdlcigpKTtcbiAgICAgIH0gY2F0Y2gge31cbiAgICAgIHJldHVybiBpcFZhbHVlcztcbiAgICB9LCBuZXcgU2V0PEJpZ0ludGVnZXI+KCkpLFxuICBdO1xuXG4gIGZvciAoY29uc3QgY2lkciBvZiBjaWRycykge1xuICAgIGNvbnN0IGlwTW9kZSA9IGFkYXB0SXBNb2RlKGNpZHIsIG5ldHdvcmtNb2RlKTtcblxuICAgIGNvbnN0IGlzSXBWNCA9IGlwTW9kZSA9PT0gSVBNb2RlLklQVjQ7XG5cbiAgICBpZiAoIWlzSXBJbnB1dFZhbGlkKGlucHV0VmFsdWUsIGlzSXBWNCkpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IGxvb3BTdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgY29uc3QgQnVpbGRlciA9IGdldEFkZHJlc3NCdWlsZGVyKGlwTW9kZSk7XG5cbiAgICBsZXQgaXBDaWRyOiBBZGRyZXNzNCB8IEFkZHJlc3M2O1xuXG4gICAgdHJ5IHtcbiAgICAgIGlwQ2lkciA9IG5ldyBCdWlsZGVyKGNpZHIpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRBZGRyZXNzID0gaXBDaWRyLl9zdGFydEFkZHJlc3MoKTtcbiAgICBjb25zdCBlbmRBZGRyZXNzID0gaXBDaWRyLl9lbmRBZGRyZXNzKCk7XG5cbiAgICAvLyDpnZ4gY2FsaWNvIOaooeW8j+S4i++8jOS4jeWFgeiuuOS9v+eUqOe9keauteeahOesrOS4gOS4que9kee7nCBJUCDlkozmnIDlkI7kuIDkuKog5bm/5pKtIElQXG4gICAgbGV0IGFkZHJlc3MgPSBzdGFydEFkZHJlc3MuYWRkKGlzQ2FsaWNvID8gQmlnSW50ZWdlci5aRVJPIDogQmlnSW50ZWdlci5PTkUpO1xuXG4gICAgd2hpbGUgKGFkZHJlc3MuY29tcGFyZVRvKGVuZEFkZHJlc3MpIDwgKGlzQ2FsaWNvID8gMSA6IDApKSB7XG4gICAgICBjb25zdCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgICAgLy8gQ29uc2lkZXJpbmcgdGhlIHBlcmZvcm1hbmNlLCB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIHRoZSBVSSB0b28gbXVjaFxuICAgICAgaWYgKCFpc0lwVjQpIHtcbiAgICAgICAgaWYgKG5vdyAtIGxvb3BTdGFydCA+IDEwMCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vdyAtIHN0YXJ0ID4gMjUwKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXVzZWRJcFZhbHVlcy5zb21lKGlwID0+ICFpcC5jb21wYXJlVG8oYWRkcmVzcykpKSB7XG4gICAgICAgIGNvbnN0IGlwQWRkciA9IEJ1aWxkZXIuZnJvbUJpZ0ludGVnZXIoYWRkcmVzcykuY29ycmVjdEZvcm0oKTtcbiAgICAgICAgaWYgKGlwQWRkci5pbmNsdWRlcyhpbnB1dFZhbHVlKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGlwQWRkcik7XG4gICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPj0gbWF4U2l6ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYWRkcmVzcyA9IGFkZHJlc3MuYWRkKEJpZ0ludGVnZXIuT05FKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkYXB0U3VibmV0Q2lkcnMoXG4gIGNpZHJzOiBzdHJpbmcsXG4gIG5ldHdvcmtNb2RlOiBOZXR3b3JrTW9kZSxcbiAgZW5hYmxlRml4SXBWNkZvckR1YWwgPSBmYWxzZSxcbikge1xuICByZXR1cm4gY2lkcnNcbiAgICA/LnNwbGl0KCc7JylcbiAgICAubWFwKGNpZHIgPT4gcGFyc2VTZWdtZW50KGNpZHIpKVxuICAgIC5yZWR1Y2UoKGxpc3QsIGl0ZW0pID0+IHtcbiAgICAgIGxpc3QucHVzaChcbiAgICAgICAgaXRlbS5pcFY0U2VnbWVudCxcbiAgICAgICAgKG5ldHdvcmtNb2RlICE9PSBOZXR3b3JrTW9kZS5EVUFMIHx8IGVuYWJsZUZpeElwVjZGb3JEdWFsKSAmJlxuICAgICAgICAgIGl0ZW0uaXBWNlNlZ21lbnQsXG4gICAgICApO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW10gYXMgc3RyaW5nW10pXG4gICAgLmZpbHRlcihCb29sZWFuKTtcbn1cblxuLy8gcmV0dXJuIHRydWUgaWYgaXBCZWdpbiA+IGlwRW5kXG5leHBvcnQgZnVuY3Rpb24gaW52YWxpZElwT3JkZXI8VCBleHRlbmRzIEFkZHJlc3M0IHwgQWRkcmVzczY+KFxuICBpcEJlZ2luOiBULFxuICBpcEVuZDogVCxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBpcEJlZ2luQmlnSW50ID0gaXBCZWdpbi5iaWdJbnRlZ2VyKCk7XG4gIGNvbnN0IGlwRW5kQmlnSW50ID0gaXBFbmQuYmlnSW50ZWdlcigpO1xuICByZXR1cm4gaXBCZWdpbkJpZ0ludC5jb21wYXJlVG8oaXBFbmRCaWdJbnQpID49IDA7XG59XG4iXX0=
|
|
@@ -49,7 +49,7 @@ export declare class FixedIpInputComponent extends CommonFormControl<string | st
|
|
|
49
49
|
subnetCidrs: string[];
|
|
50
50
|
subnetName: string;
|
|
51
51
|
gateway: string;
|
|
52
|
-
excludeIps:
|
|
52
|
+
excludeIps: string[];
|
|
53
53
|
}>;
|
|
54
54
|
cidr$: Observable<string>;
|
|
55
55
|
private readonly innerErrorsMapper$;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K8sApiService, K8sUtilService, Namespace } from '@alauda-fe/common';
|
|
1
|
+
import { K8sApiService, K8sUtilService, Namespace, AuthApiService } from '@alauda-fe/common';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { Subnet } from '../types/k8s-exports';
|
|
4
4
|
import { IPMode, NetworkMode } from '../utils/cidr-exports';
|
|
@@ -7,7 +7,8 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
export declare class NetworkUtilService {
|
|
8
8
|
private readonly k8sApi;
|
|
9
9
|
private readonly k8sUtil;
|
|
10
|
-
|
|
10
|
+
private readonly authApi;
|
|
11
|
+
constructor(k8sApi: K8sApiService, k8sUtil: K8sUtilService, authApi: AuthApiService);
|
|
11
12
|
/**
|
|
12
13
|
* 集群网络类型,支持 kube-ovn,calico
|
|
13
14
|
* 若 kube-ovn,calico 同时存在,优先判定为 ovn
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DialogService } from '@alauda/ui';
|
|
2
|
-
import { K8sApiService, K8sUtilService, TranslateService } from '@alauda-fe/common';
|
|
2
|
+
import { K8sApiService, K8sUtilService, TranslateService, AuthApiService } from '@alauda-fe/common';
|
|
3
3
|
import { HttpClient } from '@angular/common/http';
|
|
4
4
|
import { InterConnectionSubnet, Subnet } from '../types/k8s-exports';
|
|
5
5
|
import { NetworkMode } from '../utils/cidr-exports';
|
|
@@ -11,7 +11,8 @@ export declare class SubnetUtilService {
|
|
|
11
11
|
private readonly translate;
|
|
12
12
|
private readonly k8sUtil;
|
|
13
13
|
private readonly k8sApi;
|
|
14
|
-
|
|
14
|
+
private readonly authApi;
|
|
15
|
+
constructor(httpClient: HttpClient, dialog: DialogService, translate: TranslateService, k8sUtil: K8sUtilService, k8sApi: K8sApiService, authApi: AuthApiService);
|
|
15
16
|
getClusterNodeIp$(cluster: string): import("rxjs").Observable<string[]>;
|
|
16
17
|
getTkeClusterCidr$(cluster: string): import("rxjs").Observable<string>;
|
|
17
18
|
getInterSubnets$(cluster: string): import("rxjs").Observable<InterConnectionSubnet[]>;
|
|
@@ -75,7 +75,6 @@ export declare const INNER_NETWORK_RESOURCE_TYPES: {
|
|
|
75
75
|
readonly SERVICE: "SERVICE";
|
|
76
76
|
readonly LIMIT_RANGE: "LIMIT_RANGE";
|
|
77
77
|
readonly SECRET: "SECRET";
|
|
78
|
-
readonly PRODUCT: "PRODUCT";
|
|
79
78
|
readonly CRON_JOB: "CRON_JOB";
|
|
80
79
|
readonly ADVANCED_CRON_JOB: "ADVANCED_CRON_JOB";
|
|
81
80
|
readonly JOB: "JOB";
|
|
@@ -111,17 +110,29 @@ export declare const INNER_NETWORK_RESOURCE_TYPES: {
|
|
|
111
110
|
readonly VOLUME_SNAPSHOT_CLASS: "VOLUME_SNAPSHOT_CLASS";
|
|
112
111
|
readonly PRODUCT_BASE: "PRODUCT_BASE";
|
|
113
112
|
readonly MODULE_INFO: "MODULE_INFO";
|
|
113
|
+
readonly MODULE_CONFIG: "MODULE_CONFIG";
|
|
114
|
+
readonly MODULE_PLUGIN: "MODULE_PLUGIN";
|
|
114
115
|
readonly PRODUCT_ENTRY: "PRODUCT_ENTRY";
|
|
115
116
|
readonly PRODUCT_DOCS_ENTRY: "PRODUCT_DOCS_ENTRY";
|
|
116
117
|
readonly SERVICEMESH_GROUP: "SERVICEMESH_GROUP";
|
|
117
118
|
readonly CLUSTER_MODULE: "CLUSTER_MODULE";
|
|
119
|
+
readonly USER_SECURITY_POLICY: "USER_SECURITY_POLICY";
|
|
120
|
+
readonly CONNECTOR: "CONNECTOR";
|
|
121
|
+
readonly ACCESS_TOKEN_INFO: "ACCESS_TOKEN_INFO";
|
|
122
|
+
readonly FUNCTION_RESOURCE: "FUNCTION_RESOURCE";
|
|
118
123
|
readonly USER_BINDING: "USER_BINDING";
|
|
124
|
+
readonly USER: "USER";
|
|
125
|
+
readonly GROUP: "GROUP";
|
|
126
|
+
readonly PROJECT_MEMBER: "PROJECT_MEMBER";
|
|
127
|
+
readonly ROLE_TEMPLATE: "ROLE_TEMPLATE";
|
|
119
128
|
readonly BATCH_ACTION: "BATCH_ACTION";
|
|
120
129
|
readonly EVENT: "EVENT";
|
|
121
130
|
readonly SERVICE_MONITOR: "SERVICE_MONITOR";
|
|
122
131
|
readonly OAM_APPLICATION: "OAM_APPLICATION";
|
|
123
132
|
readonly ARGOCD_APPLICATION_SET: "ARGOCD_APPLICATION_SET";
|
|
124
133
|
readonly ARGOCD_APPLICATION: "ARGOCD_APPLICATION";
|
|
134
|
+
readonly OPERATOR_VIEW: "OPERATOR_VIEW";
|
|
135
|
+
readonly MODULE_PLUGIN_VIEW: "MODULE_PLUGIN_VIEW";
|
|
125
136
|
};
|
|
126
137
|
export declare const NETWORK_RESOURCE_DEFINITIONS: {
|
|
127
138
|
readonly SUBNET_KUBE_OVN: {
|
package/package.json
CHANGED
package/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v3.4.6 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!tw-visible{visibility:visible!important}.tw-invisible{visibility:hidden}.tw-fixed{position:fixed}.tw-absolute{position:absolute}.tw-relative{position:relative}.tw-left-0{left:0}.tw-right-\[12px\]{right:12px}.tw-right-\[16px\]{right:16px}.tw-top-0{top:0}.tw-top-\[12px\]{top:12px}.tw-z-10{z-index:10}.tw-mx-8{margin-left:8px;margin-right:8px}.tw-my-16{margin-bottom:16px;margin-top:16px}.tw-my-4{margin-bottom:4px;margin-top:4px}.\!tw-ml-0{margin-left:0!important}.\!tw-mr-8{margin-right:8px!important}.\!tw-mt-16{margin-top:16px!important}.tw-mb-12{margin-bottom:12px}.tw-mb-16{margin-bottom:16px}.tw-mb-2{margin-bottom:2px}.tw-mb-20{margin-bottom:20px}.tw-mb-4{margin-bottom:4px}.tw-mb-8{margin-bottom:8px}.tw-ml-12{margin-left:12px}.tw-ml-16{margin-left:16px}.tw-ml-20{margin-left:20px}.tw-ml-24{margin-left:24px}.tw-ml-32{margin-left:32px}.tw-ml-6{margin-left:6px}.tw-ml-8{margin-left:8px}.tw-ml-\[-4px\]{margin-left:-4px}.tw-ml-\[34px\]{margin-left:34px}.tw-ml-\[4px\]{margin-left:4px}.tw-mr-0{margin-right:0}.tw-mr-16{margin-right:16px}.tw-mr-4{margin-right:4px}.tw-mr-6{margin-right:6px}.tw-mr-8{margin-right:8px}.tw-mr-\[4px\]{margin-right:4px}.tw-mt-0{margin-top:0}.tw-mt-16{margin-top:16px}.tw-mt-20{margin-top:20px}.tw-mt-4{margin-top:4px}.tw-mt-8{margin-top:8px}.tw-line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.tw-block{display:block}.\!tw-flex{display:flex!important}.tw-flex{display:flex}.tw-inline-flex{display:inline-flex}.tw-hidden{display:none}.\!tw-h-\[20px\]{height:20px!important}.tw-h-0{height:0}.tw-h-1\/2{height:50%}.tw-h-\[100\%\]{height:100%}.tw-h-\[100vh\]{height:100vh}.tw-h-\[200px\]{height:200px}.tw-h-\[22px\]{height:22px}.tw-h-\[600px\]{height:600px}.tw-h-\[8px\]{height:8px}.tw-h-full{height:100%}.\!tw-min-h-\[48px\]{min-height:48px!important}.tw-min-h-0{min-height:0}.tw-min-h-\[360px\]{min-height:360px}.tw-min-h-screen{min-height:100vh}.\!tw-w-\[20px\]{width:20px!important}.tw-w-\[100\%\]{width:100%}.tw-w-\[135px\]{width:135px}.tw-w-\[150px\]{width:150px}.tw-w-\[160px\]{width:160px}.tw-w-\[200px\]{width:200px}.tw-w-\[260px\]{width:260px}.tw-w-\[950px\]{width:950px}.tw-w-fit{width:-moz-fit-content;width:fit-content}.tw-w-full{width:100%}.tw-min-w-0{min-width:0}.tw-min-w-\[100px\]{min-width:100px}.tw-min-w-\[135px\]{min-width:135px}.tw-min-w-\[160px\]{min-width:160px}.tw-min-w-\[220px\]{min-width:220px}.tw-min-w-\[260px\]{min-width:260px}.tw-min-w-\[50px\]{min-width:50px}.tw-max-w-\[400px\]{max-width:400px}.tw-max-w-\[45\%\]{max-width:45%}.tw-flex-1{flex:1 1 0%}.tw-flex-\[1\]{flex:1}.tw-flex-\[2\]{flex:2}.tw-flex-shrink-0{flex-shrink:0}.\!tw-cursor-move{cursor:move!important}.tw-cursor-move{cursor:move}.tw-cursor-pointer{cursor:pointer}.tw-select-none{user-select:none}.tw-list-disc{list-style-type:disc}.tw-flex-row{flex-direction:row}.tw-flex-col{flex-direction:column}.tw-flex-wrap{flex-wrap:wrap}.tw-items-start{align-items:flex-start}.tw-items-center{align-items:center}.tw-justify-start{justify-content:flex-start}.tw-justify-end{justify-content:flex-end}.tw-justify-center{justify-content:center}.tw-justify-between{justify-content:space-between}.tw-space-y-\[8px\]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(8px*var(--tw-space-y-reverse));margin-top:calc(8px*(1 - var(--tw-space-y-reverse)))}.tw-overflow-auto{overflow:auto}.tw-overflow-hidden{overflow:hidden}.tw-overflow-y-auto{overflow-y:auto}.tw-overflow-x-hidden{overflow-x:hidden}.tw-overflow-ellipsis,.tw-text-ellipsis{text-overflow:ellipsis}.tw-whitespace-nowrap{white-space:nowrap}.tw-break-words{overflow-wrap:break-word}.tw-break-all{word-break:break-all}.tw-rounded-\[50\%\]{border-radius:50%}.tw-rounded-l{border-radius:var(--aui-border-radius-l)}.tw-rounded-sm{border-radius:.125rem}.tw-rounded-l{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.\!tw-border-0{border-width:0!important}.tw-bg-n-10{background-color:rgb(var(--aui-color-n-10))}.tw-bg-n-6{background-color:rgb(var(--aui-color-n-6))}.tw-bg-n-8{background-color:rgb(var(--aui-color-n-8))}.tw-bg-n-9{background-color:rgb(var(--aui-color-n-9))}.tw-bg-p-6{background-color:rgb(var(--aui-color-p-6))}.tw-p-12{padding:12px}.tw-p-16{padding:16px}.tw-p-20{padding:20px}.tw-p-\[12px_16px\]{padding:12px 16px}.\!tw-px-0{padding-left:0!important;padding-right:0!important}.\!tw-py-14{padding-bottom:14px!important;padding-top:14px!important}.\!tw-py-8{padding-bottom:8px!important;padding-top:8px!important}.tw-px-12{padding-left:12px;padding-right:12px}.tw-px-16{padding-left:16px;padding-right:16px}.tw-px-4{padding-left:4px;padding-right:4px}.tw-px-8{padding-left:8px;padding-right:8px}.tw-py-4{padding-bottom:4px;padding-top:4px}.tw-py-8{padding-bottom:8px;padding-top:8px}.\!tw-pb-14{padding-bottom:14px!important}.\!tw-pt-14{padding-top:14px!important}.tw-pb-12{padding-bottom:12px}.tw-pb-\[40px\]{padding-bottom:40px}.tw-pl-8{padding-left:8px}.tw-pr-16{padding-right:16px}.tw-pr-20{padding-right:20px}.tw-pt-12{padding-top:12px}.tw-pt-\[40px\]{padding-top:40px}.tw-text-center{text-align:center}.\!tw-align-top{vertical-align:top!important}.\!tw-text-s{font-size:var(--aui-font-size-s)!important}.tw-text-\[12px\]{font-size:12px}.tw-text-l{font-size:var(--aui-font-size-l)}.tw-text-m{font-size:var(--aui-font-size-m)}.tw-text-s{font-size:var(--aui-font-size-s)}.tw-font-bold{font-weight:var(--aui-font-weight-bold)}.tw-font-bolder{font-weight:var(--aui-font-weight-bolder)}.tw-leading-m{line-height:var(--aui-line-height-m)}.\!tw-text-n-2{color:rgb(var(--aui-color-n-2))!important}.tw-text-help-text{color:rgb(var(--aui-color-help-text))}.tw-text-main-text{color:rgb(var(--aui-color-main-text))}.tw-text-n-2{color:rgb(var(--aui-color-n-2))}.tw-text-n-4{color:rgb(var(--aui-color-n-4))}.tw-text-p-2{color:rgb(var(--aui-color-p-2))}.tw-text-primary{color:rgb(var(--aui-color-primary))}.tw-text-red{color:rgb(var(--aui-color-red))}.tw-text-yellow{color:rgb(var(--aui-color-yellow))}.tw-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-icon-l{font-size:var(--aui-icon-size-l)}.tw-icon-m{font-size:var(--aui-icon-size-m)}.tw-leading-text-xl{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl)}.hover\:\!tw-text-primary:hover{color:rgb(var(--aui-color-primary))!important}.hover\:tw-text-primary:hover{color:rgb(var(--aui-color-primary))}html:not([lang|=zh]) .lang-not-zh\:\!tw-w-\[230px\]{width:230px!important}@media (min-width:1280px){.vw1280\:tw-ml-\[40px\]{margin-left:40px}.vw1280\:tw-mr-20{margin-right:20px}}
|
|
1
|
+
/*! tailwindcss v3.4.6 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!tw-visible{visibility:visible!important}.tw-invisible{visibility:hidden}.tw-fixed{position:fixed}.tw-absolute{position:absolute}.tw-relative{position:relative}.tw-left-0{left:0}.tw-right-\[12px\]{right:12px}.tw-right-\[16px\]{right:16px}.tw-top-0{top:0}.tw-top-\[12px\]{top:12px}.tw-z-10{z-index:10}.tw-mx-8{margin-left:8px;margin-right:8px}.tw-my-16{margin-bottom:16px;margin-top:16px}.tw-my-4{margin-bottom:4px;margin-top:4px}.\!tw-ml-0{margin-left:0!important}.\!tw-mr-8{margin-right:8px!important}.\!tw-mt-16{margin-top:16px!important}.tw-mb-12{margin-bottom:12px}.tw-mb-16{margin-bottom:16px}.tw-mb-2{margin-bottom:2px}.tw-mb-20{margin-bottom:20px}.tw-mb-4{margin-bottom:4px}.tw-mb-8{margin-bottom:8px}.tw-ml-12{margin-left:12px}.tw-ml-16{margin-left:16px}.tw-ml-20{margin-left:20px}.tw-ml-24{margin-left:24px}.tw-ml-32{margin-left:32px}.tw-ml-6{margin-left:6px}.tw-ml-8{margin-left:8px}.tw-ml-\[-4px\]{margin-left:-4px}.tw-ml-\[34px\]{margin-left:34px}.tw-ml-\[4px\]{margin-left:4px}.tw-mr-0{margin-right:0}.tw-mr-16{margin-right:16px}.tw-mr-4{margin-right:4px}.tw-mr-6{margin-right:6px}.tw-mr-8{margin-right:8px}.tw-mr-\[4px\]{margin-right:4px}.tw-mt-0{margin-top:0}.tw-mt-16{margin-top:16px}.tw-mt-20{margin-top:20px}.tw-mt-4{margin-top:4px}.tw-mt-8{margin-top:8px}.tw-line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.tw-block{display:block}.\!tw-flex{display:flex!important}.tw-flex{display:flex}.tw-inline-flex{display:inline-flex}.tw-hidden{display:none}.\!tw-h-\[20px\]{height:20px!important}.tw-h-0{height:0}.tw-h-1\/2{height:50%}.tw-h-\[100\%\]{height:100%}.tw-h-\[100vh\]{height:100vh}.tw-h-\[200px\]{height:200px}.tw-h-\[22px\]{height:22px}.tw-h-\[600px\]{height:600px}.tw-h-\[8px\]{height:8px}.tw-h-full{height:100%}.\!tw-min-h-\[48px\]{min-height:48px!important}.tw-min-h-0{min-height:0}.tw-min-h-\[360px\]{min-height:360px}.tw-min-h-screen{min-height:100vh}.\!tw-w-\[20px\]{width:20px!important}.tw-w-\[100\%\]{width:100%}.tw-w-\[135px\]{width:135px}.tw-w-\[160px\]{width:160px}.tw-w-\[200px\]{width:200px}.tw-w-\[260px\]{width:260px}.tw-w-\[950px\]{width:950px}.tw-w-fit{width:-moz-fit-content;width:fit-content}.tw-w-full{width:100%}.tw-min-w-0{min-width:0}.tw-min-w-\[100px\]{min-width:100px}.tw-min-w-\[135px\]{min-width:135px}.tw-min-w-\[160px\]{min-width:160px}.tw-min-w-\[220px\]{min-width:220px}.tw-min-w-\[260px\]{min-width:260px}.tw-min-w-\[50px\]{min-width:50px}.tw-max-w-\[400px\]{max-width:400px}.tw-max-w-\[45\%\]{max-width:45%}.tw-max-w-full{max-width:100%}.tw-flex-1{flex:1 1 0%}.tw-flex-\[1\]{flex:1}.tw-flex-\[2\]{flex:2}.tw-flex-shrink-0{flex-shrink:0}.\!tw-cursor-move{cursor:move!important}.tw-cursor-move{cursor:move}.tw-cursor-pointer{cursor:pointer}.tw-select-none{user-select:none}.tw-list-disc{list-style-type:disc}.tw-flex-row{flex-direction:row}.tw-flex-col{flex-direction:column}.tw-flex-wrap{flex-wrap:wrap}.tw-items-start{align-items:flex-start}.tw-items-center{align-items:center}.tw-justify-start{justify-content:flex-start}.tw-justify-end{justify-content:flex-end}.tw-justify-center{justify-content:center}.tw-justify-between{justify-content:space-between}.tw-space-y-\[8px\]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(8px*var(--tw-space-y-reverse));margin-top:calc(8px*(1 - var(--tw-space-y-reverse)))}.tw-overflow-auto{overflow:auto}.tw-overflow-hidden{overflow:hidden}.tw-overflow-y-auto{overflow-y:auto}.tw-overflow-x-hidden{overflow-x:hidden}.tw-overflow-ellipsis,.tw-text-ellipsis{text-overflow:ellipsis}.tw-whitespace-nowrap{white-space:nowrap}.tw-break-words{overflow-wrap:break-word}.tw-break-all{word-break:break-all}.tw-rounded-\[50\%\]{border-radius:50%}.tw-rounded-l{border-radius:var(--aui-border-radius-l)}.tw-rounded-sm{border-radius:.125rem}.tw-rounded-l{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.\!tw-border-0{border-width:0!important}.tw-bg-n-10{background-color:rgb(var(--aui-color-n-10))}.tw-bg-n-6{background-color:rgb(var(--aui-color-n-6))}.tw-bg-n-8{background-color:rgb(var(--aui-color-n-8))}.tw-bg-n-9{background-color:rgb(var(--aui-color-n-9))}.tw-bg-p-6{background-color:rgb(var(--aui-color-p-6))}.tw-p-12{padding:12px}.tw-p-16{padding:16px}.tw-p-20{padding:20px}.tw-p-\[12px_16px\]{padding:12px 16px}.\!tw-px-0{padding-left:0!important;padding-right:0!important}.\!tw-py-14{padding-bottom:14px!important;padding-top:14px!important}.\!tw-py-8{padding-bottom:8px!important;padding-top:8px!important}.tw-px-12{padding-left:12px;padding-right:12px}.tw-px-16{padding-left:16px;padding-right:16px}.tw-px-4{padding-left:4px;padding-right:4px}.tw-px-8{padding-left:8px;padding-right:8px}.tw-py-4{padding-bottom:4px;padding-top:4px}.tw-py-8{padding-bottom:8px;padding-top:8px}.\!tw-pb-14{padding-bottom:14px!important}.\!tw-pt-14{padding-top:14px!important}.tw-pb-12{padding-bottom:12px}.tw-pb-\[40px\]{padding-bottom:40px}.tw-pl-8{padding-left:8px}.tw-pr-16{padding-right:16px}.tw-pr-20{padding-right:20px}.tw-pt-12{padding-top:12px}.tw-pt-\[40px\]{padding-top:40px}.tw-text-center{text-align:center}.\!tw-align-top{vertical-align:top!important}.\!tw-text-s{font-size:var(--aui-font-size-s)!important}.tw-text-\[12px\]{font-size:12px}.tw-text-l{font-size:var(--aui-font-size-l)}.tw-text-m{font-size:var(--aui-font-size-m)}.tw-text-s{font-size:var(--aui-font-size-s)}.tw-font-bold{font-weight:var(--aui-font-weight-bold)}.tw-font-bolder{font-weight:var(--aui-font-weight-bolder)}.tw-leading-m{line-height:var(--aui-line-height-m)}.\!tw-text-n-2{color:rgb(var(--aui-color-n-2))!important}.tw-text-help-text{color:rgb(var(--aui-color-help-text))}.tw-text-main-text{color:rgb(var(--aui-color-main-text))}.tw-text-n-2{color:rgb(var(--aui-color-n-2))}.tw-text-n-4{color:rgb(var(--aui-color-n-4))}.tw-text-p-2{color:rgb(var(--aui-color-p-2))}.tw-text-primary{color:rgb(var(--aui-color-primary))}.tw-text-red{color:rgb(var(--aui-color-red))}.tw-text-yellow{color:rgb(var(--aui-color-yellow))}.tw-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-icon-l{font-size:var(--aui-icon-size-l)}.tw-icon-m{font-size:var(--aui-icon-size-m)}.tw-leading-text-xl{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl)}.hover\:\!tw-text-primary:hover{color:rgb(var(--aui-color-primary))!important}.hover\:tw-text-primary:hover{color:rgb(var(--aui-color-primary))}html:not([lang|=zh]) .lang-not-zh\:\!tw-w-\[230px\]{width:230px!important}@media (min-width:1280px){.vw1280\:tw-ml-\[40px\]{margin-left:40px}.vw1280\:tw-mr-20{margin-right:20px}}
|