New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@briebug/ngrx-auto-entity

Package Overview
Dependencies
Maintainers
6
Versions
69
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@briebug/ngrx-auto-entity - npm Package Compare versions

Comparing version 0.4.1 to 0.4.2

2

esm2015/index.js

@@ -17,2 +17,2 @@ /**

export { NgrxAutoEntityModule, NgRxAutoEntityRootModuleWithEffects, NgRxAutoEntityRootModuleNoEntityEffects, NgRxAutoEntityRootModuleNoEffects, NgRxAutoEntityFeatureModule, getNgRxAutoEntityMetaReducer } from './lib/module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixXQUFXLEVBUVosTUFBTSxZQUFZLENBQUM7QUFjcEIsT0FBTyxFQUVMLFlBQVksRUFDWixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUd0QixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLElBQUksRUFDSixXQUFXLEVBQ1gsV0FBVyxFQUNYLE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFFBQVEsRUFDUixlQUFlLEVBQ2YsZUFBZSxFQUNmLFFBQVEsRUFDUixlQUFlLEVBQ2YsZUFBZSxFQUNmLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixhQUFhLEVBQ2IsTUFBTSxFQUNOLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixhQUFhLEVBQ2IsYUFBYSxFQUNiLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixhQUFhLEVBQ2IsYUFBYSxFQUNiLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixXQUFXLEVBQ1gsVUFBVSxFQUNWLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixZQUFZLEVBQ1osUUFBUSxFQUNSLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUlMLE1BQU0sRUFDTixHQUFHLEVBQ0gsS0FBSyxFQUNMLEtBQUssRUFDTCxJQUFJLEVBQ0osTUFBTSxFQUNOLFFBQVEsRUFDVCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQ0wscUJBQXFCLEVBVXRCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFDYixjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixZQUFZLEVBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG1DQUFtQyxFQUNuQyx1Q0FBdUMsRUFDdkMsaUNBQWlDLEVBQ2pDLDJCQUEyQixFQUUzQiw0QkFBNEIsRUFDN0IsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5ncngtYXV0by1lbnRpdHlcbiAqL1xuXG5leHBvcnQge1xuICBidWlsZEZlYXR1cmVTdGF0ZSxcbiAgYnVpbGRTdGF0ZSxcbiAgYnVpbGRTZWxlY3Rvck1hcCxcbiAgYnVpbGRGYWNhZGUsXG4gIElFbnRpdHlEaWN0aW9uYXJ5LFxuICBJRW50aXR5U3RhdGUsXG4gIElFbnRpdHlGYWNhZGUsXG4gIElNb2RlbFN0YXRlLFxuICBJU2VsZWN0b3JNYXAsXG4gIElNb2RlbENsYXNzLFxuICBFbnRpdHlJZGVudGl0eVxufSBmcm9tICcuL2xpYi91dGlsJztcblxuZXhwb3J0IHtcbiAgSVBhZ2UsXG4gIFBhZ2UsXG4gIElGaXJzdExhc3RSYW5nZSxcbiAgSVJhbmdlSW5mbyxcbiAgSVNraXBUYWtlUmFuZ2UsXG4gIElTdGFydEVuZFJhbmdlLFxuICBSYW5nZSxcbiAgUmFuZ2VWYWx1ZSxcbiAgSVBhZ2VJbmZvXG59IGZyb20gJy4vbGliL21vZGVscyc7XG5cbmV4cG9ydCB7XG4gIElDb3JyZWxhdGVkQWN0aW9uLFxuICBvZkVudGl0eVR5cGUsXG4gIG9mRW50aXR5QWN0aW9uLFxuICBmcm9tRW50aXR5QWN0aW9ucyxcbiAgaXNFbnRpdHlBY3Rpb25JbnN0YW5jZSxcbiAgSUVudGl0eUluZm8sXG4gIEVudGl0eUFjdGlvbnMsXG4gIEVudGl0eUFjdGlvbixcbiAgRW50aXR5QWN0aW9uVHlwZXMsXG4gIExvYWQsXG4gIExvYWRGYWlsdXJlLFxuICBMb2FkU3VjY2VzcyxcbiAgTG9hZEFsbCxcbiAgTG9hZEFsbEZhaWx1cmUsXG4gIExvYWRBbGxTdWNjZXNzLFxuICBMb2FkTWFueSxcbiAgTG9hZE1hbnlGYWlsdXJlLFxuICBMb2FkTWFueVN1Y2Nlc3MsXG4gIExvYWRQYWdlLFxuICBMb2FkUGFnZUZhaWx1cmUsXG4gIExvYWRQYWdlU3VjY2VzcyxcbiAgTG9hZFJhbmdlLFxuICBMb2FkUmFuZ2VGYWlsdXJlLFxuICBMb2FkUmFuZ2VTdWNjZXNzLFxuICBDcmVhdGVGYWlsdXJlLFxuICBDcmVhdGVTdWNjZXNzLFxuICBDcmVhdGUsXG4gIENyZWF0ZU1hbnksXG4gIENyZWF0ZU1hbnlGYWlsdXJlLFxuICBDcmVhdGVNYW55U3VjY2VzcyxcbiAgVXBkYXRlLFxuICBVcGRhdGVTdWNjZXNzLFxuICBVcGRhdGVGYWlsdXJlLFxuICBVcGRhdGVNYW55LFxuICBVcGRhdGVNYW55U3VjY2VzcyxcbiAgVXBkYXRlTWFueUZhaWx1cmUsXG4gIFJlcGxhY2UsXG4gIFJlcGxhY2VGYWlsdXJlLFxuICBSZXBsYWNlU3VjY2VzcyxcbiAgUmVwbGFjZU1hbnksXG4gIFJlcGxhY2VNYW55RmFpbHVyZSxcbiAgUmVwbGFjZU1hbnlTdWNjZXNzLFxuICBEZWxldGUsXG4gIERlbGV0ZUZhaWx1cmUsXG4gIERlbGV0ZVN1Y2Nlc3MsXG4gIERlbGV0ZUJ5S2V5LFxuICBEZWxldGVCeUtleUZhaWx1cmUsXG4gIERlbGV0ZUJ5S2V5U3VjY2VzcyxcbiAgRGVsZXRlTWFueSxcbiAgRGVsZXRlTWFueUZhaWx1cmUsXG4gIERlbGV0ZU1hbnlTdWNjZXNzLFxuICBEZWxldGVNYW55QnlLZXlzLFxuICBEZWxldGVNYW55QnlLZXlzRmFpbHVyZSxcbiAgRGVsZXRlTWFueUJ5S2V5c1N1Y2Nlc3MsXG4gIFNlbGVjdCxcbiAgU2VsZWN0QnlLZXksXG4gIFNlbGVjdE1hbnksXG4gIFNlbGVjdE1vcmUsXG4gIFNlbGVjdE1hbnlCeUtleXMsXG4gIFNlbGVjdE1vcmVCeUtleXMsXG4gIFNlbGVjdGVkLFxuICBTZWxlY3RlZE1hbnksXG4gIERlc2VsZWN0LFxuICBEZXNlbGVjdE1hbnksXG4gIERlc2VsZWN0TWFueUJ5S2V5cyxcbiAgRGVzZWxlY3RBbGwsXG4gIERlc2VsZWN0ZWQsXG4gIEVkaXQsXG4gIEVkaXRlZCxcbiAgQ2hhbmdlLFxuICBDaGFuZ2VkLFxuICBFbmRFZGl0LFxuICBFZGl0RW5kZWQsXG4gIENsZWFyXG59IGZyb20gJy4vbGliL2FjdGlvbnMnO1xuXG5leHBvcnQge1xuICBJRWZmZWN0RXhjbHVzaW9ucyxcbiAgSUVmZmVjdEV4Y2VwdCxcbiAgSUVudGl0eU9wdGlvbnMsXG4gIEVudGl0eSxcbiAgYWxsLFxuICBleHRyYSxcbiAgbG9hZHMsXG4gIGN1cmQsXG4gIGV4Y2VwdCxcbiAgbWF0Y2hpbmdcbn0gZnJvbSAnLi9saWIvZGVjb3JhdG9ycy9lbnRpdHknO1xuXG5leHBvcnQgeyBLZXksIGdldEtleSwgZ2V0S2V5RnJvbU1vZGVsLCBnZXRLZXlOYW1lcywgZ2V0S2V5TmFtZXNGcm9tTW9kZWwsIGNoZWNrS2V5TmFtZSB9IGZyb20gJy4vbGliL2RlY29yYXRvcnMva2V5JztcblxuZXhwb3J0IHsgRW50aXR5T3BlcmF0b3JzIH0gZnJvbSAnLi9saWIvb3BlcmF0b3JzJztcblxuZXhwb3J0IHsgYXV0b0VudGl0eVJlZHVjZXIsIGF1dG9FbnRpdHlNZXRhUmVkdWNlciwgc3RhdGVOYW1lRnJvbUFjdGlvbiB9IGZyb20gJy4vbGliL3JlZHVjZXInO1xuXG5leHBvcnQge1xuICBOZ3J4QXV0b0VudGl0eVNlcnZpY2UsXG4gIElFbnRpdHlXaXRoUmFuZ2VJbmZvLFxuICBJRW50aXR5V2l0aFBhZ2VJbmZvLFxuICBJRW50aXR5UmFuZ2VSZWYsXG4gIElFbnRpdHlQYWdlUmVmLFxuICBJRW50aXR5RXJyb3IsXG4gIElBdXRvRW50aXR5U2VydmljZSxcbiAgSUVudGl0eVJlZixcbiAgSUVudGl0eUlkZW50aXR5UmVmLFxuICBJRW50aXR5SWRlbnRpdGllc1JlZlxufSBmcm9tICcuL2xpYi9zZXJ2aWNlJztcblxuZXhwb3J0IHtcbiAgTG9hZEVmZmVjdHMsXG4gIExvYWRFZmZlY3QsXG4gIExvYWRBbGxFZmZlY3QsXG4gIExvYWRNYW55RWZmZWN0LFxuICBMb2FkUGFnZUVmZmVjdCxcbiAgTG9hZFJhbmdlRWZmZWN0LFxuICBDVURFZmZlY3RzLFxuICBDcmVhdGVFZmZlY3QsXG4gIENyZWF0ZU1hbnlFZmZlY3QsXG4gIFVwZGF0ZUVmZmVjdCxcbiAgVXBkYXRlTWFueUVmZmVjdCxcbiAgUmVwbGFjZUVmZmVjdCxcbiAgUmVwbGFjZU1hbnlFZmZlY3QsXG4gIERlbGV0ZUVmZmVjdCxcbiAgRGVsZXRlQnlLZXlFZmZlY3QsXG4gIERlbGV0ZU1hbnlFZmZlY3QsXG4gIERlbGV0ZU1hbnlCeUtleXNFZmZlY3QsXG4gIEVudGl0eUVmZmVjdHMsXG4gIEV4dHJhRWZmZWN0c1xufSBmcm9tICcuL2xpYi9lZmZlY3RzLmRlZmF1bHQnO1xuXG5leHBvcnQge1xuICBOZ3J4QXV0b0VudGl0eU1vZHVsZSxcbiAgTmdSeEF1dG9FbnRpdHlSb290TW9kdWxlV2l0aEVmZmVjdHMsXG4gIE5nUnhBdXRvRW50aXR5Um9vdE1vZHVsZU5vRW50aXR5RWZmZWN0cyxcbiAgTmdSeEF1dG9FbnRpdHlSb290TW9kdWxlTm9FZmZlY3RzLFxuICBOZ1J4QXV0b0VudGl0eUZlYXR1cmVNb2R1bGUsXG4gIE5nUnhBdXRvRW50aXR5TW9kdWxlQ29uZmlnLFxuICBnZXROZ1J4QXV0b0VudGl0eU1ldGFSZWR1Y2VyXG59IGZyb20gJy4vbGliL21vZHVsZSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixXQUFXLEVBUVosTUFBTSxZQUFZLENBQUM7QUFjcEIsT0FBTyxFQUVMLFlBQVksRUFDWixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUd0QixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLElBQUksRUFDSixXQUFXLEVBQ1gsV0FBVyxFQUNYLE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFFBQVEsRUFDUixlQUFlLEVBQ2YsZUFBZSxFQUNmLFFBQVEsRUFDUixlQUFlLEVBQ2YsZUFBZSxFQUNmLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixhQUFhLEVBQ2IsTUFBTSxFQUNOLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixhQUFhLEVBQ2IsYUFBYSxFQUNiLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixhQUFhLEVBQ2IsYUFBYSxFQUNiLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixXQUFXLEVBQ1gsVUFBVSxFQUNWLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixZQUFZLEVBQ1osUUFBUSxFQUNSLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUtMLE1BQU0sRUFDTixHQUFHLEVBQ0gsS0FBSyxFQUNMLEtBQUssRUFDTCxJQUFJLEVBQ0osTUFBTSxFQUNOLFFBQVEsRUFDVCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQ0wscUJBQXFCLEVBVXRCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFDYixjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixZQUFZLEVBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG1DQUFtQyxFQUNuQyx1Q0FBdUMsRUFDdkMsaUNBQWlDLEVBQ2pDLDJCQUEyQixFQUUzQiw0QkFBNEIsRUFDN0IsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5ncngtYXV0by1lbnRpdHlcbiAqL1xuXG5leHBvcnQge1xuICBidWlsZEZlYXR1cmVTdGF0ZSxcbiAgYnVpbGRTdGF0ZSxcbiAgYnVpbGRTZWxlY3Rvck1hcCxcbiAgYnVpbGRGYWNhZGUsXG4gIElFbnRpdHlEaWN0aW9uYXJ5LFxuICBJRW50aXR5U3RhdGUsXG4gIElFbnRpdHlGYWNhZGUsXG4gIElNb2RlbFN0YXRlLFxuICBJU2VsZWN0b3JNYXAsXG4gIElNb2RlbENsYXNzLFxuICBFbnRpdHlJZGVudGl0eVxufSBmcm9tICcuL2xpYi91dGlsJztcblxuZXhwb3J0IHtcbiAgSVBhZ2UsXG4gIFBhZ2UsXG4gIElGaXJzdExhc3RSYW5nZSxcbiAgSVJhbmdlSW5mbyxcbiAgSVNraXBUYWtlUmFuZ2UsXG4gIElTdGFydEVuZFJhbmdlLFxuICBSYW5nZSxcbiAgUmFuZ2VWYWx1ZSxcbiAgSVBhZ2VJbmZvXG59IGZyb20gJy4vbGliL21vZGVscyc7XG5cbmV4cG9ydCB7XG4gIElDb3JyZWxhdGVkQWN0aW9uLFxuICBvZkVudGl0eVR5cGUsXG4gIG9mRW50aXR5QWN0aW9uLFxuICBmcm9tRW50aXR5QWN0aW9ucyxcbiAgaXNFbnRpdHlBY3Rpb25JbnN0YW5jZSxcbiAgSUVudGl0eUluZm8sXG4gIEVudGl0eUFjdGlvbnMsXG4gIEVudGl0eUFjdGlvbixcbiAgRW50aXR5QWN0aW9uVHlwZXMsXG4gIExvYWQsXG4gIExvYWRGYWlsdXJlLFxuICBMb2FkU3VjY2VzcyxcbiAgTG9hZEFsbCxcbiAgTG9hZEFsbEZhaWx1cmUsXG4gIExvYWRBbGxTdWNjZXNzLFxuICBMb2FkTWFueSxcbiAgTG9hZE1hbnlGYWlsdXJlLFxuICBMb2FkTWFueVN1Y2Nlc3MsXG4gIExvYWRQYWdlLFxuICBMb2FkUGFnZUZhaWx1cmUsXG4gIExvYWRQYWdlU3VjY2VzcyxcbiAgTG9hZFJhbmdlLFxuICBMb2FkUmFuZ2VGYWlsdXJlLFxuICBMb2FkUmFuZ2VTdWNjZXNzLFxuICBDcmVhdGVGYWlsdXJlLFxuICBDcmVhdGVTdWNjZXNzLFxuICBDcmVhdGUsXG4gIENyZWF0ZU1hbnksXG4gIENyZWF0ZU1hbnlGYWlsdXJlLFxuICBDcmVhdGVNYW55U3VjY2VzcyxcbiAgVXBkYXRlLFxuICBVcGRhdGVTdWNjZXNzLFxuICBVcGRhdGVGYWlsdXJlLFxuICBVcGRhdGVNYW55LFxuICBVcGRhdGVNYW55U3VjY2VzcyxcbiAgVXBkYXRlTWFueUZhaWx1cmUsXG4gIFJlcGxhY2UsXG4gIFJlcGxhY2VGYWlsdXJlLFxuICBSZXBsYWNlU3VjY2VzcyxcbiAgUmVwbGFjZU1hbnksXG4gIFJlcGxhY2VNYW55RmFpbHVyZSxcbiAgUmVwbGFjZU1hbnlTdWNjZXNzLFxuICBEZWxldGUsXG4gIERlbGV0ZUZhaWx1cmUsXG4gIERlbGV0ZVN1Y2Nlc3MsXG4gIERlbGV0ZUJ5S2V5LFxuICBEZWxldGVCeUtleUZhaWx1cmUsXG4gIERlbGV0ZUJ5S2V5U3VjY2VzcyxcbiAgRGVsZXRlTWFueSxcbiAgRGVsZXRlTWFueUZhaWx1cmUsXG4gIERlbGV0ZU1hbnlTdWNjZXNzLFxuICBEZWxldGVNYW55QnlLZXlzLFxuICBEZWxldGVNYW55QnlLZXlzRmFpbHVyZSxcbiAgRGVsZXRlTWFueUJ5S2V5c1N1Y2Nlc3MsXG4gIFNlbGVjdCxcbiAgU2VsZWN0QnlLZXksXG4gIFNlbGVjdE1hbnksXG4gIFNlbGVjdE1vcmUsXG4gIFNlbGVjdE1hbnlCeUtleXMsXG4gIFNlbGVjdE1vcmVCeUtleXMsXG4gIFNlbGVjdGVkLFxuICBTZWxlY3RlZE1hbnksXG4gIERlc2VsZWN0LFxuICBEZXNlbGVjdE1hbnksXG4gIERlc2VsZWN0TWFueUJ5S2V5cyxcbiAgRGVzZWxlY3RBbGwsXG4gIERlc2VsZWN0ZWQsXG4gIEVkaXQsXG4gIEVkaXRlZCxcbiAgQ2hhbmdlLFxuICBDaGFuZ2VkLFxuICBFbmRFZGl0LFxuICBFZGl0RW5kZWQsXG4gIENsZWFyXG59IGZyb20gJy4vbGliL2FjdGlvbnMnO1xuXG5leHBvcnQge1xuICBJRWZmZWN0RXhjbHVzaW9ucyxcbiAgSUVmZmVjdEV4Y2VwdCxcbiAgSUVudGl0eU9wdGlvbnMsXG4gIElFbnRpdHlUcmFuc2Zvcm1lcixcbiAgRW50aXR5LFxuICBhbGwsXG4gIGV4dHJhLFxuICBsb2FkcyxcbiAgY3VyZCxcbiAgZXhjZXB0LFxuICBtYXRjaGluZ1xufSBmcm9tICcuL2xpYi9kZWNvcmF0b3JzL2VudGl0eSc7XG5cbmV4cG9ydCB7IEtleSwgZ2V0S2V5LCBnZXRLZXlGcm9tTW9kZWwsIGdldEtleU5hbWVzLCBnZXRLZXlOYW1lc0Zyb21Nb2RlbCwgY2hlY2tLZXlOYW1lIH0gZnJvbSAnLi9saWIvZGVjb3JhdG9ycy9rZXknO1xuXG5leHBvcnQgeyBFbnRpdHlPcGVyYXRvcnMgfSBmcm9tICcuL2xpYi9vcGVyYXRvcnMnO1xuXG5leHBvcnQgeyBhdXRvRW50aXR5UmVkdWNlciwgYXV0b0VudGl0eU1ldGFSZWR1Y2VyLCBzdGF0ZU5hbWVGcm9tQWN0aW9uIH0gZnJvbSAnLi9saWIvcmVkdWNlcic7XG5cbmV4cG9ydCB7XG4gIE5ncnhBdXRvRW50aXR5U2VydmljZSxcbiAgSUVudGl0eVdpdGhSYW5nZUluZm8sXG4gIElFbnRpdHlXaXRoUGFnZUluZm8sXG4gIElFbnRpdHlSYW5nZVJlZixcbiAgSUVudGl0eVBhZ2VSZWYsXG4gIElFbnRpdHlFcnJvcixcbiAgSUF1dG9FbnRpdHlTZXJ2aWNlLFxuICBJRW50aXR5UmVmLFxuICBJRW50aXR5SWRlbnRpdHlSZWYsXG4gIElFbnRpdHlJZGVudGl0aWVzUmVmXG59IGZyb20gJy4vbGliL3NlcnZpY2UnO1xuXG5leHBvcnQge1xuICBMb2FkRWZmZWN0cyxcbiAgTG9hZEVmZmVjdCxcbiAgTG9hZEFsbEVmZmVjdCxcbiAgTG9hZE1hbnlFZmZlY3QsXG4gIExvYWRQYWdlRWZmZWN0LFxuICBMb2FkUmFuZ2VFZmZlY3QsXG4gIENVREVmZmVjdHMsXG4gIENyZWF0ZUVmZmVjdCxcbiAgQ3JlYXRlTWFueUVmZmVjdCxcbiAgVXBkYXRlRWZmZWN0LFxuICBVcGRhdGVNYW55RWZmZWN0LFxuICBSZXBsYWNlRWZmZWN0LFxuICBSZXBsYWNlTWFueUVmZmVjdCxcbiAgRGVsZXRlRWZmZWN0LFxuICBEZWxldGVCeUtleUVmZmVjdCxcbiAgRGVsZXRlTWFueUVmZmVjdCxcbiAgRGVsZXRlTWFueUJ5S2V5c0VmZmVjdCxcbiAgRW50aXR5RWZmZWN0cyxcbiAgRXh0cmFFZmZlY3RzXG59IGZyb20gJy4vbGliL2VmZmVjdHMuZGVmYXVsdCc7XG5cbmV4cG9ydCB7XG4gIE5ncnhBdXRvRW50aXR5TW9kdWxlLFxuICBOZ1J4QXV0b0VudGl0eVJvb3RNb2R1bGVXaXRoRWZmZWN0cyxcbiAgTmdSeEF1dG9FbnRpdHlSb290TW9kdWxlTm9FbnRpdHlFZmZlY3RzLFxuICBOZ1J4QXV0b0VudGl0eVJvb3RNb2R1bGVOb0VmZmVjdHMsXG4gIE5nUnhBdXRvRW50aXR5RmVhdHVyZU1vZHVsZSxcbiAgTmdSeEF1dG9FbnRpdHlNb2R1bGVDb25maWcsXG4gIGdldE5nUnhBdXRvRW50aXR5TWV0YVJlZHVjZXJcbn0gZnJvbSAnLi9saWIvbW9kdWxlJztcbiJdfQ==

@@ -19,2 +19,12 @@ /**

*/
export function IEntityTransformer() { }
if (false) {
/** @type {?|undefined} */
IEntityTransformer.prototype.fromServer;
/** @type {?|undefined} */
IEntityTransformer.prototype.toServer;
}
/**
* @record
*/
export function IEntityOptions() { }

