/**
 * @license
 * Copyright Google Inc. 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
 */
(function (factory) {
    if (typeof module === "object" && typeof module.exports === "object") {
        var v = factory(require, exports);
        if (v !== undefined) module.exports = v;
    }
    else if (typeof define === "function" && define.amd) {
        define("@angular/compiler-cli/ngcc/src/execution/api", ["require", "exports"], factory);
    }
})(function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2V4ZWN1dGlvbi9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0VudHJ5UG9pbnQsIEVudHJ5UG9pbnRKc29uUHJvcGVydHksIEpzb25PYmplY3R9IGZyb20gJy4uL3BhY2thZ2VzL2VudHJ5X3BvaW50JztcbmltcG9ydCB7UGFydGlhbGx5T3JkZXJlZExpc3R9IGZyb20gJy4uL3V0aWxzJztcblxuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbiB0aGF0IGFuYWx5emVzIGVudHJ5LXBvaW50cyBhbmQgY3JlYXRlcyB0aGUgbGlzdCBvZiB0YXNrcy5cbiAqXG4gKiBAcmV0dXJuIEEgbGlzdCBvZiB0YXNrcyB0aGF0IG5lZWQgdG8gYmUgZXhlY3V0ZWQgaW4gb3JkZXIgdG8gcHJvY2VzcyB0aGUgbmVjZXNzYXJ5IGZvcm1hdFxuICogICAgICAgICBwcm9wZXJ0aWVzIGZvciBhbGwgZW50cnktcG9pbnRzLlxuICovXG5leHBvcnQgdHlwZSBBbmFseXplRW50cnlQb2ludHNGbiA9ICgpID0+IFRhc2tRdWV1ZTtcblxuLyoqIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbiB0aGF0IGNhbiBwcm9jZXNzL2NvbXBpbGUgYSB0YXNrLiAqL1xuZXhwb3J0IHR5cGUgQ29tcGlsZUZuID0gKHRhc2s6IFRhc2spID0+IHZvaWQ7XG5cbi8qKiBUaGUgdHlwZSBvZiB0aGUgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIHRoZSBgQ29tcGlsZUZuYCBmdW5jdGlvbiB1c2VkIHRvIHByb2Nlc3MgdGFza3MuICovXG5leHBvcnQgdHlwZSBDcmVhdGVDb21waWxlRm4gPSAob25UYXNrQ29tcGxldGVkOiBUYXNrQ29tcGxldGVkQ2FsbGJhY2spID0+IENvbXBpbGVGbjtcblxuLyoqXG4gKiBBIGNsYXNzIHRoYXQgb3JjaGVzdHJhdGVzIGFuZCBleGVjdXRlcyB0aGUgcmVxdWlyZWQgd29yayAoaS5lLiBhbmFseXplcyB0aGUgZW50cnktcG9pbnRzLFxuICogcHJvY2Vzc2VzIHRoZSByZXN1bHRpbmcgdGFza3MsIGRvZXMgYm9vay1rZWVwaW5nIGFuZCB2YWxpZGF0ZXMgdGhlIGZpbmFsIG91dGNvbWUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dG9yIHtcbiAgZXhlY3V0ZShhbmFseXplRW50cnlQb2ludHM6IEFuYWx5emVFbnRyeVBvaW50c0ZuLCBjcmVhdGVDb21waWxlRm46IENyZWF0ZUNvbXBpbGVGbik6XG4gICAgICB2b2lkfFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHBhcnRpYWxseSBvcmRlcmVkIGxpc3Qgb2YgdGFza3MuXG4gKlxuICogVGhlIG9yZGVyaW5nL3ByZWNlZGVuY2Ugb2YgdGFza3MgaXMgZGV0ZXJtaW5lZCBieSB0aGUgaW50ZXItZGVwZW5kZW5jaWVzIGJldHdlZW4gdGhlaXIgYXNzb2NpYXRlZFxuICogZW50cnktcG9pbnRzLiBTcGVjaWZpY2FsbHksIHRoZSB0YXNrcycgb3JkZXIvcHJlY2VkZW5jZSBpcyBzdWNoIHRoYXQgdGFza3MgYXNzb2NpYXRlZCB0b1xuICogZGVwZW5kZW50IGVudHJ5LXBvaW50cyBhbHdheXMgY29tZSBhZnRlciB0YXNrcyBhc3NvY2lhdGVkIHdpdGggdGhlaXIgZGVwZW5kZW5jaWVzLlxuICpcbiAqIEFzIHJlc3VsdCBvZiB0aGlzIG9yZGVyaW5nLCBpdCBpcyBndWFyYW50ZWVkIHRoYXQgLSBieSBwcm9jZXNzaW5nIHRhc2tzIGluIHRoZSBvcmRlciBpbiB3aGljaFxuICogdGhleSBhcHBlYXIgaW4gdGhlIGxpc3QgLSBhIHRhc2sncyBkZXBlbmRlbmNpZXMgd2lsbCBhbHdheXMgaGF2ZSBiZWVuIHByb2Nlc3NlZCBiZWZvcmUgcHJvY2Vzc2luZ1xuICogdGhlIHRhc2sgaXRzZWxmLlxuICpcbiAqIFNlZSBgRGVwZW5kZW5jeVJlc29sdmVyI3NvcnRFbnRyeVBvaW50c0J5RGVwZW5kZW5jeSgpYC5cbiAqL1xuZXhwb3J0IHR5cGUgUGFydGlhbGx5T3JkZXJlZFRhc2tzID0gUGFydGlhbGx5T3JkZXJlZExpc3Q8VGFzaz47XG5cbi8qKiBSZXByZXNlbnRzIGEgdW5pdCBvZiB3b3JrOiBwcm9jZXNzaW5nIGEgc3BlY2lmaWMgZm9ybWF0IHByb3BlcnR5IG9mIGFuIGVudHJ5LXBvaW50LiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrIGV4dGVuZHMgSnNvbk9iamVjdCB7XG4gIC8qKiBUaGUgYEVudHJ5UG9pbnRgIHdoaWNoIG5lZWRzIHRvIGJlIHByb2Nlc3NlZCBhcyBwYXJ0IG9mIHRoZSB0YXNrLiAqL1xuICBlbnRyeVBvaW50OiBFbnRyeVBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgYHBhY2thZ2UuanNvbmAgZm9ybWF0IHByb3BlcnR5IHRvIHByb2Nlc3MgKGkuZS4gdGhlIHByb3BlcnR5IHdoaWNoIHBvaW50cyB0byB0aGUgZmlsZSB0aGF0XG4gICAqIGlzIHRoZSBwcm9ncmFtIGVudHJ5LXBvaW50KS5cbiAgICovXG4gIGZvcm1hdFByb3BlcnR5OiBFbnRyeVBvaW50SnNvblByb3BlcnR5O1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBhbGwgZm9ybWF0IHByb3BlcnRpZXMgKGluY2x1ZGluZyBgdGFzay5mb3JtYXRQcm9wZXJ0eWApIHRoYXQgc2hvdWxkIGJlIG1hcmtlZCBhc1xuICAgKiBwcm9jZXNzZWQgb25jZSB0aGUgdGFzayBoYXMgYmVlbiBjb21wbGV0ZWQsIGJlY2F1c2UgdGhleSBwb2ludCB0byB0aGUgZm9ybWF0LXBhdGggdGhhdCB3aWxsIGJlXG4gICAqIHByb2Nlc3NlZCBhcyBwYXJ0IG9mIHRoZSB0YXNrLlxuICAgKi9cbiAgZm9ybWF0UHJvcGVydGllc1RvTWFya0FzUHJvY2Vzc2VkOiBFbnRyeVBvaW50SnNvblByb3BlcnR5W107XG5cbiAgLyoqIFdoZXRoZXIgdG8gYWxzbyBwcm9jZXNzIHR5cGluZ3MgZm9yIHRoaXMgZW50cnktcG9pbnQgYXMgcGFydCBvZiB0aGUgdGFzay4gKi9cbiAgcHJvY2Vzc0R0czogYm9vbGVhbjtcbn1cblxuLyoqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIG9uY2UgYSB0YXNrIGhhcyBiZWVuIHByb2Nlc3NlZC4gKi9cbmV4cG9ydCB0eXBlIFRhc2tDb21wbGV0ZWRDYWxsYmFjayA9ICh0YXNrOiBUYXNrLCBvdXRjb21lOiBUYXNrUHJvY2Vzc2luZ091dGNvbWUpID0+IHZvaWQ7XG5cbi8qKiBSZXByZXNlbnRzIHRoZSBvdXRjb21lIG9mIHByb2Nlc3NpbmcgYSBgVGFza2AuICovXG5leHBvcnQgY29uc3QgZW51bSBUYXNrUHJvY2Vzc2luZ091dGNvbWUge1xuICAvKiogU3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCB0aGUgdGFyZ2V0IGZvcm1hdCBwcm9wZXJ0eS4gKi9cbiAgUHJvY2Vzc2VkLFxufVxuXG4vKipcbiAqIEEgd3JhcHBlciBhcm91bmQgYSBsaXN0IG9mIHRhc2tzIGFuZCBwcm92aWRpbmcgdXRpbGl0eSBtZXRob2RzIGZvciBnZXR0aW5nIHRoZSBuZXh0IHRhc2sgb2ZcbiAqIGludGVyZXN0IGFuZCBkZXRlcm1pbmluZyB3aGVuIGFsbCB0YXNrcyBoYXZlIGJlZW4gY29tcGxldGVkLlxuICpcbiAqIChUaGlzIGFsbG93cyBkaWZmZXJlbnQgaW1wbGVtZW50YXRpb25zIHRvIGltcG9zZSBkaWZmZXJlbnQgY29uc3RyYWludHMgb24gd2hlbiBhIHRhc2snc1xuICogcHJvY2Vzc2luZyBjYW4gc3RhcnQuKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhc2tRdWV1ZSB7XG4gIC8qKiBXaGV0aGVyIGFsbCB0YXNrcyBoYXZlIGJlZW4gY29tcGxldGVkLiAqL1xuICBhbGxUYXNrc0NvbXBsZXRlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogR2V0IHRoZSBuZXh0IHRhc2sgd2hvc2UgcHJvY2Vzc2luZyBjYW4gc3RhcnQgKGlmIGFueSkuXG4gICAqXG4gICAqIFRoaXMgaW1wbGljaXRseSBtYXJrcyB0aGUgdGFzayBhcyBpbi1wcm9ncmVzcy5cbiAgICogKFRoaXMgaW5mb3JtYXRpb24gaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhbGwgdGFza3MgaGF2ZSBiZWVuIGNvbXBsZXRlZC4pXG4gICAqXG4gICAqIEByZXR1cm4gVGhlIG5leHQgdGFzayBhdmFpbGFibGUgZm9yIHByb2Nlc3Npbmcgb3IgYG51bGxgLCBpZiBubyB0YXNrIGNhbiBiZSBwcm9jZXNzZWQgYXQgdGhlXG4gICAqICAgICAgICAgbW9tZW50IChpbmNsdWRpbmcgaWYgdGhlcmUgYXJlIG5vIG1vcmUgdW5wcm9jZXNzZWQgdGFza3MpLlxuICAgKi9cbiAgZ2V0TmV4dFRhc2soKTogVGFza3xudWxsO1xuXG4gIC8qKlxuICAgKiBNYXJrIGEgdGFzayBhcyBjb21wbGV0ZWQuXG4gICAqXG4gICAqIFRoaXMgcmVtb3ZlcyB0aGUgdGFzayBmcm9tIHRoZSBpbnRlcm5hbCBsaXN0IG9mIGluLXByb2dyZXNzIHRhc2tzLlxuICAgKiAoVGhpcyBpbmZvcm1hdGlvbiBpcyB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIGFsbCB0YXNrcyBoYXZlIGJlZW4gY29tcGxldGVkLilcbiAgICpcbiAgICogQHBhcmFtIHRhc2sgVGhlIHRhc2sgdG8gbWFyayBhcyBjb21wbGV0ZWQuXG4gICAqL1xuICBtYXJrVGFza0NvbXBsZXRlZCh0YXNrOiBUYXNrKTogdm9pZDtcblxuICAvKipcbiAgICogUmV0dXJuIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0YXNrIHF1ZXVlIChmb3IgZGVidWdnaW5nIHB1cnBvc2VzKS5cbiAgICpcbiAgICogQHJldHVybiBBIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdGFzayBxdWV1ZS5cbiAgICovXG4gIHRvU3RyaW5nKCk6IHN0cmluZztcbn1cbiJdfQ==