UNPKG

@angular/core

Version:

Angular - the core framework

81 lines 15.1 kB
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * Describes the state of defer block dependency loading. */ export var DeferDependenciesLoadingState; (function (DeferDependenciesLoadingState) { /** Initial state, dependency loading is not yet triggered */ DeferDependenciesLoadingState[DeferDependenciesLoadingState["NOT_STARTED"] = 0] = "NOT_STARTED"; /** Dependency loading is in progress */ DeferDependenciesLoadingState[DeferDependenciesLoadingState["IN_PROGRESS"] = 1] = "IN_PROGRESS"; /** Dependency loading has completed successfully */ DeferDependenciesLoadingState[DeferDependenciesLoadingState["COMPLETE"] = 2] = "COMPLETE"; /** Dependency loading has failed */ DeferDependenciesLoadingState[DeferDependenciesLoadingState["FAILED"] = 3] = "FAILED"; })(DeferDependenciesLoadingState || (DeferDependenciesLoadingState = {})); /** Slot index where `minimum` parameter value is stored. */ export const MINIMUM_SLOT = 0; /** Slot index where `after` parameter value is stored. */ export const LOADING_AFTER_SLOT = 1; /** * Describes the current state of this defer block instance. * * @publicApi * @developerPreview */ export var DeferBlockState; (function (DeferBlockState) { /** The placeholder block content is rendered */ DeferBlockState[DeferBlockState["Placeholder"] = 0] = "Placeholder"; /** The loading block content is rendered */ DeferBlockState[DeferBlockState["Loading"] = 1] = "Loading"; /** The main content block content is rendered */ DeferBlockState[DeferBlockState["Complete"] = 2] = "Complete"; /** The error block content is rendered */ DeferBlockState[DeferBlockState["Error"] = 3] = "Error"; })(DeferBlockState || (DeferBlockState = {})); /** * Describes the initial state of this defer block instance. * * Note: this state is internal only and *must* be represented * with a number lower than any value in the `DeferBlockState` enum. */ export var DeferBlockInternalState; (function (DeferBlockInternalState) { /** Initial state. Nothing is rendered yet. */ DeferBlockInternalState[DeferBlockInternalState["Initial"] = -1] = "Initial"; })(DeferBlockInternalState || (DeferBlockInternalState = {})); export const NEXT_DEFER_BLOCK_STATE = 0; // Note: it's *important* to keep the state in this slot, because this slot // is used by runtime logic to differentiate between LViews, LContainers and // other types (see `isLView` and `isLContainer` functions). In case of defer // blocks, this slot would always be a number. export const DEFER_BLOCK_STATE = 1; export const STATE_IS_FROZEN_UNTIL = 2; export const LOADING_AFTER_CLEANUP_FN = 3; export const TRIGGER_CLEANUP_FNS = 4; export const PREFETCH_TRIGGER_CLEANUP_FNS = 5; /** * Options for configuring defer blocks behavior. * @publicApi * @developerPreview */ export var DeferBlockBehavior; (function (DeferBlockBehavior) { /** * Manual triggering mode for defer blocks. Provides control over when defer blocks render * and which state they render. This is the default behavior in test environments. */ DeferBlockBehavior[DeferBlockBehavior["Manual"] = 0] = "Manual"; /** * Playthrough mode for defer blocks. This mode behaves like defer blocks would in a browser. */ DeferBlockBehavior[DeferBlockBehavior["Playthrough"] = 1] = "Playthrough"; })(DeferBlockBehavior || (DeferBlockBehavior = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2RlZmVyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBeUJIOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksNkJBWVg7QUFaRCxXQUFZLDZCQUE2QjtJQUN2Qyw2REFBNkQ7SUFDN0QsK0ZBQVcsQ0FBQTtJQUVYLHdDQUF3QztJQUN4QywrRkFBVyxDQUFBO0lBRVgsb0RBQW9EO0lBQ3BELHlGQUFRLENBQUE7SUFFUixvQ0FBb0M7SUFDcEMscUZBQU0sQ0FBQTtBQUNSLENBQUMsRUFaVyw2QkFBNkIsS0FBN0IsNkJBQTZCLFFBWXhDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFFOUIsMERBQTBEO0FBQzFELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQTZEcEM7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBWSxlQVlYO0FBWkQsV0FBWSxlQUFlO0lBQ3pCLGdEQUFnRDtJQUNoRCxtRUFBZSxDQUFBO0lBRWYsNENBQTRDO0lBQzVDLDJEQUFXLENBQUE7SUFFWCxpREFBaUQ7SUFDakQsNkRBQVksQ0FBQTtJQUVaLDBDQUEwQztJQUMxQyx1REFBUyxDQUFBO0FBQ1gsQ0FBQyxFQVpXLGVBQWUsS0FBZixlQUFlLFFBWTFCO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBWSx1QkFHWDtBQUhELFdBQVksdUJBQXVCO0lBQ2pDLDhDQUE4QztJQUM5Qyw0RUFBWSxDQUFBO0FBQ2QsQ0FBQyxFQUhXLHVCQUF1QixLQUF2Qix1QkFBdUIsUUFHbEM7QUFFRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7QUFDeEMsMkVBQTJFO0FBQzNFLDRFQUE0RTtBQUM1RSw2RUFBNkU7QUFDN0UsOENBQThDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLENBQUM7QUFtRDlDOzs7O0dBSUc7QUFDSCxNQUFNLENBQU4sSUFBWSxrQkFXWDtBQVhELFdBQVksa0JBQWtCO0lBQzVCOzs7T0FHRztJQUNILCtEQUFNLENBQUE7SUFFTjs7T0FFRztJQUNILHlFQUFXLENBQUE7QUFDYixDQUFDLEVBWFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVc3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7RGVwZW5kZW5jeVR5cGV9IGZyb20gJy4uL3JlbmRlcjMvaW50ZXJmYWNlcy9kZWZpbml0aW9uJztcblxuLyoqXG4gKiBEZXNjcmliZXMgdGhlIHNoYXBlIG9mIGEgZnVuY3Rpb24gZ2VuZXJhdGVkIGJ5IHRoZSBjb21waWxlclxuICogdG8gZG93bmxvYWQgZGVwZW5kZW5jaWVzIHRoYXQgY2FuIGJlIGRlZmVyLWxvYWRlZC5cbiAqL1xuZXhwb3J0IHR5cGUgRGVwZW5kZW5jeVJlc29sdmVyRm4gPSAoKSA9PiBBcnJheTxQcm9taXNlPERlcGVuZGVuY3lUeXBlPj47XG5cbi8qKlxuICogRGVmaW5lcyB0eXBlcyBvZiBkZWZlciBibG9jayB0cmlnZ2Vycy5cbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gVHJpZ2dlclR5cGUge1xuICAvKipcbiAgICogUmVwcmVzZW50cyByZWd1bGFyIHRyaWdnZXJzIChlLmcuIGBAZGVmZXIgKG9uIGlkbGUpIHsgLi4uIH1gKS5cbiAgICovXG4gIFJlZ3VsYXIsXG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgcHJlZmV0Y2ggdHJpZ2dlcnMgKGUuZy4gYEBkZWZlciAocHJlZmV0Y2ggb24gaWRsZSkgeyAuLi4gfWApLlxuICAgKi9cbiAgUHJlZmV0Y2gsXG59XG5cbi8qKlxuICogRGVzY3JpYmVzIHRoZSBzdGF0ZSBvZiBkZWZlciBibG9jayBkZXBlbmRlbmN5IGxvYWRpbmcuXG4gKi9cbmV4cG9ydCBlbnVtIERlZmVyRGVwZW5kZW5jaWVzTG9hZGluZ1N0YXRlIHtcbiAgLyoqIEluaXRpYWwgc3RhdGUsIGRlcGVuZGVuY3kgbG9hZGluZyBpcyBub3QgeWV0IHRyaWdnZXJlZCAqL1xuICBOT1RfU1RBUlRFRCxcblxuICAvKiogRGVwZW5kZW5jeSBsb2FkaW5nIGlzIGluIHByb2dyZXNzICovXG4gIElOX1BST0dSRVNTLFxuXG4gIC8qKiBEZXBlbmRlbmN5IGxvYWRpbmcgaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgKi9cbiAgQ09NUExFVEUsXG5cbiAgLyoqIERlcGVuZGVuY3kgbG9hZGluZyBoYXMgZmFpbGVkICovXG4gIEZBSUxFRCxcbn1cblxuLyoqIFNsb3QgaW5kZXggd2hlcmUgYG1pbmltdW1gIHBhcmFtZXRlciB2YWx1ZSBpcyBzdG9yZWQuICovXG5leHBvcnQgY29uc3QgTUlOSU1VTV9TTE9UID0gMDtcblxuLyoqIFNsb3QgaW5kZXggd2hlcmUgYGFmdGVyYCBwYXJhbWV0ZXIgdmFsdWUgaXMgc3RvcmVkLiAqL1xuZXhwb3J0IGNvbnN0IExPQURJTkdfQUZURVJfU0xPVCA9IDE7XG5cbi8qKiBDb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYSBsb2FkaW5nIGJsb2NrIGFzIGl0IGlzIHN0b3JlZCBpbiB0aGUgY29tcG9uZW50IGNvbnN0YW50cy4gKi9cbmV4cG9ydCB0eXBlIERlZmVycmVkTG9hZGluZ0Jsb2NrQ29uZmlnID0gW21pbmltdW1UaW1lOiBudW1iZXJ8bnVsbCwgYWZ0ZXJUaW1lOiBudW1iZXJ8bnVsbF07XG5cbi8qKiBDb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYSBwbGFjZWhvbGRlciBibG9jayBhcyBpdCBpcyBzdG9yZWQgaW4gdGhlIGNvbXBvbmVudCBjb25zdGFudHMuICovXG5leHBvcnQgdHlwZSBEZWZlcnJlZFBsYWNlaG9sZGVyQmxvY2tDb25maWcgPSBbbWluaW11bVRpbWU6IG51bWJlcnxudWxsXTtcblxuLyoqXG4gKiBEZXNjcmliZXMgdGhlIGRhdGEgc2hhcmVkIGFjcm9zcyBhbGwgaW5zdGFuY2VzIG9mIGEgZGVmZXIgYmxvY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVERlZmVyQmxvY2tEZXRhaWxzIHtcbiAgLyoqXG4gICAqIEluZGV4IGluIGFuIExWaWV3IGFuZCBURGF0YSBhcnJheXMgd2hlcmUgYSB0ZW1wbGF0ZSBmb3IgdGhlIHByaW1hcnkgY29udGVudFxuICAgKiBjYW4gYmUgZm91bmQuXG4gICAqL1xuICBwcmltYXJ5VG1wbEluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEluZGV4IGluIGFuIExWaWV3IGFuZCBURGF0YSBhcnJheXMgd2hlcmUgYSB0ZW1wbGF0ZSBmb3IgdGhlIGxvYWRpbmcgYmxvY2sgY2FuIGJlIGZvdW5kLlxuICAgKi9cbiAgbG9hZGluZ1RtcGxJbmRleDogbnVtYmVyfG51bGw7XG5cbiAgLyoqXG4gICAqIEV4dHJhIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyAoc3VjaCBhcyBgYWZ0ZXJgIGFuZCBgbWluaW11bWApIGZvciB0aGUgbG9hZGluZyBibG9jay5cbiAgICovXG4gIGxvYWRpbmdCbG9ja0NvbmZpZzogRGVmZXJyZWRMb2FkaW5nQmxvY2tDb25maWd8bnVsbDtcblxuICAvKipcbiAgICogSW5kZXggaW4gYW4gTFZpZXcgYW5kIFREYXRhIGFycmF5cyB3aGVyZSBhIHRlbXBsYXRlIGZvciB0aGUgcGxhY2Vob2xkZXIgYmxvY2sgY2FuIGJlIGZvdW5kLlxuICAgKi9cbiAgcGxhY2Vob2xkZXJUbXBsSW5kZXg6IG51bWJlcnxudWxsO1xuXG4gIC8qKlxuICAgKiBFeHRyYSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgKHN1Y2ggYXMgYGFmdGVyYCBhbmQgYG1pbmltdW1gKSBmb3IgdGhlIHBsYWNlaG9sZGVyIGJsb2NrLlxuICAgKi9cbiAgcGxhY2Vob2xkZXJCbG9ja0NvbmZpZzogRGVmZXJyZWRQbGFjZWhvbGRlckJsb2NrQ29uZmlnfG51bGw7XG5cbiAgLyoqXG4gICAqIEluZGV4IGluIGFuIExWaWV3IGFuZCBURGF0YSBhcnJheXMgd2hlcmUgYSB0ZW1wbGF0ZSBmb3IgdGhlIGVycm9yIGJsb2NrIGNhbiBiZSBmb3VuZC5cbiAgICovXG4gIGVycm9yVG1wbEluZGV4OiBudW1iZXJ8bnVsbDtcblxuICAvKipcbiAgICogQ29tcGlsZXItZ2VuZXJhdGVkIGZ1bmN0aW9uIHRoYXQgbG9hZHMgYWxsIGRlcGVuZGVuY2llcyBmb3IgYSBkZWZlciBibG9jay5cbiAgICovXG4gIGRlcGVuZGVuY3lSZXNvbHZlckZuOiBEZXBlbmRlbmN5UmVzb2x2ZXJGbnxudWxsO1xuXG4gIC8qKlxuICAgKiBLZWVwcyB0cmFjayBvZiB0aGUgY3VycmVudCBsb2FkaW5nIHN0YXRlIG9mIGRlZmVyIGJsb2NrIGRlcGVuZGVuY2llcy5cbiAgICovXG4gIGxvYWRpbmdTdGF0ZTogRGVmZXJEZXBlbmRlbmNpZXNMb2FkaW5nU3RhdGU7XG5cbiAgLyoqXG4gICAqIERlcGVuZGVuY3kgbG9hZGluZyBQcm9taXNlLiBUaGlzIFByb21pc2UgaXMgaGVscGZ1bCBmb3IgY2FzZXMgd2hlbiB0aGVyZVxuICAgKiBhcmUgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIGEgZGVmZXIgYmxvY2sgKGUuZy4gaWYgaXQgd2FzIHVzZWQgaW5zaWRlIG9mIGFuICpuZ0ZvciksXG4gICAqIHdoaWNoIGFsbCBhd2FpdCB0aGUgc2FtZSBzZXQgb2YgZGVwZW5kZW5jaWVzLlxuICAgKi9cbiAgbG9hZGluZ1Byb21pc2U6IFByb21pc2U8dW5rbm93bj58bnVsbDtcbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhpcyBkZWZlciBibG9jayBpbnN0YW5jZS5cbiAqXG4gKiBAcHVibGljQXBpXG4gKiBAZGV2ZWxvcGVyUHJldmlld1xuICovXG5leHBvcnQgZW51bSBEZWZlckJsb2NrU3RhdGUge1xuICAvKiogVGhlIHBsYWNlaG9sZGVyIGJsb2NrIGNvbnRlbnQgaXMgcmVuZGVyZWQgKi9cbiAgUGxhY2Vob2xkZXIgPSAwLFxuXG4gIC8qKiBUaGUgbG9hZGluZyBibG9jayBjb250ZW50IGlzIHJlbmRlcmVkICovXG4gIExvYWRpbmcgPSAxLFxuXG4gIC8qKiBUaGUgbWFpbiBjb250ZW50IGJsb2NrIGNvbnRlbnQgaXMgcmVuZGVyZWQgKi9cbiAgQ29tcGxldGUgPSAyLFxuXG4gIC8qKiBUaGUgZXJyb3IgYmxvY2sgY29udGVudCBpcyByZW5kZXJlZCAqL1xuICBFcnJvciA9IDMsXG59XG5cbi8qKlxuICogRGVzY3JpYmVzIHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoaXMgZGVmZXIgYmxvY2sgaW5zdGFuY2UuXG4gKlxuICogTm90ZTogdGhpcyBzdGF0ZSBpcyBpbnRlcm5hbCBvbmx5IGFuZCAqbXVzdCogYmUgcmVwcmVzZW50ZWRcbiAqIHdpdGggYSBudW1iZXIgbG93ZXIgdGhhbiBhbnkgdmFsdWUgaW4gdGhlIGBEZWZlckJsb2NrU3RhdGVgIGVudW0uXG4gKi9cbmV4cG9ydCBlbnVtIERlZmVyQmxvY2tJbnRlcm5hbFN0YXRlIHtcbiAgLyoqIEluaXRpYWwgc3RhdGUuIE5vdGhpbmcgaXMgcmVuZGVyZWQgeWV0LiAqL1xuICBJbml0aWFsID0gLTEsXG59XG5cbmV4cG9ydCBjb25zdCBORVhUX0RFRkVSX0JMT0NLX1NUQVRFID0gMDtcbi8vIE5vdGU6IGl0J3MgKmltcG9ydGFudCogdG8ga2VlcCB0aGUgc3RhdGUgaW4gdGhpcyBzbG90LCBiZWNhdXNlIHRoaXMgc2xvdFxuLy8gaXMgdXNlZCBieSBydW50aW1lIGxvZ2ljIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBMVmlld3MsIExDb250YWluZXJzIGFuZFxuLy8gb3RoZXIgdHlwZXMgKHNlZSBgaXNMVmlld2AgYW5kIGBpc0xDb250YWluZXJgIGZ1bmN0aW9ucykuIEluIGNhc2Ugb2YgZGVmZXJcbi8vIGJsb2NrcywgdGhpcyBzbG90IHdvdWxkIGFsd2F5cyBiZSBhIG51bWJlci5cbmV4cG9ydCBjb25zdCBERUZFUl9CTE9DS19TVEFURSA9IDE7XG5leHBvcnQgY29uc3QgU1RBVEVfSVNfRlJPWkVOX1VOVElMID0gMjtcbmV4cG9ydCBjb25zdCBMT0FESU5HX0FGVEVSX0NMRUFOVVBfRk4gPSAzO1xuZXhwb3J0IGNvbnN0IFRSSUdHRVJfQ0xFQU5VUF9GTlMgPSA0O1xuZXhwb3J0IGNvbnN0IFBSRUZFVENIX1RSSUdHRVJfQ0xFQU5VUF9GTlMgPSA1O1xuXG4vKipcbiAqIERlc2NyaWJlcyBpbnN0YW5jZS1zcGVjaWZpYyBkZWZlciBibG9jayBkYXRhLlxuICpcbiAqIE5vdGU6IGN1cnJlbnRseSB0aGVyZSBpcyBvbmx5IHRoZSBgc3RhdGVgIHNsb3QsIGJ1dCBtb3JlIHNsb3RzXG4gKiB3b3VsZCBiZSBhZGRlZCBsYXRlciB0byBrZWVwIHRyYWNrIG9mIGBhZnRlcmAgYW5kIGBtYXhpbXVtYCBmZWF0dXJlc1xuICogKHdoaWNoIHdvdWxkIHJlcXVpcmUgcGVyLWluc3RhbmNlIHN0YXRlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMRGVmZXJCbG9ja0RldGFpbHMgZXh0ZW5kcyBBcnJheTx1bmtub3duPiB7XG4gIC8qKlxuICAgKiBDdXJyZW50bHkgcmVuZGVyZWQgYmxvY2sgc3RhdGUuXG4gICAqL1xuICBbREVGRVJfQkxPQ0tfU1RBVEVdOiBEZWZlckJsb2NrU3RhdGV8RGVmZXJCbG9ja0ludGVybmFsU3RhdGU7XG5cbiAgLyoqXG4gICAqIEJsb2NrIHN0YXRlIHRoYXQgd2FzIHJlcXVlc3RlZCB3aGVuIGFub3RoZXIgc3RhdGUgd2FzIHJlbmRlcmVkLlxuICAgKi9cbiAgW05FWFRfREVGRVJfQkxPQ0tfU1RBVEVdOiBEZWZlckJsb2NrU3RhdGV8bnVsbDtcblxuICAvKipcbiAgICogVGltZXN0YW1wIGluZGljYXRpbmcgd2hlbiB0aGUgY3VycmVudCBzdGF0ZSBjYW4gYmUgc3dpdGNoZWQgdG9cbiAgICogdGhlIG5leHQgb25lLCBpbiBjYXNlIHRlaCBjdXJyZW50IHN0YXRlIGhhcyBgbWluaW11bWAgcGFyYW1ldGVyLlxuICAgKi9cbiAgW1NUQVRFX0lTX0ZST1pFTl9VTlRJTF06IG51bWJlcnxudWxsO1xuXG4gIC8qKlxuICAgKiBDb250YWlucyBhIHJlZmVyZW5jZSB0byBhIGNsZWFudXAgZnVuY3Rpb24gd2hpY2ggY2FuY2VscyBhIHRpbWVvdXRcbiAgICogd2hlbiBBbmd1bGFyIHdhaXRzIGJlZm9yZSByZW5kZXJpbmcgbG9hZGluZyBzdGF0ZS4gVGhpcyBpcyB1c2VkIHdoZW5cbiAgICogdGhlIGxvYWRpbmcgYmxvY2sgaGFzIHRoZSBgYWZ0ZXJgIHBhcmFtZXRlciBjb25maWd1cmVkLlxuICAgKi9cbiAgW0xPQURJTkdfQUZURVJfQ0xFQU5VUF9GTl06IFZvaWRGdW5jdGlvbnxudWxsO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNsZWFudXAgZnVuY3Rpb25zIGZvciByZWd1bGFyIHRyaWdnZXJzLlxuICAgKi9cbiAgW1RSSUdHRVJfQ0xFQU5VUF9GTlNdOiBWb2lkRnVuY3Rpb25bXXxudWxsO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNsZWFudXAgZnVuY3Rpb25zIGZvciBwcmVmZXRjaCB0cmlnZ2Vycy5cbiAgICovXG4gIFtQUkVGRVRDSF9UUklHR0VSX0NMRUFOVVBfRk5TXTogVm9pZEZ1bmN0aW9uW118bnVsbDtcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBzdHJ1Y3R1cmUgdXNlZCBmb3IgY29uZmlndXJhdGlvbiBvZiBkZWZlciBibG9jayBiZWhhdmlvci5cbiAqICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmVyQmxvY2tDb25maWcge1xuICBiZWhhdmlvcjogRGVmZXJCbG9ja0JlaGF2aW9yO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIGRlZmVyIGJsb2NrcyBiZWhhdmlvci5cbiAqIEBwdWJsaWNBcGlcbiAqIEBkZXZlbG9wZXJQcmV2aWV3XG4gKi9cbmV4cG9ydCBlbnVtIERlZmVyQmxvY2tCZWhhdmlvciB7XG4gIC8qKlxuICAgKiBNYW51YWwgdHJpZ2dlcmluZyBtb2RlIGZvciBkZWZlciBibG9ja3MuIFByb3ZpZGVzIGNvbnRyb2wgb3ZlciB3aGVuIGRlZmVyIGJsb2NrcyByZW5kZXJcbiAgICogYW5kIHdoaWNoIHN0YXRlIHRoZXkgcmVuZGVyLiBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGluIHRlc3QgZW52aXJvbm1lbnRzLlxuICAgKi9cbiAgTWFudWFsLFxuXG4gIC8qKlxuICAgKiBQbGF5dGhyb3VnaCBtb2RlIGZvciBkZWZlciBibG9ja3MuIFRoaXMgbW9kZSBiZWhhdmVzIGxpa2UgZGVmZXIgYmxvY2tzIHdvdWxkIGluIGEgYnJvd3Nlci5cbiAgICovXG4gIFBsYXl0aHJvdWdoLFxufVxuXG4vKipcbiAqICoqSU5URVJOQUwqKiwgYXZvaWQgcmVmZXJlbmNpbmcgaXQgaW4gYXBwbGljYXRpb24gY29kZS5cbiAqXG4gKiBEZXNjcmliZXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBhbGxvd3MgdG8gaW50ZXJjZXB0IGEgY2FsbCB0byByZXRyaWV2ZSBjdXJyZW50XG4gKiBkZXBlbmRlbmN5IGxvYWRpbmcgZnVuY3Rpb24gYW5kIHJlcGxhY2UgaXQgd2l0aCBhIGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbi5cbiAqIFRoaXMgaW50ZXJjZXB0b3IgY2xhc3MgaXMgbmVlZGVkIHRvIGFsbG93IHRlc3RpbmcgYmxvY2tzIGluIGRpZmZlcmVudCBzdGF0ZXNcbiAqIGJ5IHNpbXVsYXRpbmcgbG9hZGluZyByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWZlckJsb2NrRGVwZW5kZW5jeUludGVyY2VwdG9yIHtcbiAgLyoqXG4gICAqIEludm9rZWQgZm9yIGVhY2ggZGVmZXIgYmxvY2sgd2hlbiBkZXBlbmRlbmN5IGxvYWRpbmcgZnVuY3Rpb24gaXMgYWNjZXNzZWQuXG4gICAqL1xuICBpbnRlcmNlcHQoZGVwZW5kZW5jeUZuOiBEZXBlbmRlbmN5UmVzb2x2ZXJGbnxudWxsKTogRGVwZW5kZW5jeVJlc29sdmVyRm58bnVsbDtcblxuICAvKipcbiAgICogQWxsb3dzIHRvIGNvbmZpZ3VyZSBhbiBpbnRlcmNlcHRvciBmdW5jdGlvbi5cbiAgICovXG4gIHNldEludGVyY2VwdG9yKGludGVyY2VwdG9yRm46IChjdXJyZW50OiBEZXBlbmRlbmN5UmVzb2x2ZXJGbikgPT4gRGVwZW5kZW5jeVJlc29sdmVyRm4pOiB2b2lkO1xufVxuIl19