@@ -31,2 +41,4 @@ if (false) {

/** @type {?|undefined} */
IEntityOptions.prototype.transform;
/** @type {?|undefined} */
IEntityOptions.prototype.excludeEffects;

@@ -134,2 +146,2 @@ }

({ actionType, info }) => !((info.modelType[ENTITY_OPTS_PROP] || {}).excludeEffects || {})[actionType])))));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9kZWNvcmF0b3JzL2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFNbkQsbUNBRUM7OztJQURDLCtCQUFnRTs7Ozs7QUFHbEUsb0NBTUM7OztJQUxDLG1DQUFrQjs7SUFDbEIsaUNBQWlCOztJQUNqQixvQ0FBb0I7O0lBQ3BCLGtDQUE0Qjs7SUFDNUIsd0NBQW1EOzs7TUFHL0MsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM1QyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUk7SUFDaEMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJO0lBQ3BDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSTtJQUNyQyxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSTtJQUMxQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUk7SUFDbEMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJO0lBQ3RDLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsRUFBRSxJQUFJO0lBQzVDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSTtJQUNyQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUk7Q0FDaEMsQ0FBQzs7TUFFSSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzNDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxD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QUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFakUsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7QUFFRCxNQUFNLE9BQU8saUJBQWlCOzs7O0FBQUcsR0FBaUQsRUFBRTs7OztBQUFDLENBQUMsTUFBMkIsRUFBRSxFQUFFLENBQ25ILE1BQU0sQ0FBQyxJQUFJLENBQ1QsTUFBTTs7OztBQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUMsQ0FDL0csQ0FBQSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRW50aXR5QWN0aW9uLCBFbnRpdHlBY3Rpb25UeXBlcyB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgRU5USVRZX09QVFNfUFJPUCB9IGZyb20gJy4vZW50aXR5LXRva2Vucyc7XG5cbmV4cG9ydCB0eXBlIElFZmZlY3RFeGNsdXNpb25zID0ge1xuICByZWFkb25seSBbYWN0aW9uIGluIGFueSB8IEVudGl0eUFjdGlvblR5cGVzXTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVmZmVjdEV4Y2VwdCB7XG4gIGV4Y2VwdD86ICguLi5hY3Rpb25zOiBFbnRpdHlBY3Rpb25UeXBlc1tdKSA9PiBJRWZmZWN0RXhjbHVzaW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5T3B0aW9ucyB7XG4gIG1vZGVsTmFtZTogc3RyaW5nO1xuICB1cmlOYW1lPzogc3RyaW5nO1xuICBwbHVyYWxOYW1lPzogc3RyaW5nO1xuICBjb21wYXJlcj86IChhLCBiKSA9PiBudW1iZXI7XG4gIGV4Y2x1ZGVFZmZlY3RzPzogSUVmZmVjdEV4Y2x1c2lvbnMgfCBJRWZmZWN0RXhjZXB0O1xufVxuXG5jb25zdCBFWFRSQV9FRkZFQ1RTX0VYQ0xVU0lPTiA9IE9iamVjdC5mcmVlemUoe1xuICBbRW50aXR5QWN0aW9uVHlwZXMuU2VsZWN0XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlNlbGVjdE1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuU2VsZWN0QnlLZXldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuU2VsZWN0TWFueUJ5S2V5c106IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZXNlbGVjdF06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZXNlbGVjdE1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVzZWxlY3RNYW55QnlLZXlzXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlc2VsZWN0QWxsXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkNsZWFyXTogdHJ1ZVxufSk7XG5cbmNvbnN0IENVUkRfRUZGRUNUU19FWENMVVNJT04gPSBPYmplY3QuZnJlZXplKHtcbiAgW0VudGl0eUFjdGlvblR5cGVzLkNyZWF0ZV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5DcmVhdGVNYW55XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlVwZGF0ZV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5VcGRhdGVNYW55XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlJlcGxhY2VdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuUmVwbGFjZU1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVsZXRlXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlbGV0ZU1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVsZXRlQnlLZXldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVsZXRlTWFueUJ5S2V5c106IHRydWVcbn0pO1xuXG5jb25zdCBMT0FEX0VGRkVDVFNfRVhDTFVTSU9OID0gT2JqZWN0LmZyZWV6ZSh7XG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5Mb2FkXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkxvYWRBbGxdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuTG9hZE1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuTG9hZFBhZ2VdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuTG9hZFJhbmdlXTogdHJ1ZVxufSk7XG5cbmNvbnN0IEFMTF9FRkZFQ1RTX0VYQ0xVU0lPTiA9IE9iamVjdC5mcmVlemUoe1xuICAuLi5MT0FEX0VGRkVDVFNfRVhDTFVTSU9OLFxuICAuLi5DVVJEX0VGRkVDVFNfRVhDTFVTSU9OLFxuICAuLi5FWFRSQV9FRkZFQ1RTX0VYQ0xVU0lPTlxufSk7XG5cbmV4cG9ydCBjb25zdCBleGNlcHQgPSAoZWZmZWN0cz8pID0+ICguLi5hY3Rpb25zOiBFbnRpdHlBY3Rpb25UeXBlc1tdKTogSUVmZmVjdEV4Y2x1c2lvbnMgPT4gKHtcbiAgLi4uKGVmZmVjdHMgfHwge30pLFxuICAuLi5hY3Rpb25zLnJlZHVjZSgoYWNjLCBhY3Rpb24pID0+ICh7IC4uLmFjYywgW2FjdGlvbl06IGZhbHNlIH0pLCB7fSlcbn0pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hpbmcgPSAoLi4uYWN0aW9uczogRW50aXR5QWN0aW9uVHlwZXNbXSk6IElFZmZlY3RFeGNsdXNpb25zID0+ICh7XG4gIC4uLmFjdGlvbnMucmVkdWNlKChhY2MsIGFjdGlvbikgPT4gKHsgLi4uYWNjLCBbYWN0aW9uXTogdHJ1ZSB9KSwge30pXG59KTtcblxuZXhwb3J0IGNvbnN0IGFsbCA9IE9iamVjdC5mcmVlemUoe1xuICAuLi5BTExfRUZGRUNUU19FWENMVVNJT04sXG4gIGV4Y2VwdDogZXhjZXB0KEFMTF9FRkZFQ1RTX0VYQ0xVU0lPTilcbn0pO1xuXG5leHBvcnQgY29uc3QgZXh0cmEgPSBPYmplY3QuZnJlZXplKHtcbiAgLi4uRVhUUkFfRUZGRUNUU19FWENMVVNJT04sXG4gIGV4Y2VwdDogZXhjZXB0KEVYVFJBX0VGRkVDVFNfRVhDTFVTSU9OKVxufSk7XG5cbmV4cG9ydCBjb25zdCBsb2FkcyA9IE9iamVjdC5mcmVlemUoe1xuICAuLi5MT0FEX0VGRkVDVFNfRVhDTFVTSU9OLFxuICBleGNlcHQ6IGV4Y2VwdChMT0FEX0VGRkVDVFNfRVhDTFVTSU9OKVxufSk7XG5cbmV4cG9ydCBjb25zdCBjdXJkID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC4uLkNVUkRfRUZGRUNUU19FWENMVVNJT04sXG4gIGV4Y2VwdDogZXhjZXB0KENVUkRfRUZGRUNUU19FWENMVVNJT04pXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIEVudGl0eShvcHRpb25zOiBJRW50aXR5T3B0aW9ucykge1xuICByZXR1cm4gZnVuY3Rpb24gZW50aXR5RGVjb3JhdG9yKGNvbnN0cnVjdG9yOiBhbnkpIHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBkZXNjcmlwdG9yLnZhbHVlID0gb3B0aW9ucztcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29uc3RydWN0b3IsIEVOVElUWV9PUFRTX1BST1AsIGRlc2NyaXB0b3IpO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3Qgc2hvdWxkQXBwbHlFZmZlY3QgPSA8VE1vZGVsLCBUQWN0aW9uIGV4dGVuZHMgRW50aXR5QWN0aW9uPFRNb2RlbD4+KCkgPT4gKHNvdXJjZTogT2JzZXJ2YWJsZTxUQWN0aW9uPikgPT5cbiAgc291cmNlLnBpcGUoXG4gICAgZmlsdGVyKCh7IGFjdGlvblR5cGUsIGluZm8gfSkgPT4gISgoaW5mby5tb2RlbFR5cGVbRU5USVRZX09QVFNfUFJPUF0gfHwge30pLmV4Y2x1ZGVFZmZlY3RzIHx8IHt9KVthY3Rpb25UeXBlXSlcbiAgKTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9kZWNvcmF0b3JzL2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFNbkQsbUNBRUM7OztJQURDLCtCQUFnRTs7Ozs7QUFHbEUsd0NBR0M7OztJQUZDLHdDQUFnQzs7SUFDaEMsc0NBQWdDOzs7OztBQUdsQyxvQ0FPQzs7O0lBTkMsbUNBQWtCOztJQUNsQixpQ0FBaUI7O0lBQ2pCLG9DQUFvQjs7SUFDcEIsa0NBQTRCOztJQUM1QixtQ0FBaUM7O0lBQ2pDLHdDQUFtRDs7O01BRy9DLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJO0lBQ2hDLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSTtJQUNwQyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUk7SUFDckMsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUk7SUFDMUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO0lBQ2xDLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSTtJQUN0QyxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSTtJQUM1QyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUk7SUFDckMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJO0NBQ2hDLENBQUM7O01BRUksc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUk7SUFDaEMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJO0lBQ3BDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSTtJQUNoQyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUk7SUFDcEMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJO0lBQ2pDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSTtJQUNyQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUk7SUFDaEMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJO0lBQ3BDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSTtJQUNyQyxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSTtDQUMzQyxDQUFDOztNQUVJLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDM0MsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJO0lBQzlCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSTtJQUNqQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUk7SUFDbEMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO0lBQ2xDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSTtDQUNwQyxDQUFDOztNQUVJLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxNQUFNLG1CQUN0QyxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUMxQjs7QUFFRixNQUFNLE9BQU8sTUFBTTs7OztBQUFHLENBQUMsT0FBUSxFQUFFLEVBQUU7Ozs7QUFBQyxDQUFDLEdBQUcsT0FBNEIsRUFBcUIsRUFBRSxDQUFDLG1CQUN2RixDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFDZixPQUFPLENBQUMsTUFBTTs7Ozs7QUFBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLG1CQUFNLEdBQUcsSUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssSUFBRyxHQUFFLEVBQUUsQ0FBQyxFQUNyRSxDQUFBLENBQUE7O0FBRUYsTUFBTSxPQUFPLFFBQVE7Ozs7QUFBRyxDQUFDLEdBQUcsT0FBNEIsRUFBcUIsRUFBRSxDQUFDLG1CQUMzRSxPQUFPLENBQUMsTUFBTTs7Ozs7QUFBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLG1CQUFNLEdBQUcsSUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksSUFBRyxHQUFFLEVBQUUsQ0FBQyxFQUNwRSxDQUFBOztBQUVGLE1BQU0sT0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sbUJBQzNCLHFCQUFxQixJQUN4QixNQUFNLEVBQUUsTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQ3JDOztBQUVGLE1BQU0sT0FBTyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sbUJBQzdCLHVCQUF1QixJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQ3ZDOztBQUVGLE1BQU0sT0FBTyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sbUJBQzdCLHNCQUFzQixJQUN6QixNQUFNLEVBQUUsTUFBTSxDQUFDLHNCQUFzQixDQUFDLElBQ3RDOztBQUVGLE1BQU0sT0FBTyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sbUJBQzVCLHNCQUFzQixJQUN6QixNQUFNLEVBQUUsTUFBTSxDQUFDLHNCQUFzQixDQUFDLElBQ3RDOzs7OztBQUVGLE1BQU0sVUFBVSxNQUFNLENBQUMsT0FBdUI7SUFDNUM7Ozs7SUFBTyxTQUFTLGVBQWUsQ0FBQyxXQUFnQjs7Y0FDeEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3RDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWpFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUMsRUFBQztBQUNKLENBQUM7O0FBRUQsTUFBTSxPQUFPLGlCQUFpQjs7OztBQUFHLEdBQWlELEVBQUU7Ozs7QUFBQyxDQUFDLE1BQTJCLEVBQUUsRUFBRSxDQUNuSCxNQUFNLENBQUMsSUFBSSxDQUNULE1BQU07Ozs7QUFBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFDLENBQy9HLENBQUEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVudGl0eUFjdGlvbiwgRW50aXR5QWN0aW9uVHlwZXMgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IEVOVElUWV9PUFRTX1BST1AgfSBmcm9tICcuL2VudGl0eS10b2tlbnMnO1xuXG5leHBvcnQgdHlwZSBJRWZmZWN0RXhjbHVzaW9ucyA9IHtcbiAgcmVhZG9ubHkgW2FjdGlvbiBpbiBhbnkgfCBFbnRpdHlBY3Rpb25UeXBlc106IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElFZmZlY3RFeGNlcHQge1xuICBleGNlcHQ/OiAoLi4uYWN0aW9uczogRW50aXR5QWN0aW9uVHlwZXNbXSkgPT4gSUVmZmVjdEV4Y2x1c2lvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eVRyYW5zZm9ybWVyIHtcbiAgZnJvbVNlcnZlcj86IChkYXRhOiBhbnkpID0+IGFueTtcbiAgdG9TZXJ2ZXI/OiAoZW50aXR5OiBhbnkpID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5T3B0aW9ucyB7XG4gIG1vZGVsTmFtZTogc3RyaW5nO1xuICB1cmlOYW1lPzogc3RyaW5nO1xuICBwbHVyYWxOYW1lPzogc3RyaW5nO1xuICBjb21wYXJlcj86IChhLCBiKSA9PiBudW1iZXI7XG4gIHRyYW5zZm9ybT86IElFbnRpdHlUcmFuc2Zvcm1lcltdO1xuICBleGNsdWRlRWZmZWN0cz86IElFZmZlY3RFeGNsdXNpb25zIHwgSUVmZmVjdEV4Y2VwdDtcbn1cblxuY29uc3QgRVhUUkFfRUZGRUNUU19FWENMVVNJT04gPSBPYmplY3QuZnJlZXplKHtcbiAgW0VudGl0eUFjdGlvblR5cGVzLlNlbGVjdF06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5TZWxlY3RNYW55XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlNlbGVjdEJ5S2V5XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlNlbGVjdE1hbnlCeUtleXNdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVzZWxlY3RdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVzZWxlY3RNYW55XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlc2VsZWN0TWFueUJ5S2V5c106IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZXNlbGVjdEFsbF06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5DbGVhcl06IHRydWVcbn0pO1xuXG5jb25zdCBDVVJEX0VGRkVDVFNfRVhDTFVTSU9OID0gT2JqZWN0LmZyZWV6ZSh7XG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5DcmVhdGVdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuQ3JlYXRlTWFueV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5VcGRhdGVdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuVXBkYXRlTWFueV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5SZXBsYWNlXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlJlcGxhY2VNYW55XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlbGV0ZV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZWxldGVNYW55XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlbGV0ZUJ5S2V5XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlbGV0ZU1hbnlCeUtleXNdOiB0cnVlXG59KTtcblxuY29uc3QgTE9BRF9FRkZFQ1RTX0VYQ0xVU0lPTiA9IE9iamVjdC5mcmVlemUoe1xuICBbRW50aXR5QWN0aW9uVHlwZXMuTG9hZF06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5Mb2FkQWxsXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkxvYWRNYW55XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkxvYWRQYWdlXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkxvYWRSYW5nZV06IHRydWVcbn0pO1xuXG5jb25zdCBBTExfRUZGRUNUU19FWENMVVNJT04gPSBPYmplY3QuZnJlZXplKHtcbiAgLi4uTE9BRF9FRkZFQ1RTX0VYQ0xVU0lPTixcbiAgLi4uQ1VSRF9FRkZFQ1RTX0VYQ0xVU0lPTixcbiAgLi4uRVhUUkFfRUZGRUNUU19FWENMVVNJT05cbn0pO1xuXG5leHBvcnQgY29uc3QgZXhjZXB0ID0gKGVmZmVjdHM/KSA9PiAoLi4uYWN0aW9uczogRW50aXR5QWN0aW9uVHlwZXNbXSk6IElFZmZlY3RFeGNsdXNpb25zID0+ICh7XG4gIC4uLihlZmZlY3RzIHx8IHt9KSxcbiAgLi4uYWN0aW9ucy5yZWR1Y2UoKGFjYywgYWN0aW9uKSA9PiAoeyAuLi5hY2MsIFthY3Rpb25dOiBmYWxzZSB9KSwge30pXG59KTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoaW5nID0gKC4uLmFjdGlvbnM6IEVudGl0eUFjdGlvblR5cGVzW10pOiBJRWZmZWN0RXhjbHVzaW9ucyA9PiAoe1xuICAuLi5hY3Rpb25zLnJlZHVjZSgoYWNjLCBhY3Rpb24pID0+ICh7IC4uLmFjYywgW2FjdGlvbl06IHRydWUgfSksIHt9KVxufSk7XG5cbmV4cG9ydCBjb25zdCBhbGwgPSBPYmplY3QuZnJlZXplKHtcbiAgLi4uQUxMX0VGRkVDVFNfRVhDTFVTSU9OLFxuICBleGNlcHQ6IGV4Y2VwdChBTExfRUZGRUNUU19FWENMVVNJT04pXG59KTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC4uLkVYVFJBX0VGRkVDVFNfRVhDTFVTSU9OLFxuICBleGNlcHQ6IGV4Y2VwdChFWFRSQV9FRkZFQ1RTX0VYQ0xVU0lPTilcbn0pO1xuXG5leHBvcnQgY29uc3QgbG9hZHMgPSBPYmplY3QuZnJlZXplKHtcbiAgLi4uTE9BRF9FRkZFQ1RTX0VYQ0xVU0lPTixcbiAgZXhjZXB0OiBleGNlcHQoTE9BRF9FRkZFQ1RTX0VYQ0xVU0lPTilcbn0pO1xuXG5leHBvcnQgY29uc3QgY3VyZCA9IE9iamVjdC5mcmVlemUoe1xuICAuLi5DVVJEX0VGRkVDVFNfRVhDTFVTSU9OLFxuICBleGNlcHQ6IGV4Y2VwdChDVVJEX0VGRkVDVFNfRVhDTFVTSU9OKVxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBFbnRpdHkob3B0aW9uczogSUVudGl0eU9wdGlvbnMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGVudGl0eURlY29yYXRvcihjb25zdHJ1Y3RvcjogYW55KSB7XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgZGVzY3JpcHRvci52YWx1ZSA9IG9wdGlvbnM7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnN0cnVjdG9yLCBFTlRJVFlfT1BUU19QUk9QLCBkZXNjcmlwdG9yKTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHNob3VsZEFwcGx5RWZmZWN0ID0gPFRNb2RlbCwgVEFjdGlvbiBleHRlbmRzIEVudGl0eUFjdGlvbjxUTW9kZWw+PigpID0+IChzb3VyY2U6IE9ic2VydmFibGU8VEFjdGlvbj4pID0+XG4gIHNvdXJjZS5waXBlKFxuICAgIGZpbHRlcigoeyBhY3Rpb25UeXBlLCBpbmZvIH0pID0+ICEoKGluZm8ubW9kZWxUeXBlW0VOVElUWV9PUFRTX1BST1BdIHx8IHt9KS5leGNsdWRlRWZmZWN0cyB8fCB7fSlbYWN0aW9uVHlwZV0pXG4gICk7XG4iXX0=

