@payloadcms/db-postgres 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -107,7 +107,7 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
107
107
  ],
108
108
  with: {}
109
109
  };
110
- if (adapter.tables[`${topLevelTableName}_${(0, _tosnakecase.default)(block.slug)}_locales`]) withBlock.with._locales = _locales;
110
+ if (adapter.tables[`${topLevelTableName}_blocks_${(0, _tosnakecase.default)(block.slug)}_locales`]) withBlock.with._locales = _locales;
111
111
  topLevelArgs.with[blockKey] = withBlock;
112
112
  traverseFields({
113
113
  _locales,
@@ -146,4 +146,4 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
146
146
  return topLevelArgs;
147
147
  };
148
148
 
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL3RyYXZlcnNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUmVzdWx0IH0gZnJvbSAnLi9idWlsZEZpbmRNYW55QXJncydcblxudHlwZSBUcmF2ZXJzZUZpZWxkQXJncyA9IHtcbiAgX2xvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBjdXJyZW50QXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgY3VycmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIGRlcHRoPzogbnVtYmVyXG4gIGZpZWxkczogRmllbGRbXVxuICBwYXRoOiBzdHJpbmdcbiAgdG9wTGV2ZWxBcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB0b3BMZXZlbFRhYmxlTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIF9sb2NhbGVzLFxuICBhZGFwdGVyLFxuICBjdXJyZW50QXJncyxcbiAgY3VycmVudFRhYmxlTmFtZSxcbiAgZGVwdGgsXG4gIGZpZWxkcyxcbiAgcGF0aCxcbiAgdG9wTGV2ZWxBcmdzLFxuICB0b3BMZXZlbFRhYmxlTmFtZSxcbn06IFRyYXZlcnNlRmllbGRBcmdzKSA9PiB7XG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGlmIChmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnIHx8IGZpZWxkLnR5cGUgPT09ICdyb3cnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIF9sb2NhbGVzLFxuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBjdXJyZW50QXJncyxcbiAgICAgICAgY3VycmVudFRhYmxlTmFtZSxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBwYXRoLFxuICAgICAgICB0b3BMZXZlbEFyZ3MsXG4gICAgICAgIHRvcExldmVsVGFibGVOYW1lLFxuICAgICAgfSlcblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgZmllbGQudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgY29uc3QgdGFiUGF0aCA9IHRhYkhhc05hbWUodGFiKSA/IGAke3BhdGh9JHt0YWIubmFtZX1fYCA6IHBhdGhcblxuICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBjdXJyZW50QXJncyxcbiAgICAgICAgICBjdXJyZW50VGFibGVOYW1lLFxuICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICBwYXRoOiB0YWJQYXRoLFxuICAgICAgICAgIHRvcExldmVsQXJncyxcbiAgICAgICAgICB0b3BMZXZlbFRhYmxlTmFtZSxcbiAgICAgICAgfSlcbiAgICAgIH0pXG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICAgIGNvbnN0IHdpdGhBcnJheTogUmVzdWx0ID0ge1xuICAgICAgICAgICAgY29sdW1uczoge1xuICAgICAgICAgICAgICBfcGFyZW50SUQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9yZGVyQnk6ICh7IF9vcmRlciB9LCB7IGFzYyB9KSA9PiBbYXNjKF9vcmRlcildLFxuICAgICAgICAgICAgd2l0aDoge30sXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtjdXJyZW50VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcblxuICAgICAgICAgIGlmIChhZGFwdGVyLnRhYmxlc1tgJHthcnJheVRhYmxlTmFtZX1fbG9jYWxlc2BdKSB3aXRoQXJyYXkud2l0aC5fbG9jYWxlcyA9IF9sb2NhbGVzXG4gICAgICAgICAgY3VycmVudEFyZ3Mud2l0aFtgJHtwYXRofSR7ZmllbGQubmFtZX1gXSA9IHdpdGhBcnJheVxuXG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgY3VycmVudEFyZ3M6IHdpdGhBcnJheSxcbiAgICAgICAgICAgIGN1cnJlbnRUYWJsZU5hbWU6IGFycmF5VGFibGVOYW1lLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgdG9wTGV2ZWxBcmdzLFxuICAgICAgICAgICAgdG9wTGV2ZWxUYWJsZU5hbWUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cblxuICAgICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgIGNvbnN0IHdpdGhTZWxlY3Q6IFJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgY29sdW1uczoge1xuICAgICAgICAgICAgICAgIGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBvcmRlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3JkZXJCeTogKHsgb3JkZXIgfSwgeyBhc2MgfSkgPT4gW2FzYyhvcmRlcildLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjdXJyZW50QXJncy53aXRoW2Ake3BhdGh9JHtmaWVsZC5uYW1lfWBdID0gd2l0aFNlbGVjdFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cblxuICAgICAgICBjYXNlICdibG9ja3MnOlxuICAgICAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmxvY2tLZXkgPSBgX2Jsb2Nrc18ke2Jsb2NrLnNsdWd9YFxuXG4gICAgICAgICAgICBpZiAoIXRvcExldmVsQXJnc1tibG9ja0tleV0pIHtcbiAgICAgICAgICAgICAgY29uc3Qgd2l0aEJsb2NrOiBSZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgY29sdW1uczoge1xuICAgICAgICAgICAgICAgICAgX3BhcmVudElEOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9yZGVyQnk6ICh7IF9vcmRlciB9LCB7IGFzYyB9KSA9PiBbYXNjKF9vcmRlcildLFxuICAgICAgICAgICAgICAgIHdpdGg6IHt9LFxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKGFkYXB0ZXIudGFibGVzW2Ake3RvcExldmVsVGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfV9sb2NhbGVzYF0pXG4gICAgICAgICAgICAgICAgd2l0aEJsb2NrLndpdGguX2xvY2FsZXMgPSBfbG9jYWxlc1xuICAgICAgICAgICAgICB0b3BMZXZlbEFyZ3Mud2l0aFtibG9ja0tleV0gPSB3aXRoQmxvY2tcblxuICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBjdXJyZW50QXJnczogd2l0aEJsb2NrLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgICAgdG9wTGV2ZWxBcmdzLFxuICAgICAgICAgICAgICAgIHRvcExldmVsVGFibGVOYW1lLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ2dyb3VwJzpcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBfbG9jYWxlcyxcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBjdXJyZW50QXJncyxcbiAgICAgICAgICAgIGN1cnJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgcGF0aDogYCR7cGF0aH0ke2ZpZWxkLm5hbWV9X2AsXG4gICAgICAgICAgICB0b3BMZXZlbEFyZ3MsXG4gICAgICAgICAgICB0b3BMZXZlbFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gdG9wTGV2ZWxBcmdzXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJfbG9jYWxlcyIsImFkYXB0ZXIiLCJjdXJyZW50QXJncyIsImN1cnJlbnRUYWJsZU5hbWUiLCJkZXB0aCIsImZpZWxkcyIsInBhdGgiLCJ0b3BMZXZlbEFyZ3MiLCJ0b3BMZXZlbFRhYmxlTmFtZSIsImZvckVhY2giLCJmaWVsZCIsInR5cGUiLCJ0YWJzIiwidGFiIiwidGFiUGF0aCIsInRhYkhhc05hbWUiLCJuYW1lIiwiZmllbGRBZmZlY3RzRGF0YSIsIndpdGhBcnJheSIsImNvbHVtbnMiLCJfcGFyZW50SUQiLCJvcmRlckJ5IiwiX29yZGVyIiwiYXNjIiwid2l0aCIsImFycmF5VGFibGVOYW1lIiwidG9TbmFrZUNhc2UiLCJ0YWJsZXMiLCJoYXNNYW55Iiwid2l0aFNlbGVjdCIsImlkIiwib3JkZXIiLCJwYXJlbnQiLCJibG9ja3MiLCJibG9jayIsImJsb2NrS2V5Iiwic2x1ZyIsIndpdGhCbG9jayJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXFCdkJBOzs7ZUFBQUE7Ozt1QkFsQmdDO29FQUNyQjs7Ozs7O0FBaUJqQixNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsUUFBUSxFQUNSQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWEMsZ0JBQWdCLEVBQ2hCQyxLQUFLLEVBQ0xDLE1BQU0sRUFDTkMsSUFBSSxFQUNKQyxZQUFZLEVBQ1pDLGlCQUFpQixFQUNDO0lBQ2xCSCxPQUFPSSxPQUFPLENBQUMsQ0FBQ0M7UUFDZCxJQUFJQSxNQUFNQyxJQUFJLEtBQUssaUJBQWlCRCxNQUFNQyxJQUFJLEtBQUssT0FBTztZQUN4RFosZUFBZTtnQkFDYkM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQyxRQUFRSyxNQUFNTCxNQUFNO2dCQUNwQkM7Z0JBQ0FDO2dCQUNBQztZQUNGO1lBRUE7UUFDRjtRQUVBLElBQUlFLE1BQU1DLElBQUksS0FBSyxRQUFRO1lBQ3pCRCxNQUFNRSxJQUFJLENBQUNILE9BQU8sQ0FBQyxDQUFDSTtnQkFDbEIsTUFBTUMsVUFBVUMsSUFBQUEsaUJBQVUsRUFBQ0YsT0FBTyxDQUFDLEVBQUVQLEtBQUssRUFBRU8sSUFBSUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHVjtnQkFF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
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL3RyYXZlcnNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUmVzdWx0IH0gZnJvbSAnLi9idWlsZEZpbmRNYW55QXJncydcblxudHlwZSBUcmF2ZXJzZUZpZWxkQXJncyA9IHtcbiAgX2xvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBjdXJyZW50QXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgY3VycmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIGRlcHRoPzogbnVtYmVyXG4gIGZpZWxkczogRmllbGRbXVxuICBwYXRoOiBzdHJpbmdcbiAgdG9wTGV2ZWxBcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB0b3BMZXZlbFRhYmxlTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIF9sb2NhbGVzLFxuICBhZGFwdGVyLFxuICBjdXJyZW50QXJncyxcbiAgY3VycmVudFRhYmxlTmFtZSxcbiAgZGVwdGgsXG4gIGZpZWxkcyxcbiAgcGF0aCxcbiAgdG9wTGV2ZWxBcmdzLFxuICB0b3BMZXZlbFRhYmxlTmFtZSxcbn06IFRyYXZlcnNlRmllbGRBcmdzKSA9PiB7XG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGlmIChmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnIHx8IGZpZWxkLnR5cGUgPT09ICdyb3cnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIF9sb2NhbGVzLFxuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBjdXJyZW50QXJncyxcbiAgICAgICAgY3VycmVudFRhYmxlTmFtZSxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBwYXRoLFxuICAgICAgICB0b3BMZXZlbEFyZ3MsXG4gICAgICAgIHRvcExldmVsVGFibGVOYW1lLFxuICAgICAgfSlcblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgZmllbGQudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgY29uc3QgdGFiUGF0aCA9IHRhYkhhc05hbWUodGFiKSA/IGAke3BhdGh9JHt0YWIubmFtZX1fYCA6IHBhdGhcblxuICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBjdXJyZW50QXJncyxcbiAgICAgICAgICBjdXJyZW50VGFibGVOYW1lLFxuICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICBwYXRoOiB0YWJQYXRoLFxuICAgICAgICAgIHRvcExldmVsQXJncyxcbiAgICAgICAgICB0b3BMZXZlbFRhYmxlTmFtZSxcbiAgICAgICAgfSlcbiAgICAgIH0pXG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICAgIGNvbnN0IHdpdGhBcnJheTogUmVzdWx0ID0ge1xuICAgICAgICAgICAgY29sdW1uczoge1xuICAgICAgICAgICAgICBfcGFyZW50SUQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9yZGVyQnk6ICh7IF9vcmRlciB9LCB7IGFzYyB9KSA9PiBbYXNjKF9vcmRlcildLFxuICAgICAgICAgICAgd2l0aDoge30sXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtjdXJyZW50VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcblxuICAgICAgICAgIGlmIChhZGFwdGVyLnRhYmxlc1tgJHthcnJheVRhYmxlTmFtZX1fbG9jYWxlc2BdKSB3aXRoQXJyYXkud2l0aC5fbG9jYWxlcyA9IF9sb2NhbGVzXG4gICAgICAgICAgY3VycmVudEFyZ3Mud2l0aFtgJHtwYXRofSR7ZmllbGQubmFtZX1gXSA9IHdpdGhBcnJheVxuXG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgY3VycmVudEFyZ3M6IHdpdGhBcnJheSxcbiAgICAgICAgICAgIGN1cnJlbnRUYWJsZU5hbWU6IGFycmF5VGFibGVOYW1lLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgdG9wTGV2ZWxBcmdzLFxuICAgICAgICAgICAgdG9wTGV2ZWxUYWJsZU5hbWUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cblxuICAgICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgIGNvbnN0IHdpdGhTZWxlY3Q6IFJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgY29sdW1uczoge1xuICAgICAgICAgICAgICAgIGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBvcmRlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3JkZXJCeTogKHsgb3JkZXIgfSwgeyBhc2MgfSkgPT4gW2FzYyhvcmRlcildLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjdXJyZW50QXJncy53aXRoW2Ake3BhdGh9JHtmaWVsZC5uYW1lfWBdID0gd2l0aFNlbGVjdFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cblxuICAgICAgICBjYXNlICdibG9ja3MnOlxuICAgICAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmxvY2tLZXkgPSBgX2Jsb2Nrc18ke2Jsb2NrLnNsdWd9YFxuXG4gICAgICAgICAgICBpZiAoIXRvcExldmVsQXJnc1tibG9ja0tleV0pIHtcbiAgICAgICAgICAgICAgY29uc3Qgd2l0aEJsb2NrOiBSZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgY29sdW1uczoge1xuICAgICAgICAgICAgICAgICAgX3BhcmVudElEOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9yZGVyQnk6ICh7IF9vcmRlciB9LCB7IGFzYyB9KSA9PiBbYXNjKF9vcmRlcildLFxuICAgICAgICAgICAgICAgIHdpdGg6IHt9LFxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKGFkYXB0ZXIudGFibGVzW2Ake3RvcExldmVsVGFibGVOYW1lfV9ibG9ja3NfJHt0b1NuYWtlQ2FzZShibG9jay5zbHVnKX1fbG9jYWxlc2BdKVxuICAgICAgICAgICAgICAgIHdpdGhCbG9jay53aXRoLl9sb2NhbGVzID0gX2xvY2FsZXNcbiAgICAgICAgICAgICAgdG9wTGV2ZWxBcmdzLndpdGhbYmxvY2tLZXldID0gd2l0aEJsb2NrXG5cbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIF9sb2NhbGVzLFxuICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgY3VycmVudEFyZ3M6IHdpdGhCbG9jayxcbiAgICAgICAgICAgICAgICBjdXJyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgIHRvcExldmVsQXJncyxcbiAgICAgICAgICAgICAgICB0b3BMZXZlbFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBjYXNlICdncm91cCc6XG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgY3VycmVudEFyZ3MsXG4gICAgICAgICAgICBjdXJyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIHBhdGg6IGAke3BhdGh9JHtmaWVsZC5uYW1lfV9gLFxuICAgICAgICAgICAgdG9wTGV2ZWxBcmdzLFxuICAgICAgICAgICAgdG9wTGV2ZWxUYWJsZU5hbWUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHRvcExldmVsQXJnc1xufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiX2xvY2FsZXMiLCJhZGFwdGVyIiwiY3VycmVudEFyZ3MiLCJjdXJyZW50VGFibGVOYW1lIiwiZGVwdGgiLCJmaWVsZHMiLCJwYXRoIiwidG9wTGV2ZWxBcmdzIiwidG9wTGV2ZWxUYWJsZU5hbWUiLCJmb3JFYWNoIiwiZmllbGQiLCJ0eXBlIiwidGFicyIsInRhYiIsInRhYlBhdGgiLCJ0YWJIYXNOYW1lIiwibmFtZSIsImZpZWxkQWZmZWN0c0RhdGEiLCJ3aXRoQXJyYXkiLCJjb2x1bW5zIiwiX3BhcmVudElEIiwib3JkZXJCeSIsIl9vcmRlciIsImFzYyIsIndpdGgiLCJhcnJheVRhYmxlTmFtZSIsInRvU25ha2VDYXNlIiwidGFibGVzIiwiaGFzTWFueSIsIndpdGhTZWxlY3QiLCJpZCIsIm9yZGVyIiwicGFyZW50IiwiYmxvY2tzIiwiYmxvY2siLCJibG9ja0tleSIsInNsdWciLCJ3aXRoQmxvY2siXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFxQnZCQTs7O2VBQUFBOzs7dUJBbEJnQztvRUFDckI7Ozs7OztBQWlCakIsTUFBTUEsaUJBQWlCLENBQUMsRUFDN0JDLFFBQVEsRUFDUkMsT0FBTyxFQUNQQyxXQUFXLEVBQ1hDLGdCQUFnQixFQUNoQkMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLElBQUksRUFDSkMsWUFBWSxFQUNaQyxpQkFBaUIsRUFDQztJQUNsQkgsT0FBT0ksT0FBTyxDQUFDLENBQUNDO1FBQ2QsSUFBSUEsTUFBTUMsSUFBSSxLQUFLLGlCQUFpQkQsTUFBTUMsSUFBSSxLQUFLLE9BQU87WUFDeERaLGVBQWU7Z0JBQ2JDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUMsUUFBUUssTUFBTUwsTUFBTTtnQkFDcEJDO2dCQUNBQztnQkFDQUM7WUFDRjtZQUVBO1FBQ0Y7UUFFQSxJQUFJRSxNQUFNQyxJQUFJLEtBQUssUUFBUTtZQUN6QkQsTUFBTUUsSUFBSSxDQUFDSCxPQUFPLENBQUMsQ0FBQ0k7Z0JBQ2xCLE1BQU1DLFVBQVVDLElBQUFBLGlCQUFVLEVBQUNGLE9BQU8sQ0FBQyxFQUFFUCxLQUFLLEVBQUVPLElBQUlHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FB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
@@ -0,0 +1,3 @@
1
+ import type { Field } from 'payload/types';
2
+ export declare const idToUUID: (fields: Field[]) => Field[];
3
+ //# sourceMappingURL=idToUUID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idToUUID.d.ts","sourceRoot":"","sources":["../../src/schema/idToUUID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C,eAAO,MAAM,QAAQ,WAAY,KAAK,EAAE,KAAG,KAAK,EAU5C,CAAA"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "idToUUID", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return idToUUID;
9
+ }
10
+ });
11
+ const idToUUID = (fields)=>fields.map((field)=>{
12
+ if ('name' in field && field.name === 'id') {
13
+ return {
14
+ ...field,
15
+ name: '_uuid'
16
+ };
17
+ }
18
+ return field;
19
+ });
20
+
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvaWRUb1VVSUQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBpZFRvVVVJRCA9IChmaWVsZHM6IEZpZWxkW10pOiBGaWVsZFtdID0+XG4gIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgaWYgKCduYW1lJyBpbiBmaWVsZCAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgbmFtZTogJ191dWlkJyxcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRcbiAgfSlcbiJdLCJuYW1lcyI6WyJpZFRvVVVJRCIsImZpZWxkcyIsIm1hcCIsImZpZWxkIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFFYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsV0FBVyxDQUFDQyxTQUN2QkEsT0FBT0MsR0FBRyxDQUFDLENBQUNDO1FBQ1YsSUFBSSxVQUFVQSxTQUFTQSxNQUFNQyxJQUFJLEtBQUssTUFBTTtZQUMxQyxPQUFPO2dCQUNMLEdBQUdELEtBQUs7Z0JBQ1JDLE1BQU07WUFDUjtRQUNGO1FBRUEsT0FBT0Q7SUFDVCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAoBtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,kSAoBxB,IAAI,KAAG,MAqfT,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAoBtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAS/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,kSAoBxB,IAAI,KAAG,MAqfT,CAAA"}
@@ -16,6 +16,7 @@ const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-ca
16
16
  const _hasLocalesTable = require("../utilities/hasLocalesTable");
