"use strict";
/**
 * @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
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.cssSelectors = void 0;
const target_version_1 = require("../../update-tool/target-version");
exports.cssSelectors = {
    [target_version_1.TargetVersion.V6]: []
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLXNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvZGF0YS9jc3Mtc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILHFFQUErRDtBQXNCbEQsUUFBQSxZQUFZLEdBQTJDO0lBQ2xFLENBQUMsOEJBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0NBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtUYXJnZXRWZXJzaW9ufSBmcm9tICcuLi8uLi91cGRhdGUtdG9vbC90YXJnZXQtdmVyc2lvbic7XG5pbXBvcnQge1ZlcnNpb25DaGFuZ2VzfSBmcm9tICcuLi8uLi91cGRhdGUtdG9vbC92ZXJzaW9uLWNoYW5nZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENzc1NlbGVjdG9yVXBncmFkZURhdGEge1xuICAvKiogVGhlIENTUyBzZWxlY3RvciB0byByZXBsYWNlLiAqL1xuICByZXBsYWNlOiBzdHJpbmc7XG4gIC8qKiBUaGUgbmV3IENTUyBzZWxlY3Rvci4gKi9cbiAgcmVwbGFjZVdpdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoaWNoIGZpbGUgdHlwZXMgaW4gd2hpY2ggdGhpcyByZXBsYWNlbWVudCBpcyBtYWRlLiBJZiBvbWl0dGVkLCBpdCBpcyBtYWRlIGluIGFsbFxuICAgKiBmaWxlcy5cbiAgICovXG4gIHJlcGxhY2VJbj86IHtcbiAgICAvKiogUmVwbGFjZSB0aGlzIG5hbWUgaW4gc3R5bGVzaGVldCBmaWxlcy4gKi9cbiAgICBzdHlsZXNoZWV0PzogYm9vbGVhbixcbiAgICAvKiogUmVwbGFjZSB0aGlzIG5hbWUgaW4gSFRNTCBmaWxlcy4gKi9cbiAgICBodG1sPzogYm9vbGVhbixcbiAgICAvKiogUmVwbGFjZSB0aGlzIG5hbWUgaW4gVHlwZVNjcmlwdCBzdHJpbmdzLiAqL1xuICAgIHRzU3RyaW5nTGl0ZXJhbHM/OiBib29sZWFuXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBjc3NTZWxlY3RvcnM6IFZlcnNpb25DaGFuZ2VzPENzc1NlbGVjdG9yVXBncmFkZURhdGE+ID0ge1xuICBbVGFyZ2V0VmVyc2lvbi5WNl06IFtdXG59O1xuIl19