@@ -136,5 +136,6 @@ /**

* @param {?=} criteria
* @param {?=} originalEntity
* @return {?}
*/
IAutoEntityService.prototype.create = function (entityInfo, entity, criteria) { };
IAutoEntityService.prototype.create = function (entityInfo, entity, criteria, originalEntity) { };
/**

@@ -144,5 +145,6 @@ * @param {?} entityInfo

* @param {?=} criteria
* @param {?=} originalEntities
* @return {?}
*/
IAutoEntityService.prototype.createMany = function (entityInfo, entities, criteria) { };
IAutoEntityService.prototype.createMany = function (entityInfo, entities, criteria, originalEntities) { };
/**

@@ -152,5 +154,6 @@ * @param {?} entityInfo

* @param {?=} criteria
* @param {?=} originalEntity
* @return {?}
*/
IAutoEntityService.prototype.update = function (entityInfo, entity, criteria) { };
IAutoEntityService.prototype.update = function (entityInfo, entity, criteria, originalEntity) { };
/**

@@ -160,5 +163,6 @@ * @param {?} entityInfo

* @param {?=} criteria
* @param {?=} originalEntities
* @return {?}
*/
IAutoEntityService.prototype.updateMany = function (entityInfo, entities, criteria) { };
IAutoEntityService.prototype.updateMany = function (entityInfo, entities, criteria, originalEntities) { };
/**

@@ -168,5 +172,6 @@ * @param {?} entityInfo

* @param {?=} criteria
* @param {?=} originalEntity
* @return {?}
*/
IAutoEntityService.prototype.replace = function (entityInfo, entity, criteria) { };
IAutoEntityService.prototype.replace = function (entityInfo, entity, criteria, originalEntity) { };
/**

@@ -176,5 +181,6 @@ * @param {?} entityInfo

* @param {?=} criteria
* @param {?=} originalEntities
* @return {?}
*/
IAutoEntityService.prototype.replaceMany = function (entityInfo, entities, criteria) { };
IAutoEntityService.prototype.replaceMany = function (entityInfo, entities, criteria, originalEntities) { };
/**

@@ -184,5 +190,6 @@ * @param {?} entityInfo

* @param {?=} criteria
* @param {?=} originalEntity
* @return {?}
*/
IAutoEntityService.prototype.delete = function (entityInfo, entity, criteria) { };
IAutoEntityService.prototype.delete = function (entityInfo, entity, criteria, originalEntity) { };
/**

@@ -192,5 +199,6 @@ * @param {?} entityInfo

* @param {?=} criteria
* @param {?=} originalEntities
* @return {?}
*/
IAutoEntityService.prototype.deleteMany = function (entityInfo, entities, criteria) { };
IAutoEntityService.prototype.deleteMany = function (entityInfo, entities, criteria, originalEntities) { };
/**

@@ -351,2 +359,152 @@ * @param {?} entityInfo

(first, rest) => [first, ...rest]);
/** @type {?} */
const FROM = 'fromServer';
/** @type {?} */
const TO = 'toServer';
/** @type {?} */
export const getTransforms = (/**
* @param {?} transform
* @param {?} prop
* @return {?}
*/
(transform, prop) => !!transform && !!transform.length ? transform.filter((/**
* @param {?} tx
* @return {?}
*/
tx => !!tx[prop])).map((/**
* @param {?} tx
* @return {?}
*/
tx => tx[prop])) : [(/**
* @param {?} value
* @return {?}
*/
value => value)]);
/** @type {?} */
export const applyTransforms = (/**
* @param {?} transforms
* @return {?}
*/
(transforms) => (/**
* @param {?} originalEntity
* @return {?}
*/
(originalEntity) => transforms.reduce((/**
* @param {?} entity
* @param {?} transform
* @return {?}
*/
(entity, transform) => {
return transform(entity);
}), Object.assign({}, originalEntity))));
/** @type {?} */
export const transformFromServer = (/**
* @template TModel
* @param {?} entityInfo
* @return {?}
*/
(entityInfo) => (/**
* @param {?} entityRef
* @return {?}
*/
(entityRef) => (Object.assign({}, entityRef, { entity: (/** @type {?} */ (applyTransforms(getTransforms(entityInfo.transform, FROM))(entityRef.entity))) }))));
/** @type {?} */
export const transformSetFromServer = (/**
* @template TModel
* @param {?} entityInfo
* @return {?}
*/
(entityInfo) => (/**
* @param {?} entityRef
* @return {?}
*/
(entityRef) => {
/** @type {?} */
const transforms = getTransforms(entityInfo.transform, FROM);
return Object.assign({}, entityRef, { entity: entityRef.entity.map(applyTransforms(transforms)) });
}));
/** @type {?} */
export const transformPageFromServer = (/**
* @template TModel
* @param {?} entityInfo
* @return {?}
*/
(entityInfo) => (/**
* @param {?} entityRef
* @return {?}
*/
(entityRef) => {
/** @type {?} */
const transforms = getTransforms(entityInfo.transform, FROM);
return Object.assign({}, entityRef, { entity: entityRef.entity.map(applyTransforms(transforms)) });
}));
/** @type {?} */
export const transformRangeFromServer = (/**
* @template TModel
* @param {?} entityInfo
* @return {?}
*/
(entityInfo) => (/**
* @param {?} entityRef
* @return {?}
*/
(entityRef) => {
/** @type {?} */
const transforms = getTransforms(entityInfo.transform, FROM);
return Object.assign({}, entityRef, { entity: entityRef.entity.map(applyTransforms(transforms)) });
}));
/** @type {?} */
export const transformSingleFromServer = (/**
* @template TModel
* @param {?} entityInfo
* @return {?}
*/
(entityInfo) => (/**
* @param {?} entity
* @return {?}
*/
(entity) => {
return applyTransforms(getTransforms(entityInfo.transform, FROM))(entity);
}));
/** @type {?} */
export const transformArrayFromServer = (/**
* @template TModel
* @param {?} entityInfo
* @return {?}
*/
(entityInfo) => (/**
* @param {?} entities
* @return {?}
*/
(entities) => {
/** @type {?} */
const transforms = getTransforms(entityInfo.transform, FROM);
return entities.map(applyTransforms(transforms));
}));
/** @type {?} */
export const transformToServer = (/**
* @template TModel
* @param {?} entityInfo
* @return {?}
*/
(entityInfo) => (/**
* @param {?} originalEntity
* @return {?}
*/
(originalEntity) => applyTransforms(getTransforms(entityInfo.transform, TO))(originalEntity)));
/** @type {?} */
export const transformSetToServer = (/**
* @template TModel
* @param {?} entityInfo
* @return {?}
*/
(entityInfo) => (/**
* @param {?} entities
* @return {?}
*/
(entities) => {
/** @type {?} */
const transforms = getTransforms(entityInfo.transform, TO);
return entities.map(applyTransforms(transforms));
}));
/**

@@ -386,3 +544,3 @@ * Looks up client-provided entity service class using Angular's injector and this package's naming

*/
entity => ({ info: entityInfo, entity })));
entity => ({ info: entityInfo, entity }))).pipe(map(transformFromServer(entityInfo)));
}

@@ -404,3 +562,3 @@ /**

*/
entities => ({ info: entityInfo, entity: entities })));
entities => ({ info: entityInfo, entity: entities }))).pipe(map(transformSetFromServer(entityInfo)));
}

@@ -422,3 +580,3 @@ /**

*/
entities => ({ info: entityInfo, entity: entities })));
entities => ({ info: entityInfo, entity: entities }))).pipe(map(transformSetFromServer(entityInfo)));
}

@@ -445,3 +603,3 @@ /**

entity: result.entities
})));
}))).pipe(map(transformPageFromServer(entityInfo)));
}

@@ -468,3 +626,3 @@ /**

entity: result.entities
})));
}))).pipe(map(transformRangeFromServer(entityInfo)));
}

@@ -479,2 +637,4 @@ /**

create(entityInfo, entity, criteria) {
/** @type {?} */
const transformed = transformToServer(entityInfo)(entity);
return callService('create', entityInfo, this.injector, (/**

@@ -484,7 +644,7 @@ * @param {?} service

*/
service => service.create(entityInfo, entity, criteria)), (/**
service => service.create(entityInfo, transformed, criteria, entity)), (/**
* @param {?} created
* @return {?}
*/
created => ({ info: entityInfo, entity: created })));
created => ({ info: entityInfo, entity: (/** @type {?} */ (transformSingleFromServer(entityInfo)(created))) })));
}

@@ -499,2 +659,4 @@ /**

createMany(entityInfo, entities, criteria) {
/** @type {?} */
const transformed = transformSetToServer(entityInfo)(entities);
return callService('createMany', entityInfo, this.injector, (/**

@@ -504,7 +666,7 @@ * @param {?} service

*/
service => service.createMany(entityInfo, entities, criteria)), (/**
service => service.createMany(entityInfo, transformed, criteria, entities)), (/**
* @param {?} created
* @return {?}
*/
created => ({ info: entityInfo, entity: created })));
created => ({ info: entityInfo, entity: (/** @type {?} */ (transformArrayFromServer(entityInfo)(created))) })));
}

@@ -519,2 +681,4 @@ /**

update(entityInfo, entity, criteria) {
/** @type {?} */
const transformed = transformToServer(entityInfo)(entity);
return callService('update', entityInfo, this.injector, (/**

@@ -524,7 +688,7 @@ * @param {?} service

*/
service => service.update(entityInfo, entity, criteria)), (/**
service => service.update(entityInfo, transformed, criteria, entity)), (/**
* @param {?} updated
* @return {?}
*/
updated => ({ info: entityInfo, entity: updated })));
updated => ({ info: entityInfo, entity: (/** @type {?} */ (transformSingleFromServer(entityInfo)(updated))) })));
}

@@ -539,2 +703,4 @@ /**

updateMany(entityInfo, entities, criteria) {
/** @type {?} */
const transformed = transformSetToServer(entityInfo)(entities);
return callService('updateMany', entityInfo, this.injector, (/**

@@ -544,7 +710,10 @@ * @param {?} service

*/
service => service.updateMany(entityInfo, entities, criteria)), (/**
service => service.updateMany(entityInfo, transformed, criteria, entities)), (/**
* @param {?} updatedEntities
* @return {?}
*/
updatedEntities => ({ info: entityInfo, entity: updatedEntities })));
updatedEntities => ({
info: entityInfo,
entity: (/** @type {?} */ (transformArrayFromServer(entityInfo)(updatedEntities)))
})));
}

@@ -559,2 +728,4 @@ /**

replace(entityInfo, entity, criteria) {
/** @type {?} */
const transformed = transformToServer(entityInfo)(entity);
return callService('replace', entityInfo, this.injector, (/**

@@ -564,7 +735,7 @@ * @param {?} service

*/
service => service.replace(entityInfo, entity, criteria)), (/**
service => service.replace(entityInfo, transformed, criteria, entity)), (/**
* @param {?} replaced
* @return {?}
*/
replaced => ({ info: entityInfo, entity: replaced })));
replaced => ({ info: entityInfo, entity: (/** @type {?} */ (transformSingleFromServer(entityInfo)(replaced))) })));
}

@@ -579,2 +750,4 @@ /**

replaceMany(entityInfo, entities, criteria) {
/** @type {?} */
const transformed = transformSetToServer(entityInfo)(entities);
return callService('replaceMany', entityInfo, this.injector, (/**

@@ -584,7 +757,7 @@ * @param {?} service

*/
service => service.replaceMany(entityInfo, entities, criteria)), (/**
service => service.replaceMany(entityInfo, transformed, criteria, entities)), (/**
* @param {?} replaced
* @return {?}
*/
replaced => ({ info: entityInfo, entity: replaced })));
replaced => ({ info: entityInfo, entity: (/** @type {?} */ (transformArrayFromServer(entityInfo)(replaced))) })));
}

@@ -599,2 +772,4 @@ /**

delete(entityInfo, entity, criteria) {
/** @type {?} */
const transformed = transformToServer(entityInfo)(entity);
return callService('delete', entityInfo, this.injector, (/**

@@ -604,7 +779,7 @@ * @param {?} service

*/
service => service.delete(entityInfo, entity, criteria)), (/**
service => service.delete(entityInfo, transformed, criteria, entity)), (/**
* @param {?} deleted
* @return {?}
*/
deleted => ({ info: entityInfo, entity: deleted })));
deleted => ({ info: entityInfo, entity: (/** @type {?} */ (transformSingleFromServer(entityInfo)(deleted))) })));
}

@@ -619,2 +794,4 @@ /**

deleteMany(entityInfo, entities, criteria) {
/** @type {?} */
const transformed = transformSetToServer(entityInfo)(entities);
return callService('deleteMany', entityInfo, this.injector, (/**

@@ -624,7 +801,7 @@ * @param {?} service

*/
service => service.deleteMany(entityInfo, entities, criteria)), (/**
service => service.deleteMany(entityInfo, transformed, criteria, entities)), (/**
* @param {?} deleted
* @return {?}
*/
deleted => ({ info: entityInfo, entity: deleted })));
deleted => ({ info: entityInfo, entity: (/** @type {?} */ (transformArrayFromServer(entityInfo)(deleted))) })));
}