17
17
  const _build = require("./build");
18
18
  const _createIndex = require("./createIndex");
19
+ const _idToUUID = require("./idToUUID");
19
20
  const _parentIDColumnMap = require("./parentIDColumnMap");
20
21
  const _validateExistingBlockIsIdentical = require("./validateExistingBlockIsIdentical");
21
22
  function _interop_require_default(obj) {
@@ -197,7 +198,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
197
198
  baseExtraConfig,
198
199
  disableNotNull: disableNotNullFromHere,
199
200
  disableUnique,
200
- fields: field.fields,
201
+ fields: disableUnique ? (0, _idToUUID.idToUUID)(field.fields) : field.fields,
201
202
  rootRelationsToBuild,
202
203
  rootRelationships: relationships,
203
204
  rootTableIDColType,
@@ -255,7 +256,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
255
256
  baseExtraConfig,
256
257
  disableNotNull: disableNotNullFromHere,
257
258
  disableUnique,
258
- fields: block.fields,
259
+ fields: disableUnique ? (0, _idToUUID.idToUUID)(block.fields) : block.fields,
259
260
  rootRelationsToBuild,
260
261
  rootRelationships: relationships,
261
262
  rootTableIDColType,
@@ -444,4 +445,4 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
444
445
  };
445
446
  };
446
447
 