@@ -685,2 +862,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BicmllYnVnL25ncngtYXV0by1lbnRpdHkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBTTFDLGdDQUdDOzs7SUFGQywwQkFBa0I7O0lBQ2xCLDRCQUFlOzs7OztBQUdqQix3Q0FHQzs7O0lBRkMsa0NBQWtCOztJQUNsQiw0Q0FBK0I7Ozs7O0FBR2pDLDBDQUdDOzs7SUFGQyxvQ0FBa0I7O0lBQ2xCLGdEQUFtQzs7Ozs7O0FBR3JDLGtDQUlDOzs7SUFIQyw0QkFBa0I7O0lBQ2xCLCtCQUFpQjs7SUFDakIsMkJBQVU7Ozs7OztBQUdaLG9DQUVDOzs7SUFEQyxrQ0FBb0I7Ozs7OztBQUd0QixxQ0FFQzs7O0lBREMsb0NBQXNCOzs7Ozs7QUFHeEIseUNBR0M7OztJQUZDLHVDQUFtQjs7SUFDbkIsdUNBQW9COzs7Ozs7QUFHdEIsMENBR0M7OztJQUZDLHdDQUFtQjs7SUFDbkIseUNBQXNCOzs7Ozs7QUFHeEIsd0NBOEJDOzs7Ozs7OztJQTdCQyw4RUFBOEU7Ozs7OztJQUU5RSw0RUFBeUU7Ozs7OztJQUV6RSwyRUFBd0U7Ozs7Ozs7SUFFeEUsa0ZBQXdHOzs7Ozs7O0lBRXhHLG9GQUE0Rzs7Ozs7OztJQUU1RyxrRkFBcUY7Ozs7Ozs7SUFFckYsd0ZBQStGOzs7Ozs7O0lBRS9GLGtGQUFxRjs7Ozs7OztJQUVyRix3RkFBK0Y7Ozs7Ozs7SUFFL0YsbUZBQXNGOzs7Ozs7O0lBRXRGLHlGQUFnRzs7Ozs7OztJQUVoRyxr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LEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFDckUsQ0FBQztJQUNKLENBQUM7O0FBeEtNLCtCQUFTLEdBQXlDLEVBQUUsQ0FBQzs7WUFGN0QsVUFBVTs7OztZQTFLVSxRQUFROzs7O0lBNEszQixnQ0FBNEQ7Ozs7O0lBTWhELHlDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IHBhc2NhbENhc2UgfSBmcm9tICcuLi91dGlsL2Nhc2UnO1xuaW1wb3J0IHsgSUVudGl0eUluZm8gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgSVBhZ2VJbmZvLCBJUmFuZ2VJbmZvLCBQYWdlLCBSYW5nZSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IElBdXRvRW50aXR5U2VydmljZSB9IGZyb20gJy4vc2VydmljZSc7XG5pbXBvcnQgeyBFbnRpdHlJZGVudGl0eSB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eVJlZjxUTW9kZWw+IHtcbiAgaW5mbzogSUVudGl0eUluZm87XG4gIGVudGl0eTogVE1vZGVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlJZGVudGl0eVJlZiB7XG4gIGluZm86IElFbnRpdHlJbmZvO1xuICBlbnRpdHlJZGVudGl0eTogRW50aXR5SWRlbnRpdHk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eUlkZW50aXRpZXNSZWYge1xuICBpbmZvOiBJRW50aXR5SW5mbztcbiAgZW50aXR5SWRlbnRpdGllczogRW50aXR5SWRlbnRpdHlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5RXJyb3I8VE1vZGVsPiB7XG4gIGluZm86IElFbnRpdHlJbmZvO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBlcnI/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eVBhZ2VSZWY8VE1vZGVsPiBleHRlbmRzIElFbnRpdHlSZWY8VE1vZGVsW10+IHtcbiAgcGFnZUluZm86IElQYWdlSW5mbztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5UmFuZ2VSZWY8VE1vZGVsPiBleHRlbmRzIElFbnRpdHlSZWY8VE1vZGVsW10+IHtcbiAgcmFuZ2VJbmZvOiBJUmFuZ2VJbmZvO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlXaXRoUGFnZUluZm88VE1vZGVsPiB7XG4gIGVudGl0aWVzOiBUTW9kZWxbXTtcbiAgcGFnZUluZm86IElQYWdlSW5mbztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5V2l0aFJhbmdlSW5mbzxUTW9kZWw+IHtcbiAgZW50aXRpZXM6IFRNb2RlbFtdO1xuICByYW5nZUluZm86IElSYW5nZUluZm87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF1dG9FbnRpdHlTZXJ2aWNlPFRNb2RlbD4ge1xuICBsb2FkPyhlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywga2V5czogYW55LCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8VE1vZGVsPjtcblxuICBsb2FkTWFueT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgbG9hZEFsbD8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgbG9hZFBhZ2U/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVdpdGhQYWdlSW5mbzxUTW9kZWw+PjtcblxuICBsb2FkUmFuZ2U/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCByYW5nZTogUmFuZ2UsIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxJRW50aXR5V2l0aFJhbmdlSW5mbzxUTW9kZWw+PjtcblxuICBjcmVhdGU/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPFRNb2RlbD47XG5cbiAgY3JlYXRlTWFueT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPFRNb2RlbFtdPjtcblxuICB1cGRhdGU/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPFRNb2RlbD47XG5cbiAgdXBkYXRlTWFueT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPFRNb2RlbFtdPjtcblxuICByZXBsYWNlPyhlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxUTW9kZWw+O1xuXG4gIHJlcGxhY2VNYW55PyhlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuXG4gIGRlbGV0ZT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8VE1vZGVsPjtcblxuICBkZWxldGVNYW55PyhlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuXG4gIGRlbGV0ZUJ5S2V5PyhlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywga2V5OiBFbnRpdHlJZGVudGl0eSwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5PjtcblxuICBkZWxldGVNYW55QnlLZXlzPyhlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywga2V5czogRW50aXR5SWRlbnRpdHlbXSwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5W10+O1xufVxuXG5leHBvcnQgY29uc3Qgbm90SW1wbGVtZW50ZWQgPSAobWV0aG9kOiBzdHJpbmcsIGVudGl0eUluZm86IElFbnRpdHlJbmZvKTogc3RyaW5nID0+XG4gIGBFbnRpdHkgc2VydmljZSBtZXRob2QgXCIke21ldGhvZH1cIiBoYXMgbm90IGJlZW4gaW1wbGVtZW50ZWQuIChFbnRpdHk6ICR7ZW50aXR5SW5mby5tb2RlbE5hbWV9KWA7XG5leHBvcnQgY29uc3Qgbm90QUZ1bmN0aW9uID0gKG1ldGhvZDogc3RyaW5nLCBlbnRpdHlJbmZvOiBJRW50aXR5SW5mbyk6IHN0cmluZyA9PlxuICBgRW50aXR5IHNlcnZpY2UgbWV0aG9kIFwiJHttZXRob2R9XCIgaXMgbm90IGEgZnVuY3Rpb24uIChFbnRpdHk6ICR7ZW50aXR5SW5mby5tb2RlbE5hbWV9KWA7XG5cbmV4cG9ydCBjb25zdCBsb2dBbmRUaHJvdyA9IChtZXRob2Q6IHN0cmluZywgZXJyOiBhbnksIGVudGl0eUluZm86IElFbnRpdHlJbmZvKSA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoYFtOR1JYLUFFXSAhIFNlcnZpY2UgZXJyb3I6ICR7bWV0aG9kfSgpLiAoRW50aXR5OiAke2VudGl0eUluZm8ubW9kZWxOYW1lfSlgKTtcbiAgY29uc29sZS5lcnJvcihlcnIpO1xuICByZXR1cm4gdGhyb3dFcnJvcih7IGluZm86IGVudGl0eUluZm8sIGVyciB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBsb2dTZXJ2aWNlTG9jYXRlRmFpbHVyZSA9IChlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgc2VydmljZU5hbWU6IHN0cmluZyk6IHZvaWQgPT5cbiAgY29uc29sZS5lcnJvcihcbiAgICBgW05HUlgtQUVdICEgRXJyb3I6IFVuYWJsZSB0byBsb2NhdGUgc2VydmljZSBcIiR7c2VydmljZU5hbWV9XCIgdXNpbmcgbW9kZWwgbmFtZSBvZiBcIiR7ZW50aXR5SW5mby5tb2RlbE5hbWV9XCJgXG4gICk7XG5cbmV4cG9ydCBjb25zdCBsb2dFcnJvckRldGFpbHMgPSAoZXJyb3I6IGFueSk6IHZvaWQgPT4gY29uc29sZS5lcnJvcihgW05HUlgtQUVdICEgRXJyb3IgRGV0YWlsczpgLCBlcnJvcik7XG5cbmV4cG9ydCBjb25zdCBmYWlsUmVzb2x1dGlvbiA9IChlcnJvcjogYW55LCBlbnRpdHlJbmZvOiBJRW50aXR5SW5mbyk6IHZvaWQgPT4ge1xuICBjb25zdCBzZXJ2aWNlTmFtZSA9IGAke3Bhc2NhbENhc2UoZW50aXR5SW5mby5tb2RlbE5hbWUpfVNlcnZpY2VgO1xuICBsb2dTZXJ2aWNlTG9jYXRlRmFpbHVyZShlbnRpdHlJbmZvLCBzZXJ2aWNlTmFtZSk7XG4gIGxvZ0Vycm9yRGV0YWlscyhlcnJvcik7XG4gIHRocm93IGVycm9yO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc29sdmVTZXJ2aWNlID0gPFRNb2RlbD4oXG4gIGVudGl0eUluZm86IFJlYWRvbmx5PElFbnRpdHlJbmZvPixcbiAgaW5qZWN0b3I6IEluamVjdG9yXG4pOiBJQXV0b0VudGl0eVNlcnZpY2U8VE1vZGVsPiA9PiB7XG4gIHJldHVybiBpbmplY3Rvci5nZXQoZW50aXR5SW5mby5tb2RlbFR5cGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc29sdmVTZXJ2aWNlRGVlcCA9IDxUTW9kZWw+KFxuICBlbnRpdHlJbmZvOiBSZWFkb25seTxJRW50aXR5SW5mbz4sXG4gIGluamVjdG9yOiBJbmplY3RvcixcbiAgcmVtYWluaW5nOiBJbmplY3RvcltdXG4pOiBJQXV0b0VudGl0eVNlcnZpY2U8VE1vZGVsPiA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHJlc29sdmVTZXJ2aWNlKGVudGl0eUluZm8sIGluamVjdG9yKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKHJlbWFpbmluZy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IFtmaXJzdCwgLi4ucmVzdF0gPSByZW1haW5pbmc7XG4gICAgICByZXR1cm4gcmVzb2x2ZVNlcnZpY2VEZWVwKGVudGl0eUluZm8sIGZpcnN0LCByZXN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmFpbFJlc29sdXRpb24oZXJyLCBlbnRpdHlJbmZvKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTZXJ2aWNlID0gPFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGluamVjdG9yOiBJbmplY3Rvcik6IElBdXRvRW50aXR5U2VydmljZTxUTW9kZWw+ID0+XG4gIHJlc29sdmVTZXJ2aWNlRGVlcChlbnRpdHlJbmZvLCBpbmplY3RvciwgWy4uLk5ncnhBdXRvRW50aXR5U2VydmljZS5JTkpFQ1RPUlNdKTsgLy8gdHM6ZGlzYWJsZVxuXG5leHBvcnQgY29uc3QgaW52b2tlU2VydmljZSA9IDxUTW9kZWwsIFRNb2RlbE9icywgVFJlc3VsdD4oXG4gIG1ldGhvZDogc3RyaW5nLFxuICBlbnRpdHlJbmZvOiBJRW50aXR5SW5mbyxcbiAgaW52b2tlOiAoc2VydmljZTogSUF1dG9FbnRpdHlTZXJ2aWNlPFRNb2RlbD4pID0+IE9ic2VydmFibGU8VE1vZGVsT2JzPixcbiAgdG9SZXN1bHQ6IChlbnRpdHk6IFRNb2RlbE9icykgPT4gVFJlc3VsdCxcbiAgc2VydmljZTogSUF1dG9FbnRpdHlTZXJ2aWNlPFRNb2RlbD5cbikgPT5cbiAgIXNlcnZpY2VbbWV0aG9kXVxuICAgID8gdGhyb3dFcnJvcih7IGluZm86IGVudGl0eUluZm8sIG1lc3NhZ2U6IG5vdEltcGxlbWVudGVkKG1ldGhvZCwgZW50aXR5SW5mbykgfSlcbiAgICA6IHR5cGVvZiBzZXJ2aWNlW21ldGhvZF0gIT09ICdmdW5jdGlvbidcbiAgICA/IHRocm93RXJyb3IoeyBpbmZvOiBlbnRpdHlJbmZvLCBtZXNzYWdlOiBub3RBRnVuY3Rpb24obWV0aG9kLCBlbnRpdHlJbmZvKSB9KVxuICAgIDogaW52b2tlKHNlcnZpY2UpLnBpcGUoXG4gICAgICAgIG1hcCh0b1Jlc3VsdCksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHRocm93RXJyb3IoeyBpbmZvOiBlbnRpdHlJbmZvLCBlcnIgfSkpXG4gICAgICApO1xuXG5leHBvcnQgY29uc3QgY2FsbFNlcnZpY2UgPSA8VE1vZGVsLCBUTW9kZWxPYnMsIFRSZXN1bHQ+KFxuICBtZXRob2Q6IHN0cmluZyxcbiAgZW50aXR5SW5mbzogSUVudGl0eUluZm8sXG4gIGluamVjdG9yOiBJbmplY3RvcixcbiAgaW52b2tlOiAoc2VydmljZTogSUF1dG9FbnRpdHlTZXJ2aWNlPFRNb2RlbD4pID0+IE9ic2VydmFibGU8VE1vZGVsT2JzPixcbiAgdG9SZXN1bHQ6IChlbnRpdHk6IFRNb2RlbE9icykgPT4gVFJlc3VsdFxuKTogT2JzZXJ2YWJsZTxUUmVzdWx0PiA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3Qgc2VydmljZSA9IGdldFNlcnZpY2UoZW50aXR5SW5mbywgaW5qZWN0b3IpO1xuICAgIHJldHVybiBpbnZva2VTZXJ2aWNlKG1ldGhvZCwgZW50aXR5SW5mbywgaW52b2tlLCB0b1Jlc3VsdCwgc2VydmljZSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ0FuZFRocm93KG1ldGhvZCwgZXJyLCBlbnRpdHlJbmZvKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHByZXBlbmQgPSA8VD4oZmlyc3Q6IFQsIHJlc3Q6IFJlYWRvbmx5QXJyYXk8VD4pOiBSZWFkb25seUFycmF5PFQ+ID0+IFtmaXJzdCwgLi4ucmVzdF07XG5cbi8qKlxuICogTG9va3MgdXAgY2xpZW50LXByb3ZpZGVkIGVudGl0eSBzZXJ2aWNlIGNsYXNzIHVzaW5nIEFuZ3VsYXIncyBpbmplY3RvciBhbmQgdGhpcyBwYWNrYWdlJ3MgbmFtaW5nXG4gKiBjb252ZW50aW9ucy4gIFRoZW4gY2FsbHMgY2xpZW50J3Mgc2VydmljZSBhbmQgcHJvdmlkZXMgc3VjY2Vzcy9mYWlsdXJlIGhhbmRsaW5nLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmdyeEF1dG9FbnRpdHlTZXJ2aWNlIHtcbiAgc3RhdGljIElOSkVDVE9SUzogTm9uTnVsbGFibGU8UmVhZG9ubHlBcnJheTxJbmplY3Rvcj4+ID0gW107XG5cbiAgc3RhdGljIGFkZEluamVjdG9yKGluamVjdG9yOiBJbmplY3Rvcik6IHZvaWQge1xuICAgIE5ncnhBdXRvRW50aXR5U2VydmljZS5JTkpFQ1RPUlMgPSBwcmVwZW5kKGluamVjdG9yLCBOZ3J4QXV0b0VudGl0eVNlcnZpY2UuSU5KRUNUT1JTKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGxvYWQ8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywga2V5czogYW55LCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWw+PiB7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgVE1vZGVsLCBJRW50aXR5UmVmPFRNb2RlbD4+KFxuICAgICAgJ2xvYWQnLFxuICAgICAgZW50aXR5SW5mbyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICBzZXJ2aWNlID0+IHNlcnZpY2UubG9hZChlbnRpdHlJbmZvLCBrZXlzLCBjcml0ZXJpYSksXG4gICAgICBlbnRpdHkgPT4gKHsgaW5mbzogZW50aXR5SW5mbywgZW50aXR5IH0pXG4gICAgKTtcbiAgfVxuXG4gIGxvYWRBbGw8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPElFbnRpdHlSZWY8VE1vZGVsW10+PiB7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgVE1vZGVsW10sIElFbnRpdHlSZWY8VE1vZGVsW10+PihcbiAgICAgICdsb2FkQWxsJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmxvYWRBbGwoZW50aXR5SW5mbywgY3JpdGVyaWEpLFxuICAgICAgZW50aXRpZXMgPT4gKHsgaW5mbzogZW50aXR5SW5mbywgZW50aXR5OiBlbnRpdGllcyB9KVxuICAgICk7XG4gIH1cblxuICBsb2FkTWFueTxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWxbXT4+IHtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBUTW9kZWxbXSwgSUVudGl0eVJlZjxUTW9kZWxbXT4+KFxuICAgICAgJ2xvYWRNYW55JyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmxvYWRNYW55KGVudGl0eUluZm8sIGNyaXRlcmlhKSxcbiAgICAgIGVudGl0aWVzID0+ICh7IGluZm86IGVudGl0eUluZm8sIGVudGl0eTogZW50aXRpZXMgfSlcbiAgICApO1xuICB9XG5cbiAgbG9hZFBhZ2U8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgcGFnZTogUGFnZSwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPElFbnRpdHlQYWdlUmVmPFRNb2RlbD4+IHtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBJRW50aXR5V2l0aFBhZ2VJbmZvPFRNb2RlbD4sIElFbnRpdHlQYWdlUmVmPFRNb2RlbD4+KFxuICAgICAgJ2xvYWRQYWdlJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmxvYWRQYWdlKGVudGl0eUluZm8sIHBhZ2UsIGNyaXRlcmlhKSxcbiAgICAgIHJlc3VsdCA9PiAoe1xuICAgICAgICBpbmZvOiBlbnRpdHlJbmZvLFxuICAgICAgICBwYWdlSW5mbzogcmVzdWx0LnBhZ2VJbmZvLFxuICAgICAgICBlbnRpdHk6IHJlc3VsdC5lbnRpdGllc1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbG9hZFJhbmdlPFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIHJhbmdlOiBSYW5nZSwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPElFbnRpdHlSYW5nZVJlZjxUTW9kZWw+PiB7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgSUVudGl0eVdpdGhSYW5nZUluZm88VE1vZGVsPiwgSUVudGl0eVJhbmdlUmVmPFRNb2RlbD4+KFxuICAgICAgJ2xvYWRSYW5nZScsXG4gICAgICBlbnRpdHlJbmZvLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgIHNlcnZpY2UgPT4gc2VydmljZS5sb2FkUmFuZ2UoZW50aXR5SW5mbywgcmFuZ2UsIGNyaXRlcmlhKSxcbiAgICAgIHJlc3VsdCA9PiAoe1xuICAgICAgICBpbmZvOiBlbnRpdHlJbmZvLFxuICAgICAgICByYW5nZUluZm86IHJlc3VsdC5yYW5nZUluZm8sXG4gICAgICAgIGVudGl0eTogcmVzdWx0LmVudGl0aWVzXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBjcmVhdGU8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxJRW50aXR5UmVmPFRNb2RlbD4+IHtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBUTW9kZWwsIElFbnRpdHlSZWY8VE1vZGVsPj4oXG4gICAgICAnY3JlYXRlJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmNyZWF0ZShlbnRpdHlJbmZvLCBlbnRpdHksIGNyaXRlcmlhKSxcbiAgICAgIGNyZWF0ZWQgPT4gKHsgaW5mbzogZW50aXR5SW5mbywgZW50aXR5OiBjcmVhdGVkIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZU1hbnk8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWxbXT4+IHtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBUTW9kZWxbXSwgSUVudGl0eVJlZjxUTW9kZWxbXT4+KFxuICAgICAgJ2NyZWF0ZU1hbnknLFxuICAgICAgZW50aXR5SW5mbyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICBzZXJ2aWNlID0+IHNlcnZpY2UuY3JlYXRlTWFueShlbnRpdHlJbmZvLCBlbnRpdGllcywgY3JpdGVyaWEpLFxuICAgICAgY3JlYXRlZCA9PiAoeyBpbmZvOiBlbnRpdHlJbmZvLCBlbnRpdHk6IGNyZWF0ZWQgfSlcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlPFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWw+PiB7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgVE1vZGVsLCBJRW50aXR5UmVmPFRNb2RlbD4+KFxuICAgICAgJ3VwZGF0ZScsXG4gICAgICBlbnRpdHlJbmZvLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgIHNlcnZpY2UgPT4gc2VydmljZS51cGRhdGUoZW50aXR5SW5mbywgZW50aXR5LCBjcml0ZXJpYSksXG4gICAgICB1cGRhdGVkID0+ICh7IGluZm86IGVudGl0eUluZm8sIGVudGl0eTogdXBkYXRlZCB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVNYW55PFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPElFbnRpdHlSZWY8VE1vZGVsW10+PiB7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgVE1vZGVsW10sIElFbnRpdHlSZWY8VE1vZGVsW10+PihcbiAgICAgICd1cGRhdGVNYW55JyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLnVwZGF0ZU1hbnkoZW50aXR5SW5mbywgZW50aXRpZXMsIGNyaXRlcmlhKSxcbiAgICAgIHVwZGF0ZWRFbnRpdGllcyA9PiAoeyBpbmZvOiBlbnRpdHlJbmZvLCBlbnRpdHk6IHVwZGF0ZWRFbnRpdGllcyB9KVxuICAgICk7XG4gIH1cblxuICByZXBsYWNlPFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWw+PiB7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgVE1vZGVsLCBJRW50aXR5UmVmPFRNb2RlbD4+KFxuICAgICAgJ3JlcGxhY2UnLFxuICAgICAgZW50aXR5SW5mbyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICBzZXJ2aWNlID0+IHNlcnZpY2UucmVwbGFjZShlbnRpdHlJbmZvLCBlbnRpdHksIGNyaXRlcmlhKSxcbiAgICAgIHJlcGxhY2VkID0+ICh7IGluZm86IGVudGl0eUluZm8sIGVudGl0eTogcmVwbGFjZWQgfSlcbiAgICApO1xuICB9XG5cbiAgcmVwbGFjZU1hbnk8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWxbXT4+IHtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBUTW9kZWxbXSwgSUVudGl0eVJlZjxUTW9kZWxbXT4+KFxuICAgICAgJ3JlcGxhY2VNYW55JyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLnJlcGxhY2VNYW55KGVudGl0eUluZm8sIGVudGl0aWVzLCBjcml0ZXJpYSksXG4gICAgICByZXBsYWNlZCA9PiAoeyBpbmZvOiBlbnRpdHlJbmZvLCBlbnRpdHk6IHJlcGxhY2VkIH0pXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZTxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPElFbnRpdHlSZWY8VE1vZGVsPj4ge1xuICAgIHJldHVybiBjYWxsU2VydmljZTxUTW9kZWwsIFRNb2RlbCwgSUVudGl0eVJlZjxUTW9kZWw+PihcbiAgICAgICdkZWxldGUnLFxuICAgICAgZW50aXR5SW5mbyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICBzZXJ2aWNlID0+IHNlcnZpY2UuZGVsZXRlKGVudGl0eUluZm8sIGVudGl0eSwgY3JpdGVyaWEpLFxuICAgICAgZGVsZXRlZCA9PiAoeyBpbmZvOiBlbnRpdHlJbmZvLCBlbnRpdHk6IGRlbGV0ZWQgfSlcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlTWFueTxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxJRW50aXR5UmVmPFRNb2RlbFtdPj4ge1xuICAgIHJldHVybiBjYWxsU2VydmljZTxUTW9kZWwsIFRNb2RlbFtdLCBJRW50aXR5UmVmPFRNb2RlbFtdPj4oXG4gICAgICAnZGVsZXRlTWFueScsXG4gICAgICBlbnRpdHlJbmZvLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgIHNlcnZpY2UgPT4gc2VydmljZS5kZWxldGVNYW55KGVudGl0eUluZm8sIGVudGl0aWVzLCBjcml0ZXJpYSksXG4gICAgICBkZWxldGVkID0+ICh7IGluZm86IGVudGl0eUluZm8sIGVudGl0eTogZGVsZXRlZCB9KVxuICAgICk7XG4gIH1cblxuICBkZWxldGVCeUtleTxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBrZXk6IEVudGl0eUlkZW50aXR5LCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eUlkZW50aXR5UmVmPiB7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgRW50aXR5SWRlbnRpdHksIElFbnRpdHlJZGVudGl0eVJlZj4oXG4gICAgICAnZGVsZXRlQnlLZXknLFxuICAgICAgZW50aXR5SW5mbyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICBzZXJ2aWNlID0+IHNlcnZpY2UuZGVsZXRlQnlLZXkoZW50aXR5SW5mbywga2V5LCBjcml0ZXJpYSksXG4gICAgICBkZWxldGVkS2V5ID0+ICh7IGluZm86IGVudGl0eUluZm8sIGVudGl0eUlkZW50aXR5OiBkZWxldGVkS2V5IH0pXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZU1hbnlCeUtleTxUTW9kZWw+KFxuICAgIGVudGl0eUluZm86IElFbnRpdHlJbmZvLFxuICAgIGtleXM6IEVudGl0eUlkZW50aXR5W10sXG4gICAgY3JpdGVyaWE/OiBhbnlcbiAgKTogT2JzZXJ2YWJsZTxJRW50aXR5SWRlbnRpdGllc1JlZj4ge1xuICAgIHJldHVybiBjYWxsU2VydmljZTxUTW9kZWwsIEVudGl0eUlkZW50aXR5W10sIElFbnRpdHlJZGVudGl0aWVzUmVmPihcbiAgICAgICdkZWxldGVNYW55QnlLZXlzJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmRlbGV0ZU1hbnlCeUtleXMoZW50aXR5SW5mbywga2V5cywgY3JpdGVyaWEpLFxuICAgICAgZGVsZXRlZEtleXMgPT4gKHsgaW5mbzogZW50aXR5SW5mbywgZW50aXR5SWRlbnRpdGllczogZGVsZXRlZEtleXMgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BicmllYnVnL25ncngtYXV0by1lbnRpdHkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBTzFDLGdDQUdDOzs7SUFGQywwQkFBa0I7O0lBQ2xCLDRCQUFlOzs7OztBQUdqQix3Q0FHQzs7O0lBRkMsa0NBQWtCOztJQUNsQiw0Q0FBK0I7Ozs7O0FBR2pDLDBDQUdDOzs7SUFGQyxvQ0FBa0I7O0lBQ2xCLGdEQUFtQzs7Ozs7O0FBR3JDLGtDQUlDOzs7SUFIQyw0QkFBa0I7O0lBQ2xCLCtCQUFpQjs7SUFDakIsMkJBQVU7Ozs7OztBQUdaLG9DQUVDOzs7SUFEQyxrQ0FBb0I7Ozs7OztBQUd0QixxQ0FFQzs7O0lBREMsb0NBQXNCOzs7Ozs7QUFHeEIseUNBR0M7OztJQUZDLHVDQUFtQjs7SUFDbkIsdUNBQW9COzs7Ozs7QUFHdEIsMENBR0M7OztJQUZDLHdDQUFtQjs7SUFDbkIseUNBQXNCOzs7Ozs7QUFJeEIsd0NBOEJDOzs7Ozs7OztJQTdCQyw4RUFBOEU7Ozs7OztJQUU5RSw0RUFBeUU7Ozs7OztJQUV6RSwyRUFBd0U7Ozs7Ozs7SUFFeEUsa0ZBQXdHOzs7Ozs7O0lBRXhHLG9GQUE0Rzs7Ozs7Ozs7SUFFNUcsa0dBQW9IOzs7Ozs7OztJQUVwSCwwR0FBdUk7Ozs7Ozs7O0lBRXZJLGtHQUFvSDs7Ozs7Ozs7SUFFcEgsMEdBQXVJOzs7Ozs7OztJQUV2SSxtR0FBcUg7Ozs7Ozs7O0lBRXJILDJHQUF3STs7Ozs7Ozs7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QUFDOztZQUY3RCxVQUFVOzs7O1lBcFBVLFFBQVE7Ozs7SUFzUDNCLGdDQUE0RDs7Ozs7SUFNaEQseUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgcGFzY2FsQ2FzZSB9IGZyb20gJy4uL3V0aWwvY2FzZSc7XG5pbXBvcnQgeyBJRW50aXR5SW5mbyB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBJRW50aXR5VHJhbnNmb3JtZXIgfSBmcm9tICcuL2RlY29yYXRvcnMvZW50aXR5JztcbmltcG9ydCB7IElQYWdlSW5mbywgSVJhbmdlSW5mbywgUGFnZSwgUmFuZ2UgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBJQXV0b0VudGl0eVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UnO1xuaW1wb3J0IHsgRW50aXR5SWRlbnRpdHkgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlSZWY8VE1vZGVsPiB7XG4gIGluZm86IElFbnRpdHlJbmZvO1xuICBlbnRpdHk6IFRNb2RlbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5SWRlbnRpdHlSZWYge1xuICBpbmZvOiBJRW50aXR5SW5mbztcbiAgZW50aXR5SWRlbnRpdHk6IEVudGl0eUlkZW50aXR5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlJZGVudGl0aWVzUmVmIHtcbiAgaW5mbzogSUVudGl0eUluZm87XG4gIGVudGl0eUlkZW50aXRpZXM6IEVudGl0eUlkZW50aXR5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eUVycm9yPFRNb2RlbD4ge1xuICBpbmZvOiBJRW50aXR5SW5mbztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgZXJyPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlQYWdlUmVmPFRNb2RlbD4gZXh0ZW5kcyBJRW50aXR5UmVmPFRNb2RlbFtdPiB7XG4gIHBhZ2VJbmZvOiBJUGFnZUluZm87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eVJhbmdlUmVmPFRNb2RlbD4gZXh0ZW5kcyBJRW50aXR5UmVmPFRNb2RlbFtdPiB7XG4gIHJhbmdlSW5mbzogSVJhbmdlSW5mbztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5V2l0aFBhZ2VJbmZvPFRNb2RlbD4ge1xuICBlbnRpdGllczogVE1vZGVsW107XG4gIHBhZ2VJbmZvOiBJUGFnZUluZm87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eVdpdGhSYW5nZUluZm88VE1vZGVsPiB7XG4gIGVudGl0aWVzOiBUTW9kZWxbXTtcbiAgcmFuZ2VJbmZvOiBJUmFuZ2VJbmZvO1xufVxuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBpbnRlcmZhY2UgSUF1dG9FbnRpdHlTZXJ2aWNlPFRNb2RlbD4ge1xuICBsb2FkPyhlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywga2V5czogYW55LCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8VE1vZGVsPjtcblxuICBsb2FkTWFueT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgbG9hZEFsbD8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgbG9hZFBhZ2U/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVdpdGhQYWdlSW5mbzxUTW9kZWw+PjtcblxuICBsb2FkUmFuZ2U/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCByYW5nZTogUmFuZ2UsIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxJRW50aXR5V2l0aFJhbmdlSW5mbzxUTW9kZWw+PjtcblxuICBjcmVhdGU/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdHk6IFRNb2RlbCB8IGFueSwgY3JpdGVyaWE/OiBhbnksIG9yaWdpbmFsRW50aXR5PzogVE1vZGVsKTogT2JzZXJ2YWJsZTxUTW9kZWw+O1xuXG4gIGNyZWF0ZU1hbnk/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdGllczogQXJyYXk8VE1vZGVsIHwgYW55PiwgY3JpdGVyaWE/OiBhbnksIG9yaWdpbmFsRW50aXRpZXM/OiBUTW9kZWxbXSk6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuXG4gIHVwZGF0ZT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0eTogVE1vZGVsIHwgYW55LCBjcml0ZXJpYT86IGFueSwgb3JpZ2luYWxFbnRpdHk/OiBUTW9kZWwpOiBPYnNlcnZhYmxlPFRNb2RlbD47XG5cbiAgdXBkYXRlTWFueT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0aWVzOiBBcnJheTxUTW9kZWwgfCBhbnk+LCBjcml0ZXJpYT86IGFueSwgb3JpZ2luYWxFbnRpdGllcz86IFRNb2RlbFtdKTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgcmVwbGFjZT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0eTogVE1vZGVsIHwgYW55LCBjcml0ZXJpYT86IGFueSwgb3JpZ2luYWxFbnRpdHk/OiBUTW9kZWwpOiBPYnNlcnZhYmxlPFRNb2RlbD47XG5cbiAgcmVwbGFjZU1hbnk/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdGllczogQXJyYXk8VE1vZGVsIHwgYW55PiwgY3JpdGVyaWE/OiBhbnksIG9yaWdpbmFsRW50aXRpZXM/OiBUTW9kZWxbXSk6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuXG4gIGRlbGV0ZT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0eTogVE1vZGVsIHwgYW55LCBjcml0ZXJpYT86IGFueSwgb3JpZ2luYWxFbnRpdHk/OiBUTW9kZWwpOiBPYnNlcnZhYmxlPFRNb2RlbD47XG5cbiAgZGVsZXRlTWFueT8oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0aWVzOiBBcnJheTxUTW9kZWwgfCBhbnk+LCBjcml0ZXJpYT86IGFueSwgb3JpZ2luYWxFbnRpdGllcz86IFRNb2RlbFtdKTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgZGVsZXRlQnlLZXk/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBrZXk6IEVudGl0eUlkZW50aXR5LCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHk+O1xuXG4gIGRlbGV0ZU1hbnlCeUtleXM/KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHlbXT47XG59XG5cbmV4cG9ydCBjb25zdCBub3RJbXBsZW1lbnRlZCA9IChtZXRob2Q6IHN0cmluZywgZW50aXR5SW5mbzogSUVudGl0eUluZm8pOiBzdHJpbmcgPT5cbiAgYEVudGl0eSBzZXJ2aWNlIG1ldGhvZCBcIiR7bWV0aG9kfVwiIGhhcyBub3QgYmVlbiBpbXBsZW1lbnRlZC4gKEVudGl0eTogJHtlbnRpdHlJbmZvLm1vZGVsTmFtZX0pYDtcbmV4cG9ydCBjb25zdCBub3RBRnVuY3Rpb24gPSAobWV0aG9kOiBzdHJpbmcsIGVudGl0eUluZm86IElFbnRpdHlJbmZvKTogc3RyaW5nID0+XG4gIGBFbnRpdHkgc2VydmljZSBtZXRob2QgXCIke21ldGhvZH1cIiBpcyBub3QgYSBmdW5jdGlvbi4gKEVudGl0eTogJHtlbnRpdHlJbmZvLm1vZGVsTmFtZX0pYDtcblxuZXhwb3J0IGNvbnN0IGxvZ0FuZFRocm93ID0gKG1ldGhvZDogc3RyaW5nLCBlcnI6IGFueSwgZW50aXR5SW5mbzogSUVudGl0eUluZm8pID0+IHtcbiAgY29uc29sZS5lcnJvcihgW05HUlgtQUVdICEgU2VydmljZSBlcnJvcjogJHttZXRob2R9KCkuIChFbnRpdHk6ICR7ZW50aXR5SW5mby5tb2RlbE5hbWV9KWApO1xuICBjb25zb2xlLmVycm9yKGVycik7XG4gIHJldHVybiB0aHJvd0Vycm9yKHsgaW5mbzogZW50aXR5SW5mbywgZXJyIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ1NlcnZpY2VMb2NhdGVGYWlsdXJlID0gKGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBzZXJ2aWNlTmFtZTogc3RyaW5nKTogdm9pZCA9PlxuICBjb25zb2xlLmVycm9yKFxuICAgIGBbTkdSWC1BRV0gISBFcnJvcjogVW5hYmxlIHRvIGxvY2F0ZSBzZXJ2aWNlIFwiJHtzZXJ2aWNlTmFtZX1cIiB1c2luZyBtb2RlbCBuYW1lIG9mIFwiJHtlbnRpdHlJbmZvLm1vZGVsTmFtZX1cImBcbiAgKTtcblxuZXhwb3J0IGNvbnN0IGxvZ0Vycm9yRGV0YWlscyA9IChlcnJvcjogYW55KTogdm9pZCA9PiBjb25zb2xlLmVycm9yKGBbTkdSWC1BRV0gISBFcnJvciBEZXRhaWxzOmAsIGVycm9yKTtcblxuZXhwb3J0IGNvbnN0IGZhaWxSZXNvbHV0aW9uID0gKGVycm9yOiBhbnksIGVudGl0eUluZm86IElFbnRpdHlJbmZvKTogdm9pZCA9PiB7XG4gIGNvbnN0IHNlcnZpY2VOYW1lID0gYCR7cGFzY2FsQ2FzZShlbnRpdHlJbmZvLm1vZGVsTmFtZSl9U2VydmljZWA7XG4gIGxvZ1NlcnZpY2VMb2NhdGVGYWlsdXJlKGVudGl0eUluZm8sIHNlcnZpY2VOYW1lKTtcbiAgbG9nRXJyb3JEZXRhaWxzKGVycm9yKTtcbiAgdGhyb3cgZXJyb3I7XG59O1xuXG5leHBvcnQgY29uc3QgcmVzb2x2ZVNlcnZpY2UgPSA8VE1vZGVsPihcbiAgZW50aXR5SW5mbzogUmVhZG9ubHk8SUVudGl0eUluZm8+LFxuICBpbmplY3RvcjogSW5qZWN0b3Jcbik6IElBdXRvRW50aXR5U2VydmljZTxUTW9kZWw+ID0+IHtcbiAgcmV0dXJuIGluamVjdG9yLmdldChlbnRpdHlJbmZvLm1vZGVsVHlwZSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVzb2x2ZVNlcnZpY2VEZWVwID0gPFRNb2RlbD4oXG4gIGVudGl0eUluZm86IFJlYWRvbmx5PElFbnRpdHlJbmZvPixcbiAgaW5qZWN0b3I6IEluamVjdG9yLFxuICByZW1haW5pbmc6IEluamVjdG9yW11cbik6IElBdXRvRW50aXR5U2VydmljZTxUTW9kZWw+ID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcmVzb2x2ZVNlcnZpY2UoZW50aXR5SW5mbywgaW5qZWN0b3IpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAocmVtYWluaW5nLmxlbmd0aCkge1xuICAgICAgY29uc3QgW2ZpcnN0LCAuLi5yZXN0XSA9IHJlbWFpbmluZztcbiAgICAgIHJldHVybiByZXNvbHZlU2VydmljZURlZXAoZW50aXR5SW5mbywgZmlyc3QsIHJlc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmYWlsUmVzb2x1dGlvbihlcnIsIGVudGl0eUluZm8pO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldFNlcnZpY2UgPSA8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgaW5qZWN0b3I6IEluamVjdG9yKTogSUF1dG9FbnRpdHlTZXJ2aWNlPFRNb2RlbD4gPT5cbiAgcmVzb2x2ZVNlcnZpY2VEZWVwKGVudGl0eUluZm8sIGluamVjdG9yLCBbLi4uTmdyeEF1dG9FbnRpdHlTZXJ2aWNlLklOSkVDVE9SU10pOyAvLyB0czpkaXNhYmxlXG5cbmV4cG9ydCBjb25zdCBpbnZva2VTZXJ2aWNlID0gPFRNb2RlbCwgVE1vZGVsT2JzLCBUUmVzdWx0PihcbiAgbWV0aG9kOiBzdHJpbmcsXG4gIGVudGl0eUluZm86IElFbnRpdHlJbmZvLFxuICBpbnZva2U6IChzZXJ2aWNlOiBJQXV0b0VudGl0eVNlcnZpY2U8VE1vZGVsPikgPT4gT2JzZXJ2YWJsZTxUTW9kZWxPYnM+LFxuICB0b1Jlc3VsdDogKGVudGl0eTogVE1vZGVsT2JzKSA9PiBUUmVzdWx0LFxuICBzZXJ2aWNlOiBJQXV0b0VudGl0eVNlcnZpY2U8VE1vZGVsPlxuKSA9PlxuICAhc2VydmljZVttZXRob2RdXG4gICAgPyB0aHJvd0Vycm9yKHsgaW5mbzogZW50aXR5SW5mbywgbWVzc2FnZTogbm90SW1wbGVtZW50ZWQobWV0aG9kLCBlbnRpdHlJbmZvKSB9KVxuICAgIDogdHlwZW9mIHNlcnZpY2VbbWV0aG9kXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgID8gdGhyb3dFcnJvcih7IGluZm86IGVudGl0eUluZm8sIG1lc3NhZ2U6IG5vdEFGdW5jdGlvbihtZXRob2QsIGVudGl0eUluZm8pIH0pXG4gICAgOiBpbnZva2Uoc2VydmljZSkucGlwZShcbiAgICAgICAgbWFwKHRvUmVzdWx0KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4gdGhyb3dFcnJvcih7IGluZm86IGVudGl0eUluZm8sIGVyciB9KSlcbiAgICAgICk7XG5cbmV4cG9ydCBjb25zdCBjYWxsU2VydmljZSA9IDxUTW9kZWwsIFRNb2RlbE9icywgVFJlc3VsdD4oXG4gIG1ldGhvZDogc3RyaW5nLFxuICBlbnRpdHlJbmZvOiBJRW50aXR5SW5mbyxcbiAgaW5qZWN0b3I6IEluamVjdG9yLFxuICBpbnZva2U6IChzZXJ2aWNlOiBJQXV0b0VudGl0eVNlcnZpY2U8VE1vZGVsPikgPT4gT2JzZXJ2YWJsZTxUTW9kZWxPYnM+LFxuICB0b1Jlc3VsdDogKGVudGl0eTogVE1vZGVsT2JzKSA9PiBUUmVzdWx0XG4pOiBPYnNlcnZhYmxlPFRSZXN1bHQ+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzZXJ2aWNlID0gZ2V0U2VydmljZShlbnRpdHlJbmZvLCBpbmplY3Rvcik7XG4gICAgcmV0dXJuIGludm9rZVNlcnZpY2UobWV0aG9kLCBlbnRpdHlJbmZvLCBpbnZva2UsIHRvUmVzdWx0LCBzZXJ2aWNlKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nQW5kVGhyb3cobWV0aG9kLCBlcnIsIGVudGl0eUluZm8pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcHJlcGVuZCA9IDxUPihmaXJzdDogVCwgcmVzdDogUmVhZG9ubHlBcnJheTxUPik6IFJlYWRvbmx5QXJyYXk8VD4gPT4gW2ZpcnN0LCAuLi5yZXN0XTtcblxuY29uc3QgRlJPTSA9ICdmcm9tU2VydmVyJztcbmNvbnN0IFRPID0gJ3RvU2VydmVyJztcblxuZXhwb3J0IGNvbnN0IGdldFRyYW5zZm9ybXMgPSAodHJhbnNmb3JtOiBJRW50aXR5VHJhbnNmb3JtZXJbXSwgcHJvcDogc3RyaW5nKTogQXJyYXk8KHZhbHVlOiBhbnkpID0+IGFueT4gPT5cbiAgISF0cmFuc2Zvcm0gJiYgISF0cmFuc2Zvcm0ubGVuZ3RoID8gdHJhbnNmb3JtLmZpbHRlcih0eCA9PiAhIXR4W3Byb3BdKS5tYXAodHggPT4gdHhbcHJvcF0pIDogW3ZhbHVlID0+IHZhbHVlXTtcblxuZXhwb3J0IGNvbnN0IGFwcGx5VHJhbnNmb3JtcyA9ICh0cmFuc2Zvcm1zOiBBcnJheTwodmFsdWU6IGFueSkgPT4gYW55PikgPT4gKG9yaWdpbmFsRW50aXR5OiBhbnkpOiBhbnkgPT5cbiAgdHJhbnNmb3Jtcy5yZWR1Y2UoXG4gICAgKGVudGl0eSwgdHJhbnNmb3JtKSA9PiB7XG4gICAgICByZXR1cm4gdHJhbnNmb3JtKGVudGl0eSk7XG4gICAgfSxcbiAgICB7IC4uLm9yaWdpbmFsRW50aXR5IH1cbiAgKTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybUZyb21TZXJ2ZXIgPSA8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbykgPT4gKFxuICBlbnRpdHlSZWY6IElFbnRpdHlSZWY8VE1vZGVsPlxuKTogSUVudGl0eVJlZjxUTW9kZWw+ID0+ICh7XG4gIC4uLmVudGl0eVJlZixcbiAgZW50aXR5OiBhcHBseVRyYW5zZm9ybXMoZ2V0VHJhbnNmb3JtcyhlbnRpdHlJbmZvLnRyYW5zZm9ybSwgRlJPTSkpKGVudGl0eVJlZi5lbnRpdHkpIGFzIFRNb2RlbFxufSk7XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1TZXRGcm9tU2VydmVyID0gPFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8pID0+IChcbiAgZW50aXR5UmVmOiBJRW50aXR5UmVmPFRNb2RlbFtdPlxuKTogSUVudGl0eVJlZjxUTW9kZWxbXT4gPT4ge1xuICBjb25zdCB0cmFuc2Zvcm1zID0gZ2V0VHJhbnNmb3JtcyhlbnRpdHlJbmZvLnRyYW5zZm9ybSwgRlJPTSk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5lbnRpdHlSZWYsXG4gICAgZW50aXR5OiBlbnRpdHlSZWYuZW50aXR5Lm1hcChhcHBseVRyYW5zZm9ybXModHJhbnNmb3JtcykpXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtUGFnZUZyb21TZXJ2ZXIgPSA8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbykgPT4gKFxuICBlbnRpdHlSZWY6IElFbnRpdHlQYWdlUmVmPFRNb2RlbD5cbik6IElFbnRpdHlQYWdlUmVmPFRNb2RlbD4gPT4ge1xuICBjb25zdCB0cmFuc2Zvcm1zID0gZ2V0VHJhbnNmb3JtcyhlbnRpdHlJbmZvLnRyYW5zZm9ybSwgRlJPTSk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5lbnRpdHlSZWYsXG4gICAgZW50aXR5OiBlbnRpdHlSZWYuZW50aXR5Lm1hcChhcHBseVRyYW5zZm9ybXModHJhbnNmb3JtcykpXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtUmFuZ2VGcm9tU2VydmVyID0gPFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8pID0+IChcbiAgZW50aXR5UmVmOiBJRW50aXR5UmFuZ2VSZWY8VE1vZGVsPlxuKTogSUVudGl0eVJhbmdlUmVmPFRNb2RlbD4gPT4ge1xuICBjb25zdCB0cmFuc2Zvcm1zID0gZ2V0VHJhbnNmb3JtcyhlbnRpdHlJbmZvLnRyYW5zZm9ybSwgRlJPTSk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5lbnRpdHlSZWYsXG4gICAgZW50aXR5OiBlbnRpdHlSZWYuZW50aXR5Lm1hcChhcHBseVRyYW5zZm9ybXModHJhbnNmb3JtcykpXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtU2luZ2xlRnJvbVNlcnZlciA9IDxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvKSA9PiAoZW50aXR5OiBhbnkpOiBUTW9kZWwgPT4ge1xuICByZXR1cm4gYXBwbHlUcmFuc2Zvcm1zKGdldFRyYW5zZm9ybXMoZW50aXR5SW5mby50cmFuc2Zvcm0sIEZST00pKShlbnRpdHkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybUFycmF5RnJvbVNlcnZlciA9IDxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvKSA9PiAoZW50aXRpZXM6IFRNb2RlbFtdKTogVE1vZGVsW10gPT4ge1xuICBjb25zdCB0cmFuc2Zvcm1zID0gZ2V0VHJhbnNmb3JtcyhlbnRpdHlJbmZvLnRyYW5zZm9ybSwgRlJPTSk7XG4gIHJldHVybiBlbnRpdGllcy5tYXAoYXBwbHlUcmFuc2Zvcm1zKHRyYW5zZm9ybXMpKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1Ub1NlcnZlciA9IDxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvKSA9PiAob3JpZ2luYWxFbnRpdHk6IFRNb2RlbCk6IGFueSA9PlxuICBhcHBseVRyYW5zZm9ybXMoZ2V0VHJhbnNmb3JtcyhlbnRpdHlJbmZvLnRyYW5zZm9ybSwgVE8pKShvcmlnaW5hbEVudGl0eSk7XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1TZXRUb1NlcnZlciA9IDxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvKSA9PiAoZW50aXRpZXM6IFRNb2RlbFtdKTogYW55W10gPT4ge1xuICBjb25zdCB0cmFuc2Zvcm1zID0gZ2V0VHJhbnNmb3JtcyhlbnRpdHlJbmZvLnRyYW5zZm9ybSwgVE8pO1xuXG4gIHJldHVybiBlbnRpdGllcy5tYXAoYXBwbHlUcmFuc2Zvcm1zKHRyYW5zZm9ybXMpKTtcbn07XG5cbi8qKlxuICogTG9va3MgdXAgY2xpZW50LXByb3ZpZGVkIGVudGl0eSBzZXJ2aWNlIGNsYXNzIHVzaW5nIEFuZ3VsYXIncyBpbmplY3RvciBhbmQgdGhpcyBwYWNrYWdlJ3MgbmFtaW5nXG4gKiBjb252ZW50aW9ucy4gIFRoZW4gY2FsbHMgY2xpZW50J3Mgc2VydmljZSBhbmQgcHJvdmlkZXMgc3VjY2Vzcy9mYWlsdXJlIGhhbmRsaW5nLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmdyeEF1dG9FbnRpdHlTZXJ2aWNlIHtcbiAgc3RhdGljIElOSkVDVE9SUzogTm9uTnVsbGFibGU8UmVhZG9ubHlBcnJheTxJbmplY3Rvcj4+ID0gW107XG5cbiAgc3RhdGljIGFkZEluamVjdG9yKGluamVjdG9yOiBJbmplY3Rvcik6IHZvaWQge1xuICAgIE5ncnhBdXRvRW50aXR5U2VydmljZS5JTkpFQ1RPUlMgPSBwcmVwZW5kKGluamVjdG9yLCBOZ3J4QXV0b0VudGl0eVNlcnZpY2UuSU5KRUNUT1JTKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGxvYWQ8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywga2V5czogYW55LCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWw+PiB7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgVE1vZGVsLCBJRW50aXR5UmVmPFRNb2RlbD4+KFxuICAgICAgJ2xvYWQnLFxuICAgICAgZW50aXR5SW5mbyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICBzZXJ2aWNlID0+IHNlcnZpY2UubG9hZChlbnRpdHlJbmZvLCBrZXlzLCBjcml0ZXJpYSksXG4gICAgICBlbnRpdHkgPT4gKHsgaW5mbzogZW50aXR5SW5mbywgZW50aXR5IH0pXG4gICAgKS5waXBlKG1hcCh0cmFuc2Zvcm1Gcm9tU2VydmVyKGVudGl0eUluZm8pKSk7XG4gIH1cblxuICBsb2FkQWxsPFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxJRW50aXR5UmVmPFRNb2RlbFtdPj4ge1xuICAgIHJldHVybiBjYWxsU2VydmljZTxUTW9kZWwsIFRNb2RlbFtdLCBJRW50aXR5UmVmPFRNb2RlbFtdPj4oXG4gICAgICAnbG9hZEFsbCcsXG4gICAgICBlbnRpdHlJbmZvLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgIHNlcnZpY2UgPT4gc2VydmljZS5sb2FkQWxsKGVudGl0eUluZm8sIGNyaXRlcmlhKSxcbiAgICAgIGVudGl0aWVzID0+ICh7IGluZm86IGVudGl0eUluZm8sIGVudGl0eTogZW50aXRpZXMgfSlcbiAgICApLnBpcGUobWFwKHRyYW5zZm9ybVNldEZyb21TZXJ2ZXIoZW50aXR5SW5mbykpKTtcbiAgfVxuXG4gIGxvYWRNYW55PFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxJRW50aXR5UmVmPFRNb2RlbFtdPj4ge1xuICAgIHJldHVybiBjYWxsU2VydmljZTxUTW9kZWwsIFRNb2RlbFtdLCBJRW50aXR5UmVmPFRNb2RlbFtdPj4oXG4gICAgICAnbG9hZE1hbnknLFxuICAgICAgZW50aXR5SW5mbyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICBzZXJ2aWNlID0+IHNlcnZpY2UubG9hZE1hbnkoZW50aXR5SW5mbywgY3JpdGVyaWEpLFxuICAgICAgZW50aXRpZXMgPT4gKHsgaW5mbzogZW50aXR5SW5mbywgZW50aXR5OiBlbnRpdGllcyB9KVxuICAgICkucGlwZShtYXAodHJhbnNmb3JtU2V0RnJvbVNlcnZlcihlbnRpdHlJbmZvKSkpO1xuICB9XG5cbiAgbG9hZFBhZ2U8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgcGFnZTogUGFnZSwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPElFbnRpdHlQYWdlUmVmPFRNb2RlbD4+IHtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBJRW50aXR5V2l0aFBhZ2VJbmZvPFRNb2RlbD4sIElFbnRpdHlQYWdlUmVmPFRNb2RlbD4+KFxuICAgICAgJ2xvYWRQYWdlJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmxvYWRQYWdlKGVudGl0eUluZm8sIHBhZ2UsIGNyaXRlcmlhKSxcbiAgICAgIHJlc3VsdCA9PiAoe1xuICAgICAgICBpbmZvOiBlbnRpdHlJbmZvLFxuICAgICAgICBwYWdlSW5mbzogcmVzdWx0LnBhZ2VJbmZvLFxuICAgICAgICBlbnRpdHk6IHJlc3VsdC5lbnRpdGllc1xuICAgICAgfSlcbiAgICApLnBpcGUobWFwKHRyYW5zZm9ybVBhZ2VGcm9tU2VydmVyKGVudGl0eUluZm8pKSk7XG4gIH1cblxuICBsb2FkUmFuZ2U8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgcmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJhbmdlUmVmPFRNb2RlbD4+IHtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBJRW50aXR5V2l0aFJhbmdlSW5mbzxUTW9kZWw+LCBJRW50aXR5UmFuZ2VSZWY8VE1vZGVsPj4oXG4gICAgICAnbG9hZFJhbmdlJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmxvYWRSYW5nZShlbnRpdHlJbmZvLCByYW5nZSwgY3JpdGVyaWEpLFxuICAgICAgcmVzdWx0ID0+ICh7XG4gICAgICAgIGluZm86IGVudGl0eUluZm8sXG4gICAgICAgIHJhbmdlSW5mbzogcmVzdWx0LnJhbmdlSW5mbyxcbiAgICAgICAgZW50aXR5OiByZXN1bHQuZW50aXRpZXNcbiAgICAgIH0pXG4gICAgKS5waXBlKG1hcCh0cmFuc2Zvcm1SYW5nZUZyb21TZXJ2ZXIoZW50aXR5SW5mbykpKTtcbiAgfVxuXG4gIGNyZWF0ZTxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPElFbnRpdHlSZWY8VE1vZGVsPj4ge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkID0gdHJhbnNmb3JtVG9TZXJ2ZXIoZW50aXR5SW5mbykoZW50aXR5KTtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBUTW9kZWwsIElFbnRpdHlSZWY8VE1vZGVsPj4oXG4gICAgICAnY3JlYXRlJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmNyZWF0ZShlbnRpdHlJbmZvLCB0cmFuc2Zvcm1lZCwgY3JpdGVyaWEsIGVudGl0eSksXG4gICAgICBjcmVhdGVkID0+ICh7IGluZm86IGVudGl0eUluZm8sIGVudGl0eTogdHJhbnNmb3JtU2luZ2xlRnJvbVNlcnZlcihlbnRpdHlJbmZvKShjcmVhdGVkKSBhcyBUTW9kZWwgfSlcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlTWFueTxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxJRW50aXR5UmVmPFRNb2RlbFtdPj4ge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkID0gdHJhbnNmb3JtU2V0VG9TZXJ2ZXIoZW50aXR5SW5mbykoZW50aXRpZXMpO1xuICAgIHJldHVybiBjYWxsU2VydmljZTxUTW9kZWwsIFRNb2RlbFtdLCBJRW50aXR5UmVmPFRNb2RlbFtdPj4oXG4gICAgICAnY3JlYXRlTWFueScsXG4gICAgICBlbnRpdHlJbmZvLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgIHNlcnZpY2UgPT4gc2VydmljZS5jcmVhdGVNYW55KGVudGl0eUluZm8sIHRyYW5zZm9ybWVkLCBjcml0ZXJpYSwgZW50aXRpZXMpLFxuICAgICAgY3JlYXRlZCA9PiAoeyBpbmZvOiBlbnRpdHlJbmZvLCBlbnRpdHk6IHRyYW5zZm9ybUFycmF5RnJvbVNlcnZlcihlbnRpdHlJbmZvKShjcmVhdGVkKSBhcyBUTW9kZWxbXSB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGU8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxJRW50aXR5UmVmPFRNb2RlbD4+IHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybVRvU2VydmVyKGVudGl0eUluZm8pKGVudGl0eSk7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgVE1vZGVsLCBJRW50aXR5UmVmPFRNb2RlbD4+KFxuICAgICAgJ3VwZGF0ZScsXG4gICAgICBlbnRpdHlJbmZvLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgIHNlcnZpY2UgPT4gc2VydmljZS51cGRhdGUoZW50aXR5SW5mbywgdHJhbnNmb3JtZWQsIGNyaXRlcmlhLCBlbnRpdHkpLFxuICAgICAgdXBkYXRlZCA9PiAoeyBpbmZvOiBlbnRpdHlJbmZvLCBlbnRpdHk6IHRyYW5zZm9ybVNpbmdsZUZyb21TZXJ2ZXIoZW50aXR5SW5mbykodXBkYXRlZCkgYXMgVE1vZGVsIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZU1hbnk8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWxbXT4+IHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybVNldFRvU2VydmVyKGVudGl0eUluZm8pKGVudGl0aWVzKTtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBUTW9kZWxbXSwgSUVudGl0eVJlZjxUTW9kZWxbXT4+KFxuICAgICAgJ3VwZGF0ZU1hbnknLFxuICAgICAgZW50aXR5SW5mbyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICBzZXJ2aWNlID0+IHNlcnZpY2UudXBkYXRlTWFueShlbnRpdHlJbmZvLCB0cmFuc2Zvcm1lZCwgY3JpdGVyaWEsIGVudGl0aWVzKSxcbiAgICAgIHVwZGF0ZWRFbnRpdGllcyA9PiAoe1xuICAgICAgICBpbmZvOiBlbnRpdHlJbmZvLFxuICAgICAgICBlbnRpdHk6IHRyYW5zZm9ybUFycmF5RnJvbVNlcnZlcihlbnRpdHlJbmZvKSh1cGRhdGVkRW50aXRpZXMpIGFzIFRNb2RlbFtdXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZXBsYWNlPFRNb2RlbD4oZW50aXR5SW5mbzogSUVudGl0eUluZm8sIGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWw+PiB7XG4gICAgY29uc3QgdHJhbnNmb3JtZWQgPSB0cmFuc2Zvcm1Ub1NlcnZlcihlbnRpdHlJbmZvKShlbnRpdHkpO1xuICAgIHJldHVybiBjYWxsU2VydmljZTxUTW9kZWwsIFRNb2RlbCwgSUVudGl0eVJlZjxUTW9kZWw+PihcbiAgICAgICdyZXBsYWNlJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLnJlcGxhY2UoZW50aXR5SW5mbywgdHJhbnNmb3JtZWQsIGNyaXRlcmlhLCBlbnRpdHkpLFxuICAgICAgcmVwbGFjZWQgPT4gKHsgaW5mbzogZW50aXR5SW5mbywgZW50aXR5OiB0cmFuc2Zvcm1TaW5nbGVGcm9tU2VydmVyKGVudGl0eUluZm8pKHJlcGxhY2VkKSBhcyBUTW9kZWwgfSlcbiAgICApO1xuICB9XG5cbiAgcmVwbGFjZU1hbnk8VE1vZGVsPihlbnRpdHlJbmZvOiBJRW50aXR5SW5mbywgZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eVJlZjxUTW9kZWxbXT4+IHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybVNldFRvU2VydmVyKGVudGl0eUluZm8pKGVudGl0aWVzKTtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBUTW9kZWxbXSwgSUVudGl0eVJlZjxUTW9kZWxbXT4+KFxuICAgICAgJ3JlcGxhY2VNYW55JyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLnJlcGxhY2VNYW55KGVudGl0eUluZm8sIHRyYW5zZm9ybWVkLCBjcml0ZXJpYSwgZW50aXRpZXMpLFxuICAgICAgcmVwbGFjZWQgPT4gKHsgaW5mbzogZW50aXR5SW5mbywgZW50aXR5OiB0cmFuc2Zvcm1BcnJheUZyb21TZXJ2ZXIoZW50aXR5SW5mbykocmVwbGFjZWQpIGFzIFRNb2RlbFtdIH0pXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZTxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnkpOiBPYnNlcnZhYmxlPElFbnRpdHlSZWY8VE1vZGVsPj4ge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkID0gdHJhbnNmb3JtVG9TZXJ2ZXIoZW50aXR5SW5mbykoZW50aXR5KTtcbiAgICByZXR1cm4gY2FsbFNlcnZpY2U8VE1vZGVsLCBUTW9kZWwsIElFbnRpdHlSZWY8VE1vZGVsPj4oXG4gICAgICAnZGVsZXRlJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmRlbGV0ZShlbnRpdHlJbmZvLCB0cmFuc2Zvcm1lZCwgY3JpdGVyaWEsIGVudGl0eSksXG4gICAgICBkZWxldGVkID0+ICh7IGluZm86IGVudGl0eUluZm8sIGVudGl0eTogdHJhbnNmb3JtU2luZ2xlRnJvbVNlcnZlcihlbnRpdHlJbmZvKShkZWxldGVkKSBhcyBUTW9kZWwgfSlcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlTWFueTxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55KTogT2JzZXJ2YWJsZTxJRW50aXR5UmVmPFRNb2RlbFtdPj4ge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkID0gdHJhbnNmb3JtU2V0VG9TZXJ2ZXIoZW50aXR5SW5mbykoZW50aXRpZXMpO1xuICAgIHJldHVybiBjYWxsU2VydmljZTxUTW9kZWwsIFRNb2RlbFtdLCBJRW50aXR5UmVmPFRNb2RlbFtdPj4oXG4gICAgICAnZGVsZXRlTWFueScsXG4gICAgICBlbnRpdHlJbmZvLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgIHNlcnZpY2UgPT4gc2VydmljZS5kZWxldGVNYW55KGVudGl0eUluZm8sIHRyYW5zZm9ybWVkLCBjcml0ZXJpYSwgZW50aXRpZXMpLFxuICAgICAgZGVsZXRlZCA9PiAoeyBpbmZvOiBlbnRpdHlJbmZvLCBlbnRpdHk6IHRyYW5zZm9ybUFycmF5RnJvbVNlcnZlcihlbnRpdHlJbmZvKShkZWxldGVkKSBhcyBUTW9kZWxbXSB9KVxuICAgICk7XG4gIH1cblxuICBkZWxldGVCeUtleTxUTW9kZWw+KGVudGl0eUluZm86IElFbnRpdHlJbmZvLCBrZXk6IEVudGl0eUlkZW50aXR5LCBjcml0ZXJpYT86IGFueSk6IE9ic2VydmFibGU8SUVudGl0eUlkZW50aXR5UmVmPiB7XG4gICAgcmV0dXJuIGNhbGxTZXJ2aWNlPFRNb2RlbCwgRW50aXR5SWRlbnRpdHksIElFbnRpdHlJZGVudGl0eVJlZj4oXG4gICAgICAnZGVsZXRlQnlLZXknLFxuICAgICAgZW50aXR5SW5mbyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICBzZXJ2aWNlID0+IHNlcnZpY2UuZGVsZXRlQnlLZXkoZW50aXR5SW5mbywga2V5LCBjcml0ZXJpYSksXG4gICAgICBkZWxldGVkS2V5ID0+ICh7IGluZm86IGVudGl0eUluZm8sIGVudGl0eUlkZW50aXR5OiBkZWxldGVkS2V5IH0pXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZU1hbnlCeUtleTxUTW9kZWw+KFxuICAgIGVudGl0eUluZm86IElFbnRpdHlJbmZvLFxuICAgIGtleXM6IEVudGl0eUlkZW50aXR5W10sXG4gICAgY3JpdGVyaWE/OiBhbnlcbiAgKTogT2JzZXJ2YWJsZTxJRW50aXR5SWRlbnRpdGllc1JlZj4ge1xuICAgIHJldHVybiBjYWxsU2VydmljZTxUTW9kZWwsIEVudGl0eUlkZW50aXR5W10sIElFbnRpdHlJZGVudGl0aWVzUmVmPihcbiAgICAgICdkZWxldGVNYW55QnlLZXlzJyxcbiAgICAgIGVudGl0eUluZm8sXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgc2VydmljZSA9PiBzZXJ2aWNlLmRlbGV0ZU1hbnlCeUtleXMoZW50aXR5SW5mbywga2V5cywgY3JpdGVyaWEpLFxuICAgICAgZGVsZXRlZEtleXMgPT4gKHsgaW5mbzogZW50aXR5SW5mbywgZW50aXR5SWRlbnRpdGllczogZGVsZXRlZEtleXMgfSlcbiAgICApO1xuICB9XG59XG4iXX0=

@@ -17,2 +17,2 @@ /**

export { NgrxAutoEntityModule, NgRxAutoEntityRootModuleWithEffects, NgRxAutoEntityRootModuleNoEntityEffects, NgRxAutoEntityRootModuleNoEffects, NgRxAutoEntityFeatureModule, getNgRxAutoEntityMetaReducer } from './lib/module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixXQUFXLEVBUVosTUFBTSxZQUFZLENBQUM7QUFjcEIsT0FBTyxFQUVMLFlBQVksRUFDWixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUd0QixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLElBQUksRUFDSixXQUFXLEVBQ1gsV0FBVyxFQUNYLE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFFBQVEsRUFDUixlQUFlLEVBQ2YsZUFBZSxFQUNmLFFBQVEsRUFDUixlQUFlLEVBQ2YsZUFBZSxFQUNmLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixhQUFhLEVBQ2IsTUFBTSxFQUNOLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixhQUFhLEVBQ2IsYUFBYSxFQUNiLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixhQUFhLEVBQ2IsYUFBYSxFQUNiLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixXQUFXLEVBQ1gsVUFBVSxFQUNWLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixZQUFZLEVBQ1osUUFBUSxFQUNSLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUlMLE1BQU0sRUFDTixHQUFHLEVBQ0gsS0FBSyxFQUNMLEtBQUssRUFDTCxJQUFJLEVBQ0osTUFBTSxFQUNOLFFBQVEsRUFDVCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQ0wscUJBQXFCLEVBVXRCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFDYixjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixZQUFZLEVBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG1DQUFtQyxFQUNuQyx1Q0FBdUMsRUFDdkMsaUNBQWlDLEVBQ2pDLDJCQUEyQixFQUUzQiw0QkFBNEIsRUFDN0IsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5ncngtYXV0by1lbnRpdHlcbiAqL1xuXG5leHBvcnQge1xuICBidWlsZEZlYXR1cmVTdGF0ZSxcbiAgYnVpbGRTdGF0ZSxcbiAgYnVpbGRTZWxlY3Rvck1hcCxcbiAgYnVpbGRGYWNhZGUsXG4gIElFbnRpdHlEaWN0aW9uYXJ5LFxuICBJRW50aXR5U3RhdGUsXG4gIElFbnRpdHlGYWNhZGUsXG4gIElNb2RlbFN0YXRlLFxuICBJU2VsZWN0b3JNYXAsXG4gIElNb2RlbENsYXNzLFxuICBFbnRpdHlJZGVudGl0eVxufSBmcm9tICcuL2xpYi91dGlsJztcblxuZXhwb3J0IHtcbiAgSVBhZ2UsXG4gIFBhZ2UsXG4gIElGaXJzdExhc3RSYW5nZSxcbiAgSVJhbmdlSW5mbyxcbiAgSVNraXBUYWtlUmFuZ2UsXG4gIElTdGFydEVuZFJhbmdlLFxuICBSYW5nZSxcbiAgUmFuZ2VWYWx1ZSxcbiAgSVBhZ2VJbmZvXG59IGZyb20gJy4vbGliL21vZGVscyc7XG5cbmV4cG9ydCB7XG4gIElDb3JyZWxhdGVkQWN0aW9uLFxuICBvZkVudGl0eVR5cGUsXG4gIG9mRW50aXR5QWN0aW9uLFxuICBmcm9tRW50aXR5QWN0aW9ucyxcbiAgaXNFbnRpdHlBY3Rpb25JbnN0YW5jZSxcbiAgSUVudGl0eUluZm8sXG4gIEVudGl0eUFjdGlvbnMsXG4gIEVudGl0eUFjdGlvbixcbiAgRW50aXR5QWN0aW9uVHlwZXMsXG4gIExvYWQsXG4gIExvYWRGYWlsdXJlLFxuICBMb2FkU3VjY2VzcyxcbiAgTG9hZEFsbCxcbiAgTG9hZEFsbEZhaWx1cmUsXG4gIExvYWRBbGxTdWNjZXNzLFxuICBMb2FkTWFueSxcbiAgTG9hZE1hbnlGYWlsdXJlLFxuICBMb2FkTWFueVN1Y2Nlc3MsXG4gIExvYWRQYWdlLFxuICBMb2FkUGFnZUZhaWx1cmUsXG4gIExvYWRQYWdlU3VjY2VzcyxcbiAgTG9hZFJhbmdlLFxuICBMb2FkUmFuZ2VGYWlsdXJlLFxuICBMb2FkUmFuZ2VTdWNjZXNzLFxuICBDcmVhdGVGYWlsdXJlLFxuICBDcmVhdGVTdWNjZXNzLFxuICBDcmVhdGUsXG4gIENyZWF0ZU1hbnksXG4gIENyZWF0ZU1hbnlGYWlsdXJlLFxuICBDcmVhdGVNYW55U3VjY2VzcyxcbiAgVXBkYXRlLFxuICBVcGRhdGVTdWNjZXNzLFxuICBVcGRhdGVGYWlsdXJlLFxuICBVcGRhdGVNYW55LFxuICBVcGRhdGVNYW55U3VjY2VzcyxcbiAgVXBkYXRlTWFueUZhaWx1cmUsXG4gIFJlcGxhY2UsXG4gIFJlcGxhY2VGYWlsdXJlLFxuICBSZXBsYWNlU3VjY2VzcyxcbiAgUmVwbGFjZU1hbnksXG4gIFJlcGxhY2VNYW55RmFpbHVyZSxcbiAgUmVwbGFjZU1hbnlTdWNjZXNzLFxuICBEZWxldGUsXG4gIERlbGV0ZUZhaWx1cmUsXG4gIERlbGV0ZVN1Y2Nlc3MsXG4gIERlbGV0ZUJ5S2V5LFxuICBEZWxldGVCeUtleUZhaWx1cmUsXG4gIERlbGV0ZUJ5S2V5U3VjY2VzcyxcbiAgRGVsZXRlTWFueSxcbiAgRGVsZXRlTWFueUZhaWx1cmUsXG4gIERlbGV0ZU1hbnlTdWNjZXNzLFxuICBEZWxldGVNYW55QnlLZXlzLFxuICBEZWxldGVNYW55QnlLZXlzRmFpbHVyZSxcbiAgRGVsZXRlTWFueUJ5S2V5c1N1Y2Nlc3MsXG4gIFNlbGVjdCxcbiAgU2VsZWN0QnlLZXksXG4gIFNlbGVjdE1hbnksXG4gIFNlbGVjdE1vcmUsXG4gIFNlbGVjdE1hbnlCeUtleXMsXG4gIFNlbGVjdE1vcmVCeUtleXMsXG4gIFNlbGVjdGVkLFxuICBTZWxlY3RlZE1hbnksXG4gIERlc2VsZWN0LFxuICBEZXNlbGVjdE1hbnksXG4gIERlc2VsZWN0TWFueUJ5S2V5cyxcbiAgRGVzZWxlY3RBbGwsXG4gIERlc2VsZWN0ZWQsXG4gIEVkaXQsXG4gIEVkaXRlZCxcbiAgQ2hhbmdlLFxuICBDaGFuZ2VkLFxuICBFbmRFZGl0LFxuICBFZGl0RW5kZWQsXG4gIENsZWFyXG59IGZyb20gJy4vbGliL2FjdGlvbnMnO1xuXG5leHBvcnQge1xuICBJRWZmZWN0RXhjbHVzaW9ucyxcbiAgSUVmZmVjdEV4Y2VwdCxcbiAgSUVudGl0eU9wdGlvbnMsXG4gIEVudGl0eSxcbiAgYWxsLFxuICBleHRyYSxcbiAgbG9hZHMsXG4gIGN1cmQsXG4gIGV4Y2VwdCxcbiAgbWF0Y2hpbmdcbn0gZnJvbSAnLi9saWIvZGVjb3JhdG9ycy9lbnRpdHknO1xuXG5leHBvcnQgeyBLZXksIGdldEtleSwgZ2V0S2V5RnJvbU1vZGVsLCBnZXRLZXlOYW1lcywgZ2V0S2V5TmFtZXNGcm9tTW9kZWwsIGNoZWNrS2V5TmFtZSB9IGZyb20gJy4vbGliL2RlY29yYXRvcnMva2V5JztcblxuZXhwb3J0IHsgRW50aXR5T3BlcmF0b3JzIH0gZnJvbSAnLi9saWIvb3BlcmF0b3JzJztcblxuZXhwb3J0IHsgYXV0b0VudGl0eVJlZHVjZXIsIGF1dG9FbnRpdHlNZXRhUmVkdWNlciwgc3RhdGVOYW1lRnJvbUFjdGlvbiB9IGZyb20gJy4vbGliL3JlZHVjZXInO1xuXG5leHBvcnQge1xuICBOZ3J4QXV0b0VudGl0eVNlcnZpY2UsXG4gIElFbnRpdHlXaXRoUmFuZ2VJbmZvLFxuICBJRW50aXR5V2l0aFBhZ2VJbmZvLFxuICBJRW50aXR5UmFuZ2VSZWYsXG4gIElFbnRpdHlQYWdlUmVmLFxuICBJRW50aXR5RXJyb3IsXG4gIElBdXRvRW50aXR5U2VydmljZSxcbiAgSUVudGl0eVJlZixcbiAgSUVudGl0eUlkZW50aXR5UmVmLFxuICBJRW50aXR5SWRlbnRpdGllc1JlZlxufSBmcm9tICcuL2xpYi9zZXJ2aWNlJztcblxuZXhwb3J0IHtcbiAgTG9hZEVmZmVjdHMsXG4gIExvYWRFZmZlY3QsXG4gIExvYWRBbGxFZmZlY3QsXG4gIExvYWRNYW55RWZmZWN0LFxuICBMb2FkUGFnZUVmZmVjdCxcbiAgTG9hZFJhbmdlRWZmZWN0LFxuICBDVURFZmZlY3RzLFxuICBDcmVhdGVFZmZlY3QsXG4gIENyZWF0ZU1hbnlFZmZlY3QsXG4gIFVwZGF0ZUVmZmVjdCxcbiAgVXBkYXRlTWFueUVmZmVjdCxcbiAgUmVwbGFjZUVmZmVjdCxcbiAgUmVwbGFjZU1hbnlFZmZlY3QsXG4gIERlbGV0ZUVmZmVjdCxcbiAgRGVsZXRlQnlLZXlFZmZlY3QsXG4gIERlbGV0ZU1hbnlFZmZlY3QsXG4gIERlbGV0ZU1hbnlCeUtleXNFZmZlY3QsXG4gIEVudGl0eUVmZmVjdHMsXG4gIEV4dHJhRWZmZWN0c1xufSBmcm9tICcuL2xpYi9lZmZlY3RzLmRlZmF1bHQnO1xuXG5leHBvcnQge1xuICBOZ3J4QXV0b0VudGl0eU1vZHVsZSxcbiAgTmdSeEF1dG9FbnRpdHlSb290TW9kdWxlV2l0aEVmZmVjdHMsXG4gIE5nUnhBdXRvRW50aXR5Um9vdE1vZHVsZU5vRW50aXR5RWZmZWN0cyxcbiAgTmdSeEF1dG9FbnRpdHlSb290TW9kdWxlTm9FZmZlY3RzLFxuICBOZ1J4QXV0b0VudGl0eUZlYXR1cmVNb2R1bGUsXG4gIE5nUnhBdXRvRW50aXR5TW9kdWxlQ29uZmlnLFxuICBnZXROZ1J4QXV0b0VudGl0eU1ldGFSZWR1Y2VyXG59IGZyb20gJy4vbGliL21vZHVsZSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixXQUFXLEVBUVosTUFBTSxZQUFZLENBQUM7QUFjcEIsT0FBTyxFQUVMLFlBQVksRUFDWixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUd0QixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLElBQUksRUFDSixXQUFXLEVBQ1gsV0FBVyxFQUNYLE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFFBQVEsRUFDUixlQUFlLEVBQ2YsZUFBZSxFQUNmLFFBQVEsRUFDUixlQUFlLEVBQ2YsZUFBZSxFQUNmLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixhQUFhLEVBQ2IsTUFBTSxFQUNOLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixhQUFhLEVBQ2IsYUFBYSxFQUNiLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixhQUFhLEVBQ2IsYUFBYSxFQUNiLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixXQUFXLEVBQ1gsVUFBVSxFQUNWLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixZQUFZLEVBQ1osUUFBUSxFQUNSLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUtMLE1BQU0sRUFDTixHQUFHLEVBQ0gsS0FBSyxFQUNMLEtBQUssRUFDTCxJQUFJLEVBQ0osTUFBTSxFQUNOLFFBQVEsRUFDVCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQ0wscUJBQXFCLEVBVXRCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFDYixjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixZQUFZLEVBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG1DQUFtQyxFQUNuQyx1Q0FBdUMsRUFDdkMsaUNBQWlDLEVBQ2pDLDJCQUEyQixFQUUzQiw0QkFBNEIsRUFDN0IsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5ncngtYXV0by1lbnRpdHlcbiAqL1xuXG5leHBvcnQge1xuICBidWlsZEZlYXR1cmVTdGF0ZSxcbiAgYnVpbGRTdGF0ZSxcbiAgYnVpbGRTZWxlY3Rvck1hcCxcbiAgYnVpbGRGYWNhZGUsXG4gIElFbnRpdHlEaWN0aW9uYXJ5LFxuICBJRW50aXR5U3RhdGUsXG4gIElFbnRpdHlGYWNhZGUsXG4gIElNb2RlbFN0YXRlLFxuICBJU2VsZWN0b3JNYXAsXG4gIElNb2RlbENsYXNzLFxuICBFbnRpdHlJZGVudGl0eVxufSBmcm9tICcuL2xpYi91dGlsJztcblxuZXhwb3J0IHtcbiAgSVBhZ2UsXG4gIFBhZ2UsXG4gIElGaXJzdExhc3RSYW5nZSxcbiAgSVJhbmdlSW5mbyxcbiAgSVNraXBUYWtlUmFuZ2UsXG4gIElTdGFydEVuZFJhbmdlLFxuICBSYW5nZSxcbiAgUmFuZ2VWYWx1ZSxcbiAgSVBhZ2VJbmZvXG59IGZyb20gJy4vbGliL21vZGVscyc7XG5cbmV4cG9ydCB7XG4gIElDb3JyZWxhdGVkQWN0aW9uLFxuICBvZkVudGl0eVR5cGUsXG4gIG9mRW50aXR5QWN0aW9uLFxuICBmcm9tRW50aXR5QWN0aW9ucyxcbiAgaXNFbnRpdHlBY3Rpb25JbnN0YW5jZSxcbiAgSUVudGl0eUluZm8sXG4gIEVudGl0eUFjdGlvbnMsXG4gIEVudGl0eUFjdGlvbixcbiAgRW50aXR5QWN0aW9uVHlwZXMsXG4gIExvYWQsXG4gIExvYWRGYWlsdXJlLFxuICBMb2FkU3VjY2VzcyxcbiAgTG9hZEFsbCxcbiAgTG9hZEFsbEZhaWx1cmUsXG4gIExvYWRBbGxTdWNjZXNzLFxuICBMb2FkTWFueSxcbiAgTG9hZE1hbnlGYWlsdXJlLFxuICBMb2FkTWFueVN1Y2Nlc3MsXG4gIExvYWRQYWdlLFxuICBMb2FkUGFnZUZhaWx1cmUsXG4gIExvYWRQYWdlU3VjY2VzcyxcbiAgTG9hZFJhbmdlLFxuICBMb2FkUmFuZ2VGYWlsdXJlLFxuICBMb2FkUmFuZ2VTdWNjZXNzLFxuICBDcmVhdGVGYWlsdXJlLFxuICBDcmVhdGVTdWNjZXNzLFxuICBDcmVhdGUsXG4gIENyZWF0ZU1hbnksXG4gIENyZWF0ZU1hbnlGYWlsdXJlLFxuICBDcmVhdGVNYW55U3VjY2VzcyxcbiAgVXBkYXRlLFxuICBVcGRhdGVTdWNjZXNzLFxuICBVcGRhdGVGYWlsdXJlLFxuICBVcGRhdGVNYW55LFxuICBVcGRhdGVNYW55U3VjY2VzcyxcbiAgVXBkYXRlTWFueUZhaWx1cmUsXG4gIFJlcGxhY2UsXG4gIFJlcGxhY2VGYWlsdXJlLFxuICBSZXBsYWNlU3VjY2VzcyxcbiAgUmVwbGFjZU1hbnksXG4gIFJlcGxhY2VNYW55RmFpbHVyZSxcbiAgUmVwbGFjZU1hbnlTdWNjZXNzLFxuICBEZWxldGUsXG4gIERlbGV0ZUZhaWx1cmUsXG4gIERlbGV0ZVN1Y2Nlc3MsXG4gIERlbGV0ZUJ5S2V5LFxuICBEZWxldGVCeUtleUZhaWx1cmUsXG4gIERlbGV0ZUJ5S2V5U3VjY2VzcyxcbiAgRGVsZXRlTWFueSxcbiAgRGVsZXRlTWFueUZhaWx1cmUsXG4gIERlbGV0ZU1hbnlTdWNjZXNzLFxuICBEZWxldGVNYW55QnlLZXlzLFxuICBEZWxldGVNYW55QnlLZXlzRmFpbHVyZSxcbiAgRGVsZXRlTWFueUJ5S2V5c1N1Y2Nlc3MsXG4gIFNlbGVjdCxcbiAgU2VsZWN0QnlLZXksXG4gIFNlbGVjdE1hbnksXG4gIFNlbGVjdE1vcmUsXG4gIFNlbGVjdE1hbnlCeUtleXMsXG4gIFNlbGVjdE1vcmVCeUtleXMsXG4gIFNlbGVjdGVkLFxuICBTZWxlY3RlZE1hbnksXG4gIERlc2VsZWN0LFxuICBEZXNlbGVjdE1hbnksXG4gIERlc2VsZWN0TWFueUJ5S2V5cyxcbiAgRGVzZWxlY3RBbGwsXG4gIERlc2VsZWN0ZWQsXG4gIEVkaXQsXG4gIEVkaXRlZCxcbiAgQ2hhbmdlLFxuICBDaGFuZ2VkLFxuICBFbmRFZGl0LFxuICBFZGl0RW5kZWQsXG4gIENsZWFyXG59IGZyb20gJy4vbGliL2FjdGlvbnMnO1xuXG5leHBvcnQge1xuICBJRWZmZWN0RXhjbHVzaW9ucyxcbiAgSUVmZmVjdEV4Y2VwdCxcbiAgSUVudGl0eU9wdGlvbnMsXG4gIElFbnRpdHlUcmFuc2Zvcm1lcixcbiAgRW50aXR5LFxuICBhbGwsXG4gIGV4dHJhLFxuICBsb2FkcyxcbiAgY3VyZCxcbiAgZXhjZXB0LFxuICBtYXRjaGluZ1xufSBmcm9tICcuL2xpYi9kZWNvcmF0b3JzL2VudGl0eSc7XG5cbmV4cG9ydCB7IEtleSwgZ2V0S2V5LCBnZXRLZXlGcm9tTW9kZWwsIGdldEtleU5hbWVzLCBnZXRLZXlOYW1lc0Zyb21Nb2RlbCwgY2hlY2tLZXlOYW1lIH0gZnJvbSAnLi9saWIvZGVjb3JhdG9ycy9rZXknO1xuXG5leHBvcnQgeyBFbnRpdHlPcGVyYXRvcnMgfSBmcm9tICcuL2xpYi9vcGVyYXRvcnMnO1xuXG5leHBvcnQgeyBhdXRvRW50aXR5UmVkdWNlciwgYXV0b0VudGl0eU1ldGFSZWR1Y2VyLCBzdGF0ZU5hbWVGcm9tQWN0aW9uIH0gZnJvbSAnLi9saWIvcmVkdWNlcic7XG5cbmV4cG9ydCB7XG4gIE5ncnhBdXRvRW50aXR5U2VydmljZSxcbiAgSUVudGl0eVdpdGhSYW5nZUluZm8sXG4gIElFbnRpdHlXaXRoUGFnZUluZm8sXG4gIElFbnRpdHlSYW5nZVJlZixcbiAgSUVudGl0eVBhZ2VSZWYsXG4gIElFbnRpdHlFcnJvcixcbiAgSUF1dG9FbnRpdHlTZXJ2aWNlLFxuICBJRW50aXR5UmVmLFxuICBJRW50aXR5SWRlbnRpdHlSZWYsXG4gIElFbnRpdHlJZGVudGl0aWVzUmVmXG59IGZyb20gJy4vbGliL3NlcnZpY2UnO1xuXG5leHBvcnQge1xuICBMb2FkRWZmZWN0cyxcbiAgTG9hZEVmZmVjdCxcbiAgTG9hZEFsbEVmZmVjdCxcbiAgTG9hZE1hbnlFZmZlY3QsXG4gIExvYWRQYWdlRWZmZWN0LFxuICBMb2FkUmFuZ2VFZmZlY3QsXG4gIENVREVmZmVjdHMsXG4gIENyZWF0ZUVmZmVjdCxcbiAgQ3JlYXRlTWFueUVmZmVjdCxcbiAgVXBkYXRlRWZmZWN0LFxuICBVcGRhdGVNYW55RWZmZWN0LFxuICBSZXBsYWNlRWZmZWN0LFxuICBSZXBsYWNlTWFueUVmZmVjdCxcbiAgRGVsZXRlRWZmZWN0LFxuICBEZWxldGVCeUtleUVmZmVjdCxcbiAgRGVsZXRlTWFueUVmZmVjdCxcbiAgRGVsZXRlTWFueUJ5S2V5c0VmZmVjdCxcbiAgRW50aXR5RWZmZWN0cyxcbiAgRXh0cmFFZmZlY3RzXG59IGZyb20gJy4vbGliL2VmZmVjdHMuZGVmYXVsdCc7XG5cbmV4cG9ydCB7XG4gIE5ncnhBdXRvRW50aXR5TW9kdWxlLFxuICBOZ1J4QXV0b0VudGl0eVJvb3RNb2R1bGVXaXRoRWZmZWN0cyxcbiAgTmdSeEF1dG9FbnRpdHlSb290TW9kdWxlTm9FbnRpdHlFZmZlY3RzLFxuICBOZ1J4QXV0b0VudGl0eVJvb3RNb2R1bGVOb0VmZmVjdHMsXG4gIE5nUnhBdXRvRW50aXR5RmVhdHVyZU1vZHVsZSxcbiAgTmdSeEF1dG9FbnRpdHlNb2R1bGVDb25maWcsXG4gIGdldE5nUnhBdXRvRW50aXR5TWV0YVJlZHVjZXJcbn0gZnJvbSAnLi9saWIvbW9kdWxlJztcbiJdfQ==

@@ -21,2 +21,12 @@ import * as tslib_1 from "tslib";

*/
export function IEntityTransformer() { }
if (false) {
/** @type {?|undefined} */
IEntityTransformer.prototype.fromServer;
/** @type {?|undefined} */
IEntityTransformer.prototype.toServer;
}
/**
* @record
*/
export function IEntityOptions() { }