447
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIFBnTnVtZXJpY0J1aWxkZXIsXG4gIFBnVmFyY2hhckJ1aWxkZXIsXG4gIGJvb2xlYW4sXG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBqc29uYixcbiAgbnVtZXJpYyxcbiAgcGdFbnVtLFxuICB0ZXh0LFxuICB0aW1lc3RhbXAsXG4gIHZhcmNoYXIsXG59IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlndXJhdGlvbiB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbnMsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBoYXNMb2NhbGVzVGFibGUgfSBmcm9tICcuLi91dGlsaXRpZXMvaGFzTG9jYWxlc1RhYmxlJ1xuaW1wb3J0IHsgYnVpbGRUYWJsZSB9IGZyb20gJy4vYnVpbGQnXG5pbXBvcnQgeyBjcmVhdGVJbmRleCB9IGZyb20gJy4vY3JlYXRlSW5kZXgnXG5pbXBvcnQgeyBwYXJlbnRJRENvbHVtbk1hcCB9IGZyb20gJy4vcGFyZW50SURDb2x1bW5NYXAnXG5pbXBvcnQgeyB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCB9IGZyb20gJy4vdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJ1aWxkUmVsYXRpb25zaGlwczogYm9vbGVhblxuICBjb2x1bW5QcmVmaXg/OiBzdHJpbmdcbiAgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBkaXNhYmxlTm90TnVsbDogYm9vbGVhblxuICBkaXNhYmxlVW5pcXVlPzogYm9vbGVhblxuICBmaWVsZFByZWZpeD86IHN0cmluZ1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgZm9yY2VMb2NhbGl6ZWQ/OiBib29sZWFuXG4gIGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPlxuICBsb2NhbGVzQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+XG4gIG5ld1RhYmxlTmFtZTogc3RyaW5nXG4gIHBhcmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcmVsYXRpb25zaGlwczogU2V0PHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ/OiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJvb3RUYWJsZUlEQ29sVHlwZTogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU6IHN0cmluZ1xufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgaGFzTG9jYWxpemVkRmllbGQ6IGJvb2xlYW5cbiAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBib29sZWFuXG4gIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBib29sZWFuXG4gIGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gKHtcbiAgYWRhcHRlcixcbiAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICBjb2x1bW5QcmVmaXgsXG4gIGNvbHVtbnMsXG4gIGRpc2FibGVOb3ROdWxsLFxuICBkaXNhYmxlVW5pcXVlID0gZmFsc2UsXG4gIGZpZWxkUHJlZml4LFxuICBmaWVsZHMsXG4gIGZvcmNlTG9jYWxpemVkLFxuICBpbmRleGVzLFxuICBsb2NhbGVzQ29sdW1ucyxcbiAgbG9jYWxlc0luZGV4ZXMsXG4gIG5ld1RhYmxlTmFtZSxcbiAgcGFyZW50VGFibGVOYW1lLFxuICByZWxhdGlvbnNUb0J1aWxkLFxuICByZWxhdGlvbnNoaXBzLFxuICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICByb290VGFibGVOYW1lLFxufTogQXJncyk6IFJlc3VsdCA9PiB7XG4gIGxldCBoYXNMb2NhbGl6ZWRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNNYW55TnVtYmVyRmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IGZhbHNlXG5cbiAgbGV0IHBhcmVudElEQ29sVHlwZSA9ICdpbnRlZ2VyJ1xuICBpZiAoY29sdW1ucy5pZCBpbnN0YW5jZW9mIFBnTnVtZXJpY0J1aWxkZXIpIHBhcmVudElEQ29sVHlwZSA9ICdudW1lcmljJ1xuICBpZiAoY29sdW1ucy5pZCBpbnN0YW5jZW9mIFBnVmFyY2hhckJ1aWxkZXIpIHBhcmVudElEQ29sVHlwZSA9ICd2YXJjaGFyJ1xuXG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGlmICgnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2lkJykgcmV0dXJuXG4gICAgbGV0IGNvbHVtbk5hbWU6IHN0cmluZ1xuICAgIGxldCBmaWVsZE5hbWU6IHN0cmluZ1xuXG4gICAgbGV0IHRhcmdldFRhYmxlID0gY29sdW1uc1xuICAgIGxldCB0YXJnZXRJbmRleGVzID0gaW5kZXhlc1xuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb2x1bW5OYW1lID0gYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZVswXSA9PT0gJ18nID8gJ18nIDogJyd9JHt0b1NuYWtlQ2FzZShcbiAgICAgICAgZmllbGQubmFtZSxcbiAgICAgICl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgLy8gSWYgZmllbGQgaXMgbG9jYWxpemVkLFxuICAgICAgLy8gYWRkIHRoZSBjb2x1bW4gdG8gdGhlIGxvY2FsZSB0YWJsZSBpbnN0ZWFkIG9mIG1haW4gdGFibGVcbiAgICAgIGlmIChhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbiAmJiAoZmllbGQubG9jYWxpemVkIHx8IGZvcmNlTG9jYWxpemVkKSkge1xuICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgdGFyZ2V0VGFibGUgPSBsb2NhbGVzQ29sdW1uc1xuICAgICAgICB0YXJnZXRJbmRleGVzID0gbG9jYWxlc0luZGV4ZXNcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICAoZmllbGQudW5pcXVlIHx8IGZpZWxkLmluZGV4KSAmJlxuICAgICAgICAhWydhcnJheScsICdibG9ja3MnLCAnZ3JvdXAnLCAncG9pbnQnLCAncmVsYXRpb25zaGlwJywgJ3VwbG9hZCddLmluY2x1ZGVzKGZpZWxkLnR5cGUpICYmXG4gICAgICAgICEoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSlcbiAgICAgICkge1xuICAgICAgICB0YXJnZXRJbmRleGVzW2Ake2ZpZWxkLm5hbWV9SWR4YF0gPSBjcmVhdGVJbmRleCh7XG4gICAgICAgICAgbmFtZTogZmllbGROYW1lLFxuICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgdW5pcXVlOiBkaXNhYmxlVW5pcXVlICE9PSB0cnVlICYmIGZpZWxkLnVuaXF1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgY2FzZSAnZW1haWwnOlxuICAgICAgY2FzZSAnY29kZSc6XG4gICAgICBjYXNlICd0ZXh0YXJlYSc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IHZhcmNoYXIoY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuaW5kZXgpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9ICdpbmRleCdcbiAgICAgICAgICB9IGVsc2UgaWYgKCFoYXNNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQudW5pcXVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZ3VyYXRpb24oXG4gICAgICAgICAgICAgICdVbmlxdWUgaXMgbm90IHN1cHBvcnRlZCBpbiBQb3N0Z3JlcyBmb3IgaGFzTWFueSBudW1iZXIgZmllbGRzLicsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSBudW1lcmljKGNvbHVtbk5hbWUpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmljaFRleHQnOlxuICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGpzb25iKGNvbHVtbk5hbWUpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2RhdGUnOiB7XG4gICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSB0aW1lc3RhbXAoY29sdW1uTmFtZSwge1xuICAgICAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHByZWNpc2lvbjogMyxcbiAgICAgICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3BvaW50Jzoge1xuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyYWRpbyc6XG4gICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgIGNvbnN0IGVudW1OYW1lID0gYGVudW1fJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuXG4gICAgICAgIGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdID0gcGdFbnVtKFxuICAgICAgICAgIGVudW1OYW1lLFxuICAgICAgICAgIGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIGlmIChvcHRpb25Jc09iamVjdChvcHRpb24pKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvblxuICAgICAgICAgIH0pIGFzIFtzdHJpbmcsIC4uLnN0cmluZ1tdXSxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0VGFibGVOYW1lID0gYCR7bmV3VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcbiAgICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbcGFyZW50SURDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgICAgICB2YWx1ZTogYWRhcHRlci5lbnVtc1tlbnVtTmFtZV0oJ3ZhbHVlJyksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyXG4gICAgICAgICAgPiA9IHtcbiAgICAgICAgICAgIG9yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMub3JkZXIpLFxuICAgICAgICAgICAgcGFyZW50SWR4OiAoY29scykgPT4gaW5kZXgoJ3BhcmVudF9pZHgnKS5vbihjb2xzLnBhcmVudCksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgYmFzZUNvbHVtbnMubG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdsb2NhbGUnKS5ub3ROdWxsKClcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5sb2NhbGVJZHggPSAoY29scykgPT4gaW5kZXgoJ2xvY2FsZV9pZHgnKS5vbihjb2xzLmxvY2FsZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuaW5kZXgpIHtcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy52YWx1ZSA9IChjb2xzKSA9PiBpbmRleCgndmFsdWVfaWR4Jykub24oY29scy52YWx1ZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZyxcbiAgICAgICAgICAgIGRpc2FibGVOb3ROdWxsLFxuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICAgIGZpZWxkczogW10sXG4gICAgICAgICAgICB0YWJsZU5hbWU6IHNlbGVjdFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZC5zZXQoZmllbGROYW1lLCBzZWxlY3RUYWJsZU5hbWUpXG5cbiAgICAgICAgICBjb25zdCBzZWxlY3RUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhhZGFwdGVyLnRhYmxlc1tzZWxlY3RUYWJsZU5hbWVdLCAoeyBvbmUgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgICAgcGFyZW50OiBvbmUoYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXSwge1xuICAgICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV0ucGFyZW50XSxcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbl8ke3NlbGVjdFRhYmxlTmFtZX1gXSA9IHNlbGVjdFRhYmxlUmVsYXRpb25zXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdKGZpZWxkTmFtZSlcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdjaGVja2JveCc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGJvb2xlYW4oY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUgPSBCb29sZWFuKGZpZWxkLmFkbWluPy5jb25kaXRpb24pIHx8IGRpc2FibGVOb3ROdWxsXG5cbiAgICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICBfb3JkZXI6IGludGVnZXIoJ19vcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICBfcGFyZW50SUQ6IHBhcmVudElEQ29sdW1uTWFwW3BhcmVudElEQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyIHwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXJcbiAgICAgICAgPiA9IHtcbiAgICAgICAgICBfb3JkZXJJZHg6IChjb2xzKSA9PiBpbmRleCgnX29yZGVyX2lkeCcpLm9uKGNvbHMuX29yZGVyKSxcbiAgICAgICAgICBfcGFyZW50SURJZHg6IChjb2xzKSA9PiBpbmRleCgnX3BhcmVudF9pZF9pZHgnKS5vbihjb2xzLl9wYXJlbnRJRCksXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgYmFzZUNvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5fbG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdfbG9jYWxlX2lkeCcpLm9uKGNvbHMuX2xvY2FsZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcmVsYXRpb25zVG9CdWlsZDogc3ViUmVsYXRpb25zVG9CdWlsZCB9ID0gYnVpbGRUYWJsZSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290UmVsYXRpb25zaGlwczogcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICB0YWJsZU5hbWU6IGFycmF5VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIHJlbGF0aW9uc1RvQnVpbGQuc2V0KGZpZWxkTmFtZSwgYXJyYXlUYWJsZU5hbWUpXG5cbiAgICAgICAgY29uc3QgYXJyYXlUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhhZGFwdGVyLnRhYmxlc1thcnJheVRhYmxlTmFtZV0sICh7IG1hbnksIG9uZSB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgIF9wYXJlbnRJRDogb25lKGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0sIHtcbiAgICAgICAgICAgICAgZmllbGRzOiBbYWRhcHRlci50YWJsZXNbYXJyYXlUYWJsZU5hbWVdLl9wYXJlbnRJRF0sXG4gICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChoYXNMb2NhbGVzVGFibGUoZmllbGQuZmllbGRzKSkge1xuICAgICAgICAgICAgcmVzdWx0Ll9sb2NhbGVzID0gbWFueShhZGFwdGVyLnRhYmxlc1tgJHthcnJheVRhYmxlTmFtZX1fbG9jYWxlc2BdKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHN1YlJlbGF0aW9uc1RvQnVpbGQuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbWFueShhZGFwdGVyLnRhYmxlc1t2YWxdKVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH0pXG5cbiAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2FycmF5VGFibGVOYW1lfWBdID0gYXJyYXlUYWJsZVJlbGF0aW9uc1xuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgY29uc3QgZGlzYWJsZU5vdE51bGxGcm9tSGVyZSA9IEJvb2xlYW4oZmllbGQuYWRtaW4/LmNvbmRpdGlvbikgfHwgZGlzYWJsZU5vdE51bGxcblxuICAgICAgICBmaWVsZC5ibG9ja3MuZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgICBjb25zdCBibG9ja1RhYmxlTmFtZSA9IGAke3Jvb3RUYWJsZU5hbWV9X2Jsb2Nrc18ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfWBcbiAgICAgICAgICBpZiAoIWFkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXSkge1xuICAgICAgICAgICAgY29uc3QgYmFzZUNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgICAgICAgIF9vcmRlcjogaW50ZWdlcignX29yZGVyJykubm90TnVsbCgpLFxuICAgICAgICAgICAgICBfcGFyZW50SUQ6IHBhcmVudElEQ29sdW1uTWFwW3Jvb3RUYWJsZUlEQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW3Jvb3RUYWJsZU5hbWVdLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICAgICAgICBfcGF0aDogdGV4dCgnX3BhdGgnKS5ub3ROdWxsKCksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGJhc2VFeHRyYUNvbmZpZzogUmVjb3JkPFxuICAgICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICAgIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyIHwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXJcbiAgICAgICAgICAgID4gPSB7XG4gICAgICAgICAgICAgIF9vcmRlcklkeDogKGNvbHMpID0+IGluZGV4KCdvcmRlcl9pZHgnKS5vbihjb2xzLl9vcmRlciksXG4gICAgICAgICAgICAgIF9wYXJlbnRJRElkeDogKGNvbHMpID0+IGluZGV4KCdwYXJlbnRfaWRfaWR4Jykub24oY29scy5fcGFyZW50SUQpLFxuICAgICAgICAgICAgICBfcGF0aElkeDogKGNvbHMpID0+IGluZGV4KCdwYXRoX2lkeCcpLm9uKGNvbHMuX3BhdGgpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICAgIGJhc2VDb2x1bW5zLl9sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ19sb2NhbGUnKS5ub3ROdWxsKClcbiAgICAgICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLl9sb2NhbGVJZHggPSAoY29scykgPT4gaW5kZXgoJ2xvY2FsZV9pZHgnKS5vbihjb2xzLl9sb2NhbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHsgcmVsYXRpb25zVG9CdWlsZDogc3ViUmVsYXRpb25zVG9CdWlsZCB9ID0gYnVpbGRUYWJsZSh7XG4gICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgIGJhc2VDb2x1bW5zLFxuICAgICAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgICAgIGRpc2FibGVOb3ROdWxsOiBkaXNhYmxlTm90TnVsbEZyb21IZXJlLFxuICAgICAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgICAgIHJvb3RSZWxhdGlvbnNoaXBzOiByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHRhYmxlTmFtZTogYmxvY2tUYWJsZU5hbWUsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBjb25zdCBibG9ja1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKFxuICAgICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICh7IG1hbnksIG9uZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgICAgICAgIF9wYXJlbnRJRDogb25lKGFkYXB0ZXIudGFibGVzW3Jvb3RUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXS5fcGFyZW50SURdLFxuICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc0xvY2FsZXNUYWJsZShibG9jay5maWVsZHMpKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHQuX2xvY2FsZXMgPSBtYW55KGFkYXB0ZXIudGFibGVzW2Ake2Jsb2NrVGFibGVOYW1lfV9sb2NhbGVzYF0pXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ViUmVsYXRpb25zVG9CdWlsZC5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBtYW55KGFkYXB0ZXIudGFibGVzW3ZhbF0pXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2Jsb2NrVGFibGVOYW1lfWBdID0gYmxvY2tUYWJsZVJlbGF0aW9uc1xuICAgICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwoe1xuICAgICAgICAgICAgICBibG9jayxcbiAgICAgICAgICAgICAgbG9jYWxpemVkOiBmaWVsZC5sb2NhbGl6ZWQsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLnNldChgX2Jsb2Nrc18ke2Jsb2NrLnNsdWd9YCwgYmxvY2tUYWJsZU5hbWUpXG4gICAgICAgIH0pXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAndGFiJzpcbiAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICBpZiAoISgnbmFtZScgaW4gZmllbGQpKSB7XG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICAgIGRpc2FibGVOb3ROdWxsLFxuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgICAgbmV3VGFibGVOYW1lLFxuICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTWFueU51bWJlckZpZWxkKSBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUgPSBCb29sZWFuKGZpZWxkLmFkbWluPy5jb25kaXRpb24pIHx8IGRpc2FibGVOb3ROdWxsXG5cbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiBncm91cEhhc0xvY2FsaXplZEZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiBncm91cEhhc01hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtbk5hbWV9X2AsXG4gICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICBkaXNhYmxlTm90TnVsbDogZGlzYWJsZU5vdE51bGxGcm9tSGVyZSxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZE5hbWV9X2AsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgZm9yY2VMb2NhbGl6ZWQ6IGZpZWxkLmxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZTogYCR7cGFyZW50VGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9YCxcbiAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAoZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUgPSBCb29sZWFuKGZpZWxkLmFkbWluPy5jb25kaXRpb24pIHx8IGRpc2FibGVOb3ROdWxsXG5cbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiB0YWJIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IHRhYkhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogdGFiSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiB0YWJIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICAgIGZvcmNlTG9jYWxpemVkLFxuICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgICAgICAgbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHRhYkhhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHRhYkhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHRhYkhhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAodGFiSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncm93JzpcbiAgICAgIGNhc2UgJ2NvbGxhcHNpYmxlJzoge1xuICAgICAgICBjb25zdCBkaXNhYmxlTm90TnVsbEZyb21IZXJlID0gQm9vbGVhbihmaWVsZC5hZG1pbj8uY29uZGl0aW9uKSB8fCBkaXNhYmxlTm90TnVsbFxuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IHJvd0hhc0xvY2FsaXplZEZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogcm93SGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiByb3dIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IHJvd0hhc01hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICBkaXNhYmxlTm90TnVsbDogZGlzYWJsZU5vdE51bGxGcm9tSGVyZSxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIGZvcmNlTG9jYWxpemVkLFxuICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgICAgICAgbmV3VGFibGVOYW1lOiBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAocm93SGFzTG9jYWxpemVkRmllbGQpIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAocm93SGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAocm93SGFzTWFueU51bWJlckZpZWxkKSBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChyb3dIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzpcbiAgICAgIGNhc2UgJ3VwbG9hZCc6XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgICAgZmllbGQucmVsYXRpb25Uby5mb3JFYWNoKChyZWxhdGlvbikgPT4gcmVsYXRpb25zaGlwcy5hZGQocmVsYXRpb24pKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlbGF0aW9uc2hpcHMuYWRkKGZpZWxkLnJlbGF0aW9uVG8pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjb25zdCBjb25kaXRpb24gPSBmaWVsZC5hZG1pbiAmJiBmaWVsZC5hZG1pbi5jb25kaXRpb25cblxuICAgIGlmIChcbiAgICAgICFkaXNhYmxlTm90TnVsbCAmJlxuICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSAmJlxuICAgICAgJ3JlcXVpcmVkJyBpbiBmaWVsZCAmJlxuICAgICAgZmllbGQucmVxdWlyZWQgJiZcbiAgICAgICFjb25kaXRpb25cbiAgICApIHtcbiAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0ubm90TnVsbCgpXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiB7XG4gICAgaGFzTG9jYWxpemVkRmllbGQsXG4gICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgIGhhc01hbnlOdW1iZXJGaWVsZCxcbiAgfVxufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiYWRhcHRlciIsImJ1aWxkUmVsYXRpb25zaGlwcyIsImNvbHVtblByZWZpeCIsImNvbHVtbnMiLCJkaXNhYmxlTm90TnVsbCIsImRpc2FibGVVbmlxdWUiLCJmaWVsZFByZWZpeCIsImZpZWxkcyIsImZvcmNlTG9jYWxpemVkIiwiaW5kZXhlcyIsImxvY2FsZXNDb2x1bW5zIiwibG9jYWxlc0luZGV4ZXMiLCJuZXdUYWJsZU5hbWUiLCJwYXJlbnRUYWJsZU5hbWUiLCJyZWxhdGlvbnNUb0J1aWxkIiwicmVsYXRpb25zaGlwcyIsInJvb3RSZWxhdGlvbnNUb0J1aWxkIiwicm9vdFRhYmxlSURDb2xUeXBlIiwicm9vdFRhYmxlTmFtZSIsImhhc0xvY2FsaXplZEZpZWxkIiwiaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJoYXNNYW55TnVtYmVyRmllbGQiLCJoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJwYXJlbnRJRENvbFR5cGUiLCJpZCIsIlBnTnVtZXJpY0J1aWxkZXIiLCJQZ1ZhcmNoYXJCdWlsZGVyIiwiZm9yRWFjaCIsImZpZWxkIiwibmFtZSIsImNvbHVtbk5hbWUiLCJmaWVsZE5hbWUiLCJ0YXJnZXRUYWJsZSIsInRhcmdldEluZGV4ZXMiLCJmaWVsZEFmZmVjdHNEYXRhIiwidG9TbmFrZUNhc2UiLCJwYXlsb2FkIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibG9jYWxpemVkIiwidW5pcXVlIiwiaW5kZXgiLCJpbmNsdWRlcyIsInR5cGUiLCJoYXNNYW55IiwiY3JlYXRlSW5kZXgiLCJ2YXJjaGFyIiwiSW52YWxpZENvbmZpZ3VyYXRpb24iLCJudW1lcmljIiwianNvbmIiLCJ0aW1lc3RhbXAiLCJtb2RlIiwicHJlY2lzaW9uIiwid2l0aFRpbWV6b25lIiwiZW51bU5hbWUiLCJlbnVtcyIsInBnRW51bSIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJvcHRpb25Jc09iamVjdCIsInZhbHVlIiwic2VsZWN0VGFibGVOYW1lIiwiYmFzZUNvbHVtbnMiLCJvcmRlciIsImludGVnZXIiLCJub3ROdWxsIiwicGFyZW50IiwicGFyZW50SURDb2x1bW5NYXAiLCJyZWZlcmVuY2VzIiwidGFibGVzIiwib25EZWxldGUiLCJiYXNlRXh0cmFDb25maWciLCJvcmRlcklkeCIsImNvbHMiLCJvbiIsInBhcmVudElkeCIsImxvY2FsZSIsImVudW1fX2xvY2FsZXMiLCJsb2NhbGVJZHgiLCJidWlsZFRhYmxlIiwidGFibGVOYW1lIiwic2V0Iiwic2VsZWN0VGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbnMiLCJvbmUiLCJyZXN1bHQiLCJib29sZWFuIiwiZGlzYWJsZU5vdE51bGxGcm9tSGVyZSIsIkJvb2xlYW4iLCJhZG1pbiIsImNvbmRpdGlvbiIsImFycmF5VGFibGVOYW1lIiwiX29yZGVyIiwiX3BhcmVudElEIiwiX29yZGVySWR4IiwiX3BhcmVudElESWR4IiwiX2xvY2FsZSIsIl9sb2NhbGVJZHgiLCJzdWJSZWxhdGlvbnNUb0J1aWxkIiwicm9vdFJlbGF0aW9uc2hpcHMiLCJhcnJheVRhYmxlUmVsYXRpb25zIiwibWFueSIsImhhc0xvY2FsZXNUYWJsZSIsIl9sb2NhbGVzIiwidmFsIiwia2V5IiwiYmxvY2tzIiwiYmxvY2siLCJibG9ja1RhYmxlTmFtZSIsInNsdWciLCJfcGF0aCIsInRleHQiLCJfcGF0aElkeCIsImJsb2NrVGFibGVSZWxhdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJ2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCIsInRhYmxlIiwiZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCIsImdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwiZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsImdyb3VwSGFzTWFueU51bWJlckZpZWxkIiwidGFiSGFzTG9jYWxpemVkRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsInRhYkhhc01hbnlOdW1iZXJGaWVsZCIsInRhYnMiLCJ0YWIiLCJyb3dIYXNMb2NhbGl6ZWRGaWVsZCIsInJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsInJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwicm93SGFzTWFueU51bWJlckZpZWxkIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsInJlbGF0aW9uIiwiYWRkIiwicmVxdWlyZWQiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE0RHZCQTs7O2VBQUFBOzs7NEJBdkRhO3dCQWFuQjt3QkFDOEI7dUJBQ1k7b0VBQ3pCO2lDQUlRO3VCQUNMOzZCQUNDO21DQUNNO2tEQUNlOzs7Ozs7QUErQjFDLE1BQU1BLGlCQUFpQixDQUFDLEVBQzdCQyxPQUFPLEVBQ1BDLGtCQUFrQixFQUNsQkMsWUFBWSxFQUNaQyxPQUFPLEVBQ1BDLGNBQWMsRUFDZEMsZ0JBQWdCLEtBQUssRUFDckJDLFdB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
448
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIFBnTnVtZXJpY0J1aWxkZXIsXG4gIFBnVmFyY2hhckJ1aWxkZXIsXG4gIGJvb2xlYW4sXG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBqc29uYixcbiAgbnVtZXJpYyxcbiAgcGdFbnVtLFxuICB0ZXh0LFxuICB0aW1lc3RhbXAsXG4gIHZhcmNoYXIsXG59IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlndXJhdGlvbiB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbnMsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBoYXNMb2NhbGVzVGFibGUgfSBmcm9tICcuLi91dGlsaXRpZXMvaGFzTG9jYWxlc1RhYmxlJ1xuaW1wb3J0IHsgYnVpbGRUYWJsZSB9IGZyb20gJy4vYnVpbGQnXG5pbXBvcnQgeyBjcmVhdGVJbmRleCB9IGZyb20gJy4vY3JlYXRlSW5kZXgnXG5pbXBvcnQgeyBpZFRvVVVJRCB9IGZyb20gJy4vaWRUb1VVSUQnXG5pbXBvcnQgeyBwYXJlbnRJRENvbHVtbk1hcCB9IGZyb20gJy4vcGFyZW50SURDb2x1bW5NYXAnXG5pbXBvcnQgeyB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCB9IGZyb20gJy4vdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJ1aWxkUmVsYXRpb25zaGlwczogYm9vbGVhblxuICBjb2x1bW5QcmVmaXg/OiBzdHJpbmdcbiAgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBkaXNhYmxlTm90TnVsbDogYm9vbGVhblxuICBkaXNhYmxlVW5pcXVlPzogYm9vbGVhblxuICBmaWVsZFByZWZpeD86IHN0cmluZ1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgZm9yY2VMb2NhbGl6ZWQ/OiBib29sZWFuXG4gIGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPlxuICBsb2NhbGVzQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+XG4gIG5ld1RhYmxlTmFtZTogc3RyaW5nXG4gIHBhcmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcmVsYXRpb25zaGlwczogU2V0PHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ/OiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJvb3RUYWJsZUlEQ29sVHlwZTogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU6IHN0cmluZ1xufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgaGFzTG9jYWxpemVkRmllbGQ6IGJvb2xlYW5cbiAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBib29sZWFuXG4gIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBib29sZWFuXG4gIGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gKHtcbiAgYWRhcHRlcixcbiAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICBjb2x1bW5QcmVmaXgsXG4gIGNvbHVtbnMsXG4gIGRpc2FibGVOb3ROdWxsLFxuICBkaXNhYmxlVW5pcXVlID0gZmFsc2UsXG4gIGZpZWxkUHJlZml4LFxuICBmaWVsZHMsXG4gIGZvcmNlTG9jYWxpemVkLFxuICBpbmRleGVzLFxuICBsb2NhbGVzQ29sdW1ucyxcbiAgbG9jYWxlc0luZGV4ZXMsXG4gIG5ld1RhYmxlTmFtZSxcbiAgcGFyZW50VGFibGVOYW1lLFxuICByZWxhdGlvbnNUb0J1aWxkLFxuICByZWxhdGlvbnNoaXBzLFxuICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICByb290VGFibGVOYW1lLFxufTogQXJncyk6IFJlc3VsdCA9PiB7XG4gIGxldCBoYXNMb2NhbGl6ZWRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNNYW55TnVtYmVyRmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IGZhbHNlXG5cbiAgbGV0IHBhcmVudElEQ29sVHlwZSA9ICdpbnRlZ2VyJ1xuICBpZiAoY29sdW1ucy5pZCBpbnN0YW5jZW9mIFBnTnVtZXJpY0J1aWxkZXIpIHBhcmVudElEQ29sVHlwZSA9ICdudW1lcmljJ1xuICBpZiAoY29sdW1ucy5pZCBpbnN0YW5jZW9mIFBnVmFyY2hhckJ1aWxkZXIpIHBhcmVudElEQ29sVHlwZSA9ICd2YXJjaGFyJ1xuXG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGlmICgnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2lkJykgcmV0dXJuXG4gICAgbGV0IGNvbHVtbk5hbWU6IHN0cmluZ1xuICAgIGxldCBmaWVsZE5hbWU6IHN0cmluZ1xuXG4gICAgbGV0IHRhcmdldFRhYmxlID0gY29sdW1uc1xuICAgIGxldCB0YXJnZXRJbmRleGVzID0gaW5kZXhlc1xuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb2x1bW5OYW1lID0gYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZVswXSA9PT0gJ18nID8gJ18nIDogJyd9JHt0b1NuYWtlQ2FzZShcbiAgICAgICAgZmllbGQubmFtZSxcbiAgICAgICl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgLy8gSWYgZmllbGQgaXMgbG9jYWxpemVkLFxuICAgICAgLy8gYWRkIHRoZSBjb2x1bW4gdG8gdGhlIGxvY2FsZSB0YWJsZSBpbnN0ZWFkIG9mIG1haW4gdGFibGVcbiAgICAgIGlmIChhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbiAmJiAoZmllbGQubG9jYWxpemVkIHx8IGZvcmNlTG9jYWxpemVkKSkge1xuICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgdGFyZ2V0VGFibGUgPSBsb2NhbGVzQ29sdW1uc1xuICAgICAgICB0YXJnZXRJbmRleGVzID0gbG9jYWxlc0luZGV4ZXNcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICAoZmllbGQudW5pcXVlIHx8IGZpZWxkLmluZGV4KSAmJlxuICAgICAgICAhWydhcnJheScsICdibG9ja3MnLCAnZ3JvdXAnLCAncG9pbnQnLCAncmVsYXRpb25zaGlwJywgJ3VwbG9hZCddLmluY2x1ZGVzKGZpZWxkLnR5cGUpICYmXG4gICAgICAgICEoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSlcbiAgICAgICkge1xuICAgICAgICB0YXJnZXRJbmRleGVzW2Ake2ZpZWxkLm5hbWV9SWR4YF0gPSBjcmVhdGVJbmRleCh7XG4gICAgICAgICAgbmFtZTogZmllbGROYW1lLFxuICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgdW5pcXVlOiBkaXNhYmxlVW5pcXVlICE9PSB0cnVlICYmIGZpZWxkLnVuaXF1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgY2FzZSAnZW1haWwnOlxuICAgICAgY2FzZSAnY29kZSc6XG4gICAgICBjYXNlICd0ZXh0YXJlYSc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IHZhcmNoYXIoY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuaW5kZXgpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9ICdpbmRleCdcbiAgICAgICAgICB9IGVsc2UgaWYgKCFoYXNNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQudW5pcXVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZ3VyYXRpb24oXG4gICAgICAgICAgICAgICdVbmlxdWUgaXMgbm90IHN1cHBvcnRlZCBpbiBQb3N0Z3JlcyBmb3IgaGFzTWFueSBudW1iZXIgZmllbGRzLicsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSBudW1lcmljKGNvbHVtbk5hbWUpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmljaFRleHQnOlxuICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGpzb25iKGNvbHVtbk5hbWUpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2RhdGUnOiB7XG4gICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSB0aW1lc3RhbXAoY29sdW1uTmFtZSwge1xuICAgICAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHByZWNpc2lvbjogMyxcbiAgICAgICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3BvaW50Jzoge1xuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyYWRpbyc6XG4gICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgIGNvbnN0IGVudW1OYW1lID0gYGVudW1fJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuXG4gICAgICAgIGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdID0gcGdFbnVtKFxuICAgICAgICAgIGVudW1OYW1lLFxuICAgICAgICAgIGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIGlmIChvcHRpb25Jc09iamVjdChvcHRpb24pKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvblxuICAgICAgICAgIH0pIGFzIFtzdHJpbmcsIC4uLnN0cmluZ1tdXSxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0VGFibGVOYW1lID0gYCR7bmV3VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcbiAgICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbcGFyZW50SURDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgICAgICB2YWx1ZTogYWRhcHRlci5lbnVtc1tlbnVtTmFtZV0oJ3ZhbHVlJyksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyXG4gICAgICAgICAgPiA9IHtcbiAgICAgICAgICAgIG9yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMub3JkZXIpLFxuICAgICAgICAgICAgcGFyZW50SWR4OiAoY29scykgPT4gaW5kZXgoJ3BhcmVudF9pZHgnKS5vbihjb2xzLnBhcmVudCksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgYmFzZUNvbHVtbnMubG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdsb2NhbGUnKS5ub3ROdWxsKClcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5sb2NhbGVJZHggPSAoY29scykgPT4gaW5kZXgoJ2xvY2FsZV9pZHgnKS5vbihjb2xzLmxvY2FsZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuaW5kZXgpIHtcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy52YWx1ZSA9IChjb2xzKSA9PiBpbmRleCgndmFsdWVfaWR4Jykub24oY29scy52YWx1ZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZyxcbiAgICAgICAgICAgIGRpc2FibGVOb3ROdWxsLFxuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICAgIGZpZWxkczogW10sXG4gICAgICAgICAgICB0YWJsZU5hbWU6IHNlbGVjdFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZC5zZXQoZmllbGROYW1lLCBzZWxlY3RUYWJsZU5hbWUpXG5cbiAgICAgICAgICBjb25zdCBzZWxlY3RUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhhZGFwdGVyLnRhYmxlc1tzZWxlY3RUYWJsZU5hbWVdLCAoeyBvbmUgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgICAgcGFyZW50OiBvbmUoYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXSwge1xuICAgICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV0ucGFyZW50XSxcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbl8ke3NlbGVjdFRhYmxlTmFtZX1gXSA9IHNlbGVjdFRhYmxlUmVsYXRpb25zXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdKGZpZWxkTmFtZSlcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdjaGVja2JveCc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGJvb2xlYW4oY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUgPSBCb29sZWFuKGZpZWxkLmFkbWluPy5jb25kaXRpb24pIHx8IGRpc2FibGVOb3ROdWxsXG5cbiAgICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICBfb3JkZXI6IGludGVnZXIoJ19vcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICBfcGFyZW50SUQ6IHBhcmVudElEQ29sdW1uTWFwW3BhcmVudElEQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyIHwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXJcbiAgICAgICAgPiA9IHtcbiAgICAgICAgICBfb3JkZXJJZHg6IChjb2xzKSA9PiBpbmRleCgnX29yZGVyX2lkeCcpLm9uKGNvbHMuX29yZGVyKSxcbiAgICAgICAgICBfcGFyZW50SURJZHg6IChjb2xzKSA9PiBpbmRleCgnX3BhcmVudF9pZF9pZHgnKS5vbihjb2xzLl9wYXJlbnRJRCksXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgYmFzZUNvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5fbG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdfbG9jYWxlX2lkeCcpLm9uKGNvbHMuX2xvY2FsZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcmVsYXRpb25zVG9CdWlsZDogc3ViUmVsYXRpb25zVG9CdWlsZCB9ID0gYnVpbGRUYWJsZSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZHM6IGRpc2FibGVVbmlxdWUgPyBpZFRvVVVJRChmaWVsZC5maWVsZHMpIDogZmllbGQuZmllbGRzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNoaXBzOiByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmVsYXRpb25zVG9CdWlsZC5zZXQoZmllbGROYW1lLCBhcnJheVRhYmxlTmFtZSlcblxuICAgICAgICBjb25zdCBhcnJheVRhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKGFkYXB0ZXIudGFibGVzW2FycmF5VGFibGVOYW1lXSwgKHsgbWFueSwgb25lIH0pID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge1xuICAgICAgICAgICAgX3BhcmVudElEOiBvbmUoYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXSwge1xuICAgICAgICAgICAgICBmaWVsZHM6IFthZGFwdGVyLnRhYmxlc1thcnJheVRhYmxlTmFtZV0uX3BhcmVudElEXSxcbiAgICAgICAgICAgICAgcmVmZXJlbmNlczogW2FkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGhhc0xvY2FsZXNUYWJsZShmaWVsZC5maWVsZHMpKSB7XG4gICAgICAgICAgICByZXN1bHQuX2xvY2FsZXMgPSBtYW55KGFkYXB0ZXIudGFibGVzW2Ake2FycmF5VGFibGVOYW1lfV9sb2NhbGVzYF0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3ViUmVsYXRpb25zVG9CdWlsZC5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBtYW55KGFkYXB0ZXIudGFibGVzW3ZhbF0pXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgfSlcblxuICAgICAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7YXJyYXlUYWJsZU5hbWV9YF0gPSBhcnJheVRhYmxlUmVsYXRpb25zXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnYmxvY2tzJzoge1xuICAgICAgICBjb25zdCBkaXNhYmxlTm90TnVsbEZyb21IZXJlID0gQm9vbGVhbihmaWVsZC5hZG1pbj8uY29uZGl0aW9uKSB8fCBkaXNhYmxlTm90TnVsbFxuXG4gICAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYCR7cm9vdFRhYmxlTmFtZX1fYmxvY2tzXyR7dG9TbmFrZUNhc2UoYmxvY2suc2x1Zyl9YFxuICAgICAgICAgIGlmICghYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdKSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICAgICAgX29yZGVyOiBpbnRlZ2VyKCdfb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgICAgIF9wYXJlbnRJRDogcGFyZW50SURDb2x1bW5NYXBbcm9vdFRhYmxlSURDb2xUeXBlXSgnX3BhcmVudF9pZCcpXG4gICAgICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgICAgICAgIF9wYXRoOiB0ZXh0KCdfcGF0aCcpLm5vdE51bGwoKSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgICAgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlclxuICAgICAgICAgICAgPiA9IHtcbiAgICAgICAgICAgICAgX29yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMuX29yZGVyKSxcbiAgICAgICAgICAgICAgX3BhcmVudElESWR4OiAoY29scykgPT4gaW5kZXgoJ3BhcmVudF9pZF9pZHgnKS5vbihjb2xzLl9wYXJlbnRJRCksXG4gICAgICAgICAgICAgIF9wYXRoSWR4OiAoY29scykgPT4gaW5kZXgoJ3BhdGhfaWR4Jykub24oY29scy5fcGF0aCksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICAgICAgYmFzZUNvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgICAgICBiYXNlRXh0cmFDb25maWcuX2xvY2FsZUlkeCA9IChjb2xzKSA9PiBpbmRleCgnbG9jYWxlX2lkeCcpLm9uKGNvbHMuX2xvY2FsZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgeyByZWxhdGlvbnNUb0J1aWxkOiBzdWJSZWxhdGlvbnNUb0J1aWxkIH0gPSBidWlsZFRhYmxlKHtcbiAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZyxcbiAgICAgICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICAgIGZpZWxkczogZGlzYWJsZVVuaXF1ZSA/IGlkVG9VVUlEKGJsb2NrLmZpZWxkcykgOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgICAgICByb290UmVsYXRpb25zaGlwczogcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgICAgICB0YWJsZU5hbWU6IGJsb2NrVGFibGVOYW1lLFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgY29uc3QgYmxvY2tUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICAoeyBtYW55LCBvbmUgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7XG4gICAgICAgICAgICAgICAgICBfcGFyZW50SUQ6IG9uZShhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSwge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IFthZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0uX3BhcmVudElEXSxcbiAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlczogW2FkYXB0ZXIudGFibGVzW3Jvb3RUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChoYXNMb2NhbGVzVGFibGUoYmxvY2suZmllbGRzKSkge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0Ll9sb2NhbGVzID0gbWFueShhZGFwdGVyLnRhYmxlc1tgJHtibG9ja1RhYmxlTmFtZX1fbG9jYWxlc2BdKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN1YlJlbGF0aW9uc1RvQnVpbGQuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbWFueShhZGFwdGVyLnRhYmxlc1t2YWxdKVxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHtibG9ja1RhYmxlTmFtZX1gXSA9IGJsb2NrVGFibGVSZWxhdGlvbnNcbiAgICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRXhpc3RpbmdCbG9ja0lzSWRlbnRpY2FsKHtcbiAgICAgICAgICAgICAgYmxvY2ssXG4gICAgICAgICAgICAgIGxvY2FsaXplZDogZmllbGQubG9jYWxpemVkLFxuICAgICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgICAgICB0YWJsZTogYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZC5zZXQoYF9ibG9ja3NfJHtibG9jay5zbHVnfWAsIGJsb2NrVGFibGVOYW1lKVxuICAgICAgICB9KVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3RhYic6XG4gICAgICBjYXNlICdncm91cCc6IHtcbiAgICAgICAgaWYgKCEoJ25hbWUnIGluIGZpZWxkKSkge1xuICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiBncm91cEhhc0xvY2FsaXplZEZpZWxkLFxuICAgICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiBncm91cEhhc01hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgICBkaXNhYmxlTm90TnVsbCxcbiAgICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgZm9yY2VMb2NhbGl6ZWQsXG4gICAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICAgIG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGlmIChncm91cEhhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkaXNhYmxlTm90TnVsbEZyb21IZXJlID0gQm9vbGVhbihmaWVsZC5hZG1pbj8uY29uZGl0aW9uKSB8fCBkaXNhYmxlTm90TnVsbFxuXG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5OYW1lfV9gLFxuICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGROYW1lfV9gLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIGZvcmNlTG9jYWxpemVkOiBmaWVsZC5sb2NhbGl6ZWQsXG4gICAgICAgICAgaW5kZXhlcyxcbiAgICAgICAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICBuZXdUYWJsZU5hbWU6IGAke3BhcmVudFRhYmxlTmFtZX1fJHtjb2x1bW5OYW1lfWAsXG4gICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKGdyb3VwSGFzTWFueU51bWJlckZpZWxkKSBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICBjb25zdCBkaXNhYmxlTm90TnVsbEZyb21IZXJlID0gQm9vbGVhbihmaWVsZC5hZG1pbj8uY29uZGl0aW9uKSB8fCBkaXNhYmxlTm90TnVsbFxuXG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogdGFiSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiB0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IHRhYkhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogdGFiSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgIGRpc2FibGVOb3ROdWxsOiBkaXNhYmxlTm90TnVsbEZyb21IZXJlLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiAoeyAuLi50YWIsIHR5cGU6ICd0YWInIH0pKSxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHRhYkhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3Jvdyc6XG4gICAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgICAgY29uc3QgZGlzYWJsZU5vdE51bGxGcm9tSGVyZSA9IEJvb2xlYW4oZmllbGQuYWRtaW4/LmNvbmRpdGlvbikgfHwgZGlzYWJsZU5vdE51bGxcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiByb3dIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IHJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogcm93SGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiByb3dIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZTogcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAocm93SGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICBjYXNlICd1cGxvYWQnOlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICAgIGZpZWxkLnJlbGF0aW9uVG8uZm9yRWFjaCgocmVsYXRpb24pID0+IHJlbGF0aW9uc2hpcHMuYWRkKHJlbGF0aW9uKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLmFkZChmaWVsZC5yZWxhdGlvblRvKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY29uc3QgY29uZGl0aW9uID0gZmllbGQuYWRtaW4gJiYgZmllbGQuYWRtaW4uY29uZGl0aW9uXG5cbiAgICBpZiAoXG4gICAgICAhZGlzYWJsZU5vdE51bGwgJiZcbiAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gJiZcbiAgICAgICdyZXF1aXJlZCcgaW4gZmllbGQgJiZcbiAgICAgIGZpZWxkLnJlcXVpcmVkICYmXG4gICAgICAhY29uZGl0aW9uXG4gICAgKSB7XG4gICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdLm5vdE51bGwoKVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4ge1xuICAgIGhhc0xvY2FsaXplZEZpZWxkLFxuICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICBoYXNNYW55TnVtYmVyRmllbGQsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImFkYXB0ZXIiLCJidWlsZFJlbGF0aW9uc2hpcHMiLCJjb2x1bW5QcmVmaXgiLCJjb2x1bW5zIiwiZGlzYWJsZU5vdE51bGwiLCJkaXNhYmxlVW5pcXVlIiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJmb3JjZUxvY2FsaXplZCIsImluZGV4ZXMiLCJsb2NhbGVzQ29sdW1ucyIsImxvY2FsZXNJbmRleGVzIiwibmV3VGFibGVOYW1lIiwicGFyZW50VGFibGVOYW1lIiwicmVsYXRpb25zVG9CdWlsZCIsInJlbGF0aW9uc2hpcHMiLCJyb290UmVsYXRpb25zVG9CdWlsZCIsInJvb3RUYWJsZUlEQ29sVHlwZSIsInJvb3RUYWJsZU5hbWUiLCJoYXNMb2NhbGl6ZWRGaWVsZCIsImhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwicGFyZW50SURDb2xUeXBlIiwiaWQiLCJQZ051bWVyaWNCdWlsZGVyIiwiUGdWYXJjaGFyQnVpbGRlciIsImZvckVhY2giLCJmaWVsZCIsIm5hbWUiLCJjb2x1bW5OYW1lIiwiZmllbGROYW1lIiwidGFyZ2V0VGFibGUiLCJ0YXJnZXRJbmRleGVzIiwiZmllbGRBZmZlY3RzRGF0YSIsInRvU25ha2VDYXNlIiwicGF5bG9hZCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsImxvY2FsaXplZCIsInVuaXF1ZSIsImluZGV4IiwiaW5jbHVkZXMiLCJ0eXBlIiwiaGFzTWFueSIsImNyZWF0ZUluZGV4IiwidmFyY2hhciIsIkludmFsaWRDb25maWd1cmF0aW9uIiwibnVtZXJpYyIsImpzb25iIiwidGltZXN0YW1wIiwibW9kZSIsInByZWNpc2lvbiIsIndpdGhUaW1lem9uZSIsImVudW1OYW1lIiwiZW51bXMiLCJwZ0VudW0iLCJvcHRpb25zIiwibWFwIiwib3B0aW9uIiwib3B0aW9uSXNPYmplY3QiLCJ2YWx1ZSIsInNlbGVjdFRhYmxlTmFtZSIsImJhc2VDb2x1bW5zIiwib3JkZXIiLCJpbnRlZ2VyIiwibm90TnVsbCIsInBhcmVudCIsInBhcmVudElEQ29sdW1uTWFwIiwicmVmZXJlbmNlcyIsInRhYmxlcyIsIm9uRGVsZXRlIiwiYmFzZUV4dHJhQ29uZmlnIiwib3JkZXJJZHgiLCJjb2xzIiwib24iLCJwYXJlbnRJZHgiLCJsb2NhbGUiLCJlbnVtX19sb2NhbGVzIiwibG9jYWxlSWR4IiwiYnVpbGRUYWJsZSIsInRhYmxlTmFtZSIsInNldCIsInNlbGVjdFRhYmxlUmVsYXRpb25zIiwicmVsYXRpb25zIiwib25lIiwicmVzdWx0IiwiYm9vbGVhbiIsImRpc2FibGVOb3ROdWxsRnJvbUhlcmUiLCJCb29sZWFuIiwiYWRtaW4iLCJjb25kaXRpb24iLCJhcnJheVRhYmxlTmFtZSIsIl9vcmRlciIsIl9wYXJlbnRJRCIsIl9vcmRlcklkeCIsIl9wYXJlbnRJRElkeCIsIl9sb2NhbGUiLCJfbG9jYWxlSWR4Iiwic3ViUmVsYXRpb25zVG9CdWlsZCIsImlkVG9VVUlEIiwicm9vdFJlbGF0aW9uc2hpcHMiLCJhcnJheVRhYmxlUmVsYXRpb25zIiwibWFueSIsImhhc0xvY2FsZXNUYWJsZSIsIl9sb2NhbGVzIiwidmFsIiwia2V5IiwiYmxvY2tzIiwiYmxvY2siLCJibG9ja1RhYmxlTmFtZSIsInNsdWciLCJfcGF0aCIsInRleHQiLCJfcGF0aElkeCIsImJsb2NrVGFibGVSZWxhdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJ2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCIsInRhYmxlIiwiZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCIsImdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwiZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsImdyb3VwSGFzTWFueU51bWJlckZpZWxkIiwidGFiSGFzTG9jYWxpemVkRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsInRhYkhhc01hbnlOdW1iZXJGaWVsZCIsInRhYnMiLCJ0YWIiLCJyb3dIYXNMb2NhbGl6ZWRGaWVsZCIsInJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsInJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwicm93SGFzTWFueU51bWJlckZpZWxkIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsInJlbGF0aW9uIiwiYWRkIiwicmVxdWlyZWQiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE2RHZCQTs7O2VBQUFBOzs7NEJBeERhO3dCQWFuQjt3QkFDOEI7dUJBQ1k7b0VBQ3pCO2lDQUlRO3VCQUNMOzZC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
@@ -18,7 +18,8 @@ const validateExistingBlockIsIdentical = ({ block, localized, rootTableName, tab
18
18
  '_locale',
19
19
  '_order',
20
20
  '_parentID',
21
- '_path'
21
+ '_path',
22
+ '_uuid'
22
23
  ].includes(fieldName)) {
23
24
  if (fieldNames.indexOf(fieldName) === -1) {
24
25
  throw new _errors.InvalidConfiguration(`The table ${rootTableName} has multiple blocks with slug ${block.slug}, but the schemas do not match. One block includes the field ${fieldName}, while the other block does not.`);
@@ -31,4 +32,4 @@ const validateExistingBlockIsIdentical = ({ block, localized, rootTableName, tab
31
32
  }
32
33
  };
33
34
 
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jayB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IEludmFsaWRDb25maWd1cmF0aW9uIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgeyBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljVGFibGUgfSBmcm9tICcuLi90eXBlcydcblxudHlwZSBBcmdzID0ge1xuICBibG9jazogQmxvY2tcbiAgbG9jYWxpemVkOiBib29sZWFuXG4gIHJvb3RUYWJsZU5hbWU6IHN0cmluZ1xuICB0YWJsZTogR2VuZXJpY1RhYmxlXG59XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCA9ICh7XG4gIGJsb2NrLFxuICBsb2NhbGl6ZWQsXG4gIHJvb3RUYWJsZU5hbWUsXG4gIHRhYmxlLFxufTogQXJncyk6IHZvaWQgPT4ge1xuICBpZiAodGFibGUpIHtcbiAgICBjb25zdCBmaWVsZE5hbWVzID0gZmxhdHRlblRvcExldmVsRmllbGRzKGJsb2NrLmZpZWxkcykuZmxhdE1hcCgoZmllbGQpID0+IGZpZWxkLm5hbWUpXG5cbiAgICBPYmplY3Qua2V5cyh0YWJsZSkuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgICBpZiAoIVsnX2xvY2FsZScsICdfb3JkZXInLCAnX3BhcmVudElEJywgJ19wYXRoJ10uaW5jbHVkZXMoZmllbGROYW1lKSkge1xuICAgICAgICBpZiAoZmllbGROYW1lcy5pbmRleE9mKGZpZWxkTmFtZSkgPT09IC0xKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRDb25maWd1cmF0aW9uKFxuICAgICAgICAgICAgYFRoZSB0YWJsZSAke3Jvb3RUYWJsZU5hbWV9IGhhcyBtdWx0aXBsZSBibG9ja3Mgd2l0aCBzbHVnICR7YmxvY2suc2x1Z30sIGJ1dCB0aGUgc2NoZW1hcyBkbyBub3QgbWF0Y2guIE9uZSBibG9jayBpbmNsdWRlcyB0aGUgZmllbGQgJHtmaWVsZE5hbWV9LCB3aGlsZSB0aGUgb3RoZXIgYmxvY2sgZG9lcyBub3QuYCxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgaWYgKEJvb2xlYW4obG9jYWxpemVkKSAhPT0gQm9vbGVhbih0YWJsZS5fbG9jYWxlKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRDb25maWd1cmF0aW9uKFxuICAgICAgICBgVGhlIHRhYmxlICR7cm9vdFRhYmxlTmFtZX0gaGFzIG11bHRpcGxlIGJsb2NrcyB3aXRoIHNsdWcgJHtibG9jay5zbHVnfSwgYnV0IHRoZSBzY2hlbWFzIGRvIG5vdCBtYXRjaC4gT25lIGlzIGxvY2FsaXplZCwgYnV0IGFub3RoZXIgaXMgbm90LiBCbG9jayBzY2hlbWFzIG9mIHRoZSBzYW1lIG5hbWUgbXVzdCBtYXRjaCBleGFjdGx5LmAsXG4gICAgICApXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsidmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwiLCJibG9jayIsImxvY2FsaXplZCIsInJvb3RUYWJsZU5hbWUiLCJ0YWJsZSIsImZpZWxkTmFtZXMiLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJmaWVsZHMiLCJmbGF0TWFwIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJmaWVsZE5hbWUiLCJpbmNsdWRlcyIsImluZGV4T2YiLCJJbnZhbGlkQ29uZmlndXJhdGlvbiIsInNsdWciLCJCb29sZWFuIiwiX2xvY2FsZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFjYUE7OztlQUFBQTs7O3dCQVp3QjsyQkFDQztBQVcvQixNQUFNQSxtQ0FBbUMsQ0FBQyxFQUMvQ0MsS0FBSyxFQUNMQyxTQUFTLEVBQ1RDLGFBQWEsRUFDYkMsS0FBSyxFQUNBO0lBQ0wsSUFBSUEsT0FBTztRQUNULE1BQU1DLGFBQWFDLElBQUFBLGdDQUFxQixFQUFDTCxNQUFNTSxNQUFNLEVBQUVDLE9BQU8sQ0FBQyxDQUFDQyxRQUFVQSxNQUFNQyxJQUFJO1FBRXBGQyxPQUFPQyxJQUFJLENBQUNSLE9BQU9TLE9BQU8sQ0FBQyxDQUFDQztZQUMxQixJQUFJLENBQUM7Z0JBQUM7Z0JBQVc7Z0JBQVU7Z0JBQWE7YUFBUSxDQUFDQyxRQUFRLENBQUNELFlBQVk7Z0JBQ3BFLElBQUlULFdBQVdXLE9BQU8sQ0FBQ0YsZUFBZSxDQUFDLEdBQUc7b0JBQ3hDLE1BQU0sSUFBSUcsNEJBQW9CLENBQzVCLENBQUMsVUFBVSxFQUFFZCxjQUFjLCtCQUErQixFQUFFRixNQUFNaUIsSUFBSSxDQUFDLDZEQUE2RCxFQUFFSixVQUFVLGlDQUFpQyxDQUFDO2dCQUV0TDtZQUNGO1FBQ0Y7UUFFQSxJQUFJSyxRQUFRakIsZUFBZWlCLFFBQVFmLE1BQU1nQixPQUFPLEdBQUc7WUFDakQsTUFBTSxJQUFJSCw0QkFBb0IsQ0FDNUIsQ0FBQyxVQUFVLEVBQUVkLGNBQWMsK0JBQStCLEVBQUVGLE1BQU1pQixJQUFJLENBQUMsd0hBQXdILENBQUM7UUFFcE07SUFDRjtBQUNGIn0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jayB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IEludmFsaWRDb25maWd1cmF0aW9uIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgeyBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljVGFibGUgfSBmcm9tICcuLi90eXBlcydcblxudHlwZSBBcmdzID0ge1xuICBibG9jazogQmxvY2tcbiAgbG9jYWxpemVkOiBib29sZWFuXG4gIHJvb3RUYWJsZU5hbWU6IHN0cmluZ1xuICB0YWJsZTogR2VuZXJpY1RhYmxlXG59XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCA9ICh7XG4gIGJsb2NrLFxuICBsb2NhbGl6ZWQsXG4gIHJvb3RUYWJsZU5hbWUsXG4gIHRhYmxlLFxufTogQXJncyk6IHZvaWQgPT4ge1xuICBpZiAodGFibGUpIHtcbiAgICBjb25zdCBmaWVsZE5hbWVzID0gZmxhdHRlblRvcExldmVsRmllbGRzKGJsb2NrLmZpZWxkcykuZmxhdE1hcCgoZmllbGQpID0+IGZpZWxkLm5hbWUpXG5cbiAgICBPYmplY3Qua2V5cyh0YWJsZSkuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgICBpZiAoIVsnX2xvY2FsZScsICdfb3JkZXInLCAnX3BhcmVudElEJywgJ19wYXRoJywgJ191dWlkJ10uaW5jbHVkZXMoZmllbGROYW1lKSkge1xuICAgICAgICBpZiAoZmllbGROYW1lcy5pbmRleE9mKGZpZWxkTmFtZSkgPT09IC0xKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRDb25maWd1cmF0aW9uKFxuICAgICAgICAgICAgYFRoZSB0YWJsZSAke3Jvb3RUYWJsZU5hbWV9IGhhcyBtdWx0aXBsZSBibG9ja3Mgd2l0aCBzbHVnICR7YmxvY2suc2x1Z30sIGJ1dCB0aGUgc2NoZW1hcyBkbyBub3QgbWF0Y2guIE9uZSBibG9jayBpbmNsdWRlcyB0aGUgZmllbGQgJHtmaWVsZE5hbWV9LCB3aGlsZSB0aGUgb3RoZXIgYmxvY2sgZG9lcyBub3QuYCxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgaWYgKEJvb2xlYW4obG9jYWxpemVkKSAhPT0gQm9vbGVhbih0YWJsZS5fbG9jYWxlKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRDb25maWd1cmF0aW9uKFxuICAgICAgICBgVGhlIHRhYmxlICR7cm9vdFRhYmxlTmFtZX0gaGFzIG11bHRpcGxlIGJsb2NrcyB3aXRoIHNsdWcgJHtibG9jay5zbHVnfSwgYnV0IHRoZSBzY2hlbWFzIGRvIG5vdCBtYXRjaC4gT25lIGlzIGxvY2FsaXplZCwgYnV0IGFub3RoZXIgaXMgbm90LiBCbG9jayBzY2hlbWFzIG9mIHRoZSBzYW1lIG5hbWUgbXVzdCBtYXRjaCBleGFjdGx5LmAsXG4gICAgICApXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsidmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwiLCJibG9jayIsImxvY2FsaXplZCIsInJvb3RUYWJsZU5hbWUiLCJ0YWJsZSIsImZpZWxkTmFtZXMiLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJmaWVsZHMiLCJmbGF0TWFwIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJmaWVsZE5hbWUiLCJpbmNsdWRlcyIsImluZGV4T2YiLCJJbnZhbGlkQ29uZmlndXJhdGlvbiIsInNsdWciLCJCb29sZWFuIiwiX2xvY2FsZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFjYUE7OztlQUFBQTs7O3dCQVp3QjsyQkFDQztBQVcvQixNQUFNQSxtQ0FBbUMsQ0FBQyxFQUMvQ0MsS0FBSyxFQUNMQyxTQUFTLEVBQ1RDLGFBQWEsRUFDYkMsS0FBSyxFQUNBO0lBQ0wsSUFBSUEsT0FBTztRQUNULE1BQU1DLGFBQWFDLElBQUFBLGdDQUFxQixFQUFDTCxNQUFNTSxNQUFNLEVBQUVDLE9BQU8sQ0FBQyxDQUFDQyxRQUFVQSxNQUFNQyxJQUFJO1FBRXBGQyxPQUFPQyxJQUFJLENBQUNSLE9BQU9TLE9BQU8sQ0FBQyxDQUFDQztZQUMxQixJQUFJLENBQUM7Z0JBQUM7Z0JBQVc7Z0JBQVU7Z0JBQWE7Z0JBQVM7YUFBUSxDQUFDQyxRQUFRLENBQUNELFlBQVk7Z0JBQzdFLElBQUlULFdBQVdXLE9BQU8sQ0FBQ0YsZUFBZSxDQUFDLEdBQUc7b0JBQ3hDLE1BQU0sSUFBSUcsNEJBQW9CLENBQzVCLENBQUMsVUFBVSxFQUFFZCxjQUFjLCtCQUErQixFQUFFRixNQUFNaUIsSUFBSSxDQUFDLDZEQUE2RCxFQUFFSixVQUFVLGlDQUFpQyxDQUFDO2dCQUV0TDtZQUNGO1FBQ0Y7UUFFQSxJQUFJSyxRQUFRakIsZUFBZWlCLFFBQVFmLE1BQU1nQixPQUFPLEdBQUc7WUFDakQsTUFBTSxJQUFJSCw0QkFBb0IsQ0FDNUIsQ0FBQyxVQUFVLEVBQUVkLGNBQWMsK0JBQStCLEVBQUVGLE1BQU1pQixJQUFJLENBQUMsd0hBQXdILENBQUM7UUFFcE07SUFDRjtBQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transform/read/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAMtD,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAID,eAAO,MAAM,SAAS,mDAAoD,aAAa,MA+BtF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transform/read/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAMtD,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAID,eAAO,MAAM,SAAS,mDAAoD,aAAa,MAmCtF,CAAA"}
@@ -23,12 +23,14 @@ const transform = ({ config, data, fields })=>{
23
23
  delete data._numbers;
24
24
  }
25
25
  const blocks = (0, _createBlocksMap.createBlocksMap)(data);
26
+ const deletions = [];
26
27
  const result = (0, _traverseFields.traverseFields)({
27
28
  blocks,
28
29
  config,
29
30
  dataRef: {
30
31
  id: data.id
31
32
  },
33
+ deletions,
32
34
  fieldPrefix: '',
33
35
  fields,
34
36
  numbers,
@@ -36,7 +38,8 @@ const transform = ({ config, data, fields })=>{
36
38
  relationships,
37
39
  table: data
38
40
  });
41
+ deletions.forEach((deletion)=>deletion());
39
42
  return result;
40
43
  };
41
44
 
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBjcmVhdGVCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuaW1wb3J0IHsgY3JlYXRlUGF0aE1hcCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jcmVhdGVSZWxhdGlvbnNoaXBNYXAnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgVHJhbnNmb3JtQXJncyA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmFsbGJhY2tMb2NhbGU/OiBmYWxzZSB8IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgbG9jYWxlPzogc3RyaW5nXG59XG5cbi8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IHRvIHRyYW5zZm9ybSBEcml6emxlIG91dHB1dCBkYXRhXG4vLyBpbnRvIHRoZSBzaGFwZSBQYXlsb2FkIGV4cGVjdHMgYmFzZWQgb24gZmllbGQgc2NoZW1hXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtID0gPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7IGNvbmZpZywgZGF0YSwgZmllbGRzIH06IFRyYW5zZm9ybUFyZ3MpOiBUID0+IHtcbiAgbGV0IHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cbiAgbGV0IG51bWJlcnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cblxuICBpZiAoJ19yZWxzJyBpbiBkYXRhKSB7XG4gICAgcmVsYXRpb25zaGlwcyA9IGNyZWF0ZVBhdGhNYXAoZGF0YS5fcmVscylcbiAgICBkZWxldGUgZGF0YS5fcmVsc1xuICB9XG5cbiAgaWYgKCdfbnVtYmVycycgaW4gZGF0YSkge1xuICAgIG51bWJlcnMgPSBjcmVhdGVQYXRoTWFwKGRhdGEuX251bWJlcnMpXG4gICAgZGVsZXRlIGRhdGEuX251bWJlcnNcbiAgfVxuXG4gIGNvbnN0IGJsb2NrcyA9IGNyZWF0ZUJsb2Nrc01hcChkYXRhKVxuXG4gIGNvbnN0IHJlc3VsdCA9IHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICBibG9ja3MsXG4gICAgY29uZmlnLFxuICAgIGRhdGFSZWY6IHtcbiAgICAgIGlkOiBkYXRhLmlkLFxuICAgIH0sXG4gICAgZmllbGRQcmVmaXg6ICcnLFxuICAgIGZpZWxkcyxcbiAgICBudW1iZXJzLFxuICAgIHBhdGg6ICcnLFxuICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgdGFibGU6IGRhdGEsXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybSIsImNvbmZpZyIsImRhdGEiLCJmaWVsZHMiLCJyZWxhdGlvbnNoaXBzIiwibnVtYmVycyIsImNyZWF0ZVBhdGhNYXAiLCJfcmVscyIsIl9udW1iZXJzIiwiYmxvY2tzIiwiY3JlYXRlQmxvY2tzTWFwIiwicmVzdWx0IiwidHJhdmVyc2VGaWVsZHMiLCJkYXRhUmVmIiwiaWQiLCJmaWVsZFByZWZpeCIsInBhdGgiLCJ0YWJsZSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQWtCdkJBOzs7ZUFBQUE7OztpQ0FkbUI7dUNBQ0Y7Z0NBQ0M7QUFZeEIsTUFBTUEsWUFBWSxDQUF1QixFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFpQjtJQUNyRixJQUFJQyxnQkFBMkQsQ0FBQztJQUNoRSxJQUFJQyxVQUFxRCxDQUFDO0lBRTFELElBQUksV0FBV0gsTUFBTTtRQUNuQkUsZ0JBQWdCRSxJQUFBQSxvQ0FBYSxFQUFDSixLQUFLSyxLQUFLO1FBQ3hDLE9BQU9MLEtBQUtLLEtBQUs7SUFDbkI7SUFFQSxJQUFJLGNBQWNMLE1BQU07UUFDdEJHLFVBQVVDLElBQUFBLG9DQUFhLEVBQUNKLEtBQUtNLFFBQVE7UUFDckMsT0FBT04sS0FBS00sUUFBUTtJQUN0QjtJQUVBLE1BQU1DLFNBQVNDLElBQUFBLGdDQUFlLEVBQUNSO0lBRS9CLE1BQU1TLFNBQVNDLElBQUFBLDhCQUFjLEVBQUk7UUFDL0JIO1FBQ0FSO1FBQ0FZLFNBQVM7WUFDUEMsSUFBSVosS0FBS1ksRUFBRTtRQUNiO1FBQ0FDLGFBQWE7UUFDYlo7UUFDQUU7UUFDQVcsTUFBTTtRQUNOWjtRQUNBYSxPQUFPZjtJQUNUO0lBRUEsT0FBT1M7QUFDVCJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBjcmVhdGVCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuaW1wb3J0IHsgY3JlYXRlUGF0aE1hcCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jcmVhdGVSZWxhdGlvbnNoaXBNYXAnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgVHJhbnNmb3JtQXJncyA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmFsbGJhY2tMb2NhbGU/OiBmYWxzZSB8IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgbG9jYWxlPzogc3RyaW5nXG59XG5cbi8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IHRvIHRyYW5zZm9ybSBEcml6emxlIG91dHB1dCBkYXRhXG4vLyBpbnRvIHRoZSBzaGFwZSBQYXlsb2FkIGV4cGVjdHMgYmFzZWQgb24gZmllbGQgc2NoZW1hXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtID0gPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7IGNvbmZpZywgZGF0YSwgZmllbGRzIH06IFRyYW5zZm9ybUFyZ3MpOiBUID0+IHtcbiAgbGV0IHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cbiAgbGV0IG51bWJlcnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cblxuICBpZiAoJ19yZWxzJyBpbiBkYXRhKSB7XG4gICAgcmVsYXRpb25zaGlwcyA9IGNyZWF0ZVBhdGhNYXAoZGF0YS5fcmVscylcbiAgICBkZWxldGUgZGF0YS5fcmVsc1xuICB9XG5cbiAgaWYgKCdfbnVtYmVycycgaW4gZGF0YSkge1xuICAgIG51bWJlcnMgPSBjcmVhdGVQYXRoTWFwKGRhdGEuX251bWJlcnMpXG4gICAgZGVsZXRlIGRhdGEuX251bWJlcnNcbiAgfVxuXG4gIGNvbnN0IGJsb2NrcyA9IGNyZWF0ZUJsb2Nrc01hcChkYXRhKVxuICBjb25zdCBkZWxldGlvbnMgPSBbXVxuXG4gIGNvbnN0IHJlc3VsdCA9IHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICBibG9ja3MsXG4gICAgY29uZmlnLFxuICAgIGRhdGFSZWY6IHtcbiAgICAgIGlkOiBkYXRhLmlkLFxuICAgIH0sXG4gICAgZGVsZXRpb25zLFxuICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICBmaWVsZHMsXG4gICAgbnVtYmVycyxcbiAgICBwYXRoOiAnJyxcbiAgICByZWxhdGlvbnNoaXBzLFxuICAgIHRhYmxlOiBkYXRhLFxuICB9KVxuXG4gIGRlbGV0aW9ucy5mb3JFYWNoKChkZWxldGlvbikgPT4gZGVsZXRpb24oKSlcblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtIiwiY29uZmlnIiwiZGF0YSIsImZpZWxkcyIsInJlbGF0aW9uc2hpcHMiLCJudW1iZXJzIiwiY3JlYXRlUGF0aE1hcCIsIl9yZWxzIiwiX251bWJlcnMiLCJibG9ja3MiLCJjcmVhdGVCbG9ja3NNYXAiLCJkZWxldGlvbnMiLCJyZXN1bHQiLCJ0cmF2ZXJzZUZpZWxkcyIsImRhdGFSZWYiLCJpZCIsImZpZWxkUHJlZml4IiwicGF0aCIsInRhYmxlIiwiZm9yRWFjaCIsImRlbGV0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBa0J2QkE7OztlQUFBQTs7O2lDQWRtQjt1Q0FDRjtnQ0FDQztBQVl4QixNQUFNQSxZQUFZLENBQXVCLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQWlCO0lBQ3JGLElBQUlDLGdCQUEyRCxDQUFDO0lBQ2hFLElBQUlDLFVBQXFELENBQUM7SUFFMUQsSUFBSSxXQUFXSCxNQUFNO1FBQ25CRSxnQkFBZ0JFLElBQUFBLG9DQUFhLEVBQUNKLEtBQUtLLEtBQUs7UUFDeEMsT0FBT0wsS0FBS0ssS0FBSztJQUNuQjtJQUVBLElBQUksY0FBY0wsTUFBTTtRQUN0QkcsVUFBVUMsSUFBQUEsb0NBQWEsRUFBQ0osS0FBS00sUUFBUTtRQUNyQyxPQUFPTixLQUFLTSxRQUFRO0lBQ3RCO0lBRUEsTUFBTUMsU0FBU0MsSUFBQUEsZ0NBQWUsRUFBQ1I7SUFDL0IsTUFBTVMsWUFBWSxFQUFFO0lBRXBCLE1BQU1DLFNBQVNDLElBQUFBLDhCQUFjLEVBQUk7UUFDL0JKO1FBQ0FSO1FBQ0FhLFNBQVM7WUFDUEMsSUFBSWIsS0FBS2EsRUFBRTtRQUNiO1FBQ0FKO1FBQ0FLLGFBQWE7UUFDYmI7UUFDQUU7UUFDQVksTUFBTTtRQUNOYjtRQUNBYyxPQUFPaEI7SUFDVDtJQUVBUyxVQUFVUSxPQUFPLENBQUMsQ0FBQ0MsV0FBYUE7SUFFaEMsT0FBT1I7QUFDVCJ9
@@ -14,6 +14,10 @@ type TraverseFieldsArgs = {
14
14
  * The data reference to be mutated within this recursive function
15
15
  */
16
16
  dataRef: Record<string, unknown>;
17
+ /**
18
+ * Data that needs to be removed from the result after all fields have populated
19
+ */
20
+ deletions: (() => void)[];
17
21
  /**
18
22
  * Column prefix can be built up by group and named tab fields
19
23
  */
@@ -39,6 +43,6 @@ type TraverseFieldsArgs = {
39
43
  */
40
44
  table: Record<string, unknown>;
41
45
  };
42
- export declare const traverseFields: <T extends Record<string, unknown>>({ blocks, config, dataRef, fieldPrefix, fields, numbers, path, relationships, table, }: TraverseFieldsArgs) => T;
46
+ export declare const traverseFields: <T extends Record<string, unknown>>({ blocks, config, dataRef, deletions, fieldPrefix, fields, numbers, path, relationships, table, }: TraverseFieldsArgs) => T;
43
47
  export {};
44
48
  //# sourceMappingURL=traverseFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/read/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAKhE,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAA;IACjB;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IAClD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACxD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B,CAAA;AAID,eAAO,MAAM,cAAc,8HAUxB,kBAAkB,MA8WpB,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/read/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAKhE,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAA;IACjB;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IAClD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACxD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B,CAAA;AAID,eAAO,MAAM,cAAc,yIAWxB,kBAAkB,MAyYpB,CAAA"}