@@ -33,2 +43,4 @@ if (false) {

/** @type {?|undefined} */
IEntityOptions.prototype.transform;
/** @type {?|undefined} */
IEntityOptions.prototype.excludeEffects;

@@ -159,2 +171,2 @@ }

}); });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9kZWNvcmF0b3JzL2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQU1uRCxtQ0FFQzs7O0lBREMsK0JBQWdFOzs7OztBQUdsRSxvQ0FNQzs7O0lBTEMsbUNBQWtCOztJQUNsQixpQ0FBaUI7O0lBQ2pCLG9DQUFvQjs7SUFDcEIsa0NBQTRCOztJQUM1Qix3Q0FBbUQ7OztJQUcvQyx1QkFBdUIsR0FBRyxNQUFNLENBQUMsTUFBTTtJQUMzQyxHQUFDLGlCQUFpQixDQUFDLE1BQU0sSUFBRyxJQUFJO0lBQ2hDLEdBQUMsaUJBQWlCLENBQUMsVUFBVSxJQUFHLElBQUk7SUFDcEMsR0FBQyxpQkFBaUIsQ0FBQyxXQUFXLElBQUcsSUFBSTtJQUNyQyxHQUFDLGlCQUFpQixDQUFDLGdCQUFnQixJQUFHLElBQUk7SUFDMUMsR0FBQyxpQkFBaUIsQ0FBQyxRQUFRLElBQUcsSUFBSTtJQUNsQyxHQUFDLGlCQUFpQixDQUFDLFlBQVksSUFBRyxJQUFJO0lBQ3RDLEdBQUMsaUJBQWlCLENBQUMsa0JBQWtCLElBQUcsSUFBSTtJQUM1QyxHQUFDLGlCQUFpQixDQUFDLFdBQVcsSUFBRyxJQUFJO0lBQ3JDLEdBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFHLElBQUk7UUFDL0I7O0lBRUksc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU07SUFDMUMsR0FBQyxpQkFBaUIsQ0FBQyxNQUFNLElBQUcsSUFBSTtJQUNoQyxHQUFDLGlCQUFpQixDQUFDLFVBQVUsSUFBRyxJQUFJO0lBQ3BDLEdBQUMs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ckIsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7QUFFRCxNQUFNLEtBQU8saUJBQWlCOzs7O0FBQUc7Ozs7QUFBb0QsVUFBQyxNQUEyQjtJQUMvRyxPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQ1QsTUFBTTs7OztJQUFDLFVBQUMsRUFBb0I7WUFBbEIsMEJBQVUsRUFBRSxjQUFJO1FBQU8sT0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUE1RSxDQUE0RSxFQUFDLENBQy9HO0FBRkQsQ0FFQyxJQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFbnRpdHlBY3Rpb24sIEVudGl0eUFjdGlvblR5cGVzIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBFTlRJVFlfT1BUU19QUk9QIH0gZnJvbSAnLi9lbnRpdHktdG9rZW5zJztcblxuZXhwb3J0IHR5cGUgSUVmZmVjdEV4Y2x1c2lvbnMgPSB7XG4gIHJlYWRvbmx5IFthY3Rpb24gaW4gYW55IHwgRW50aXR5QWN0aW9uVHlwZXNdOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRWZmZWN0RXhjZXB0IHtcbiAgZXhjZXB0PzogKC4uLmFjdGlvbnM6IEVudGl0eUFjdGlvblR5cGVzW10pID0+IElFZmZlY3RFeGNsdXNpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlPcHRpb25zIHtcbiAgbW9kZWxOYW1lOiBzdHJpbmc7XG4gIHVyaU5hbWU/OiBzdHJpbmc7XG4gIHBsdXJhbE5hbWU/OiBzdHJpbmc7XG4gIGNvbXBhcmVyPzogKGEsIGIpID0+IG51bWJlcjtcbiAgZXhjbHVkZUVmZmVjdHM/OiBJRWZmZWN0RXhjbHVzaW9ucyB8IElFZmZlY3RFeGNlcHQ7XG59XG5cbmNvbnN0IEVYVFJBX0VGRkVDVFNfRVhDTFVTSU9OID0gT2JqZWN0LmZyZWV6ZSh7XG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5TZWxlY3RdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuU2VsZWN0TWFueV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5TZWxlY3RCeUtleV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5TZWxlY3RNYW55QnlLZXlzXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlc2VsZWN0XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlc2VsZWN0TWFueV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZXNlbGVjdE1hbnlCeUtleXNdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVzZWxlY3RBbGxdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuQ2xlYXJdOiB0cnVlXG59KTtcblxuY29uc3QgQ1VSRF9FRkZFQ1RTX0VYQ0xVU0lPTiA9IE9iamVjdC5mcmVlemUoe1xuICBbRW50aXR5QWN0aW9uVHlwZXMuQ3JlYXRlXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkNyZWF0ZU1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuVXBkYXRlXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlVwZGF0ZU1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuUmVwbGFjZV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5SZXBsYWNlTWFueV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZWxldGVdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVsZXRlTWFueV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZWxldGVCeUtleV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZWxldGVNYW55QnlLZXlzXTogdHJ1ZVxufSk7XG5cbmNvbnN0IExPQURfRUZGRUNUU19FWENMVVNJT04gPSBPYmplY3QuZnJlZXplKHtcbiAgW0VudGl0eUFjdGlvblR5cGVzLkxvYWRdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuTG9hZEFsbF06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5Mb2FkTWFueV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5Mb2FkUGFnZV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5Mb2FkUmFuZ2VdOiB0cnVlXG59KTtcblxuY29uc3QgQUxMX0VGRkVDVFNfRVhDTFVTSU9OID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC4uLkxPQURfRUZGRUNUU19FWENMVVNJT04sXG4gIC4uLkNVUkRfRUZGRUNUU19FWENMVVNJT04sXG4gIC4uLkVYVFJBX0VGRkVDVFNfRVhDTFVTSU9OXG59KTtcblxuZXhwb3J0IGNvbnN0IGV4Y2VwdCA9IChlZmZlY3RzPykgPT4gKC4uLmFjdGlvbnM6IEVudGl0eUFjdGlvblR5cGVzW10pOiBJRWZmZWN0RXhjbHVzaW9ucyA9PiAoe1xuICAuLi4oZWZmZWN0cyB8fCB7fSksXG4gIC4uLmFjdGlvbnMucmVkdWNlKChhY2MsIGFjdGlvbikgPT4gKHsgLi4uYWNjLCBbYWN0aW9uXTogZmFsc2UgfSksIHt9KVxufSk7XG5cbmV4cG9ydCBjb25zdCBtYXRjaGluZyA9ICguLi5hY3Rpb25zOiBFbnRpdHlBY3Rpb25UeXBlc1tdKTogSUVmZmVjdEV4Y2x1c2lvbnMgPT4gKHtcbiAgLi4uYWN0aW9ucy5yZWR1Y2UoKGFjYywgYWN0aW9uKSA9PiAoeyAuLi5hY2MsIFthY3Rpb25dOiB0cnVlIH0pLCB7fSlcbn0pO1xuXG5leHBvcnQgY29uc3QgYWxsID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC4uLkFMTF9FRkZFQ1RTX0VYQ0xVU0lPTixcbiAgZXhjZXB0OiBleGNlcHQoQUxMX0VGRkVDVFNfRVhDTFVTSU9OKVxufSk7XG5cbmV4cG9ydCBjb25zdCBleHRyYSA9IE9iamVjdC5mcmVlemUoe1xuICAuLi5FWFRSQV9FRkZFQ1RTX0VYQ0xVU0lPTixcbiAgZXhjZXB0OiBleGNlcHQoRVhUUkFfRUZGRUNUU19FWENMVVNJT04pXG59KTtcblxuZXhwb3J0IGNvbnN0IGxvYWRzID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC4uLkxPQURfRUZGRUNUU19FWENMVVNJT04sXG4gIGV4Y2VwdDogZXhjZXB0KExPQURfRUZGRUNUU19FWENMVVNJT04pXG59KTtcblxuZXhwb3J0IGNvbnN0IGN1cmQgPSBPYmplY3QuZnJlZXplKHtcbiAgLi4uQ1VSRF9FRkZFQ1RTX0VYQ0xVU0lPTixcbiAgZXhjZXB0OiBleGNlcHQoQ1VSRF9FRkZFQ1RTX0VYQ0xVU0lPTilcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gRW50aXR5KG9wdGlvbnM6IElFbnRpdHlPcHRpb25zKSB7XG4gIHJldHVybiBmdW5jdGlvbiBlbnRpdHlEZWNvcmF0b3IoY29uc3RydWN0b3I6IGFueSkge1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBvcHRpb25zO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb25zdHJ1Y3RvciwgRU5USVRZX09QVFNfUFJPUCwgZGVzY3JpcHRvcik7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBzaG91bGRBcHBseUVmZmVjdCA9IDxUTW9kZWwsIFRBY3Rpb24gZXh0ZW5kcyBFbnRpdHlBY3Rpb248VE1vZGVsPj4oKSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPFRBY3Rpb24+KSA9PlxuICBzb3VyY2UucGlwZShcbiAgICBmaWx0ZXIoKHsgYWN0aW9uVHlwZSwgaW5mbyB9KSA9PiAhKChpbmZvLm1vZGVsVHlwZVtFTlRJVFlfT1BUU19QUk9QXSB8fCB7fSkuZXhjbHVkZUVmZmVjdHMgfHwge30pW2FjdGlvblR5cGVdKVxuICApO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9kZWNvcmF0b3JzL2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQU1uRCxtQ0FFQzs7O0lBREMsK0JBQWdFOzs7OztBQUdsRSx3Q0FHQzs7O0lBRkMsd0NBQWdDOztJQUNoQyxzQ0FBZ0M7Ozs7O0FBR2xDLG9DQU9DOzs7SUFOQyxtQ0FBa0I7O0lBQ2xCLGlDQUFpQjs7SUFDakIsb0NBQW9COztJQUNwQixrQ0FBNEI7O0lBQzVCLG1DQUFpQzs7SUFDakMsd0NBQW1EOzs7SUFHL0MsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLE1BQU07SUFDM0MsR0FBQyxpQkFBaUIsQ0FBQyxNQUFNLElBQUcsSUFBSTtJQUNoQyxHQUFDLGlCQUFpQixDQUFDLFVBQVUsSUFBRyxJQUFJO0lBQ3BDLEdBQUMsaUJBQWlCLENBQUMsV0FBVyxJQUFHLElBQUk7SUFDckMsR0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsSUFBRyxJQUFJO0lBQzFDLEdBQUMsaUJBQWlCLENBQUMsUUFBUSxJQUFHLElBQUk7SUFDbEMsR0FBQyxpQkFBaUIsQ0FBQyxZQUFZLElBQUcsSUFBSTtJQUN0QyxHQUFDLGlCQUFpQixDQUFDLGtCQUFrQixJQUFHLElBQUk7SUFDNUMsR0FBQyxpQkFBaUIsQ0FBQyxXQUFXLElBQUcsSUFBSTtJQUNyQyxHQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBRyxJQUFJO1FBQy9COztJQUVJLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNO0lBQzFDLEdBQUMsaUJBQWlCLENBQUMsTUFBTSxJ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VyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWpFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUMsRUFBQztBQUNKLENBQUM7O0FBRUQsTUFBTSxLQUFPLGlCQUFpQjs7OztBQUFHOzs7O0FBQW9ELFVBQUMsTUFBMkI7SUFDL0csT0FBQSxNQUFNLENBQUMsSUFBSSxDQUNULE1BQU07Ozs7SUFBQyxVQUFDLEVBQW9CO1lBQWxCLDBCQUFVLEVBQUUsY0FBSTtRQUFPLE9BQUEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFBNUUsQ0FBNEUsRUFBQyxDQUMvRztBQUZELENBRUMsSUFBQSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRW50aXR5QWN0aW9uLCBFbnRpdHlBY3Rpb25UeXBlcyB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgRU5USVRZX09QVFNfUFJPUCB9IGZyb20gJy4vZW50aXR5LXRva2Vucyc7XG5cbmV4cG9ydCB0eXBlIElFZmZlY3RFeGNsdXNpb25zID0ge1xuICByZWFkb25seSBbYWN0aW9uIGluIGFueSB8IEVudGl0eUFjdGlvblR5cGVzXTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVmZmVjdEV4Y2VwdCB7XG4gIGV4Y2VwdD86ICguLi5hY3Rpb25zOiBFbnRpdHlBY3Rpb25UeXBlc1tdKSA9PiBJRWZmZWN0RXhjbHVzaW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5VHJhbnNmb3JtZXIge1xuICBmcm9tU2VydmVyPzogKGRhdGE6IGFueSkgPT4gYW55O1xuICB0b1NlcnZlcj86IChlbnRpdHk6IGFueSkgPT4gYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlPcHRpb25zIHtcbiAgbW9kZWxOYW1lOiBzdHJpbmc7XG4gIHVyaU5hbWU/OiBzdHJpbmc7XG4gIHBsdXJhbE5hbWU/OiBzdHJpbmc7XG4gIGNvbXBhcmVyPzogKGEsIGIpID0+IG51bWJlcjtcbiAgdHJhbnNmb3JtPzogSUVudGl0eVRyYW5zZm9ybWVyW107XG4gIGV4Y2x1ZGVFZmZlY3RzPzogSUVmZmVjdEV4Y2x1c2lvbnMgfCBJRWZmZWN0RXhjZXB0O1xufVxuXG5jb25zdCBFWFRSQV9FRkZFQ1RTX0VYQ0xVU0lPTiA9IE9iamVjdC5mcmVlemUoe1xuICBbRW50aXR5QWN0aW9uVHlwZXMuU2VsZWN0XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlNlbGVjdE1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuU2VsZWN0QnlLZXldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuU2VsZWN0TWFueUJ5S2V5c106IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZXNlbGVjdF06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5EZXNlbGVjdE1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVzZWxlY3RNYW55QnlLZXlzXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlc2VsZWN0QWxsXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkNsZWFyXTogdHJ1ZVxufSk7XG5cbmNvbnN0IENVUkRfRUZGRUNUU19FWENMVVNJT04gPSBPYmplY3QuZnJlZXplKHtcbiAgW0VudGl0eUFjdGlvblR5cGVzLkNyZWF0ZV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5DcmVhdGVNYW55XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlVwZGF0ZV06IHRydWUsXG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5VcGRhdGVNYW55XTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLlJlcGxhY2VdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuUmVwbGFjZU1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVsZXRlXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkRlbGV0ZU1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVsZXRlQnlLZXldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuRGVsZXRlTWFueUJ5S2V5c106IHRydWVcbn0pO1xuXG5jb25zdCBMT0FEX0VGRkVDVFNfRVhDTFVTSU9OID0gT2JqZWN0LmZyZWV6ZSh7XG4gIFtFbnRpdHlBY3Rpb25UeXBlcy5Mb2FkXTogdHJ1ZSxcbiAgW0VudGl0eUFjdGlvblR5cGVzLkxvYWRBbGxdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuTG9hZE1hbnldOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuTG9hZFBhZ2VdOiB0cnVlLFxuICBbRW50aXR5QWN0aW9uVHlwZXMuTG9hZFJhbmdlXTogdHJ1ZVxufSk7XG5cbmNvbnN0IEFMTF9FRkZFQ1RTX0VYQ0xVU0lPTiA9IE9iamVjdC5mcmVlemUoe1xuICAuLi5MT0FEX0VGRkVDVFNfRVhDTFVTSU9OLFxuICAuLi5DVVJEX0VGRkVDVFNfRVhDTFVTSU9OLFxuICAuLi5FWFRSQV9FRkZFQ1RTX0VYQ0xVU0lPTlxufSk7XG5cbmV4cG9ydCBjb25zdCBleGNlcHQgPSAoZWZmZWN0cz8pID0+ICguLi5hY3Rpb25zOiBFbnRpdHlBY3Rpb25UeXBlc1tdKTogSUVmZmVjdEV4Y2x1c2lvbnMgPT4gKHtcbiAgLi4uKGVmZmVjdHMgfHwge30pLFxuICAuLi5hY3Rpb25zLnJlZHVjZSgoYWNjLCBhY3Rpb24pID0+ICh7IC4uLmFjYywgW2FjdGlvbl06IGZhbHNlIH0pLCB7fSlcbn0pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hpbmcgPSAoLi4uYWN0aW9uczogRW50aXR5QWN0aW9uVHlwZXNbXSk6IElFZmZlY3RFeGNsdXNpb25zID0+ICh7XG4gIC4uLmFjdGlvbnMucmVkdWNlKChhY2MsIGFjdGlvbikgPT4gKHsgLi4uYWNjLCBbYWN0aW9uXTogdHJ1ZSB9KSwge30pXG59KTtcblxuZXhwb3J0IGNvbnN0IGFsbCA9IE9iamVjdC5mcmVlemUoe1xuICAuLi5BTExfRUZGRUNUU19FWENMVVNJT04sXG4gIGV4Y2VwdDogZXhjZXB0KEFMTF9FRkZFQ1RTX0VYQ0xVU0lPTilcbn0pO1xuXG5leHBvcnQgY29uc3QgZXh0cmEgPSBPYmplY3QuZnJlZXplKHtcbiAgLi4uRVhUUkFfRUZGRUNUU19FWENMVVNJT04sXG4gIGV4Y2VwdDogZXhjZXB0KEVYVFJBX0VGRkVDVFNfRVhDTFVTSU9OKVxufSk7XG5cbmV4cG9ydCBjb25zdCBsb2FkcyA9IE9iamVjdC5mcmVlemUoe1xuICAuLi5MT0FEX0VGRkVDVFNfRVhDTFVTSU9OLFxuICBleGNlcHQ6IGV4Y2VwdChMT0FEX0VGRkVDVFNfRVhDTFVTSU9OKVxufSk7XG5cbmV4cG9ydCBjb25zdCBjdXJkID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC4uLkNVUkRfRUZGRUNUU19FWENMVVNJT04sXG4gIGV4Y2VwdDogZXhjZXB0KENVUkRfRUZGRUNUU19FWENMVVNJT04pXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIEVudGl0eShvcHRpb25zOiBJRW50aXR5T3B0aW9ucykge1xuICByZXR1cm4gZnVuY3Rpb24gZW50aXR5RGVjb3JhdG9yKGNvbnN0cnVjdG9yOiBhbnkpIHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBkZXNjcmlwdG9yLnZhbHVlID0gb3B0aW9ucztcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29uc3RydWN0b3IsIEVOVElUWV9PUFRTX1BST1AsIGRlc2NyaXB0b3IpO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3Qgc2hvdWxkQXBwbHlFZmZlY3QgPSA8VE1vZGVsLCBUQWN0aW9uIGV4dGVuZHMgRW50aXR5QWN0aW9uPFRNb2RlbD4+KCkgPT4gKHNvdXJjZTogT2JzZXJ2YWJsZTxUQWN0aW9uPikgPT5cbiAgc291cmNlLnBpcGUoXG4gICAgZmlsdGVyKCh7IGFjdGlvblR5cGUsIGluZm8gfSkgPT4gISgoaW5mby5tb2RlbFR5cGVbRU5USVRZX09QVFNfUFJPUF0gfHwge30pLmV4Y2x1ZGVFZmZlY3RzIHx8IHt9KVthY3Rpb25UeXBlXSlcbiAgKTtcbiJdfQ==
export { buildFeatureState, buildState, buildSelectorMap, buildFacade, IEntityDictionary, IEntityState, IEntityFacade, IModelState, ISelectorMap, IModelClass, EntityIdentity } from './lib/util';
export { IPage, Page, IFirstLastRange, IRangeInfo, ISkipTakeRange, IStartEndRange, Range, RangeValue, IPageInfo } from './lib/models';
export { ICorrelatedAction, ofEntityType, ofEntityAction, fromEntityActions, isEntityActionInstance, IEntityInfo, EntityActions, EntityAction, EntityActionTypes, Load, LoadFailure, LoadSuccess, LoadAll, LoadAllFailure, LoadAllSuccess, LoadMany, LoadManyFailure, LoadManySuccess, LoadPage, LoadPageFailure, LoadPageSuccess, LoadRange, LoadRangeFailure, LoadRangeSuccess, CreateFailure, CreateSuccess, Create, CreateMany, CreateManyFailure, CreateManySuccess, Update, UpdateSuccess, UpdateFailure, UpdateMany, UpdateManySuccess, UpdateManyFailure, Replace, ReplaceFailure, ReplaceSuccess, ReplaceMany, ReplaceManyFailure, ReplaceManySuccess, Delete, DeleteFailure, DeleteSuccess, DeleteByKey, DeleteByKeyFailure, DeleteByKeySuccess, DeleteMany, DeleteManyFailure, DeleteManySuccess, DeleteManyByKeys, DeleteManyByKeysFailure, DeleteManyByKeysSuccess, Select, SelectByKey, SelectMany, SelectMore, SelectManyByKeys, SelectMoreByKeys, Selected, SelectedMany, Deselect, DeselectMany, DeselectManyByKeys, DeselectAll, Deselected, Edit, Edited, Change, Changed, EndEdit, EditEnded, Clear } from './lib/actions';
export { IEffectExclusions, IEffectExcept, IEntityOptions, Entity, all, extra, loads, curd, except, matching } from './lib/decorators/entity';
export { IEffectExclusions, IEffectExcept, IEntityOptions, IEntityTransformer, Entity, all, extra, loads, curd, except, matching } from './lib/decorators/entity';
export { Key, getKey, getKeyFromModel, getKeyNames, getKeyNamesFromModel, checkKeyName } from './lib/decorators/key';

@@ -6,0 +6,0 @@ export { EntityOperators } from './lib/operators';

import { Actions } from '@ngrx/effects';
import { Action } from '@ngrx/store';
import { Observable, OperatorFunction } from 'rxjs';
import { IEntityTransformer } from './decorators/entity';
import { IPageInfo, IRangeInfo, Page, Range } from './models';

@@ -83,2 +84,3 @@ import { EntityIdentity } from './util';

modelType: new () => any;
transform?: IEntityTransformer[];
}

@@ -85,0 +87,0 @@ export declare type TNew<TModel> = new () => TModel;

@@ -9,2 +9,6 @@ import { Observable } from 'rxjs';

}
export interface IEntityTransformer {
fromServer?: (data: any) => any;
toServer?: (entity: any) => any;
}
export interface IEntityOptions {

@@ -15,2 +19,3 @@ modelName: string;

comparer?: (a: any, b: any) => number;
transform?: IEntityTransformer[];
excludeEffects?: IEffectExclusions | IEffectExcept;

@@ -17,0 +22,0 @@ }

import { Injector } from '@angular/core';
import { Observable } from 'rxjs';
import { IEntityInfo } from './actions';
import { IEntityTransformer } from './decorators/entity';
import { IPageInfo, IRangeInfo, Page, Range } from './models';

@@ -44,10 +45,10 @@ import { IAutoEntityService } from './service';

loadRange?(entityInfo: IEntityInfo, range: Range, criteria?: any): Observable<IEntityWithRangeInfo<TModel>>;
create?(entityInfo: IEntityInfo, entity: TModel, criteria?: any): Observable<TModel>;
createMany?(entityInfo: IEntityInfo, entities: TModel[], criteria?: any): Observable<TModel[]>;
update?(entityInfo: IEntityInfo, entity: TModel, criteria?: any): Observable<TModel>;
updateMany?(entityInfo: IEntityInfo, entities: TModel[], criteria?: any): Observable<TModel[]>;
replace?(entityInfo: IEntityInfo, entity: TModel, criteria?: any): Observable<TModel>;
replaceMany?(entityInfo: IEntityInfo, entities: TModel[], criteria?: any): Observable<TModel[]>;
delete?(entityInfo: IEntityInfo, entity: TModel, criteria?: any): Observable<TModel>;
deleteMany?(entityInfo: IEntityInfo, entities: TModel[], criteria?: any): Observable<TModel[]>;
create?(entityInfo: IEntityInfo, entity: TModel | any, criteria?: any, originalEntity?: TModel): Observable<TModel>;
createMany?(entityInfo: IEntityInfo, entities: Array<TModel | any>, criteria?: any, originalEntities?: TModel[]): Observable<TModel[]>;
update?(entityInfo: IEntityInfo, entity: TModel | any, criteria?: any, originalEntity?: TModel): Observable<TModel>;
updateMany?(entityInfo: IEntityInfo, entities: Array<TModel | any>, criteria?: any, originalEntities?: TModel[]): Observable<TModel[]>;
replace?(entityInfo: IEntityInfo, entity: TModel | any, criteria?: any, originalEntity?: TModel): Observable<TModel>;
replaceMany?(entityInfo: IEntityInfo, entities: Array<TModel | any>, criteria?: any, originalEntities?: TModel[]): Observable<TModel[]>;
delete?(entityInfo: IEntityInfo, entity: TModel | any, criteria?: any, originalEntity?: TModel): Observable<TModel>;
deleteMany?(entityInfo: IEntityInfo, entities: Array<TModel | any>, criteria?: any, originalEntities?: TModel[]): Observable<TModel[]>;
deleteByKey?(entityInfo: IEntityInfo, key: EntityIdentity, criteria?: any): Observable<EntityIdentity>;

@@ -68,2 +69,12 @@ deleteManyByKeys?(entityInfo: IEntityInfo, keys: EntityIdentity[], criteria?: any): Observable<EntityIdentity[]>;

export declare const prepend: <T>(first: T, rest: readonly T[]) => readonly T[];
export declare const getTransforms: (transform: IEntityTransformer[], prop: string) => ((value: any) => any)[];
export declare const applyTransforms: (transforms: ((value: any) => any)[]) => (originalEntity: any) => any;
export declare const transformFromServer: <TModel>(entityInfo: IEntityInfo) => (entityRef: IEntityRef<TModel>) => IEntityRef<TModel>;
export declare const transformSetFromServer: <TModel>(entityInfo: IEntityInfo) => (entityRef: IEntityRef<TModel[]>) => IEntityRef<TModel[]>;
export declare const transformPageFromServer: <TModel>(entityInfo: IEntityInfo) => (entityRef: IEntityPageRef<TModel>) => IEntityPageRef<TModel>;
export declare const transformRangeFromServer: <TModel>(entityInfo: IEntityInfo) => (entityRef: IEntityRangeRef<TModel>) => IEntityRangeRef<TModel>;
export declare const transformSingleFromServer: <TModel>(entityInfo: IEntityInfo) => (entity: any) => TModel;
export declare const transformArrayFromServer: <TModel>(entityInfo: IEntityInfo) => (entities: TModel[]) => TModel[];
export declare const transformToServer: <TModel>(entityInfo: IEntityInfo) => (originalEntity: TModel) => any;
export declare const transformSetToServer: <TModel>(entityInfo: IEntityInfo) => (entities: TModel[]) => any[];
/**

@@ -70,0 +81,0 @@ * Looks up client-provided entity service class using Angular's injector and this package's naming

{
"version": "0.4.1",
"version": "0.4.2",
"name": "@briebug/ngrx-auto-entity",

@@ -4,0 +4,0 @@ "description": "Automatic Entity State and Facades for NgRx. Simplifying reactive state!",

@@ -90,6 +90,10 @@ [![CircleCI](https://img.shields.io/circleci/build/github/briebug/ngrx-auto-entity/develop.svg)](https://circleci.com/gh/briebug/ngrx-auto-entity)

- [x] Generated stub reducers
- [ ] Enhanced IEntityInfo interface with naming utilities
- [x] Automatic correlation of related initiating and result actions
- [x] Enhanced IEntityInfo interface with naming utilities
- [x] Filtering of entities effects handle
- [x] Custom transformation of data to and from the server (i.e. ISO date to Date())
- [ ] Normalization of API with NgRx 8 functional/factory function architecture
- [ ] Extended effects for loading indicator display, toasts or snackbars, etc.
- [ ] Filtering of entities meta reducer handles
- [ ] Filtering of entities effects handle
- [ ] Pre-fabricated, ready-to-go, reusable entity services

@@ -107,3 +111,4 @@ # Contributors

- [Brian Love](https://github.com/blove): Design & Implementation
- [Alice Paquette](https://github.com/paquettealice): Alice Paquette
- [Patrice Paquette](https://github.com/patpaquette): Patrice Paquette
- [Anthony Jones](https://github.com/anthonymjones): Implementation
- [Andy Pickler](https://github.com/BigGillyStyle): Implementation

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc